@vkontakte/videoplayer-core 2.0.32 → 2.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-core v2.0.32
3
- * Fri, 19 Nov 2021 09:38:02 GMT
4
- * https://st.mycdn.me/static/playersdk/2-0-32/doc/
2
+ * @vkontakte/videoplayer-core v2.0.33
3
+ * Thu, 09 Dec 2021 13:37:32 GMT
4
+ * https://st.mycdn.me/static/playersdk/2-0-33/doc/
5
5
  */
6
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@vkontakte/videoplayer-shared");function e(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function i(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,r.get?r:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var r,a,n,s,o,u=e(require("lodash/debounce"));exports.PlaybackState=void 0,(r=exports.PlaybackState||(exports.PlaybackState={})).STOPPED="stopped",r.PLAYING="playing",r.PAUSED="paused",exports.VideoFormat=void 0,(a=exports.VideoFormat||(exports.VideoFormat={})).MPEG="MPEG",a.DASH="DASH",a.DASH_SEP="DASH_SEP",a.DASH_WEBM="DASH_WEBM",a.DASH_ONDEMAND="DASH_ONDEMAND",a.DASH_LIVE="DASH_LIVE",a.DASH_LIVE_WEBM="DASH_LIVE_WEBM",a.HLS="HLS",a.HLS_ONDEMAND="HLS_ONDEMAND",a.HLS_JS="HLS_JS",a.HLS_LIVE="HLS_LIVE",function(t){t.SCREEN="SCREEN",t.CHROMECAST="CHROMECAST"}(n||(n={})),exports.ChromecastState=void 0,(s=exports.ChromecastState||(exports.ChromecastState={})).NOT_AVAILABLE="NOT_AVAILABLE",s.AVAILABLE="AVAILABLE",s.CONNECTING="CONNECTING",s.CONNECTED="CONNECTED",exports.StartStatus=void 0,(o=exports.StartStatus||(exports.StartStatus={})).SuccessWithSound="success_with_sound",o.SuccessWithoutSound="success_without_sound",o.Failed="failed";var d=function(){return(d=Object.assign||function(t){for(var e,i=1,r=arguments.length;i<r;i++)for(var a in e=arguments[i])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t}).apply(this,arguments)};function c(t,e,i,r){return new(i||(i=Promise))((function(a,n){function s(t){try{u(r.next(t))}catch(t){n(t)}}function o(t){try{u(r.throw(t))}catch(t){n(t)}}function u(t){var e;t.done?a(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,o)}u((r=r.apply(t,e||[])).next())}))}function l(t,e){var i,r,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=e.call(t,s)}catch(t){n=[6,t],r=0}finally{i=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function p(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],r=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var r,a,n=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=n.next()).done;)s.push(r.value)}catch(t){a={error:t}}finally{try{r&&!r.done&&(i=n.return)&&i.call(n)}finally{if(a)throw a.error}}return s}function f(t,e,i){if(i||2===arguments.length)for(var r,a=0,n=e.length;a<n;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))}var v,m={throughputEstimator:{emaAlpha:.2,changeThreshold:.2,useBrowserEstimation:!0,streamMinSampleSize:10240,streamMinSampleTime:300},autoTrackSelection:{bitrateFactor:1.2,usePixelRatio:!0,limitByContainer:!0,containerSizeFactor:2,stepQualityDown:!1,stepQualityDownExceptForTop:!1},enableTelemetryAtStart:!1,formatsToAvoid:[],disableChromecast:!1,chromecastReceiverId:void 0,useWebmBigRequest:!0,bigRequestMinInitSize:51200,bigRequestMinDataSize:1048576,stripRangeHeader:!0,flushShortLoopedBuffers:!0,insufficientBufferRuleMargin:1e4,dashSeekInSegmentDurationThreshold:18e4,dashSeekInSegmentAlwaysSeekDelta:1e4},S=function(){function e(e){var i,r=this;this.connection$=new t.ValueSubject(void 0),this.castState$=new t.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.errorEvent$=new t.Subject,this.realCastState$=new t.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.subscription=new t.Subscription,this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");var a,n="chrome"in window;(this.log({message:"[constructor] receiverApplicationId: "+this.params.receiverApplicationId+", isDisabled: "+this.params.isDisabled+", isSupported: "+n}),!e.isDisabled&&n)&&(t.isNonNullable(null===(i=window.chrome)||void 0===i?void 0:i.cast)?this.initializeCastApi():(window.__onGCastApiAvailable=function(t){t&&r.initializeCastApi()},(a="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((function(t,e){var i=document.createElement("script");i.setAttribute("src",a),i.onload=function(){return t},i.onerror=function(){return e},document.body.appendChild(i)}))).catch((function(){return r.errorEvent$.next({id:"ChromecastLoading",message:"Script loading failed!"})}))))}return e.prototype.connect=function(){var t;null===(t=cast.framework.CastContext.getInstance())||void 0===t||t.requestSession()},e.prototype.disconnect=function(){var t,e;null===(e=null===(t=cast.framework.CastContext.getInstance())||void 0===t?void 0:t.getCurrentSession())||void 0===e||e.endSession(!0)},e.prototype.stopMedia=function(){return new Promise((function(t,e){var i,r,a;null===(a=null===(r=null===(i=cast.framework.CastContext.getInstance())||void 0===i?void 0:i.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===a||a.stop(new chrome.cast.media.StopRequest,t,e)}))},e.prototype.toggleConnection=function(){t.isNonNullable(this.connection$.getValue())?this.disconnect():this.connect()},e.prototype.setVolume=function(e){var i=this.connection$.getValue();t.isNullable(i)||(i.remotePlayer.volumeLevel=e,i.remotePlayerController.setVolumeLevel())},e.prototype.setMuted=function(e){var i=this.connection$.getValue();t.isNullable(i)||e!==i.remotePlayer.isMuted&&i.remotePlayerController.muteOrUnmute()},e.prototype.destroy=function(){this.subscription.unsubscribe()},e.prototype.initListeners=function(){var e=this,i=new cast.framework.RemotePlayer,r=new cast.framework.RemotePlayerController(i),a=cast.framework.CastContext.getInstance();this.subscription.add(t.fromEvent(a,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe((function(i){var r,n;switch(i.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:e.contentId=null===(n=null===(r=a.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===n?void 0:n.media.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:e.contentId=void 0;break;default:return t.assertNever(i.sessionState)}}))).add(t.merge(t.fromEvent(a,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(t.tap((function(t){e.log({message:"[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: "+JSON.stringify(t)})})),t.map((function(t){return t.castState}))),t.observableFrom([a.getCastState()])).pipe(t.filterChanged(),t.map(b),t.tap((function(t){e.log({message:"realCastState$: "+t})}))).subscribe(this.realCastState$)).add(this.realCastState$.subscribe((function(n){var s,o=n===exports.ChromecastState.CONNECTED,u=t.isNonNullable(e.connection$.getValue());if(o&&!u){var d=a.getCurrentSession();t.assertNonNullable(d);var c=d.getCastDevice(),l=null===(s=d.getMediaSession())||void 0===s?void 0:s.media.contentId;(t.isNullable(l)||l===e.contentId)&&(e.log({message:"connection created"}),e.connection$.next({remotePlayer:i,remotePlayerController:r,session:d,castDevice:c}))}else!o&&u&&(e.log({message:"connection destroyed"}),e.connection$.next(void 0));e.castState$.next(n===exports.ChromecastState.CONNECTED?t.isNonNullable(e.connection$.getValue())?exports.ChromecastState.CONNECTED:exports.ChromecastState.AVAILABLE:n)})))},e.prototype.initializeCastApi=function(){var t,e,i,r;try{e=cast.framework.CastContext.getInstance(),i=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(t){return}try{e.setOptions({receiverApplicationId:null!==(t=this.params.receiverApplicationId)&&void 0!==t?t:i,autoJoinPolicy:r}),this.initListeners()}catch(t){this.errorEvent$.next({id:"ChromecastInitializer",message:"[initializeCastApi] failed",thrown:t})}},e}(),b=function(e){switch(e){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return exports.ChromecastState.NOT_AVAILABLE;case cast.framework.CastState.NOT_CONNECTED:return exports.ChromecastState.AVAILABLE;case cast.framework.CastState.CONNECTING:return exports.ChromecastState.CONNECTING;case cast.framework.CastState.CONNECTED:return exports.ChromecastState.CONNECTED;default:return t.assertNever(e)}};!function(t){t[t.OFFSET_P=0]="OFFSET_P",t[t.PLAYBACK_SHIFT=1]="PLAYBACK_SHIFT"}(v||(v={}));var y,g,T=function(e,i,r){switch(void 0===i&&(i=0),void 0===r&&(r=v.OFFSET_P),r){case v.OFFSET_P:return e.replace("_offset_p",0===i?"":"_"+i.toFixed(0));case v.PLAYBACK_SHIFT:if(0===i)return e;var a=new URL(e);return a.searchParams.append("playback_shift",i.toFixed(0)),a.toString();default:t.assertNever(r)}return e},E=function(t,e,i){void 0===i&&(i=!1);var r=t.getTransition();!i&&r&&r.to!==e||t.setState(e)};exports.VideoQuality=void 0,(y=exports.VideoQuality||(exports.VideoQuality={})).INVARIANT="Invariant quality",y.Q_144P="144p",y.Q_240P="240p",y.Q_360P="360p",y.Q_480P="480p",y.Q_720P="720p",y.Q_1080P="1080p",y.Q_1440P="1440p",y.Q_2160P="2160p",y.Q_4320P="4320p";var P,k=((g={})[exports.VideoQuality.Q_144P]=144,g[exports.VideoQuality.Q_240P]=240,g[exports.VideoQuality.Q_360P]=360,g[exports.VideoQuality.Q_480P]=480,g[exports.VideoQuality.Q_720P]=720,g[exports.VideoQuality.Q_1080P]=1080,g[exports.VideoQuality.Q_1440P]=1440,g[exports.VideoQuality.Q_2160P]=2160,g[exports.VideoQuality.Q_4320P]=4320,g),x=function(t,e){return k[t]>k[e]},w=function(t,e){return k[t]<k[e]},A=Object.keys(k).sort((function(t,e){return w(t,e)?-1:1})),$=function(t,e){var i=t.width,r=t.height;return function(t,e){return void 0===e&&(e=.02),f([],h(A),!1).find((function(i){return k[i]*(1+e)>=t}))}(Math.min(i,r),e)},_=function(t){return t===exports.VideoQuality.INVARIANT},N=function(){function e(e){this.transitionStarted$=new t.Subject,this.transitionEnded$=new t.Subject,this.transitionUpdated$=new t.Subject,this.forceChanged$=new t.Subject,this.stateChangeStarted$=t.merge(this.transitionStarted$,this.transitionUpdated$),this.stateChangeEnded$=t.merge(this.transitionEnded$,this.forceChanged$),this.state=e}return e.prototype.setState=function(t){var e=this.transition,i=this.state;this.transition=void 0,this.state=t,e?e.to===t?this.transitionEnded$.next(e):this.forceChanged$.next({from:e.from,to:t,canceledTransition:e}):this.forceChanged$.next({from:i,to:t,canceledTransition:e})},e.prototype.startTransitionTo=function(e){var i=this.transition,r=this.state;r===e||t.isNonNullable(i)&&i.to===e||(this.state=e,i?(this.transition={from:i.from,to:e,canceledTransition:i},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:e},this.transitionStarted$.next(this.transition)))},e.prototype.getTransition=function(){return this.transition},e.prototype.getState=function(){return this.state},e}();!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(P||(P={}));var D,R=function(){function e(e){var i=this;this.subscription=new t.Subscription,this.loadMediaTimeoutSubscription=new t.Subscription,this.videoState=new N(P.STOPPED),this.syncPlayback=function(){var e=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+e+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; desiredPlaybackStateTransition: "+i.params.desiredState.playbackState.getTransition()+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;if((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(o)&&e!==P.STOPPED)return i.params.desiredState.seekPosition.setState(o),i.params.desiredState.seekPosition.startTransitionTo(void 0),void i.seek(o);switch(a){case exports.PlaybackState.PLAYING:switch(e){case P.PLAYING:break;case P.PAUSED:case P.READY:i.videoState.startTransitionTo(P.PLAYING),i.params.connection.remotePlayerController.playOrPause();break;case P.STOPPED:i.videoState.startTransitionTo(P.READY),i.prepare();break;default:t.assertNever(e)}break;case exports.PlaybackState.PAUSED:switch(e){case P.PLAYING:i.videoState.startTransitionTo(P.PAUSED),i.params.connection.remotePlayerController.playOrPause();break;case P.PAUSED:break;case P.READY:i.videoState.startTransitionTo(P.PAUSED),i.videoState.setState(P.PAUSED);break;case P.STOPPED:i.videoState.startTransitionTo(P.READY),i.prepare();break;default:t.assertNever(e)}break;default:t.assertNever(a)}}}else e!==P.STOPPED&&(i.videoState.startTransitionTo(P.STOPPED),i.stop())},this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:"constructor, format: "+e.format}),this.params.output.isLive$.next(function(e){switch(e){case exports.VideoFormat.MPEG:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_JS:case exports.VideoFormat.HLS_ONDEMAND:return!1;case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_LIVE_WEBM:return!0;default:return t.assertNever(e)}}(e.format)),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});var r=this.params.connection.session.getMediaSession();r&&this.restoreSession(r),this.subscribe()}return e.prototype.destroy=function(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()},e.prototype.subscribe=function(){var e=this;this.subscription.add(this.loadMediaTimeoutSubscription);var i=new t.Subscription;this.subscription.add(i),this.subscription.add(t.merge(this.videoState.stateChangeStarted$.pipe(t.map((function(t){return"stateChangeStarted$ "+JSON.stringify(t)}))),this.videoState.stateChangeEnded$.pipe(t.map((function(t){return"stateChangeEnded$ "+JSON.stringify(t)})))).subscribe((function(t){return e.log({message:"[videoState] "+t})})));var r=function(t,i){return e.subscription.add(t.subscribe(i))};if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{var a=new t.Subject;i.add(a.pipe(t.debounce(500)).subscribe((function(t){e.params.desiredState.seekPosition.setState(t),e.params.desiredState.seekPosition.startTransitionTo(void 0),e.params.desiredState.seekPosition.setState(void 0)})));var n=NaN;i.add(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe((function(i){e.logRemoteEvent(i);var r=i.value;e.params.output.position$.next(r);var s=e.params.desiredState.seekPosition.getTransition();t.isNonNullable(s)&&t.isNullable(s.to)?e.params.desiredState.seekPosition.setState(void 0):Math.abs(r-n)>5&&a.next(r),n=r}))),i.add(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe((function(t){e.logRemoteEvent(t),e.params.output.duration$.next(t.value)})))}r(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),(function(t){e.logRemoteEvent(t),t.value?e.handleRemoteReady():(e.handleRemoteStop(),i.unsubscribe())})),r(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),(function(t){e.logRemoteEvent(t),t.value?e.handleRemotePause():e.handleRemotePlay()})),r(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),(function(i){e.logRemoteEvent(i);var r=e.params.connection.remotePlayer,a=i.value,n=e.params.output.isBuffering$.getValue(),s=a===chrome.cast.media.PlayerState.BUFFERING;switch(n!==s&&e.params.output.isBuffering$.next(s),a){case chrome.cast.media.PlayerState.IDLE:!e.params.output.isLive$.getValue()&&r.duration-r.currentTime<5&&e.params.output.endedEvent$.next(),e.handleRemoteStop(),E(e.params.desiredState.playbackState,exports.PlaybackState.STOPPED);break;case chrome.cast.media.PlayerState.PAUSED:e.handleRemotePause();break;case chrome.cast.media.PlayerState.PLAYING:e.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:t.assertNever(a)}})),r(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),(function(t){e.logRemoteEvent(t),e.handleRemoteVolumeChange({volume:t.value})})),r(t.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),(function(t){e.logRemoteEvent(t),e.handleRemoteVolumeChange({muted:t.value})})),r(t.merge(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)),this.syncPlayback)},e.prototype.restoreSession=function(t){this.log({message:"restoreSession"});var e=this.params.connection.remotePlayer;if(t.playerState!==chrome.cast.media.PlayerState.IDLE){e.isPaused?(this.videoState.setState(P.PAUSED),E(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):(this.videoState.setState(P.PLAYING),E(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING));var i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:e.duration),this.params.output.position$.next(i?0:e.currentTime),this.params.desiredState.seekPosition.setState(void 0)}},e.prototype.prepare=function(){var t=this.params.format;this.log({message:"[prepare] format: "+t});var e=this.createMediaInfo(t),i=this.createLoadRequest(e);this.loadMedia(i)},e.prototype.handleRemotePause=function(){var t=this.videoState.getState(),e=this.videoState.getTransition();(null==e?void 0:e.to)!==P.PAUSED&&t!==P.PLAYING||(this.videoState.setState(P.PAUSED),E(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED))},e.prototype.handleRemotePlay=function(){var t=this.videoState.getState(),e=this.videoState.getTransition();(null==e?void 0:e.to)!==P.PLAYING&&t!==P.PAUSED||(this.videoState.setState(P.PLAYING),E(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING))},e.prototype.handleRemoteReady=function(){var t=this.videoState.getTransition();(null==t?void 0:t.to)===P.READY&&this.videoState.setState(P.READY)},e.prototype.handleRemoteStop=function(){this.videoState.getState()!==P.STOPPED&&this.videoState.setState(P.STOPPED)},e.prototype.handleRemoteVolumeChange=function(t){var e,i,r=this.params.output.volume$.getValue(),a={volume:null!==(e=t.volume)&&void 0!==e?e:r.volume,muted:null!==(i=t.muted)&&void 0!==i?i:r.muted};a.volume===r.volume&&a.muted==a.muted||this.params.output.volume$.next(a)},e.prototype.seek=function(t){var e=this.params.connection,i=e.remotePlayer,r=e.remotePlayerController;i.currentTime=t,r.seek()},e.prototype.stop=function(){this.params.connection.remotePlayerController.stop()},e.prototype.createMediaInfo=function(e){var i,r,a,n,s=this.params.source;switch(e){case exports.VideoFormat.MPEG:var o=s[e];t.assertNonNullable(o);var u=Object.keys(o).sort((function(t,e){return t===e?0:t===exports.VideoQuality.INVARIANT?1:e===exports.VideoQuality.INVARIANT?-1:w(t,e)?1:-1}))[0];t.assertNonNullable(u);var d=o[u];t.assertNonNullable(d),r=d,a="video/mp4",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:var c=s[e];t.assertNonNullable(c),r=c.url,a="application/x-mpegurl",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:var l=s[e];t.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS_LIVE:c=s[e];t.assertNonNullable(c),r=T(c.url),a="application/x-mpegurl",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.DASH_LIVE_WEBM:l=s[e];t.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.HLS_JS:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_LIVE:var p="Unsupported format for Chromecast",h=new Error(p);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",message:p,thrown:h}),h;default:return t.assertNever(e)}var f=new chrome.cast.media.MediaInfo(null!==(i=this.params.meta.videoId)&&void 0!==i?i:r,a);f.contentUrl=r,f.streamType=n,f.metadata=new chrome.cast.media.GenericMediaMetadata;var v=this.params.meta,m=v.title,S=v.subtitle;return t.isNonNullable(m)&&(f.metadata.title=m),t.isNonNullable(S)&&(f.metadata.subtitle=S),f},e.prototype.createLoadRequest=function(t){var e,i=new chrome.cast.media.LoadRequest(t);i.autoplay=!1;var r=this.params.desiredState.seekPosition.getTransition();return i.currentTime=r?this.params.output.isLive$.getValue()?0:null!==(e=r.to)&&void 0!==e?e:0:0,i},e.prototype.loadMedia=function(e){var i=this,r=this.params.connection.session.loadMedia(e),a=new Promise((function(e,r){i.loadMediaTimeoutSubscription.add(t.timeout(7e3).subscribe((function(){return r("timeout(7000)")})))}));Promise.race([r,a]).then((function(){i.log({message:"[loadMedia] completed, format: "+i.params.format});var t=i.params.desiredState.seekPosition;t.getTransition()&&t.setState(void 0),i.handleRemoteReady()}),(function(t){var e="[prepare] loadMedia failed, format: "+i.params.format+", reason: "+t;i.log({message:e}),i.params.output.error$.next({id:"ChromecastProvider.loadMedia",message:e,thrown:t})})).finally((function(){i.loadMediaTimeoutSubscription.unsubscribe()}))},e.prototype.logRemoteEvent=function(t){this.log({message:"[remoteEvent] "+JSON.stringify(t)})},e}(),I=function(e,i,r,a){var n=void 0===a?{}:a,s=n.equal,o=void 0===s?function(t,e){return t===e}:s,u=n.changed$,d=n.onError,c=e.getState(),l=i(),p=t.isNullable(u),h=new t.Subscription;return u&&h.add(u.subscribe((function(t){var i=e.getState();o(t,i)&&e.setState(t)}),d)),o(l,c)||(r(c),p&&e.setState(c)),h.add(e.stateChangeStarted$.subscribe((function(t){r(t.to),p&&e.setState(t.to)}),d)),h},L=function(e,i,r){return I(i,(function(){return e.loop}),(function(i){t.isNonNullable(i)&&(e.loop=i)}),{onError:r})},C=function(e,i,r,a){return I(i,(function(){return{muted:e.muted,volume:e.volume}}),(function(i){t.isNonNullable(i)&&(e.muted=i.muted,e.volume=i.volume)}),{equal:function(t,e){return t===e||(null==t?void 0:t.muted)===(null==e?void 0:e.muted)&&(null==t?void 0:t.volume)===(null==e?void 0:e.volume)},changed$:r,onError:a})},O=function(t,e){if(t.id===e)return!0;var i=h(e.split("|"),3);i[0];var r=i[1],a=i[2];return t.language===r&&t.label===a},V=function(){function e(){this.available$=new t.Subject,this.current$=new t.ValueSubject(void 0),this.error$=new t.Subject,this.subscription=new t.Subscription,this.externalTracks=new Map}return e.prototype.connect=function(e,i,r){var a=this;this.video=e,this.cueSettings=i.textTrackCuesSettings,this.subscribe();var n=function(t){a.error$.next({id:"TextTracksManager",message:"Generic HtmlVideoTextTrackManager error",thrown:t})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(I(i.externalTextTracks,(function(){return Object.values(a.externalTracks)}),(function(e){t.isNonNullable(e)&&a.setExternal(e)}),{equal:function(e,i){return t.isNonNullable(e)&&t.isNonNullable(i)&&e.length===i.length&&e.every((function(t,e){return t.id===i[e].id}))},changed$:this.available$.pipe(t.map((function(t){return t.filter((function(t){return"external"===t.type}))}))),onError:n})),this.subscription.add(I(i.currentTextTrack,(function(){if(!a.video){var t=a.htmlTextTracksAsArray().find((function(t){return"showing"===t.mode}));return t&&a.htmlTextTrackToITextTrack(t).id}}),(function(t){return a.select(t)}),{changed$:this.current$,onError:n})),this.subscription.add(I(i.textTrackCuesSettings,(function(){return{}}),(function(){var t,e;if(a.video)try{for(var i=p(a.htmlTextTracksAsArray()),r=i.next();!r.done;r=i.next()){var n=r.value;a.applyCueSettings(n.cues),a.applyCueSettings(n.activeCues)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}})))},e.prototype.subscribe=function(){var e=this;t.assertNonNullable(this.video);var i=this.video.textTracks;this.subscription.add(t.fromEvent(i,"addtrack").subscribe((function(){var t=e.current$.getValue();e.select(t)}))),this.subscription.add(t.merge(t.fromEvent(i,"addtrack"),t.fromEvent(i,"removetrack"),t.observableFrom(["init"])).pipe(t.map((function(){return e.htmlTextTracksAsArray().map((function(t){return e.htmlTextTrackToITextTrack(t)}))})),t.filterChanged((function(t,e){return t.length===e.length&&t.every((function(t,i){return t.id===e[i].id}))}))).subscribe(this.available$)),this.subscription.add(t.merge(t.fromEvent(i,"change"),t.observableFrom(["init"])).pipe(t.map((function(){return e.htmlTextTracksAsArray().find((function(t){return"showing"===t.mode}))})),t.map((function(t){return t&&e.htmlTextTrackToITextTrack(t).id})),t.filterChanged()).subscribe(this.current$));var r=function(t){var i,r;return e.applyCueSettings(null!==(r=null===(i=t.target)||void 0===i?void 0:i.activeCues)&&void 0!==r?r:null)};this.subscription.add(t.fromEvent(i,"addtrack").subscribe((function(t){var i,a;null===(i=t.track)||void 0===i||i.addEventListener("cuechange",r);var n=function(t){var i,r,a,s,o,u=null!==(r=null===(i=t.target)||void 0===i?void 0:i.cues)&&void 0!==r?r:null;u&&u.length&&(e.applyCueSettings(null!==(s=null===(a=t.target)||void 0===a?void 0:a.cues)&&void 0!==s?s:null),null===(o=t.target)||void 0===o||o.removeEventListener("cuechange",n))};null===(a=t.track)||void 0===a||a.addEventListener("cuechange",n)}))),this.subscription.add(t.fromEvent(i,"removetrack").subscribe((function(t){var e;null===(e=t.track)||void 0===e||e.removeEventListener("cuechange",r)})))},e.prototype.applyCueSettings=function(e){var i,r;if(e&&e.length){var a=this.cueSettings.getState();try{for(var n=p(Array.from(e)),s=n.next();!s.done;s=n.next()){var o=s.value;t.isNonNullable(a.align)&&(o.align=a.align),t.isNonNullable(a.position)&&(o.position=a.position),t.isNonNullable(a.size)&&(o.size=a.size),t.isNonNullable(a.line)&&(o.line=a.line)}}catch(t){i={error:t}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}}},e.prototype.htmlTextTracksAsArray=function(i){void 0===i&&(i=!1),t.assertNonNullable(this.video);var r=f([],h(this.video.textTracks),!1);return i?r:r.filter(e.isHealthyTrack)},e.prototype.htmlTextTrackToITextTrack=function(t){var e=t.language,i=t.label,r=""!==t.id?t.id:function(t){return["__",t.language,t.label].join("|")}(t);return this.externalTracks.has(r)?{id:r,type:"external",language:e,label:i,url:this.externalTracks.get(r).url}:{id:r,type:"internal",language:e,label:i}},e.isHealthyTrack=function(t){return"metadata"!==t.kind&&(""!==t.id||""!==t.label||""!==t.language)},e.prototype.setExternal=function(t){var e=this;t.filter((function(t){var i=t.id;return!e.externalTracks.has(i)})).forEach((function(t){return e.attach(t)})),Array.from(this.externalTracks.keys()).filter((function(e){return!t.find((function(t){return t.id===e}))})).forEach((function(t){return e.detach(t)}))},e.prototype.select=function(e){var i,r;t.assertNonNullable(this.video);try{for(var a=p(this.htmlTextTracksAsArray(!0)),n=a.next();!n.done;n=a.next()){var s=n.value;t.isNonNullable(e)&&O(s,e)?s.mode="showing":s.mode="disabled"}}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}},e.prototype.destroy=function(){var t,e;if(this.subscription.unsubscribe(),this.video)try{for(var i=p(Array.from(this.video.getElementsByTagName("track"))),r=i.next();!r.done;r=i.next()){var a=r.value,n=a.getAttribute("id");n&&this.externalTracks.has(n)&&this.video.removeChild(a)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.externalTracks.clear()},e.prototype.attach=function(e){t.assertNonNullable(this.video);var i=document.createElement("track");i.setAttribute("src",e.url),i.setAttribute("id",e.id),e.label&&i.setAttribute("label",e.label),e.language&&i.setAttribute("srclang",e.language),this.externalTracks.set(e.id,e),this.video.appendChild(i)},e.prototype.detach=function(e){t.assertNonNullable(this.video);var i=Array.prototype.find.call(this.video.getElementsByTagName("track"),(function(t){return t.getAttribute("id")===e}));i&&this.video.removeChild(i),this.externalTracks.delete(e)},e}(),M=function(t){return new URL(t).hostname},B=function(t){var e=document.createElement("video");return e.setAttribute("crossorigin","anonymous"),e.setAttribute("playsinline","playsinline"),t.appendChild(e),e},U=function(t){return c(void 0,void 0,void 0,(function(){var e,i,r;return l(this,(function(a){switch(a.label){case 0:e=t.muted,a.label=1;case 1:return a.trys.push([1,3,,8]),[4,t.play()];case 2:return a.sent(),[3,8];case 3:if(i=a.sent(),e)return console.warn(i),[2,!1];t.muted=!0,a.label=4;case 4:return a.trys.push([4,6,,7]),[4,t.play()];case 5:return a.sent(),[3,7];case 6:return r=a.sent(),t.muted=!1,console.warn(r),[2,!1];case 7:return[3,8];case 8:return[2,!0]}}))}))},F=function(e){return new t.Observable((function(i){var r=0;return(new t.Subscription).add(t.fromEvent(e,"loadstart").subscribe((function(){r=Date.now()}))).add(t.fromEvent(e,"loadeddata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(t.once())},q=function(){function t(t){this._buffer=[],this._source=t}return t.prototype.fill=function(){this._buffer=[];for(var t=this._source.currentTime,e=0,i=this._source.buffered.length;e<i;e++){var r=this._source.buffered.start(e),a=this._source.buffered.end(e);r>t&&r-t<3&&(r=t),this._buffer.push({start:r,end:a,i:e})}return this._buffer.sort((function(t,e){return t.start-e.start})),this._buffer},t.prototype.getByTime=function(t){return this._buffer.find((function(e){return t>=e.start&&t<e.end}))},t.prototype.getNextWithGap=function(t,e){var i=this.getNext(t);if(i&&i.start-t.end<(e||3))return i},t.prototype.getNext=function(t){var e=this._buffer.indexOf(t);if(~e&&this._buffer.length-1>e)return this._buffer[++e]},t.prototype.smartRemove=function(t,e,i){this._buffer.forEach((function(r){var a=r.start,n=r.end,s=a>=t&&a<e,o=n>=t&&n<e;s&&o||(s?i(e,n):o?i(a,t):a<t&&n>e?(i(e,n),i(a,t)):i(a,n))}))},t.prototype.destroy=function(){this._buffer=[]},t}(),H=function(t,e,i){void 0===i&&(i=3);for(var r=0,a=0,n=0;n<t.length;n++){var s=t.start(n),o=t.end(n);if(s<=e&&e<=o){if(r=s,a=o,!i)return{start:r,end:a};for(var u=n-1;u>=0;u--)t.end(u)+i>=r&&(r=t.start(u));for(var d=n+1;d<t.length;d++)t.start(d)-i<=a&&(a=t.end(d))}}return{start:r,end:a}},G=function(e){return new t.Observable((function(i){var r=0;return(new t.Subscription).add(t.fromEvent(e,"loadstart").subscribe((function(){r=Date.now()}))).add(t.fromEvent(e,"loadedmetadata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(t.once())},Y=function(e){var i=function(i,r){return void 0===r&&(r=function(){}),t.fromEvent(e,i).pipe(t.map(r))},r=t.merge.apply(void 0,f([],h(["waiting","pause","canplay","canplaythrough","playing","seeked","ended"].map((function(i){return t.fromEvent(e,i)}))),!1)).pipe(t.map((function(){return e.readyState<3})),t.filterChanged()),a=t.merge(t.fromEvent(e,"progress"),t.fromEvent(e,"timeupdate")).pipe(t.map((function(){return H(e.buffered,e.currentTime)}))),n=t.fromEvent(e,"volumechange").pipe(t.debounce(0),t.map((function(){return{muted:e.muted,volume:e.volume}}))),s=t.fromEvent(e,"error").pipe(t.map((function(){var t=e.error;return{id:t?"MediaError#"+t.code:"HtmlVideoError",message:t?t.message:"Error event from HTML video element"}})));return{play$:i("play"),pause$:i("pause"),canplay$:i("canplay"),ended$:i("ended"),error$:s,seeked$:i("seeked"),seeking$:i("seeking"),progress$:i("progress"),loadedMetadata$:i("loadedmetadata"),loadedData$:i("loadeddata"),timeUpdate$:i("timeupdate",(function(){return e.currentTime})),durationChange$:i("durationchange",(function(){return e.duration})),isBuffering$:r,currentBuffer$:a,volumeState$:n,firstBytes$:G(e),firstFrame$:F(e)}};!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(D||(D={}));var j,Q=function(){function e(e){var i=this;this.subscription=new t.Subscription,this.videoState=new N(D.STOPPED),this.trackUrls={},this.textTracksManager=new V,this.syncPlayback=function(){var e=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(e===D.STOPPED)return i.videoState.startTransitionTo(D.READY),void i.prepare();if(n){var o=i.video.currentTime;return i.prepare(),void(s||i.params.desiredState.seekPosition.startTransitionTo(o))}var u=null==s?void 0:s.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(u)&&i.seek(u),e){case D.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(D.PAUSED),E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(D.PLAYING),i.playIfAllowed()));case D.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(D.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&E(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case D.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(D.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return t.assertNever(e)}}}else e!==D.STOPPED&&(i.videoState.startTransitionTo(D.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(D.STOPPED),E(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.video=B(e.container),this.params.output.element$.next(this.video),Object.entries(this.params.source).forEach((function(t,e){var r=h(t,2),a=r[0],n=r[1],s=e.toString(10);i.trackUrls[s]={track:{quality:a,id:s},url:n}})),this.params.output.availableVideoTracks$.next(Object.values(this.trackUrls).map((function(t){return t.track}))),this.params.output.isLive$.next(!1),this.subscribe()}return e.prototype.subscribe=function(){var e=this,i=this.params,r=i.output,a=i.desiredState,n=function(t){r.error$.next({id:"MpegProvider",message:"MpegProvider internal logic error",thrown:t})},s=Y(this.video),o=function(t,i){return e.subscription.add(t.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(L(this.video,a.isLooped,n)),this.subscription.add(C(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(D.PLAYING),E(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(D.PAUSED),E(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var i;(null===(i=e.videoState.getTransition())||void 0===i?void 0:i.to)===D.READY&&e.videoState.setState(D.READY);var r=e.params.desiredState.videoTrack.getTransition();r&&t.isNonNullable(r.to)&&(e.params.desiredState.videoTrack.setState(r.to),e.params.output.currentVideoTrack$.next(e.trackUrls[r.to].track)),e.videoState.getState()===D.PLAYING&&e.playIfAllowed()}),n)),this.subscription.add(a.autoVideoTrackSwitching.stateChangeStarted$.subscribe((function(){return a.autoVideoTrackSwitching.setState(!1)}),n)),this.textTracksManager.connect(this.video,a,r);var u=t.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.trackUrls={},this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.prepare=function(){var e,i,r=null!==(i=null===(e=this.params.desiredState.videoTrack.getTransition())||void 0===e?void 0:e.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState();t.assertNonNullable(r,"MpegProvider: track is not selected");var a=this.trackUrls[r].url;t.assertNonNullable(a,"MpegProvider: No url for "+r),this.video.setAttribute("src",a),this.video.load(),this.params.output.hostname$.next(M(a))},e.prototype.playIfAllowed=function(){var t=this;U(this.video).then((function(e){e||(t.videoState.setState(D.PAUSED),E(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=t},e}(),z=!1,J={},W=function(t){t(J)},X=function(t,e){var i;z&&(J.meta=null!==(i=J.meta)&&void 0!==i?i:{},J.meta[t]=e)},K=function(){function t(t){this.name=t}return t.prototype.next=function(t){var e,i;if(z){J.series=null!==(e=J.series)&&void 0!==e?e:{};var r=null!==(i=J.series[this.name])&&void 0!==i?i:[];r.push([Date.now(),t]),J.series[this.name]=r}},t}(),Z=new K("best_bitrate"),tt=function(e,i){var r,a,n=i.container,s=i.throughput,o=i.tuning,u=o.usePixelRatio&&null!==(r=window.devicePixelRatio)&&void 0!==r?r:1,d=o.limitByContainer&&n&&n.width>0&&n.height>0&&{width:n.width*u*o.containerSizeFactor,height:n.height*u*o.containerSizeFactor},c=d&&$(d,0),l=e.filter((function(t){return!_(t.quality)})).sort((function(t,e){return x(t.quality,e.quality)?-1:1})),p=l.filter((function(e){var i=!c||w(e.quality,c),r=!(t.isNonNullable(s)&&isFinite(s)&&t.isNonNullable(e.bitrate))||s>=e.bitrate*o.bitrateFactor;return i&&r})),h=p[0];if(h&&h.bitrate&&Z.next(h.bitrate),o.stepQualityDown&&h){if(v=p[1])return v}else if(o.stepQualityDownExceptForTop&&h){var f=h===l[0],v=p[1];if(f&&h.bitrate&&s){var m=2*h.bitrate;if(s>=m*o.bitrateFactor)return h}if(v)return v}return null!==(a=null!=h?h:l[l.length-1])&&void 0!==a?a:e[0]},et=function(e,i){return void 0===i&&(i=300),window.ResizeObserver?new t.Observable((function(r){var a=new ResizeObserver(u.default((function(e){var i,a,n=e[0];n&&(n.contentBoxSize&&n.contentBoxSize[0]?(a=n.contentBoxSize[0].blockSize,i=n.contentBoxSize[0].inlineSize):n.contentRect&&(i=n.contentRect.width,a=n.contentRect.height),t.isNonNullable(i)&&t.isNonNullable(a)&&r.next({width:i,height:a}))}),i));return a.observe(e),function(){return a.disconnect()}})):new t.Observable((function(t){var i=e.getBoundingClientRect(),r=i.width,a=i.height;t.next({width:r,height:a})}))},it=function(){function e(t,e,i,r,a,n){void 0===e&&(e=[]),this._failoverIndex=0,this._failoverCount=0,this._xhr=null,this._retryTimeout=0,this._url=t,this._failoverHosts=e,this._completeCb=i,this._progressCb=r,this._headersCb=a,this._errorCb=n,this._request()}return e.prototype._request=function(){var e=this;this._xhr=new XMLHttpRequest,this._xhr.open("GET",this._url,!0),this._xhr.overrideMimeType("text/plain; charset=x-user-defined");var i=!1;this._xhr.onreadystatechange=function(){var r,a,n,s,o,u,d,c;if(t.assertNonNullable(e._xhr),(null===(r=e._xhr)||void 0===r?void 0:r.status)>=400)return null===(a=e._errorCb)||void 0===a||a.call(e,"Http"+(null===(n=e._xhr)||void 0===n?void 0:n.status),"XHR response code "+(null===(s=e._xhr)||void 0===s?void 0:s.status)),void e.abort();if(4!==e._xhr.readyState||0!==e._xhr.status)try{e._xhr.readyState>=2&&!i&&(i=!0,null===(o=e._headersCb)||void 0===o||o.call(e)),4===e._xhr.readyState&&(null===(u=e._completeCb)||void 0===u||u.call(e,e._xhr.response)),3===e._xhr.readyState&&(null===(d=e._progressCb)||void 0===d||d.call(e,e._xhr.response))}catch(t){throw null===(c=e._errorCb)||void 0===c||c.call(e,"XHR2CallbackError","xhr2 callback threw "+String(t),t),t}},this._xhr.onerror=function(){var t;null===(t=e._xhr)||void 0===t||t.abort(),e._retryTimeout=window.setTimeout((function(){var t,i,r;if(e._xhr)if(++e._failoverCount>=30)e._xhr=null,null===(t=e._errorCb)||void 0===t||t.call(e,"XHR2Failover","XHR failed, retrying failover host");else{var a=void 0;e._failoverIndex>=e._failoverHosts.length?(a=e._url,e._failoverIndex=0):(a=e._url.replace((i=e._url,(r=document.createElement("a")).href=i,r.host),e._failoverHosts[e._failoverIndex]),e._failoverIndex++),e._xhr.open("GET",a,!0),e._xhr.send(null)}}),500)},this._xhr.send(null)},e.prototype.abort=function(){window.clearTimeout(this._retryTimeout),this._completeCb=this._progressCb=this._errorCb=void 0,this._xhr&&(this._xhr.abort(),this._xhr=null)},e}(),rt=function(){function t(t){this._maxBufferDuration=Number.POSITIVE_INFINITY,this._isFull=!1,this._params=t,this._mediaSource=t.mediaSource,this._sourceBuffer=t.sourceBuffer,this._onDashCallback=t.onDashCallback}return t.prototype._appendBuffer=function(t,e){try{this._isFull=!1,(this._sourceBuffer.appendBuffer||this._sourceBuffer.append).bind(this._sourceBuffer)(t),null==e||e()}catch(t){if("QuotaExceededError"!==t.name)throw this._params.onError("AppendBuffer","Unknown Buffer error",t),t;this._isFull=!0;for(var i=this._sourceBuffer.buffered,r=0,a=0,n=i.length;a<n;a++)r+=i.end(a)-i.start(a);r&&(this._maxBufferDuration=Math.round(r))}},t.prototype.getMaxBufferDuration=function(){return this._maxBufferDuration},t.prototype.isFull=function(){return this._isFull},t.prototype.load=function(e,i,r,a,n,s,o){var u=this;this.abort((function(){var d=0,c=Date.now(),l=Date.now(),p=0,h=r-i+1,f=function(e){a(t._str2ua(e.substr(d))),d=e.length};u._lastXhr=new it(e.baseURL+"&bytes="+i+"-"+r,e.failoverHosts,(function(t){u._lastXhr=void 0,f(t);var e=Date.now()-c;u._params.onBandwidthChange({size:h,duration:e,speed:8*h/(e/1e3)}),u._onDashCallback("loading",{size:t.length,done:!0}),null==n||n()}),(function(t){t.length-d>o&&f(t);var e=t.length-p,i=Date.now()-l;p&&u._params.onBandwidthChange({size:e,duration:i,speed:8*e/(i/1e3)}),p=t.length,l=Date.now(),u._onDashCallback("loading",{size:t.length,done:!1})}),s,(function(t,e,i){return u._params.onError(t,e,i)}))}))},t.prototype.abort=function(t){var e,i=this;null===(e=this._lastXhr)||void 0===e||e.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){i._appendPromiseUint8Array&&(i._appendBuffer(i._appendPromiseUint8Array),i._appendPromiseUint8Array=void 0),i._lastStreamUpdatingCallback=i._sbUpdatingWatch((function(){"open"===i._mediaSource.readyState&&i._sourceBuffer.abort(),null==t||t()}))}))},t.prototype._sbUpdatingWatch=function(t){var e=this;if(this._sourceBuffer.updating){var i=function(){try{e._sbUpdatingStop(i),e._sbUpdatingWatch(t)}catch(t){throw e._params.onError("SourceBuffer","Source Buffer update error",t),t}};return this._sourceBuffer.addEventListener("updateend",i,!1),i}t()},t.prototype._sbUpdatingStop=function(t){t&&this._sourceBuffer.removeEventListener("updateend",t,!1)},t.prototype.append=function(e,i){var r=this;this._appendPromiseUint8Array?this._appendPromiseUint8Array=t._concatUint8(this._appendPromiseUint8Array,e):(this._appendPromiseUint8Array=e,this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){r._appendPromiseUint8Array&&r._appendBuffer(r._appendPromiseUint8Array,(function(){r._appendPromiseUint8Array=void 0,i&&r._sbUpdatingWatch(i)}))})))},t.prototype.endOfStream=function(){var t=this;"open"===this._mediaSource.readyState&&this._sbUpdatingWatch((function(){return t._mediaSource.endOfStream()}))},t._concatUint8=function(t,e){var i=new Uint8Array(t.byteLength+e.byteLength);return i.set(t,0),i.set(e,t.byteLength),i},t._str2ua=function(t){for(var e=new Uint8Array(t.length),i=0;i<t.length;i++)e[i]=t.charCodeAt(i);return e},t.prototype.remove=function(t,e){var i=this;this._sbUpdatingWatch((function(){!i._sourceBuffer.updating&&i._sourceBuffer.remove&&i._sourceBuffer.remove(t,e),i._maxBufferDuration=Number.POSITIVE_INFINITY}))},t.prototype.destroy=function(){var t;null===(t=this._lastXhr)||void 0===t||t.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()},t}(),at=function(){function e(t){var e;this._representations=[],this._appendVector={},this._cachingPaused=!1,this._duration=0,this.STREAM_END_THRESHOLD=1,this._params=t,this._video=t.video,this._buffer=t.buffer,this._onDashCallback=null!==(e=t.onDashCallback)&&void 0!==e?e:function(){},this._config=t.config}return e.prototype._parseDurationFromISO8601=function(t){var e=function(t,e){var i=t?parseFloat(t.replace(",",".")):NaN;return(isNaN(i)?0:i)*e},i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/.exec(t),r="-"===(null==i?void 0:i[1])?-1:1;e(null==i?void 0:i[2],r),e(null==i?void 0:i[3],r),e(null==i?void 0:i[4],r),e(null==i?void 0:i[5],r);return 3600*e(null==i?void 0:i[6],r)+60*e(null==i?void 0:i[7],r)+e(null==i?void 0:i[8],r)},e.prototype.getRepresentations=function(){return this._representations},e.prototype.attachSource=function(t,e){var i=this;new it(t,e,(function(r){var a,n;i.attachManifest(r,e,(a=t,(n=document.createElement("a")).href=a,n.origin))}),void 0,void 0,(function(t,e,r){return i._params.onError(t,e,r)}))},e.prototype.attachManifest=function(t,e,i){var r=this,a=(new DOMParser).parseFromString(t,"text/xml").documentElement,n=function(t,e){var i=t.attributes.getNamedItem(e);return i?i.value:null};this._duration=this._parseDurationFromISO8601(String(n(a,"mediaPresentationDuration")));var s=[],o=[];Array.prototype.forEach.call(a.getElementsByTagName("Representation"),(function(t){var r,a,u,d,c,l,p,h,f,v,m,S,b,y,g,T,E,P=t.getElementsByTagName("SegmentBase")[0],k=P&&n(P,"indexRange").split("-"),x=P&&P.getElementsByTagName("Initialization")[0],w=x&&n(x,"range").split("-");if(w&&k){var A=Number(null===(p=t.attributes.getNamedItem("bandwidth"))||void 0===p?void 0:p.value),$=(i?i+"/":"")+t.getElementsByTagName("BaseURL")[0].childNodes[0].data;s.push({width:Number(null===(h=t.attributes.getNamedItem("width"))||void 0===h?void 0:h.value),height:Number(null===(f=t.attributes.getNamedItem("height"))||void 0===f?void 0:f.value),bandwidth:A,baseURL:$,failoverHosts:e,indexFrom:Number(k[0]),indexTo:Number(k[1]),initFrom:Number(w[0]),initTo:Number(w[1]),codecs:null!==(m=null===(v=t.attributes.getNamedItem("codecs"))||void 0===v?void 0:v.value)&&void 0!==m?m:void 0,mimeType:null!==(b=null===(S=t.attributes.getNamedItem("mimeType"))||void 0===S?void 0:S.value)&&void 0!==b?b:void 0,bufferSize:.1*A/8,bufferLength:.1,name:null!==(g=null===(y=t.attributes.getNamedItem("okQuality"))||void 0===y?void 0:y.value)&&void 0!==g?g:void 0,id:null!==(E=null===(T=t.attributes.getNamedItem("id"))||void 0===T?void 0:T.value)&&void 0!==E?E:void 0})}else{var _=t.parentElement;if("text"===(null==_?void 0:_.getAttribute("contentType"))){var N=null!==(r=t.getAttribute("id"))&&void 0!==r?r:void 0,D=(i?i+"/":"")+(null===(c=null===(d=null===(u=null===(a=t.getElementsByTagName("BaseURL"))||void 0===a?void 0:a[0])||void 0===u?void 0:u.childNodes)||void 0===d?void 0:d[0])||void 0===c?void 0:c.data),R=null!==(l=_.getAttribute("lang"))&&void 0!==l?l:void 0;D&&o.push({id:N,url:D,language:R})}}})),s.length?(this._representations=s,o.forEach((function(t){var e=t.id,i=t.language,a=t.url,n=document.createElement("track");n.setAttribute("src",a),e&&n.setAttribute("id",e),i&&n.setAttribute("srclang",i),r._video.appendChild(n)})),this._representations.sort((function(t,e){return e.bandwidth-t.bandwidth})),this._params.onManifestReady(this._representations)):this._onDashCallback("error")},e.prototype._loadInitAndSidx=function(t,e){var i=this;if(t!==this._currentRepresentation)if(t.refs)this._stream.abort((function(){i._stream.append(t.initMessage,e)}));else{var r=Date.now();this._stream.load(t,t.initFrom,t.indexTo,(function(r){var a=t.initTo-t.initFrom+1;if(r.byteLength){t.initMessage=new Uint8Array(r.buffer,0,a);var n=new DataView(r.buffer);a+=12;var s=n.getUint32(a+4,!1);a+=8;var o=n.getUint32(a,!1),u=n.getUint32(a+4,!1)+(t.indexTo+1);a+=8;var d=n.getUint16(a+2,!1);a+=4,t.refs=[];for(var c=0;c<d;c+=1){var l=u+(2147483647&n.getUint32(a,!1)),p=o+n.getUint32(a+4,!1);a+=12,t.refs.push({fromTime:o/s,toTime:p/s,fromOffset:u,toOffset:l-1}),u=l,o=p}var h=t.refs[t.refs.length-1];h.toTime-h.fromTime<.3&&t.refs.pop(),i._stream.append(t.initMessage,e)}else i._params.onError("EmptyResponse","Empty response")}),void 0,(function(){i._params.onIdxRequestPing(Date.now()-r)}),t.indexTo-t.initFrom+1)}else e&&e()},e.prototype.startPlay=function(t){var e=this,i=window.MediaSource||window.WebKitMediaSource;if(i){var r=new i,a=void 0,n=void 0,s=function(){e._loopTimeout=window.setTimeout((function(){try{!function(){var i=e._findRef(e._video.currentTime);if(i&&!e._video.paused){if(!e._cachingPaused&&void 0!==e._lastLoadOffset&&e._lastLoadOffset-e._video.currentTime<e._config.FRONT_CACHE_DURATION&&e._lastLoadOffset-e._video.currentTime<e._stream.getMaxBufferDuration()){var r=e._stream.isFull()?e._findBufferRangeEnd(e._video.currentTime):e._lastLoadOffset;e._loadRef(e._params.selectRepresentation(e._representations),r)}var s,o=e._appendVector[String(i.fromTime)];if(o!==a&&(a=o,e._params.onRepresentationPlay(o)),e._findRef(i.toTime)){var u=e._buffer.getByTime(e._video.currentTime);if(!u)return void e._onDashCallback("buffering");(s=u.end-e._video.currentTime)<t.bufferLength&&(e._onDashCallback("buffering"),n!==u.end&&(n=u.end,window.setTimeout((function(){try{var t=e._buffer.getNextWithGap(u);t&&(e._video.currentTime=t.start)}catch(t){throw e._params.onError("GapSyncError","Seek Error "+String(t),t),t}}),1e3*s)))}}}()}catch(t){throw e._params.onError("LoopError","Dash Loop exception "+String(t),t),t}s()}),250)},o=function(){if(!e._stream)try{var i=r.addSourceBuffer(t.mimeType+'; codecs="'+t.codecs+'"');e._stream=new rt({mediaSource:r,sourceBuffer:i,onBandwidthChange:e._params.onBandwidthChange,onError:e._params.onError,onDashCallback:e._onDashCallback})}catch(t){throw e._params.onError("DashSourceOpen","Source open exception "+String(t),t),t}e._loadInitAndSidx(t),r.duration||(r.duration=e._duration),e._loopTimeout||s(),r.removeEventListener("sourceopen",o),r.removeEventListener("webkitsourceopen",o)};r.addEventListener("sourceopen",o,!1),r.addEventListener("webkitsourceopen",o,!1),this._video&&(this._video.src=window.URL.createObjectURL(r),this._video.addEventListener("waiting",(function(){var t=e._video&&e._video.played.length;t&&!e._video.currentTime&&e._video.loop?e._video.duration-e._video.played.end(t-1)<e.STREAM_END_THRESHOLD&&e.seek(0):e._video.duration-e._video.currentTime<e.STREAM_END_THRESHOLD&&e._stream.endOfStream()})))}else this._params.onError("MediaSourceNotSupported","MediaSource is not supported")},e.prototype._loadRef=function(t,e,i){var r=this;void 0===i&&(i=!1),this._lastLoadOffset=void 0,this._loadInitAndSidx(t,(function(){r._currentRepresentation=t;var a=r._findRef(e);if(a){if(i){r._isLastRef(a)&&e>=a.toTime&&(e=a.fromTime);var n=r._findRef(r._video.currentTime),s=Math.abs(r._video.currentTime-e),o=r._video.duration<r._config.SEEK_IN_SEGMENT_THRESHOLD/1e3||a===n||s<=r._config.SEEK_IN_SEGMENT_DELTA/1e3;r._video.currentTime=o?e:a.fromTime}r._appendVector[String(a.fromTime)]=t,r._stream.load(t,a.fromOffset,a.toOffset,(function(t,e){return r._stream.append(t,e)}),(function(){r._lastLoadOffset=a.toTime,r._video.duration-r._lastLoadOffset<r.STREAM_END_THRESHOLD&&r._stream.endOfStream()}),void 0,t.bufferSize)}}))},e.prototype.setQualityByRepresentation=function(t){var e=this,i=this._buffer.getByTime(this._video.currentTime),r=this._findRef(this._video.currentTime);if(i&&r){var a=.1;if(r.toTime<i.end+a){var n=this._findRef(r.toTime);n&&n.toTime<i.end+a?(this._buffer.smartRemove(r.fromTime-a,n.toTime+a,(function(t,i){return e._stream.remove(t,i)})),this._loadRef(t,n.toTime)):(this._buffer.smartRemove(r.fromTime-a,r.toTime+a,(function(t,i){return e._stream.remove(t,i)})),this._loadRef(t,r.toTime))}}},e.prototype.setQuality=function(t){return this.setQualityByRepresentation(this._representations[t])},e.prototype.pauseCaching=function(){this._cachingPaused=!0},e.prototype.resumeCaching=function(){this._cachingPaused=!1},e.prototype.seek=function(t,e){void 0===e&&(e=!1),this._stream&&this._buffer.getByTime(t)&&!e?this._video.currentTime=t:this._loadRef(this._params.selectRepresentation(this._representations),t,!0)},e.prototype.updateRefsForCurrentTime=function(){var e=this._video.currentTime;this._stream&&!t.isNullable(this._buffer.getByTime(e))||this._loadRef(this._params.selectRepresentation(this._representations),e,!1)},e.prototype._findRef=function(t){var e,i=null===(e=this._currentRepresentation)||void 0===e?void 0:e.refs;if(i){if(!Array.isArray(i)||0!==i.length){for(var r=void 0,a=0;a<i.length;a++){var n=i[a];if(n.fromTime<=t&&n.toTime>t)return n;n.fromTime>t&&(!r||n.fromTime<r.fromTime)&&(r=n)}if(!r){var s=i[i.length-1];if(t>s.toTime)return s}return r}this._params.onError("emptyrefs","Empty refs")}},e.prototype._isLastRef=function(t){var e,i=null===(e=this._currentRepresentation)||void 0===e?void 0:e.refs;if(!i)return!1;var r=i[i.length-1];return t.fromTime===r.fromTime},e.prototype._findBufferRangeEnd=function(t){for(var e=this._video.buffered.length;e-- >0;){var i=this._video.buffered.start(e),r=this._video.buffered.end(e);if(t>i&&t<r)return Math.round(10*r)/10}return t},e.prototype.destroy=function(){this._stream&&this._stream.destroy(),clearTimeout(this._loopTimeout),this._loopTimeout=void 0},e}();!function(t){t.STOPPED="stopped",t.MANIFEST_LOADED="manifest-loaded",t.INITIAL_REPRESENTATION_SELECTED="initial-representation-selected",t.METADATA_LOADED="metadata-loaded",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(j||(j={}));var nt,st=[j.PAUSED,j.PLAYING],ot=function(){function e(e){var i=this;this.videoState=new N(j.STOPPED),this.subscription=new t.Subscription,this.representations$=new t.ValueSubject([]),this.currentRepresentation$=new t.ValueSubject(void 0),this.textTracksManager=new V,this.elementSize$=new t.ValueSubject(void 0),this.dashLiteEvents={idxRequestPing$:new t.Subject,manifestReady$:new t.Subject,representationPlay$:new t.Subject,error$:new t.Subject},this.handleManifestReady=function(t){var e,r,a,n,s=[];try{for(var o=p(t),u=o.next();!u.done;u=o.next()){var d=u.value,c=null!==(n=null!==(a=d.name)&&void 0!==a?a:d.id)&&void 0!==n?n:d.height.toString(10),l=$(d),h=d.bandwidth/1e3,f={width:d.width,height:d.height};if(l){var v={id:c,quality:l,bitrate:h,size:f};s.push({track:v,representation:d})}}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}i.representations$.next(s),i.params.output.availableVideoTracks$.next(s.map((function(t){return t.track}))),i.videoState.setState(j.MANIFEST_LOADED)},this.handleRepresentationPlay=function(t){var e,r=null===(e=i.representations$.getValue().find((function(e){return e.representation===t})))||void 0===e?void 0:e.track;r&&(i.params.output.currentVideoTrack$.next(r),i.params.desiredState.videoTrack.getTransition()&&i.params.desiredState.videoTrack.setState(r.id))},this.selectRepresentation=function(){var e=i.currentRepresentation$.getValue();return t.assertNonNullable(e,"Can't select representation. something went wrong"),e},this.syncPlayback=function(){var e=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+e+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;switch((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(o)&&st.includes(e)&&i.seek(o),e){case j.STOPPED:return i.videoState.startTransitionTo(j.MANIFEST_LOADED),void i.prepare();case j.MANIFEST_LOADED:return void i.videoState.startTransitionTo(j.INITIAL_REPRESENTATION_SELECTED);case j.INITIAL_REPRESENTATION_SELECTED:return i.videoState.startTransitionTo(j.METADATA_LOADED),void i.dash.startPlay(i.selectRepresentation());case j.METADATA_LOADED:return i.videoState.startTransitionTo(j.READY),void i.dash.seek(null!=o?o:0);case j.READY:return void(a===exports.PlaybackState.PAUSED?(i.videoState.setState(j.PAUSED),E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):a===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(j.PLAYING),i.playIfAllowed()));case j.PLAYING:return void(a===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(j.PAUSED),i.video.pause()):(null==n?void 0:n.to)===exports.PlaybackState.PLAYING&&E(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case j.PAUSED:return void(a===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(j.PLAYING),i.playIfAllowed()):(null==n?void 0:n.to)===exports.PlaybackState.PAUSED&&E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return t.assertNever(e)}}}else e!==j.STOPPED&&(i.videoState.startTransitionTo(j.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(j.STOPPED),E(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashProvider"),t.merge(this.videoState.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,type:"end"}})))).subscribe((function(t){var e=t.transition,r=t.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(e)})})),this.video=B(e.container),this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),"url"===this.params.source.type&&this.params.output.hostname$.next(M(this.params.source.url)),this.buffer=new q(this.video),this.dash=new at({video:this.video,buffer:this.buffer,selectRepresentation:this.selectRepresentation,onIdxRequestPing:function(t){return i.dashLiteEvents.idxRequestPing$.next(t)},onManifestReady:function(t){return i.dashLiteEvents.manifestReady$.next(t)},onRepresentationPlay:function(t){return i.dashLiteEvents.representationPlay$.next(t)},onBandwidthChange:function(t){return i.params.dependencies.throughputEstimator.rawSpeed$.next({size:t.size,time:t.duration})},onError:function(t,e,r){i.log({message:"[DashLite error], "+t}),i.dashLiteEvents.error$.next({id:t,message:e,thrown:r})},config:{SEEK_IN_SEGMENT_THRESHOLD:this.params.tuning.dashSeekInSegmentDurationThreshold,SEEK_IN_SEGMENT_DELTA:this.params.tuning.dashSeekInSegmentAlwaysSeekDelta,FRONT_CACHE_DURATION:this.params.config.cacheDuration/1e3}}),this.subscribe()}return e.prototype.subscribe=function(){var e=this,i=this.params,r=i.output,a=i.desiredState,n=function(t){r.error$.next({id:"DashProvider",message:"DashProvider internal logic error",thrown:t})},s=Y(this.video),o=function(t,i){return e.subscription.add(t.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeking$.subscribe((function(){t.isNullable(e.params.desiredState.seekPosition.getTransition())&&(e.videoState.getState()===j.PLAYING||e.videoState.getState()===j.PAUSED)&&e.dash.updateRefsForCurrentTime()}))),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}))),this.subscription.add(L(this.video,a.isLooped,n)),this.subscription.add(C(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.textTracksManager.connect(this.video,a,r),o(et(this.video),this.elementSize$),this.subscription.add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===j.READY&&e.videoState.setState(j.READY)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(j.PAUSED),E(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED)}))).add(s.play$.subscribe((function(){e.videoState.setState(j.PLAYING),E(e.params.desiredState.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.loadedMetadata$.subscribe((function(){e.videoState.setState(j.METADATA_LOADED)}),n)).add(s.currentBuffer$.subscribe((function(t){e.buffer.fill(),r.currentBuffer$.next(t)}),n)).add(this.dashLiteEvents.error$.pipe(t.map((function(t){return{id:"DashLite_"+t.id,message:t.message,thrown:t.thrown}}))).subscribe(this.params.output.error$)).add(t.merge(this.params.desiredState.videoTrack.transitionStarted$,this.params.desiredState.autoVideoTrackSwitching.transitionStarted$,this.representations$,this.params.dependencies.throughputEstimator.estimation$,this.params.output.element$,this.elementSize$).pipe(t.map((function(){var i,r,a,n=e.representations$.getValue(),s=e.params.desiredState.autoVideoTrackSwitching.getState(),o=e.params.desiredState.autoVideoTrackSwitching.getTransition(),u=e.params.desiredState.videoTrack.getState(),d=e.params.desiredState.videoTrack.getTransition(),c=e.params.dependencies.throughputEstimator.estimation$.getValue(),l=e.elementSize$.getValue(),p=o?o.to:s;return o&&e.params.desiredState.autoVideoTrackSwitching.setState(o.to),a=!p&&t.isNonNullable(u)?u:d?d.to:null===(i=tt(n.map((function(t){return t.track})),{container:l,throughput:c,tuning:e.params.tuning.autoTrackSelection}))||void 0===i?void 0:i.id,t.isNonNullable(a)?null===(r=n.find((function(t){return t.track.id===a})))||void 0===r?void 0:r.representation:void 0})),t.filterChanged()).subscribe(this.currentRepresentation$,n)).add(t.combine({needToSelectRepresentation:this.videoState.stateChangeStarted$.pipe(t.filter((function(t){return t.to===j.INITIAL_REPRESENTATION_SELECTED}))),currentRepresentationSelected:this.currentRepresentation$.pipe(t.filter(t.isNonNullable))}).pipe(t.once()).subscribe((function(){return e.videoState.setState(j.INITIAL_REPRESENTATION_SELECTED)}),n)).add(this.currentRepresentation$.pipe(t.filter(t.isNonNullable),t.filterChanged()).subscribe((function(t){e.dash.setQualityByRepresentation(t),e.params.output.hostname$.next(M(t.baseURL))}),n)).add(this.dashLiteEvents.idxRequestPing$.pipe(t.once()).subscribe(this.params.output.firstBytesEvent$)).add(this.dashLiteEvents.manifestReady$.subscribe(this.handleManifestReady,n)).add(this.dashLiteEvents.representationPlay$.pipe(t.filter(t.isNonNullable)).subscribe(this.handleRepresentationPlay,n)).add(t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)).subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.buffer.destroy(),this.dash.destroy()},e.prototype.prepare=function(){var e=this.params.source;switch(e.type){case"url":this.dash.attachSource(e.url);break;case"raw":this.dash.attachManifest(e.raw);break;default:return t.assertNever(e)}},e.prototype.seek=function(t){this.log({message:"[seek] position: "+t}),this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.dash.seek(t)},e.prototype.playIfAllowed=function(){var t=this;U(this.video).then((function(e){e||(t.videoState.setState(j.PAUSED),E(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e}(),ut=function(t){return t.range?t.range.split("-").map((function(t){return parseInt(t,10)})):[NaN,NaN]},dt=function(){function t(t){this.params=t,this.dashJsRequestQueue=new Map,this.activeRequests=new Map}return t.prototype.setMetrics=function(t){this.dashMetrics=t},t.prototype.queueDashJSRequest=function(t){var e,i=t.request.url,r=null!==(e=this.dashJsRequestQueue.get(i))&&void 0!==e?e:[];r.push(t),this.dashJsRequestQueue.set(i,r)},t.prototype.executeNextRequests=function(){return c(this,void 0,void 0,(function(){var t,e,i,r,a,n,s,o,u,d,c,f,v;return l(this,(function(l){try{for(t=p(this.dashJsRequestQueue.entries()),e=t.next();!e.done;e=t.next()){if(i=h(e.value,2),r=i[0],a=i[1],n=this.activeRequests.get(r)){if(a.length&&this.onBigRequestProgress(n),!(s=a[0])||!s.request.range)continue;if(o=h(ut(s.request),2),u=o[0],d=o[1],u>=n.from&&d<=n.to)continue;this.activeRequests.delete(r)}a.length&&(c=this.sendBigRequest(r,a.map((function(t){return t.request}))),this.activeRequests.set(r,c))}}catch(t){f={error:t}}finally{try{e&&!e.done&&(v=t.return)&&v.call(t)}finally{if(f)throw f.error}}return[2]}))}))},t.prototype.abort=function(t){var e,i,r;if(t){var a=t.request,n=(null!==(r=this.dashJsRequestQueue.get(a.url))&&void 0!==r?r:[]).includes(t),s=this.activeRequests.get(a.url);n&&s&&s.abortController.abort()}else try{for(var o=p(this.activeRequests.values()),u=o.next();!u.done;u=o.next()){u.value.abortController.abort()}}catch(t){e={error:t}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(e)throw e.error}}},t.prototype.destroy=function(){this.abort(),this.dashMetrics=void 0,this.dashJsRequestQueue.clear(),this.activeRequests.clear()},t.prototype.sendBigRequest=function(e,i){for(var r=this,a=i.map(ut),n=a[0][0],s=a[0][1],o=1;o<a.length&&s<this.params.minDataSize;o++){var u=a[o][1];u-n<=2*this.params.minDataSize&&(s=Math.max(s,u))}s=0===n?Math.max(s,n+this.params.minInitSize):Math.max(s,n+this.params.minDataSize);var d=new URL(e,location.href);d.searchParams.append("bytes",n+"-"+s);var p=d.toString(),f=new AbortController,v=f.signal,m={url:e,from:n,to:s,loaded:0,data:null,abortController:f};v.addEventListener("abort",(function(){return r.onBigRequestAbort(m)}));var S=function(t){var e,i;throw null===(i=(e=r.params).onError)||void 0===i||i.call(e,{id:"BigRequestParsing",message:"Error parsing response data",thrown:t}),t};return fetch(p,{signal:v}).then((function(e){var i,a,n;if(e.ok&&e.body){var s=h(e.body.tee(),2),o=s[0],u=s[1];null===(a=(i=r.params).onDownloadStream)||void 0===a||a.call(i,u);var d=o.getReader(),p=parseInt(null!==(n=e.headers.get("Content-Length"))&&void 0!==n?n:"",10);m.data=new ArrayBuffer(p);var f=new Uint8Array(m.data),v=function(e){var i=e.done,a=e.value;return c(r,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return i?(this.onBigRequestProgress(m),[3,3]):[3,1];case 1:return a?(f.set(a,m.loaded),m.loaded+=a.byteLength,this.onBigRequestProgress(m),[4,null==d?void 0:d.read().then(v,t.suppressStreamErrors).catch(S)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))};null==d||d.read().then(v,t.suppressStreamErrors).catch(S)}else r.onBigRequestError(m)}),t.suppressAbort).catch((function(t){return r.onBigRequestError(m,t)})),m},t.prototype.onBigRequestProgress=function(t){var e,i,r,a,n,s,o,u,d,c=t.url,l=t.from,f=t.to,v=t.loaded,m=t.data;if(this.activeRequests.has(c)&&m){var S=null!==(r=this.dashJsRequestQueue.get(c))&&void 0!==r?r:[],b=function(t){var e=t.request,i=h(ut(e),2),r=i[0],p=i[1],S=r>=l&&p<=l+v,b=l>=r&&l+v<p,g=m.slice(r-l,Math.min(p-l+1,v));(S||b)&&(e.requestStartDate=null!==(a=e.requestStartDate)&&void 0!==a?a:new Date,e.firstByteDate=null!==(n=e.firstByteDate)&&void 0!==n?n:new Date,e.bytesLoaded=g.byteLength,e.bytesTotal=f-l),S?(e.requestEndDate=new Date,y.dashJsRequestQueue.set(c,(null!==(s=y.dashJsRequestQueue.get(c))&&void 0!==s?s:[]).filter((function(e){return e!==t}))),null===(o=t.success)||void 0===o||o.call(t,g,"",c),null===(u=y.dashMetrics)||void 0===u||u.addHttpRequest(e,c,200,{},[])):b&&(null===(d=t.progress)||void 0===d||d.call(t,{loaded:v,total:f-l,lengthComputable:!0,stream:!0}))},y=this;try{for(var g=p(S),T=g.next();!T.done;T=g.next()){b(T.value)}}catch(t){e={error:t}}finally{try{T&&!T.done&&(i=g.return)&&i.call(g)}finally{if(e)throw e.error}}}},t.prototype.onBigRequestError=function(t,e){var i,r,a,n,s,o,u=t.url,d=t.from,c=t.to;if(null===(n=(a=this.params).onError)||void 0===n||n.call(a,{id:"BigRequest",message:"Download error",thrown:e}),this.activeRequests.has(u)){var l=null!==(s=this.dashJsRequestQueue.get(u))&&void 0!==s?s:[];try{for(var f=p(l),v=f.next();!v.done;v=f.next()){var m=v.value,S=h(ut(m.request),2),b=S[0],y=S[1];(b>=d&&b<c||y>d&&y<=c)&&(null===(o=null==m?void 0:m.error)||void 0===o||o.call(m,m.request,String(e)))}}catch(t){i={error:t}}finally{try{v&&!v.done&&(r=f.return)&&r.call(f)}finally{if(i)throw i.error}}if(this.activeRequests.delete(u),e)throw e}},t.prototype.onBigRequestAbort=function(t){var e,i,r,a,n=t.url,s=t.from,o=t.to;if(this.activeRequests.has(n)){var u=null!==(r=this.dashJsRequestQueue.get(n))&&void 0!==r?r:[];try{for(var d=p(u),c=d.next();!c.done;c=d.next()){var l=c.value,f=h(ut(l.request),2),v=f[0],m=f[1];(v>=s&&v<o||m>s&&m<=o)&&(null===(a=null==l?void 0:l.abort)||void 0===a||a.call(l,l.request))}}catch(t){e={error:t}}finally{try{c&&!c.done&&(i=d.return)&&i.call(d)}finally{if(e)throw e.error}}this.activeRequests.delete(n)}},t.suppressAbort=function(t){if(!(t instanceof DOMException)||"AbortError"!==t.name&&20!==t.code)throw t},t.suppressStreamErrors=function(){},t}(),ct=function(){function t(t,e,i){this.baseLoader=t,this.config=i,this.bigRequest=e,e.setMetrics(i.dashMetrics)}return t.shouldDelegateToBase=function(t){return"download"!==t.action||"text"===t.mediaType||!t.range||"arraybuffer"!==t.responseType},t.prototype.load=function(e){var i=e.request;if(t.shouldDelegateToBase(i))return this.baseLoader.load(e);this.bigRequest.queueDashJSRequest(e),this.bigRequest.executeNextRequests()},t.prototype.abort=function(e){if(!e)return this.baseLoader.abort(),void this.bigRequest.abort();var i=e.request;t.shouldDelegateToBase(i)?this.baseLoader.abort(e):this.bigRequest.abort(e)},t}(),lt=function(t,e){var i=new dt(e);return t.extend("SchemeLoaderFactory",(function(){var t=this.parent.getLoader;return{getLoader:function(e){return function(t,e){return function(i){return{create:function(r){var a=t(i).create(r);return new ct(a,e,r)}}}}(t(e),i)}}}),!0),function(){return i.destroy()}},pt=function(e){var i=new t.ValueSubject(1/0),r=new t.Subject,a=NaN,n=!1,s=function(e){var r,a,n;if(e.getAllResponseHeaders().includes("x-playback-duration")){var s=parseInt(null!==(r=e.getResponseHeader("X-Playback-Duration"))&&void 0!==r?r:"",10),o=parseInt(null!==(a=e.getResponseHeader("X-Playback-Duration-Millis"))&&void 0!==a?a:"",10),u=null!==(n=null!=o?o:1e3*s)&&void 0!==n?n:NaN;t.isNonNullable(u)&&!isNaN(u)&&i.next(u)}},o=function(t){t.readyState>=2&&!n&&(n=!0,r.next(Date.now()-a))};return e.extend("XHRLoader",(function(){var t=this.parent,e=t.load.bind(t);return{load:function(t){if("MPD"===t.request.type){var i=t.onload,r=t.progress;t.onload=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return s(this),i.apply(void 0,f([],h(t),!1))},t.progress=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o(this),r.apply(void 0,f([],h(t),!1))},a=Date.now(),n=!1}return e(t)}}}),!0),{playbackDuration$:i,ping$:r}},ht=function(){function t(){this.pausedTime=0,this.streamOffset=0,this.pauseTimestamp=0}return t.prototype.getTotalPausedTime=function(){return this.pausedTime+this.getCurrentPausedTime()},t.prototype.getCurrentPausedTime=function(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0},t.prototype.getStreamOffset=function(){return this.streamOffset},t.prototype.getTotalOffset=function(){return this.getTotalPausedTime()+this.streamOffset},t.prototype.pause=function(){0===this.pauseTimestamp&&(this.pauseTimestamp=Date.now())},t.prototype.resume=function(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)},t.prototype.resetTo=function(t){this.streamOffset=t,this.pauseTimestamp=0,this.pausedTime=0},t}(),ft={};!function(t){t.DOWNLOADING_LIB="downloading_lib",t.STOPPED="stopped",t.STREAM_INITIALIZED="stream_initialized",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(nt||(nt={}));var vt=function(e,i){return new t.Observable((function(t){var r=function(e){return t.next(e)};return e.on(i,r),function(){return e.off(i,r)}}))},mt=function(){function e(e){var i=this;this.subscription=new t.Subscription,this.videoState=new N(nt.DOWNLOADING_LIB),this.textTracksManager=new V,this.videoTracks=[],this.isLive$=new t.ValueSubject(void 0),this.maxSeekBackTime$=new t.ValueSubject(1/0),this.availableFrom$=new t.ValueSubject(void 0),this.liveOffset=new ht,this.syncPlayback=function(){var e=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition(),s=i.isLive$.getValue();if(!i.videoState.getTransition()&&e!==nt.DOWNLOADING_LIB&&e!==nt.STREAM_INITIALIZED){var o=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(o)&&e!==nt.STOPPED&&r!==exports.PlaybackState.STOPPED&&(s?i.seek(o+St(i.liveOffset.getTotalPausedTime())):i.seek(o)),r){case exports.PlaybackState.STOPPED:switch(e){case nt.STOPPED:break;case nt.PLAYING:case nt.PAUSED:case nt.READY:i.stop();break;default:t.assertNever(e)}break;case exports.PlaybackState.PLAYING:switch(e){case nt.PLAYING:break;case nt.PAUSED:s&&(i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.params.output.position$.next(St(i.liveOffset.getTotalOffset()))):i.seek(St(i.liveOffset.getTotalOffset()))),i.play();break;case nt.READY:i.play();break;case nt.STOPPED:i.prepare();break;default:t.assertNever(e)}break;case exports.PlaybackState.PAUSED:switch(e){case nt.PLAYING:i.pause(),i.liveOffset.pause();break;case nt.PAUSED:break;case nt.READY:i.videoState.setState(nt.PAUSED),E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case nt.STOPPED:i.prepare();break;default:t.assertNever(e)}break;default:t.assertNever(r)}}},this.video=B(e.container),this.params=e,this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(M(this.params.source.url)),this.loadDashJs()}return e.prototype.loadDashJs=function(){var t=this,e=!1,r=function(i){var r,a;e||t.params.output.error$.next({id:"timeout"===i?"DashJSTimedOut":"DashJSLoadingError",message:"Dash.js failed to load: "+(null===(a=null===(r=i)||void 0===r?void 0:r.toString)||void 0===a?void 0:a.call(r)),thrown:i}),e=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("dashjs/dist/dash.mediaplayer.min.js"))})).then((function(i){e||(ft.MediaPlayer=i.MediaPlayer,ft.Debug=i.Debug,t.init())}),r).finally((function(){window.clearTimeout(a),e=!0}))},e.prototype.init=function(){var e=this;t.assertNonNullable(ft.MediaPlayer,"dashjs not loaded"),t.assertNonNullable(ft.Debug,"dashjs not loaded"),this.player=ft.MediaPlayer().create(),this.player.updateSettings({debug:{logLevel:3},streaming:{buffer:{fastSwitchEnabled:!0},abr:{limitBitrateByPortal:this.params.tuning.autoTrackSelection.limitByContainer,usePixelRatioInLimitBitrateByPortal:this.params.tuning.autoTrackSelection.usePixelRatio,additionalAbrRules:{insufficientBufferRule:!1}},utcSynchronization:{useManifestDateHeaderTimeSource:!0}}}),(this.params.format===exports.VideoFormat.DASH_WEBM||this.params.format===exports.VideoFormat.DASH_LIVE_WEBM)&&this.params.tuning.useWebmBigRequest?this.destroyBigRequest=lt(this.player,{minInitSize:this.params.tuning.bigRequestMinInitSize,minDataSize:this.params.tuning.bigRequestMinDataSize,onError:function(t){return e.params.output.error$.next(t)},onDownloadStream:function(t){return e.params.dependencies.throughputEstimator.stream$.next(t)}}):this.params.tuning.stripRangeHeader&&this.player.extend("HTTPLoader",(function(){var t=this.parent.load;return{load:function(e){if(e.request&&e.request.range){var i=h(e.request.range.split("-").map((function(t){return parseInt(t,10)})),2),r=i[0],a=i[1],n=new URL(e.request.url,location.href);n.searchParams.append("bytes",r+"-"+a),e.request.url=n.toString(),e.request.range=void 0}t(e)}}}),!0),this.player.clearDefaultUTCTimingSources(),this.subscribe(),this.videoState.setState(nt.STOPPED)},e.prototype.subscribe=function(){var e=this,i=this.params,r=i.output,a=i.desiredState,n=function(t){r.error$.next({id:"DashIFProvider",message:"DashIFProvider internal logic error",thrown:t})},s=function(t,i){return e.subscription.add(t.subscribe(i,n))};s(vt(this.player,"error").pipe(t.map((function(t){return{id:"DashJS#"+("object"==typeof t.error?t.error.code:t.error),message:"object"==typeof t.error?t.error.message:void 0}}))),r.error$),s(vt(this.player,"playbackError").pipe(t.map((function(t){return{id:"DashJSPlayback",message:t.error}}))),r.error$);var o=vt(this.player,"qualityChangeRendered").pipe(t.filter((function(t){return"video"===t.mediaType})),t.map((function(t){var i,r=t.newQuality;return null===(i=e.videoTracks.find((function(t){return t.bitrateInfo.qualityIndex===r})))||void 0===i?void 0:i.track})));o.pipe(t.filter(t.isNonNullable)).subscribe(r.currentVideoTrack$),this.subscription.add(this.videoState.transitionEnded$.pipe(t.filter((function(t){return t.to===nt.STREAM_INITIALIZED})),t.once()).subscribe((function(){e.subscription.add(I(a.videoTrack,(function(){var t,i,r=e.player.getQualityFor("video");return null===(i=null===(t=e.videoTracks.find((function(t){return t.bitrateInfo.qualityIndex===r})))||void 0===t?void 0:t.track)||void 0===i?void 0:i.id}),(function(i){var r;if(!t.isNullable(i)){var a=null===(r=e.videoTracks.find((function(t){return t.track.id===i})))||void 0===r?void 0:r.bitrateInfo;a&&e.player.setQualityFor("video",a.qualityIndex)}}),{changed$:o.pipe(t.map((function(t){return null==t?void 0:t.id}))),onError:n}))}),n)),this.subscription.add(I(a.autoVideoTrackSwitching,(function(){var t,i,r;return null===(r=null===(i=null===(t=e.player.getSettings().streaming)||void 0===t?void 0:t.abr)||void 0===i?void 0:i.autoSwitchBitrate)||void 0===r?void 0:r.video}),(function(t){return e.player.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:t}}}})}),{onError:n})),s(vt(this.player,"bufferStateChanged").pipe(t.filter((function(t){return"video"===t.mediaType})),t.map((function(t){return"bufferStalled"===t.state}))),r.isBuffering$),s(vt(this.player,"fragmentLoadingStarted").pipe(t.map((function(t){return M(t.request.url)}))),r.hostname$),s(vt(this.player,"streamInitialized"),(function(t){var i,a,n=t.streamInfo,s=n.duration,o=n.manifestInfo,u=o.isDynamic,d=o.availableFrom;e.isLive$.next(u),e.availableFrom$.next(d.getTime()),u||r.duration$.next(s),e.videoTracks=[];var c,l=e.player.getQualityFor("video");try{for(var h=p(e.player.getBitrateInfoListFor("video")),f=h.next();!f.done;f=h.next()){var v=f.value,m=v.qualityIndex.toString(10),S=$(v),b=v.bitrate/1e3,y={width:v.width,height:v.height};if(S){var g={id:m,quality:S,bitrate:b,size:y};e.videoTracks.push({track:g,bitrateInfo:v}),v.qualityIndex===l&&(c=g)}}}catch(t){i={error:t}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}r.availableVideoTracks$.next(e.videoTracks.map((function(t){return t.track}))),c&&r.currentVideoTrack$.next(c),e.videoState.setState(nt.STREAM_INITIALIZED),e.videoState.startTransitionTo(nt.READY)})),s(vt(this.player,"fragmentLoadingCompleted"),(function(t){var i=t.request;if(i.requestEndDate&&i.firstByteDate&&i.bytesLoaded){var r=i.requestEndDate.getTime()-i.firstByteDate.getTime(),a=i.bytesLoaded;e.params.dependencies.throughputEstimator.rawSpeed$.next({time:r,size:a})}})),s(this.params.dependencies.throughputEstimator.estimation$,(function(t){if(e.params.desiredState.autoVideoTrackSwitching.getState()&&e.videoTracks.length){var i=tt(e.videoTracks.map((function(t){return t.track})),{container:{width:e.video.offsetWidth,height:e.video.offsetHeight},throughput:t,tuning:e.params.tuning.autoTrackSelection}),r=e.videoTracks.find((function(t){return t.track===i}));(null==r?void 0:r.bitrateInfo)&&e.player.setQualityFor("video",null==r?void 0:r.bitrateInfo.qualityIndex,!1)}})),s(t.combine({maxSeekBackTime:this.maxSeekBackTime$,isLive:this.isLive$.pipe(t.filter(t.isNonNullable))}).pipe(t.filter((function(t){return t.isLive})),t.map((function(t){var e=t.maxSeekBackTime;return St(e)}))),this.params.output.duration$);var u=vt(this.player,"playbackTimeUpdated").pipe(t.map((function(t){var e=t.time;return null!=e?e:0})));s(t.combine({availableFrom:this.availableFrom$.pipe(t.filter(t.isNonNullable)),currentTime:u}),(function(t){var i=t.availableFrom,r=t.currentTime;return e.params.output.liveTime$.next(i+1e3*r)})),s(u.pipe(t.filter((function(){return!1===e.isLive$.getValue()}))),r.position$),s(vt(this.player,"playbackSeeked"),(function(){return a.seekPosition.setState(void 0)})),s(vt(this.player,"playbackEnded"),r.endedEvent$),s(vt(this.player,"playbackProgress").pipe(t.map((function(){return H(e.video.buffered,e.video.currentTime)}))),r.currentBuffer$),s(vt(this.player,"playbackPlaying"),(function(){e.videoState.setState(nt.PLAYING),E(a.playbackState,exports.PlaybackState.PLAYING)})),s(vt(this.player,"playbackNotAllowed"),(function(){e.player.isMuted()?(e.player.setMute(!1),e.videoState.setState(nt.PAUSED),E(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)):(e.player.setMute(!0),e.player.play())})),s(vt(this.player,"playbackPaused"),(function(){e.videoState.setState(nt.PAUSED),E(a.playbackState,exports.PlaybackState.PAUSED)})),s(vt(this.player,"canPlay"),(function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===nt.READY&&e.videoState.setState(nt.READY)})),s(this.isLive$,r.isLive$),s(et(this.video),(function(){e.player.isReady()&&e.player.updatePortalSize()})),s(t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)),this.syncPlayback);var d=pt(this.player),c=d.playbackDuration$,l=d.ping$;s(c,this.maxSeekBackTime$),s(l.pipe(t.once()),r.firstBytesEvent$),this.params.tuning.flushShortLoopedBuffers&&s(t.combine({isLive:this.isLive$,isShort:r.duration$.pipe(t.map((function(t){return t<30}))),isLooped:a.isLooped.stateChangeEnded$.pipe(t.map((function(t){return t.to})))}),(function(t){var i=t.isLive,r=t.isShort,a=t.isLooped,n=!i&&r&&a;e.player.updateSettings({streaming:{buffer:{flushBufferAtTrackSwitch:n}}})})),s(u.pipe(t.filter((function(t){return t>e.params.tuning.insufficientBufferRuleMargin})),t.once()),(function(){return e.player.updateSettings({streaming:{abr:{additionalAbrRules:{insufficientBufferRule:!0}}}})})),this.textTracksManager.connect(this.video,a,r),this.subscription.add(vt(this.player,"manifestLoaded").pipe(t.once()).subscribe((function(){var i=Date.now();e.subscription.add(vt(e.player,"playbackPlaying").pipe(t.once()).subscribe((function(){return r.firstFrameEvent$.next(Date.now()-i)}),n))}),n)),this.subscription.add(L(this.video,a.isLooped,n));var h=Y(this.video).volumeState$;this.subscription.add(C(this.video,a.volume,h,n)),this.subscription.add(h.subscribe(r.volume$,n))},e.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.player.attachSource(null),this.player.attachView(null),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.videoState.setState(nt.STOPPED),E(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},e.prototype.prepare=function(){this.videoState.startTransitionTo(nt.STREAM_INITIALIZED),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.player.attachView(this.video),this.player.attachSource(this.params.source.url)},e.prototype.seek=function(t){if(this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.isLive$.getValue()){var e=-Math.round(1e3*t),i=e<this.maxSeekBackTime$.getValue()?e:0;this.liveOffset.resetTo(i),this.params.output.position$.next(St(i));var r=T(this.params.source.url,this.liveOffset.getTotalOffset()/1e3,v.PLAYBACK_SHIFT);this.player.attachSource(r)}else this.player.seek(t)},e.prototype.play=function(){this.videoState.startTransitionTo(nt.PLAYING),this.player.play()},e.prototype.pause=function(){this.videoState.startTransitionTo(nt.PAUSED),this.video.pause()},e.prototype.destroy=function(){var t,e;this.subscription.unsubscribe(),this.textTracksManager.destroy();try{null===(t=this.player)||void 0===t||t.destroy()}catch(t){}this.video.remove(),this.params.output.element$.next(void 0),null===(e=this.destroyBigRequest)||void 0===e||e.call(this)},e}(),St=function(t){return-t/1e3};function bt(){return window.performance?window.performance.now():Date.now()}function yt(t){return bt()-t}function gt(t){var e=t.split("/"),i=e.slice(0,e.length-1).join("/"),r=/^([a-z]+:)?\/\//i;return{resolve:function(t,e,a){void 0===a&&(a=!1),function(t){return r.test(t)}(t)||(t.startsWith("/")||(t="/"+t),t=i+t);var n=t.indexOf("?")>-1?"&":"?";return a&&(t+=n+"lowLat=1",n="&"),e&&(t+=n+"_rnd="+Math.floor(999999999*Math.random())),t}}}function Tt(e,i,r,a){var n,s,o,u,d,c=window.XMLHttpRequest,l=!1,p=0,h=!1,f="arraybuffer",v=7e3,m=2e3,S=function(){if(!l){t.assertNonNullable(u);var e=yt(u);e<m?setTimeout(S,m-e):((m*=2)>v&&(m=v),s&&s.abort(),s=new c,y())}},b=function(){if(!l){if(--p>=0)return S(),void(a&&a());l=!0,d&&d(),r&&r()}},y=function(){u=bt(),(s=new c).open("get",e);var r,a=0,p=0,v=function(){return t.assertNonNullable(u),Math.max(u,Math.max(r||0,p||0))};if(n&&s.addEventListener("progress",(function(t){var e=bt();n.updateChunk&&t.loaded>a&&(n.updateChunk(v(),t.loaded-a),a=t.loaded,r=e)})),o&&(s.timeout=o,s.addEventListener("timeout",(function(){return b()}))),s.addEventListener("load",(function(){if(!l){t.assertNonNullable(s);var e=s.status;if(e>=200&&e<300){if(s.response.byteLength&&n){var r=s.response.byteLength-a;r&&n.updateChunk&&n.updateChunk(v(),r)}d&&d(),s&&i(s.response)}else b()}})),s.addEventListener("error",(function(){b()})),h){var m=function(){t.assertNonNullable(s),s.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(p=bt(),s.removeEventListener("readystatechange",m))};s.addEventListener("readystatechange",m)}return s.responseType=f,s.send(),g},g={withBitrateReporting:function(t){return n=t,g},withParallel:function(t){return h=t,g},withJSONResponse:function(){return f="json",g},withRetryCount:function(t){return p=t,g},withRetryInterval:function(e,i){return t.isNonNullable(e)&&(m=e),t.isNonNullable(i)&&(v=i),g},withTimeout:function(t){return o=t,g},withFinally:function(t){return d=t,g},send:y,abort:function(){s&&(s.abort(),s=void 0),l=!0,d&&d()}};return g}var Et,Pt=function(){function t(t){this.intervals=[],this.currentRate=0,this.logger=t}return t.prototype._updateRate=function(t){var e=.2;this.currentRate&&(t<.1*this.currentRate?e=.8:t<.5*this.currentRate?e=.5:t<.7*this.currentRate&&(e=.3)),t=Math.max(1,Math.min(t,104857600)),this.currentRate=this.currentRate?this.currentRate*(1-e)+t*e:t},t.prototype._createInterval=function(t,e,i){return{start:t,end:e,bytes:i}},t.prototype._doMergeIntervals=function(t,e){t.start=Math.min(e.start,t.start),t.end=Math.max(e.end,t.end),t.bytes+=e.bytes},t.prototype._mergeIntervals=function(t,e){return t.start<=e.end&&e.start<=t.end&&(this._doMergeIntervals(t,e),!0)},t.prototype._flushIntervals=function(){if(!this.intervals.length)return!1;var t=this.intervals[0].start,e=this.intervals[this.intervals.length-1].end-500;if(e-t>2e3){for(var i=0,r=0;this.intervals.length>0;){var a=this.intervals[0];if(a.end<=e)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=e)break;var n=e-a.start,s=a.end-a.start;i+=n;var o=a.bytes*n/s;r+=o,a.start=e,a.bytes-=o}}if(r>0&&i>0){var u=8*r/(i/1e3);return this._updateRate(u),this.logger("rate updated, new="+Math.round(u/1024)+"K; average="+Math.round(this.currentRate/1024)+"K bytes/ms="+Math.round(r)+"/"+Math.round(i)+" interval="+Math.round(e-t)),!0}}return!1},t.prototype._joinIntervals=function(){var t;do{t=!1;for(var e=0;e<this.intervals.length-1;++e)this._mergeIntervals(this.intervals[e],this.intervals[e+1])&&(this.intervals.splice(e+1,1),t=!0)}while(t)},t.prototype.addInterval=function(t,e,i){return this.intervals.push(this._createInterval(t,e,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger("too many intervals ("+this.intervals.length+"); will merge",{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()},t.prototype.getBitRate=function(){return this.currentRate},t}(),kt=function(){function t(t,e,i,r,a){this.pendingQueue=[],this.activeRequests={},this.completeRequests={},this.averageSegmentDuration=2e3,this.lastPrefetchStart=0,this.throttleTimeout=null,this.RETRY_COUNT=t,this.TIMEOUT=e,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}return t.prototype.limitCompleteCount=function(){for(var t;(t=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){var e=t[Math.floor(Math.random()*t.length)];this.logger("Dropping completed request for url "+e,{type:"warn"}),delete this.completeRequests[e]}},t.prototype._sendRequest=function(t,e){var i=this,r=bt();t._request=Tt(e,(function(a){t._complete=1,t._responseData=a,t._downloadTime=bt()-r,delete i.activeRequests[e],i._sendPending(),t._cb?t._cb(a,t._downloadTime):(i.limitCompleteCount(),i.completeRequests[e]=t)}),(function(){return r="error",delete i.activeRequests[e],i.limitCompleteCount(),i.completeRequests[e]=t,i._sendPending(),t._error=1,t._errorMsg=r,void(t._errorCB?t._errorCB(r):(i.limitCompleteCount(),i.completeRequests[e]=t));var r}),(function(){t._retry=1,t._retryCB&&t._retryCB()})),t._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally((function(){t._finallyCB&&t._finallyCB()})),this.activeRequests[e]=t,t._request.send(),this.lastPrefetchStart=bt()},t.prototype._getParallelRequestCount=function(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)},t.prototype._getPrefetchDelay=function(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))},t.prototype._canSendPending=function(){var t=this,e=this._getParallelRequestCount(),i=bt();if(Object.keys(this.activeRequests).length>=e)return!1;var r=this._getPrefetchDelay()-(i-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),!(r>0)||(this.throttleTimeout=window.setTimeout((function(){return t._sendPending()}),r),!1)},t.prototype._sendPending=function(){for(;this._canSendPending();){var t=this.pendingQueue.pop();if(!t)return;this.activeRequests[t]||this.completeRequests[t]||(this.logger("Submitting pending request url="+t),this._sendRequest({},t))}},t.prototype._removeFromActive=function(t){delete this.completeRequests[t],delete this.activeRequests[t]},t.prototype.abortAll=function(){Object.values(this.activeRequests).forEach((function(t){t&&t._request&&t._request.abort()})),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}},t.prototype.requestData=function(t,e,i,r){var a=this,n={send:function(){var s=a.activeRequests[t]||a.completeRequests[t];if(s)s._cb=e,s._errorCB=i,s._retryCB=r,s._finallyCB=n._finallyCB,s._error||s._complete?(a._removeFromActive(t),setTimeout((function(){s._complete?(a.logger("Requested url already prefetched, url="+t),e(s._responseData,s._downloadTime)):(a.logger("Requested url already prefetched with error, url="+t),i(s._errorMsg)),n._finallyCB&&n._finallyCB()}),0)):a.logger("Attached to active request, url="+t);else{var o=a.pendingQueue.indexOf(t);-1!==o&&a.pendingQueue.splice(o,1),a.logger("Request not prefetched, starting new request, url="+t+(-1===o?"":"; removed pending")),a._sendRequest(n,t)}}};return n._cb=e,n._errorCB=i,n._retryCB=r,n.abort=function(){n.request&&n.request.abort()},n.withFinally=function(t){return n._finallyCB=t,n},n},t.prototype.prefetch=function(t){this.activeRequests[t]||this.completeRequests[t]?this.logger("Request already active for url="+t):(this.logger("Added to pending queue; url="+t),this.pendingQueue.unshift(t),this._sendPending())},t.prototype.optimizeForSegDuration=function(t){this.averageSegmentDuration=t},t}(),xt=function(){function e(t){this.paused=!1,this.autoQuality=!0,this.buffering=!0,this.destroyed=!1,this.videoPlayStarted=!1,this.lowLatency=!1,this.bitrate=0,this.manifest=[],this.sourceBuffer=0,this.bufferStates=[],this.sourceJitter=-1,this.params=t,this.chunkRateEstimator=new Pt(this.params.logger),this._initVideo()}return e.prototype.attachSource=function(t){this.manifestUrl=t,this.urlResolver=gt(t),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()},e.prototype.setAutoQualityEnabled=function(t){this.autoQuality=t},e.prototype.switchByName=function(t){for(var e,i=0;i<this.manifest.length;++i)if((e=this.manifest[i]).name===t)return void this._switchToQuality(e)},e.prototype.catchUp=function(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))},e.prototype.stop=function(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)},e.prototype.pause=function(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)},e.prototype.play=function(t){this.paused=!1;var e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement(t):this._notifyBuffering(!0)):this.catchUp()},e.prototype.startPlay=function(t,e){this.autoQuality=e,this._initPlayerWith(t)},e.prototype.destroy=function(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)},e.prototype.reinit=function(t){this.manifestUrl=t,this.urlResolver=gt(t),this.catchUp()},e.prototype._handleNetworkError=function(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})},e.prototype._retryCallback=function(){this.params.playerCallback({name:"retry"})},e.prototype._getBufferSizeSec=function(){var t=this.params.videoElement,e=0,i=t.buffered.length;return 0!==i&&(e=t.buffered.end(i-1)-Math.max(t.currentTime,t.buffered.start(0))),e},e.prototype._notifyBuffering=function(t){this.destroyed||(this.params.logger("buffering: "+t),this.params.playerCallback({name:"buffering",isBuffering:t}),this.buffering=t)},e.prototype._initVideo=function(){var t=this,e=this.params,i=e.videoElement,r=e.logger;i.addEventListener("error",(function(e){var a;t.destroyed||(r("Video element error: "+(null===(a=i.error)||void 0===a?void 0:a.code)),t.params.playerCallback({name:"error",type:"media"}))})),i.addEventListener("timeupdate",(function(){var e=t._getBufferSizeSec();!t.paused&&e<.3?t.buffering||(t.buffering=!0,window.setTimeout((function(){!t.paused&&t.buffering&&t._notifyBuffering(!0),i.pause(),t.videoPlayStarted=!1}),1e3*(e+.1))):t.buffering&&t.videoPlayStarted&&t._notifyBuffering(!1)})),i.addEventListener("playing",(function(){r("playing")})),i.addEventListener("stalled",(function(){return t._fixupStall()})),i.addEventListener("waiting",(function(){return t._fixupStall()}))},e.prototype._fixupStall=function(){var t,e=this.params,i=e.logger,r=e.videoElement,a=r.buffered.length;0!==a&&(t=r.buffered.start(a-1),r.currentTime<t&&(i("Fixup stall"),r.currentTime=t))},e.prototype._selectQuality=function(t){for(var e,i,r,a=this.params.videoElement,n=a&&1.62*(window.devicePixelRatio||1)*a.offsetHeight||520,s=0;s<this.manifest.length;++s)(r=this.manifest[s]).bitrate<t&&n>Math.min(r.video.height,r.video.width)?(!i||r.bitrate>i.bitrate)&&(i=r):(!e||e.bitrate>r.bitrate)&&(e=r);return i||e},e.prototype.shouldPlay=function(){if(this.paused)return!1;var e=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return e>3||t.isNonNullable(this.downloadRate)&&(this.downloadRate>1.5&&e>2||this.downloadRate>2&&e>1)},e.prototype._setVideoSrc=function(e,i){var r=this,a=this.params,n=a.logger,s=a.videoElement,o=a.playerCallback;this.mediaSource=new window.MediaSource,n("setting video src"),s.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",(function(){t.assertNonNullable(r.mediaSource),r.sourceBuffer=r.mediaSource.addSourceBuffer(e.codecs),r.bufferStates=[],i()})),this.videoPlayStarted=!1,s.addEventListener("canplay",(function(){r.shouldPlay()&&(r.videoPlayStarted=!0,r._playVideoElement())}));var u=function(){var t,e,i,r;e="progress",i=function(){s.buffered.length?(s.currentTime=s.buffered.start(0),o({name:"playing"})):u()},r=function(){for(var a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];i.apply(null,a),t.removeEventListener(e,r)},(t=s).addEventListener(e,r)};u()},e.prototype._initPlayerWith=function(t){var e=this;this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new kt(3,1e4,this.bitrateSwitcher,this.params.config.MAX_PARALLEL_REQUESTS,this.params.logger),this._setVideoSrc(t,(function(){return e._switchToQuality(t)}))},e.prototype._representation=function(e){var i=this,r=this.params,a=r.logger,n=r.videoElement,s=r.playerCallback,o=!1,u=null,d=null,c=null,l=null,p=!1,h=function(){var t=o&&(!p||p===i.rep);return t||a("Not running!"),t},f=function(t){var e=n.playbackRate;n.playbackRate!==t&&(a("Playback rate switch: "+e+"=>"+t),n.playbackRate=t)},v=function(){if(i.lowLatency){var t=i._getBufferSizeSec();if(i.bufferStates.length<5)return void f(1);for(var e=bt()-6e4,r=0,n=0;n<i.bufferStates.length;n++){var s=i.bufferStates[n];t=Math.min(t,s.buf),s.ts<e&&r++}i.bufferStates.splice(0,r),a("update playback rate; minBuffer="+t+" drop="+r+" jitter="+i.sourceJitter);var o=t-1;i.sourceJitter>=0?o-=i.sourceJitter/2:i.sourceJitter-=1,f(o>3?1.15:o>1?1.1:o>.3?1.01:1)}else f(1)},m=function(e){var r,n=function(){return r&&r.start?r.start.length:0},o=function(t){return r.start[t]/1e3},u=function(t){return r.dur[t]/1e3},d=function(t){return r.fragIndex+t},c=function(t,e){return{chunkIdx:d(t),startTS:o(t),dur:u(t),discontinuity:e}},p=function(){var t=0;if(r&&r.dur){var e=Math.max(i.sourceJitter,1);for(i.lowLatency||(e+=2),t=r.dur.length-1;t>=0&&!((e-=r.dur[t]/1e3)<=0);--t);}return c(t,!0)};return{seek:function(u,d){!function(t,e,r){l&&l.abort(),l=Tt(i.urlResolver.resolve(t,!0,i.lowLatency),e,r,(function(){return i._retryCallback()})).withTimeout(1e4).withRetryCount(3).withFinally((function(){l=null})).withJSONResponse().send()}(e,(function(e){if(h()){r=e;var l,f=Boolean(r.lowLatency);f!==i.lowLatency&&(l=f,i.lowLatency=l,a("lowLatency changed to "+l),v());for(var m=0,S=0;S<r.dur.length;++S)m+=r.dur[S];m>0&&(t.assertNonNullable(i.filesFetcher),i.filesFetcher.optimizeForSegDuration(m/r.dur.length)),s({name:"index",zeroTime:r.zeroTime,shiftDuration:r.shiftDuration}),i.sourceJitter=r.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,r.jitter/1e3)):1,u(function(e){var i=n();if(!(i<=0)){if(t.isNonNullable(e))for(var r=0;r<i;r++)if(o(r)>e)return c(r);return p()}}(d))}}),(function(){return i._handleNetworkError()}))},nextChunk:function(t){var e=n(),i=t?t.chunkIdx+1:0,s=i-r.fragIndex;if(!(e<=0)){if(!t||s<0||s-e>10)return a("Resync: offset="+s+" bChunks="+e+" chunk="+JSON.stringify(t)),p();if(!(s>=e))return c(i-r.fragIndex,!1)}}}},S=function(){o=!1,d&&d.abort(),c&&c.abort(),l&&l.abort(),t.assertNonNullable(i.filesFetcher),i.filesFetcher.abortAll()};return p={start:function(r){var a,n,s,p,f,b,y,g,T,E,P=i.params,k=P.videoElement,x=P.logger,w=m(e.jidxUrl),A=0,$=function(){f&&(clearTimeout(f),f=void 0);var t=Math.max(500,1e3*(i._getBufferSizeSec()-i.sourceJitter-5)),e=A+t,r=bt(),a=Math.min(1e4,e-r);A=r;var n=function(){l||h()&&w.seek((function(){h()&&(A=bt(),_(),$())}))};a>0?f=window.setTimeout((function(){i.paused?$():n()}),a):n()},_=function(){for(var t;t=w.nextChunk(p);)p=t,L(t);var r=w.nextChunk(s);if(r){if(s&&r.discontinuity)return x("Detected discontinuity; restarting playback"),void(i.paused?$():(S(),i._initPlayerWith(e)));I(r)}else $()},N=function(t,e){if(h()&&i.sourceBuffer){var r,a,n=function(i){window.setTimeout((function(){h()&&N(t,e)}),i)};if(i.sourceBuffer.updating)x("Source buffer is updating; delaying appendBuffer"),n(100);else{var s=bt(),o=k.currentTime;!i.paused&&k.buffered.length>1&&b===o&&s-y>500&&(x("Stall suspected; trying to fix"),i._fixupStall()),b!==o&&(b=o,y=s);var u=i._getBufferSizeSec();if(u>30)x("Buffered "+u+" seconds; delaying appendBuffer"),n(2e3);else try{i.sourceBuffer.appendBuffer(t),i.videoPlayStarted?(i.bufferStates.push({ts:s,buf:u}),v(),i.bufferStates.length>200&&i.bufferStates.shift()):i.shouldPlay()&&(i.videoPlayStarted=!0,i._playVideoElement()),e&&e()}catch(t){if("QuotaExceededError"!==t.name)throw t;x("QuotaExceededError; delaying appendBuffer"),0!==i.sourceBuffer.buffered.length&&(a=o)-(r=i.sourceBuffer.buffered.start(0))>4&&i.sourceBuffer.remove(r,a-3),n(1e3)}}}},D=function(){n&&a&&(x(["Appending chunk, sz="+n.byteLength+":",JSON.stringify(s)]),N(n,(function(){n=null,_()})))},R=function(t){return e.fragUrlTemplate.replace("%%id%%",t.chunkIdx)},I=function(e){var r,a,o;h()&&(r=R(e),a=function(t,r){if(h()){if(r/=1e3,n=t,s=e,u=e.startTS,r){var a=Math.min(10,e.dur/r);i.downloadRate=i.downloadRate?.7*i.downloadRate+.3*a:a}D()}},o=function(){return i._handleNetworkError()},t.assertNonNullable(i.filesFetcher),null==d||d.abort(),d=i.filesFetcher.requestData(i.urlResolver.resolve(r,!1),a,o,(function(){return i._retryCallback()})).withFinally((function(){d=null})).send())},L=function(e){h()&&(t.assertNonNullable(i.filesFetcher),i.filesFetcher.prefetch(i.urlResolver.resolve(R(e),!1)))},C=function(t){h()&&(e.cachedHeader=t,N(t,(function(){a=!0,D()})))};o=!0,w.seek((function(e){h()&&(A=bt(),e?(p=e,!t.isNullable(r)||e.startTS>r?I(e):(s=e,_())):$())}),r),e.cachedHeader?C(e.cachedHeader):(g=e.headerUrl,T=C,E=function(){return i._handleNetworkError()},c&&c.abort(),c=Tt(i.urlResolver.resolve(g,!1),T,E,(function(){return i._retryCallback()})).withTimeout(1e4).withBitrateReporting(i.bitrateSwitcher).withRetryCount(3).withFinally((function(){c=null})).send())},stop:S,getTimestampSec:function(){return u}}},e.prototype._switchToQuality=function(e){var i,r=this.params,a=r.logger,n=r.playerCallback;e.bitrate!==this.bitrate&&(this.rep&&(i=this.rep.getTimestampSec(),t.isNonNullable(i)&&(i+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),a("switch to quality: codecs="+e.codecs+"; headerUrl="+e.headerUrl+"; bitrate="+e.bitrate),this.bitrate=e.bitrate,t.assertNonNullable(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(i),n({name:"qualitySwitch",quality:e}))},e.prototype._qualityAvailable=function(e){return t.isNonNullable(this.manifest.find((function(t){return t.name===e})))},e.prototype._initBitrateSwitcher=function(){var t,e=this,i=this.params,r=i.logger,a=i.playerCallback,n={updateChunk:function(t,i){var r=bt();if(e.chunkRateEstimator.addInterval(t,r,i)){var n=e.chunkRateEstimator.getBitRate();return a({name:"bandwidth",size:i,duration:r-t,speed:n}),!0}},get:function(){var t=e.chunkRateEstimator.getBitRate();return t?.85*t:0}},s=-1/0,o=!0,u=function(){var i=n.get();if(i&&t&&e.autoQuality){if(o&&i>t&&yt(s)<3e4)return;!function(t){var i,a,n;e.autoQuality&&(e.currentManifestEntry&&e._qualityAvailable(e.currentManifestEntry.name)&&t<e.bitrate&&(a=e._getBufferSizeSec(),n=t/e.bitrate,a>10&&n>.8||a>15&&n>.5||a>20&&n>.3)?r("Not switching: buffer="+Math.floor(a)+"; bitrate="+e.bitrate+"; newRate="+Math.floor(t)):(i=e._selectQuality(t))?e._switchToQuality(i):r("Could not find quality by bitrate "+t))}(i)}o=e.autoQuality};return{updateChunk:function(t,e){var i=n.updateChunk(t,e);return i&&u(),i},notifySwitch:function(e){var i=bt();e<t&&(s=i),t=e}}},e.prototype._fetchManifest=function(t,e,i){var r=this;this.manifestRequest=Tt(this.urlResolver.resolve(t,!0),e,i,(function(){return r._retryCallback()})).withJSONResponse().withTimeout(1e4).withRetryCount(3).withRetryInterval(300,2e3).send().withFinally((function(){r.manifestRequest=void 0}))},e.prototype._playVideoElement=function(t){var e=this.params.videoElement;U(e).then((function(e){e||null==t||t()}))},e.prototype._handleManifestUpdate=function(t){var e=this,i=this.params,r=i.logger,a=i.playerCallback,n=i.videoElement;this.manifest=function(t){var i=[];return(null==t?void 0:t.length)?(t.forEach((function(t,e){t.video&&n.canPlayType(t.codecs).replace(/no/,"")&&window.MediaSource.isTypeSupported(t.codecs)&&(t.index=e,i.push(t))})),i.sort((function(t,e){return t.video&&e.video?e.video.height-t.video.height:e.bitrate-t.bitrate})),i):(e.params.playerCallback({name:"error",type:"partial_metadata"}),[])}(t),r("Valid manifest entries: "+this.manifest.length+"/"+t.length),a({name:"manifest",manifest:this.manifest})},e.prototype._refetchManifest=function(t){var e=this;this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout((function(){e._fetchManifest(t,(function(i){e.destroyed||(e._handleManifestUpdate(i),e._refetchManifest(t))}),(function(){return e._refetchManifest(t)}))}),6e4))},e.prototype._initManifest=function(){var t=this;this._fetchManifest(this.manifestUrl,(function(e){t.destroyed||(t._handleManifestUpdate(e),t._refetchManifest(t.manifestUrl))}),(function(){return t._handleNetworkError()}))},e}();!function(t){t.STOPPED="stopped",t.MANIFEST_READY="manifest_ready",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(Et||(Et={}));var wt,At=[Et.PAUSED,Et.PLAYING,Et.READY],$t=[Et.PAUSED,Et.PLAYING,Et.READY],_t=function(){function e(e){var i=this;this.subscription=new t.Subscription,this.videoState=new N(Et.STOPPED),this.representations$=new t.ValueSubject([]),this.textTracksManager=new V,this.maxSeekBackTime$=new t.ValueSubject(1/0),this.zeroTime$=new t.ValueSubject(void 0),this.liveOffset=new ht,this._dashCb=function(e){var r,a,n,s,o;switch(e.name){case"buffering":var u=e.isBuffering;i.params.output.isBuffering$.next(u);break;case"error":i.params.output.error$.next({id:"DashLiveProviderInternal:"+e.type,message:"LiveDashPlayer reported error"});break;case"manifest":var c=e.manifest,l=[];try{for(var h=p(c),f=h.next();!f.done;f=h.next()){var v=f.value,m=null!==(n=v.name)&&void 0!==n?n:v.index.toString(10),S=$(v.video),b=v.bitrate/1e3,y=d({},v.video);if(S){var g={id:m,quality:S,bitrate:b,size:y};l.push({track:g,representation:v})}}}catch(t){r={error:t}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(r)throw r.error}}i.representations$.next(l),i.params.output.availableVideoTracks$.next(l.map((function(t){return t.track}))),(null===(s=i.videoState.getTransition())||void 0===s?void 0:s.to)===Et.MANIFEST_READY&&i.videoState.setState(Et.MANIFEST_READY);break;case"qualitySwitch":var T=e.quality;g=null===(o=i.representations$.getValue().find((function(t){return t.representation===T})))||void 0===o?void 0:o.track;i.params.output.hostname$.next(new URL(T.headerUrl,i.params.source.url).hostname),t.isNonNullable(g)&&i.params.output.currentVideoTrack$.next(g);break;case"bandwidth":y=e.size;var E=e.duration;i.params.dependencies.throughputEstimator.rawSpeed$.next({size:y,time:E});break;case"index":i.maxSeekBackTime$.next(e.shiftDuration),i.zeroTime$.next(e.zeroTime)}},this.syncPlayback=function(){var e,r=i.videoState.getState(),a=i.videoState.getTransition(),n=i.params.desiredState.playbackState.getState(),s=i.params.desiredState.playbackState.getTransition(),o=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+r+"; videoTransition: "+JSON.stringify(a)+"; desiredPlaybackState: "+n+"; seekPositionTransition: "+JSON.stringify(o)+";"}),n!==exports.PlaybackState.STOPPED){if(!a){if($t.includes(r)){var u=null===(e=i.params.desiredState.videoTrack.getTransition())||void 0===e?void 0:e.to;t.isNonNullable(u)&&i.setVideoTrack(u);var d=i.params.desiredState.autoVideoTrackSwitching.getTransition();d&&i.setAutoQuality(d.to)}var c=null==o?void 0:o.to;if((null==s?void 0:s.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(c)&&At.includes(r))i.seek(c+Nt(i.liveOffset.getTotalPausedTime()));else switch(r){case Et.STOPPED:return i.videoState.startTransitionTo(Et.MANIFEST_READY),void i.dash.attachSource(T(i.params.source.url));case Et.MANIFEST_READY:i.videoState.startTransitionTo(Et.READY),i.prepare();break;case Et.READY:return void(n===exports.PlaybackState.PAUSED?i.videoState.setState(Et.PAUSED):n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Et.PLAYING),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Et.PAUSED)}))));case Et.PLAYING:return void(n===exports.PlaybackState.PAUSED&&(i.videoState.startTransitionTo(Et.PAUSED),i.liveOffset.pause(),i.dash.pause()));case Et.PAUSED:return void(n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Et.PLAYING),i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Et.PAUSED)})),i.params.output.position$.next(Nt(i.liveOffset.getTotalOffset()))):i.seek(Nt(i.liveOffset.getTotalOffset()))));default:return t.assertNever(r)}}}else r!==Et.STOPPED&&(i.videoState.startTransitionTo(Et.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.videoState.setState(Et.STOPPED))},this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");var r=function(t){e.output.error$.next({id:"DashLiveProvider",message:"DashLiveProvider internal logic error",thrown:t})};t.merge(this.videoState.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,type:"end"}})))).subscribe((function(t){var e=t.transition,r=t.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(e)})})),this.video=B(e.container),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(M(this.params.source.url)),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);var a=Y(this.video);this.subscription.add(a.canplay$.subscribe((function(){var t;(null===(t=i.videoState.getTransition())||void 0===t?void 0:t.to)===Et.READY&&i.videoState.setState(Et.READY)}),r)).add(a.pause$.subscribe((function(){i.videoState.setState(Et.PAUSED)}),r)).add(a.play$.subscribe((function(){i.videoState.setState(Et.PLAYING)}),r)).add(a.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe(t.filterChanged(),t.map(Nt)).subscribe(this.params.output.duration$)).add(t.combine({zeroTime:this.zeroTime$.pipe(t.filter(t.isNonNullable)),position:a.timeUpdate$}).subscribe((function(t){var e=t.zeroTime,r=t.position;return i.params.output.liveTime$.next(e+1e3*r)}),r)).add(L(this.video,this.params.desiredState.isLooped,r)).add(C(this.video,this.params.desiredState.volume,a.volumeState$,r)).add(a.volumeState$.subscribe(this.params.output.volume$,r)).add(G(this.video).subscribe(this.params.output.firstBytesEvent$)).add(F(this.video).subscribe(this.params.output.firstFrameEvent$)).add(this.videoState.stateChangeEnded$.subscribe((function(e){switch(e.to){case Et.STOPPED:i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.desiredState.playbackState.setState(exports.PlaybackState.STOPPED);break;case Et.MANIFEST_READY:case Et.READY:break;case Et.PAUSED:i.params.desiredState.playbackState.setState(exports.PlaybackState.PAUSED);break;case Et.PLAYING:i.params.desiredState.playbackState.setState(exports.PlaybackState.PLAYING);break;default:return t.assertNever(e.to)}}),r)).add(t.merge(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekPosition.stateChangeStarted$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0)).subscribe(this.syncPlayback,r))}return e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.dash.destroy()},e.prototype.createLiveDashPlayer=function(){var t=this,e=new xt({videoElement:this.video,config:{CHUNK_DURATION:this.params.config.chunkDuration,BUFFER_OPTIMAL_DURATION:this.params.config.optimalBufferDuration,MAX_PARALLEL_REQUESTS:this.params.config.maxParallelRequests},playerCallback:this._dashCb,logger:function(e){t.params.dependencies.logger.log({message:String(e),component:"LiveDashPlayer"})}});return e.pause(),e},e.prototype.prepare=function(){var e,i,r,a,n,s,o=this.representations$.getValue(),u=null!==(i=null===(e=this.params.desiredState.videoTrack.getTransition())||void 0===e?void 0:e.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState(),d=null!==(a=null===(r=this.params.desiredState.autoVideoTrackSwitching.getTransition())||void 0===r?void 0:r.to)&&void 0!==a?a:this.params.desiredState.autoVideoTrackSwitching.getState(),c=!d&&t.isNonNullable(u)?u:null===(n=tt(o.map((function(t){return t.track})),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},throughput:this.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:this.params.tuning.autoTrackSelection}))||void 0===n?void 0:n.id,l=null===(s=o.find((function(t){return t.track.id===c})))||void 0===s?void 0:s.representation;t.assertNonNullable(l),this.dash.startPlay(l,d),this.params.desiredState.videoTrack.getTransition()&&this.params.desiredState.videoTrack.setState(c),this.params.desiredState.autoVideoTrackSwitching.getTransition()&&this.params.desiredState.autoVideoTrackSwitching.setState(d)},e.prototype.setVideoTrack=function(e){var i,r=null===(i=this.representations$.getValue().find((function(t){return t.track.id===e})))||void 0===i?void 0:i.representation;t.assertNonNullable(r),this.dash.switchByName(r.name),this.params.desiredState.videoTrack.setState(e)},e.prototype.setAutoQuality=function(t){this.dash.setAutoQualityEnabled(t),this.params.desiredState.autoVideoTrackSwitching.setState(t)},e.prototype.seek=function(t){this.log({message:"[seek] position: "+t}),this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0);var e=-Math.round(1e3*t),i=e<this.maxSeekBackTime$.getValue()?e:0;this.liveOffset.resetTo(i),this.params.output.position$.next(Nt(i)),this.dash.reinit(T(this.params.source.url,i)),this.params.desiredState.seekPosition.setState(void 0)},e}(),Nt=function(t){return-t/1e3},Dt=function(t){if(t.QUALITY)switch(t.QUALITY){case"mobile":return exports.VideoQuality.Q_144P;case"lowest":return exports.VideoQuality.Q_240P;case"low":return exports.VideoQuality.Q_360P;case"sd":case"medium":return exports.VideoQuality.Q_480P;case"hd":case"high":return exports.VideoQuality.Q_720P;case"fullhd":case"full":return exports.VideoQuality.Q_1080P;case"quadhd":case"quad":return exports.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return exports.VideoQuality.Q_2160P}if(t.RESOLUTION){var e=h(t.RESOLUTION.split("x").map((function(t){return parseInt(t,10)})),2),i=e[0],r=e[1],a=$({width:i,height:r});if(a)return a}return null},Rt=function(t,e){return void 0===e&&(e=t),c(void 0,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p,f,v,m,S,b,y;return l(this,(function(l){switch(l.label){case 0:return[4,fetch(t)];case 1:return[4,l.sent().text()];case 2:for(i=l.sent(),r=i.split("\n"),a=[],n=0;n<r.length;n++)s=r[n],(o=s.match(/^#EXT-X-STREAM-INF:(.+)/))&&(u=Object.fromEntries(o[1].split(",").map((function(t){return t.split("=")}))),d=null!==(y=u.QUALITY)&&void 0!==y?y:"stream-"+u.BANDWIDTH,c=Dt(u),p=void 0,u.BANDWIDTH&&(p=parseInt(u.BANDWIDTH,10)/1e3||void 0),!p&&u["AVERAGE-BANDWIDTH"]&&(p=parseInt(u["AVERAGE-BANDWIDTH"],10)/1e3||void 0),f=void 0,u.RESOLUTION&&(v=h(u.RESOLUTION.split("x").map((function(t){return parseInt(t,10)})),2),m=v[0],S=v[1],m&&S&&(f={width:m,height:S})),b=new URL(r[++n],e).toString(),c&&a.push({id:d,quality:c,url:b,bandwidth:p,size:f}));return[2,a]}}))}))};!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.CHANGING_MANIFEST="changing_manifest",t.PAUSED="paused"}(wt||(wt={}));var It,Lt=function(){function e(e){var i=this;this.subscription=new t.Subscription,this.videoState=new N(wt.STOPPED),this.textTracksManager=new V,this.manifests$=new t.ValueSubject([]),this.syncPlayback=function(){var e=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.autoVideoTrackSwitching.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var o=i.params.desiredState.seekPosition.getTransition();if(e===wt.STOPPED)return i.videoState.startTransitionTo(wt.READY),void i.prepare();if(n||s){var u=i.videoState.getState();i.videoState.setState(wt.CHANGING_MANIFEST),i.videoState.startTransitionTo(u);var d=i.video.currentTime;return i.prepare(),void(o&&!t.isNullable(o.to)||i.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(c)&&i.seek(c),e){case wt.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(wt.PAUSED),E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(wt.PLAYING),i.playIfAllowed()));case wt.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(wt.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&E(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case wt.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(wt.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));case wt.CHANGING_MANIFEST:break;default:return t.assertNever(e)}}}else e!==wt.STOPPED&&(i.videoState.startTransitionTo(wt.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(wt.STOPPED),E(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.video=B(e.container),this.params.output.element$.next(this.video);var r={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([r]),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(M(this.params.source.url)),Rt(this.params.source.url).then((function(t){i.manifests$.next(f([r],h(t),!1))})),this.subscribe()}return e.prototype.selectManifest=function(){var t,e,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(e=null!==(t=null==s?void 0:s.to)&&void 0!==t?t:a.getState())&&void 0!==e?e:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(t){return t.id===d}))}},e.prototype.subscribe=function(){var e=this,i=this.params,r=i.output,a=i.desiredState,n=function(t){r.error$.next({id:"HlsProvider",message:"HlsProvider internal logic error",thrown:t})},s=Y(this.video),o=function(t,i){return e.subscription.add(t.subscribe(i))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(L(this.video,a.isLooped,n)),this.subscription.add(C(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(wt.PLAYING),E(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(wt.PAUSED),E(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===wt.READY&&e.videoState.setState(wt.READY),e.videoState.getState()===wt.PLAYING&&e.playIfAllowed()}),n).add(s.loadedMetadata$.subscribe((function(){var i=e.params.desiredState.seekPosition.getTransition(),r=e.videoState.getTransition(),a=e.params.desiredState.videoTrack.getTransition(),n=e.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&t.isNonNullable(a.to)){var s=a.to;e.params.desiredState.videoTrack.setState(s);var o=e.manifests$.getValue().find((function(t){return t.id===s}));o&&(e.params.output.currentVideoTrack$.next(o),e.params.output.hostname$.next(M(o.url)))}n&&e.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===wt.CHANGING_MANIFEST&&e.videoState.setState(r.to),i&&t.isNonNullable(i.to)&&e.seek(i.to)}),n))),this.subscription.add(this.manifests$.pipe(t.map((function(t){return t.map((function(t){return{id:t.id,quality:t.quality,size:t.size,bitrate:t.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.prepare=function(){var e=this.selectManifest();t.isNullable(e)||(this.video.setAttribute("src",e.url),this.video.load())},e.prototype.playIfAllowed=function(){var t=this;U(this.video).then((function(e){e||(t.videoState.setState(wt.PAUSED),E(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=t},e}();!function(t){t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.CHANGING_MANIFEST="changing_manifest",t.PAUSED="paused"}(It||(It={}));var Ct,Ot=function(){function e(e){var i,r=this;this.subscription=new t.Subscription,this.videoState=new N(It.STOPPED),this.textTracksManager=new V,this.manifests$=new t.ValueSubject([]),this.liveOffset=new ht,this.manifestStartTime$=new t.ValueSubject(void 0),this.syncPlayback=function(){var e=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.autoVideoTrackSwitching.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var o=r.params.desiredState.seekPosition.getTransition();if(e===It.STOPPED)return r.videoState.startTransitionTo(It.READY),void r.prepare();if(n||s){var u=r.videoState.getState();r.videoState.setState(It.CHANGING_MANIFEST),r.videoState.startTransitionTo(u);var d=Vt(r.liveOffset.getTotalOffset());return r.prepare(),void(o&&!t.isNullable(o.to)||r.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(c))return r.videoState.startTransitionTo(It.READY),r.seek(c+Vt(r.liveOffset.getTotalPausedTime())),void r.prepare();switch(e){case It.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(It.PAUSED),r.liveOffset.pause(),E(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(It.PLAYING),r.playIfAllowed()));case It.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(It.PAUSED),r.liveOffset.pause(),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&E(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case It.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(It.PLAYING),r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.playIfAllowed(),r.params.output.position$.next(Vt(r.liveOffset.getTotalOffset()))):r.seek(Vt(r.liveOffset.getTotalOffset()))):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&(E(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED),r.liveOffset.pause()));case It.CHANGING_MANIFEST:break;default:return t.assertNever(e)}}}else e!==It.STOPPED&&(r.videoState.startTransitionTo(It.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(It.STOPPED),E(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=e,this.video=B(e.container),this.params.output.element$.next(this.video);var a={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([a]),Rt(T(this.params.source.url)).then((function(t){r.manifests$.next(f([a],h(t),!1))})),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(M(this.params.source.url)),this.maxSeekBackTime$=new t.ValueSubject(null!==(i=e.source.maxSeekBackTime)&&void 0!==i?i:1/0),this.subscribe()}return e.prototype.selectManifest=function(){var t,e,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(e=null!==(t=null==s?void 0:s.to)&&void 0!==t?t:a.getState())&&void 0!==e?e:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(t){return t.id===d}))}},e.prototype.subscribe=function(){var e=this,i=this.params,r=i.output,a=i.desiredState,n=function(t){r.error$.next({id:"HlsLiveProvider",message:"HlsLiveProvider internal logic error",thrown:t})},s=Y(this.video),o=function(t,i){return e.subscription.add(t.subscribe(i,n))};o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(a.isLooped.stateChangeStarted$.subscribe((function(){return a.isLooped.setState(!1)}),n)),this.subscription.add(C(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(It.PLAYING),E(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(It.PAUSED),E(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===It.READY&&e.videoState.setState(It.READY),e.videoState.getState()===It.PLAYING&&e.playIfAllowed()}),n)),this.subscription.add(this.maxSeekBackTime$.pipe(t.filterChanged(),t.map(Vt)).subscribe(this.params.output.duration$,n)),this.subscription.add(s.loadedMetadata$.subscribe((function(){var i=e.params.desiredState.seekPosition.getTransition(),r=e.videoState.getTransition(),a=e.params.desiredState.videoTrack.getTransition(),n=e.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&t.isNonNullable(a.to)){var s=a.to;e.params.desiredState.videoTrack.setState(s);var o=e.manifests$.getValue().find((function(t){return t.id===s}));o&&(e.params.output.currentVideoTrack$.next(o),e.params.output.hostname$.next(M(o.url)))}n&&e.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===It.CHANGING_MANIFEST&&e.videoState.setState(r.to),i&&t.isNonNullable(i.to)&&e.seek(i.to)}),n)),this.subscription.add(s.loadedData$.subscribe((function(){var t,i,r=null===(i=null===(t=e.video)||void 0===t?void 0:t.getStartDate())||void 0===i?void 0:i.getTime();e.manifestStartTime$.next(r||void 0)}),n)),this.subscription.add(t.combine({startTime:this.manifestStartTime$.pipe(t.filter(t.isNonNullable)),currentTime:s.timeUpdate$}).subscribe((function(t){var i=t.startTime,r=t.currentTime;return e.params.output.liveTime$.next(i+1e3*r)}),n)),this.subscription.add(this.manifests$.pipe(t.map((function(t){return t.map((function(t){return{id:t.id,quality:t.quality,size:t.size,bitrate:t.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=t.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},e.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.prepare=function(){var e=this,i=this.selectManifest();if(!t.isNullable(i)){var r,a=T(i.url,this.liveOffset.getTotalOffset());this.video.setAttribute("src",a),this.video.load(),(r=a,c(void 0,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return[4,fetch(r,{method:"HEAD"})];case 1:return[2,(t=e.sent()).headers.has("X-Playback-Duration")?parseInt(t.headers.get("X-Playback-Duration"),10):void 0]}}))}))).then((function(i){t.isNullable(i)||e.maxSeekBackTime$.next(i)}))}},e.prototype.playIfAllowed=function(){var t=this;U(this.video).then((function(e){e||(t.videoState.setState(It.PAUSED),t.liveOffset.pause(),E(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0);var e=-Math.round(1e3*t),i=e<this.maxSeekBackTime$.getValue()?e:0;this.liveOffset.resetTo(i),this.params.output.position$.next(Vt(i)),this.params.desiredState.seekPosition.setState(void 0)},e}(),Vt=function(t){return-t/1e3},Mt={};!function(t){t.INITIALIZING="initializing",t.STOPPED="stopped",t.READY="ready",t.PLAYING="playing",t.PAUSED="paused"}(Ct||(Ct={}));var Bt,Ut,Ft,qt,Ht,Gt,Yt,jt,Qt,zt,Jt,Wt,Xt,Kt,Zt,te=function(e,i){return new t.Observable((function(t){var r=function(e,i){return t.next(i)};return e.on(i,r),function(){return e.off(i,r)}}))},ee=function(){function e(e){var i=this;this.subscription=new t.Subscription,this.videoState=new N(Ct.INITIALIZING),this.textTracksManager=new V,this.trackLevels=new Map,this.syncPlayback=function(){var e=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(e!==Ct.INITIALIZING){var s=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&t.isNonNullable(s)&&i.seek(s),r){case exports.PlaybackState.STOPPED:switch(e){case Ct.STOPPED:break;case Ct.READY:case Ct.PLAYING:case Ct.PAUSED:i.stop();break;default:t.assertNever(e)}break;case exports.PlaybackState.PLAYING:switch(e){case Ct.PLAYING:break;case Ct.STOPPED:i.prepare();break;case Ct.READY:case Ct.PAUSED:i.playIfAllowed();break;default:t.assertNever(e)}break;case exports.PlaybackState.PAUSED:switch(e){case Ct.PAUSED:break;case Ct.STOPPED:i.prepare();break;case Ct.READY:i.videoState.setState(Ct.PAUSED),E(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case Ct.PLAYING:i.pause();break;default:t.assertNever(e)}break;default:t.assertNever(r)}}},this.video=B(e.container),this.params=e,this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(M(this.params.source.url)),this.loadHlsJs()}return e.prototype.destroy=function(){var t,e;this.subscription.unsubscribe(),this.trackLevels.clear(),this.textTracksManager.destroy(),null===(t=this.hls)||void 0===t||t.detachMedia(),null===(e=this.hls)||void 0===e||e.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},e.prototype.loadHlsJs=function(){var t=this,e=!1,r=function(i){e||t.params.output.error$.next({id:"timeout"===i?"HlsJsTimeout":"HlsJsLoadError",message:"Failed to load Hls.js",thrown:i}),e=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("hls.js"))})).then((function(i){e||(Mt.Hls=i.default,Mt.Events=i.default.Events,t.init())}),r).finally((function(){window.clearTimeout(a),e=!0}))},e.prototype.init=function(){t.assertNonNullable(Mt.Hls,"hls.js not loaded"),this.hls=new Mt.Hls({fragLoadingMaxRetry:5,levelLoadingMaxRetry:2,manifestLoadingMaxRetry:2,fragLoadingMaxRetryTimeout:16e3,manifestLoadingMaxRetryTimeout:2e3,levelLoadingMaxRetryTimeout:2e3}),this.subscribe(),this.videoState.setState(Ct.STOPPED)},e.prototype.subscribe=function(){var e=this;t.assertNonNullable(Mt.Events,"hls.js not loaded");var i=this.params,r=i.desiredState,a=i.output,n=function(t){a.error$.next({id:"HlsJsProvider",message:"HlsJsProvider internal logic error",thrown:t})},s=Y(this.video),o=function(t,i){return e.subscription.add(t.subscribe(i,n))};o(s.timeUpdate$,a.position$),o(s.durationChange$,a.duration$),o(s.ended$,a.endedEvent$),o(s.error$,a.error$),o(s.isBuffering$,a.isBuffering$),o(s.currentBuffer$,a.currentBuffer$),o(s.firstBytes$,a.firstBytesEvent$),o(s.firstFrame$,a.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return r.seekPosition.setState(void 0)}),n)),this.subscription.add(L(this.video,r.isLooped,n)),this.subscription.add(C(this.video,r.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.subscription.add(te(this.hls,Mt.Events.ERROR).subscribe((function(t){var e;t.fatal&&a.error$.next({id:["HlsJsFatal",t.type,t.details].join("_"),message:"HlsJs fatal "+t.type+" "+t.details+", "+(null===(e=t.err)||void 0===e?void 0:e.message)+" "+t.reason,thrown:t.error})}))),this.subscription.add(s.play$.subscribe((function(){e.videoState.setState(Ct.PLAYING),E(r.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){e.videoState.setState(Ct.PAUSED),E(r.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var t;(null===(t=e.videoState.getTransition())||void 0===t?void 0:t.to)===Ct.READY&&e.videoState.setState(Ct.READY),e.videoState.getState()===Ct.PLAYING&&e.playIfAllowed()}),n)),o(te(this.hls,Mt.Events.MANIFEST_PARSED).pipe(t.map((function(t){return t.levels.reduce((function(t,i){var r=i.name||i.height.toString(10),a=i.width,n=i.height,s=$({width:a,height:n});if(!s)return t;var o={id:r.toString(),quality:s,bitrate:i.bitrate/1e3,size:{width:a,height:n}};return e.trackLevels.set(r,{track:o,level:i}),t.push(o),t}),[])}))),a.availableVideoTracks$),o(te(this.hls,Mt.Events.LEVEL_LOADING).pipe(t.map((function(t){var e=t.url;return M(e)}))),a.hostname$),this.subscription.add(I(r.autoVideoTrackSwitching,(function(){return e.hls.autoLevelEnabled}),(function(t){e.hls.nextLevel=t?-1:e.hls.currentLevel,e.hls.loadLevel=t?-1:e.hls.loadLevel}),{onError:n}));var u=function(t){var i;return null===(i=Array.from(e.trackLevels.values()).find((function(e){return e.level===t})))||void 0===i?void 0:i.track},d=te(this.hls,Mt.Events.LEVEL_SWITCHED).pipe(t.map((function(t){var i=t.level;return u(e.hls.levels[i])})));d.pipe(t.filter(t.isNonNullable)).subscribe(a.currentVideoTrack$,n),this.subscription.add(I(r.videoTrack,(function(){var t;return null===(t=u(e.hls.levels[e.hls.currentLevel]))||void 0===t?void 0:t.id}),(function(i){var r;if(!t.isNullable(i)){var a=null===(r=e.trackLevels.get(i))||void 0===r?void 0:r.level;if(a){var n=e.hls.levels.indexOf(a),s=e.hls.currentLevel,o=e.hls.levels[s];!o||a.bitrate>o.bitrate?e.hls.nextLevel=n:(e.hls.loadLevel=n,e.hls.loadLevel=n)}}}),{changed$:d.pipe(t.map((function(t){return null==t?void 0:t.id}))),onError:n})),o(s.progress$,(function(){e.params.dependencies.throughputEstimator.rawThroughput$.next(e.hls.bandwidthEstimate/1e3)})),this.textTracksManager.connect(this.video,r,a);var c=t.merge(r.playbackState.stateChangeStarted$,r.videoTrack.stateChangeStarted$,r.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,t.observableFrom(["init"])).pipe(t.debounce(0));this.subscription.add(c.subscribe(this.syncPlayback,n))},e.prototype.prepare=function(){this.videoState.startTransitionTo(Ct.READY),this.hls.attachMedia(this.video),this.hls.loadSource(this.params.source.url)},e.prototype.playIfAllowed=function(){return c(this,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return this.videoState.startTransitionTo(Ct.PLAYING),[4,U(this.video)];case 1:return t.sent()||(this.videoState.setState(Ct.PAUSED),E(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)),[2]}}))}))},e.prototype.pause=function(){this.videoState.startTransitionTo(Ct.PAUSED),this.video.pause()},e.prototype.seek=function(t){this.params.desiredState.seekPosition.setState(t),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=t},e.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.hls.stopLoad(),this.hls.detachMedia(),this.video.setAttribute("src",""),this.video.load(),this.videoState.setState(Ct.STOPPED),E(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},e}(),ie=function(){function t(t){this.iterator=t[Symbol.iterator](),this.next()}return t.prototype.next=function(){this.current=this.iterator.next()},t.prototype.getValue=function(){if(this.current.done)throw new Error("Iterable is completed");return this.current.value},t.prototype.isCompleted=function(){return Boolean(this.current.done)},t}(),re=(Kt=window.navigator.userAgent,!/chrome/i.test(Kt)&&/webkit|safari|khtml/i.test(Kt)),ae=(null===(Ut=null===(Bt=navigator)||void 0===Bt?void 0:Bt.userAgentData)||void 0===Ut?void 0:Ut.mobile)||/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion),ne=document.createElement("video"),se={mse:Boolean(window.MediaSource&&MediaStreamTrack&&(null===(Ft=null===SourceBuffer||void 0===SourceBuffer?void 0:SourceBuffer.prototype)||void 0===Ft?void 0:Ft.appendBuffer)),hls:Boolean(ne.canPlayType("application/x-mpegurl")||ne.canPlayType("vnd.apple.mpegURL"))},oe={mp4:Boolean(ne.canPlayType("video/mp4")),webm:Boolean(ne.canPlayType("video/webm"))},ue={h264:Boolean(null===(Ht=null===(qt=window.MediaSource)||void 0===qt?void 0:qt.isTypeSupported)||void 0===Ht?void 0:Ht.call(qt,'video/mp4; codecs="avc1.42000a,mp4a.40.2"')),h265:Boolean(null===(Yt=null===(Gt=window.MediaSource)||void 0===Gt?void 0:Gt.isTypeSupported)||void 0===Yt?void 0:Yt.call(Gt,'video/mp4; codecs="hev1.1.6.L93.B0"')),vp9:Boolean(null===(Qt=null===(jt=window.MediaSource)||void 0===jt?void 0:jt.isTypeSupported)||void 0===Qt?void 0:Qt.call(jt,'video/webm; codecs="vp9"')),aac:Boolean(null===(Jt=null===(zt=window.MediaSource)||void 0===zt?void 0:zt.isTypeSupported)||void 0===Jt?void 0:Jt.call(zt,'audio/mp4; codecs="mp4a.40.2"')),opus:Boolean(null===(Xt=null===(Wt=window.MediaSource)||void 0===Wt?void 0:Wt.isTypeSupported)||void 0===Xt?void 0:Xt.call(Wt,'audio/webm; codecs="opus"'))},de=(ue.h264||ue.h265)&&ue.aac,ce=!re,le=ae||re,pe=!se.hls||!le,he=3e4,fe=18e4,ve=3,me=100,Se={cacheDuration:12e4},be={maxPausedTime:3e4,chunkDuration:5e3,optimalBufferDuration:1e4,maxParallelRequests:5},ye={maxPausedTime:3e4},ge={maxPausedTime:3e4},Te=function(){function e(e){this.current$=new t.ValueSubject({type:void 0}),this.providerError$=new t.Subject,this.noAvailableProvidersError$=new t.Subject,this.providerOutput={position$:new t.ValueSubject(0),duration$:new t.ValueSubject(1/0),volume$:new t.ValueSubject({muted:!1,volume:1}),currentVideoTrack$:new t.ValueSubject(void 0),availableVideoTracks$:new t.ValueSubject([]),currentBuffer$:new t.ValueSubject(void 0),isBuffering$:new t.ValueSubject(!0),error$:new t.Subject,endedEvent$:new t.Subject,firstBytesEvent$:new t.Subject,firstFrameEvent$:new t.Subject,isLive$:new t.ValueSubject(void 0),liveTime$:new t.ValueSubject(void 0),availableTextTracks$:new t.ValueSubject([]),currentTextTrack$:new t.ValueSubject(void 0),hostname$:new t.ValueSubject(void 0),element$:new t.ValueSubject(void 0)},this.subscription=new t.Subscription,this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ProviderContainer");var i=this.params.tuning.formatsToAvoid,r=i.length?f(f([],h(e.screenFormatsPriority.filter((function(t){return!i.includes(t)}))),!1),h(e.screenFormatsPriority.filter((function(t){return i.includes(t)}))),!1):e.screenFormatsPriority;this.screenFormatsIterator=new ie(r.filter((function(i){return t.isNonNullable(e.sources[i])})).filter((function(e){switch(e){case exports.VideoFormat.DASH:return se.mse&&oe.mp4&&de&&ce;case exports.VideoFormat.DASH_SEP:return se.mse&&oe.mp4&&de;case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_LIVE_WEBM:return se.mse&&oe.webm&&ue.vp9&&ue.opus;case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_ONDEMAND:return se.mse&&oe.mp4&&de;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.HLS_ONDEMAND:return se.hls&&oe.mp4&&le;case exports.VideoFormat.HLS_JS:return se.mse&&oe.mp4&&de&&pe;case exports.VideoFormat.MPEG:return oe.mp4;default:return t.assertNever(e)}}))),this.chromecastFormatsIterator=new ie(e.chromecastFormatsPriority.filter((function(i){return t.isNonNullable(e.sources[i])})))}return e.prototype.init=function(){var t=this;this.subscription.add(this.initProviderErrorHandling()),this.subscription.add(this.params.dependencies.chromecastInitializer.connection$.subscribe((function(){t.reinitProvider()})))},e.prototype.destroy=function(){this.destroyProvider(),this.current$.next({type:void 0}),this.subscription.unsubscribe()},e.prototype.initProvider=function(){var e=this.chooseDestination(),i=this.chooseFormat(e);if(t.isNullable(i))this.handleNoFormatsError(e);else{var r=this.createProvider(e,i);this.current$.next({type:i,provider:r,destination:e})}},e.prototype.reinitProvider=function(){this.destroyProvider(),this.initProvider()},e.prototype.switchToNextProvider=function(){this.destroyProvider();var e=this.current$.getValue().destination;t.assertNonNullable(e),this.skipFormat(e),this.initProvider()},e.prototype.destroyProvider=function(){var t=this.current$.getValue().provider;if(t){this.log({message:"destroyProvider"});var e=this.params.desiredState.seekPosition;e.getTransition()||e.startTransitionTo(this.providerOutput.position$.getValue()),t.destroy();var i=this.providerOutput.isBuffering$;i.getValue()||i.next(!0)}},e.prototype.createProvider=function(e,i){switch(this.log({message:"createProvider: "+e+":"+i}),e){case n.SCREEN:return this.createScreenProvider(i);case n.CHROMECAST:return this.createChromecastProvider(i);default:return t.assertNever(e)}},e.prototype.createScreenProvider=function(e){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=this.providerOutput;switch(e){case exports.VideoFormat.DASH:var o=r[e];return t.assertNonNullable(o),new ot({container:a,source:o,desiredState:n,output:s,config:Se,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_LIVE_WEBM:o=r[e];return t.assertNonNullable(o),new mt({container:a,source:o,desiredState:n,output:s,format:e,config:ge,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:o=r[e];return t.assertNonNullable(o),new Lt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_LIVE:o=r[e];return t.assertNonNullable(o),new Ot({container:a,source:o,desiredState:n,output:s,config:ye,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_JS:o=r[e];return t.assertNonNullable(o),new ee({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.MPEG:o=r[e];return t.assertNonNullable(o),new Q({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_LIVE:o=r[e];return t.assertNonNullable(o),new _t({container:a,source:o,desiredState:n,output:s,config:be,dependencies:this.params.dependencies,tuning:this.params.tuning});default:return t.assertNever(e)}},e.prototype.createChromecastProvider=function(e){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=i.meta,o=this.providerOutput,u=this.params.dependencies.chromecastInitializer.connection$.getValue();return t.assertNonNullable(u),new R({connection:u,meta:s,container:a,source:r,format:e,desiredState:n,output:o,dependencies:this.params.dependencies,tuning:this.params.tuning})},e.prototype.chooseDestination=function(){return this.params.dependencies.chromecastInitializer.connection$.getValue()?n.CHROMECAST:n.SCREEN},e.prototype.chooseFormat=function(e){switch(e){case n.SCREEN:return this.screenFormatsIterator.isCompleted()?void 0:this.screenFormatsIterator.getValue();case n.CHROMECAST:return this.chromecastFormatsIterator.isCompleted()?void 0:this.chromecastFormatsIterator.getValue();default:return t.assertNever(e)}},e.prototype.skipFormat=function(e){switch(e){case n.SCREEN:return this.screenFormatsIterator.next();case n.CHROMECAST:return this.chromecastFormatsIterator.next();default:return t.assertNever(e)}},e.prototype.handleNoFormatsError=function(e){switch(e){case n.SCREEN:return this.noAvailableProvidersError$.next(),void this.current$.next({type:void 0});case n.CHROMECAST:return void this.params.dependencies.chromecastInitializer.disconnect();default:return t.assertNever(e)}},e.prototype.initProviderErrorHandling=function(){var e,i=this,r=[],a=0,s=new t.Subscription;return s.add(t.merge(this.providerOutput.error$,(e={desiredPlaybackState$:this.params.desiredState.playbackState,maxTransitionInterval:he,position$:this.providerOutput.position$,providerChanged$:this.current$},new t.Observable((function(i){var r=new t.Subscription,a=t.timeout(e.maxTransitionInterval),n=new t.ValueSubject(void 0);t.merge(e.desiredPlaybackState$.stateChangeStarted$.pipe(t.mapTo(a)),e.desiredPlaybackState$.stateChangeEnded$.pipe(t.mapTo(void 0)),e.providerChanged$.pipe(t.map((function(){return n.getValue()})))).subscribe(n);var s=new t.Subscription;return r.add(s),r.add(n.subscribe((function(t){s.unsubscribe(),t&&s.add(t.subscribe(i))}))),r}))).pipe(t.mapTo({id:"ProviderHangup",message:"An operation failed to complete within reasonable time"}))).subscribe(this.providerError$)),s.add(this.providerError$.pipe(t.throttle(me,{leading:!1,trailing:!0})).subscribe((function(){var e=Date.now();i.current$.getValue().destination===n.CHROMECAST?(i.destroyProvider(),i.params.dependencies.chromecastInitializer.stopMedia().then((function(){i.switchToNextProvider()}),(function(){i.params.dependencies.chromecastInitializer.disconnect()}))):t.isNonNullable(r[a])&&e<r[a]+fe?(r=[],i.switchToNextProvider()):(r[a]=e,i.reinitProvider()),a=(a+1)%ve}))),s},e}();!function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"}(Zt||(Zt={}));var Ee=new Map,Pe=Zt.RUNTIME,ke="vk-videoplayer-dummy-key-"+Math.random();!function(){try{localStorage.setItem(ke,"test"),localStorage.removeItem(ke),Pe=Zt.LOCAL_STORAGE}catch(t){if(!(t instanceof DOMException))throw t;try{sessionStorage.getItem(ke),Pe=Zt.SESSION_STORAGE}catch(t){if(!(t instanceof DOMException))throw t;Pe=Zt.RUNTIME}}}();var xe,we=function(){var t,e;return null!==(e=null===(t=window.performance)||void 0===t?void 0:t.now())&&void 0!==e?e:Date.now()},Ae=window.navigator.connection,$e=function(){var t=null==Ae?void 0:Ae.downlink;if(t&&10!==t)return 1e3*t},_e=function(){function e(e){var i=this;this.throughput=this.load()||$e()||5e3,this.subscription=new t.Subscription,this.rawSeries$=new K("raw_throughput"),this.smoothedSeries$=new K("smoothed_throughput"),this.reportedSeries$=new K("reported_throughput"),this.xhr$=new t.Subject,this.rawSpeed$=new t.Subject,this.rawThroughput$=new t.Subject,this.stream$=new t.Subject,this.estimation$=new t.ValueSubject(this.throughput),this.rtt$=new t.ValueSubject(void 0),this.tuningConfig=e;var r=$e();if(r&&this.addValue(r),this.subscription.add(this.xhr$.subscribe((function(t){return i.trackXHR(t)}))),this.subscription.add(this.stream$.subscribe((function(t){return i.trackStream(t)}))),this.subscription.add(this.rawSpeed$.subscribe((function(t){var e=t.size,r=t.time;return i.addRawSpeed(e,r)}))),this.subscription.add(this.rawThroughput$.subscribe((function(t){return i.addValue(t)}))),this.subscription.add(this.estimation$.subscribe(this.reportedSeries$)),this.tuningConfig.useBrowserEstimation){var a=Ae&&"rtt"in Ae,n=Ae&&"onchange"in Ae;a&&this.rtt$.next(Ae.rtt),n&&this.subscription.add(t.fromEvent(Ae,"change").subscribe((function(){a&&i.rtt$.next(Ae.rtt);var t=$e();t&&i.addValue(t)})))}}return e.prototype.destroy=function(){this.subscription.unsubscribe()},e.prototype.trackXHR=function(e){var i=this,r=0,a=we(),n=new t.Subscription;switch(this.subscription.add(n),e.readyState){case 4:break;case 3:case 2:n.add(t.fromEvent(e,"progress").pipe(t.once()).subscribe((function(t){r=t.loaded,a=we()})));break;case 1:case 0:n.add(t.fromEvent(e,"loadstart").subscribe((function(){r=0,a=we()})))}n.add(t.fromEvent(e,"loadend").subscribe((function(t){if(200===e.status){var s=t.loaded,o=we(),u=s-r,d=o-a;i.addRawSpeed(u,d)}n.unsubscribe()})))},e.prototype.trackStream=function(t){var e=this,i=t.getReader();if(i){var r=0,a=we(),n=0,s=we(),o=function(e){i.releaseLock(),t.cancel("Throughput Estimator error: "+e).catch((function(){}))},u=function(t){var d=t.done,p=t.value;return c(e,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return d?(this.addRawSpeed(r,we()-a),[3,3]):[3,1];case 1:return p?(r+=p.byteLength,(n+=p.byteLength)>=this.tuningConfig.streamMinSampleSize&&we()-s>=this.tuningConfig.streamMinSampleTime&&(this.addRawSpeed(n,we()-s),n=0,s=we()),[4,null==i?void 0:i.read().then(u,o)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))};null==i||i.read().then(u,o)}else t.cancel("Could not get reader")},e.prototype.addRawSpeed=function(t,e){if(this.sanityCheck(t,e)){var i=8*t/e;this.addValue(i)}},e.prototype.sanityCheck=function(t,e){var i=8*t/e;return!(!i||!isFinite(i))&&(!(i>1e6)&&(!(i<30)&&(!(t<1024)&&!(e<=50))))},e.prototype.addValue=function(t){var e=Math.round(function(t,e,i){return i*e+(1-i)*t}(this.throughput,t,this.tuningConfig.emaAlpha));this.rawSeries$.next(t),this.smoothedSeries$.next(e);var i=this.load();this.throughput=e,(!i||Math.abs(e-i)/i>=this.tuningConfig.changeThreshold)&&(this.dump(),this.estimation$.next(e))},e.prototype.load=function(){var e=function(e){var i,r;switch(Pe){case Zt.LOCAL_STORAGE:return null!==(i=localStorage.getItem(e))&&void 0!==i?i:void 0;case Zt.SESSION_STORAGE:return null!==(r=sessionStorage.getItem(e))&&void 0!==r?r:void 0;case Zt.RUNTIME:return Ee.get(e);default:t.assertNever(Pe)}}("one_video_throughput");if(e)return parseInt(e,10)||void 0},e.prototype.dump=function(){!function(e,i){switch(Pe){case Zt.LOCAL_STORAGE:return localStorage.setItem(e,i);case Zt.SESSION_STORAGE:return sessionStorage.setItem(e,i);case Zt.RUNTIME:return void Ee.set(e,i);default:t.assertNever(Pe)}}("one_video_throughput",this.throughput.toFixed(0))},e}(),Ne=function(e){return void 0===e&&(e=function(t){return t}),function(i){var r=i.playbackState,a=i.seekPosition,n=i.provider$,s=i.position$;return new t.Observable((function(i){var o,u=r.transitionEnded$.pipe(t.filter((function(t){return(t.from===exports.PlaybackState.PAUSED||t.from===exports.PlaybackState.STOPPED)&&t.to===exports.PlaybackState.PLAYING}))),d=r.stateChangeEnded$.pipe(t.filter((function(t){return t.from===exports.PlaybackState.PLAYING&&t.to===exports.PlaybackState.PAUSED}))),c=a.stateChangeEnded$.pipe(t.filter((function(e){var i,a;return t.isNonNullable(e.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),l=a.stateChangeEnded$.pipe(t.filter((function(e){var i,a;return t.isNullable(e.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),p=t.merge(u,l).pipe(t.map((function(){return e(s.getValue())}))),h=t.merge(d,c,n).pipe(t.map((function(){return e(s.getValue())})));return(new t.Subscription).add(p.subscribe((function(t){o=e(t)}))).add(h.subscribe((function(r){if(!t.isNullable(o)){var a={start:o,end:e(r)};o=void 0,i.next(a)}})))}))}},De=Ne((function(t){return t})),Re=Ne((function(t){return Math.round(1e3*t)+Date.now()})),Ie=((xe={})[n.SCREEN]={vod:[exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS_JS,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE,exports.VideoFormat.DASH_LIVE,exports.VideoFormat.DASH_LIVE_WEBM]},xe[n.CHROMECAST]={vod:[exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE]},xe),Le=function(){function e(e){var i=this;if(void 0===e&&(e={}),this.subscription=new t.Subscription,this.logger=new t.Logger,this.isPlaybackStarted=!1,this.desiredState={playbackState:new N(exports.PlaybackState.STOPPED),seekPosition:new N(void 0),volume:new N({volume:1,muted:!1}),videoTrack:new N(void 0),autoVideoTrackSwitching:new N(!0),isLooped:new N(!1),externalTextTracks:new N([]),currentTextTrack:new N(void 0),textTrackCuesSettings:new N({})},this.info={playbackState$:new t.ValueSubject(exports.PlaybackState.STOPPED),position$:new t.ValueSubject(0),duration$:new t.ValueSubject(1/0),muted$:new t.ValueSubject(!1),volume$:new t.ValueSubject(1),availableQualities$:new t.ValueSubject([]),currentQuality$:new t.ValueSubject(void 0),isAutoQualityEnabled$:new t.ValueSubject(!0),currentBuffer$:new t.ValueSubject(void 0),isBuffering$:new t.ValueSubject(!0),isEnded$:new t.ValueSubject(!1),isLooped$:new t.ValueSubject(!1),isLive$:new t.ValueSubject(void 0),liveTime$:new t.ValueSubject(void 0),currentFormat$:new t.ValueSubject(void 0),availableTextTracks$:new t.ValueSubject([]),currentTextTrack$:new t.ValueSubject(void 0),throughputEstimation$:new t.ValueSubject(void 0),rttEstimation$:new t.ValueSubject(void 0),videoBitrate$:new t.ValueSubject(void 0),hostname$:new t.ValueSubject(void 0),chromecastState$:new t.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),chromecastDeviceName$:new t.ValueSubject(void 0)},this.events={started$:new t.Subject,startAttempt$:new t.Subject,willPause$:new t.Subject,willResume$:new t.Subject,watchCoverageRecord$:new t.Subject,watchCoverageLive$:new t.Subject,managedError$:new t.Subject,fatalError$:new t.Subject,ended$:new t.Subject,seeked$:new t.Subject,willSeek$:new t.Subject,firstBytes$:new t.Subject,firstFrame$:new t.Subject,log$:new t.Subject},this.experimental={element$:new t.ValueSubject(void 0),enableDebugTelemetry$:new t.ValueSubject(!1),dumpTelemetry:W},this.initLogs(),this.tuning=function(t){var e,i,r={};try{for(var a=p(Object.keys(m)),n=a.next();!n.done;n=a.next()){var s=n.value,o=m[s],u=t[s];Array.isArray(o)&&Array.isArray(u)?r[s]=u:r[s]="object"==typeof o&&"object"==typeof u?d(d({},o),u):null!=u?u:o}}catch(t){e={error:t}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(e)throw e.error}}return r}(e),this.chromecastInitializer=new S({receiverApplicationId:e.chromecastReceiverId,isDisabled:e.disableChromecast,dependencies:{logger:this.logger}}),this.throughputEstimator=new _e(this.tuning.throughputEstimator),this.initChromecastSubscription(),this.initDesiredStateSubscriptions(),Proxy&&Reflect)return new Proxy(this,{get:function(t,e,r){var a=Reflect.get(t,e,r);return"function"!=typeof a?a:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{return a.apply(t,r)}catch(t){var s=r.map((function(t){return JSON.stringify(t,(function(t,e){var i=typeof e;return["number","string","boolean"].includes(i)?e:null===e?null:"<"+i+">"}))})),o="Player."+String(e),u="Exception calling "+o+" ("+s.join(", ")+")";throw i.events.fatalError$.next({id:o,message:u,thrown:t}),t}}}})}return e.prototype.initVideo=function(e){var i,r;return this.config=e,this.domContainer=function(e){var i="string"==typeof e.container?document.getElementById(e.container):e.container;return t.assertNonNullable(i,"Wrong container or containerId {"+e.container+"}"),i}(e),this.chromecastInitializer.contentId=null===(i=e.meta)||void 0===i?void 0:i.videoId,this.providerContainer=new Te({screenFormatsPriority:f(f([],h(Ie[n.SCREEN].live),!1),h(Ie[n.SCREEN].vod),!1),chromecastFormatsPriority:f(f([],h(Ie[n.CHROMECAST].live),!1),h(Ie[n.CHROMECAST].vod),!1),sources:e.sources,meta:null!==(r=e.meta)&&void 0!==r?r:{},container:this.domContainer,desiredState:this.desiredState,dependencies:{throughputEstimator:this.throughputEstimator,chromecastInitializer:this.chromecastInitializer,logger:this.logger},tuning:this.tuning}),this.initProviderContainerSubscription(this.providerContainer),this.initStartingVideoTrack(this.providerContainer),this.providerContainer.init(),this.initDebugTelemetry(),this},e.prototype.destroy=function(){var t;null===(t=this.providerContainer)||void 0===t||t.destroy(),this.throughputEstimator.destroy(),this.chromecastInitializer.destroy(),this.subscription.unsubscribe()},e.prototype.play=function(){var t=this.desiredState.playbackState;return t.getState()!==exports.PlaybackState.PLAYING&&t.startTransitionTo(exports.PlaybackState.PLAYING),this},e.prototype.pause=function(){var t=this.desiredState.playbackState;return t.getState()!==exports.PlaybackState.PAUSED&&t.startTransitionTo(exports.PlaybackState.PAUSED),this},e.prototype.stop=function(){var t=this.desiredState.playbackState;return t.getState()!==exports.PlaybackState.STOPPED&&t.startTransitionTo(exports.PlaybackState.STOPPED),this},e.prototype.seekTime=function(t){return this.events.willSeek$.next({from:this.getExactTime(),to:t}),this.desiredState.seekPosition.startTransitionTo(t),this},e.prototype.seekPercent=function(t){var e=this.info.duration$.getValue();return isFinite(e)&&this.seekTime(Math.abs(e)*t),this},e.prototype.setVolume=function(t){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setVolume(t):this.desiredState.volume.startTransitionTo({volume:t,muted:this.desiredState.volume.getState().muted}),this},e.prototype.setMuted=function(t){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setMuted(t):this.desiredState.volume.startTransitionTo({volume:this.desiredState.volume.getState().volume,muted:t}),this},e.prototype.setQuality=function(e){t.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.availableVideoTracks$.getValue();i.length||(this.explicitInitialQuality=e);var r=i.find((function(t){return t.quality===e}));return r&&this.desiredState.videoTrack.startTransitionTo(r.id),this},e.prototype.setAutoQuality=function(t){return this.desiredState.autoVideoTrackSwitching.startTransitionTo(t),this},e.prototype.setExternalTextTracks=function(t){return this.desiredState.externalTextTracks.startTransitionTo(t.map((function(t){return d({type:"external"},t)}))),this},e.prototype.selectTextTrack=function(t){var e;return(void 0===t||(null===(e=this.providerContainer)||void 0===e?void 0:e.providerOutput.availableTextTracks$.getValue().find((function(e){return e.id===t}))))&&this.desiredState.currentTextTrack.startTransitionTo(t),this},e.prototype.setTextTrackCueSettings=function(t){return this.desiredState.textTrackCuesSettings.startTransitionTo(t),this},e.prototype.setLooped=function(t){return this.desiredState.isLooped.startTransitionTo(t),this},e.prototype.toggleChromecast=function(){this.chromecastInitializer.toggleConnection()},e.prototype.getExactTime=function(){var e;t.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.element$.getValue();if(t.isNullable(i))return this.info.position$.getValue();var r=this.desiredState.seekPosition.getTransition(),a=null!==(e=null==r?void 0:r.to)&&void 0!==e?e:null==r?void 0:r.from;return t.isNonNullable(a)?a:i.currentTime},e.prototype.getAllLogs=function(){return this.logger.getAllLogs()},e.prototype.initDesiredStateSubscriptions=function(){var e=this;this.subscription.add(t.merge(this.desiredState.playbackState.stateChangeStarted$,this.desiredState.playbackState.forceChanged$).pipe(t.map((function(t){return t.to}))).subscribe(this.info.playbackState$)).add(this.desiredState.isLooped.stateChangeEnded$.pipe(t.map((function(t){return t.to}))).subscribe(this.info.isLooped$)).add(this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(t.map((function(t){return t.to}))).subscribe(this.info.isAutoQualityEnabled$)).add(this.desiredState.seekPosition.stateChangeEnded$.pipe(t.filter((function(t){return void 0===t.to})),t.mapTo(void 0)).subscribe(this.events.seeked$));var i=new t.Subscription;this.subscription.add(i),this.subscription.add(this.desiredState.playbackState.stateChangeStarted$.pipe(t.filter((function(t){return t.to===exports.PlaybackState.PLAYING}))).subscribe((function(){i.unsubscribe(),i.add(e.desiredState.playbackState.stateChangeEnded$.pipe(t.filter((function(t){return t.to===exports.PlaybackState.PLAYING||t.to===exports.PlaybackState.PAUSED})),t.once()).subscribe((function(t){var i=t.to===exports.PlaybackState.PLAYING,r=e.info.muted$.getValue(),a=i?r?exports.StartStatus.SuccessWithoutSound:exports.StartStatus.SuccessWithSound:exports.StartStatus.Failed;e.events.startAttempt$.next(a)})))}))),this.subscription.add(this.desiredState.playbackState.stateChangeEnded$.pipe(t.filter((function(t){return t.to===exports.PlaybackState.PLAYING}))).subscribe((function(){e.isPlaybackStarted||(e.isPlaybackStarted=!0,e.events.started$.next())}))).add(this.desiredState.playbackState.stateChangeStarted$.subscribe((function(t){switch(t.to){case exports.PlaybackState.PAUSED:e.events.willPause$.next();break;case exports.PlaybackState.PLAYING:e.isPlaybackStarted&&e.events.willResume$.next()}})))},e.prototype.initProviderContainerSubscription=function(e){var i=this;this.subscription.add(e.current$.pipe(t.map((function(t){return t.type}))).subscribe(this.info.currentFormat$)).add(e.current$.pipe(t.map((function(t){return t.destination})),t.filterChanged()).subscribe((function(){i.isPlaybackStarted=!1}))).add(e.providerOutput.availableVideoTracks$.pipe(t.map((function(t){return t.map((function(t){return t.quality})).sort((function(t,e){return _(t)?1:_(e)?-1:x(e,t)?1:-1}))}))).subscribe(this.info.availableQualities$)).add(e.providerOutput.currentVideoTrack$.subscribe((function(t){i.info.currentQuality$.next(null==t?void 0:t.quality),i.info.videoBitrate$.next(null==t?void 0:t.bitrate)}))).add(e.providerOutput.hostname$.pipe(t.filterChanged()).subscribe(this.info.hostname$)).add(e.providerOutput.currentTextTrack$.subscribe(this.info.currentTextTrack$)).add(e.providerOutput.availableTextTracks$.subscribe(this.info.availableTextTracks$)).add(e.providerOutput.currentBuffer$.subscribe(this.info.currentBuffer$)).add(e.providerOutput.duration$.subscribe(this.info.duration$)).add(e.providerOutput.isBuffering$.subscribe(this.info.isBuffering$)).add(e.providerOutput.isLive$.subscribe(this.info.isLive$)).add(e.providerOutput.liveTime$.subscribe(this.info.liveTime$)).add(e.providerOutput.volume$.pipe(t.map((function(t){return t.muted})),t.filterChanged()).subscribe(this.info.muted$)).add(e.providerOutput.volume$.pipe(t.map((function(t){return t.volume})),t.filterChanged()).subscribe(this.info.volume$)).add(function(e){var i=e.seekPosition,r=e.position$;return t.merge(i.stateChangeStarted$.pipe(t.map((function(t){return t.to})),t.filter(t.isNonNullable)),r.pipe(t.filter((function(){return t.isNullable(i.getState())&&t.isNullable(i.getTransition())}))))}({seekPosition:this.desiredState.seekPosition,position$:e.providerOutput.position$}).subscribe(this.info.position$)).add(t.merge(e.providerOutput.endedEvent$.pipe(t.mapTo(!0)),this.desiredState.seekPosition.stateChangeEnded$.pipe(t.filter((function(t){return void 0!==t.from})),t.mapTo(!1))).pipe(t.filterChanged()).subscribe(this.info.isEnded$)).add(e.providerOutput.endedEvent$.subscribe(this.events.ended$)).add(e.providerError$.subscribe(this.events.managedError$)).add(e.noAvailableProvidersError$.pipe(t.map((function(t){return{id:"NoProviders",message:"No suitable providers or all providers failed"}}))).subscribe(this.events.fatalError$)).add(e.providerOutput.element$.subscribe(this.experimental.element$)).add(e.providerOutput.firstBytesEvent$.subscribe(this.events.firstBytes$)).add(e.providerOutput.firstFrameEvent$.subscribe(this.events.firstFrame$)).add(this.throughputEstimator.estimation$.subscribe(this.info.throughputEstimation$)).add(this.throughputEstimator.rtt$.subscribe(this.info.rttEstimation$));var r=new t.Subscription;this.subscription.add(r),e.providerOutput.isLive$.pipe(t.filterChanged()).subscribe((function(e){switch(t.assertNonNullable(i.providerContainer),r.unsubscribe(),e){case!0:r.add(Re({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageLive$));break;case!1:r.add(De({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageRecord$))}}))},e.prototype.initChromecastSubscription=function(){this.subscription.add(this.chromecastInitializer.castState$.subscribe(this.info.chromecastState$)),this.subscription.add(this.chromecastInitializer.connection$.pipe(t.map((function(t){return null==t?void 0:t.castDevice.friendlyName}))).subscribe(this.info.chromecastDeviceName$)),this.subscription.add(this.chromecastInitializer.errorEvent$.subscribe(this.events.managedError$))},e.prototype.initStartingVideoTrack=function(e){var i=this,r=new t.Subscription;this.subscription.add(r),this.subscription.add(e.current$.pipe(t.filterChanged((function(t,e){return t.provider===e.provider}))).subscribe((function(){r.unsubscribe(),r.add(e.providerOutput.availableVideoTracks$.pipe(t.filter((function(t){return t.length>0})),t.once()).subscribe((function(t){i.setStartingVideoTrack(t)})))})))},e.prototype.setStartingVideoTrack=function(t){var e,i=this;this.explicitInitialQuality&&(e=t.find((function(t){return t.quality===i.explicitInitialQuality})),this.explicitInitialQuality=void 0),e||(e=tt(t,{container:this.domContainer.getBoundingClientRect(),throughput:this.throughputEstimator.estimation$.getValue(),tuning:this.tuning.autoTrackSelection})),this.desiredState.videoTrack.startTransitionTo(e.id),this.info.currentQuality$.next(e.quality),this.info.videoBitrate$.next(e.bitrate)},e.prototype.initLogs=function(){this.subscription.add(t.merge(this.desiredState.videoTrack.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"quality",type:"start"}}))),this.desiredState.videoTrack.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"quality",type:"end"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"autoQualityEnabled",type:"start"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"autoQualityEnabled",type:"end"}}))),this.desiredState.seekPosition.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"seekPosition",type:"start"}}))),this.desiredState.seekPosition.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"seekPosition",type:"end"}}))),this.desiredState.playbackState.stateChangeStarted$.pipe(t.map((function(t){return{transition:t,entity:"playbackState",type:"start"}}))),this.desiredState.playbackState.stateChangeEnded$.pipe(t.map((function(t){return{transition:t,entity:"playbackState",type:"end"}})))).pipe(t.map((function(t){return{component:"desiredState",message:"["+t.entity+" change] "+t.type+": "+JSON.stringify(t.transition)}}))).subscribe(this.logger.log)),this.subscription.add(this.logger.log$.subscribe(this.events.log$))},e.prototype.initDebugTelemetry=function(){var e,i=this,r=null===(e=this.providerContainer)||void 0===e?void 0:e.providerOutput;t.assertNonNullable(this.providerContainer),t.assertNonNullable(r),J={},this.experimental.enableDebugTelemetry$.next(this.tuning.enableTelemetryAtStart),[this.experimental.enableDebugTelemetry$.subscribe((function(t){z=t})),this.providerContainer.current$.subscribe((function(t){var e=t.type;return X("provider",e)})),r.duration$.subscribe((function(t){return X("duration",t)})),r.availableVideoTracks$.pipe(t.filter((function(t){return!!t.length})),t.once()).subscribe((function(t){return X("tracks",t)})),this.events.fatalError$.subscribe(new K("fatalError")),this.events.managedError$.subscribe(new K("managedError")),r.position$.subscribe(new K("position")),r.currentVideoTrack$.pipe(t.map((function(t){return null==t?void 0:t.quality}))).subscribe(new K("quality")),r.currentBuffer$.subscribe(new K("buffer")),r.isBuffering$.subscribe(new K("isBuffering"))].forEach((function(t){return i.subscription.add(t)})),X("codecs",Object.keys(ue).filter((function(t){return ue[t]})))},e}();Object.defineProperty(exports,"Observable",{enumerable:!0,get:function(){return t.Observable}}),Object.defineProperty(exports,"Subject",{enumerable:!0,get:function(){return t.Subject}}),Object.defineProperty(exports,"Subscription",{enumerable:!0,get:function(){return t.Subscription}}),Object.defineProperty(exports,"ValueSubject",{enumerable:!0,get:function(){return t.ValueSubject}}),exports.Player=Le,exports.SDK_VERSION="@vkontakte/videoplayer-core@2.0.32";
6
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@vkontakte/videoplayer-shared");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var r,a,n,s,o,u=t(require("lodash/debounce"));exports.PlaybackState=void 0,(r=exports.PlaybackState||(exports.PlaybackState={})).STOPPED="stopped",r.PLAYING="playing",r.PAUSED="paused",exports.VideoFormat=void 0,(a=exports.VideoFormat||(exports.VideoFormat={})).MPEG="MPEG",a.DASH="DASH",a.DASH_SEP="DASH_SEP",a.DASH_WEBM="DASH_WEBM",a.DASH_WEBM_VK="DASH_WEBM_VK",a.DASH_ONDEMAND="DASH_ONDEMAND",a.DASH_LIVE="DASH_LIVE",a.DASH_LIVE_WEBM="DASH_LIVE_WEBM",a.HLS="HLS",a.HLS_ONDEMAND="HLS_ONDEMAND",a.HLS_JS="HLS_JS",a.HLS_LIVE="HLS_LIVE",function(e){e.SCREEN="SCREEN",e.CHROMECAST="CHROMECAST"}(n||(n={})),exports.ChromecastState=void 0,(s=exports.ChromecastState||(exports.ChromecastState={})).NOT_AVAILABLE="NOT_AVAILABLE",s.AVAILABLE="AVAILABLE",s.CONNECTING="CONNECTING",s.CONNECTED="CONNECTED",exports.StartStatus=void 0,(o=exports.StartStatus||(exports.StartStatus={})).SuccessWithSound="success_with_sound",o.SuccessWithoutSound="success_without_sound",o.Failed="failed";var d=function(){return(d=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var a in t=arguments[i])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function c(e,t,i,r){return new(i||(i=Promise))((function(a,n){function s(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,o)}u((r=r.apply(e,t||[])).next())}))}function l(e,t){var i,r,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=t.call(e,s)}catch(e){n=[6,e],r=0}finally{i=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],r=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var r,a,n=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=n.next()).done;)s.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(i=n.return)&&i.call(n)}finally{if(a)throw a.error}}return s}function f(e,t,i){if(i||2===arguments.length)for(var r,a=0,n=t.length;a<n;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}var v,m,S={throughputEstimator:{emaAlpha:.2,emaAlphaSlow:.2,emaAlphaFast:.7,changeThreshold:.2,useBrowserEstimation:!0,streamMinSampleSize:10240,streamMinSampleTime:300},autoTrackSelection:{bitrateFactor:1.2,usePixelRatio:!0,limitByContainer:!0,containerSizeFactor:2,stepQualityDown:!1,stepQualityDownExceptForTop:!1},enableTelemetryAtStart:!1,formatsToAvoid:[exports.VideoFormat.DASH_WEBM_VK],disableChromecast:!1,chromecastReceiverId:void 0,useWebmBigRequest:!0,bigRequestMinInitSize:51200,bigRequestMinDataSize:1048576,stripRangeHeader:!0,flushShortLoopedBuffers:!0,insufficientBufferRuleMargin:1e4,dashSeekInSegmentDurationThreshold:18e4,dashSeekInSegmentAlwaysSeekDelta:1e4},b=function(){function t(t){var i,r=this;this.connection$=new e.ValueSubject(void 0),this.castState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.errorEvent$=new e.Subject,this.realCastState$=new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");var a,n="chrome"in window;(this.log({message:"[constructor] receiverApplicationId: "+this.params.receiverApplicationId+", isDisabled: "+this.params.isDisabled+", isSupported: "+n}),!t.isDisabled&&n)&&(e.isNonNullable(null===(i=window.chrome)||void 0===i?void 0:i.cast)?this.initializeCastApi():(window.__onGCastApiAvailable=function(e){e&&r.initializeCastApi()},(a="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((function(e,t){var i=document.createElement("script");i.setAttribute("src",a),i.onload=function(){return e},i.onerror=function(){return t},document.body.appendChild(i)}))).catch((function(){return r.errorEvent$.next({id:"ChromecastLoading",message:"Script loading failed!"})}))))}return t.prototype.connect=function(){var e;null===(e=cast.framework.CastContext.getInstance())||void 0===e||e.requestSession()},t.prototype.disconnect=function(){var e,t;null===(t=null===(e=cast.framework.CastContext.getInstance())||void 0===e?void 0:e.getCurrentSession())||void 0===t||t.endSession(!0)},t.prototype.stopMedia=function(){return new Promise((function(e,t){var i,r,a;null===(a=null===(r=null===(i=cast.framework.CastContext.getInstance())||void 0===i?void 0:i.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===a||a.stop(new chrome.cast.media.StopRequest,e,t)}))},t.prototype.toggleConnection=function(){e.isNonNullable(this.connection$.getValue())?this.disconnect():this.connect()},t.prototype.setVolume=function(t){var i=this.connection$.getValue();e.isNullable(i)||(i.remotePlayer.volumeLevel=t,i.remotePlayerController.setVolumeLevel())},t.prototype.setMuted=function(t){var i=this.connection$.getValue();e.isNullable(i)||t!==i.remotePlayer.isMuted&&i.remotePlayerController.muteOrUnmute()},t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.initListeners=function(){var t=this,i=new cast.framework.RemotePlayer,r=new cast.framework.RemotePlayerController(i),a=cast.framework.CastContext.getInstance();this.subscription.add(e.fromEvent(a,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe((function(i){var r,n;switch(i.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:t.contentId=null===(n=null===(r=a.getCurrentSession())||void 0===r?void 0:r.getMediaSession())||void 0===n?void 0:n.media.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:t.contentId=void 0;break;default:return e.assertNever(i.sessionState)}}))).add(e.merge(e.fromEvent(a,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(e.tap((function(e){t.log({message:"[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: "+JSON.stringify(e)})})),e.map((function(e){return e.castState}))),e.observableFrom([a.getCastState()])).pipe(e.filterChanged(),e.map(g),e.tap((function(e){t.log({message:"realCastState$: "+e})}))).subscribe(this.realCastState$)).add(this.realCastState$.subscribe((function(n){var s,o=n===exports.ChromecastState.CONNECTED,u=e.isNonNullable(t.connection$.getValue());if(o&&!u){var d=a.getCurrentSession();e.assertNonNullable(d);var c=d.getCastDevice(),l=null===(s=d.getMediaSession())||void 0===s?void 0:s.media.contentId;(e.isNullable(l)||l===t.contentId)&&(t.log({message:"connection created"}),t.connection$.next({remotePlayer:i,remotePlayerController:r,session:d,castDevice:c}))}else!o&&u&&(t.log({message:"connection destroyed"}),t.connection$.next(void 0));t.castState$.next(n===exports.ChromecastState.CONNECTED?e.isNonNullable(t.connection$.getValue())?exports.ChromecastState.CONNECTED:exports.ChromecastState.AVAILABLE:n)})))},t.prototype.initializeCastApi=function(){var e,t,i,r;try{t=cast.framework.CastContext.getInstance(),i=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(e){return}try{t.setOptions({receiverApplicationId:null!==(e=this.params.receiverApplicationId)&&void 0!==e?e:i,autoJoinPolicy:r}),this.initListeners()}catch(e){this.errorEvent$.next({id:"ChromecastInitializer",message:"[initializeCastApi] failed",thrown:e})}},t}(),g=function(t){switch(t){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return exports.ChromecastState.NOT_AVAILABLE;case cast.framework.CastState.NOT_CONNECTED:return exports.ChromecastState.AVAILABLE;case cast.framework.CastState.CONNECTING:return exports.ChromecastState.CONNECTING;case cast.framework.CastState.CONNECTED:return exports.ChromecastState.CONNECTED;default:return e.assertNever(t)}};!function(e){e.VIDEO="video",e.AUDIO="audio",e.TEXT="text"}(v||(v={})),function(e){e.NONE="none",e.DOWNLOADING="downloading",e.DOWNLOADED="downloaded",e.FED="fed"}(m||(m={}));var y,T,E=function(e){return c(void 0,void 0,void 0,(function(){var t,i,r;return l(this,(function(a){switch(a.label){case 0:t=e.muted,a.label=1;case 1:return a.trys.push([1,3,,8]),[4,e.play()];case 2:return a.sent(),[3,8];case 3:if(i=a.sent(),t)return console.warn(i),[2,!1];e.muted=!0,a.label=4;case 4:return a.trys.push([4,6,,7]),[4,e.play()];case 5:return a.sent(),[3,7];case 6:return r=a.sent(),e.muted=!1,console.warn(r),[2,!1];case 7:return[3,8];case 8:return[2,!0]}}))}))},P=function(t,i,r,a){var n=void 0===a?{}:a,s=n.equal,o=void 0===s?function(e,t){return e===t}:s,u=n.changed$,d=n.onError,c=t.getState(),l=i(),p=e.isNullable(u),h=new e.Subscription;return u&&h.add(u.subscribe((function(e){var i=t.getState();o(e,i)&&t.setState(e)}),d)),o(l,c)||(r(c),p&&t.setState(c)),h.add(t.stateChangeStarted$.subscribe((function(e){r(e.to),p&&t.setState(e.to)}),d)),h},k=function(t,i,r){return P(i,(function(){return t.loop}),(function(i){e.isNonNullable(i)&&(t.loop=i)}),{onError:r})},w=function(t,i,r,a){return P(i,(function(){return{muted:t.muted,volume:t.volume}}),(function(i){e.isNonNullable(i)&&(t.muted=i.muted,t.volume=i.volume)}),{equal:function(e,t){return e===t||(null==e?void 0:e.muted)===(null==t?void 0:t.muted)&&(null==e?void 0:e.volume)===(null==t?void 0:t.volume)},changed$:r,onError:a})},x=function(e,t){if(e.id===t)return!0;var i=h(t.split("|"),3);i[0];var r=i[1],a=i[2];return e.language===r&&e.label===a},A=function(){function t(){this.available$=new e.Subject,this.current$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.externalTracks=new Map}return t.prototype.connect=function(t,i,r){var a=this;this.video=t,this.cueSettings=i.textTrackCuesSettings,this.subscribe();var n=function(e){a.error$.next({id:"TextTracksManager",message:"Generic HtmlVideoTextTrackManager error",thrown:e})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(P(i.externalTextTracks,(function(){return Object.values(a.externalTracks)}),(function(t){e.isNonNullable(t)&&a.setExternal(t)}),{equal:function(t,i){return e.isNonNullable(t)&&e.isNonNullable(i)&&t.length===i.length&&t.every((function(e,t){return e.id===i[t].id}))},changed$:this.available$.pipe(e.map((function(e){return e.filter((function(e){return"external"===e.type}))}))),onError:n})),this.subscription.add(P(i.currentTextTrack,(function(){if(!a.video){var e=a.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}));return e&&a.htmlTextTrackToITextTrack(e).id}}),(function(e){return a.select(e)}),{changed$:this.current$,onError:n})),this.subscription.add(P(i.textTrackCuesSettings,(function(){return{}}),(function(){var e,t;if(a.video)try{for(var i=p(a.htmlTextTracksAsArray()),r=i.next();!r.done;r=i.next()){var n=r.value;a.applyCueSettings(n.cues),a.applyCueSettings(n.activeCues)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}})))},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(this.video);var i=this.video.textTracks;this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(){var e=t.current$.getValue();t.select(e)}))),this.subscription.add(e.merge(e.fromEvent(i,"addtrack"),e.fromEvent(i,"removetrack"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().map((function(e){return t.htmlTextTrackToITextTrack(e)}))})),e.filterChanged((function(e,t){return e.length===t.length&&e.every((function(e,i){return e.id===t[i].id}))}))).subscribe(this.available$)),this.subscription.add(e.merge(e.fromEvent(i,"change"),e.observableFrom(["init"])).pipe(e.map((function(){return t.htmlTextTracksAsArray().find((function(e){return"showing"===e.mode}))})),e.map((function(e){return e&&t.htmlTextTrackToITextTrack(e).id})),e.filterChanged()).subscribe(this.current$));var r=function(e){var i,r;return t.applyCueSettings(null!==(r=null===(i=e.target)||void 0===i?void 0:i.activeCues)&&void 0!==r?r:null)};this.subscription.add(e.fromEvent(i,"addtrack").subscribe((function(e){var i,a;null===(i=e.track)||void 0===i||i.addEventListener("cuechange",r);var n=function(e){var i,r,a,s,o,u=null!==(r=null===(i=e.target)||void 0===i?void 0:i.cues)&&void 0!==r?r:null;u&&u.length&&(t.applyCueSettings(null!==(s=null===(a=e.target)||void 0===a?void 0:a.cues)&&void 0!==s?s:null),null===(o=e.target)||void 0===o||o.removeEventListener("cuechange",n))};null===(a=e.track)||void 0===a||a.addEventListener("cuechange",n)}))),this.subscription.add(e.fromEvent(i,"removetrack").subscribe((function(e){var t;null===(t=e.track)||void 0===t||t.removeEventListener("cuechange",r)})))},t.prototype.applyCueSettings=function(t){var i,r;if(t&&t.length){var a=this.cueSettings.getState();try{for(var n=p(Array.from(t)),s=n.next();!s.done;s=n.next()){var o=s.value;e.isNonNullable(a.align)&&(o.align=a.align),e.isNonNullable(a.position)&&(o.position=a.position),e.isNonNullable(a.size)&&(o.size=a.size),e.isNonNullable(a.line)&&(o.line=a.line)}}catch(e){i={error:e}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}}},t.prototype.htmlTextTracksAsArray=function(i){void 0===i&&(i=!1),e.assertNonNullable(this.video);var r=f([],h(this.video.textTracks),!1);return i?r:r.filter(t.isHealthyTrack)},t.prototype.htmlTextTrackToITextTrack=function(e){var t=e.language,i=e.label,r=""!==e.id?e.id:function(e){return["__",e.language,e.label].join("|")}(e);return this.externalTracks.has(r)?{id:r,type:"external",language:t,label:i,url:this.externalTracks.get(r).url}:{id:r,type:"internal",language:t,label:i}},t.isHealthyTrack=function(e){return"metadata"!==e.kind&&(""!==e.id||""!==e.label||""!==e.language)},t.prototype.setExternal=function(e){var t=this;e.filter((function(e){var i=e.id;return!t.externalTracks.has(i)})).forEach((function(e){return t.attach(e)})),Array.from(this.externalTracks.keys()).filter((function(t){return!e.find((function(e){return e.id===t}))})).forEach((function(e){return t.detach(e)}))},t.prototype.select=function(t){var i,r;e.assertNonNullable(this.video);try{for(var a=p(this.htmlTextTracksAsArray(!0)),n=a.next();!n.done;n=a.next()){var s=n.value;e.isNonNullable(t)&&x(s,t)?s.mode="showing":s.mode="disabled"}}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}},t.prototype.destroy=function(){var e,t;if(this.subscription.unsubscribe(),this.video)try{for(var i=p(Array.from(this.video.getElementsByTagName("track"))),r=i.next();!r.done;r=i.next()){var a=r.value,n=a.getAttribute("id");n&&this.externalTracks.has(n)&&this.video.removeChild(a)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}this.externalTracks.clear()},t.prototype.attach=function(t){e.assertNonNullable(this.video);var i=document.createElement("track");i.setAttribute("src",t.url),i.setAttribute("id",t.id),t.label&&i.setAttribute("label",t.label),t.language&&i.setAttribute("srclang",t.language),this.externalTracks.set(t.id,t),this.video.appendChild(i)},t.prototype.detach=function(t){e.assertNonNullable(this.video);var i=Array.prototype.find.call(this.video.getElementsByTagName("track"),(function(e){return e.getAttribute("id")===t}));i&&this.video.removeChild(i),this.externalTracks.delete(t)},t}(),N=function(e){var t=document.createElement("video");return t.setAttribute("crossorigin","anonymous"),t.setAttribute("playsinline","playsinline"),e.appendChild(t),t},$=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadeddata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},D=function(){function e(e){this._buffer=[],this._source=e}return e.prototype.fill=function(){this._buffer=[];for(var e=this._source.currentTime,t=0,i=this._source.buffered.length;t<i;t++){var r=this._source.buffered.start(t),a=this._source.buffered.end(t);r>e&&r-e<3&&(r=e),this._buffer.push({start:r,end:a,i:t})}return this._buffer.sort((function(e,t){return e.start-t.start})),this._buffer},e.prototype.getByTime=function(e){return this._buffer.find((function(t){return e>=t.start&&e<t.end}))},e.prototype.getNextWithGap=function(e,t){var i=this.getNext(e);if(i&&i.start-e.end<(t||3))return i},e.prototype.getNext=function(e){var t=this._buffer.indexOf(e);if(~t&&this._buffer.length-1>t)return this._buffer[++t]},e.prototype.smartRemove=function(e,t,i){this._buffer.forEach((function(r){var a=r.start,n=r.end,s=a>=e&&a<t,o=n>=e&&n<t;s&&o||(s?i(t,n):o?i(a,e):a<e&&n>t?(i(t,n),i(a,e)):i(a,n))}))},e.prototype.destroy=function(){this._buffer=[]},e}(),_=function(e,t,i){void 0===i&&(i=3);for(var r=0,a=0,n=0;n<e.length;n++){var s=e.start(n),o=e.end(n);if(s<=t&&t<=o){if(r=s,a=o,!i)return{start:r,end:a};for(var u=n-1;u>=0;u--)e.end(u)+i>=r&&(r=e.start(u));for(var d=n+1;d<e.length;d++)e.start(d)-i<=a&&(a=e.end(d))}}return{start:r,end:a}},I=function(t){return new e.Observable((function(i){var r=0;return(new e.Subscription).add(e.fromEvent(t,"loadstart").subscribe((function(){r=Date.now()}))).add(e.fromEvent(t,"loadedmetadata").subscribe((function(){i.next(Date.now()-r)})))})).pipe(e.once())},R=function(t){var i=function(i,r){return void 0===r&&(r=function(){}),e.fromEvent(t,i).pipe(e.map(r))},r=e.merge.apply(void 0,f([],h(["waiting","pause","canplay","canplaythrough","playing","seeked","ended"].map((function(i){return e.fromEvent(t,i)}))),!1)).pipe(e.map((function(){return t.readyState<3})),e.filterChanged()),a=e.merge(e.fromEvent(t,"progress"),e.fromEvent(t,"timeupdate")).pipe(e.map((function(){return _(t.buffered,t.currentTime)}))),n=e.fromEvent(t,"volumechange").pipe(e.debounce(0),e.map((function(){return{muted:t.muted,volume:t.volume}}))),s=e.fromEvent(t,"error").pipe(e.map((function(){var e=t.error;return{id:e?"MediaError#"+e.code:"HtmlVideoError",message:e?e.message:"Error event from HTML video element"}})));return{play$:i("play"),pause$:i("pause"),canplay$:i("canplay"),ended$:i("ended"),error$:s,seeked$:i("seeked"),seeking$:i("seeking"),progress$:i("progress"),loadedMetadata$:i("loadedmetadata"),loadedData$:i("loadeddata"),timeUpdate$:i("timeupdate",(function(){return t.currentTime})),durationChange$:i("durationchange",(function(){return t.duration})),isBuffering$:r,currentBuffer$:a,volumeState$:n,firstBytes$:I(t),firstFrame$:$(t)}},C=function(e,t,i){void 0===i&&(i=!1);var r=e.getTransition();!i&&r&&r.to!==t||e.setState(t)};exports.VideoQuality=void 0,(y=exports.VideoQuality||(exports.VideoQuality={})).INVARIANT="Invariant quality",y.Q_144P="144p",y.Q_240P="240p",y.Q_360P="360p",y.Q_480P="480p",y.Q_720P="720p",y.Q_1080P="1080p",y.Q_1440P="1440p",y.Q_2160P="2160p",y.Q_4320P="4320p";var L,O=((T={})[exports.VideoQuality.Q_144P]=144,T[exports.VideoQuality.Q_240P]=240,T[exports.VideoQuality.Q_360P]=360,T[exports.VideoQuality.Q_480P]=480,T[exports.VideoQuality.Q_720P]=720,T[exports.VideoQuality.Q_1080P]=1080,T[exports.VideoQuality.Q_1440P]=1440,T[exports.VideoQuality.Q_2160P]=2160,T[exports.VideoQuality.Q_4320P]=4320,T),V=function(e,t){return O[e]>O[t]},M=function(e,t){return O[e]<O[t]},B=Object.keys(O).sort((function(e,t){return M(e,t)?-1:1})),U=function(e,t){var i=e.width,r=e.height;return function(e,t){return void 0===t&&(t=.02),f([],h(B),!1).find((function(i){return O[i]*(1+t)>=e}))}(Math.min(i,r),t)},F=function(e){return e===exports.VideoQuality.INVARIANT},H=!1,q={},G=function(e){e(q)},Y=function(e,t){var i;H&&(q.meta=null!==(i=q.meta)&&void 0!==i?i:{},q.meta[e]=t)},j=function(){function e(e){this.name=e}return e.prototype.next=function(e){var t,i;if(H){q.series=null!==(t=q.series)&&void 0!==t?t:{};var r=null!==(i=q.series[this.name])&&void 0!==i?i:[];r.push([Date.now(),e]),q.series[this.name]=r}},e}(),Q=new j("best_bitrate"),z=function(t,i){var r,a,n=i.container,s=i.throughput,o=i.tuning,u=o.usePixelRatio&&null!==(r=window.devicePixelRatio)&&void 0!==r?r:1,d=o.limitByContainer&&n&&n.width>0&&n.height>0&&{width:n.width*u*o.containerSizeFactor,height:n.height*u*o.containerSizeFactor},c=d&&U(d,0),l=t.filter((function(e){return!F(e.quality)})).sort((function(e,t){return V(e.quality,t.quality)?-1:1})),p=l.filter((function(t){var i=!c||M(t.quality,c),r=!(e.isNonNullable(s)&&isFinite(s)&&e.isNonNullable(t.bitrate))||s>=t.bitrate*o.bitrateFactor;return i&&r})),h=p[0];if(h&&h.bitrate&&Q.next(h.bitrate),o.stepQualityDown&&h){if(v=p[1])return v}else if(o.stepQualityDownExceptForTop&&h){var f=h===l[0],v=p[1];if(f&&h.bitrate&&s){var m=2*h.bitrate;if(s>=m*o.bitrateFactor)return h}if(v)return v}return null!==(a=null!=h?h:l[l.length-1])&&void 0!==a?a:t[0]},W=function(e){return new URL(e).hostname},J=function(t,i){return void 0===i&&(i=300),window.ResizeObserver?new e.Observable((function(r){var a=new ResizeObserver(u.default((function(t){var i,a,n=t[0];n&&(n.contentBoxSize&&n.contentBoxSize[0]?(a=n.contentBoxSize[0].blockSize,i=n.contentBoxSize[0].inlineSize):n.contentRect&&(i=n.contentRect.width,a=n.contentRect.height),e.isNonNullable(i)&&e.isNonNullable(a)&&r.next({width:i,height:a}))}),i));return a.observe(t),function(){return a.disconnect()}})):new e.Observable((function(e){var i=t.getBoundingClientRect(),r=i.width,a=i.height;e.next({width:r,height:a})}))},X=function(){function t(t){this.transitionStarted$=new e.Subject,this.transitionEnded$=new e.Subject,this.transitionUpdated$=new e.Subject,this.forceChanged$=new e.Subject,this.stateChangeStarted$=e.merge(this.transitionStarted$,this.transitionUpdated$),this.stateChangeEnded$=e.merge(this.transitionEnded$,this.forceChanged$),this.state=t}return t.prototype.setState=function(e){var t=this.transition,i=this.state;this.transition=void 0,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})},t.prototype.startTransitionTo=function(t){var i=this.transition,r=this.state;r===t||e.isNonNullable(i)&&i.to===t||(this.state=t,i?(this.transition={from:i.from,to:t,canceledTransition:i},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:t},this.transitionStarted$.next(this.transition)))},t.prototype.getTransition=function(){return this.transition},t.prototype.getState=function(){return this.state},t}();!function(e){e[e.HEADER=0]="HEADER",e[e.PARAM=1]="PARAM"}(L||(L={}));var K,Z,ee,te=function(t,i,r,a,n,s){return void 0===a&&(a=L.HEADER),c(void 0,void 0,void 0,(function(){var o,u,p,f,v,m,S,b,g,y,T,E,P,k,w,x,A,N;return l(this,(function($){switch($.label){case 0:switch(o=new Headers(null===(w=null==s?void 0:s.fetchInit)||void 0===w?void 0:w.headers),u=t,a){case L.HEADER:o.append("Range",i+"-"+r);break;case L.PARAM:(p=new URL(u,location.href)).searchParams.append("bytes",i+"-"+r),u=p.toString();break;default:e.assertNever(a)}return[4,fetch(u,d(d({},null!==(x=null==s?void 0:s.fetchInit)&&void 0!==x?x:{}),{headers:o}))];case 1:return(f=$.sent()).ok&&f.body?(v=h(f.body.tee(),2),m=v[0],S=v[1],b=m.getReader(),null===(A=null==s?void 0:s.throughputEstimator)||void 0===A||A.stream$.next(S),g=parseInt(null!==(N=f.headers.get("Content-Length"))&&void 0!==N?N:"",10),y=0,T=new ArrayBuffer(g),E=new Uint8Array(T),P=new DataView(T),k=function(e){var t=e.done,i=e.value;return c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return t?(null==n||n(P,y),[3,3]):[3,1];case 1:return i?(E.set(i,y),y+=i.byteLength,null==n||n(P,y),[4,null==b?void 0:b.read().then(k)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},[4,null==b?void 0:b.read().then(k)]):[2,Promise.reject(new Error("Fetch error "+f.status+": "+f.statusText))];case 2:return $.sent(),[2,T]}}))}))},ie=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e};!function(e){e[e.EBML=440786851]="EBML",e[e.EBMLVersion=17030]="EBMLVersion",e[e.EBMLReadVersion=17143]="EBMLReadVersion",e[e.EBMLMaxIDLength=17138]="EBMLMaxIDLength",e[e.EBMLMaxSizeLength=17139]="EBMLMaxSizeLength",e[e.DocType=17026]="DocType",e[e.DocTypeVersion=17031]="DocTypeVersion",e[e.DocTypeReadVersion=17029]="DocTypeReadVersion",e[e.Void=236]="Void",e[e.Segment=408125543]="Segment",e[e.SeekHead=290298740]="SeekHead",e[e.Seek=19899]="Seek",e[e.SeekID=21419]="SeekID",e[e.SeekPosition=21420]="SeekPosition",e[e.Info=357149030]="Info",e[e.TimestampScale=2807729]="TimestampScale",e[e.Duration=17545]="Duration",e[e.Tracks=374648427]="Tracks",e[e.Chapters=272869232]="Chapters",e[e.Cluster=524531317]="Cluster",e[e.Attachments=423732329]="Attachments",e[e.Tags=307544935]="Tags",e[e.Cues=475249515]="Cues",e[e.CuePoint=187]="CuePoint",e[e.CueTime=179]="CueTime",e[e.CueTrackPositions=183]="CueTrackPositions",e[e.CueTrack=247]="CueTrack",e[e.CueClusterPosition=241]="CueClusterPosition",e[e.CueRelativePosition=240]="CueRelativePosition",e[e.CueDuration=178]="CueDuration",e[e.CueBlockNumber=21368]="CueBlockNumber",e[e.CueCodecState=234]="CueCodecState",e[e.CueReference=219]="CueReference",e[e.CueRefTime=150]="CueRefTime"}(Z||(Z={})),function(e){e.SignedInteger="int",e.UnsignedInteger="uint",e.Float="float",e.String="string",e.UTF8="utf8",e.Date="date",e.Master="master",e.Binary="binary"}(ee||(ee={}));var re,ae=((K={})[Z.EBML]={type:ee.Master},K[Z.EBMLVersion]={type:ee.UnsignedInteger},K[Z.EBMLReadVersion]={type:ee.UnsignedInteger},K[Z.EBMLMaxIDLength]={type:ee.UnsignedInteger},K[Z.EBMLMaxSizeLength]={type:ee.UnsignedInteger},K[Z.DocType]={type:ee.String},K[Z.DocTypeVersion]={type:ee.UnsignedInteger},K[Z.DocTypeReadVersion]={type:ee.UnsignedInteger},K[Z.Void]={type:ee.Binary},K[Z.Segment]={type:ee.Master},K[Z.SeekHead]={type:ee.Master},K[Z.Seek]={type:ee.Master},K[Z.SeekID]={type:ee.Binary},K[Z.SeekPosition]={type:ee.UnsignedInteger},K[Z.Info]={type:ee.Master},K[Z.TimestampScale]={type:ee.UnsignedInteger},K[Z.Duration]={type:ee.Float},K[Z.Tracks]={type:ee.Master},K[Z.Chapters]={type:ee.Master},K[Z.Cluster]={type:ee.Master},K[Z.Attachments]={type:ee.Master},K[Z.Tags]={type:ee.Master},K[Z.Cues]={type:ee.Master},K[Z.CuePoint]={type:ee.Master},K[Z.CueTime]={type:ee.UnsignedInteger},K[Z.CueTrackPositions]={type:ee.Master},K[Z.CueTrack]={type:ee.UnsignedInteger},K[Z.CueClusterPosition]={type:ee.UnsignedInteger},K[Z.CueRelativePosition]={type:ee.UnsignedInteger},K[Z.CueDuration]={type:ee.UnsignedInteger},K[Z.CueBlockNumber]={type:ee.UnsignedInteger},K[Z.CueCodecState]={type:ee.UnsignedInteger},K[Z.CueReference]={type:ee.Master},K[Z.CueRefTime]={type:ee.UnsignedInteger},K),ne=function(e){var t=e.getUint8(0),i=0;128&t?i=1:64&t?i=2:32&t?i=3:16&t&&(i=4);var r=se(e,i),a=r in ae,n=a?ae[r].type:ee.Binary,s=e.getUint8(i),o=0;128&s?o=1:64&s?o=2:32&s?o=3:16&s?o=4:8&s?o=5:4&s?o=6:2&s?o=7:1&s&&(o=8);var u,d=new DataView(e.buffer,e.byteOffset+i+1,o-1),c=((s&255>>o)<<8*(o-1))+se(d),l=i+o;return u=l+c>e.byteLength?new DataView(e.buffer,e.byteOffset+l):new DataView(e.buffer,e.byteOffset+l,c),{tag:a?r:"0x"+r.toString(16).toUpperCase(),type:n,value:u,valueSize:c}},se=function(e,t){switch(void 0===t&&(t=e.byteLength),t){case 1:return e.getUint8(0);case 2:return e.getUint16(0);case 3:return e.getUint16(0)<<8|e.getUint8(2);case 4:return e.getUint32(0);case 5:return e.getUint32(0)<<8|e.getUint8(4);case 6:return e.getUint32(0)<<16|e.getUint16(4);case 7:return e.getUint32(0)<<32|e.getUint16(4)<<8|e.getUint8(6);case 8:return e.getUint32(0)<<32|e.getUint32(4)}return 0},oe=function(t,i){switch(i){case ee.SignedInteger:return t.getInt8(0);case ee.UnsignedInteger:return se(t);case ee.Float:return 4===t.byteLength?t.getFloat32(0):t.getFloat64(0);case ee.String:return new TextDecoder("ascii").decode(t);case ee.UTF8:return new TextDecoder("utf-8").decode(t);case ee.Date:return new Date(Date.UTC(2001,0)+t.getInt8(0)).getTime();case ee.Master:case ee.Binary:return t;default:e.assertNever(i)}},ue=function(e,t){for(var i=0;i<e.byteLength;){var r=new DataView(e.buffer,e.byteOffset+i),a=ne(r);if(!t(a))return;a.type===ee.Master&&ue(a.value,t),i=a.value.byteOffset-e.byteOffset+a.valueSize}},de=[Z.Info,Z.SeekHead,Z.Tracks,Z.Chapters,Z.Cluster,Z.Cues,Z.Attachments,Z.Tags],ce=function(e,t,i){return void 0===t&&(t=0),c(void 0,void 0,void 0,(function(){var r,a,n,s,o,u,d,c,p,h,f,v,m,S,b;return l(this,(function(l){switch(l.label){case 0:return r=e.initRange,a=r.from,n=r.to,s=a,o=n,u=!1,e.indexRange&&(d=e.indexRange.from,c=e.indexRange.to,(u=n+1===d)&&(s=Math.min(d,a),o=Math.max(c,n))),s=Math.min(s,0),o+=t,[4,te(e.url,s,o,L.PARAM,void 0,{throughputEstimator:i})];case 1:if(p=l.sent(),!function(e){if(e.getUint32(0)!==Z.EBML)return!1;var t=void 0,i=void 0,r=void 0,a=ne(e);return ue(a.value,(function(e){var a=e.tag,n=e.type,s=e.value;return a===Z.EBMLReadVersion?t=oe(s,n):a===Z.DocType?i=oe(s,n):a===Z.DocTypeReadVersion&&(r=oe(s,n)),!0})),(void 0===t||t<=1)&&void 0!==i&&"webm"===i&&(void 0===r||r<=2)}(h=new DataView(p,a-s,n-s)))throw new Error("Not a valid webm file");return f=le(h),u&&void 0!==d&&void 0!==c?(v=new DataView(p,d-s,c-d),[3,5]):[3,2];case 2:return void 0===f.cuesSeekPosition?[3,4]:(m=f.segmentStart+f.cuesSeekPosition,1048576,[4,te(e.url,m,m+1048576,L.PARAM)]);case 3:return S=l.sent(),v=new DataView(S),[3,5];case 4:throw new ReferenceError("No way to load representation index");case 5:return b=pe(v,f),[2,{dataView:new DataView(p),init:f,segments:b}]}}))}))},le=function(t){var i=void 0,r=void 0,a=void 0,n=void 0,s=!1,o=!1,u=!1,d=void 0,c=void 0;return ue(t,(function(e){var t=e.tag,l=e.type,p=e.value,h=e.valueSize;if(t===Z.SeekID){var f=oe(p,l);c=se(f)}else t!==Z.SeekPosition&&(c=void 0);return t===Z.Segment?(i=p.byteOffset,r=p.byteOffset+h):t===Z.Info?s=!0:t===Z.SeekHead?o=!0:t===Z.TimestampScale?a=oe(p,l):t===Z.Duration?n=oe(p,l):t===Z.SeekPosition&&c===Z.Cues?d=oe(p,l):s&&o&&de.includes(t)&&(u=!0),!u})),e.assertNonNullable(i,"Failed to parse webm Segment start"),e.assertNonNullable(r,"Failed to parse webm Segment end"),e.assertNonNullable(n,"Failed to parse webm Segment duration"),a=null!=a?a:1e6,{segmentStart:Math.round(i/1e9*a*1e3),segmentEnd:Math.round(r/1e9*a*1e3),timeScale:a,segmentDuration:Math.round(n/1e9*a*1e3),cuesSeekPosition:d}},pe=function(t,i){var r,a=!1,n=!1,s=function(t){return e.isNonNullable(t.time)&&e.isNonNullable(t.position)},o=[];return ue(t,(function(e){var t=e.tag,i=e.type,u=e.value;switch(t){case Z.Cues:a=!0;break;case Z.CuePoint:r&&s(r)&&o.push(r),r={};break;case Z.CueTime:r&&(r.time=oe(u,i));break;case Z.CueTrackPositions:break;case Z.CueClusterPosition:r&&(r.position=oe(u,i));break;default:a&&de.includes(t)&&(n=!0)}return!(a&&n)})),r&&s(r)&&o.push(r),o.map((function(e,t){var r=e.time,a=e.position,n=o[t+1];return{status:m.NONE,time:{from:r,to:n?n.time:i.segmentDuration},byte:{from:i.segmentStart+a,to:n?i.segmentStart+n.position-1:i.segmentEnd-1}}}))},he=function(){function t(t,i,r,a){var n=a.throughputEstimator;this.ended$=new e.ValueSubject(!1),this.playingRepresentation$=new e.ValueSubject(void 0),this.error$=new e.Subject,this.subscription=new e.Subscription,this.abortController=new AbortController,this.throughputEstimator=n,this.initData=new Map,this.segments=new Map,this.representations=new Map(r.map((function(e){return[e.id,e]}))),this.kind=t,this.mediaSource=i,this.sourceBuffer=null,this.segmentDownloadPromise=Promise.resolve()}return t.prototype.startWith=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,c,p,h=this;return l(this,(function(l){switch(l.label){case 0:return i=this.representations.get(t),e.assertNonNullable(i,"Cannot find representation "+t),r=Math.ceil(1e3*i.bitrate/8*1*1.1),this.playingRepresentationId=t,this.downloadingRepresentationId=t,this.sourceBuffer=this.mediaSource.addSourceBuffer(i.mime+'; codecs="'+i.codecs+'"'),this.subscription.add(e.fromEvent(this.sourceBuffer,"updateEnd").subscribe((function(){return h.checkEjectedSegments()}),(function(e){return h.error$.next({id:"SegmentEjection",message:"Error when trying to clear segments ejecte by browser",thrown:e})}))),[4,ce(i,r,this.throughputEstimator)];case 1:return a=l.sent(),n=a.dataView,s=a.segments,o=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength-r),this.initData.set(t,o),u=s.filter((function(e){return e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength})),c=u.at(-1),p=new DataView(n.buffer,n.byteOffset,u.length&&c?Math.min(c.byte.to-n.byteOffset+1,n.byteLength):n.byteLength-r),[4,this.appendDataToBuffer(p)];case 2:return l.sent(),this.segments.set(t,s.map((function(e){return d(d({},e),{status:e.byte.from>=n.byteOffset&&e.byte.to<n.byteOffset+n.byteLength?m.FED:m.NONE})}))),this.maintain(0),[2]}}))}))},t.prototype.switchTo=function(t){var i;return c(this,void 0,void 0,(function(){var r;return l(this,(function(a){switch(a.label){case 0:return t===this.downloadingRepresentationId?[2]:(r=this.initData.get(t))?[3,2]:[4,this.loadAllInits()];case 1:a.sent(),r=this.initData.get(t),a.label=2;case 2:e.assertNonNullable(r,"No init buffer for "+t),e.assertNonNullable(this.sourceBuffer),this.abortController.abort(),this.abortController=new AbortController;try{this.sourceBuffer.abort()}catch(e){this.error$.next({id:"SourceBufferAbort",message:"SourceBuffer.abort() threw",thrown:e})}return[4,this.appendDataToBuffer(r)];case 3:return a.sent(),e.isNonNullable(this.playingRepresentationId)&&(null===(i=this.segments.get(this.playingRepresentationId))||void 0===i||i.forEach((function(e){e.status===m.FED&&(e.status=m.NONE)}))),this.downloadingRepresentationId=t,[2]}}))}))},t.prototype.maintain=function(t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p=this;return l(this,(function(l){switch(l.label){case 0:if(e.isNullable(this.downloadingRepresentationId)||e.isNullable(this.playingRepresentationId)||e.isNullable(this.sourceBuffer)||this.ended$.getValue())return[2];if(i=this.representations.get(this.downloadingRepresentationId),r=this.segments.get(this.downloadingRepresentationId),e.assertNonNullable(i),e.assertNonNullable(r),a=r.find((function(e){return t>=e.time.from&&t<e.time.to})),n=t,this.playingRepresentationId!==this.downloadingRepresentationId)for(n=t+5e3,s=0;s<this.sourceBuffer.buffered.length;s++)if(o=this.sourceBuffer.buffered.start(s),u=this.sourceBuffer.buffered.end(s),t>=o&&t<=u){n=Math.min(n,u);break}return(d=this.selectForwardBufferSegments(r,n)).length?[4,this.loadSegments(d,i)]:[3,2];case 1:l.sent(),l.label=2;case 2:return this.loadAllInitsPromise||!a||a.status!==m.FED||d.length||this.loadAllInits().catch((function(e){return p.error$.next({id:"InitDownload",message:"Error when trying to load all inits",thrown:e})})),(c=r.at(-1))&&a===c&&c.status===m.FED&&this.ended$.next(!0),[2]}}))}))},t.prototype.destroy=function(){this.initData.clear(),this.segments.clear(),this.representations.clear(),this.subscription.unsubscribe(),this.sourceBuffer&&"open"===this.mediaSource.readyState&&(this.sourceBuffer.abort(),this.mediaSource.removeSourceBuffer(this.sourceBuffer)),this.abortController.abort()},t.prototype.selectForwardBufferSegments=function(e,t){var i=e.findIndex((function(e){var i=e.status,r=e.time,a=r.from,n=r.to;return i===m.NONE&&(a>t||a<=t&&n>=t)&&n<=t+3e4}));if(-1===i)return[];for(var r=0,a=[],n=i;n<e.length&&r<=1048576;n++){var s=e[n];r+=s.byte.to+1-s.byte.from,s.status===m.NONE&&a.push(s)}return a},t.prototype.loadSegments=function(e,t){return c(this,void 0,void 0,(function(){var i,r,a,n,s,o,u=this;return l(this,(function(d){if(!e.length)return[2];i=e.at(0).byte.from,r=e.at(-1).byte.to;try{for(a=p(e),n=a.next();!n.done;n=a.next())n.value.status=m.DOWNLOADING}catch(e){s={error:e}}finally{try{n&&!n.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}return this.segmentDownloadPromise=this.segmentDownloadPromise.then((function(){return c(u,void 0,void 0,(function(){var a,n,s,o,u,d=this;return l(this,(function(c){switch(c.label){case 0:return[4,te(t.url,i,r,L.PARAM,(function(t,r){var a,n,s=function(e){if(e.status===m.DOWNLOADING&&e.byte.from-i>=0&&e.byte.to+1-i<=r){e.status=m.DOWNLOADED;var a=new DataView(t.buffer,t.byteOffset+e.byte.from-i,e.byte.to+1-e.byte.from);d.appendDataToBuffer(a).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),e.status=m.FED}))}};try{for(var o=p(e),u=o.next();!u.done;u=o.next()){s(u.value)}}catch(e){a={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}}),{throughputEstimator:this.throughputEstimator,fetchInit:{signal:this.abortController.signal}})];case 1:return a=c.sent(),n=e.at(-1),s=null===(u=this.segments.get(t.id))||void 0===u?void 0:u.at(-1),n&&s&&n.status===m.DOWNLOADING&&n===s&&(n.status=m.DOWNLOADED,o=new DataView(a,n.byte.from-i),this.appendDataToBuffer(o).then((function(){d.playingRepresentationId=d.downloadingRepresentationId,d.playingRepresentation$.next(d.playingRepresentationId),n.status=m.FED}))),[2]}}))}))})).catch(ie).catch((function(e){return u.error$.next({id:"SegmentDownload",message:"Error when fetching segments",thrown:e})})),[2,this.segmentDownloadPromise]}))}))},t.prototype.loadAllInits=function(){return c(this,void 0,void 0,(function(){var e=this;return l(this,(function(t){return this.loadAllInitsPromise||(this.loadAllInitsPromise=Promise.all(Array.from(this.representations.entries()).map((function(t){var i=h(t,2),r=i[0],a=i[1];return e.initData.has(r)?Promise.resolve():ce(a).then((function(t){var i=t.dataView,a=t.segments,n=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);e.initData.set(r,n),e.segments.set(r,a)}))}))).then(void 0)),[2,this.loadAllInitsPromise]}))}))},t.prototype.appendDataToBuffer=function(i){return c(this,void 0,void 0,(function(){return l(this,(function(r){switch(r.label){case 0:if(e.assertNonNullable(this.sourceBuffer),this.sourceBuffer.updating)return[3,2];try{this.sourceBuffer.appendBuffer(i)}catch(e){this.error$.next({id:"AppendBuffer",message:"Error appending data to buffer",thrown:e})}return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 1:return r.sent(),[3,5];case 2:return[4,t.waitForBufferUpdate(this.sourceBuffer)];case 3:return r.sent(),[4,this.appendDataToBuffer(i)];case 4:r.sent(),r.label=5;case 5:return[2]}}))}))},t.prototype.checkEjectedSegments=function(){var t,i;if(!e.isNullable(this.sourceBuffer)&&!e.isNullable(this.playingRepresentationId)){var r=this.segments.get(this.playingRepresentationId);e.assertNonNullable(r);for(var a=[],n=0;n<this.sourceBuffer.buffered.length;n++){var s=1e3*this.sourceBuffer.buffered.start(n),o=this.sourceBuffer.buffered.end(n),u=1e3*(o%1>.9?Math.round(o):o);a.push({from:s,to:u})}var d=function(e){var t=a.some((function(t){return t.from<=e.time.from&&t.to>=e.time.to}));e.status!==m.FED||t||(e.status=m.NONE)};try{for(var c=p(r),l=c.next();!l.done;l=c.next()){d(l.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(i=c.return)&&i.call(c)}finally{if(t)throw t.error}}}},t.waitForBufferUpdate=function(e){return c(this,void 0,void 0,(function(){return l(this,(function(t){return[2,new Promise((function(t){return e?e.addEventListener("update",(function(){return t()})):t()}))]}))}))},t}(),fe=["timeupdate","progress","play","seeked","stalled"];!function(e){e.NONE="none",e.MANIFEST_LOADED="manifest_loaded",e.REPRESENTATION_SELECTED="representation_selected"}(re||(re={}));var ve,me=function(){function t(t){var i=this;this.element=null,this.source=null,this.manifest=null,this.subscription=new e.Subscription,this.state$=new X(re.NONE),this.currentVideoRepresentation$=new e.ValueSubject(void 0),this.tick=function(){var e,t;if(i.element){var r=1e3*i.element.currentTime;null===(e=i.videoBufferManager)||void 0===e||e.maintain(r),null===(t=i.audioBufferManager)||void 0===t||t.maintain(r)}},this.throughputEstimator=t.throughputEstimator}return t.prototype.initManifest=function(e,t){return c(this,void 0,void 0,(function(){var i;return l(this,(function(r){switch(r.label){case 0:return this.element=e,this.state$.startTransitionTo(re.MANIFEST_LOADED),[4,(a=t,c(void 0,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return[4,fetch(a,null==n?void 0:n.fetchInit)];case 1:return[2,e.sent().text()]}}))}))).catch(ie)];case 1:return i=r.sent(),this.manifest=function(e,t){var i,r,a,n,s,o,u,d,c,l,f,m,S,b,g,y,T,E,P,k,w={representations:{video:[],audio:[],text:[]}},x=(new DOMParser).parseFromString(e,"application/xml").children[0].children[0].children,A=0;try{for(var N=p(x),$=N.next();!$.done;$=N.next()){var D=$.value,_=D.getAttribute("mimeType"),I=D.getAttribute("codecs"),R=null!==(s=D.getAttribute("contentType"))&&void 0!==s?s:null==_?void 0:_.split("/")[0],C=D.querySelectorAll("Representation");try{for(var L=(a=void 0,p(C)),O=L.next();!O.done;O=L.next()){var V=O.value,M=null!==(o=V.getAttribute("mimeType"))&&void 0!==o?o:_,B=null!==(d=null!==(u=V.getAttribute("codecs"))&&void 0!==u?u:I)&&void 0!==d?d:"",U=null!==(l=null!==(c=V.getAttribute("contentType"))&&void 0!==c?c:null==M?void 0:M.split("/")[0])&&void 0!==l?l:R,F=parseInt(null!==(f=V.getAttribute("width"))&&void 0!==f?f:"",10),H=parseInt(null!==(m=V.getAttribute("height"))&&void 0!==m?m:"",10),q=parseInt(null!==(S=V.getAttribute("bandwidth"))&&void 0!==S?S:"",10)/1e3,G=(null!==(b=V.getAttribute("id"))&&void 0!==b?b:(A++).toString(10))+"@"+("video"===U?H+"p":"audio"===U?q+"Kbps":B),Y=null!==(T=null===(y=null===(g=V.querySelector("BaseURL"))||void 0===g?void 0:g.textContent)||void 0===y?void 0:y.trim())&&void 0!==T?T:"",j=new URL(Y,t).toString(),Q=h((null!==(P=null===(E=V.querySelector("SegmentBase Initialization"))||void 0===E?void 0:E.getAttribute("range"))&&void 0!==P?P:"").split("-").map((function(e){return parseInt(e,10)})),2),z={from:Q[0],to:Q[1]},W=null===(k=V.querySelector("SegmentBase"))||void 0===k?void 0:k.getAttribute("indexRange"),J=h(W?W.split("-").map((function(e){return parseInt(e,10)})):[],2),X=J[0],K=J[1],Z=W?{from:X,to:K}:void 0;if(U&&M){var ee={video:v.VIDEO,audio:v.AUDIO,text:v.TEXT}[U];ee&&w.representations[ee].push({id:G,kind:ee,initRange:z,indexRange:Z,bitrate:q,mime:M,codecs:B,width:F,height:H,url:j})}}}catch(e){a={error:e}}finally{try{O&&!O.done&&(n=L.return)&&n.call(L)}finally{if(a)throw a.error}}}}catch(e){i={error:e}}finally{try{$&&!$.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}return w}(null!=i?i:"",t),this.state$.setState(re.MANIFEST_LOADED),[2,this.manifest]}var a,n}))}))},t.prototype.initRepresentations=function(t,i){return c(this,void 0,void 0,(function(){var r,a,n,s,o,u,d,c=this;return l(this,(function(l){switch(l.label){case 0:return e.assertNonNullable(this.manifest),e.assertNonNullable(this.element),this.state$.startTransitionTo(re.REPRESENTATION_SELECTED),this.source=new MediaSource,this.element.src=URL.createObjectURL(this.source),r=new Promise((function(e){var t;return null===(t=c.source)||void 0===t?void 0:t.addEventListener("sourceopen",e)})),a={throughputEstimator:this.throughputEstimator},this.videoBufferManager=new he(v.VIDEO,this.source,this.manifest.representations.video,a),this.audioBufferManager=new he(v.AUDIO,this.source,this.manifest.representations.audio,a),this.subscription.add(e.combine({video:this.videoBufferManager.ended$,audio:this.audioBufferManager.ended$}).subscribe((function(e){var t;Object.values(e).every((function(e){return!0===e}))&&"open"===(null===(t=c.source)||void 0===t?void 0:t.readyState)&&c.source.endOfStream()}))),this.subscription.add(this.videoBufferManager.playingRepresentation$.subscribe(this.currentVideoRepresentation$)),[4,r];case 1:return l.sent(),[4,Promise.all([this.videoBufferManager.startWith(t),this.audioBufferManager.startWith(i)])];case 2:l.sent(),this.state$.setState(re.REPRESENTATION_SELECTED);try{for(n=p(fe),s=n.next();!s.done;s=n.next())o=s.value,this.element.addEventListener(o,this.tick)}catch(e){u={error:e}}finally{try{s&&!s.done&&(d=n.return)&&d.call(n)}finally{if(u)throw u.error}}return this.tick(),[2]}}))}))},t.prototype.switchRepresentation=function(t,i){return c(this,void 0,void 0,(function(){var r,a;return l(this,(function(n){return r=(a={},a[v.VIDEO]=this.videoBufferManager,a[v.AUDIO]=this.audioBufferManager,a[v.TEXT]=null,a)[t],e.assertNonNullable(r),[2,r.switchTo(i)]}))}))},t.prototype.seek=function(t){e.assertNonNullable(this.element),e.assertNonNullable(this.videoBufferManager),e.assertNonNullable(this.audioBufferManager),this.videoBufferManager.maintain(t),this.audioBufferManager.maintain(t),this.element.currentTime=t/1e3},t.prototype.stop=function(){var e,t;this.element=null,this.source=null,this.manifest=null,this.currentVideoRepresentation$.next(void 0),null===(e=this.videoBufferManager)||void 0===e||e.destroy(),this.videoBufferManager=null,null===(t=this.audioBufferManager)||void 0===t||t.destroy(),this.audioBufferManager=null,this.state$.setState(re.NONE)},t.prototype.destroy=function(){var e,t,i;this.subscription.unsubscribe(),this.stop();try{for(var r=p(fe),a=r.next();!a.done;a=r.next()){var n=a.value;null===(i=this.element)||void 0===i||i.removeEventListener(n,this.tick)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.source=null},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(ve||(ve={}));var Se,be=function(e){var t=e.id,i=e.width,r=e.height,a=e.bitrate,n=U({width:i,height:r});return n&&{id:t,quality:n,bitrate:a,size:{width:i,height:r}}},ge=function(e,t,i){var r,a=Array.from(t).sort((function(e,t){return t.bitrate-e.bitrate})).indexOf(i);return null!==(r=e.at(Math.round(e.length*a/t.length)))&&void 0!==r?r:e.at(-1)},ye=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(ve.STOPPED),this.elementSize$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.videoTracks=[],this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(!i.videoState.getTransition()){var s=null==n?void 0:n.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&t!==ve.STOPPED&&r!==exports.PlaybackState.STOPPED&&i.seek(s),r!==exports.PlaybackState.STOPPED){if(t===ve.STOPPED)return i.videoState.startTransitionTo(ve.READY),void i.prepare();switch(t){case ve.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(ve.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(ve.PLAYING),i.playIfAllowed()));case ve.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(ve.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case ve.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(ve.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}else t!==ve.STOPPED&&(i.videoState.startTransitionTo(ve.STOPPED),i.player.stop(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(ve.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))}},this.params=t,this.video=N(this.params.container),this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(W(this.params.source.url)),this.player=new me({throughputEstimator:this.params.dependencies.throughputEstimator}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=R(this.video),s=function(e){r.error$.next({id:"DashVKProvider",message:"DashVKProvider internal logic error",thrown:e})},o=function(e,i){return t.subscription.add(e.subscribe(i,s))};o(n.timeUpdate$,r.position$),o(n.durationChange$,r.duration$),o(n.ended$,r.endedEvent$),o(n.error$,r.error$),o(n.isBuffering$,r.isBuffering$),o(n.currentBuffer$,r.currentBuffer$),o(n.firstBytes$,r.firstBytesEvent$),o(n.firstFrame$,r.firstFrameEvent$),this.subscription.add(n.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),s)),this.subscription.add(k(this.video,a.isLooped,s)),this.subscription.add(w(this.video,a.volume,n.volumeState$,s)),this.subscription.add(n.volumeState$.subscribe(this.params.output.volume$,s)),this.subscription.add(n.play$.subscribe((function(){t.videoState.setState(ve.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),s)).add(n.pause$.subscribe((function(){t.videoState.setState(ve.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),s)).add(n.canplay$.subscribe((function(){t.videoState.getState()===ve.PLAYING&&t.playIfAllowed()}),s)),this.subscription.add(this.player.state$.stateChangeEnded$.pipe(e.filter((function(e){return e.to===re.REPRESENTATION_SELECTED}))).subscribe((function(){t.videoState.setState(ve.READY)}))),this.subscription.add(e.merge(this.player.state$.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.transitionStarted$,this.params.dependencies.throughputEstimator.estimation$,this.elementSize$).subscribe((function(){var i,r,n,s=t.player.state$.getState(),o=t.player.state$.getTransition();if(s!==re.NONE&&t.videoTracks.length){var u=s===re.MANIFEST_LOADED&&!o,c=a.autoVideoTrackSwitching.getState(),l=a.videoTrack.getState(),p=null===(i=t.videoTracks.find((function(e){return e.track.id===l})))||void 0===i?void 0:i.track;a.autoVideoTrackSwitching.getTransition()&&a.autoVideoTrackSwitching.setState(c);var h=z(t.videoTracks.map((function(e){return e.track})),{container:t.elementSize$.getValue(),throughput:t.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:d(d({},t.params.tuning.autoTrackSelection),{bitrateFactor:1.4*t.params.tuning.autoTrackSelection.bitrateFactor})});if(u){var f=null!=p?p:h,m=f&&(null===(r=t.videoTracks.find((function(e){return e.track===f})))||void 0===r?void 0:r.representation);e.assertNonNullable(m);var S=ge(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),m);e.assertNonNullable(S),t.player.initRepresentations(m.id,S.id)}else{var b=c?null!=h?h:p:null!=p?p:h;if(m=b&&(null===(n=t.videoTracks.find((function(e){return e.track===b})))||void 0===n?void 0:n.representation)){S=ge(t.audioRepresentations,t.videoTracks.map((function(e){return e.representation})),m);t.player.switchRepresentation(v.VIDEO,m.id),S&&t.player.switchRepresentation(v.AUDIO,S.id)}}}}))),this.subscription.add(this.player.currentVideoRepresentation$.pipe(e.filterChanged(),e.map((function(e){var i;return e&&(null===(i=t.videoTracks.find((function(t){return t.representation.id===e})))||void 0===i?void 0:i.track)}))).subscribe(r.currentVideoTrack$)),o(J(this.video),this.elementSize$),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,s))},t.prototype.prepare=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s;return l(this,(function(o){switch(o.label){case 0:return[4,this.player.initManifest(this.video,this.params.source.url)];case 1:e=o.sent(),this.videoTracks=[];try{for(t=p(e.representations.video),i=t.next();!i.done;i=t.next())r=i.value,(a=be(r))&&this.videoTracks.push({track:a,representation:r})}catch(e){n={error:e}}finally{try{i&&!i.done&&(s=t.return)&&s.call(t)}finally{if(n)throw n.error}}return this.audioRepresentations=Array.from(e.representations.audio).sort((function(e,t){return t.bitrate-e.bitrate})),this.params.output.availableVideoTracks$.next(this.videoTracks.map((function(e){return e.track}))),[2]}}))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.player.seek(1e3*e)},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.player.destroy()},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(ve.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}();!function(e){e[e.OFFSET_P=0]="OFFSET_P",e[e.PLAYBACK_SHIFT=1]="PLAYBACK_SHIFT"}(Se||(Se={}));var Te,Ee=function(t,i,r){switch(void 0===i&&(i=0),void 0===r&&(r=Se.OFFSET_P),r){case Se.OFFSET_P:return t.replace("_offset_p",0===i?"":"_"+i.toFixed(0));case Se.PLAYBACK_SHIFT:if(0===i)return t;var a=new URL(t);return a.searchParams.append("playback_shift",i.toFixed(0)),a.toString();default:e.assertNever(r)}return t};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Te||(Te={}));var Pe,ke=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.loadMediaTimeoutSubscription=new e.Subscription,this.videoState=new X(Te.STOPPED),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; desiredPlaybackStateTransition: "+i.params.desiredState.playbackState.getTransition()+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;if((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==Te.STOPPED)return i.params.desiredState.seekPosition.setState(o),i.params.desiredState.seekPosition.startTransitionTo(void 0),void i.seek(o);switch(a){case exports.PlaybackState.PLAYING:switch(t){case Te.PLAYING:break;case Te.PAUSED:case Te.READY:i.videoState.startTransitionTo(Te.PLAYING),i.params.connection.remotePlayerController.playOrPause();break;case Te.STOPPED:i.videoState.startTransitionTo(Te.READY),i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case Te.PLAYING:i.videoState.startTransitionTo(Te.PAUSED),i.params.connection.remotePlayerController.playOrPause();break;case Te.PAUSED:break;case Te.READY:i.videoState.startTransitionTo(Te.PAUSED),i.videoState.setState(Te.PAUSED);break;case Te.STOPPED:i.videoState.startTransitionTo(Te.READY),i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(a)}}}else t!==Te.STOPPED&&(i.videoState.startTransitionTo(Te.STOPPED),i.stop())},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:"constructor, format: "+t.format}),this.params.output.isLive$.next(function(t){switch(t){case exports.VideoFormat.MPEG:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_JS:case exports.VideoFormat.HLS_ONDEMAND:return!1;case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_LIVE_WEBM:return!0;default:return e.assertNever(t)}}(t.format)),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});var r=this.params.connection.session.getMediaSession();r&&this.restoreSession(r),this.subscribe()}return t.prototype.destroy=function(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()},t.prototype.subscribe=function(){var t=this;this.subscription.add(this.loadMediaTimeoutSubscription);var i=new e.Subscription;this.subscription.add(i),this.subscription.add(e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return"stateChangeStarted$ "+JSON.stringify(e)}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return"stateChangeEnded$ "+JSON.stringify(e)})))).subscribe((function(e){return t.log({message:"[videoState] "+e})})));var r=function(e,i){return t.subscription.add(e.subscribe(i))};if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{var a=new e.Subject;i.add(a.pipe(e.debounce(500)).subscribe((function(e){t.params.desiredState.seekPosition.setState(e),t.params.desiredState.seekPosition.startTransitionTo(void 0),t.params.desiredState.seekPosition.setState(void 0)})));var n=NaN;i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe((function(i){t.logRemoteEvent(i);var r=i.value;t.params.output.position$.next(r);var s=t.params.desiredState.seekPosition.getTransition();e.isNonNullable(s)&&e.isNullable(s.to)?t.params.desiredState.seekPosition.setState(void 0):Math.abs(r-n)>5&&a.next(r),n=r}))),i.add(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe((function(e){t.logRemoteEvent(e),t.params.output.duration$.next(e.value)})))}r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemoteReady():(t.handleRemoteStop(),i.unsubscribe())})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),(function(e){t.logRemoteEvent(e),e.value?t.handleRemotePause():t.handleRemotePlay()})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),(function(i){t.logRemoteEvent(i);var r=t.params.connection.remotePlayer,a=i.value,n=t.params.output.isBuffering$.getValue(),s=a===chrome.cast.media.PlayerState.BUFFERING;switch(n!==s&&t.params.output.isBuffering$.next(s),a){case chrome.cast.media.PlayerState.IDLE:!t.params.output.isLive$.getValue()&&r.duration-r.currentTime<5&&t.params.output.endedEvent$.next(),t.handleRemoteStop(),C(t.params.desiredState.playbackState,exports.PlaybackState.STOPPED);break;case chrome.cast.media.PlayerState.PAUSED:t.handleRemotePause();break;case chrome.cast.media.PlayerState.PLAYING:t.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:e.assertNever(a)}})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({volume:e.value})})),r(e.fromEvent(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),(function(e){t.logRemoteEvent(e),t.handleRemoteVolumeChange({muted:e.value})})),r(e.merge(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback)},t.prototype.restoreSession=function(e){this.log({message:"restoreSession"});var t=this.params.connection.remotePlayer;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState(Te.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):(this.videoState.setState(Te.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING));var i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekPosition.setState(void 0)}},t.prototype.prepare=function(){var e=this.params.format;this.log({message:"[prepare] format: "+e});var t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)},t.prototype.handleRemotePause=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Te.PAUSED&&e!==Te.PLAYING||(this.videoState.setState(Te.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED))},t.prototype.handleRemotePlay=function(){var e=this.videoState.getState(),t=this.videoState.getTransition();(null==t?void 0:t.to)!==Te.PLAYING&&e!==Te.PAUSED||(this.videoState.setState(Te.PLAYING),C(this.params.desiredState.playbackState,exports.PlaybackState.PLAYING))},t.prototype.handleRemoteReady=function(){var e=this.videoState.getTransition();(null==e?void 0:e.to)===Te.READY&&this.videoState.setState(Te.READY)},t.prototype.handleRemoteStop=function(){this.videoState.getState()!==Te.STOPPED&&this.videoState.setState(Te.STOPPED)},t.prototype.handleRemoteVolumeChange=function(e){var t,i,r=this.params.output.volume$.getValue(),a={volume:null!==(t=e.volume)&&void 0!==t?t:r.volume,muted:null!==(i=e.muted)&&void 0!==i?i:r.muted};a.volume===r.volume&&a.muted==a.muted||this.params.output.volume$.next(a)},t.prototype.seek=function(e){var t=this.params.connection,i=t.remotePlayer,r=t.remotePlayerController;i.currentTime=e,r.seek()},t.prototype.stop=function(){this.params.connection.remotePlayerController.stop()},t.prototype.createMediaInfo=function(t){var i,r,a,n,s=this.params.source;switch(t){case exports.VideoFormat.MPEG:var o=s[t];e.assertNonNullable(o);var u=Object.keys(o).sort((function(e,t){return e===t?0:e===exports.VideoQuality.INVARIANT?1:t===exports.VideoQuality.INVARIANT?-1:M(e,t)?1:-1}))[0];e.assertNonNullable(u);var d=o[u];e.assertNonNullable(d),r=d,a="video/mp4",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:var c=s[t];e.assertNonNullable(c),r=c.url,a="application/x-mpegurl",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_WEBM:var l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.BUFFERED;break;case exports.VideoFormat.HLS_LIVE:c=s[t];e.assertNonNullable(c),r=Ee(c.url),a="application/x-mpegurl",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.DASH_LIVE_WEBM:l=s[t];e.assertNonNullable(l),r=l.url,a="application/dash+xml",n=chrome.cast.media.StreamType.LIVE;break;case exports.VideoFormat.HLS_JS:case exports.VideoFormat.DASH:case exports.VideoFormat.DASH_LIVE:var p="Unsupported format for Chromecast",h=new Error(p);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",message:p,thrown:h}),h;default:return e.assertNever(t)}var f=new chrome.cast.media.MediaInfo(null!==(i=this.params.meta.videoId)&&void 0!==i?i:r,a);f.contentUrl=r,f.streamType=n,f.metadata=new chrome.cast.media.GenericMediaMetadata;var v=this.params.meta,m=v.title,S=v.subtitle;return e.isNonNullable(m)&&(f.metadata.title=m),e.isNonNullable(S)&&(f.metadata.subtitle=S),f},t.prototype.createLoadRequest=function(e){var t,i=new chrome.cast.media.LoadRequest(e);i.autoplay=!1;var r=this.params.desiredState.seekPosition.getTransition();return i.currentTime=r?this.params.output.isLive$.getValue()?0:null!==(t=r.to)&&void 0!==t?t:0:0,i},t.prototype.loadMedia=function(t){var i=this,r=this.params.connection.session.loadMedia(t),a=new Promise((function(t,r){i.loadMediaTimeoutSubscription.add(e.timeout(7e3).subscribe((function(){return r("timeout(7000)")})))}));Promise.race([r,a]).then((function(){i.log({message:"[loadMedia] completed, format: "+i.params.format});var e=i.params.desiredState.seekPosition;e.getTransition()&&e.setState(void 0),i.handleRemoteReady()}),(function(e){var t="[prepare] loadMedia failed, format: "+i.params.format+", reason: "+e;i.log({message:t}),i.params.output.error$.next({id:"ChromecastProvider.loadMedia",message:t,thrown:e})})).finally((function(){i.loadMediaTimeoutSubscription.unsubscribe()}))},t.prototype.logRemoteEvent=function(e){this.log({message:"[remoteEvent] "+JSON.stringify(e)})},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Pe||(Pe={}));var we,xe=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Pe.STOPPED),this.trackUrls={},this.textTracksManager=new A,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(t===Pe.STOPPED)return i.videoState.startTransitionTo(Pe.READY),void i.prepare();if(n){var o=i.video.currentTime;return i.prepare(),void(s||i.params.desiredState.seekPosition.startTransitionTo(o))}var u=null==s?void 0:s.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(u)&&i.seek(u),t){case Pe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Pe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Pe.PLAYING),i.playIfAllowed()));case Pe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Pe.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Pe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Pe.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==Pe.STOPPED&&(i.videoState.startTransitionTo(Pe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Pe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video),Object.entries(this.params.source).forEach((function(e,t){var r=h(e,2),a=r[0],n=r[1],s=t.toString(10);i.trackUrls[s]={track:{quality:a,id:s},url:n}})),this.params.output.availableVideoTracks$.next(Object.values(this.trackUrls).map((function(e){return e.track}))),this.params.output.isLive$.next(!1),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"MpegProvider",message:"MpegProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Pe.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Pe.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var i;(null===(i=t.videoState.getTransition())||void 0===i?void 0:i.to)===Pe.READY&&t.videoState.setState(Pe.READY);var r=t.params.desiredState.videoTrack.getTransition();r&&e.isNonNullable(r.to)&&(t.params.desiredState.videoTrack.setState(r.to),t.params.output.currentVideoTrack$.next(t.trackUrls[r.to].track)),t.videoState.getState()===Pe.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(a.autoVideoTrackSwitching.stateChangeStarted$.subscribe((function(){return a.autoVideoTrackSwitching.setState(!1)}),n)),this.textTracksManager.connect(this.video,a,r);var u=e.merge(a.playbackState.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.trackUrls={},this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t,i,r=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState();e.assertNonNullable(r,"MpegProvider: track is not selected");var a=this.trackUrls[r].url;e.assertNonNullable(a,"MpegProvider: No url for "+r),this.video.setAttribute("src",a),this.video.load(),this.params.output.hostname$.next(W(a))},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Pe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}(),Ae=function(){function t(e,t,i,r,a,n){void 0===t&&(t=[]),this._failoverIndex=0,this._failoverCount=0,this._xhr=null,this._retryTimeout=0,this._url=e,this._failoverHosts=t,this._completeCb=i,this._progressCb=r,this._headersCb=a,this._errorCb=n,this._request()}return t.prototype._request=function(){var t=this;this._xhr=new XMLHttpRequest,this._xhr.open("GET",this._url,!0),this._xhr.overrideMimeType("text/plain; charset=x-user-defined");var i=!1;this._xhr.onreadystatechange=function(){var r,a,n,s,o,u,d,c;if(e.assertNonNullable(t._xhr),(null===(r=t._xhr)||void 0===r?void 0:r.status)>=400)return null===(a=t._errorCb)||void 0===a||a.call(t,"Http"+(null===(n=t._xhr)||void 0===n?void 0:n.status),"XHR response code "+(null===(s=t._xhr)||void 0===s?void 0:s.status)),void t.abort();if(4!==t._xhr.readyState||0!==t._xhr.status)try{t._xhr.readyState>=2&&!i&&(i=!0,null===(o=t._headersCb)||void 0===o||o.call(t)),4===t._xhr.readyState&&(null===(u=t._completeCb)||void 0===u||u.call(t,t._xhr.response)),3===t._xhr.readyState&&(null===(d=t._progressCb)||void 0===d||d.call(t,t._xhr.response))}catch(e){throw null===(c=t._errorCb)||void 0===c||c.call(t,"XHR2CallbackError","xhr2 callback threw "+String(e),e),e}},this._xhr.onerror=function(){var e;null===(e=t._xhr)||void 0===e||e.abort(),t._retryTimeout=window.setTimeout((function(){var e,i,r;if(t._xhr)if(++t._failoverCount>=30)t._xhr=null,null===(e=t._errorCb)||void 0===e||e.call(t,"XHR2Failover","XHR failed, retrying failover host");else{var a=void 0;t._failoverIndex>=t._failoverHosts.length?(a=t._url,t._failoverIndex=0):(a=t._url.replace((i=t._url,(r=document.createElement("a")).href=i,r.host),t._failoverHosts[t._failoverIndex]),t._failoverIndex++),t._xhr.open("GET",a,!0),t._xhr.send(null)}}),500)},this._xhr.send(null)},t.prototype.abort=function(){window.clearTimeout(this._retryTimeout),this._completeCb=this._progressCb=this._errorCb=void 0,this._xhr&&(this._xhr.abort(),this._xhr=null)},t}(),Ne=function(){function e(e){this._maxBufferDuration=Number.POSITIVE_INFINITY,this._isFull=!1,this._params=e,this._mediaSource=e.mediaSource,this._sourceBuffer=e.sourceBuffer,this._onDashCallback=e.onDashCallback}return e.prototype._appendBuffer=function(e,t){try{this._isFull=!1,(this._sourceBuffer.appendBuffer||this._sourceBuffer.append).bind(this._sourceBuffer)(e),null==t||t()}catch(e){if("QuotaExceededError"!==e.name)throw this._params.onError("AppendBuffer","Unknown Buffer error",e),e;this._isFull=!0;for(var i=this._sourceBuffer.buffered,r=0,a=0,n=i.length;a<n;a++)r+=i.end(a)-i.start(a);r&&(this._maxBufferDuration=Math.round(r))}},e.prototype.getMaxBufferDuration=function(){return this._maxBufferDuration},e.prototype.isFull=function(){return this._isFull},e.prototype.load=function(t,i,r,a,n,s,o){var u=this;this.abort((function(){var d=0,c=Date.now(),l=Date.now(),p=0,h=r-i+1,f=function(t){a(e._str2ua(t.substr(d))),d=t.length};u._lastXhr=new Ae(t.baseURL+"&bytes="+i+"-"+r,t.failoverHosts,(function(e){u._lastXhr=void 0,f(e);var t=Date.now()-c;u._params.onBandwidthChange({size:h,duration:t,speed:8*h/(t/1e3)}),u._onDashCallback("loading",{size:e.length,done:!0}),null==n||n()}),(function(e){e.length-d>o&&f(e);var t=e.length-p,i=Date.now()-l;p&&u._params.onBandwidthChange({size:t,duration:i,speed:8*t/(i/1e3)}),p=e.length,l=Date.now(),u._onDashCallback("loading",{size:e.length,done:!1})}),s,(function(e,t,i){return u._params.onError(e,t,i)}))}))},e.prototype.abort=function(e){var t,i=this;null===(t=this._lastXhr)||void 0===t||t.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){i._appendPromiseUint8Array&&(i._appendBuffer(i._appendPromiseUint8Array),i._appendPromiseUint8Array=void 0),i._lastStreamUpdatingCallback=i._sbUpdatingWatch((function(){"open"===i._mediaSource.readyState&&i._sourceBuffer.abort(),null==e||e()}))}))},e.prototype._sbUpdatingWatch=function(e){var t=this;if(this._sourceBuffer.updating){var i=function(){try{t._sbUpdatingStop(i),t._sbUpdatingWatch(e)}catch(e){throw t._params.onError("SourceBuffer","Source Buffer update error",e),e}};return this._sourceBuffer.addEventListener("updateend",i,!1),i}e()},e.prototype._sbUpdatingStop=function(e){e&&this._sourceBuffer.removeEventListener("updateend",e,!1)},e.prototype.append=function(t,i){var r=this;this._appendPromiseUint8Array?this._appendPromiseUint8Array=e._concatUint8(this._appendPromiseUint8Array,t):(this._appendPromiseUint8Array=t,this._lastStreamUpdatingCallback=this._sbUpdatingWatch((function(){r._appendPromiseUint8Array&&r._appendBuffer(r._appendPromiseUint8Array,(function(){r._appendPromiseUint8Array=void 0,i&&r._sbUpdatingWatch(i)}))})))},e.prototype.endOfStream=function(){var e=this;"open"===this._mediaSource.readyState&&this._sbUpdatingWatch((function(){return e._mediaSource.endOfStream()}))},e._concatUint8=function(e,t){var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(e,0),i.set(t,e.byteLength),i},e._str2ua=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t},e.prototype.remove=function(e,t){var i=this;this._sbUpdatingWatch((function(){!i._sourceBuffer.updating&&i._sourceBuffer.remove&&i._sourceBuffer.remove(e,t),i._maxBufferDuration=Number.POSITIVE_INFINITY}))},e.prototype.destroy=function(){var e;null===(e=this._lastXhr)||void 0===e||e.abort(),this._sbUpdatingStop(this._lastStreamUpdatingCallback),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()},e}(),$e=function(){function t(e){var t;this._representations=[],this._appendVector={},this._cachingPaused=!1,this._duration=0,this.STREAM_END_THRESHOLD=1,this._params=e,this._video=e.video,this._buffer=e.buffer,this._onDashCallback=null!==(t=e.onDashCallback)&&void 0!==t?t:function(){},this._config=e.config}return t.prototype._parseDurationFromISO8601=function(e){var t=function(e,t){var i=e?parseFloat(e.replace(",",".")):NaN;return(isNaN(i)?0:i)*t},i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/.exec(e),r="-"===(null==i?void 0:i[1])?-1:1;t(null==i?void 0:i[2],r),t(null==i?void 0:i[3],r),t(null==i?void 0:i[4],r),t(null==i?void 0:i[5],r);return 3600*t(null==i?void 0:i[6],r)+60*t(null==i?void 0:i[7],r)+t(null==i?void 0:i[8],r)},t.prototype.getRepresentations=function(){return this._representations},t.prototype.attachSource=function(e,t){var i=this;new Ae(e,t,(function(r){var a,n;i.attachManifest(r,t,(a=e,(n=document.createElement("a")).href=a,n.origin))}),void 0,void 0,(function(e,t,r){return i._params.onError(e,t,r)}))},t.prototype.attachManifest=function(e,t,i){var r=this,a=(new DOMParser).parseFromString(e,"text/xml").documentElement,n=function(e,t){var i=e.attributes.getNamedItem(t);return i?i.value:null};this._duration=this._parseDurationFromISO8601(String(n(a,"mediaPresentationDuration")));var s=[],o=[];Array.prototype.forEach.call(a.getElementsByTagName("Representation"),(function(e){var r,a,u,d,c,l,p,h,f,v,m,S,b,g,y,T,E,P=e.getElementsByTagName("SegmentBase")[0],k=P&&n(P,"indexRange").split("-"),w=P&&P.getElementsByTagName("Initialization")[0],x=w&&n(w,"range").split("-");if(x&&k){var A=Number(null===(p=e.attributes.getNamedItem("bandwidth"))||void 0===p?void 0:p.value),N=(i?i+"/":"")+e.getElementsByTagName("BaseURL")[0].childNodes[0].data;s.push({width:Number(null===(h=e.attributes.getNamedItem("width"))||void 0===h?void 0:h.value),height:Number(null===(f=e.attributes.getNamedItem("height"))||void 0===f?void 0:f.value),bandwidth:A,baseURL:N,failoverHosts:t,indexFrom:Number(k[0]),indexTo:Number(k[1]),initFrom:Number(x[0]),initTo:Number(x[1]),codecs:null!==(m=null===(v=e.attributes.getNamedItem("codecs"))||void 0===v?void 0:v.value)&&void 0!==m?m:void 0,mimeType:null!==(b=null===(S=e.attributes.getNamedItem("mimeType"))||void 0===S?void 0:S.value)&&void 0!==b?b:void 0,bufferSize:.1*A/8,bufferLength:.1,name:null!==(y=null===(g=e.attributes.getNamedItem("okQuality"))||void 0===g?void 0:g.value)&&void 0!==y?y:void 0,id:null!==(E=null===(T=e.attributes.getNamedItem("id"))||void 0===T?void 0:T.value)&&void 0!==E?E:void 0})}else{var $=e.parentElement;if("text"===(null==$?void 0:$.getAttribute("contentType"))){var D=null!==(r=e.getAttribute("id"))&&void 0!==r?r:void 0,_=(i?i+"/":"")+(null===(c=null===(d=null===(u=null===(a=e.getElementsByTagName("BaseURL"))||void 0===a?void 0:a[0])||void 0===u?void 0:u.childNodes)||void 0===d?void 0:d[0])||void 0===c?void 0:c.data),I=null!==(l=$.getAttribute("lang"))&&void 0!==l?l:void 0;_&&o.push({id:D,url:_,language:I})}}})),s.length?(this._representations=s,o.forEach((function(e){var t=e.id,i=e.language,a=e.url,n=document.createElement("track");n.setAttribute("src",a),t&&n.setAttribute("id",t),i&&n.setAttribute("srclang",i),r._video.appendChild(n)})),this._representations.sort((function(e,t){return t.bandwidth-e.bandwidth})),this._params.onManifestReady(this._representations)):this._onDashCallback("error")},t.prototype._loadInitAndSidx=function(e,t){var i=this;if(e!==this._currentRepresentation)if(e.refs)this._stream.abort((function(){i._stream.append(e.initMessage,t)}));else{var r=Date.now();this._stream.load(e,e.initFrom,e.indexTo,(function(r){var a=e.initTo-e.initFrom+1;if(r.byteLength){e.initMessage=new Uint8Array(r.buffer,0,a);var n=new DataView(r.buffer);a+=12;var s=n.getUint32(a+4,!1);a+=8;var o=n.getUint32(a,!1),u=n.getUint32(a+4,!1)+(e.indexTo+1);a+=8;var d=n.getUint16(a+2,!1);a+=4,e.refs=[];for(var c=0;c<d;c+=1){var l=u+(2147483647&n.getUint32(a,!1)),p=o+n.getUint32(a+4,!1);a+=12,e.refs.push({fromTime:o/s,toTime:p/s,fromOffset:u,toOffset:l-1}),u=l,o=p}var h=e.refs[e.refs.length-1];h.toTime-h.fromTime<.3&&e.refs.pop(),i._stream.append(e.initMessage,t)}else i._params.onError("EmptyResponse","Empty response")}),void 0,(function(){i._params.onIdxRequestPing(Date.now()-r)}),e.indexTo-e.initFrom+1)}else t&&t()},t.prototype.startPlay=function(e){var t=this,i=window.MediaSource||window.WebKitMediaSource;if(i){var r=new i,a=void 0,n=void 0,s=function(){t._loopTimeout=window.setTimeout((function(){try{!function(){var i=t._findRef(t._video.currentTime);if(i&&!t._video.paused){if(!t._cachingPaused&&void 0!==t._lastLoadOffset&&t._lastLoadOffset-t._video.currentTime<t._config.FRONT_CACHE_DURATION&&t._lastLoadOffset-t._video.currentTime<t._stream.getMaxBufferDuration()){var r=t._stream.isFull()?t._findBufferRangeEnd(t._video.currentTime):t._lastLoadOffset;t._loadRef(t._params.selectRepresentation(t._representations),r)}var s,o=t._appendVector[String(i.fromTime)];if(o!==a&&(a=o,t._params.onRepresentationPlay(o)),t._findRef(i.toTime)){var u=t._buffer.getByTime(t._video.currentTime);if(!u)return void t._onDashCallback("buffering");(s=u.end-t._video.currentTime)<e.bufferLength&&(t._onDashCallback("buffering"),n!==u.end&&(n=u.end,window.setTimeout((function(){try{var e=t._buffer.getNextWithGap(u);e&&(t._video.currentTime=e.start)}catch(e){throw t._params.onError("GapSyncError","Seek Error "+String(e),e),e}}),1e3*s)))}}}()}catch(e){throw t._params.onError("LoopError","Dash Loop exception "+String(e),e),e}s()}),250)},o=function(){if(!t._stream)try{var i=r.addSourceBuffer(e.mimeType+'; codecs="'+e.codecs+'"');t._stream=new Ne({mediaSource:r,sourceBuffer:i,onBandwidthChange:t._params.onBandwidthChange,onError:t._params.onError,onDashCallback:t._onDashCallback})}catch(e){throw t._params.onError("DashSourceOpen","Source open exception "+String(e),e),e}t._loadInitAndSidx(e),r.duration||(r.duration=t._duration),t._loopTimeout||s(),r.removeEventListener("sourceopen",o),r.removeEventListener("webkitsourceopen",o)};r.addEventListener("sourceopen",o,!1),r.addEventListener("webkitsourceopen",o,!1),this._video&&(this._video.src=window.URL.createObjectURL(r),this._video.addEventListener("waiting",(function(){var e=t._video&&t._video.played.length;e&&!t._video.currentTime&&t._video.loop?t._video.duration-t._video.played.end(e-1)<t.STREAM_END_THRESHOLD&&t.seek(0):t._video.duration-t._video.currentTime<t.STREAM_END_THRESHOLD&&t._stream.endOfStream()})))}else this._params.onError("MediaSourceNotSupported","MediaSource is not supported")},t.prototype._loadRef=function(e,t,i){var r=this;void 0===i&&(i=!1),this._lastLoadOffset=void 0,this._loadInitAndSidx(e,(function(){r._currentRepresentation=e;var a=r._findRef(t);if(a){if(i){r._isLastRef(a)&&t>=a.toTime&&(t=a.fromTime);var n=r._findRef(r._video.currentTime),s=Math.abs(r._video.currentTime-t),o=r._video.duration<r._config.SEEK_IN_SEGMENT_THRESHOLD/1e3||a===n||s<=r._config.SEEK_IN_SEGMENT_DELTA/1e3;r._video.currentTime=o?t:a.fromTime}r._appendVector[String(a.fromTime)]=e,r._stream.load(e,a.fromOffset,a.toOffset,(function(e,t){return r._stream.append(e,t)}),(function(){r._lastLoadOffset=a.toTime,r._video.duration-r._lastLoadOffset<r.STREAM_END_THRESHOLD&&r._stream.endOfStream()}),void 0,e.bufferSize)}}))},t.prototype.setQualityByRepresentation=function(e){var t=this,i=this._buffer.getByTime(this._video.currentTime),r=this._findRef(this._video.currentTime);if(i&&r){var a=.1;if(r.toTime<i.end+a){var n=this._findRef(r.toTime);n&&n.toTime<i.end+a?(this._buffer.smartRemove(r.fromTime-a,n.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,n.toTime)):(this._buffer.smartRemove(r.fromTime-a,r.toTime+a,(function(e,i){return t._stream.remove(e,i)})),this._loadRef(e,r.toTime))}}},t.prototype.setQuality=function(e){return this.setQualityByRepresentation(this._representations[e])},t.prototype.pauseCaching=function(){this._cachingPaused=!0},t.prototype.resumeCaching=function(){this._cachingPaused=!1},t.prototype.seek=function(e,t){void 0===t&&(t=!1),this._stream&&this._buffer.getByTime(e)&&!t?this._video.currentTime=e:this._loadRef(this._params.selectRepresentation(this._representations),e,!0)},t.prototype.updateRefsForCurrentTime=function(){var t=this._video.currentTime;this._stream&&!e.isNullable(this._buffer.getByTime(t))||this._loadRef(this._params.selectRepresentation(this._representations),t,!1)},t.prototype._findRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(i){if(!Array.isArray(i)||0!==i.length){for(var r=void 0,a=0;a<i.length;a++){var n=i[a];if(n.fromTime<=e&&n.toTime>e)return n;n.fromTime>e&&(!r||n.fromTime<r.fromTime)&&(r=n)}if(!r){var s=i[i.length-1];if(e>s.toTime)return s}return r}this._params.onError("emptyrefs","Empty refs")}},t.prototype._isLastRef=function(e){var t,i=null===(t=this._currentRepresentation)||void 0===t?void 0:t.refs;if(!i)return!1;var r=i[i.length-1];return e.fromTime===r.fromTime},t.prototype._findBufferRangeEnd=function(e){for(var t=this._video.buffered.length;t-- >0;){var i=this._video.buffered.start(t),r=this._video.buffered.end(t);if(e>i&&e<r)return Math.round(10*r)/10}return e},t.prototype.destroy=function(){this._stream&&this._stream.destroy(),clearTimeout(this._loopTimeout),this._loopTimeout=void 0},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_LOADED="manifest-loaded",e.INITIAL_REPRESENTATION_SELECTED="initial-representation-selected",e.METADATA_LOADED="metadata-loaded",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(we||(we={}));var De,_e=[we.PAUSED,we.PLAYING],Ie=function(){function t(t){var i=this;this.videoState=new X(we.STOPPED),this.subscription=new e.Subscription,this.representations$=new e.ValueSubject([]),this.currentRepresentation$=new e.ValueSubject(void 0),this.textTracksManager=new A,this.elementSize$=new e.ValueSubject(void 0),this.dashLiteEvents={idxRequestPing$:new e.Subject,manifestReady$:new e.Subject,representationPlay$:new e.Subject,error$:new e.Subject},this.handleManifestReady=function(e){var t,r,a,n,s=[];try{for(var o=p(e),u=o.next();!u.done;u=o.next()){var d=u.value,c=null!==(n=null!==(a=d.name)&&void 0!==a?a:d.id)&&void 0!==n?n:d.height.toString(10),l=U(d),h=d.bandwidth/1e3,f={width:d.width,height:d.height};if(l){var v={id:c,quality:l,bitrate:h,size:f};s.push({track:v,representation:d})}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}i.representations$.next(s),i.params.output.availableVideoTracks$.next(s.map((function(e){return e.track}))),i.videoState.setState(we.MANIFEST_LOADED)},this.handleRepresentationPlay=function(e){var t,r=null===(t=i.representations$.getValue().find((function(t){return t.representation===e})))||void 0===t?void 0:t.track;r&&(i.params.output.currentVideoTrack$.next(r),i.params.desiredState.videoTrack.getTransition()&&i.params.desiredState.videoTrack.setState(r.id))},this.selectRepresentation=function(){var t=i.currentRepresentation$.getValue();return e.assertNonNullable(t,"Can't select representation. something went wrong"),t},this.syncPlayback=function(){var t=i.videoState.getState(),r=i.videoState.getTransition(),a=i.params.desiredState.playbackState.getState(),n=i.params.desiredState.playbackState.getTransition(),s=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+t+"; videoTransition: "+JSON.stringify(r)+"; desiredPlaybackState: "+a+"; seekPositionTransition: "+JSON.stringify(s)+";"}),a!==exports.PlaybackState.STOPPED){if(!r){var o=null==s?void 0:s.to;switch((null==n?void 0:n.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&_e.includes(t)&&i.seek(o),t){case we.STOPPED:return i.videoState.startTransitionTo(we.MANIFEST_LOADED),void i.prepare();case we.MANIFEST_LOADED:return void i.videoState.startTransitionTo(we.INITIAL_REPRESENTATION_SELECTED);case we.INITIAL_REPRESENTATION_SELECTED:return i.videoState.startTransitionTo(we.METADATA_LOADED),void i.dash.startPlay(i.selectRepresentation());case we.METADATA_LOADED:return i.videoState.startTransitionTo(we.READY),void i.dash.seek(null!=o?o:0);case we.READY:return void(a===exports.PlaybackState.PAUSED?(i.videoState.setState(we.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):a===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(we.PLAYING),i.playIfAllowed()));case we.PLAYING:return void(a===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(we.PAUSED),i.video.pause()):(null==n?void 0:n.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case we.PAUSED:return void(a===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(we.PLAYING),i.playIfAllowed()):(null==n?void 0:n.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));default:return e.assertNever(t)}}}else t!==we.STOPPED&&(i.videoState.startTransitionTo(we.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(we.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashProvider"),e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),"url"===this.params.source.type&&this.params.output.hostname$.next(W(this.params.source.url)),this.buffer=new D(this.video),this.dash=new $e({video:this.video,buffer:this.buffer,selectRepresentation:this.selectRepresentation,onIdxRequestPing:function(e){return i.dashLiteEvents.idxRequestPing$.next(e)},onManifestReady:function(e){return i.dashLiteEvents.manifestReady$.next(e)},onRepresentationPlay:function(e){return i.dashLiteEvents.representationPlay$.next(e)},onBandwidthChange:function(e){return i.params.dependencies.throughputEstimator.rawSpeed$.next({size:e.size,time:e.duration})},onError:function(e,t,r){i.log({message:"[DashLite error], "+e}),i.dashLiteEvents.error$.next({id:e,message:t,thrown:r})},config:{SEEK_IN_SEGMENT_THRESHOLD:this.params.tuning.dashSeekInSegmentDurationThreshold,SEEK_IN_SEGMENT_DELTA:this.params.tuning.dashSeekInSegmentAlwaysSeekDelta,FRONT_CACHE_DURATION:this.params.config.cacheDuration/1e3}}),this.subscribe()}return t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashProvider",message:"DashProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeking$.subscribe((function(){e.isNullable(t.params.desiredState.seekPosition.getTransition())&&(t.videoState.getState()===we.PLAYING||t.videoState.getState()===we.PAUSED)&&t.dash.updateRefsForCurrentTime()}))),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}))),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.textTracksManager.connect(this.video,a,r),o(J(this.video),this.elementSize$),this.subscription.add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===we.READY&&t.videoState.setState(we.READY)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(we.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED)}))).add(s.play$.subscribe((function(){t.videoState.setState(we.PLAYING),C(t.params.desiredState.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.loadedMetadata$.subscribe((function(){t.videoState.setState(we.METADATA_LOADED)}),n)).add(s.currentBuffer$.subscribe((function(e){t.buffer.fill(),r.currentBuffer$.next(e)}),n)).add(this.dashLiteEvents.error$.pipe(e.map((function(e){return{id:"DashLite_"+e.id,message:e.message,thrown:e.thrown}}))).subscribe(this.params.output.error$)).add(e.merge(this.params.desiredState.videoTrack.transitionStarted$,this.params.desiredState.autoVideoTrackSwitching.transitionStarted$,this.representations$,this.params.dependencies.throughputEstimator.estimation$,this.params.output.element$,this.elementSize$).pipe(e.map((function(){var i,r,a,n=t.representations$.getValue(),s=t.params.desiredState.autoVideoTrackSwitching.getState(),o=t.params.desiredState.autoVideoTrackSwitching.getTransition(),u=t.params.desiredState.videoTrack.getState(),d=t.params.desiredState.videoTrack.getTransition(),c=t.params.dependencies.throughputEstimator.estimation$.getValue(),l=t.elementSize$.getValue(),p=o?o.to:s;return o&&t.params.desiredState.autoVideoTrackSwitching.setState(o.to),a=!p&&e.isNonNullable(u)?u:d?d.to:null===(i=z(n.map((function(e){return e.track})),{container:l,throughput:c,tuning:t.params.tuning.autoTrackSelection}))||void 0===i?void 0:i.id,e.isNonNullable(a)?null===(r=n.find((function(e){return e.track.id===a})))||void 0===r?void 0:r.representation:void 0})),e.filterChanged()).subscribe(this.currentRepresentation$,n)).add(e.combine({needToSelectRepresentation:this.videoState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===we.INITIAL_REPRESENTATION_SELECTED}))),currentRepresentationSelected:this.currentRepresentation$.pipe(e.filter(e.isNonNullable))}).pipe(e.once()).subscribe((function(){return t.videoState.setState(we.INITIAL_REPRESENTATION_SELECTED)}),n)).add(this.currentRepresentation$.pipe(e.filter(e.isNonNullable),e.filterChanged()).subscribe((function(e){t.dash.setQualityByRepresentation(e),t.params.output.hostname$.next(W(e.baseURL))}),n)).add(this.dashLiteEvents.idxRequestPing$.pipe(e.once()).subscribe(this.params.output.firstBytesEvent$)).add(this.dashLiteEvents.manifestReady$.subscribe(this.handleManifestReady,n)).add(this.dashLiteEvents.representationPlay$.pipe(e.filter(e.isNonNullable)).subscribe(this.handleRepresentationPlay,n)).add(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.buffer.destroy(),this.dash.destroy()},t.prototype.prepare=function(){var t=this.params.source;switch(t.type){case"url":this.dash.attachSource(t.url);break;case"raw":this.dash.attachManifest(t.raw);break;default:return e.assertNever(t)}},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.dash.seek(e)},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(we.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t}(),Re=function(e){return e.range?e.range.split("-").map((function(e){return parseInt(e,10)})):[NaN,NaN]},Ce=function(){function e(e){this.params=e,this.dashJsRequestQueue=new Map,this.activeRequests=new Map}return e.prototype.setMetrics=function(e){this.dashMetrics=e},e.prototype.queueDashJSRequest=function(e){var t,i=e.request.url,r=null!==(t=this.dashJsRequestQueue.get(i))&&void 0!==t?t:[];r.push(e),this.dashJsRequestQueue.set(i,r)},e.prototype.executeNextRequests=function(){return c(this,void 0,void 0,(function(){var e,t,i,r,a,n,s,o,u,d,c,f,v;return l(this,(function(l){try{for(e=p(this.dashJsRequestQueue.entries()),t=e.next();!t.done;t=e.next()){if(i=h(t.value,2),r=i[0],a=i[1],n=this.activeRequests.get(r)){if(a.length&&this.onBigRequestProgress(n),!(s=a[0])||!s.request.range)continue;if(o=h(Re(s.request),2),u=o[0],d=o[1],u>=n.from&&d<=n.to)continue;this.activeRequests.delete(r)}a.length&&(c=this.sendBigRequest(r,a.map((function(e){return e.request}))),this.activeRequests.set(r,c))}}catch(e){f={error:e}}finally{try{t&&!t.done&&(v=e.return)&&v.call(e)}finally{if(f)throw f.error}}return[2]}))}))},e.prototype.abort=function(e){var t,i,r;if(e){var a=e.request,n=(null!==(r=this.dashJsRequestQueue.get(a.url))&&void 0!==r?r:[]).includes(e),s=this.activeRequests.get(a.url);n&&s&&s.abortController.abort()}else try{for(var o=p(this.activeRequests.values()),u=o.next();!u.done;u=o.next()){u.value.abortController.abort()}}catch(e){t={error:e}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}},e.prototype.destroy=function(){this.abort(),this.dashMetrics=void 0,this.dashJsRequestQueue.clear(),this.activeRequests.clear()},e.prototype.sendBigRequest=function(t,i){for(var r=this,a=i.map(Re),n=a[0][0],s=a[0][1],o=1;o<a.length&&s<this.params.minDataSize;o++){var u=a[o][1];u-n<=2*this.params.minDataSize&&(s=Math.max(s,u))}s=0===n?Math.max(s,n+this.params.minInitSize):Math.max(s,n+this.params.minDataSize);var d=new URL(t,location.href);d.searchParams.append("bytes",n+"-"+s);var p=d.toString(),f=new AbortController,v=f.signal,m={url:t,from:n,to:s,loaded:0,data:null,abortController:f};v.addEventListener("abort",(function(){return r.onBigRequestAbort(m)}));var S=function(e){var t,i;throw null===(i=(t=r.params).onError)||void 0===i||i.call(t,{id:"BigRequestParsing",message:"Error parsing response data",thrown:e}),e};return fetch(p,{signal:v}).then((function(t){var i,a,n;if(t.ok&&t.body){var s=h(t.body.tee(),2),o=s[0],u=s[1];null===(a=(i=r.params).onDownloadStream)||void 0===a||a.call(i,u);var d=o.getReader(),p=parseInt(null!==(n=t.headers.get("Content-Length"))&&void 0!==n?n:"",10);m.data=new ArrayBuffer(p);var f=new Uint8Array(m.data),v=function(t){var i=t.done,a=t.value;return c(r,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return i?(this.onBigRequestProgress(m),[3,3]):[3,1];case 1:return a?(f.set(a,m.loaded),m.loaded+=a.byteLength,this.onBigRequestProgress(m),[4,null==d?void 0:d.read().then(v,e.suppressStreamErrors).catch(S)]):[3,3];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))};null==d||d.read().then(v,e.suppressStreamErrors).catch(S)}else r.onBigRequestError(m)}),e.suppressAbort).catch((function(e){return r.onBigRequestError(m,e)})),m},e.prototype.onBigRequestProgress=function(e){var t,i,r,a,n,s,o,u,d,c=e.url,l=e.from,f=e.to,v=e.loaded,m=e.data;if(this.activeRequests.has(c)&&m){var S=null!==(r=this.dashJsRequestQueue.get(c))&&void 0!==r?r:[],b=function(e){var t=e.request,i=h(Re(t),2),r=i[0],p=i[1],S=r>=l&&p<=l+v,b=l>=r&&l+v<p,y=m.slice(r-l,Math.min(p-l+1,v));(S||b)&&(t.requestStartDate=null!==(a=t.requestStartDate)&&void 0!==a?a:new Date,t.firstByteDate=null!==(n=t.firstByteDate)&&void 0!==n?n:new Date,t.bytesLoaded=y.byteLength,t.bytesTotal=f-l),S?(t.requestEndDate=new Date,g.dashJsRequestQueue.set(c,(null!==(s=g.dashJsRequestQueue.get(c))&&void 0!==s?s:[]).filter((function(t){return t!==e}))),null===(o=e.success)||void 0===o||o.call(e,y,"",c),null===(u=g.dashMetrics)||void 0===u||u.addHttpRequest(t,c,200,{},[])):b&&(null===(d=e.progress)||void 0===d||d.call(e,{loaded:v,total:f-l,lengthComputable:!0,stream:!0}))},g=this;try{for(var y=p(S),T=y.next();!T.done;T=y.next()){b(T.value)}}catch(e){t={error:e}}finally{try{T&&!T.done&&(i=y.return)&&i.call(y)}finally{if(t)throw t.error}}}},e.prototype.onBigRequestError=function(e,t){var i,r,a,n,s,o,u=e.url,d=e.from,c=e.to;if(null===(n=(a=this.params).onError)||void 0===n||n.call(a,{id:"BigRequest",message:"Download error",thrown:t}),this.activeRequests.has(u)){var l=null!==(s=this.dashJsRequestQueue.get(u))&&void 0!==s?s:[];try{for(var f=p(l),v=f.next();!v.done;v=f.next()){var m=v.value,S=h(Re(m.request),2),b=S[0],g=S[1];(b>=d&&b<c||g>d&&g<=c)&&(null===(o=null==m?void 0:m.error)||void 0===o||o.call(m,m.request,String(t)))}}catch(e){i={error:e}}finally{try{v&&!v.done&&(r=f.return)&&r.call(f)}finally{if(i)throw i.error}}if(this.activeRequests.delete(u),t)throw t}},e.prototype.onBigRequestAbort=function(e){var t,i,r,a,n=e.url,s=e.from,o=e.to;if(this.activeRequests.has(n)){var u=null!==(r=this.dashJsRequestQueue.get(n))&&void 0!==r?r:[];try{for(var d=p(u),c=d.next();!c.done;c=d.next()){var l=c.value,f=h(Re(l.request),2),v=f[0],m=f[1];(v>=s&&v<o||m>s&&m<=o)&&(null===(a=null==l?void 0:l.abort)||void 0===a||a.call(l,l.request))}}catch(e){t={error:e}}finally{try{c&&!c.done&&(i=d.return)&&i.call(d)}finally{if(t)throw t.error}}this.activeRequests.delete(n)}},e.suppressAbort=function(e){if(!(e instanceof DOMException)||"AbortError"!==e.name&&20!==e.code)throw e},e.suppressStreamErrors=function(){},e}(),Le=function(){function e(e,t,i){this.baseLoader=e,this.config=i,this.bigRequest=t,t.setMetrics(i.dashMetrics)}return e.shouldDelegateToBase=function(e){return"download"!==e.action||"text"===e.mediaType||!e.range||"arraybuffer"!==e.responseType},e.prototype.load=function(t){var i=t.request;if(e.shouldDelegateToBase(i))return this.baseLoader.load(t);this.bigRequest.queueDashJSRequest(t),this.bigRequest.executeNextRequests()},e.prototype.abort=function(t){if(!t)return this.baseLoader.abort(),void this.bigRequest.abort();var i=t.request;e.shouldDelegateToBase(i)?this.baseLoader.abort(t):this.bigRequest.abort(t)},e}(),Oe=function(e,t){var i=new Ce(t);return e.extend("SchemeLoaderFactory",(function(){var e=this.parent.getLoader;return{getLoader:function(t){return function(e,t){return function(i){return{create:function(r){var a=e(i).create(r);return new Le(a,t,r)}}}}(e(t),i)}}}),!0),function(){return i.destroy()}},Ve=function(t){var i=new e.ValueSubject(1/0),r=new e.Subject,a=NaN,n=!1,s=function(t){var r,a,n;if(t.getAllResponseHeaders().includes("x-playback-duration")){var s=parseInt(null!==(r=t.getResponseHeader("X-Playback-Duration"))&&void 0!==r?r:"",10),o=parseInt(null!==(a=t.getResponseHeader("X-Playback-Duration-Millis"))&&void 0!==a?a:"",10),u=null!==(n=null!=o?o:1e3*s)&&void 0!==n?n:NaN;e.isNonNullable(u)&&!isNaN(u)&&i.next(u)}},o=function(e){e.readyState>=2&&!n&&(n=!0,r.next(Date.now()-a))};return t.extend("XHRLoader",(function(){var e=this.parent,t=e.load.bind(e);return{load:function(e){if("MPD"===e.request.type){var i=e.onload,r=e.progress;e.onload=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return s(this),i.apply(void 0,f([],h(e),!1))},e.progress=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o(this),r.apply(void 0,f([],h(e),!1))},a=Date.now(),n=!1}return t(e)}}}),!0),{playbackDuration$:i,ping$:r}},Me=function(){function e(){this.pausedTime=0,this.streamOffset=0,this.pauseTimestamp=0}return e.prototype.getTotalPausedTime=function(){return this.pausedTime+this.getCurrentPausedTime()},e.prototype.getCurrentPausedTime=function(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0},e.prototype.getStreamOffset=function(){return this.streamOffset},e.prototype.getTotalOffset=function(){return this.getTotalPausedTime()+this.streamOffset},e.prototype.pause=function(){0===this.pauseTimestamp&&(this.pauseTimestamp=Date.now())},e.prototype.resume=function(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)},e.prototype.resetTo=function(e){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0},e}(),Be={};!function(e){e.DOWNLOADING_LIB="downloading_lib",e.STOPPED="stopped",e.STREAM_INITIALIZED="stream_initialized",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(De||(De={}));var Ue=function(t,i){return new e.Observable((function(e){var r=function(t){return e.next(t)};return t.on(i,r),function(){return t.off(i,r)}}))},Fe=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(De.DOWNLOADING_LIB),this.textTracksManager=new A,this.videoTracks=[],this.isLive$=new e.ValueSubject(void 0),this.maxSeekBackTime$=new e.ValueSubject(1/0),this.availableFrom$=new e.ValueSubject(void 0),this.liveOffset=new Me,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition(),s=i.isLive$.getValue();if(!i.videoState.getTransition()&&t!==De.DOWNLOADING_LIB&&t!==De.STREAM_INITIALIZED){var o=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(o)&&t!==De.STOPPED&&r!==exports.PlaybackState.STOPPED&&(s?i.seek(o+He(i.liveOffset.getTotalPausedTime())):i.seek(o)),r){case exports.PlaybackState.STOPPED:switch(t){case De.STOPPED:break;case De.PLAYING:case De.PAUSED:case De.READY:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case De.PLAYING:break;case De.PAUSED:s&&(i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.params.output.position$.next(He(i.liveOffset.getTotalOffset()))):i.seek(He(i.liveOffset.getTotalOffset()))),i.play();break;case De.READY:i.play();break;case De.STOPPED:i.prepare();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case De.PLAYING:i.pause(),i.liveOffset.pause();break;case De.PAUSED:break;case De.READY:i.videoState.setState(De.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case De.STOPPED:i.prepare();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.availableVideoTracks$.next([]),this.params.output.hostname$.next(W(this.params.source.url)),this.loadDashJs()}return t.prototype.loadDashJs=function(){var e=this,t=!1,r=function(i){var r,a;t||e.params.output.error$.next({id:"timeout"===i?"DashJSTimedOut":"DashJSLoadingError",message:"Dash.js failed to load: "+(null===(a=null===(r=i)||void 0===r?void 0:r.toString)||void 0===a?void 0:a.call(r)),thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("dashjs/dist/dash.mediaplayer.min.js"))})).then((function(i){t||(Be.MediaPlayer=i.MediaPlayer,Be.Debug=i.Debug,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){var t=this;e.assertNonNullable(Be.MediaPlayer,"dashjs not loaded"),e.assertNonNullable(Be.Debug,"dashjs not loaded"),this.player=Be.MediaPlayer().create(),this.player.updateSettings({debug:{logLevel:3},streaming:{buffer:{fastSwitchEnabled:!0},abr:{limitBitrateByPortal:this.params.tuning.autoTrackSelection.limitByContainer,usePixelRatioInLimitBitrateByPortal:this.params.tuning.autoTrackSelection.usePixelRatio,additionalAbrRules:{insufficientBufferRule:!1}},utcSynchronization:{useManifestDateHeaderTimeSource:!0}}}),(this.params.format===exports.VideoFormat.DASH_WEBM||this.params.format===exports.VideoFormat.DASH_LIVE_WEBM)&&this.params.tuning.useWebmBigRequest?this.destroyBigRequest=Oe(this.player,{minInitSize:this.params.tuning.bigRequestMinInitSize,minDataSize:this.params.tuning.bigRequestMinDataSize,onError:function(e){return t.params.output.error$.next(e)},onDownloadStream:function(e){return t.params.dependencies.throughputEstimator.stream$.next(e)}}):this.params.tuning.stripRangeHeader&&this.player.extend("HTTPLoader",(function(){var e=this.parent.load;return{load:function(t){if(t.request&&t.request.range){var i=h(t.request.range.split("-").map((function(e){return parseInt(e,10)})),2),r=i[0],a=i[1],n=new URL(t.request.url,location.href);n.searchParams.append("bytes",r+"-"+a),t.request.url=n.toString(),t.request.range=void 0}e(t)}}}),!0),this.player.clearDefaultUTCTimingSources(),this.subscribe(),this.videoState.setState(De.STOPPED)},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"DashIFProvider",message:"DashIFProvider internal logic error",thrown:e})},s=function(e,i){return t.subscription.add(e.subscribe(i,n))};s(Ue(this.player,"error").pipe(e.map((function(e){return{id:"DashJS#"+("object"==typeof e.error?e.error.code:e.error),message:"object"==typeof e.error?e.error.message:void 0}}))),r.error$),s(Ue(this.player,"playbackError").pipe(e.map((function(e){return{id:"DashJSPlayback",message:e.error}}))),r.error$);var o=Ue(this.player,"qualityChangeRendered").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){var i,r=e.newQuality;return null===(i=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===i?void 0:i.track})));o.pipe(e.filter(e.isNonNullable)).subscribe(r.currentVideoTrack$),this.subscription.add(this.videoState.transitionEnded$.pipe(e.filter((function(e){return e.to===De.STREAM_INITIALIZED})),e.once()).subscribe((function(){t.subscription.add(P(a.videoTrack,(function(){var e,i,r=t.player.getQualityFor("video");return null===(i=null===(e=t.videoTracks.find((function(e){return e.bitrateInfo.qualityIndex===r})))||void 0===e?void 0:e.track)||void 0===i?void 0:i.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.videoTracks.find((function(e){return e.track.id===i})))||void 0===r?void 0:r.bitrateInfo;a&&t.player.setQualityFor("video",a.qualityIndex)}}),{changed$:o.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n}))}),n)),this.subscription.add(P(a.autoVideoTrackSwitching,(function(){var e,i,r;return null===(r=null===(i=null===(e=t.player.getSettings().streaming)||void 0===e?void 0:e.abr)||void 0===i?void 0:i.autoSwitchBitrate)||void 0===r?void 0:r.video}),(function(e){return t.player.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:e}}}})}),{onError:n})),s(Ue(this.player,"bufferStateChanged").pipe(e.filter((function(e){return"video"===e.mediaType})),e.map((function(e){return"bufferStalled"===e.state}))),r.isBuffering$),s(Ue(this.player,"fragmentLoadingStarted").pipe(e.map((function(e){return W(e.request.url)}))),r.hostname$),s(Ue(this.player,"streamInitialized"),(function(e){var i,a,n=e.streamInfo,s=n.duration,o=n.manifestInfo,u=o.isDynamic,d=o.availableFrom;t.isLive$.next(u),t.availableFrom$.next(d.getTime()),u||r.duration$.next(s),t.videoTracks=[];var c,l=t.player.getQualityFor("video");try{for(var h=p(t.player.getBitrateInfoListFor("video")),f=h.next();!f.done;f=h.next()){var v=f.value,m=v.qualityIndex.toString(10),S=U(v),b=v.bitrate/1e3,g={width:v.width,height:v.height};if(S){var y={id:m,quality:S,bitrate:b,size:g};t.videoTracks.push({track:y,bitrateInfo:v}),v.qualityIndex===l&&(c=y)}}}catch(e){i={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}r.availableVideoTracks$.next(t.videoTracks.map((function(e){return e.track}))),c&&r.currentVideoTrack$.next(c),t.videoState.setState(De.STREAM_INITIALIZED),t.videoState.startTransitionTo(De.READY)})),s(Ue(this.player,"fragmentLoadingCompleted"),(function(e){var i=e.request;if(i.requestEndDate&&i.firstByteDate&&i.bytesLoaded){var r=i.requestEndDate.getTime()-i.firstByteDate.getTime(),a=i.bytesLoaded;t.params.dependencies.throughputEstimator.rawSpeed$.next({time:r,size:a})}})),s(this.params.dependencies.throughputEstimator.estimation$,(function(e){if(t.params.desiredState.autoVideoTrackSwitching.getState()&&t.videoTracks.length){var i=z(t.videoTracks.map((function(e){return e.track})),{container:{width:t.video.offsetWidth,height:t.video.offsetHeight},throughput:e,tuning:t.params.tuning.autoTrackSelection}),r=t.videoTracks.find((function(e){return e.track===i}));(null==r?void 0:r.bitrateInfo)&&t.player.setQualityFor("video",null==r?void 0:r.bitrateInfo.qualityIndex,!1)}})),s(e.combine({maxSeekBackTime:this.maxSeekBackTime$,isLive:this.isLive$.pipe(e.filter(e.isNonNullable))}).pipe(e.filter((function(e){return e.isLive})),e.map((function(e){var t=e.maxSeekBackTime;return He(t)}))),this.params.output.duration$);var u=Ue(this.player,"playbackTimeUpdated").pipe(e.map((function(e){var t=e.time;return null!=t?t:0})));s(e.combine({availableFrom:this.availableFrom$.pipe(e.filter(e.isNonNullable)),currentTime:u}),(function(e){var i=e.availableFrom,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)})),s(u.pipe(e.filter((function(){return!1===t.isLive$.getValue()}))),r.position$),s(Ue(this.player,"playbackSeeked"),(function(){return a.seekPosition.setState(void 0)})),s(Ue(this.player,"playbackEnded"),r.endedEvent$),s(Ue(this.player,"playbackProgress").pipe(e.map((function(){return _(t.video.buffered,t.video.currentTime)}))),r.currentBuffer$),s(Ue(this.player,"playbackPlaying"),(function(){t.videoState.setState(De.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)})),s(Ue(this.player,"playbackNotAllowed"),(function(){t.player.isMuted()?(t.player.setMute(!1),t.videoState.setState(De.PAUSED),C(t.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)):(t.player.setMute(!0),t.player.play())})),s(Ue(this.player,"playbackPaused"),(function(){t.videoState.setState(De.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)})),s(Ue(this.player,"canPlay"),(function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===De.READY&&t.videoState.setState(De.READY)})),s(this.isLive$,r.isLive$),s(J(this.video),(function(){t.player.isReady()&&t.player.updatePortalSize()})),s(e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)),this.syncPlayback);var d=Ve(this.player),c=d.playbackDuration$,l=d.ping$;s(c,this.maxSeekBackTime$),s(l.pipe(e.once()),r.firstBytesEvent$),this.params.tuning.flushShortLoopedBuffers&&s(e.combine({isLive:this.isLive$,isShort:r.duration$.pipe(e.map((function(e){return e<30}))),isLooped:a.isLooped.stateChangeEnded$.pipe(e.map((function(e){return e.to})))}),(function(e){var i=e.isLive,r=e.isShort,a=e.isLooped,n=!i&&r&&a;t.player.updateSettings({streaming:{buffer:{flushBufferAtTrackSwitch:n}}})})),s(u.pipe(e.filter((function(e){return e>t.params.tuning.insufficientBufferRuleMargin})),e.once()),(function(){return t.player.updateSettings({streaming:{abr:{additionalAbrRules:{insufficientBufferRule:!0}}}})})),this.textTracksManager.connect(this.video,a,r),this.subscription.add(Ue(this.player,"manifestLoaded").pipe(e.once()).subscribe((function(){var i=Date.now();t.subscription.add(Ue(t.player,"playbackPlaying").pipe(e.once()).subscribe((function(){return r.firstFrameEvent$.next(Date.now()-i)}),n))}),n)),this.subscription.add(k(this.video,a.isLooped,n));var h=R(this.video).volumeState$;this.subscription.add(w(this.video,a.volume,h,n)),this.subscription.add(h.subscribe(r.volume$,n))},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.player.attachSource(null),this.player.attachView(null),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.videoState.setState(De.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t.prototype.prepare=function(){this.videoState.startTransitionTo(De.STREAM_INITIALIZED),this.player.initialize(),this.player.clearDefaultUTCTimingSources(),this.player.attachView(this.video),this.player.attachSource(this.params.source.url)},t.prototype.seek=function(e){if(this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.isLive$.getValue()){var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(He(i));var r=Ee(this.params.source.url,this.liveOffset.getTotalOffset()/1e3,Se.PLAYBACK_SHIFT);this.player.attachSource(r)}else this.player.seek(e)},t.prototype.play=function(){this.videoState.startTransitionTo(De.PLAYING),this.player.play()},t.prototype.pause=function(){this.videoState.startTransitionTo(De.PAUSED),this.video.pause()},t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.textTracksManager.destroy();try{null===(e=this.player)||void 0===e||e.destroy()}catch(e){}this.video.remove(),this.params.output.element$.next(void 0),null===(t=this.destroyBigRequest)||void 0===t||t.call(this)},t}(),He=function(e){return-e/1e3};function qe(){return window.performance?window.performance.now():Date.now()}function Ge(e){return qe()-e}function Ye(e){var t=e.split("/"),i=t.slice(0,t.length-1).join("/"),r=/^([a-z]+:)?\/\//i;return{resolve:function(e,t,a){void 0===a&&(a=!1),function(e){return r.test(e)}(e)||(e.startsWith("/")||(e="/"+e),e=i+e);var n=e.indexOf("?")>-1?"&":"?";return a&&(e+=n+"lowLat=1",n="&"),t&&(e+=n+"_rnd="+Math.floor(999999999*Math.random())),e}}}function je(t,i,r,a){var n,s,o,u,d,c=window.XMLHttpRequest,l=!1,p=0,h=!1,f="arraybuffer",v=7e3,m=2e3,S=function(){if(!l){e.assertNonNullable(u);var t=Ge(u);t<m?setTimeout(S,m-t):((m*=2)>v&&(m=v),s&&s.abort(),s=new c,g())}},b=function(){if(!l){if(--p>=0)return S(),void(a&&a());l=!0,d&&d(),r&&r()}},g=function(){u=qe(),(s=new c).open("get",t);var r,a=0,p=0,v=function(){return e.assertNonNullable(u),Math.max(u,Math.max(r||0,p||0))};if(n&&s.addEventListener("progress",(function(e){var t=qe();n.updateChunk&&e.loaded>a&&(n.updateChunk(v(),e.loaded-a),a=e.loaded,r=t)})),o&&(s.timeout=o,s.addEventListener("timeout",(function(){return b()}))),s.addEventListener("load",(function(){if(!l){e.assertNonNullable(s);var t=s.status;if(t>=200&&t<300){if(s.response.byteLength&&n){var r=s.response.byteLength-a;r&&n.updateChunk&&n.updateChunk(v(),r)}d&&d(),s&&i(s.response)}else b()}})),s.addEventListener("error",(function(){b()})),h){var m=function(){e.assertNonNullable(s),s.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(p=qe(),s.removeEventListener("readystatechange",m))};s.addEventListener("readystatechange",m)}return s.responseType=f,s.send(),y},y={withBitrateReporting:function(e){return n=e,y},withParallel:function(e){return h=e,y},withJSONResponse:function(){return f="json",y},withRetryCount:function(e){return p=e,y},withRetryInterval:function(t,i){return e.isNonNullable(t)&&(m=t),e.isNonNullable(i)&&(v=i),y},withTimeout:function(e){return o=e,y},withFinally:function(e){return d=e,y},send:g,abort:function(){s&&(s.abort(),s=void 0),l=!0,d&&d()}};return y}var Qe,ze=function(){function e(e){this.intervals=[],this.currentRate=0,this.logger=e}return e.prototype._updateRate=function(e){var t=.2;this.currentRate&&(e<.1*this.currentRate?t=.8:e<.5*this.currentRate?t=.5:e<.7*this.currentRate&&(t=.3)),e=Math.max(1,Math.min(e,104857600)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e},e.prototype._createInterval=function(e,t,i){return{start:e,end:t,bytes:i}},e.prototype._doMergeIntervals=function(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes},e.prototype._mergeIntervals=function(e,t){return e.start<=t.end&&t.start<=e.end&&(this._doMergeIntervals(e,t),!0)},e.prototype._flushIntervals=function(){if(!this.intervals.length)return!1;var e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){for(var i=0,r=0;this.intervals.length>0;){var a=this.intervals[0];if(a.end<=t)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=t)break;var n=t-a.start,s=a.end-a.start;i+=n;var o=a.bytes*n/s;r+=o,a.start=t,a.bytes-=o}}if(r>0&&i>0){var u=8*r/(i/1e3);return this._updateRate(u),this.logger("rate updated, new="+Math.round(u/1024)+"K; average="+Math.round(this.currentRate/1024)+"K bytes/ms="+Math.round(r)+"/"+Math.round(i)+" interval="+Math.round(t-e)),!0}}return!1},e.prototype._joinIntervals=function(){var e;do{e=!1;for(var t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)},e.prototype.addInterval=function(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger("too many intervals ("+this.intervals.length+"); will merge",{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()},e.prototype.getBitRate=function(){return this.currentRate},e}(),We=function(){function e(e,t,i,r,a){this.pendingQueue=[],this.activeRequests={},this.completeRequests={},this.averageSegmentDuration=2e3,this.lastPrefetchStart=0,this.throttleTimeout=null,this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}return e.prototype.limitCompleteCount=function(){for(var e;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){var t=e[Math.floor(Math.random()*e.length)];this.logger("Dropping completed request for url "+t,{type:"warn"}),delete this.completeRequests[t]}},e.prototype._sendRequest=function(e,t){var i=this,r=qe();e._request=je(t,(function(a){e._complete=1,e._responseData=a,e._downloadTime=qe()-r,delete i.activeRequests[t],i._sendPending(),e._cb?e._cb(a,e._downloadTime):(i.limitCompleteCount(),i.completeRequests[t]=e)}),(function(){return r="error",delete i.activeRequests[t],i.limitCompleteCount(),i.completeRequests[t]=e,i._sendPending(),e._error=1,e._errorMsg=r,void(e._errorCB?e._errorCB(r):(i.limitCompleteCount(),i.completeRequests[t]=e));var r}),(function(){e._retry=1,e._retryCB&&e._retryCB()})),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally((function(){e._finallyCB&&e._finallyCB()})),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=qe()},e.prototype._getParallelRequestCount=function(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)},e.prototype._getPrefetchDelay=function(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))},e.prototype._canSendPending=function(){var e=this,t=this._getParallelRequestCount(),i=qe();if(Object.keys(this.activeRequests).length>=t)return!1;var r=this._getPrefetchDelay()-(i-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),!(r>0)||(this.throttleTimeout=window.setTimeout((function(){return e._sendPending()}),r),!1)},e.prototype._sendPending=function(){for(;this._canSendPending();){var e=this.pendingQueue.pop();if(!e)return;this.activeRequests[e]||this.completeRequests[e]||(this.logger("Submitting pending request url="+e),this._sendRequest({},e))}},e.prototype._removeFromActive=function(e){delete this.completeRequests[e],delete this.activeRequests[e]},e.prototype.abortAll=function(){Object.values(this.activeRequests).forEach((function(e){e&&e._request&&e._request.abort()})),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}},e.prototype.requestData=function(e,t,i,r){var a=this,n={send:function(){var s=a.activeRequests[e]||a.completeRequests[e];if(s)s._cb=t,s._errorCB=i,s._retryCB=r,s._finallyCB=n._finallyCB,s._error||s._complete?(a._removeFromActive(e),setTimeout((function(){s._complete?(a.logger("Requested url already prefetched, url="+e),t(s._responseData,s._downloadTime)):(a.logger("Requested url already prefetched with error, url="+e),i(s._errorMsg)),n._finallyCB&&n._finallyCB()}),0)):a.logger("Attached to active request, url="+e);else{var o=a.pendingQueue.indexOf(e);-1!==o&&a.pendingQueue.splice(o,1),a.logger("Request not prefetched, starting new request, url="+e+(-1===o?"":"; removed pending")),a._sendRequest(n,e)}}};return n._cb=t,n._errorCB=i,n._retryCB=r,n.abort=function(){n.request&&n.request.abort()},n.withFinally=function(e){return n._finallyCB=e,n},n},e.prototype.prefetch=function(e){this.activeRequests[e]||this.completeRequests[e]?this.logger("Request already active for url="+e):(this.logger("Added to pending queue; url="+e),this.pendingQueue.unshift(e),this._sendPending())},e.prototype.optimizeForSegDuration=function(e){this.averageSegmentDuration=e},e}(),Je=function(){function t(e){this.paused=!1,this.autoQuality=!0,this.buffering=!0,this.destroyed=!1,this.videoPlayStarted=!1,this.lowLatency=!1,this.bitrate=0,this.manifest=[],this.sourceBuffer=0,this.bufferStates=[],this.sourceJitter=-1,this.params=e,this.chunkRateEstimator=new ze(this.params.logger),this._initVideo()}return t.prototype.attachSource=function(e){this.manifestUrl=e,this.urlResolver=Ye(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()},t.prototype.setAutoQualityEnabled=function(e){this.autoQuality=e},t.prototype.switchByName=function(e){for(var t,i=0;i<this.manifest.length;++i)if((t=this.manifest[i]).name===e)return void this._switchToQuality(t)},t.prototype.catchUp=function(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))},t.prototype.stop=function(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)},t.prototype.pause=function(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)},t.prototype.play=function(e){this.paused=!1;var t=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!t?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement(e):this._notifyBuffering(!0)):this.catchUp()},t.prototype.startPlay=function(e,t){this.autoQuality=t,this._initPlayerWith(e)},t.prototype.destroy=function(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)},t.prototype.reinit=function(e){this.manifestUrl=e,this.urlResolver=Ye(e),this.catchUp()},t.prototype._handleNetworkError=function(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})},t.prototype._retryCallback=function(){this.params.playerCallback({name:"retry"})},t.prototype._getBufferSizeSec=function(){var e=this.params.videoElement,t=0,i=e.buffered.length;return 0!==i&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t},t.prototype._notifyBuffering=function(e){this.destroyed||(this.params.logger("buffering: "+e),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)},t.prototype._initVideo=function(){var e=this,t=this.params,i=t.videoElement,r=t.logger;i.addEventListener("error",(function(t){var a;e.destroyed||(r("Video element error: "+(null===(a=i.error)||void 0===a?void 0:a.code)),e.params.playerCallback({name:"error",type:"media"}))})),i.addEventListener("timeupdate",(function(){var t=e._getBufferSizeSec();!e.paused&&t<.3?e.buffering||(e.buffering=!0,window.setTimeout((function(){!e.paused&&e.buffering&&e._notifyBuffering(!0),i.pause(),e.videoPlayStarted=!1}),1e3*(t+.1))):e.buffering&&e.videoPlayStarted&&e._notifyBuffering(!1)})),i.addEventListener("playing",(function(){r("playing")})),i.addEventListener("stalled",(function(){return e._fixupStall()})),i.addEventListener("waiting",(function(){return e._fixupStall()}))},t.prototype._fixupStall=function(){var e,t=this.params,i=t.logger,r=t.videoElement,a=r.buffered.length;0!==a&&(e=r.buffered.start(a-1),r.currentTime<e&&(i("Fixup stall"),r.currentTime=e))},t.prototype._selectQuality=function(e){for(var t,i,r,a=this.params.videoElement,n=a&&1.62*(window.devicePixelRatio||1)*a.offsetHeight||520,s=0;s<this.manifest.length;++s)(r=this.manifest[s]).bitrate<e&&n>Math.min(r.video.height,r.video.width)?(!i||r.bitrate>i.bitrate)&&(i=r):(!t||t.bitrate>r.bitrate)&&(t=r);return i||t},t.prototype.shouldPlay=function(){if(this.paused)return!1;var t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||e.isNonNullable(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)},t.prototype._setVideoSrc=function(t,i){var r=this,a=this.params,n=a.logger,s=a.videoElement,o=a.playerCallback;this.mediaSource=new window.MediaSource,n("setting video src"),s.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",(function(){e.assertNonNullable(r.mediaSource),r.sourceBuffer=r.mediaSource.addSourceBuffer(t.codecs),r.bufferStates=[],i()})),this.videoPlayStarted=!1,s.addEventListener("canplay",(function(){r.shouldPlay()&&(r.videoPlayStarted=!0,r._playVideoElement())}));var u=function(){var e,t,i,r;t="progress",i=function(){s.buffered.length?(s.currentTime=s.buffered.start(0),o({name:"playing"})):u()},r=function(){for(var a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];i.apply(null,a),e.removeEventListener(t,r)},(e=s).addEventListener(t,r)};u()},t.prototype._initPlayerWith=function(e){var t=this;this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new We(3,1e4,this.bitrateSwitcher,this.params.config.MAX_PARALLEL_REQUESTS,this.params.logger),this._setVideoSrc(e,(function(){return t._switchToQuality(e)}))},t.prototype._representation=function(t){var i=this,r=this.params,a=r.logger,n=r.videoElement,s=r.playerCallback,o=!1,u=null,d=null,c=null,l=null,p=!1,h=function(){var e=o&&(!p||p===i.rep);return e||a("Not running!"),e},f=function(e){var t=n.playbackRate;n.playbackRate!==e&&(a("Playback rate switch: "+t+"=>"+e),n.playbackRate=e)},v=function(){if(i.lowLatency){var e=i._getBufferSizeSec();if(i.bufferStates.length<5)return void f(1);for(var t=qe()-6e4,r=0,n=0;n<i.bufferStates.length;n++){var s=i.bufferStates[n];e=Math.min(e,s.buf),s.ts<t&&r++}i.bufferStates.splice(0,r),a("update playback rate; minBuffer="+e+" drop="+r+" jitter="+i.sourceJitter);var o=e-1;i.sourceJitter>=0?o-=i.sourceJitter/2:i.sourceJitter-=1,f(o>3?1.15:o>1?1.1:o>.3?1.01:1)}else f(1)},m=function(t){var r,n=function(){return r&&r.start?r.start.length:0},o=function(e){return r.start[e]/1e3},u=function(e){return r.dur[e]/1e3},d=function(e){return r.fragIndex+e},c=function(e,t){return{chunkIdx:d(e),startTS:o(e),dur:u(e),discontinuity:t}},p=function(){var e=0;if(r&&r.dur){var t=Math.max(i.sourceJitter,1);for(i.lowLatency||(t+=2),e=r.dur.length-1;e>=0&&!((t-=r.dur[e]/1e3)<=0);--e);}return c(e,!0)};return{seek:function(u,d){!function(e,t,r){l&&l.abort(),l=je(i.urlResolver.resolve(e,!0,i.lowLatency),t,r,(function(){return i._retryCallback()})).withTimeout(1e4).withRetryCount(3).withFinally((function(){l=null})).withJSONResponse().send()}(t,(function(t){if(h()){r=t;var l,f=Boolean(r.lowLatency);f!==i.lowLatency&&(l=f,i.lowLatency=l,a("lowLatency changed to "+l),v());for(var m=0,S=0;S<r.dur.length;++S)m+=r.dur[S];m>0&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.optimizeForSegDuration(m/r.dur.length)),s({name:"index",zeroTime:r.zeroTime,shiftDuration:r.shiftDuration}),i.sourceJitter=r.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,r.jitter/1e3)):1,u(function(t){var i=n();if(!(i<=0)){if(e.isNonNullable(t))for(var r=0;r<i;r++)if(o(r)>t)return c(r);return p()}}(d))}}),(function(){return i._handleNetworkError()}))},nextChunk:function(e){var t=n(),i=e?e.chunkIdx+1:0,s=i-r.fragIndex;if(!(t<=0)){if(!e||s<0||s-t>10)return a("Resync: offset="+s+" bChunks="+t+" chunk="+JSON.stringify(e)),p();if(!(s>=t))return c(i-r.fragIndex,!1)}}}},S=function(){o=!1,d&&d.abort(),c&&c.abort(),l&&l.abort(),e.assertNonNullable(i.filesFetcher),i.filesFetcher.abortAll()};return p={start:function(r){var a,n,s,p,f,b,g,y,T,E,P=i.params,k=P.videoElement,w=P.logger,x=m(t.jidxUrl),A=0,N=function(){f&&(clearTimeout(f),f=void 0);var e=Math.max(500,1e3*(i._getBufferSizeSec()-i.sourceJitter-5)),t=A+e,r=qe(),a=Math.min(1e4,t-r);A=r;var n=function(){l||h()&&x.seek((function(){h()&&(A=qe(),$(),N())}))};a>0?f=window.setTimeout((function(){i.paused?N():n()}),a):n()},$=function(){for(var e;e=x.nextChunk(p);)p=e,C(e);var r=x.nextChunk(s);if(r){if(s&&r.discontinuity)return w("Detected discontinuity; restarting playback"),void(i.paused?N():(S(),i._initPlayerWith(t)));R(r)}else N()},D=function(e,t){if(h()&&i.sourceBuffer){var r,a,n=function(i){window.setTimeout((function(){h()&&D(e,t)}),i)};if(i.sourceBuffer.updating)w("Source buffer is updating; delaying appendBuffer"),n(100);else{var s=qe(),o=k.currentTime;!i.paused&&k.buffered.length>1&&b===o&&s-g>500&&(w("Stall suspected; trying to fix"),i._fixupStall()),b!==o&&(b=o,g=s);var u=i._getBufferSizeSec();if(u>30)w("Buffered "+u+" seconds; delaying appendBuffer"),n(2e3);else try{i.sourceBuffer.appendBuffer(e),i.videoPlayStarted?(i.bufferStates.push({ts:s,buf:u}),v(),i.bufferStates.length>200&&i.bufferStates.shift()):i.shouldPlay()&&(i.videoPlayStarted=!0,i._playVideoElement()),t&&t()}catch(e){if("QuotaExceededError"!==e.name)throw e;w("QuotaExceededError; delaying appendBuffer"),0!==i.sourceBuffer.buffered.length&&(a=o)-(r=i.sourceBuffer.buffered.start(0))>4&&i.sourceBuffer.remove(r,a-3),n(1e3)}}}},_=function(){n&&a&&(w(["Appending chunk, sz="+n.byteLength+":",JSON.stringify(s)]),D(n,(function(){n=null,$()})))},I=function(e){return t.fragUrlTemplate.replace("%%id%%",e.chunkIdx)},R=function(t){var r,a,o;h()&&(r=I(t),a=function(e,r){if(h()){if(r/=1e3,n=e,s=t,u=t.startTS,r){var a=Math.min(10,t.dur/r);i.downloadRate=i.downloadRate?.7*i.downloadRate+.3*a:a}_()}},o=function(){return i._handleNetworkError()},e.assertNonNullable(i.filesFetcher),null==d||d.abort(),d=i.filesFetcher.requestData(i.urlResolver.resolve(r,!1),a,o,(function(){return i._retryCallback()})).withFinally((function(){d=null})).send())},C=function(t){h()&&(e.assertNonNullable(i.filesFetcher),i.filesFetcher.prefetch(i.urlResolver.resolve(I(t),!1)))},L=function(e){h()&&(t.cachedHeader=e,D(e,(function(){a=!0,_()})))};o=!0,x.seek((function(t){h()&&(A=qe(),t?(p=t,!e.isNullable(r)||t.startTS>r?R(t):(s=t,$())):N())}),r),t.cachedHeader?L(t.cachedHeader):(y=t.headerUrl,T=L,E=function(){return i._handleNetworkError()},c&&c.abort(),c=je(i.urlResolver.resolve(y,!1),T,E,(function(){return i._retryCallback()})).withTimeout(1e4).withBitrateReporting(i.bitrateSwitcher).withRetryCount(3).withFinally((function(){c=null})).send())},stop:S,getTimestampSec:function(){return u}}},t.prototype._switchToQuality=function(t){var i,r=this.params,a=r.logger,n=r.playerCallback;t.bitrate!==this.bitrate&&(this.rep&&(i=this.rep.getTimestampSec(),e.isNonNullable(i)&&(i+=.1),this.rep.stop()),this.currentManifestEntry=t,this.rep=this._representation(t),a("switch to quality: codecs="+t.codecs+"; headerUrl="+t.headerUrl+"; bitrate="+t.bitrate),this.bitrate=t.bitrate,e.assertNonNullable(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(i),n({name:"qualitySwitch",quality:t}))},t.prototype._qualityAvailable=function(t){return e.isNonNullable(this.manifest.find((function(e){return e.name===t})))},t.prototype._initBitrateSwitcher=function(){var e,t=this,i=this.params,r=i.logger,a=i.playerCallback,n={updateChunk:function(e,i){var r=qe();if(t.chunkRateEstimator.addInterval(e,r,i)){var n=t.chunkRateEstimator.getBitRate();return a({name:"bandwidth",size:i,duration:r-e,speed:n}),!0}},get:function(){var e=t.chunkRateEstimator.getBitRate();return e?.85*e:0}},s=-1/0,o=!0,u=function(){var i=n.get();if(i&&e&&t.autoQuality){if(o&&i>e&&Ge(s)<3e4)return;!function(e){var i,a,n;t.autoQuality&&(t.currentManifestEntry&&t._qualityAvailable(t.currentManifestEntry.name)&&e<t.bitrate&&(a=t._getBufferSizeSec(),n=e/t.bitrate,a>10&&n>.8||a>15&&n>.5||a>20&&n>.3)?r("Not switching: buffer="+Math.floor(a)+"; bitrate="+t.bitrate+"; newRate="+Math.floor(e)):(i=t._selectQuality(e))?t._switchToQuality(i):r("Could not find quality by bitrate "+e))}(i)}o=t.autoQuality};return{updateChunk:function(e,t){var i=n.updateChunk(e,t);return i&&u(),i},notifySwitch:function(t){var i=qe();t<e&&(s=i),e=t}}},t.prototype._fetchManifest=function(e,t,i){var r=this;this.manifestRequest=je(this.urlResolver.resolve(e,!0),t,i,(function(){return r._retryCallback()})).withJSONResponse().withTimeout(1e4).withRetryCount(3).withRetryInterval(300,2e3).send().withFinally((function(){r.manifestRequest=void 0}))},t.prototype._playVideoElement=function(e){var t=this.params.videoElement;E(t).then((function(t){t||null==e||e()}))},t.prototype._handleManifestUpdate=function(e){var t=this,i=this.params,r=i.logger,a=i.playerCallback,n=i.videoElement;this.manifest=function(e){var i=[];return(null==e?void 0:e.length)?(e.forEach((function(e,t){e.video&&n.canPlayType(e.codecs).replace(/no/,"")&&window.MediaSource.isTypeSupported(e.codecs)&&(e.index=t,i.push(e))})),i.sort((function(e,t){return e.video&&t.video?t.video.height-e.video.height:t.bitrate-e.bitrate})),i):(t.params.playerCallback({name:"error",type:"partial_metadata"}),[])}(e),r("Valid manifest entries: "+this.manifest.length+"/"+e.length),a({name:"manifest",manifest:this.manifest})},t.prototype._refetchManifest=function(e){var t=this;this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout((function(){t._fetchManifest(e,(function(i){t.destroyed||(t._handleManifestUpdate(i),t._refetchManifest(e))}),(function(){return t._refetchManifest(e)}))}),6e4))},t.prototype._initManifest=function(){var e=this;this._fetchManifest(this.manifestUrl,(function(t){e.destroyed||(e._handleManifestUpdate(t),e._refetchManifest(e.manifestUrl))}),(function(){return e._handleNetworkError()}))},t}();!function(e){e.STOPPED="stopped",e.MANIFEST_READY="manifest_ready",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(Qe||(Qe={}));var Xe,Ke=[Qe.PAUSED,Qe.PLAYING,Qe.READY],Ze=[Qe.PAUSED,Qe.PLAYING,Qe.READY],et=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Qe.STOPPED),this.representations$=new e.ValueSubject([]),this.textTracksManager=new A,this.maxSeekBackTime$=new e.ValueSubject(1/0),this.zeroTime$=new e.ValueSubject(void 0),this.liveOffset=new Me,this._dashCb=function(t){var r,a,n,s,o;switch(t.name){case"buffering":var u=t.isBuffering;i.params.output.isBuffering$.next(u);break;case"error":i.params.output.error$.next({id:"DashLiveProviderInternal:"+t.type,message:"LiveDashPlayer reported error"});break;case"manifest":var c=t.manifest,l=[];try{for(var h=p(c),f=h.next();!f.done;f=h.next()){var v=f.value,m=null!==(n=v.name)&&void 0!==n?n:v.index.toString(10),S=U(v.video),b=v.bitrate/1e3,g=d({},v.video);if(S){var y={id:m,quality:S,bitrate:b,size:g};l.push({track:y,representation:v})}}}catch(e){r={error:e}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(r)throw r.error}}i.representations$.next(l),i.params.output.availableVideoTracks$.next(l.map((function(e){return e.track}))),(null===(s=i.videoState.getTransition())||void 0===s?void 0:s.to)===Qe.MANIFEST_READY&&i.videoState.setState(Qe.MANIFEST_READY);break;case"qualitySwitch":var T=t.quality;y=null===(o=i.representations$.getValue().find((function(e){return e.representation===T})))||void 0===o?void 0:o.track;i.params.output.hostname$.next(new URL(T.headerUrl,i.params.source.url).hostname),e.isNonNullable(y)&&i.params.output.currentVideoTrack$.next(y);break;case"bandwidth":g=t.size;var E=t.duration;i.params.dependencies.throughputEstimator.rawSpeed$.next({size:g,time:E});break;case"index":i.maxSeekBackTime$.next(t.shiftDuration),i.zeroTime$.next(t.zeroTime)}},this.syncPlayback=function(){var t,r=i.videoState.getState(),a=i.videoState.getTransition(),n=i.params.desiredState.playbackState.getState(),s=i.params.desiredState.playbackState.getTransition(),o=i.params.desiredState.seekPosition.getTransition();if(i.log({message:"[syncPlayback] videoState: "+r+"; videoTransition: "+JSON.stringify(a)+"; desiredPlaybackState: "+n+"; seekPositionTransition: "+JSON.stringify(o)+";"}),n!==exports.PlaybackState.STOPPED){if(!a){if(Ze.includes(r)){var u=null===(t=i.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to;e.isNonNullable(u)&&i.setVideoTrack(u);var d=i.params.desiredState.autoVideoTrackSwitching.getTransition();d&&i.setAutoQuality(d.to)}var c=null==o?void 0:o.to;if((null==s?void 0:s.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&Ke.includes(r))i.seek(c+tt(i.liveOffset.getTotalPausedTime()));else switch(r){case Qe.STOPPED:return i.videoState.startTransitionTo(Qe.MANIFEST_READY),void i.dash.attachSource(Ee(i.params.source.url));case Qe.MANIFEST_READY:i.videoState.startTransitionTo(Qe.READY),i.prepare();break;case Qe.READY:return void(n===exports.PlaybackState.PAUSED?i.videoState.setState(Qe.PAUSED):n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)}))));case Qe.PLAYING:return void(n===exports.PlaybackState.PAUSED&&(i.videoState.startTransitionTo(Qe.PAUSED),i.liveOffset.pause(),i.dash.pause()));case Qe.PAUSED:return void(n===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Qe.PLAYING),i.liveOffset.getTotalPausedTime()<i.params.config.maxPausedTime&&i.liveOffset.getTotalOffset()<i.maxSeekBackTime$.getValue()?(i.liveOffset.resume(),i.dash.play((function(){i.liveOffset.pause(),i.videoState.setState(Qe.PAUSED)})),i.params.output.position$.next(tt(i.liveOffset.getTotalOffset()))):i.seek(tt(i.liveOffset.getTotalOffset()))));default:return e.assertNever(r)}}}else r!==Qe.STOPPED&&(i.videoState.startTransitionTo(Qe.STOPPED),i.dash.destroy(),i.video.setAttribute("src",""),i.video.load(),i.videoState.setState(Qe.STOPPED))},this.params=t,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");var r=function(e){t.output.error$.next({id:"DashLiveProvider",message:"DashLiveProvider internal logic error",thrown:e})};e.merge(this.videoState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,type:"start"}}))),this.videoState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,type:"end"}})))).subscribe((function(e){var t=e.transition,r=e.type;i.log({message:"[videoState change] "+r+": "+JSON.stringify(t)})})),this.video=N(t.container),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(W(this.params.source.url)),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);var a=R(this.video);this.subscription.add(a.canplay$.subscribe((function(){var e;(null===(e=i.videoState.getTransition())||void 0===e?void 0:e.to)===Qe.READY&&i.videoState.setState(Qe.READY)}),r)).add(a.pause$.subscribe((function(){i.videoState.setState(Qe.PAUSED)}),r)).add(a.play$.subscribe((function(){i.videoState.setState(Qe.PLAYING)}),r)).add(a.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(tt)).subscribe(this.params.output.duration$)).add(e.combine({zeroTime:this.zeroTime$.pipe(e.filter(e.isNonNullable)),position:a.timeUpdate$}).subscribe((function(e){var t=e.zeroTime,r=e.position;return i.params.output.liveTime$.next(t+1e3*r)}),r)).add(k(this.video,this.params.desiredState.isLooped,r)).add(w(this.video,this.params.desiredState.volume,a.volumeState$,r)).add(a.volumeState$.subscribe(this.params.output.volume$,r)).add(I(this.video).subscribe(this.params.output.firstBytesEvent$)).add($(this.video).subscribe(this.params.output.firstFrameEvent$)).add(this.videoState.stateChangeEnded$.subscribe((function(t){switch(t.to){case Qe.STOPPED:i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.desiredState.playbackState.setState(exports.PlaybackState.STOPPED);break;case Qe.MANIFEST_READY:case Qe.READY:break;case Qe.PAUSED:i.params.desiredState.playbackState.setState(exports.PlaybackState.PAUSED);break;case Qe.PLAYING:i.params.desiredState.playbackState.setState(exports.PlaybackState.PLAYING);break;default:return e.assertNever(t.to)}}),r)).add(e.merge(t.desiredState.playbackState.stateChangeStarted$,t.desiredState.seekPosition.stateChangeStarted$,t.desiredState.videoTrack.stateChangeStarted$,t.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0)).subscribe(this.syncPlayback,r))}return t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0),this.dash.destroy()},t.prototype.createLiveDashPlayer=function(){var e=this,t=new Je({videoElement:this.video,config:{CHUNK_DURATION:this.params.config.chunkDuration,BUFFER_OPTIMAL_DURATION:this.params.config.optimalBufferDuration,MAX_PARALLEL_REQUESTS:this.params.config.maxParallelRequests},playerCallback:this._dashCb,logger:function(t){e.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return t.pause(),t},t.prototype.prepare=function(){var t,i,r,a,n,s,o=this.representations$.getValue(),u=null!==(i=null===(t=this.params.desiredState.videoTrack.getTransition())||void 0===t?void 0:t.to)&&void 0!==i?i:this.params.desiredState.videoTrack.getState(),d=null!==(a=null===(r=this.params.desiredState.autoVideoTrackSwitching.getTransition())||void 0===r?void 0:r.to)&&void 0!==a?a:this.params.desiredState.autoVideoTrackSwitching.getState(),c=!d&&e.isNonNullable(u)?u:null===(n=z(o.map((function(e){return e.track})),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},throughput:this.params.dependencies.throughputEstimator.estimation$.getValue(),tuning:this.params.tuning.autoTrackSelection}))||void 0===n?void 0:n.id,l=null===(s=o.find((function(e){return e.track.id===c})))||void 0===s?void 0:s.representation;e.assertNonNullable(l),this.dash.startPlay(l,d),this.params.desiredState.videoTrack.getTransition()&&this.params.desiredState.videoTrack.setState(c),this.params.desiredState.autoVideoTrackSwitching.getTransition()&&this.params.desiredState.autoVideoTrackSwitching.setState(d)},t.prototype.setVideoTrack=function(t){var i,r=null===(i=this.representations$.getValue().find((function(e){return e.track.id===t})))||void 0===i?void 0:i.representation;e.assertNonNullable(r),this.dash.switchByName(r.name),this.params.desiredState.videoTrack.setState(t)},t.prototype.setAutoQuality=function(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)},t.prototype.seek=function(e){this.log({message:"[seek] position: "+e}),this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(tt(i)),this.dash.reinit(Ee(this.params.source.url,i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),tt=function(e){return-e/1e3},it=function(e){if(e.QUALITY)switch(e.QUALITY){case"mobile":return exports.VideoQuality.Q_144P;case"lowest":return exports.VideoQuality.Q_240P;case"low":return exports.VideoQuality.Q_360P;case"sd":case"medium":return exports.VideoQuality.Q_480P;case"hd":case"high":return exports.VideoQuality.Q_720P;case"fullhd":case"full":return exports.VideoQuality.Q_1080P;case"quadhd":case"quad":return exports.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return exports.VideoQuality.Q_2160P}if(e.RESOLUTION){var t=h(e.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),i=t[0],r=t[1],a=U({width:i,height:r});if(a)return a}return null},rt=function(e,t){return void 0===t&&(t=e),c(void 0,void 0,void 0,(function(){var i,r,a,n,s,o,u,d,c,p,f,v,m,S,b,g;return l(this,(function(l){switch(l.label){case 0:return[4,fetch(e)];case 1:return[4,l.sent().text()];case 2:for(i=l.sent(),r=i.split("\n"),a=[],n=0;n<r.length;n++)s=r[n],(o=s.match(/^#EXT-X-STREAM-INF:(.+)/))&&(u=Object.fromEntries(o[1].split(",").map((function(e){return e.split("=")}))),d=null!==(g=u.QUALITY)&&void 0!==g?g:"stream-"+u.BANDWIDTH,c=it(u),p=void 0,u.BANDWIDTH&&(p=parseInt(u.BANDWIDTH,10)/1e3||void 0),!p&&u["AVERAGE-BANDWIDTH"]&&(p=parseInt(u["AVERAGE-BANDWIDTH"],10)/1e3||void 0),f=void 0,u.RESOLUTION&&(v=h(u.RESOLUTION.split("x").map((function(e){return parseInt(e,10)})),2),m=v[0],S=v[1],m&&S&&(f={width:m,height:S})),b=new URL(r[++n],t).toString(),c&&a.push({id:d,quality:c,url:b,bandwidth:p,size:f}));return[2,a]}}))}))};!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(Xe||(Xe={}));var at,nt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(Xe.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.videoTrack.getTransition(),s=i.params.desiredState.autoVideoTrackSwitching.getTransition();if(r!==exports.PlaybackState.STOPPED){if(!i.videoState.getTransition()){var o=i.params.desiredState.seekPosition.getTransition();if(t===Xe.STOPPED)return i.videoState.startTransitionTo(Xe.READY),void i.prepare();if(n||s){var u=i.videoState.getState();i.videoState.setState(Xe.CHANGING_MANIFEST),i.videoState.startTransitionTo(u);var d=i.video.currentTime;return i.prepare(),void(o&&!e.isNullable(o.to)||i.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c)&&i.seek(c),t){case Xe.READY:return void(r===exports.PlaybackState.PAUSED?(i.videoState.setState(Xe.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):r===exports.PlaybackState.PLAYING&&(i.videoState.startTransitionTo(Xe.PLAYING),i.playIfAllowed()));case Xe.PLAYING:return void(r===exports.PlaybackState.PAUSED?(i.videoState.startTransitionTo(Xe.PAUSED),i.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(i.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case Xe.PAUSED:return void(r===exports.PlaybackState.PLAYING?(i.videoState.startTransitionTo(Xe.PLAYING),i.playIfAllowed()):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED));case Xe.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==Xe.STOPPED&&(i.videoState.startTransitionTo(Xe.STOPPED),i.video.setAttribute("src",""),i.video.load(),i.params.output.position$.next(0),i.params.output.duration$.next(1/0),i.params.output.currentBuffer$.next(void 0),i.params.output.hostname$.next(void 0),i.videoState.setState(Xe.STOPPED),C(i.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var r={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([r]),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(W(this.params.source.url)),rt(this.params.source.url).then((function(e){i.manifests$.next(f([r],h(e),!1))})),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsProvider",message:"HlsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i))};o(s.timeUpdate$,r.position$),o(s.durationChange$,r.duration$),o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return a.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,a.isLooped,n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(Xe.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(Xe.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===Xe.READY&&t.videoState.setState(Xe.READY),t.videoState.getState()===Xe.PLAYING&&t.playIfAllowed()}),n).add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(W(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===Xe.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n))),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this.selectManifest();e.isNullable(t)||(this.video.setAttribute("src",t.url),this.video.load())},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(Xe.PAUSED),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t}();!function(e){e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.CHANGING_MANIFEST="changing_manifest",e.PAUSED="paused"}(at||(at={}));var st,ot=function(){function t(t){var i,r=this;this.subscription=new e.Subscription,this.videoState=new X(at.STOPPED),this.textTracksManager=new A,this.manifests$=new e.ValueSubject([]),this.liveOffset=new Me,this.manifestStartTime$=new e.ValueSubject(void 0),this.syncPlayback=function(){var t=r.videoState.getState(),i=r.params.desiredState.playbackState.getState(),a=r.params.desiredState.playbackState.getTransition(),n=r.params.desiredState.videoTrack.getTransition(),s=r.params.desiredState.autoVideoTrackSwitching.getTransition();if(i!==exports.PlaybackState.STOPPED){if(!r.videoState.getTransition()){var o=r.params.desiredState.seekPosition.getTransition();if(t===at.STOPPED)return r.videoState.startTransitionTo(at.READY),void r.prepare();if(n||s){var u=r.videoState.getState();r.videoState.setState(at.CHANGING_MANIFEST),r.videoState.startTransitionTo(u);var d=ut(r.liveOffset.getTotalOffset());return r.prepare(),void(o&&!e.isNullable(o.to)||r.params.desiredState.seekPosition.startTransitionTo(d))}var c=null==o?void 0:o.to;if((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(c))return r.videoState.startTransitionTo(at.READY),r.seek(c+ut(r.liveOffset.getTotalPausedTime())),void r.prepare();switch(t){case at.READY:return void(i===exports.PlaybackState.PAUSED?(r.videoState.setState(at.PAUSED),r.liveOffset.pause(),C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED)):i===exports.PlaybackState.PLAYING&&(r.videoState.startTransitionTo(at.PLAYING),r.playIfAllowed()));case at.PLAYING:return void(i===exports.PlaybackState.PAUSED?(r.videoState.startTransitionTo(at.PAUSED),r.liveOffset.pause(),r.video.pause()):(null==a?void 0:a.to)===exports.PlaybackState.PLAYING&&C(r.params.desiredState.playbackState,exports.PlaybackState.PLAYING));case at.PAUSED:return void(i===exports.PlaybackState.PLAYING?(r.videoState.startTransitionTo(at.PLAYING),r.liveOffset.getTotalPausedTime()<r.params.config.maxPausedTime&&r.liveOffset.getTotalOffset()<r.maxSeekBackTime$.getValue()?(r.liveOffset.resume(),r.playIfAllowed(),r.params.output.position$.next(ut(r.liveOffset.getTotalOffset()))):r.seek(ut(r.liveOffset.getTotalOffset()))):(null==a?void 0:a.to)===exports.PlaybackState.PAUSED&&(C(r.params.desiredState.playbackState,exports.PlaybackState.PAUSED),r.liveOffset.pause()));case at.CHANGING_MANIFEST:break;default:return e.assertNever(t)}}}else t!==at.STOPPED&&(r.videoState.startTransitionTo(at.STOPPED),r.video.setAttribute("src",""),r.video.load(),r.params.output.position$.next(0),r.params.output.duration$.next(1/0),r.params.output.currentBuffer$.next(void 0),r.params.output.hostname$.next(void 0),r.videoState.setState(at.STOPPED),C(r.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0))},this.params=t,this.video=N(t.container),this.params.output.element$.next(this.video);var a={id:"master",quality:exports.VideoQuality.INVARIANT,url:this.params.source.url};this.manifests$.next([a]),rt(Ee(this.params.source.url)).then((function(e){r.manifests$.next(f([a],h(e),!1))})),this.params.output.isLive$.next(!0),this.params.output.hostname$.next(W(this.params.source.url)),this.maxSeekBackTime$=new e.ValueSubject(null!==(i=t.source.maxSeekBackTime)&&void 0!==i?i:1/0),this.subscribe()}return t.prototype.selectManifest=function(){var e,t,i=this.params.desiredState,r=i.autoVideoTrackSwitching,a=i.videoTrack,n=r.getState(),s=a.getTransition(),o=null!==(t=null!==(e=null==s?void 0:s.to)&&void 0!==e?e:a.getState())&&void 0!==t?t:"master",u=this.manifests$.getValue();if(u){var d=n?"master":o;return n&&!s&&a.startTransitionTo("master"),u.find((function(e){return e.id===d}))}},t.prototype.subscribe=function(){var t=this,i=this.params,r=i.output,a=i.desiredState,n=function(e){r.error$.next({id:"HlsLiveProvider",message:"HlsLiveProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.ended$,r.endedEvent$),o(s.error$,r.error$),o(s.isBuffering$,r.isBuffering$),o(s.currentBuffer$,r.currentBuffer$),o(s.firstBytes$,r.firstBytesEvent$),o(s.firstFrame$,r.firstFrameEvent$),this.subscription.add(a.isLooped.stateChangeStarted$.subscribe((function(){return a.isLooped.setState(!1)}),n)),this.subscription.add(w(this.video,a.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$,n)),this.textTracksManager.connect(this.video,a,r),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(at.PLAYING),C(a.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(at.PAUSED),C(a.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===at.READY&&t.videoState.setState(at.READY),t.videoState.getState()===at.PLAYING&&t.playIfAllowed()}),n)),this.subscription.add(this.maxSeekBackTime$.pipe(e.filterChanged(),e.map(ut)).subscribe(this.params.output.duration$,n)),this.subscription.add(s.loadedMetadata$.subscribe((function(){var i=t.params.desiredState.seekPosition.getTransition(),r=t.videoState.getTransition(),a=t.params.desiredState.videoTrack.getTransition(),n=t.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&e.isNonNullable(a.to)){var s=a.to;t.params.desiredState.videoTrack.setState(s);var o=t.manifests$.getValue().find((function(e){return e.id===s}));o&&(t.params.output.currentVideoTrack$.next(o),t.params.output.hostname$.next(W(o.url)))}n&&t.params.desiredState.autoVideoTrackSwitching.setState(n.to),r&&r.from===at.CHANGING_MANIFEST&&t.videoState.setState(r.to),i&&e.isNonNullable(i.to)&&t.seek(i.to)}),n)),this.subscription.add(s.loadedData$.subscribe((function(){var e,i,r=null===(i=null===(e=t.video)||void 0===e?void 0:e.getStartDate())||void 0===i?void 0:i.getTime();t.manifestStartTime$.next(r||void 0)}),n)),this.subscription.add(e.combine({startTime:this.manifestStartTime$.pipe(e.filter(e.isNonNullable)),currentTime:s.timeUpdate$}).subscribe((function(e){var i=e.startTime,r=e.currentTime;return t.params.output.liveTime$.next(i+1e3*r)}),n)),this.subscription.add(this.manifests$.pipe(e.map((function(e){return e.map((function(e){return{id:e.id,quality:e.quality,size:e.size,bitrate:e.bandwidth}}))}))).subscribe(this.params.output.availableVideoTracks$,n));var u=e.merge(a.playbackState.stateChangeStarted$,a.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,a.videoTrack.stateChangeStarted$,a.autoVideoTrackSwitching.stateChangeStarted$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(u.subscribe(this.syncPlayback,n))},t.prototype.destroy=function(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.prepare=function(){var t=this,i=this.selectManifest();if(!e.isNullable(i)){var r,a=Ee(i.url,this.liveOffset.getTotalOffset());this.video.setAttribute("src",a),this.video.load(),(r=a,c(void 0,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return[4,fetch(r,{method:"HEAD"})];case 1:return[2,(e=t.sent()).headers.has("X-Playback-Duration")?parseInt(e.headers.get("X-Playback-Duration"),10):void 0]}}))}))).then((function(i){e.isNullable(i)||t.maxSeekBackTime$.next(i)}))}},t.prototype.playIfAllowed=function(){var e=this;E(this.video).then((function(t){t||(e.videoState.setState(at.PAUSED),e.liveOffset.pause(),C(e.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0))}))},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0);var t=-Math.round(1e3*e),i=t<this.maxSeekBackTime$.getValue()?t:0;this.liveOffset.resetTo(i),this.params.output.position$.next(ut(i)),this.params.desiredState.seekPosition.setState(void 0)},t}(),ut=function(e){return-e/1e3},dt={};!function(e){e.INITIALIZING="initializing",e.STOPPED="stopped",e.READY="ready",e.PLAYING="playing",e.PAUSED="paused"}(st||(st={}));var ct,lt,pt,ht,ft,vt,mt,St,bt,gt,yt,Tt,Et,Pt,kt,wt=function(t,i){return new e.Observable((function(e){var r=function(t,i){return e.next(i)};return t.on(i,r),function(){return t.off(i,r)}}))},xt=function(){function t(t){var i=this;this.subscription=new e.Subscription,this.videoState=new X(st.INITIALIZING),this.textTracksManager=new A,this.trackLevels=new Map,this.syncPlayback=function(){var t=i.videoState.getState(),r=i.params.desiredState.playbackState.getState(),a=i.params.desiredState.playbackState.getTransition(),n=i.params.desiredState.seekPosition.getTransition();if(t!==st.INITIALIZING){var s=null==n?void 0:n.to;switch((null==a?void 0:a.to)!==exports.PlaybackState.PAUSED&&e.isNonNullable(s)&&i.seek(s),r){case exports.PlaybackState.STOPPED:switch(t){case st.STOPPED:break;case st.READY:case st.PLAYING:case st.PAUSED:i.stop();break;default:e.assertNever(t)}break;case exports.PlaybackState.PLAYING:switch(t){case st.PLAYING:break;case st.STOPPED:i.prepare();break;case st.READY:case st.PAUSED:i.playIfAllowed();break;default:e.assertNever(t)}break;case exports.PlaybackState.PAUSED:switch(t){case st.PAUSED:break;case st.STOPPED:i.prepare();break;case st.READY:i.videoState.setState(st.PAUSED),C(i.params.desiredState.playbackState,exports.PlaybackState.PAUSED);break;case st.PLAYING:i.pause();break;default:e.assertNever(t)}break;default:e.assertNever(r)}}},this.video=N(t.container),this.params=t,this.params.output.element$.next(this.video),this.params.output.isLive$.next(!1),this.params.output.hostname$.next(W(this.params.source.url)),this.loadHlsJs()}return t.prototype.destroy=function(){var e,t;this.subscription.unsubscribe(),this.trackLevels.clear(),this.textTracksManager.destroy(),null===(e=this.hls)||void 0===e||e.detachMedia(),null===(t=this.hls)||void 0===t||t.destroy(),this.video.remove(),this.params.output.element$.next(void 0)},t.prototype.loadHlsJs=function(){var e=this,t=!1,r=function(i){t||e.params.output.error$.next({id:"timeout"===i?"HlsJsTimeout":"HlsJsLoadError",message:"Failed to load Hls.js",thrown:i}),t=!0},a=window.setTimeout((function(){return r("timeout")}),5e3);Promise.resolve().then((function(){return i(require("hls.js"))})).then((function(i){t||(dt.Hls=i.default,dt.Events=i.default.Events,e.init())}),r).finally((function(){window.clearTimeout(a),t=!0}))},t.prototype.init=function(){e.assertNonNullable(dt.Hls,"hls.js not loaded"),this.hls=new dt.Hls({fragLoadingMaxRetry:5,levelLoadingMaxRetry:2,manifestLoadingMaxRetry:2,fragLoadingMaxRetryTimeout:16e3,manifestLoadingMaxRetryTimeout:2e3,levelLoadingMaxRetryTimeout:2e3}),this.subscribe(),this.videoState.setState(st.STOPPED)},t.prototype.subscribe=function(){var t=this;e.assertNonNullable(dt.Events,"hls.js not loaded");var i=this.params,r=i.desiredState,a=i.output,n=function(e){a.error$.next({id:"HlsJsProvider",message:"HlsJsProvider internal logic error",thrown:e})},s=R(this.video),o=function(e,i){return t.subscription.add(e.subscribe(i,n))};o(s.timeUpdate$,a.position$),o(s.durationChange$,a.duration$),o(s.ended$,a.endedEvent$),o(s.error$,a.error$),o(s.isBuffering$,a.isBuffering$),o(s.currentBuffer$,a.currentBuffer$),o(s.firstBytes$,a.firstBytesEvent$),o(s.firstFrame$,a.firstFrameEvent$),this.subscription.add(s.seeked$.subscribe((function(){return r.seekPosition.setState(void 0)}),n)),this.subscription.add(k(this.video,r.isLooped,n)),this.subscription.add(w(this.video,r.volume,s.volumeState$,n)),this.subscription.add(s.volumeState$.subscribe(this.params.output.volume$)),this.subscription.add(wt(this.hls,dt.Events.ERROR).subscribe((function(e){var t;e.fatal&&a.error$.next({id:["HlsJsFatal",e.type,e.details].join("_"),message:"HlsJs fatal "+e.type+" "+e.details+", "+(null===(t=e.err)||void 0===t?void 0:t.message)+" "+e.reason,thrown:e.error})}))),this.subscription.add(s.play$.subscribe((function(){t.videoState.setState(st.PLAYING),C(r.playbackState,exports.PlaybackState.PLAYING)}),n)).add(s.pause$.subscribe((function(){t.videoState.setState(st.PAUSED),C(r.playbackState,exports.PlaybackState.PAUSED)}),n)).add(s.canplay$.subscribe((function(){var e;(null===(e=t.videoState.getTransition())||void 0===e?void 0:e.to)===st.READY&&t.videoState.setState(st.READY),t.videoState.getState()===st.PLAYING&&t.playIfAllowed()}),n)),o(wt(this.hls,dt.Events.MANIFEST_PARSED).pipe(e.map((function(e){return e.levels.reduce((function(e,i){var r=i.name||i.height.toString(10),a=i.width,n=i.height,s=U({width:a,height:n});if(!s)return e;var o={id:r.toString(),quality:s,bitrate:i.bitrate/1e3,size:{width:a,height:n}};return t.trackLevels.set(r,{track:o,level:i}),e.push(o),e}),[])}))),a.availableVideoTracks$),o(wt(this.hls,dt.Events.LEVEL_LOADING).pipe(e.map((function(e){var t=e.url;return W(t)}))),a.hostname$),this.subscription.add(P(r.autoVideoTrackSwitching,(function(){return t.hls.autoLevelEnabled}),(function(e){t.hls.nextLevel=e?-1:t.hls.currentLevel,t.hls.loadLevel=e?-1:t.hls.loadLevel}),{onError:n}));var u=function(e){var i;return null===(i=Array.from(t.trackLevels.values()).find((function(t){return t.level===e})))||void 0===i?void 0:i.track},d=wt(this.hls,dt.Events.LEVEL_SWITCHED).pipe(e.map((function(e){var i=e.level;return u(t.hls.levels[i])})));d.pipe(e.filter(e.isNonNullable)).subscribe(a.currentVideoTrack$,n),this.subscription.add(P(r.videoTrack,(function(){var e;return null===(e=u(t.hls.levels[t.hls.currentLevel]))||void 0===e?void 0:e.id}),(function(i){var r;if(!e.isNullable(i)){var a=null===(r=t.trackLevels.get(i))||void 0===r?void 0:r.level;if(a){var n=t.hls.levels.indexOf(a),s=t.hls.currentLevel,o=t.hls.levels[s];!o||a.bitrate>o.bitrate?t.hls.nextLevel=n:(t.hls.loadLevel=n,t.hls.loadLevel=n)}}}),{changed$:d.pipe(e.map((function(e){return null==e?void 0:e.id}))),onError:n})),o(s.progress$,(function(){t.params.dependencies.throughputEstimator.rawThroughput$.next(t.hls.bandwidthEstimate/1e3)})),this.textTracksManager.connect(this.video,r,a);var c=e.merge(r.playbackState.stateChangeStarted$,r.videoTrack.stateChangeStarted$,r.seekPosition.stateChangeStarted$,this.videoState.stateChangeEnded$,e.observableFrom(["init"])).pipe(e.debounce(0));this.subscription.add(c.subscribe(this.syncPlayback,n))},t.prototype.prepare=function(){this.videoState.startTransitionTo(st.READY),this.hls.attachMedia(this.video),this.hls.loadSource(this.params.source.url)},t.prototype.playIfAllowed=function(){return c(this,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return this.videoState.startTransitionTo(st.PLAYING),[4,E(this.video)];case 1:return e.sent()||(this.videoState.setState(st.PAUSED),C(this.params.desiredState.playbackState,exports.PlaybackState.PAUSED,!0)),[2]}}))}))},t.prototype.pause=function(){this.videoState.startTransitionTo(st.PAUSED),this.video.pause()},t.prototype.seek=function(e){this.params.desiredState.seekPosition.setState(e),this.params.desiredState.seekPosition.startTransitionTo(void 0),this.video.currentTime=e},t.prototype.stop=function(){this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.output.currentBuffer$.next(void 0),this.params.output.hostname$.next(void 0),this.hls.stopLoad(),this.hls.detachMedia(),this.video.setAttribute("src",""),this.video.load(),this.videoState.setState(st.STOPPED),C(this.params.desiredState.playbackState,exports.PlaybackState.STOPPED,!0)},t}(),At=function(){function e(e){this.iterator=e[Symbol.iterator](),this.next()}return e.prototype.next=function(){this.current=this.iterator.next()},e.prototype.getValue=function(){if(this.current.done)throw new Error("Iterable is completed");return this.current.value},e.prototype.isCompleted=function(){return Boolean(this.current.done)},e}(),Nt=(Pt=window.navigator.userAgent,!/chrome/i.test(Pt)&&/webkit|safari|khtml/i.test(Pt)),$t=(null===(lt=null===(ct=navigator)||void 0===ct?void 0:ct.userAgentData)||void 0===lt?void 0:lt.mobile)||/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion),Dt=document.createElement("video"),_t={mse:Boolean(window.MediaSource&&MediaStreamTrack&&(null===(pt=null===SourceBuffer||void 0===SourceBuffer?void 0:SourceBuffer.prototype)||void 0===pt?void 0:pt.appendBuffer)),hls:Boolean(Dt.canPlayType("application/x-mpegurl")||Dt.canPlayType("vnd.apple.mpegURL"))},It={mp4:Boolean(Dt.canPlayType("video/mp4")),webm:Boolean(Dt.canPlayType("video/webm"))},Rt={h264:Boolean(null===(ft=null===(ht=window.MediaSource)||void 0===ht?void 0:ht.isTypeSupported)||void 0===ft?void 0:ft.call(ht,'video/mp4; codecs="avc1.42000a,mp4a.40.2"')),h265:Boolean(null===(mt=null===(vt=window.MediaSource)||void 0===vt?void 0:vt.isTypeSupported)||void 0===mt?void 0:mt.call(vt,'video/mp4; codecs="hev1.1.6.L93.B0"')),vp9:Boolean(null===(bt=null===(St=window.MediaSource)||void 0===St?void 0:St.isTypeSupported)||void 0===bt?void 0:bt.call(St,'video/webm; codecs="vp9"')),aac:Boolean(null===(yt=null===(gt=window.MediaSource)||void 0===gt?void 0:gt.isTypeSupported)||void 0===yt?void 0:yt.call(gt,'audio/mp4; codecs="mp4a.40.2"')),opus:Boolean(null===(Et=null===(Tt=window.MediaSource)||void 0===Tt?void 0:Tt.isTypeSupported)||void 0===Et?void 0:Et.call(Tt,'audio/webm; codecs="opus"'))},Ct=(Rt.h264||Rt.h265)&&Rt.aac,Lt=!Nt,Ot=$t||Nt,Vt=!_t.hls||!Ot,Mt=3e4,Bt=18e4,Ut=3,Ft=100,Ht={cacheDuration:12e4},qt={maxPausedTime:3e4,chunkDuration:5e3,optimalBufferDuration:1e4,maxParallelRequests:5},Gt={maxPausedTime:3e4},Yt={maxPausedTime:3e4},jt=function(){function t(t){this.current$=new e.ValueSubject({type:void 0}),this.providerError$=new e.Subject,this.noAvailableProvidersError$=new e.Subject,this.providerOutput={position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),volume$:new e.ValueSubject({muted:!1,volume:1}),currentVideoTrack$:new e.ValueSubject(void 0),availableVideoTracks$:new e.ValueSubject([]),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),error$:new e.Subject,endedEvent$:new e.Subject,firstBytesEvent$:new e.Subject,firstFrameEvent$:new e.Subject,isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),element$:new e.ValueSubject(void 0)},this.subscription=new e.Subscription,this.params=t,this.log=this.params.dependencies.logger.createComponentLog("ProviderContainer");var i=this.params.tuning.formatsToAvoid,r=i.length?f(f([],h(t.screenFormatsPriority.filter((function(e){return!i.includes(e)}))),!1),h(t.screenFormatsPriority.filter((function(e){return i.includes(e)}))),!1):t.screenFormatsPriority;this.screenFormatsIterator=new At(r.filter((function(i){return e.isNonNullable(t.sources[i])})).filter((function(t){switch(t){case exports.VideoFormat.DASH:return _t.mse&&It.mp4&&Ct&&Lt;case exports.VideoFormat.DASH_SEP:return _t.mse&&It.mp4&&Ct;case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_WEBM_VK:case exports.VideoFormat.DASH_LIVE_WEBM:return _t.mse&&It.webm&&Rt.vp9&&Rt.opus;case exports.VideoFormat.DASH_LIVE:case exports.VideoFormat.DASH_ONDEMAND:return _t.mse&&It.mp4&&Ct;case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_LIVE:case exports.VideoFormat.HLS_ONDEMAND:return _t.hls&&It.mp4&&Ot;case exports.VideoFormat.HLS_JS:return _t.mse&&It.mp4&&Ct&&Vt;case exports.VideoFormat.MPEG:return It.mp4;default:return e.assertNever(t)}}))),this.chromecastFormatsIterator=new At(t.chromecastFormatsPriority.filter((function(i){return e.isNonNullable(t.sources[i])})))}return t.prototype.init=function(){var e=this;this.subscription.add(this.initProviderErrorHandling()),this.subscription.add(this.params.dependencies.chromecastInitializer.connection$.subscribe((function(){e.reinitProvider()})))},t.prototype.destroy=function(){this.destroyProvider(),this.current$.next({type:void 0}),this.subscription.unsubscribe()},t.prototype.initProvider=function(){var t=this.chooseDestination(),i=this.chooseFormat(t);if(e.isNullable(i))this.handleNoFormatsError(t);else{var r=this.createProvider(t,i);this.current$.next({type:i,provider:r,destination:t})}},t.prototype.reinitProvider=function(){this.destroyProvider(),this.initProvider()},t.prototype.switchToNextProvider=function(){this.destroyProvider();var t=this.current$.getValue().destination;e.assertNonNullable(t),this.skipFormat(t),this.initProvider()},t.prototype.destroyProvider=function(){var e=this.current$.getValue().provider;if(e){this.log({message:"destroyProvider"});var t=this.params.desiredState.seekPosition;t.getTransition()||t.startTransitionTo(this.providerOutput.position$.getValue()),e.destroy();var i=this.providerOutput.isBuffering$;i.getValue()||i.next(!0)}},t.prototype.createProvider=function(t,i){switch(this.log({message:"createProvider: "+t+":"+i}),t){case n.SCREEN:return this.createScreenProvider(i);case n.CHROMECAST:return this.createChromecastProvider(i);default:return e.assertNever(t)}},t.prototype.createScreenProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=this.providerOutput;switch(t){case exports.VideoFormat.DASH:var o=r[t];return e.assertNonNullable(o),new Ie({container:a,source:o,desiredState:n,output:s,config:Ht,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_WEBM_VK:o=r[t];return e.assertNonNullable(o),new ye({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_SEP:case exports.VideoFormat.DASH_WEBM:case exports.VideoFormat.DASH_ONDEMAND:case exports.VideoFormat.DASH_LIVE_WEBM:o=r[t];return e.assertNonNullable(o),new Fe({container:a,source:o,desiredState:n,output:s,format:t,config:Yt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS:case exports.VideoFormat.HLS_ONDEMAND:o=r[t];return e.assertNonNullable(o),new nt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_LIVE:o=r[t];return e.assertNonNullable(o),new ot({container:a,source:o,desiredState:n,output:s,config:Gt,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.HLS_JS:o=r[t];return e.assertNonNullable(o),new xt({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.MPEG:o=r[t];return e.assertNonNullable(o),new xe({container:a,source:o,desiredState:n,output:s,dependencies:this.params.dependencies,tuning:this.params.tuning});case exports.VideoFormat.DASH_LIVE:o=r[t];return e.assertNonNullable(o),new et({container:a,source:o,desiredState:n,output:s,config:qt,dependencies:this.params.dependencies,tuning:this.params.tuning});default:return e.assertNever(t)}},t.prototype.createChromecastProvider=function(t){var i=this.params,r=i.sources,a=i.container,n=i.desiredState,s=i.meta,o=this.providerOutput,u=this.params.dependencies.chromecastInitializer.connection$.getValue();return e.assertNonNullable(u),new ke({connection:u,meta:s,container:a,source:r,format:t,desiredState:n,output:o,dependencies:this.params.dependencies,tuning:this.params.tuning})},t.prototype.chooseDestination=function(){return this.params.dependencies.chromecastInitializer.connection$.getValue()?n.CHROMECAST:n.SCREEN},t.prototype.chooseFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.isCompleted()?void 0:this.screenFormatsIterator.getValue();case n.CHROMECAST:return this.chromecastFormatsIterator.isCompleted()?void 0:this.chromecastFormatsIterator.getValue();default:return e.assertNever(t)}},t.prototype.skipFormat=function(t){switch(t){case n.SCREEN:return this.screenFormatsIterator.next();case n.CHROMECAST:return this.chromecastFormatsIterator.next();default:return e.assertNever(t)}},t.prototype.handleNoFormatsError=function(t){switch(t){case n.SCREEN:return this.noAvailableProvidersError$.next(),void this.current$.next({type:void 0});case n.CHROMECAST:return void this.params.dependencies.chromecastInitializer.disconnect();default:return e.assertNever(t)}},t.prototype.initProviderErrorHandling=function(){var t,i=this,r=[],a=0,s=new e.Subscription;return s.add(e.merge(this.providerOutput.error$,(t={desiredPlaybackState$:this.params.desiredState.playbackState,maxTransitionInterval:Mt,position$:this.providerOutput.position$,providerChanged$:this.current$},new e.Observable((function(i){var r=new e.Subscription,a=e.timeout(t.maxTransitionInterval),n=new e.ValueSubject(void 0);e.merge(t.desiredPlaybackState$.stateChangeStarted$.pipe(e.mapTo(a)),t.desiredPlaybackState$.stateChangeEnded$.pipe(e.mapTo(void 0)),t.providerChanged$.pipe(e.map((function(){return n.getValue()})))).subscribe(n);var s=new e.Subscription;return r.add(s),r.add(n.subscribe((function(e){s.unsubscribe(),e&&s.add(e.subscribe(i))}))),r}))).pipe(e.mapTo({id:"ProviderHangup",message:"An operation failed to complete within reasonable time"}))).subscribe(this.providerError$)),s.add(this.providerError$.pipe(e.throttle(Ft,{leading:!1,trailing:!0})).subscribe((function(){var t=Date.now();i.current$.getValue().destination===n.CHROMECAST?(i.destroyProvider(),i.params.dependencies.chromecastInitializer.stopMedia().then((function(){i.switchToNextProvider()}),(function(){i.params.dependencies.chromecastInitializer.disconnect()}))):e.isNonNullable(r[a])&&t<r[a]+Bt?(r=[],i.switchToNextProvider()):(r[a]=t,i.reinitProvider()),a=(a+1)%Ut}))),s},t}();!function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"}(kt||(kt={}));var Qt=new Map,zt=kt.RUNTIME,Wt="vk-videoplayer-dummy-key-"+Math.random();!function(){try{localStorage.setItem(Wt,"test"),localStorage.removeItem(Wt),zt=kt.LOCAL_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;try{sessionStorage.getItem(Wt),zt=kt.SESSION_STORAGE}catch(e){if(!(e instanceof DOMException))throw e;zt=kt.RUNTIME}}}();var Jt,Xt=function(e,t,i){return i*t+(1-i)*e},Kt=function(){var e,t;return null!==(t=null===(e=window.performance)||void 0===e?void 0:e.now())&&void 0!==t?t:Date.now()},Zt=window.navigator.connection,ei=function(){var e=null==Zt?void 0:Zt.downlink;if(e&&10!==e)return 1e3*e},ti=function(){function t(t){var i=this;this.smoothedCombination=this.load()||ei()||5e3,this.smoothedFast=this.smoothedCombination,this.smoothedSlow=this.smoothedCombination,this.subscription=new e.Subscription,this.rawSeries$=new j("raw_throughput"),this.smoothedSeries$=new j("smoothed_throughput"),this.reportedSeries$=new j("reported_throughput"),this.xhr$=new e.Subject,this.rawSpeed$=new e.Subject,this.rawThroughput$=new e.Subject,this.stream$=new e.Subject,this.estimation$=new e.ValueSubject(this.smoothedSlow),this.rtt$=new e.ValueSubject(void 0),this.tuningConfig=t;var r=ei();if(r&&this.addValue(r),this.subscription.add(this.xhr$.subscribe((function(e){return i.trackXHR(e)}))),this.subscription.add(this.stream$.subscribe((function(e){return i.trackStream(e)}))),this.subscription.add(this.rawSpeed$.subscribe((function(e){var t=e.size,r=e.time;return i.addRawSpeed(t,r)}))),this.subscription.add(this.rawThroughput$.subscribe((function(e){return i.addValue(e)}))),this.subscription.add(this.estimation$.subscribe(this.reportedSeries$)),this.tuningConfig.useBrowserEstimation){var a=Zt&&"rtt"in Zt,n=Zt&&"onchange"in Zt;a&&this.rtt$.next(Zt.rtt),n&&this.subscription.add(e.fromEvent(Zt,"change").subscribe((function(){a&&i.rtt$.next(Zt.rtt);var e=ei();e&&i.addValue(e)})))}}return t.prototype.destroy=function(){this.subscription.unsubscribe()},t.prototype.trackXHR=function(t){var i=this,r=0,a=Kt(),n=new e.Subscription;switch(this.subscription.add(n),t.readyState){case 4:break;case 3:case 2:n.add(e.fromEvent(t,"progress").pipe(e.once()).subscribe((function(e){r=e.loaded,a=Kt()})));break;case 1:case 0:n.add(e.fromEvent(t,"loadstart").subscribe((function(){r=0,a=Kt()})))}n.add(e.fromEvent(t,"loadend").subscribe((function(e){if(200===t.status){var s=e.loaded,o=Kt(),u=s-r,d=o-a;i.addRawSpeed(u,d)}n.unsubscribe()})))},t.prototype.trackStream=function(e){var t=this,i=e.getReader();if(i){var r=0,a=Kt(),n=0,s=Kt(),o=function(t){i.releaseLock(),e.cancel("Throughput Estimator error: "+t).catch((function(){}))},u=function(e){var d=e.done,p=e.value;return c(t,void 0,void 0,(function(){return l(this,(function(e){switch(e.label){case 0:return d?(this.addRawSpeed(r,Kt()-a),[3,3]):[3,1];case 1:return p?(r+=p.byteLength,(n+=p.byteLength)>=this.tuningConfig.streamMinSampleSize&&Kt()-s>=this.tuningConfig.streamMinSampleTime&&(this.addRawSpeed(n,Kt()-s),n=0,s=Kt()),[4,null==i?void 0:i.read().then(u,o)]):[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))};null==i||i.read().then(u,o)}else e.cancel("Could not get reader")},t.prototype.addRawSpeed=function(e,t){if(this.sanityCheck(e,t)){var i=8*e/t;this.addValue(i)}},t.prototype.sanityCheck=function(e,t){var i=8*e/t;return!(!i||!isFinite(i))&&(!(i>1e6)&&(!(i<30)&&(!(e<1024)&&!(t<=50))))},t.prototype.addValue=function(e){var t=Math.round(Xt(this.smoothedSlow,e,this.tuningConfig.emaAlphaSlow)),i=Math.round(Xt(this.smoothedFast,e,this.tuningConfig.emaAlphaFast));this.smoothedCombination=Math.min(t,i),this.rawSeries$.next(e),this.smoothedSeries$.next(this.smoothedCombination);var r=this.load();this.smoothedSlow=t,this.smoothedFast=i,(!r||Math.abs(this.smoothedCombination-r)/r>=this.tuningConfig.changeThreshold)&&(this.dump(),this.estimation$.next(this.smoothedCombination))},t.prototype.load=function(){var t=function(t){var i,r;switch(zt){case kt.LOCAL_STORAGE:return null!==(i=localStorage.getItem(t))&&void 0!==i?i:void 0;case kt.SESSION_STORAGE:return null!==(r=sessionStorage.getItem(t))&&void 0!==r?r:void 0;case kt.RUNTIME:return Qt.get(t);default:e.assertNever(zt)}}("one_video_throughput");if(t)return parseInt(t,10)||void 0},t.prototype.dump=function(){!function(t,i){switch(zt){case kt.LOCAL_STORAGE:return localStorage.setItem(t,i);case kt.SESSION_STORAGE:return sessionStorage.setItem(t,i);case kt.RUNTIME:return void Qt.set(t,i);default:e.assertNever(zt)}}("one_video_throughput",this.smoothedCombination.toFixed(0))},t}(),ii=function(t){return void 0===t&&(t=function(e){return e}),function(i){var r=i.playbackState,a=i.seekPosition,n=i.provider$,s=i.position$;return new e.Observable((function(i){var o,u=r.transitionEnded$.pipe(e.filter((function(e){return(e.from===exports.PlaybackState.PAUSED||e.from===exports.PlaybackState.STOPPED)&&e.to===exports.PlaybackState.PLAYING}))),d=r.stateChangeEnded$.pipe(e.filter((function(e){return e.from===exports.PlaybackState.PLAYING&&e.to===exports.PlaybackState.PAUSED}))),c=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNonNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),l=a.stateChangeEnded$.pipe(e.filter((function(t){var i,a;return e.isNullable(t.to)&&(null!==(a=null===(i=r.getTransition())||void 0===i?void 0:i.from)&&void 0!==a?a:r.getState())===exports.PlaybackState.PLAYING}))),p=e.merge(u,l).pipe(e.map((function(){return t(s.getValue())}))),h=e.merge(d,c,n).pipe(e.map((function(){return t(s.getValue())})));return(new e.Subscription).add(p.subscribe((function(e){o=t(e)}))).add(h.subscribe((function(r){if(!e.isNullable(o)){var a={start:o,end:t(r)};o=void 0,i.next(a)}})))}))}},ri=ii((function(e){return e})),ai=ii((function(e){return Math.round(1e3*e)+Date.now()})),ni=((Jt={})[n.SCREEN]={vod:[exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS_JS,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE,exports.VideoFormat.DASH_LIVE,exports.VideoFormat.DASH_LIVE_WEBM]},Jt[n.CHROMECAST]={vod:[exports.VideoFormat.DASH_WEBM_VK,exports.VideoFormat.DASH_WEBM,exports.VideoFormat.DASH_SEP,exports.VideoFormat.DASH_ONDEMAND,exports.VideoFormat.HLS,exports.VideoFormat.HLS_ONDEMAND,exports.VideoFormat.MPEG],live:[exports.VideoFormat.HLS_LIVE]},Jt),si=function(){function t(t){var i=this;if(void 0===t&&(t={}),this.subscription=new e.Subscription,this.logger=new e.Logger,this.isPlaybackStarted=!1,this.desiredState={playbackState:new X(exports.PlaybackState.STOPPED),seekPosition:new X(void 0),volume:new X({volume:1,muted:!1}),videoTrack:new X(void 0),autoVideoTrackSwitching:new X(!0),isLooped:new X(!1),externalTextTracks:new X([]),currentTextTrack:new X(void 0),textTrackCuesSettings:new X({})},this.info={playbackState$:new e.ValueSubject(exports.PlaybackState.STOPPED),position$:new e.ValueSubject(0),duration$:new e.ValueSubject(1/0),muted$:new e.ValueSubject(!1),volume$:new e.ValueSubject(1),availableQualities$:new e.ValueSubject([]),currentQuality$:new e.ValueSubject(void 0),isAutoQualityEnabled$:new e.ValueSubject(!0),currentBuffer$:new e.ValueSubject(void 0),isBuffering$:new e.ValueSubject(!0),isEnded$:new e.ValueSubject(!1),isLooped$:new e.ValueSubject(!1),isLive$:new e.ValueSubject(void 0),liveTime$:new e.ValueSubject(void 0),currentFormat$:new e.ValueSubject(void 0),availableTextTracks$:new e.ValueSubject([]),currentTextTrack$:new e.ValueSubject(void 0),throughputEstimation$:new e.ValueSubject(void 0),rttEstimation$:new e.ValueSubject(void 0),videoBitrate$:new e.ValueSubject(void 0),hostname$:new e.ValueSubject(void 0),chromecastState$:new e.ValueSubject(exports.ChromecastState.NOT_AVAILABLE),chromecastDeviceName$:new e.ValueSubject(void 0)},this.events={started$:new e.Subject,startAttempt$:new e.Subject,willPause$:new e.Subject,willResume$:new e.Subject,watchCoverageRecord$:new e.Subject,watchCoverageLive$:new e.Subject,managedError$:new e.Subject,fatalError$:new e.Subject,ended$:new e.Subject,seeked$:new e.Subject,willSeek$:new e.Subject,firstBytes$:new e.Subject,firstFrame$:new e.Subject,log$:new e.Subject},this.experimental={element$:new e.ValueSubject(void 0),enableDebugTelemetry$:new e.ValueSubject(!1),dumpTelemetry:G},this.initLogs(),this.tuning=function(e){var t,i,r={};try{for(var a=p(Object.keys(S)),n=a.next();!n.done;n=a.next()){var s=n.value,o=S[s],u=e[s];Array.isArray(o)&&Array.isArray(u)?r[s]=u:r[s]="object"==typeof o&&"object"==typeof u?d(d({},o),u):null!=u?u:o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r}(t),this.chromecastInitializer=new b({receiverApplicationId:t.chromecastReceiverId,isDisabled:t.disableChromecast,dependencies:{logger:this.logger}}),this.throughputEstimator=new ti(this.tuning.throughputEstimator),this.initChromecastSubscription(),this.initDesiredStateSubscriptions(),Proxy&&Reflect)return new Proxy(this,{get:function(e,t,r){var a=Reflect.get(e,t,r);return"function"!=typeof a?a:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{return a.apply(e,r)}catch(e){var s=r.map((function(e){return JSON.stringify(e,(function(e,t){var i=typeof t;return["number","string","boolean"].includes(i)?t:null===t?null:"<"+i+">"}))})),o="Player."+String(t),u="Exception calling "+o+" ("+s.join(", ")+")";throw i.events.fatalError$.next({id:o,message:u,thrown:e}),e}}}})}return t.prototype.initVideo=function(t){var i,r;return this.config=t,this.domContainer=function(t){var i="string"==typeof t.container?document.getElementById(t.container):t.container;return e.assertNonNullable(i,"Wrong container or containerId {"+t.container+"}"),i}(t),this.chromecastInitializer.contentId=null===(i=t.meta)||void 0===i?void 0:i.videoId,this.providerContainer=new jt({screenFormatsPriority:f(f([],h(ni[n.SCREEN].live),!1),h(ni[n.SCREEN].vod),!1),chromecastFormatsPriority:f(f([],h(ni[n.CHROMECAST].live),!1),h(ni[n.CHROMECAST].vod),!1),sources:t.sources,meta:null!==(r=t.meta)&&void 0!==r?r:{},container:this.domContainer,desiredState:this.desiredState,dependencies:{throughputEstimator:this.throughputEstimator,chromecastInitializer:this.chromecastInitializer,logger:this.logger},tuning:this.tuning}),this.initProviderContainerSubscription(this.providerContainer),this.initStartingVideoTrack(this.providerContainer),this.providerContainer.init(),this.initDebugTelemetry(),this},t.prototype.destroy=function(){var e;null===(e=this.providerContainer)||void 0===e||e.destroy(),this.throughputEstimator.destroy(),this.chromecastInitializer.destroy(),this.subscription.unsubscribe()},t.prototype.play=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PLAYING&&e.startTransitionTo(exports.PlaybackState.PLAYING),this},t.prototype.pause=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.PAUSED&&e.startTransitionTo(exports.PlaybackState.PAUSED),this},t.prototype.stop=function(){var e=this.desiredState.playbackState;return e.getState()!==exports.PlaybackState.STOPPED&&e.startTransitionTo(exports.PlaybackState.STOPPED),this},t.prototype.seekTime=function(e){return this.events.willSeek$.next({from:this.getExactTime(),to:e}),this.desiredState.seekPosition.startTransitionTo(e),this},t.prototype.seekPercent=function(e){var t=this.info.duration$.getValue();return isFinite(t)&&this.seekTime(Math.abs(t)*e),this},t.prototype.setVolume=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setVolume(e):this.desiredState.volume.startTransitionTo({volume:e,muted:this.desiredState.volume.getState().muted}),this},t.prototype.setMuted=function(e){return this.chromecastInitializer.castState$.getValue()===exports.ChromecastState.CONNECTED?this.chromecastInitializer.setMuted(e):this.desiredState.volume.startTransitionTo({volume:this.desiredState.volume.getState().volume,muted:e}),this},t.prototype.setQuality=function(t){e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.availableVideoTracks$.getValue();i.length||(this.explicitInitialQuality=t);var r=i.find((function(e){return e.quality===t}));return r&&this.desiredState.videoTrack.startTransitionTo(r.id),this},t.prototype.setAutoQuality=function(e){return this.desiredState.autoVideoTrackSwitching.startTransitionTo(e),this},t.prototype.setExternalTextTracks=function(e){return this.desiredState.externalTextTracks.startTransitionTo(e.map((function(e){return d({type:"external"},e)}))),this},t.prototype.selectTextTrack=function(e){var t;return(void 0===e||(null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput.availableTextTracks$.getValue().find((function(t){return t.id===e}))))&&this.desiredState.currentTextTrack.startTransitionTo(e),this},t.prototype.setTextTrackCueSettings=function(e){return this.desiredState.textTrackCuesSettings.startTransitionTo(e),this},t.prototype.setLooped=function(e){return this.desiredState.isLooped.startTransitionTo(e),this},t.prototype.toggleChromecast=function(){this.chromecastInitializer.toggleConnection()},t.prototype.getExactTime=function(){var t;e.assertNonNullable(this.providerContainer);var i=this.providerContainer.providerOutput.element$.getValue();if(e.isNullable(i))return this.info.position$.getValue();var r=this.desiredState.seekPosition.getTransition(),a=null!==(t=null==r?void 0:r.to)&&void 0!==t?t:null==r?void 0:r.from;return e.isNonNullable(a)?a:i.currentTime},t.prototype.getAllLogs=function(){return this.logger.getAllLogs()},t.prototype.initDesiredStateSubscriptions=function(){var t=this;this.subscription.add(e.merge(this.desiredState.playbackState.stateChangeStarted$,this.desiredState.playbackState.forceChanged$).pipe(e.map((function(e){return e.to}))).subscribe(this.info.playbackState$)).add(this.desiredState.isLooped.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isLooped$)).add(this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return e.to}))).subscribe(this.info.isAutoQualityEnabled$)).add(this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0===e.to})),e.mapTo(void 0)).subscribe(this.events.seeked$));var i=new e.Subscription;this.subscription.add(i),this.subscription.add(this.desiredState.playbackState.stateChangeStarted$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){i.unsubscribe(),i.add(t.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING||e.to===exports.PlaybackState.PAUSED})),e.once()).subscribe((function(e){var i=e.to===exports.PlaybackState.PLAYING,r=t.info.muted$.getValue(),a=i?r?exports.StartStatus.SuccessWithoutSound:exports.StartStatus.SuccessWithSound:exports.StartStatus.Failed;t.events.startAttempt$.next(a)})))}))),this.subscription.add(this.desiredState.playbackState.stateChangeEnded$.pipe(e.filter((function(e){return e.to===exports.PlaybackState.PLAYING}))).subscribe((function(){t.isPlaybackStarted||(t.isPlaybackStarted=!0,t.events.started$.next())}))).add(this.desiredState.playbackState.stateChangeStarted$.subscribe((function(e){switch(e.to){case exports.PlaybackState.PAUSED:t.events.willPause$.next();break;case exports.PlaybackState.PLAYING:t.isPlaybackStarted&&t.events.willResume$.next()}})))},t.prototype.initProviderContainerSubscription=function(t){var i=this;this.subscription.add(t.current$.pipe(e.map((function(e){return e.type}))).subscribe(this.info.currentFormat$)).add(t.current$.pipe(e.map((function(e){return e.destination})),e.filterChanged()).subscribe((function(){i.isPlaybackStarted=!1}))).add(t.providerOutput.availableVideoTracks$.pipe(e.map((function(e){return e.map((function(e){return e.quality})).sort((function(e,t){return F(e)?1:F(t)?-1:V(t,e)?1:-1}))}))).subscribe(this.info.availableQualities$)).add(t.providerOutput.currentVideoTrack$.subscribe((function(e){i.info.currentQuality$.next(null==e?void 0:e.quality),i.info.videoBitrate$.next(null==e?void 0:e.bitrate)}))).add(t.providerOutput.hostname$.pipe(e.filterChanged()).subscribe(this.info.hostname$)).add(t.providerOutput.currentTextTrack$.subscribe(this.info.currentTextTrack$)).add(t.providerOutput.availableTextTracks$.subscribe(this.info.availableTextTracks$)).add(t.providerOutput.currentBuffer$.subscribe(this.info.currentBuffer$)).add(t.providerOutput.duration$.subscribe(this.info.duration$)).add(t.providerOutput.isBuffering$.subscribe(this.info.isBuffering$)).add(t.providerOutput.isLive$.subscribe(this.info.isLive$)).add(t.providerOutput.liveTime$.subscribe(this.info.liveTime$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.muted})),e.filterChanged()).subscribe(this.info.muted$)).add(t.providerOutput.volume$.pipe(e.map((function(e){return e.volume})),e.filterChanged()).subscribe(this.info.volume$)).add(function(t){var i=t.seekPosition,r=t.position$;return e.merge(i.stateChangeStarted$.pipe(e.map((function(e){return e.to})),e.filter(e.isNonNullable)),r.pipe(e.filter((function(){return e.isNullable(i.getState())&&e.isNullable(i.getTransition())}))))}({seekPosition:this.desiredState.seekPosition,position$:t.providerOutput.position$}).subscribe(this.info.position$)).add(e.merge(t.providerOutput.endedEvent$.pipe(e.mapTo(!0)),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.filter((function(e){return void 0!==e.from})),e.mapTo(!1))).pipe(e.filterChanged()).subscribe(this.info.isEnded$)).add(t.providerOutput.endedEvent$.subscribe(this.events.ended$)).add(t.providerError$.subscribe(this.events.managedError$)).add(t.noAvailableProvidersError$.pipe(e.map((function(e){return{id:"NoProviders",message:"No suitable providers or all providers failed"}}))).subscribe(this.events.fatalError$)).add(t.providerOutput.element$.subscribe(this.experimental.element$)).add(t.providerOutput.firstBytesEvent$.subscribe(this.events.firstBytes$)).add(t.providerOutput.firstFrameEvent$.subscribe(this.events.firstFrame$)).add(this.throughputEstimator.estimation$.subscribe(this.info.throughputEstimation$)).add(this.throughputEstimator.rtt$.subscribe(this.info.rttEstimation$));var r=new e.Subscription;this.subscription.add(r),t.providerOutput.isLive$.pipe(e.filterChanged()).subscribe((function(t){switch(e.assertNonNullable(i.providerContainer),r.unsubscribe(),t){case!0:r.add(ai({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageLive$));break;case!1:r.add(ri({seekPosition:i.desiredState.seekPosition,playbackState:i.desiredState.playbackState,provider$:i.providerContainer.current$,position$:i.providerContainer.providerOutput.position$}).subscribe(i.events.watchCoverageRecord$))}}))},t.prototype.initChromecastSubscription=function(){this.subscription.add(this.chromecastInitializer.castState$.subscribe(this.info.chromecastState$)),this.subscription.add(this.chromecastInitializer.connection$.pipe(e.map((function(e){return null==e?void 0:e.castDevice.friendlyName}))).subscribe(this.info.chromecastDeviceName$)),this.subscription.add(this.chromecastInitializer.errorEvent$.subscribe(this.events.managedError$))},t.prototype.initStartingVideoTrack=function(t){var i=this,r=new e.Subscription;this.subscription.add(r),this.subscription.add(t.current$.pipe(e.filterChanged((function(e,t){return e.provider===t.provider}))).subscribe((function(){r.unsubscribe(),r.add(t.providerOutput.availableVideoTracks$.pipe(e.filter((function(e){return e.length>0})),e.once()).subscribe((function(e){i.setStartingVideoTrack(e)})))})))},t.prototype.setStartingVideoTrack=function(e){var t,i=this;this.explicitInitialQuality&&(t=e.find((function(e){return e.quality===i.explicitInitialQuality})),this.explicitInitialQuality=void 0),t||(t=z(e,{container:this.domContainer.getBoundingClientRect(),throughput:this.throughputEstimator.estimation$.getValue(),tuning:this.tuning.autoTrackSelection})),this.desiredState.videoTrack.startTransitionTo(t.id),this.info.currentQuality$.next(t.quality),this.info.videoBitrate$.next(t.bitrate)},t.prototype.initLogs=function(){this.subscription.add(e.merge(this.desiredState.videoTrack.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"start"}}))),this.desiredState.videoTrack.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"quality",type:"end"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"start"}}))),this.desiredState.autoVideoTrackSwitching.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"autoQualityEnabled",type:"end"}}))),this.desiredState.seekPosition.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"start"}}))),this.desiredState.seekPosition.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"seekPosition",type:"end"}}))),this.desiredState.playbackState.stateChangeStarted$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"start"}}))),this.desiredState.playbackState.stateChangeEnded$.pipe(e.map((function(e){return{transition:e,entity:"playbackState",type:"end"}})))).pipe(e.map((function(e){return{component:"desiredState",message:"["+e.entity+" change] "+e.type+": "+JSON.stringify(e.transition)}}))).subscribe(this.logger.log)),this.subscription.add(this.logger.log$.subscribe(this.events.log$))},t.prototype.initDebugTelemetry=function(){var t,i=this,r=null===(t=this.providerContainer)||void 0===t?void 0:t.providerOutput;e.assertNonNullable(this.providerContainer),e.assertNonNullable(r),q={},this.experimental.enableDebugTelemetry$.next(this.tuning.enableTelemetryAtStart),[this.experimental.enableDebugTelemetry$.subscribe((function(e){H=e})),this.providerContainer.current$.subscribe((function(e){var t=e.type;return Y("provider",t)})),r.duration$.subscribe((function(e){return Y("duration",e)})),r.availableVideoTracks$.pipe(e.filter((function(e){return!!e.length})),e.once()).subscribe((function(e){return Y("tracks",e)})),this.events.fatalError$.subscribe(new j("fatalError")),this.events.managedError$.subscribe(new j("managedError")),r.position$.subscribe(new j("position")),r.currentVideoTrack$.pipe(e.map((function(e){return null==e?void 0:e.quality}))).subscribe(new j("quality")),r.currentBuffer$.subscribe(new j("buffer")),r.isBuffering$.subscribe(new j("isBuffering"))].forEach((function(e){return i.subscription.add(e)})),Y("codecs",Object.keys(Rt).filter((function(e){return Rt[e]})))},t}();Object.defineProperty(exports,"Observable",{enumerable:!0,get:function(){return e.Observable}}),Object.defineProperty(exports,"Subject",{enumerable:!0,get:function(){return e.Subject}}),Object.defineProperty(exports,"Subscription",{enumerable:!0,get:function(){return e.Subscription}}),Object.defineProperty(exports,"ValueSubject",{enumerable:!0,get:function(){return e.ValueSubject}}),exports.Player=si,exports.SDK_VERSION="@vkontakte/videoplayer-core@2.0.33";