rx-player 4.2.0-dev.2024091600 → 4.2.0-dev.2024092400

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +13 -11
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  5. package/dist/commonjs/compat/eme/close_session.js +2 -2
  6. package/dist/commonjs/compat/eme/load_session.js +2 -2
  7. package/dist/commonjs/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  8. package/dist/commonjs/compat/patch_webkit_source_buffer.js +0 -3
  9. package/dist/commonjs/config.d.ts +7 -156
  10. package/dist/commonjs/config.d.ts.map +1 -1
  11. package/dist/commonjs/config.js +50 -3
  12. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +2 -2
  13. package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +2 -2
  14. package/dist/commonjs/core/fetchers/utils/schedule_request.js +2 -2
  15. package/dist/commonjs/core/main/worker/worker_main.d.ts.map +1 -1
  16. package/dist/commonjs/core/main/worker/worker_main.js +4 -0
  17. package/dist/commonjs/core/segment_sinks/garbage_collector.js +2 -2
  18. package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.js +2 -2
  19. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +2 -2
  20. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  21. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +20 -9
  22. package/dist/commonjs/core/stream/adaptation/index.d.ts +1 -1
  23. package/dist/commonjs/core/stream/adaptation/index.d.ts.map +1 -1
  24. package/dist/commonjs/core/stream/adaptation/index.js +0 -15
  25. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +2 -2
  26. package/dist/commonjs/core/stream/period/index.d.ts +1 -1
  27. package/dist/commonjs/core/stream/period/index.d.ts.map +1 -1
  28. package/dist/commonjs/core/stream/period/index.js +0 -15
  29. package/dist/commonjs/core/stream/period/period_stream.js +2 -2
  30. package/dist/commonjs/core/stream/representation/index.d.ts +1 -1
  31. package/dist/commonjs/core/stream/representation/index.d.ts.map +1 -1
  32. package/dist/commonjs/core/stream/representation/index.js +0 -15
  33. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.d.ts.map +1 -1
  34. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.js +16 -11
  35. package/dist/commonjs/core/stream/representation/utils/push_init_segment.js +2 -2
  36. package/dist/commonjs/core/stream/representation/utils/push_media_segment.js +2 -2
  37. package/dist/commonjs/default_config.js +4 -0
  38. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +2 -2
  39. package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -2
  40. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  41. package/dist/commonjs/main_thread/api/public_api.js +19 -4
  42. package/dist/commonjs/main_thread/decrypt/attach_media_keys.js +2 -2
  43. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  44. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +4 -2
  45. package/dist/commonjs/main_thread/decrypt/create_or_load_session.js +2 -2
  46. package/dist/commonjs/main_thread/decrypt/create_session.js +2 -2
  47. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.js +2 -2
  48. package/dist/commonjs/main_thread/decrypt/find_key_system.js +2 -2
  49. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  50. package/dist/commonjs/main_thread/decrypt/get_media_keys.js +3 -2
  51. package/dist/commonjs/main_thread/decrypt/init_media_keys.js +2 -2
  52. package/dist/commonjs/main_thread/decrypt/session_events_listener.js +2 -2
  53. package/dist/commonjs/main_thread/decrypt/set_server_certificate.js +2 -4
  54. package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.js +2 -2
  55. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.js +2 -2
  56. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +2 -2
  57. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +2 -2
  58. package/dist/commonjs/multithread_types.d.ts +8 -1
  59. package/dist/commonjs/multithread_types.d.ts.map +1 -1
  60. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +2 -2
  61. package/dist/commonjs/parsers/manifest/index.d.ts +1 -1
  62. package/dist/commonjs/parsers/manifest/index.d.ts.map +1 -1
  63. package/dist/commonjs/parsers/manifest/index.js +0 -15
  64. package/dist/commonjs/transports/dash/integrity_checks.js +2 -2
  65. package/dist/commonjs/transports/dash/load_chunked_segment_data.js +2 -2
  66. package/dist/commonjs/transports/dash/segment_loader.js +2 -2
  67. package/dist/commonjs/transports/dash/text_loader.js +2 -2
  68. package/dist/commonjs/transports/smooth/segment_loader.js +2 -2
  69. package/dist/commonjs/utils/request/fetch.js +2 -2
  70. package/dist/commonjs/utils/retry_promise_with_backoff.js +2 -2
  71. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  72. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  73. package/dist/es2017/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  74. package/dist/es2017/compat/patch_webkit_source_buffer.js +0 -3
  75. package/dist/es2017/config.d.ts +7 -156
  76. package/dist/es2017/config.d.ts.map +1 -1
  77. package/dist/es2017/config.js +6 -1
  78. package/dist/es2017/core/main/worker/worker_main.d.ts.map +1 -1
  79. package/dist/es2017/core/main/worker/worker_main.js +4 -0
  80. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  81. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +18 -7
  82. package/dist/es2017/core/stream/adaptation/index.d.ts +1 -1
  83. package/dist/es2017/core/stream/adaptation/index.d.ts.map +1 -1
  84. package/dist/es2017/core/stream/adaptation/index.js +0 -1
  85. package/dist/es2017/core/stream/period/index.d.ts +1 -1
  86. package/dist/es2017/core/stream/period/index.d.ts.map +1 -1
  87. package/dist/es2017/core/stream/period/index.js +0 -1
  88. package/dist/es2017/core/stream/representation/index.d.ts +1 -1
  89. package/dist/es2017/core/stream/representation/index.d.ts.map +1 -1
  90. package/dist/es2017/core/stream/representation/index.js +0 -1
  91. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.d.ts.map +1 -1
  92. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.js +6 -2
  93. package/dist/es2017/default_config.js +4 -0
  94. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  95. package/dist/es2017/main_thread/api/public_api.js +17 -2
  96. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  97. package/dist/es2017/main_thread/decrypt/content_decryptor.js +2 -0
  98. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  99. package/dist/es2017/main_thread/decrypt/get_media_keys.js +1 -0
  100. package/dist/es2017/multithread_types.d.ts +8 -1
  101. package/dist/es2017/multithread_types.d.ts.map +1 -1
  102. package/dist/es2017/parsers/manifest/index.d.ts +1 -1
  103. package/dist/es2017/parsers/manifest/index.d.ts.map +1 -1
  104. package/dist/es2017/parsers/manifest/index.js +1 -1
  105. package/dist/rx-player.js +50 -11
  106. package/dist/rx-player.min.js +14 -14
  107. package/dist/worker.js +6 -6
  108. package/package.json +20 -15
  109. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  110. package/src/compat/patch_webkit_source_buffer.ts +0 -3
  111. package/src/config.ts +10 -2
  112. package/src/core/main/worker/worker_main.ts +5 -0
  113. package/src/core/stream/adaptation/adaptation_stream.ts +18 -7
  114. package/src/core/stream/adaptation/index.ts +1 -1
  115. package/src/core/stream/period/index.ts +1 -1
  116. package/src/core/stream/representation/index.ts +1 -1
  117. package/src/core/stream/representation/utils/append_segment_to_buffer.ts +6 -2
  118. package/src/default_config.ts +21 -0
  119. package/src/main_thread/api/public_api.ts +19 -2
  120. package/src/main_thread/decrypt/content_decryptor.ts +2 -0
  121. package/src/main_thread/decrypt/get_media_keys.ts +1 -0
  122. package/src/main_thread/init/multi_thread_content_initializer.ts +0 -18
  123. package/src/multithread_types.ts +9 -0
  124. package/src/parsers/manifest/index.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EMBEDDED_WORKER = void 0;
4
- var blob = new Blob(["(function(){" + "\"use strict\";(()=>{var Js=Object.defineProperty,eu=Object.defineProperties;var tu=Object.getOwnPropertyDescriptors;var Ka=Object.getOwnPropertySymbols;var nu=Object.prototype.hasOwnProperty,ru=Object.prototype.propertyIsEnumerable;var ja=(n,e,t)=>e in n?Js(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Z=(n,e)=>{for(var t in e||(e={}))nu.call(e,t)&&ja(n,t,e[t]);if(Ka)for(var t of Ka(e))ru.call(e,t)&&ja(n,t,e[t]);return n},ie=(n,e)=>eu(n,tu(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var au={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:\"native\",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:\"continue\",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:\"none\",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs=\"avc1.4d401e\"','video/mp4;codecs=\"avc1.42e01e\"','video/mp4;codecs=\"hvc1.1.6.L93.B0\"','video/webm;codecs=\"vp8\"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs=\"mp4a.40.2\"',\"audio/webm;codecs=opus\"],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:[\"HW_SECURE_ALL\",\"HW_SECURE_DECODE\",\"HW_SECURE_CRYPTO\",\"SW_SECURE_DECODE\",\"SW_SECURE_CRYPTO\"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:[\"3000\",\"2000\"],EME_KEY_SYSTEMS:{clearkey:[\"webkit-org.w3.clearkey\",\"org.w3.clearkey\"],widevine:[\"com.widevine.alpha\"],playready:[\"com.microsoft.playready.recommendation\",\"com.microsoft.playready\",\"com.chromecast.playready\",\"com.youtube.playready\"],fairplay:[\"com.apple.fps.1_0\"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:\"reload\",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:\"seamless\"},Ya=au;function ou(n,...e){if(n==null)throw new TypeError(\"Cannot convert undefined or null to object\");let t=Object(n);for(let r of e)for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i]);return t}var q=typeof Object.assign==\"function\"?Object.assign:ou;function Qr(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function $t(n,...e){if(e.length===0)return n;let t=e.shift();if(Qr(n)&&Qr(t))for(let r in t)if(Qr(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),$t(i,t[r])}else q(n,{[r]:t[r]});return $t(n,...e)}var $r=class{constructor(){this._config=Ya}update(e){let t=$t(this._config,e);this._config=t}getCurrent(){return this._config}},su=new $r,z=su;var Ke=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"CustomLoaderError\",this.canRetry=t,this.xhr=r}};function P(n){return n==null}var le=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=this._listeners[e];Array.isArray(i)?i.push(t):this._listeners[e]=[t],r!==void 0&&r.register(()=>{this.removeEventListener(e,t)})}removeEventListener(e,t){if(P(e)){this._listeners={};return}let r=this._listeners[e];if(!Array.isArray(r))return;if(P(t)){delete this._listeners[e];return}let i=r.indexOf(t);i!==-1&&r.splice(i,1),r.length===0&&delete this._listeners[e]}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i(t)}catch(a){if(I.CURRENT_ENV===I.DEV)throw a instanceof Error?a:new Error(\"EventEmitter: listener error\");console.error(\"RxPlayer: EventEmitter error\",a instanceof Error?a:null)}})}};function re(n,e,t){if(typeof Array.prototype.findIndex==\"function\")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}function B(){}var ar=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error(\"Finished shared references cannot be updated\");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if((t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let a=this._listeners.indexOf(i);a>=0&&this._listeners.splice(a,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),(t==null?void 0:t.emitCurrentValue)===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}(t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return B;let r=()=>{let o=re(this._onFinishCbs,s=>s.trigger===i);o>=0&&(this._onFinishCbs[o].hasBeenCleared=!0,this._onFinishCbs.splice(o,1))},i=()=>{r(),e()},a=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),a}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function Xt(n,e,t){let r=new ar(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var j=ar;var Xr=new j(0);function Qa({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;Xr.setValueIfChanged(r-t)}var uu=typeof performance!=\"undefined\"?()=>performance.now()+Xr.getValue():()=>Date.now()+Xr.getValue(),U=uu;var du=\"NONE\",Zt=class extends le{constructor(){super(),this.error=B,this.warn=B,this.info=B,this.debug=B,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat=\"standard\",this._currentLevel=du}setLevel(e,t,r){let i,a=this._levels[e];typeof a==\"number\"?(i=a,this._currentLevel=e):(i=0,this._currentLevel=\"NONE\");let o;if(t===\"standard\"||t===\"full\"?o=t:o=\"standard\",o===\"full\"&&o!==this._currentFormat){let u=U();console.log(String(u.toFixed(2)),\"[Init]\",`Local-Date: ${Date.now()}`)}this._currentFormat=o;let s=this._currentFormat===\"full\"?(u,d)=>(...f)=>{let l=U();return d(String(l.toFixed(2)),`[${u}]`,...f)}:(u,d)=>d;if(r===void 0)this.error=i>=this._levels.ERROR?s(\"error\",console.error.bind(console)):B,this.warn=i>=this._levels.WARNING?s(\"warn\",console.warn.bind(console)):B,this.info=i>=this._levels.INFO?s(\"info\",console.info.bind(console)):B,this.debug=i>=this._levels.DEBUG?s(\"log\",console.log.bind(console)):B;else{let u=d=>i>=this._levels[d]?(...f)=>r(d,f):B;this.error=u(\"ERROR\"),this.warn=u(\"WARNING\"),this.info=u(\"INFO\"),this.debug=u(\"DEBUG\")}this.trigger(\"onLogLevelChange\",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};var lu=new Zt,m=lu;var wt=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var fu=typeof window==\"undefined\"&&!wt,or=fu;var sr;wt?sr=self:or?sr=global:sr=window;var se=sr;var ae=class n extends Error{constructor(e,t,r){let i;switch(r){case\"TIMEOUT\":i=\"The request timed out\";break;case\"ERROR_EVENT\":i=\"An error prevented the request to be performed successfully\";break;case\"PARSE_ERROR\":i=\"An error happened while formatting the response data\";break;case\"ERROR_HTTP_CODE\":i=\"An HTTP status code indicating failure was received: \"+String(t);break}super(i),Object.setPrototypeOf(this,n.prototype),this.name=\"RequestError\",this.url=e,this.status=t,this.type=r}serialize(){return{url:this.url,status:this.status,type:this.type}}},Te={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var Zr=typeof Headers==\"function\"?Headers:null,Jr=typeof AbortController==\"function\"?AbortController:null;function ur(n){var c,g;let e;if(!P(n.headers))if(P(Zr))e=n.headers;else{e=new Zr;let p=Object.keys(n.headers);for(let h=0;h<p.length;h++){let b=p[h];e.append(b,n.headers[b])}}m.debug(\"Fetch: Called with URL\",n.url);let t=null,r=!1,i=!1,a=U(),o=P(Jr)?null:new Jr;function s(){if(P(o)){m.warn(\"Fetch: AbortController API not available.\");return}o.abort()}let u;n.timeout!==void 0&&(u=setTimeout(()=>{r=!0,d!==void 0&&clearTimeout(d),s()},n.timeout));let d;n.connectionTimeout!==void 0&&(d=setTimeout(()=>{i=!0,u!==void 0&&clearTimeout(u),s()},n.connectionTimeout));let f=n.cancelSignal.register(function(h){t=h,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=P(o)?null:o.signal,m.hasLevel(\"DEBUG\")){let p=\"FETCH: Sending GET \"+n.url;n.timeout!==void 0&&(p+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=\" cto=\"+String(n.connectionTimeout/1e3)),((c=n.headers)==null?void 0:c.Range)!==void 0&&(p+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),m.debug(p)}return fetch(n.url,l).then(p=>{if(d!==void 0&&clearTimeout(d),p.status>=300)throw m.warn(\"Fetch: Request HTTP Error\",p.status,p.url),new ae(p.url,p.status,Te.ERROR_HTTP_CODE);if(P(p.body))throw new ae(p.url,p.status,Te.PARSE_ERROR);let h=p.headers.get(\"Content-Length\"),b=!P(h)&&!isNaN(+h)?+h:void 0,y=p.body.getReader(),E=0;return v();async function v(){let _=await y.read();if(!_.done&&!P(_.value)){E+=_.value.byteLength;let C=U(),R={url:p.url,currentTime:C,duration:C-a,sendingTime:a,chunkSize:_.value.byteLength,chunk:_.value.buffer,size:E,totalSize:b};return n.onData(R),v()}else if(_.done){u!==void 0&&clearTimeout(u),f();let C=U();return{requestDuration:C-a,receivedTime:C,sendingTime:a,size:E,status:p.status,url:p.url}}return v()}}).catch(p=>{throw t!==null?t:(f(),r?(m.warn(\"Fetch: Request timed out.\"),new ae(n.url,0,Te.TIMEOUT)):i?(m.warn(\"Fetch: Request connection timed out.\"),new ae(n.url,0,Te.TIMEOUT)):p instanceof ae?p:(m.warn(\"Fetch: Request Error\",p instanceof Error?p.toString():\"\"),new ae(n.url,0,Te.ERROR_EVENT)))})}function Jt(){return typeof se.fetch==\"function\"&&!P(Jr)&&!P(Zr)}function J(n){return typeof n==\"string\"&&n.length>0}var cu=\"json\";function ei(n){let e={url:n.url,headers:n.headers,responseType:P(n.responseType)?cu:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:a}=n,{url:o,headers:s,responseType:u,timeout:d,connectionTimeout:f}=e,l=new XMLHttpRequest;l.open(\"GET\",o,!0);let c;d!==void 0&&(l.timeout=d,c=setTimeout(()=>{b(),r(new ae(o,l.status,Te.TIMEOUT))},d+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new ae(o,l.status,Te.TIMEOUT))},f)),l.responseType=u,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!P(s)){let y=s;for(let E in y)y.hasOwnProperty(E)&&l.setRequestHeader(E,y[E])}let p=U(),h=null;if(a!==void 0&&(h=a.register(function(E){b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(E)}),a.isCancelled()))return;if(l.onerror=function(){b(),r(new ae(o,l.status,Te.ERROR_EVENT))},l.ontimeout=function(){b(),r(new ae(o,l.status,Te.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(E){let v=U();i({url:o,duration:v-p,sendingTime:p,currentTime:v,size:E.loaded,totalSize:E.total})}),l.onload=function(E){if(l.readyState===XMLHttpRequest.DONE)if(b(),l.status>=200&&l.status<300){let v=U(),_=l.response instanceof ArrayBuffer?l.response.byteLength:E.total,C=l.status,R=l.responseType,k=J(l.responseURL)?l.responseURL:o,A;if(R===\"json\"?A=typeof l.response==\"object\"?l.response:mu(l.responseText):A=l.response,P(A)){r(new ae(o,l.status,Te.PARSE_ERROR));return}t({status:C,url:k,responseType:R,sendingTime:p,receivedTime:v,requestDuration:v-p,size:_,responseData:A})}else r(new ae(o,l.status,Te.ERROR_HTTP_CODE))},m.hasLevel(\"DEBUG\")){let y=\"XHR: Sending GET \"+o;n.responseType!==void 0&&(y+=\" type=\"+n.responseType),d!==void 0&&(y+=\" to=\"+String(d/1e3)),f!==void 0&&(y+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(y+=\" Range=\"+(s==null?void 0:s.Range)),m.debug(y)}l.send();function b(){c!==void 0&&clearTimeout(c),g!==void 0&&clearTimeout(g),h!==null&&h()}})}function mu(n){try{return JSON.parse(n)}catch(e){return null}}var pe=ei;var yt=Te,Le={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function Xe(n,e){return`${n}: ${e}`}var en=class n extends Error{constructor(e,t,r){super(Xe(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=Le.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,typeof(r==null?void 0:r.keyStatuses)==\"string\"&&(this.keyStatuses=r.keyStatuses)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses}}};var $=class n extends Error{constructor(e,t,r){super(Xe(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=Le.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var je=class n extends Error{constructor(e,t){super(Xe(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=Le.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===yt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var Ie=class n extends Error{constructor(e,t){super(Xe(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=Le.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage}}};function Dt(n){return(n instanceof en||n instanceof $||n instanceof Ie||n instanceof je)&&Object.keys(Le).indexOf(n.type)>=0}function be(n,{defaultCode:e,defaultReason:t}){if(Dt(n))return n;let r=n instanceof Error?n.toString():t;return new Ie(e,r)}var ve=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name=\"SourceBufferError\",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var pu={dashParsers:{wasm:null,native:null,fastJs:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},$a=pu;var ke=$a;function Y(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let a=n[i];if(e.call(t,a,i,n))return a}}var gu={aa:\"aar\",ab:\"abk\",ae:\"ave\",af:\"afr\",ak:\"aka\",am:\"amh\",an:\"arg\",ar:\"ara\",as:\"asm\",av:\"ava\",ay:\"aym\",az:\"aze\",ba:\"bak\",be:\"bel\",bg:\"bul\",bi:\"bis\",bm:\"bam\",bn:\"ben\",bo:\"bod\",br:\"bre\",bs:\"bos\",ca:\"cat\",ce:\"che\",ch:\"cha\",co:\"cos\",cr:\"cre\",cs:\"ces\",cu:\"chu\",cv:\"chv\",cy:\"cym\",da:\"dan\",de:\"deu\",dv:\"div\",dz:\"dzo\",ee:\"ewe\",el:\"ell\",en:\"eng\",eo:\"epo\",es:\"spa\",et:\"est\",eu:\"eus\",fa:\"fas\",ff:\"ful\",fi:\"fin\",fj:\"fij\",fo:\"fao\",fr:\"fra\",fy:\"fry\",ga:\"gle\",gd:\"gla\",gl:\"glg\",gn:\"grn\",gu:\"guj\",gv:\"glv\",ha:\"hau\",he:\"heb\",hi:\"hin\",ho:\"hmo\",hr:\"hrv\",ht:\"hat\",hu:\"hun\",hy:\"hye\",hz:\"her\",ia:\"ina\",id:\"ind\",ie:\"ile\",ig:\"ibo\",ii:\"iii\",ik:\"ipk\",io:\"ido\",is:\"isl\",it:\"ita\",iu:\"iku\",ja:\"jpn\",jv:\"jav\",ka:\"kat\",kg:\"kon\",ki:\"kik\",kj:\"kua\",kk:\"kaz\",kl:\"kal\",km:\"khm\",kn:\"kan\",ko:\"kor\",kr:\"kau\",ks:\"kas\",ku:\"kur\",kv:\"kom\",kw:\"cor\",ky:\"kir\",la:\"lat\",lb:\"ltz\",lg:\"lug\",li:\"lim\",ln:\"lin\",lo:\"lao\",lt:\"lit\",lu:\"lub\",lv:\"lav\",mg:\"mlg\",mh:\"mah\",mi:\"mri\",mk:\"mkd\",ml:\"mal\",mn:\"mon\",mr:\"mar\",ms:\"msa\",mt:\"mlt\",my:\"mya\",na:\"nau\",nb:\"nob\",nd:\"nde\",ne:\"nep\",ng:\"ndo\",nl:\"nld\",nn:\"nno\",no:\"nor\",nr:\"nbl\",nv:\"nav\",ny:\"nya\",oc:\"oci\",oj:\"oji\",om:\"orm\",or:\"ori\",os:\"oss\",pa:\"pan\",pi:\"pli\",pl:\"pol\",ps:\"pus\",pt:\"por\",qu:\"que\",rm:\"roh\",rn:\"run\",ro:\"ron\",ru:\"rus\",rw:\"kin\",sa:\"san\",sc:\"srd\",sd:\"snd\",se:\"sme\",sg:\"sag\",si:\"sin\",sk:\"slk\",sl:\"slv\",sm:\"smo\",sn:\"sna\",so:\"som\",sq:\"sqi\",sr:\"srp\",ss:\"ssw\",st:\"sot\",su:\"sun\",sv:\"swe\",sw:\"swa\",ta:\"tam\",te:\"tel\",tg:\"tgk\",th:\"tha\",ti:\"tir\",tk:\"tuk\",tl:\"tgl\",tn:\"tsn\",to:\"ton\",tr:\"tur\",ts:\"tso\",tt:\"tat\",tw:\"twi\",ty:\"tah\",ug:\"uig\",uk:\"ukr\",ur:\"urd\",uz:\"uzb\",ve:\"ven\",vi:\"vie\",vo:\"vol\",wa:\"wln\",wo:\"wol\",xh:\"xho\",yi:\"yid\",yo:\"yor\",za:\"zha\",zh:\"zho\",zu:\"zul\"},Xa=gu;var hu={alb:\"sqi\",arm:\"hye\",baq:\"eus\",bur:\"mya\",chi:\"zho\",cze:\"ces\",dut:\"nld\",fre:\"fra\",geo:\"kat\",ger:\"deu\",gre:\"ell\",ice:\"isl\",mac:\"mkd\",mao:\"mri\",may:\"msa\",per:\"fas\",slo:\"slk\",rum:\"ron\",tib:\"bod\",wel:\"cym\"},Za=hu;function Iu(n){if(P(n)||n===\"\")return\"und\";let t=(\"\"+n).toLowerCase().split(\"-\")[0],r=bu(t);return J(r)?r:n}function bu(n){let e;switch(n.length){case 2:e=Xa[n];break;case 3:e=Za[n];break}return e}var Ja=Iu;var eo=Ja;function dr(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Ce(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var Su=Ce(),ti=class{constructor(e,t,r){var a,o,s,u,d;this.id=e.id,this.uniqueId=Su(),this.bitrate=e.bitrate,this.codecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t===\"audio\"||t===\"video\"){if(e.supplementalCodecs!==void 0){let f=r.isSupported((a=this.mimeType)!=null?a:\"\",(o=e.supplementalCodecs)!=null?o:\"\",i);f!==!1&&(this.codecs=[e.supplementalCodecs],this.isSupported=f)}this.isSupported!==!0&&(this.codecs.length>0?this.codecs.push((s=e.codecs)!=null?s:\"\"):(this.codecs=e.codecs===void 0?[]:[e.codecs],this.isSupported=r.isSupported((u=this.mimeType)!=null?u:\"\",(d=e.codecs)!=null?d:\"\",i)))}else e.codecs!==void 0&&this.codecs.push(e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,u;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:\"\",a=(u=this.codecs)!=null?u:[];a.length===0&&(a=[\"\"]);let o=!1;for(let d of a){if(r=e.isSupported(i,d,t),r===!0){this.codecs=[d];break}r===void 0&&(o=!0)}r===!0?this.isSupported=!0:o?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var e,t,r;return`${(e=this.mimeType)!=null?e:\"\"};codecs=\"${(r=(t=this.codecs)==null?void 0:t[0])!=null?r:\"\"}\"`}getEncryptionData(e){var i;let t=this.getAllEncryptionData(),r=[];for(let a=0;a<t.length;a++){let o=!1,s=t[a];for(let u=0;u<s.values.length;u++)if(s.values[u].systemId.toLowerCase()===e.toLowerCase())if(o)r[r.length-1].values.push(s.values[u]);else{let d=(i=this.contentProtections)==null?void 0:i.keyIds;r.push({type:s.type,keyIds:d,values:[s.values[u]]}),o=!0}}return r}getAllEncryptionData(){var t;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(t=this.contentProtections)==null?void 0:t.keyIds;return this.contentProtections.initData.map(r=>({type:r.type,keyIds:e,values:r.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[t]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let o=this.contentProtections.keyIds;if(o===void 0)this.contentProtections.keyIds=[t];else{let s=!1;for(let u of o)dr(u,t)&&(s=!0);s||(m.warn(\"Manifest: found unanounced key id.\"),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o<a.length;o++)if(a[o].type===e){let s=a[o].values;for(let u=0;u<r.length;u++){let d=r[u],f;for(f=0;f<s.length;f++)if(d.systemId===s[f].systemId){if(dr(d.data,s[f].data))break;m.warn(\"Manifest: different init data for the same system ID\")}f===s.length&&(s.push(d),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,codecs:this.codecs,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable}}},tn=ti;var dt=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:a,isManuallyAdded:o}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=eo(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(this.trickModeTracks=i.map(d=>new n(d,t)));let s=e.representations,u=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let d=0;d<s.length;d++){let f=new tn(s[d],this.type,t),l=!0;if(!P(a)){let c={id:f.id,bitrate:f.bitrate,codecs:f.codecs,height:f.height,width:f.width,frameRate:f.frameRate,hdrInfo:f.hdrInfo};if(f.contentProtections!==void 0&&(c.contentProtections={},f.contentProtections.keyIds!==void 0)){let g=f.contentProtections.keyIds;c.contentProtections.keyIds=g}l=a(c,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(u.push(f),f.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):f.isSupported&&(this.supportStatus.hasSupportedCodec=!0),f.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):f.decipherable&&(this.supportStatus.isDecipherable=!0)):m.debug(\"Filtering Representation due to representationFilter\",this.type,`Adaptation: ${this.id}`,`Representation: ${f.id}`,`(${f.bitrate})`)}u.sort((d,f)=>d.bitrate-f.bitrate),this.representations=u,this.manuallyAdded=o===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return Y(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};var lt=se,ni=lt===void 0?void 0:P(lt.MediaSource)?P(lt.MozMediaSource)?P(lt.WebKitMediaSource)?lt.MSMediaSource:lt.WebKitMediaSource:lt.MozMediaSource:lt.MediaSource;var yu=!1,Tu=!1,to=!1,Eu=!1,_u=!1,Ru=!1,Pu=!1,vu=!1,Cu=!1,Au=!1,xu=!1,ku=!1,Mu=!1,Ou=!1,ri=!1,wu=!1,Du=!1;(function(){var e,t,r;or||(typeof se.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?(Tu=!0,to=!0):navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?to=!0:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?yu=!0:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?Eu=!0:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?Ru=!0:(Object.prototype.toString.call(se.HTMLElement).indexOf(\"Constructor\")>=0||((t=(e=se.safari)==null?void 0:e.pushNotification)==null?void 0:t.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((r=navigator.vendor)==null?void 0:r.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(_u=!0),/SamsungBrowser/.test(navigator.userAgent)&&(Pu=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?Ou=!0:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?ri=!0:/Tizen/.test(navigator.userAgent)?vu=!0:/[Ww]eb[O0]S/.test(navigator.userAgent)?(Cu=!0,/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?xu=!0:(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent))&&(Au=!0)):navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?Mu=!0:/[Pp]anasonic/.test(navigator.userAgent)?ku=!0:navigator.userAgent.indexOf(\"Xbox\")!==-1?wu=!0:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")&&(Du=!0))})();function ii(n){return new Promise(e=>{setTimeout(e,n)})}function Tt(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let a=!1;t=e(function(u){n.deregister(o),a=!0,r(u)},function(u){n.deregister(o),a=!0,i(u)}),a||n.register(o);function o(s){t!==void 0&&t(),i(s)}})}function nn(n,e){return Tt(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var lr=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"AssertionError\"}};function ue(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new lr(e===void 0?\"invalid assertion\":e)}function Fe(n){throw new lr(\"Unreachable path taken\")}var W=class{constructor(){let[e,t]=Bu();this._isUsed=!1,this._trigger=e,this.signal=new ai(t)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(()=>{this.cancel()});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=e!=null?e:new oe;this._trigger(t)}static isCancellationError(e){return e instanceof oe}},ai=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){m.error(\"Error while calling clean up listener\",r instanceof Error?r.toString():\"Unknown error\")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(ue(this.cancellationError!==null),e(this.cancellationError),B):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},oe=class n extends Error{constructor(){super(\"This task was cancelled.\"),Object.setPrototypeOf(this,n.prototype),this.name=\"CancellationError\"}};function Bu(){let n=B;return[function(t){n(t)},function(t){n=t}]}var Nu=[\"\",\"webkit\",\"moz\",\"ms\"];function Uu(n,e){let t=document.createElement(n.tagName),r=\"on\"+e;return r in t?!0:(t.setAttribute(r,\"return;\"),typeof t[r]==\"function\")}function Lu(n,e){return e.filter(t=>Uu(n,t))[0]}function Fu(n,e){return n.reduce((t,r)=>t.concat((e===void 0?Nu:e).map(i=>i+r)),[])}function Ee(n,e){let t,r=Fu(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=Lu(i,r)),J(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{I.CURRENT_ENV===I.DEV&&m.warn(`compat: element ${i.tagName} does not support any of these events: `+r.join(\", \"));return}r.forEach(s=>{let u=!1;typeof i.addEventListener==\"function\"?i.addEventListener(s,a):(u=!0,i[\"on\"+s]=a),o.register(()=>{typeof i.removeEventListener==\"function\"&&i.removeEventListener(s,a),u&&delete i[\"on\"+s]})})}}}var wg=Ee([\"loadedmetadata\"]),Dg=Ee([\"timeupdate\"]),Bg=Ee([\"addtrack\"]),Ng=Ee([\"removetrack\"]),Bt=Ee([\"sourceopen\",\"webkitsourceopen\"]),fr=Ee([\"sourceclose\",\"webkitsourceclose\"]),cr=Ee([\"sourceended\",\"webkitsourceended\"]),no=Ee([\"update\"]),ro=Ee([\"removesourcebuffer\"]),Ug=Ee([\"keymessage\",\"message\"]),Lg=Ee([\"keyadded\",\"ready\"]),Fg=Ee([\"keyerror\",\"error\"]),zg=Ee([\"keystatuseschange\"]),Wg=Ee([\"seeking\"]),Vg=Ee([\"seeked\"]),qg=Ee([\"ended\"]);var io=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function mr(n){if(n>=io.length)throw new Error(\"Unable to parse base64 string.\");let e=io[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function pr(n){let e=n.length%4,t=n;e!==0&&(m.warn(\"base64ToBytes: base64 given miss padding\"),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r<t.length-2)throw new Error(\"Unable to parse base64 string.\");let i=t.endsWith(\"==\")?2:t.endsWith(\"=\")?1:0,a=t.length,o=new Uint8Array(a/4*3),s;for(let u=0,d=0;u<a;u+=4,d+=3)s=mr(t.charCodeAt(u))<<18|mr(t.charCodeAt(u+1))<<12|mr(t.charCodeAt(u+2))<<6|mr(t.charCodeAt(u+3)),o[d]=s>>16,o[d+1]=s>>8&255,o[d+2]=s&255;return o.subarray(0,o.length-i)}var zu=typeof se==\"object\"&&typeof se.TextDecoder==\"function\",Wu=typeof se==\"object\"&&typeof se.TextEncoder==\"function\";function rn(n){if(Wu)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"\";m.warn(\"Utils: could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation\",a)}let e,t=encodeURIComponent(n);if(typeof unescape==\"function\")e=unescape(t);else{let i=/[0-9a-fA-F]/,a=t.length;e=\"\";for(let o=0;o<t.length;o++){let s=!1;if(t[o]===\"%\"){if(o<=a-6&&t[o+1]===\"u\"&&i.test(t[o+2])&&i.test(t[o+3])&&i.test(t[o+4])&&i.test(t[o+5])){let u=parseInt(t.substring(o+1,o+6),16);e+=String.fromCharCode(u),s=!0,o+=5}else if(o<=a-3&&i.test(t[o+1])&&i.test(t[o+2])){let u=parseInt(t.substring(o+1,o+3),16);e+=String.fromCharCode(u),s=!0,o+=2}}s||(e+=t[o])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function Vu(n){let t=\"\";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function ao(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t}function De(n){if(zu)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"\";m.warn(\"Utils: could not use TextDecoder to parse UTF-8, fallbacking to another implementation\",a)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=Vu(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_\\+-\\.\\/]/;r=\"\";for(let a=0;a<t.length;a++)if(i.test(t[a]))r+=t[a];else{let o=t.charCodeAt(a);r+=o>=256?\"%u\"+ao(o,4):\"%\"+ao(o,2)}}return decodeURIComponent(r)}function an(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function oo(n,e=\"\"){let t=\"\";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function oi(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:De(r)}}function ze(n,e,t){if(typeof String.prototype.startsWith==\"function\")return n.startsWith(e,t);let r=typeof t==\"number\"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function Et(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i==\"number\"?i:i.length;let a=new Uint8Array(r),o=0;for(t=-1;++t<e;)i=n[t],typeof i==\"number\"?o+=i:i.length>0&&(a.set(i,o),o+=i.length);return a}function so(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function si(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function te(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function ft(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function Ye(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=te(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=ft(n,r+8)}if(isNaN(i)||i<=0)return-1;if(te(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function gr(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=Ye(r,1836019558);if(i<0)break;let a=te(n,i+e),o=e+i+a;if(o>n.length)break;let s=Ye(r,1835295092);if(s<0)break;let u=te(n,s+e),d=e+s+u;if(d>n.length)break;let f=Math.max(o,d),l=n.subarray(e,f);t.push(l),e=f}return t.length===0?[null,r]:[t,r]}function qu(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function Hu(n,e,t){return n.slice(e,t)}var ui=typeof Uint8Array.prototype.slice==\"function\"?Hu:qu;function di(n,e){let t=n;for(let r of e){let i=fe(t,r);if(i===null)return null;t=i}return t}function fe(n,e){let t=Nt(n,e);return t!==null?n.subarray(t[1],t[2]):null}function uo(n,e){let t=[],r=n;for(;;){let i=Nt(r,e);if(i===null)return t;ue(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function Nt(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=te(n,o),o+=4,i=te(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=ft(n,o),o+=8}if(a<0)throw new Error(\"ISOBMFF: Size out of range\");if(i===e)return e===1970628964&&(o+=16),[r,o,r+a];r+=a}return null}function hr(n){let e=0,t=fe(n,1836019574);if(t===null)return[];let r=[];for(;e<t.length;){let i;try{i=Nt(t,1886614376)}catch(s){let u=s instanceof Error?s:\"\";return m.warn(\"Error while removing PSSH from ISOBMFF\",u),r}if(i===null)return r;let a=ui(t,i[0],i[2]),o=lo(a,i[1]-i[0]);o!==void 0&&r.push({systemId:o,data:a}),t[i[0]+4]=102,t[i[0]+5]=114,t[i[0]+6]=101,t[i[0]+7]=101,e=i[2]}return r}function lo(n,e){if(n[e]>1){m.warn(\"ISOBMFF: un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=ui(n,t,t+16);return oo(r)}function li(n){let e=fe(n,1836019558);return e===null?null:fe(e,1953653094)}function fo(n){return uo(n,1836019558).reduce((t,r)=>{let i=fe(r,1953653094);return i!==null&&t.push(i),t},[])}function fi(n){return fe(n,1835295092)}function ci(n){let e=fe(n,1836019574);if(e===null)return null;let t=fe(e,1953653099);return t===null?null:fe(t,1835297121)}function co(n,e=0){return fe(n.subarray(e),1701671783)}function on(n,e){let t=Nt(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],a=t[1],o=n[a];a+=8;let s=te(n,a);a+=4;let u;if(o===0)u=te(n,a),a+=4,r+=te(n,a)+i,a+=4;else if(o===1)u=ft(n,a),a+=8,r+=ft(n,a)+i,a+=8;else return null;let d=[];a+=2;let f=so(n,a);for(a+=2;--f>=0;){let l=te(n,a);a+=4;let c=(l&2147483648)>>>31,g=l&2147483647;if(c===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let p=te(n,a);a+=4,a+=4,d.push({time:u,duration:p,timescale:s,range:[r,r+g-1]}),u+=p,r+=g}return d}function mi(n){let e=li(n);if(e===null)return;let t=fe(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return ft(t,4);if(r===0)return te(t,4)}function Gu(n){let e=fe(n,1952868452);if(e===null)return;let t=1,r=si(e,t);t+=3;let i=(r&1)>0,a=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),a&&(t+=4),te(e,t)):void 0}function pi(n){let e=fo(n);if(e.length===0)return;let t=0;for(let r of e){let i=fe(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=si(i,a);a+=3;let u=(s&256)>0,d=0;if(!u&&(d=Gu(r),d===void 0))return;let f=(s&1)>0,l=(s&4)>0,c=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,h=te(i,a);a+=4,f&&(a+=4),l&&(a+=4);let b=h,y=0;for(;b-- >0;)u?(y+=te(i,a),a+=4):y+=d,c&&(a+=4),g&&(a+=4),p&&(a+=4);t+=y}return t}function sn(n){let e=ci(n);if(e===null)return;let t=fe(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return te(t,r+16);if(i===0)return te(t,r+8)}function mo(n){let e=[],t=0;for(;t<n.length;){let r=co(n,t);if(r===null)break;let i=r.length;t+=i;let a=r[0];if(a!==0)m.warn(\"ISOBMFF: EMSG version \"+a.toString()+\" not supported.\");else{let o=4,{end:s,string:u}=oi(r,o);o=s;let{end:d,string:f}=oi(r,o);o=d;let l=te(r,o);o+=4;let c=te(r,o);o+=4;let g=te(r,o);o+=4;let p=te(r,o);o+=4;let h=r.subarray(o,i),b={schemeIdUri:u,value:f,timescale:l,presentationTimeDelta:c,eventDuration:g,id:p,messageData:h};e.push(b)}}if(e.length!==0)return e}function po(n){let e=di(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=fe(t,1701733238),i=0;if(r===null?(i=28,r=fe(t,1701733217)):i=78,r===null)return null;let a=di(r.subarray(i),[1936289382,1935894633,1952804451]);if(a===null||a.byteLength<24)return null;let o=a.subarray(8,24);return o.every(s=>s===0)?null:o}function ce(n,e,t){if(typeof Array.prototype.includes==\"function\")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,a=i>=0?Math.min(i,r-1):Math.max(r+i,0),o=(s,u)=>s===u||typeof s==\"number\"&&typeof u==\"number\"&&isNaN(s)&&isNaN(u);for(;a<r;){if(o(n[a],e))return!0;a++}return!1}function gi(n){return Object.keys(n).map(e=>n[e])}var Ir=typeof Object.values==\"function\"?Object.values:gi;function Ku(n,e){let{mimeType:t,codecs:r}=go(n),{mimeType:i,codecs:a}=go(e);if(t!==i||r===\"\"||a===\"\")return!1;let o=r.split(\".\")[0];o=o===\"hev1\"?\"hvc1\":o;let s=a.split(\".\")[0];return s=s===\"hev1\"?\"hvc1\":s,o===s}var ju=7;function go(n){var i;let[e,...t]=n.split(\";\"),r=(i=Y(t,a=>ze(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(ju),r[0]==='\"'&&(r=r.substring(1,r.length-2)),{mimeType:e,codecs:r}}var ho=Ku;function hi(n,e){return typeof Array.prototype.flatMap==\"function\"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function Ii(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function Io(n){var t,r,i,a,o;let e=[];for(let s of n.periods){let u=[...(t=s.adaptations.video)!=null?t:[],...(r=s.adaptations.audio)!=null?r:[]];for(let d of u)if(d.supportStatus.hasCodecWithUndefinedSupport)for(let f of d.representations)f.isSupported===void 0&&e.push({mimeType:(i=f.mimeType)!=null?i:\"\",codec:(o=(a=f.codecs)==null?void 0:a[0])!=null?o:\"\"})}return e}var bo=[];function Ze(n){ce(bo,n)||(console.warn(n),bo.push(n))}var Ut=[\"audio\",\"video\",\"text\"];function yo(n){var a,o;let e=n.timeBounds;if(e.timeshiftDepth===null)return(a=e.minimumSafePosition)!=null?a:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=U()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((o=e.minimumSafePosition)!=null?o:0,i)}function To(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=U()-e.time;return e.livePosition+t/1e3}function Eo(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=U()-e.time;return e.maximumSafePosition+t/1e3}function _o(n,e){if(e===void 0)return Si(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function Ro(n,e){let t=null;for(let r of n.periods){if(bi(r,e,t))return r;t=r}}function Po(n,e){let t=e.end;if(t===void 0)return null;let r=Y(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function bi(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function Si(n){let e=n.adaptations;return gi(e).reduce((t,r)=>P(r)?t:t.concat(r),[])}function Yu(n,e){var r,i;let t={language:(r=n.language)!=null?r:\"\",normalized:(i=n.normalizedLanguage)!=null?i:\"\",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(a=>a.isSupported===!0&&a.decipherable!==!1):n.representations).map(Xu),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function Qu(n){var e,t;return{language:(e=n.language)!=null?e:\"\",normalized:(t=n.normalizedLanguage)!=null?t:\"\",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function $u(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>s.isSupported===!0&&s.decipherable!==!1):i.representations).map(So),o={id:i.id,representations:a,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(o.signInterpreted=!0),o}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>i.isSupported===!0&&i.decipherable!==!1):n.representations).map(So),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function Xu(n){let{id:e,bitrate:t,codecs:r,isSpatialAudio:i,isSupported:a,decipherable:o}=n;return{id:e,bitrate:t,codec:r==null?void 0:r[0],isSpatialAudio:i,isCodecSupported:a,decipherable:o}}function So(n){let{id:e,bitrate:t,frameRate:r,width:i,height:a,codecs:o,hdrInfo:s,isSupported:u,decipherable:d,contentProtections:f}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:a,codec:o==null?void 0:o[0],hdrInfo:s,isCodecSupported:u,decipherable:d,contentProtections:f!==void 0?{keyIds:f.keyIds}:void 0}}function ct(n){switch(n.type){case\"audio\":return{type:\"audio\",track:Yu(n,!1)};case\"video\":return{type:\"video\",track:$u(n,!1)};case\"text\":return{type:\"text\",track:Qu(n)}}}function vo(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var un=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let a=i.get(t);if(a!==void 0)return r?a.supportedIfEncrypted:a.supported}};var mt=class{constructor(e,t,r,i){if(this.id=e.id,this.adaptations=Object.keys(e.adaptations).reduce((a,o)=>{let s=e.adaptations[o];if(P(s))return a;let u=s.map(d=>{let f=new dt(d,r,{representationFilter:i});return f.representations.length>0&&f.supportStatus.hasSupportedCodec===!1&&t.push(f),f}).filter(d=>d.representations.length>0);if(u.every(d=>d.supportStatus.hasSupportedCodec===!1)&&s.length>0&&(o===\"video\"||o===\"audio\"))throw new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+o+\" adaptations\",{tracks:void 0});return u.length>0&&(a[o]=u),a},{}),!Array.isArray(this.adaptations.video)&&!Array.isArray(this.adaptations.audio))throw new $(\"MANIFEST_PARSE_ERROR\",\"No supported audio and video tracks.\");this.duration=e.duration,this.start=e.start,!P(this.duration)&&!P(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i===void 0)return;let a=!1;for(let o of i){if(!o.supportStatus.hasCodecWithUndefinedSupport){o.supportStatus.hasSupportedCodec===!0&&(a=!0);continue}let s=o.supportStatus.hasSupportedCodec;o.refreshCodecSupport(t),s!==!1&&o.supportStatus.hasSupportedCodec===!1&&e.push(o),a===!1?a=o.supportStatus.hasSupportedCodec:a===void 0&&o.supportStatus.hasSupportedCodec===!0&&(a=!0)}if((r===\"video\"||r===\"audio\")&&a===!1)throw new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+r+\" adaptations\",{tracks:void 0})},{})}getAdaptations(){return Si(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return Y(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return _o(this,e)}containsTime(e,t){return bi(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e}}};function dn(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.getAdaptations(),a=e.getAdaptations();for(let o=0;o<i.length;o++){let s=i[o],u=re(a,d=>d.id===s.id);if(u===-1){m.warn('Manifest: Adaptation \"'+i[o].id+'\" not found when merging.');let[d]=i.splice(o,1);o--,r.removedAdaptations.push({id:d.id,trackType:d.type})}else{let[d]=a.splice(u,1),f=[],l=[],c=[];r.updatedAdaptations.push({adaptation:s.id,trackType:s.type,updatedRepresentations:f,addedRepresentations:l,removedRepresentations:c});let g=s.representations,p=d.representations.slice();for(let h=0;h<g.length;h++){let b=g[h],y=re(p,E=>E.id===b.id);if(y===-1){m.warn(`Manifest: Representation \"${g[h].id}\" not found when merging.`);let[E]=g.splice(h,1);h--,c.push(E.id)}else{let[E]=p.splice(y,1);f.push(b.getMetadataSnapshot()),b.cdnMetadata=E.cdnMetadata,t===0?b.index._replace(E.index):b.index._update(E.index)}}p.length>0&&(m.warn(`Manifest: ${p.length} new Representations found when merging.`),s.representations.push(...p),l.push(...p.map(h=>h.getMetadataSnapshot())))}}if(a.length>0){m.warn(`Manifest: ${a.length} new Adaptations found when merging.`);for(let o of a){let s=n.adaptations[o.type];s===void 0?n.adaptations[o.type]=[o]:s.push(o),r.addedAdaptations.push(o.getMetadataSnapshot())}}return r}function Co(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a<e.length;a++){let o=e[a],s=r,u=n[s];for(;u!==void 0&&u.id!==o.id;)s++,u=n[s];if(u!==void 0){let d=dn(u,o,0);t.updatedPeriods.push({period:{id:u.id,start:u.start,end:u.end,duration:u.duration,streamEvents:u.streamEvents},result:d});let f=e.slice(r,a),l=s-r,c=n.splice(r,l,...f);t.removedPeriods.push(...c.map(g=>({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...f.map(g=>g.getMetadataSnapshot())),r=a+1}}if(r>n.length)return m.error(\"Manifest: error when updating Periods\"),t;if(r<n.length){let a=n.splice(r,n.length-r);t.removedPeriods.push(...a.map(o=>({id:o.id,start:o.start,end:o.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(a=>a.getMetadataSnapshot()))),t}function Ao(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.start<e[0].start){if(r.end!==e[0].start)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=re(n,({id:s})=>s===e[0].id);if(i<0)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=dn(n[i],e[0],1);t.updatedPeriods.push({period:q(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s<e.length;s++){let u=e[s],d=-1;for(let f=o;f<n.length;f++)if(u.id===n[f].id){d=f;break}if(d<0){let f=-1;for(let g=o;g<n.length;g++)if(u.start<n[g].start){f=g;break}let l=f-o,c=n.splice(o,l,u);t.addedPeriods.push(u.getMetadataSnapshot()),t.removedPeriods.push(...c.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(d>o){m.warn(\"Manifest: old Periods not found in new when updating, removing\");let l=n.splice(o,d-o);t.removedPeriods.push(...l.map(c=>({id:c.id,start:c.start,end:c.end}))),d=o}let f=dn(n[d],u,0);t.updatedPeriods.push({period:q(n[d].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o<n.length){m.warn(\"Manifest: Ending Periods not found in new when updating, removing\");let s=n.splice(o,n.length-o);t.removedPeriods.push(...s.map(u=>({id:u.id,start:u.start,end:u.end})))}return t}var Zu=Ce(),ln=class extends le{constructor(e,t,r){var s;super();let{representationFilter:i,manifestUpdateUrl:a}=t;this.manifestFormat=0,this.id=Zu(),this.expired=(s=e.expired)!=null?s:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new un([]);let o=[];if(this.periods=e.periods.map(u=>new mt(u,o,this._cachedCodecSupport,i)).sort((u,d)=>u.start-d.start),o.length>0){let u=new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:o.map(ct)});r.push(u)}this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=a,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger(\"supportUpdate\",null),t.length>0?new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(ct)}):null}getPeriod(e){return Y(this.periods,t=>e===t.id)}getPeriodForTime(e){return Ro(this,e)}getNextPeriod(e){return Y(this.periods,t=>t.start>e)}getPeriodAfter(e){return Po(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return yo(this)}getLivePosition(){return To(this)}getMaximumSafePosition(){return Eo(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=Ju(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}getAdaptations(){Ze(\"manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead\");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(t.hasOwnProperty(i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){Ze(\"manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead\");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return Ze(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),Y(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return Io(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=Co(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Ao(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let a=this.periods[0];if(a.end===void 0||a.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger(\"manifestUpdate\",r)}};function Ju(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let a=!0;for(let o of i.representations){let s={manifest:n,period:r,adaptation:i,representation:o},u=e(s);u!==!1&&(a=!1),u!==o.decipherable&&(t.push(s),o.decipherable=u,u===!0?i.supportStatus.isDecipherable=!0:u===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),m.debug(`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function Je(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function _t(n){if(P(n))return\"\";let{period:e,adaptation:t,representation:r,segment:i}=n,a;return i.isInit?a=\"init\":i.complete?a=`${i.time}-${i.duration}`:a=`${i.time}`,`${t.type} P: ${e.id} A: ${t.id} R: ${r.id} S: ${a}`}var Lt=ln;var ed=\"<\";var xo=\">\";var td=`\\r\n\t>/= `;function yi(n,e={}){var c,g;let t=(c=e.pos)!=null?c:0,r=e.keepComments===!0,i=e.keepWhitespace===!0,a;if(e.attrValue!==void 0)for(e.attrName=(g=e.attrName)!=null?g:\"id\",a=[];(t=l())!==-1;)t=n.lastIndexOf(\"<\",t),t!==-1&&a.push(d()),n=n.substring(t),t=0;else a=o(\"\");return e.filter&&(a=ko(a,e.filter)),a;function o(p){let h=[];for(;n[t];)if(n.charCodeAt(t)===60){if(n.charCodeAt(t+1)===47){let y=t+2;if(t=n.indexOf(xo,t),n.substring(y,t).indexOf(p)===-1){let v=n.substring(0,t).split(`\n`);throw new Error(`Unexpected close tag\nLine: `+(v.length-1)+`\nColumn: `+(v[v.length-1].length+1)+`\nChar: `+n[t])}return t!==-1&&(t+=1),h}else if(n.charCodeAt(t+1)===33){if(n.charCodeAt(t+2)===45){let y=t;for(;t!==-1&&!(n.charCodeAt(t)===62&&n.charCodeAt(t-1)===45&&n.charCodeAt(t-2)===45);)t=n.indexOf(xo,t+1);t===-1&&(t=n.length),r&&h.push(n.substring(y,t+1))}else if(n.charCodeAt(t+2)===91&&n.charCodeAt(t+8)===91&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let y=n.indexOf(\"]]>\",t);y===-1?(h.push(n.substring(t+9)),t=n.length):(h.push(n.substring(t+9,y)),t=y+3);continue}else{let y=t+1;t+=2;let E=!1;for(;(n.charCodeAt(t)!==62||E)&&n[t];)n.charCodeAt(t)===91?E=!0:E&&n.charCodeAt(t)===93&&(E=!1),t++;h.push(n.substring(y,t))}t++;continue}let b=d();h.push(b),b.tagName[0]===\"?\"&&(h.push(...b.children),b.children=[])}else{let b=s();if(i)b.length>0&&h.push(b);else{let y=b.trim();y.length>0&&h.push(y)}t++}return h}function s(){let p=t;return t=n.indexOf(ed,t)-1,t===-2&&(t=n.length),n.slice(p,t+1)}function u(){let p=t;for(;td.indexOf(n[t])===-1&&n[t];)t++;return n.slice(p,t)}function d(){let p=t;t++;let h=u(),b={},y=[];for(;n.charCodeAt(t)!==62&&n[t];){let E=n.charCodeAt(t);if(E>64&&E<91||E>96&&E<123){let v=u(),_=n.charCodeAt(t);for(;_&&_!==39&&_!==34&&!(_>64&&_<91||_>96&&_<123)&&_!==62;)t++,_=n.charCodeAt(t);let C;_===39||_===34?C=f():(C=null,t--),b[v]=C===null?null:Mo(C)}t++}return n.charCodeAt(t-1)!==47?(t++,y=o(h)):t++,{tagName:h,attributes:b,children:y,posStart:p,posEnd:t}}function f(){let p=n[t],h=t+1;return t=n.indexOf(p,h),n.slice(h,t)}function l(){let p=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return p?p.index:-1}}function ko(n,e,t=0,r=\"\"){let i=[];return n.forEach(function(a,o){if(typeof a==\"object\"&&(e(a,o,t,r)&&i.push(a),a.children.length>0)){let s=ko(a.children,e,t+1,(r?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function br(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+br(t),e=e.trim()}),e}else return typeof n==\"object\"?br(n.children):\" \"+Mo(n)}function Mo(n){return n.indexOf(\"&\")<0?n:n.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&quot;/g,'\"').replace(/&apos;/g,\"'\").replace(/&#x([A-Fa-f0-9]+);/g,(e,t)=>String.fromCharCode(parseInt(t,16))).replace(/&amp;/g,\"&\")}function Ti(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return P(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function Be(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=Ti(n,e,t);return r+(a+1)*i}function Re(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function Qe(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function Oo(n,e,t){return[n*t,(n+e)*t]}function nd(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function wo(n,e,t){let{timeline:r}=n,i=Re(e,n);if(i<0)return null;let a=nd(r,i);if(a<0||a>=r.length-1)return null;let o=r[a];if(o.duration<=0)return null;let s=r[a+1];if(s===void 0)return null;let u=s.start,d=Be(o,s,t);return i>=d&&i<u?Qe(u,n):null}function et(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:\"init\",isInit:!0,time:0,end:0,duration:0,timescale:1,range:P(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function rd(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function Ei(n){return(e,t,r)=>{let i=J(r)?parseInt(r,10):1;return rd(String(n),i)}}function Ne(n,e,t){return id(n,e,t)}function id(n,e,t){return n.indexOf(\"$\")===-1?n:n.replace(/\\$\\$/g,\"$\").replace(/\\$RepresentationID\\$/g,String(e)).replace(/\\$Bandwidth(\\%0(\\d+)d)?\\$/g,Ei(t===void 0?0:t))}function Sr(n,e){return function(r){return r.indexOf(\"$\")===-1?r:r.replace(/\\$\\$/g,\"$\").replace(/\\$Number(\\%0(\\d+)d)?\\$/g,(i,a,o)=>{if(e===void 0)throw new Error(\"Segment number not defined in a $Number$ scheme\");return Ei(e)(i,a,o)}).replace(/\\$Time(\\%0(\\d+)d)?\\$/g,(i,a,o)=>{if(n===void 0)throw new Error(\"Segment time not defined in a $Time$ scheme\");return Ei(n)(i,a,o)})}}function ad(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function fn(n,e,t,r,i,a){var E;let o=r.getEstimatedMaximumPosition((E=n.availabilityTimeOffset)!=null?E:0),s=Math.min(e+t,o!=null?o:1/0),u=Re(e,n),d=Re(s,n),{timeline:f,timescale:l,segmentUrlTemplate:c,startNumber:g,endNumber:p}=n,h=g!=null?g:1,b=[],y=f.length;for(let v=0;v<y;v++){let _=f[v],{duration:C,start:R,range:k}=_,A;o===void 0?A=i:A=Math.min(o*l,i!=null?i:1/0);let T=Ti(_,f[v+1],A),x=n.availabilityTimeComplete!==!1||v!==y-1&&T!==0,O=ad(R,C,u),D=R+O*C;for(;D<d&&O<=T;){let w=h+O;if(p!==void 0&&w>p)break;let M=c===null?null:Sr(D,w)(c),N=D-n.indexTimeOffset,L=C;N<0&&(L=C+N,N=0);let K={id:String(D),time:N/l,end:(N+L)/l,duration:L/l,isInit:!1,range:k,timescale:1,url:M,number:w,timestampOffset:-(n.indexTimeOffset/l),complete:x,privateInfos:{isEMSGWhitelisted:a}};b.push(K),O++,D=R+O*C}if(D>=d||(h+=T+1,p!==void 0&&h>p))return b}return b}function od(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var Rt=class{constructor(e,t){var p,h,b,y;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,u=(p=e.timescale)!=null?p:1,f=((h=e.presentationTimeOffset)!=null?h:0)-r*u,l=((b=e.initialization)==null?void 0:b.media)===void 0?null:Ne(e.initialization.media,a,o),c=e.media===void 0?null:Ne(e.media,a,o),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:f,initialization:{url:l,range:g},segmentUrlTemplate:c,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(y=e.timeline)!=null?y:[],timescale:u},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Re(r,this._index),this._scaledPeriodEnd=P(i)?void 0:Re(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return et(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return fn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:Qe(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(Be(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return Qe(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t<e.length;t++)od(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `BaseRepresentationIndex`\")}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){m.error(\"Base RepresentationIndex: Cannot update a SegmentList\")}};var Pt=class{constructor(e,t){var g,p,h;if(e.duration===void 0)throw new Error(\"Invalid SegmentList: no duration\");let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let u=(g=e.presentationTimeOffset)!=null?g:0,d=(p=e.timescale)!=null?p:1,f=u-r*d,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:Ne(e.initialization.media,a,o),c=e.list.map(b=>({url:b.media===void 0?null:Ne(b.media,a,o),mediaRange:b.mediaRange}));this._index={list:c,timescale:d,duration:e.duration,indexTimeOffset:f,indexRange:e.indexRange,initialization:P(e.initialization)?void 0:{url:l,range:e.initialization.range}}}getInitSegment(){let e=et(this._index);return e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e}getSegments(e,t){let r=this._index,{duration:i,list:a,timescale:o}=r,s=i/o,u=e-this._periodStart,[d,f]=Oo(u,t,o),l=Math.min(a.length-1,Math.floor(f/i)),c=[],g=Math.floor(d/i);for(;g<=l;){let p=a[g].mediaRange,h=a[g].url,b=g*s+this._periodStart,y={id:String(g),time:b,isInit:!1,range:p,duration:s,timescale:1,end:b+s,url:h,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};c.push(y),g++}return c}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){m.error(\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `ListRepresentationIndex`\")}_replace(e){this._index=e._index}_update(){m.error(\"A `ListRepresentationIndex` cannot be updated\")}};function Ft(n){return z.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var vt=class{constructor(e,t){var y,E,v;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:u,representationBitrate:d,isEMSGWhitelisted:f}=t,l=(y=e.timescale)!=null?y:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let c=(E=e.presentationTimeOffset)!=null?E:0,g=s*l,p=c-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let h=((v=e.initialization)==null?void 0:v.media)===void 0?null:Ne(e.initialization.media,u,d),b=e.media===void 0?null:Ne(e.media,u,d);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:P(e.initialization)?void 0:{url:h,range:e.initialization.range},url:b,presentationTimeOffset:c,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=a,this._periodStart=s,this._scaledRelativePeriodEnd=o===void 0?void 0:(o-s)*l,this._isEMSGWhitelisted=f}getInitSegment(){return et(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:a,endNumber:o,timescale:s,url:u}=r,d=this._periodStart*s,f=this._scaledRelativePeriodEnd,l=e*s-d,c=(e+t)*s-d,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(P(g)||P(p))return[];let h=Math.max(g,l),b=Math.min(p,c);if(b+i<=h)return[];let y=[],E=a!=null?a:1,v=Math.floor(h/i);for(let _=v*i;_<=b;_+=i){let C=v+E;if(o!==void 0&&C>o)return y;let R=!P(f)&&_+i>f?f-_:i,k=_+d,A=_+this._index.presentationTimeOffset,T=u===null?null:Sr(A,C)(u),x={id:String(C),number:C,time:k/s,end:(k+R)/s,duration:R/s,timescale:1,isInit:!1,scaledDuration:R/s,url:T,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};y.push(x),v++}return y}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return P(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(P(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(ue(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=Ft(r),a=this._periodStart*r,o=e*r-a,s=t*r-a,u=this._getLastSegmentStart();if(P(u)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&o<l-i}let d=u+this._index.duration,f=this._estimateRelativeScaledEnd();return f===void 0?s>d-i:s>d-i&&o<f-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(P(r))return!0;let i=r+this._index.duration,a=Ft(t);return i+a<e}isInitialized(){return!0}initialize(){m.error(\"A `TemplateRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TemplateRepresentationIndex`\")}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var o;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var a,o;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let u=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(u===void 0)return;let d=(u-this._periodStart)*t;if(d<0)return null;let f=Math.floor(d/e);return r!==void 0&&r-i+1<f&&(f=r-i+1),f<=0?null:(f-1)*e}else{let s=(o=this._scaledRelativePeriodEnd)!=null?o:0,u=Math.ceil(s/e);r!==void 0&&r-i+1<u&&(u=r-i+1);let d=(u-1)*e,f=z.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-d>f||u<2?d:(u-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function _i(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let a=r.start+r.duration,o=1;for(;a<e&&o<=r.repeatCount;)a+=r.duration,o++;if(o>r.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-o;return r.start=a,r.repeatCount=s,t+=o,t}}}}return t}function Ri(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(Be(i,e[0])<r)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");for(let f=t-1;f>=0;f--){let l=n[f].start;if(l===r){let c=t-f;return n.splice(f,c,...e),!1}else if(l<r){let c=n[f];if(c.start+c.duration>r)return m.warn(\"RepresentationIndex: Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(c.repeatCount===void 0||c.repeatCount<=0)return c.repeatCount<0&&(c.repeatCount=Math.floor((r-c.start)/c.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(c.start+c.duration*(c.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let p=(r-c.start)/c.duration-1;if(p%1===0&&c.duration===e[0].duration){let h=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(f,t-f,...e),n[f].start=c.start,n[f].repeatCount=h,!1}return m.warn(\"RepresentationIndex: Manifest update removed previous segments\"),n[f].repeatCount=Math.floor(p),n.splice(f+1,t-(f+1),...e),!1}}let o=n[n.length-1],s=e[e.length-1];if(o.repeatCount!==void 0&&o.repeatCount<0)return o.start>s.start?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0);let u=o.start+o.duration*(o.repeatCount+1),d=s.start+s.duration*(s.repeatCount+1);return u>=d?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function cn(n,e,t){let r=n.start,i=n.duration,a=n.repeatCount;return r===void 0&&(e===null?r=0:P(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(a===void 0||!isNaN(a))?{start:r,duration:i,repeatCount:a===void 0?0:a}:(m.warn('DASH: A \"S\" Element could not have been parsed.'),null)}function mn(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!P(r))switch(t){case\"t\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid t (\"${r}\")`):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r}\")`):e.repeatCount=i;break}}}return e}function pn(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case\"t\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid t (\"${r.value}\")`):e.start=i;break}case\"d\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r.value}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r.value}\")`):e.repeatCount=i;break}}}return e}function pt(n){let e=[];if(Array.isArray(n))for(let r=0;r<n.length;r++)e.push(mn(n[r]));else for(let r=0;r<n.length;r++)e.push(pn(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[t.length-1]===void 0?null:t[t.length-1],o=e[r+1]===void 0?null:e[r+1],s=cn(i,a,o);s!==null&&t.push(s)}return t}function Pi(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=Array.isArray(e)?e[0].attributes.t:e[0].getAttribute(\"t\"),i=P(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let a=n[0],o=0;for(;;){if(a.repeatCount>0){let s=i-a.start;if(s%a.duration===0&&s/a.duration<=a.repeatCount)return{repeatNumberInPrevSegments:s/a.duration,prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInNewElements:0}}if(o++,o>=n.length)return null;if(a=n[o],a.start===i)return{prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(a.start>i)return null}}else{let a=0,o=Array.isArray(e)?e[0]:null,s=Array.isArray(e)?null:e[0],u=i;for(;;){let d=o!==null?o.attributes.d:s==null?void 0:s.getAttribute(\"d\"),f=P(d)?null:parseInt(d,10);if(f===null||Number.isNaN(f))return null;let l=o!==null?o.attributes.r:s==null?void 0:s.getAttribute(\"r\"),c=P(l)?null:parseInt(l,10);if(c!==null){if(Number.isNaN(c)||c<0)return null;if(c>0){let h=t-u;if(h%f===0&&h/f<=c)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/f,prevSegmentsIdx:0,newElementsIdx:a}}u+=f*(c+1)}else u+=f;if(a++,a>=e.length)return null;Array.isArray(e)?o=e[a]:s=e[a];let g=o!==null?o.attributes.t:s==null?void 0:s.getAttribute(\"t\"),p=P(g)?null:parseInt(g,10);if(p!==null){if(Number.isNaN(p))return null;u=p}if(u===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(u>i)return null}}}function vi(n,e){var h;let t=Pi(e,n);if(t===null)return m.warn('DASH: Cannot perform \"based\" update. Common segment not found.'),pt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,u=e.length-r+i-1;if(u>=n.length)return m.info('DASH: Cannot perform \"based\" update. New timeline too short'),pt(n);let d=e.slice(r);if(a>0){let b=d[0];b.start+=b.duration*a,d[0].repeatCount-=a}if(o>0&&i!==0)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form.'),pt(n);let f=d[d.length-1],l=Array.isArray(n)?mn(n[u]):pn(n[u]),c=((h=l.repeatCount)!=null?h:0)-o;if(l.duration!==f.duration||f.repeatCount>c)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),pt(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],p=[];if(Array.isArray(n))for(let b=u+1;b<n.length;b++)p.push(mn(n[b]));else for(let b=u+1;b<n.length;b++)p.push(pn(n[b]));for(let b=0;b<p.length;b++){let y=p[b],E=g[g.length-1]===void 0?f:g[g.length-1],v=p[b+1]===void 0?null:p[b+1],_=cn(y,E,v);_!==null&&g.push(_)}return d.concat(g)}var gn=class n{constructor(e,t){var _,C,R,k,A;if(!n.isTimelineIndexArgument(e))throw new Error(\"The given index is not compatible with a TimelineRepresentationIndex.\");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:a,isDynamic:o,isLastPeriod:s,representationId:u,representationBitrate:d,periodStart:f,periodEnd:l,isEMSGWhitelisted:c}=t,g=(_=e.timescale)!=null?_:1,p=(C=e.presentationTimeOffset)!=null?C:0,h=f*g,b=p-h;this._manifestBoundsCalculator=a,this._isEMSGWhitelisted=c,this._isLastPeriod=s,this._lastUpdate=(R=t.receivedTime)!=null?R:U(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=o,this._parseTimeline=(k=e.timelineParser)!=null?k:null;let y=((A=e.initialization)==null?void 0:A.media)===void 0?null:Ne(e.initialization.media,u,d),E=e.media===void 0?null:Ne(e.media,u,d),v;i===void 0&&r===void 0?v=1/0:v=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:v,indexRange:e.indexRange,indexTimeOffset:b,initialization:P(e.initialization)?void 0:{url:y,range:e.initialization.range},segmentUrlTemplate:E,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Ci(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=Re(f,this._index),this._scaledPeriodEnd=l===void 0?void 0:Re(l,this._index)}getInitSegment(){return et(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),fn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:Qe(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=yr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return Qe(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(Be(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return Qe(t,this._index)}awaitSegmentBetween(e,t){var d,f;if(ue(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,a=Ft(r),o=Re(t,this._index),s=yr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(d=this._scaledPeriodEnd)!=null?d:1/0)+a>=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let u=Re(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=Be(l,null,this._scaledPeriodEnd)+a;if(u<g+a)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?o+a>this._scaledPeriodStart?void 0:!1:u-a<this._scaledPeriodEnd&&o+a>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),sd(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),wo({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof je&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),Ri(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var o;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&Re(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Ft(this._index.timescale),r=yr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(o=this._scaledPeriodEnd)!=null?o:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return Be(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){m.error(\"A `TimelineRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TimelineRepresentationIndex`\")}static isTimelineIndexArgument(e){return typeof e.timelineParser==\"function\"||Array.isArray(e.timeline)}_refreshTimeline(){var i,a;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((a=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?a:0)/this._index.timescale);if(P(e))return;let t=Re(e,this._index),r=_i(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(m.error(\"DASH: Timeline already lazily parsed.\"),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=z.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Ci(pt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Ci(vi(e,r),this._index.startNumber,this._index.endNumber)}};function Ci(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let a=n[i];if(r+=a.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let o=n.slice(0,i),s=Z({},a),u=r-a.repeatCount-1;return s.repeatCount=Math.max(0,t-u),o.push(s),o}}}return n}function sd(n,e,t,r){let i=yr(e,t,r);if(i===null)return!1;for(let a=0;a<e.timeline.length;a++){if(i.timelineIdx<a)return!1;let o=e.timeline[a],s=(o.start-e.indexTimeOffset)/e.timescale;if(s>n.time)return!1;if(s===n.time)return o.range===void 0?n.range===void 0:!P(n.range)&&o.range[0]===n.range[0]&&o.range[1]===n.range[1];if(o.repeatCount>=0&&o.duration!==void 0){let d=(s-o.start)/o.duration-1;return d%1===0&&d<=i.newRepeatCount}}return!1}function yr(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Be(a,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Be(a,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let a=n.timeline[i],o=a.start+a.duration;if(Qe(o,n)<=r){let s=Be(a,n.timeline[i+1],t);if(Qe(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let d=Re(r,n)-a.start,f=Math.floor(d/a.duration);return ue(f>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:f-1,end:a.start+f*a.duration}}}}return null}var Tr=gn;var ud=/^(?:[a-z]+:)?\\/\\//i,dd=/^(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function xi(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(ud.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t<e?xi(n.substring(0,t)):e+1}function Do(n,e){let t=Er(n),r=Er(e);if(t.scheme!==r.scheme||t.authority!==r.authority||t.path[0]!==void 0&&t.path[0]!==\"/\"&&r.path[0]===\"/\"||r.path[0]!==void 0&&r.path[0]!==\"/\"&&t.path[0]===\"/\")return null;let i=In(t.path),a=In(r.path),o;if(i===a)o=\"\";else{let u=i.split(\"/\");u.pop();let d=a.split(\"/\");for(;u.length>0&&d.length>0&&u[0]===d[0];)u.shift(),d.shift();for(;u.length>0;)u.shift(),d.unshift(\"..\");let f=d.join(\"/\");(f.endsWith(\"../\")||f.endsWith(\"./\"))&&(f=f.slice(0,f.length-1)),o=f===\"\"?\".\":f}let s=o;return o===\"\"&&r.query===t.query||r.query&&(s+=\"?\",s+=r.query),r.fragment&&(s+=\"#\",s+=r.fragment),s}function ld(n,e){let t=Er(n),r=Er(e);if(r.scheme)return Ai(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return r.authority?(i.authority=r.authority,i.path=In(r.path),Ai(i)):(r.path===\"\"?(i.path=t.path,r.query||(i.query=t.query)):ze(r.path,\"/\")?i.path=In(r.path):i.path=In(cd(t,r.path)),Ai(i))}var hn=new Map,fd=200;function Er(n){var r,i,a,o,s;if(hn.has(n))return hn.get(n);let e=n.match(dd),t;return e===null?t={scheme:\"\",authority:\"\",path:\"\",query:\"\",fragment:\"\"}:t={scheme:(r=e[1])!=null?r:\"\",authority:(i=e[2])!=null?i:\"\",path:(a=e[3])!=null?a:\"\",query:(o=e[4])!=null?o:\"\",fragment:(s=e[5])!=null?s:\"\"},hn.size>=fd&&hn.clear(),hn.set(n,t),t}function Ai(n){let e=\"\";return n.scheme&&(e+=n.scheme+\":\"),n.authority&&(e+=\"//\"+n.authority),e+=n.path,n.query&&(e+=\"?\"+n.query),n.fragment&&(e+=\"#\"+n.fragment),e}function In(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===\"..\"||i===\".\"||i===\"\")){if(i===\"/..\"){t.pop(),r===e.length-1&&t.push(\"/\");continue}if(i===\"/.\"){r===e.length-1&&t.push(\"/\");continue}t.push(i)}}return t.join(\"\")}function cd(n,e){if(n.authority&&n.path===\"\")return\"/\"+e;let t=n.path;return t.substring(0,t.lastIndexOf(\"/\")+1)+e}function bn(...n){var r,i,a;let e=n.filter(o=>o!==\"\"),t=e.length;if(t===0)return\"\";if(t===1)return(r=e[0])!=null?r:\"\";{let o=(i=e[0])!=null?i:\"\",s=(a=e[1])!=null?a:\"\",u=ld(o,s),d=e.slice(2);return bn(u,...d)}}var Sn=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return ki(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(m.warn(\"DASH: forcing the parsing of a referencing ContentProtection\"),ki(e,t)),!1):(t.children.cencPssh.push(...i.children.cencPssh),t.attributes.keyId===void 0&&i.attributes.keyId!==void 0&&(t.attributes.keyId=i.attributes.keyId),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),ki(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function ki(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)===\"urn:uuid:\"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,\"\").toLowerCase()),e.attributes.keyId!==void 0&&e.attributes.keyId.length>0){let o=e.attributes.keyId;n.contentProtections===void 0?n.contentProtections={keyIds:[o],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[o]:n.contentProtections.keyIds.push(o)}if(t===void 0)return;let{cencPssh:r}=e.children,i=[];for(let o of r)i.push({systemId:t,data:o});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:\"cenc\",values:i}]};return}let a=Y(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function _r(n){let e=Date.parse(n)-U();if(isNaN(e)){m.warn(\"DASH Parser: Invalid clock received: \",n);return}return e}function Mi(n){let e=n.children.utcTimings.filter(t=>(t.schemeIdUri===\"urn:mpeg:dash:utc:http-iso:2014\"||t.schemeIdUri===\"urn:mpeg:dash:utc:http-xsdate:2014\")&&t.value!==void 0);return e.length>0?e[0].value:void 0}function Rr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function Oi(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=Rr(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=Rr(i);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(r!==void 0&&a===null||i!==void 0&&o===null)return m.info(\"Parser utils: found Period with no segment. \",\"Going to previous one to calculate last position\"),{safe:void 0,unsafe:void 0};if(o!==null)return a!==null?{safe:Math.min(a,o),unsafe:Math.max(a,o)}:{safe:o,unsafe:o};if(a!==null)return{safe:a,unsafe:a}}}return{safe:void 0,unsafe:void 0}}function Pr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function wi(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=Pr(r);if(s===void 0)return;a=s}if(i!==void 0){let s=Pr(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){m.info(\"Parser utils: found Period with no segment. \",\"Going to next one to calculate first position\");return}if(o!==null)return a!==null?Math.max(a,o):o;if(a!==null)return a}}}function Di(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=wi(n),t=Oi(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var yn=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(U()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+U()/1e3,0):this._lastPosition}};function Bi(n,e){return n.type!==\"dynamic\"?0:P(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Ni(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(m.warn(\"DASH: Updating overlapping Periods.\",i==null?void 0:i.start,r.start),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function Ui(n,e){let t=[];return n.forEach((r,i)=>{let a;if(!P(r.attributes.start))a=r.attributes.start;else if(i===0)a=!e.isDynamic||P(e.availabilityStartTime)?0:e.availabilityStartTime;else{let d=t[t.length-1];if(!P(d)&&!P(d.periodEnd))a=d.periodEnd;else throw new Error(\"Missing start time when parsing periods.\")}let o,s=n[i+1];P(r.attributes.duration)?i===n.length-1?o=e.duration:P(s.attributes.start)||(o=s.attributes.start-a):o=r.attributes.duration;let u=P(o)?void 0:a+o;t.push({periodStart:a,periodDuration:o,periodEnd:u})}),t}function md(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let a of i)for(let o of Ut){let s=n[o];if(s!==void 0)for(let u of s)u.id===a&&(u.trickModeTracks===void 0&&(u.trickModeTracks=[]),u.trickModeTracks.push(r))}}}var Bo=md;var pd=[\"subtitle\",\"caption\"];function Li(n,e,t,r){function i(o,s){let u=o.split(\"/\")[0];if(ce(Ut,u))return u;if(o===\"application/ttml+xml\")return\"text\";if(o===\"application/mp4\")return s!==null&&Y(s,d=>d.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&ce(pd,d.value))!==void 0?\"text\":void 0}function a(o){switch(o.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(o.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(e!==null){let o=i(e,r);if(o!==void 0)return o}if(t!==null){let o=a(t);if(o!==void 0)return o}for(let o=0;o<n.length;o++){let s=n[o],{mimeType:u,codecs:d}=s.attributes;if(u!==void 0){let f=i(u,r);if(f!==void 0)return f}if(d!==void 0){let f=a(d);if(f!==void 0)return f}}}var gd=/[, ]+/g;function No(n){return J(n)?n.trim().replace(gd,\", \"):\"\"}function Uo(n){let[e,t,r,i,a,o,s,u]=n.split(\".\");if(e!==\"vp08\"&&e!==\"vp09\"&&e!==\"vp10\")return;let d,f,l;if((i!==void 0&&i===\"10\"||i===\"12\")&&(d=parseInt(i,10)),s!==void 0&&(s===\"16\"?f=\"pq\":s===\"18\"&&(f=\"hlg\")),o!==void 0&&u!==void 0&&o===\"09\"&&u===\"09\"&&(l=\"rec2020\"),!(d===void 0||f===void 0))return{colorDepth:d,eotf:f,colorSpace:l}}function Fi(n,e){var p,h,b;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:a,start:o,receivedTime:s,unsafelyBaseOnPreviousRepresentation:u,inbandEventStreams:d,isLastPeriod:f}=e,c={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:u,isEMSGWhitelisted:y=>d===void 0?!1:d.some(({schemeIdUri:E})=>E===y.schemeIdUri),isLastPeriod:f,manifestBoundsCalculator:r,isDynamic:i,periodEnd:a,periodStart:o,receivedTime:s,representationBitrate:n.attributes.bitrate,representationId:n.attributes.id},g;if(n.children.segmentBase!==void 0){let{segmentBase:y}=n.children;g=new Rt(y,c)}else if(n.children.segmentList!==void 0){let{segmentList:y}=n.children;g=new Pt(y,c)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let y=e.parentSegmentTemplates.slice(),E=n.children.segmentTemplate;E!==void 0&&y.push(E);let v=q({},...y);(v.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(c.availabilityTimeOffset=((p=v.availabilityTimeOffset)!=null?p:0)+((h=e.availabilityTimeOffset)!=null?h:0)),(v.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(c.availabilityTimeComplete=(b=v.availabilityTimeComplete)!=null?b:e.availabilityTimeComplete),g=Tr.isTimelineIndexArgument(v)?new Tr(v,c):new vt(v,c)}else{let y=e.adaptation.children;if(y.segmentBase!==void 0){let{segmentBase:E}=y;g=new Rt(E,c)}else if(y.segmentList!==void 0){let{segmentList:E}=y;g=new Pt(E,c)}else g=new vt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},c)}return g}function tt(n,e){var i;if(e.length===0)return n;let t=e.map(a=>({url:a.value}));if(n.length===0)return t;let r=[];for(let a=0;a<n.length;a++){let o=n[a];for(let s=0;s<t.length;s++){let u=t[s],d=bn(o.url,u.url);r.push({url:d,serviceLocation:(i=u.serviceLocation)!=null?i:o.serviceLocation})}}return r}function hd(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Id({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:\"\")+(r!=null?r:\"\")).indexOf(\"http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10\")!==-1&&(i===\"hvc1.2.4.L153.B0\"||i===\"hev1.2.4.L153.B0\"))return{colorDepth:10,eotf:\"pq\",colorSpace:\"rec2020\"};let o=Y([...e!=null?e:[],...t!=null?t:[]],s=>s.schemeIdUri===\"urn:mpeg:mpegB:cicp:TransferCharacteristics\");if(o!==void 0)switch(o.value){case\"15\":return;case\"16\":return{eotf:\"pq\"};case\"18\":return{eotf:\"hlg\"}}if(i!==void 0&&/^vp(08|09|10)/.exec(i))return Uo(i)}function zi(n,e,t){var i,a,o,s,u,d,f;let r=[];for(let l of n){let c=l.attributes.id!==void 0?l.attributes.id:String(l.attributes.bitrate)+(l.attributes.height!==void 0?`-${l.attributes.height}`:\"\")+(l.attributes.width!==void 0?`-${l.attributes.width}`:\"\")+(l.attributes.mimeType!==void 0?`-${l.attributes.mimeType}`:\"\")+(l.attributes.codecs!==void 0?`-${l.attributes.codecs}`:\"\");for(;r.some(T=>T.id===c);)c+=\"-dup\";let g=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(c))!=null?a:null,p=hd(l,e),h=(o=l.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,b;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(b=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((u=t.availabilityTimeOffset)!=null?u:0));let y=q({},t,{availabilityTimeOffset:b,availabilityTimeComplete:h,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),E=Fi(l,y),v;l.attributes.bitrate===void 0?(m.warn(\"DASH: No usable bitrate found in the Representation.\"),v=0):v=l.attributes.bitrate;let _=tt(t.baseURLs,l.children.baseURLs),C=_.length===0?[{baseUrl:\"\",id:void 0}]:_.map(T=>({baseUrl:T.url,id:T.serviceLocation})),R={bitrate:v,cdnMetadata:C,index:E,id:c};l.children.supplementalProperties!==void 0&&Y(l.children.supplementalProperties,T=>T.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&T.value===\"JOC\")&&(R.isSpatialAudio=!0);let k;l.attributes.codecs!==void 0?k=l.attributes.codecs:e.attributes.codecs!==void 0&&(k=e.attributes.codecs),k!==void 0&&(k=k===\"mp4a.40.02\"?\"mp4a.40.2\":k,R.codecs=k);let A;l.attributes.supplementalCodecs!==void 0?A=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(A=e.attributes.supplementalCodecs),A!==void 0&&(R.supplementalCodecs=No(A)),l.attributes.frameRate!==void 0?R.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(R.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?R.height=l.attributes.height:e.attributes.height!==void 0&&(R.height=e.attributes.height),l.attributes.mimeType!==void 0?R.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(R.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?R.width=l.attributes.width:e.attributes.width!==void 0&&(R.width=e.attributes.width);{let T=[...(d=e.children.contentProtections)!=null?d:[],...(f=l.children.contentProtections)!=null?f:[]];for(let x of T)t.contentProtectionParser.add(R,x)}R.hdrInfo=Id({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:k}),r.push(R)}return r}function bd(n){if(n===void 0)return!1;let e=n.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&n.value===\"1\",t=n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"description\";return e||t}function Sd(n,e){return!!(n!==void 0&&n.some(r=>r.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&r.value===\"2\")||e!==void 0&&e.some(r=>r.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&r.value===\"caption\"))}function yd(n){return n===void 0?!1:n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"sign\"}function Td(n,e){if(J(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,u=s;return J(n.attributes.language)&&(u+=`-${n.attributes.language}`),t===!0&&(u+=\"-cc\"),r===!0&&(u+=\"-cc\"),i===!0&&(u+=\"-ad\"),a===!0&&(u+=\"-si\"),o&&(u+=\"-trickMode\"),J(n.attributes.contentType)&&(u+=`-${n.attributes.contentType}`),J(n.attributes.codecs)&&(u+=`-${n.attributes.codecs}`),J(n.attributes.mimeType)&&(u+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(u+=`-${String(n.attributes.frameRate)}`),u}function Ed(n){if(!P(n.children.supplementalProperties)){let{supplementalProperties:e}=n.children;for(let t of e)if(t.schemeIdUri===\"urn:mpeg:dash:adaptation-set-switching:2016\"&&!P(t.value))return t.value.split(\",\").map(r=>r.trim()).filter(r=>r)}return[]}function Wi(n,e){var s,u,d,f,l,c,g;let t={video:[],audio:[],text:[]},r=[],i={},a=[];for(let p=0;p<n.length;p++){let h=n[p],b=h.children,{essentialProperties:y,roles:E,label:v}=b,_=Array.isArray(E)&&E.some(ye=>ye.value===\"main\")&&E.some(ye=>ye.schemeIdUri===\"urn:mpeg:dash:role:2011\"),C=h.children.representations,R=(s=h.attributes.availabilityTimeComplete)!=null?s:e.availabilityTimeComplete,k;(h.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(k=((u=h.attributes.availabilityTimeOffset)!=null?u:0)+((d=e.availabilityTimeOffset)!=null?d:0));let A=h.attributes.mimeType,T=h.attributes.codecs,x=Li(C,J(A)?A:null,J(T)?T:null,P(b.roles)?null:b.roles);if(x===void 0)continue;let O=(f=h.attributes.selectionPriority)!=null?f:1,D=h.attributes.id,w=Ed(h),M=[];e.segmentTemplate!==void 0&&M.push(e.segmentTemplate),h.children.segmentTemplate!==void 0&&M.push(h.children.segmentTemplate);let N={availabilityTimeComplete:R,availabilityTimeOffset:k,baseURLs:tt(e.baseURLs,b.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:M,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},L=Array.isArray(y)?Y(y,ye=>ye.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,K=(l=L==null?void 0:L.value)==null?void 0:l.split(\" \"),ee=K!==void 0,{accessibilities:G}=b,H;E!==void 0&&E.some(ye=>ye.value===\"dub\")&&(H=!0);let V;x!==\"text\"?V=!1:V=Sd(G,E);let Q;x===\"text\"&&E!==void 0&&E.some(ye=>ye.value===\"forced-subtitle\"||ye.value===\"forced_subtitle\")&&(Q=!0);let de;x!==\"audio\"?de=!1:G!==void 0&&(de=G.some(bd));let Se;x!==\"video\"?Se=!1:G!==void 0&&(Se=G.some(yd));let me=Td(h,{isAudioDescription:de,isForcedSubtitle:Q,isClosedCaption:V,isSignInterpreted:Se,isTrickModeTrack:ee,type:x});for(;ce(a,me);)me+=\"-dup\";let He=me;a.push(me),N.unsafelyBaseOnPreviousAdaptation=(g=(c=e.unsafelyBaseOnPreviousPeriod)==null?void 0:c.getAdaptation(me))!=null?g:null;let we=zi(C,h,N),he={id:me,representations:we,type:x,isTrickModeTrack:ee};if(P(h.attributes.language)||(he.language=h.attributes.language),P(V)||(he.closedCaption=V),P(de)||(he.audioDescription=de),H===!0&&(he.isDub=!0),Q!==void 0&&(he.forcedSubtitles=Q),Se===!0&&(he.isSignInterpreted=!0),v!==void 0&&(he.label=v),K!==void 0)r.push({adaptation:he,trickModeAttachedAdaptationIds:K});else{let ye=-1;for(let Qt of w){let Ge=i[Qt];if(Ge!==void 0&&Ge.newID!==He&&ce(Ge.adaptationSetSwitchingIDs,D)){ye=re(t[x],Ot=>Ot[0].id===Qt);let xe=t[x][ye];if(xe!==void 0&&xe[0].audioDescription===he.audioDescription&&xe[0].closedCaption===he.closedCaption&&xe[0].language===he.language){m.info('DASH Parser: merging \"switchable\" AdaptationSets',D,Qt),xe[0].representations.push(...he.representations),xe[1]={priority:Math.max(O,xe[1].priority),isMainAdaptation:_||xe[1].isMainAdaptation,indexInMpd:Math.min(p,xe[1].indexInMpd)};break}}}ye<0&&t[x].push([he,{priority:O,isMainAdaptation:_,indexInMpd:p}])}!P(D)&&P(i[D])&&(i[D]={newID:He,adaptationSetSwitchingIDs:w})}let o=Ut.reduce((p,h)=>{let b=t[h];return b.length>0&&(b.sort(Lo),p[h]=b.map(([y])=>y)),p},{});return t.video.sort(Lo),Bo(o,r),o}function Lo(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var _d=Ce();function Vi(n,e){var o,s,u,d,f;let t=[],r=Ui(n,e);if(r.length!==n.length)throw new Error(\"MPD parsing error: the time information are incoherent.\");let{isDynamic:i,manifestBoundsCalculator:a}=e;!i&&!P(e.duration)&&a.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let c=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),h=tt(e.baseURLs,g.children.baseURLs),{periodStart:b,periodDuration:y,periodEnd:E}=r[l],v;for(P(g.attributes.id)?(m.warn(\"DASH: No usable id found in the Period. Generating one.\"),v=\"gen-dash-period-\"+_d()):v=g.attributes.id;t.some(L=>L.id===v);)v+=\"-dup\";let _=p!==void 0?p.receivedTime:e.receivedTime,C=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(v))!=null?s:null,R=g.attributes.availabilityTimeComplete,k=g.attributes.availabilityTimeOffset,{manifestProfiles:A,contentProtectionParser:T}=e,{segmentTemplate:x}=g.children;T.addReferences((u=g.children.contentProtections)!=null?u:[]);let O={availabilityTimeComplete:R,availabilityTimeOffset:k,baseURLs:h,contentProtectionParser:T,manifestBoundsCalculator:a,end:E,isDynamic:i,isLastPeriod:c,manifestProfiles:A,receivedTime:_,segmentTemplate:x,start:b,unsafelyBaseOnPreviousPeriod:C},D=Wi(g.children.adaptations,O),w=((d=e.xmlNamespaces)!=null?d:[]).concat((f=g.attributes.namespaces)!=null?f:[]),M=Pd(g.children.eventStreams,b,w),N={id:v,start:b,end:E,duration:y,adaptations:D,streamEvents:M};if(t.unshift(N),!a.lastPositionIsKnown()){let L=Rd(D);if(!i)typeof L==\"number\"&&a.setLastPosition(L);else if(typeof L==\"number\"){let K=U()/1e3;a.setLastPosition(L,K)}else{let K=Fo(e,b);if(K!==void 0){let[ee,G]=K;a.setLastPosition(ee,G)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let l=Fo(e,0);if(l!==void 0){let[c,g]=l;a.setLastPosition(c,g)}}return Ni(t)}function Fo(n,e){if(P(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){m.warn(\"DASH Parser: no clock synchronization mechanism found. Using the system clock instead.\");let r=t-n.availabilityStartTime,i=U()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=U()/1e3,i=r+t;if(i>=e)return[i,r]}}function Rd(n){let e=null,t=!0,r=Ir(n).filter(a=>!P(a)),i=hi(r,a=>a);for(let a of i){let o=a.representations;for(let s of o){let u=s.index.getLastAvailablePosition();u!==null&&(t=!1,typeof u==\"number\"&&(e=P(e)?u:Math.max(e,u)))}}if(P(e)){if(t)return null}else return e}function Pd(n,e,t){var i,a;let r=[];for(let o of n){let{schemeIdUri:s=\"\",timescale:u=1}=o.attributes,d=t.concat((i=o.attributes.namespaces)!=null?i:[]);for(let f of o.children.events)if(f.eventStreamData!==void 0){let l=((a=f.presentationTime)!=null?a:0)/u+e,c=f.duration===void 0?void 0:l+f.duration/u,g,p;if(!wt&&f.eventStreamData instanceof Element)g=f.eventStreamData;else try{p={namespaces:d,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:De(new Uint8Array(f.eventStreamData))}}catch(h){m.error(\"DASH: Error while parsing event-stream:\",h instanceof Error?h.message:\"Unknown error\")}r.push({start:l,end:c,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:u,element:g,xmlData:p}}})}}return r}function zt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(P(e.externalClockOffset)){let u=o.type===\"dynamic\",d=Y(a.utcTimings,c=>c.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!P(c.value)),f=!P(d)&&!P(d.value)?_r(d.value):void 0,l=!P(f)&&!isNaN(f)?f:void 0;if(!P(l)&&r!==!0)e.externalClockOffset=l;else if(u&&r!==!0){let c=Mi(n);if(!P(c)&&c.length>0)return{type:\"needs-clock\",value:{url:c,continue:function(p){return p.success?(e.externalClockOffset=_r(p.data),zt(n,e,t,!0)):(t.push(p.error),m.warn(\"DASH Parser: Error on fetching the clock ressource\",p.error),zt(n,e,t,!0))}}}}}let s=[];for(let u=0;u<a.periods.length;u++){let{xlinkHref:d,xlinkActuate:f}=a.periods[u].attributes;!P(d)&&f===\"onLoad\"&&s.push({index:u,ressource:d})}return s.length===0?vd(n,e,t,i):{type:\"needs-xlinks\",value:{xlinksUrls:s.map(({ressource:u})=>u),continue:function(d){if(d.length!==s.length)throw new Error(\"DASH parser: wrong number of loaded ressources.\");for(let f=d.length-1;f>=0;f--){let l=s[f].index,{parsed:c,warnings:g,receivedTime:p,sendingTime:h,url:b}=d[f];g.length>0&&t.push(...g);for(let y of c)i.set(y,{receivedTime:p,sendingTime:h,url:b});a.periods.splice(l,1,...c)}return zt(n,e,t,r,i)}}}}function vd(n,e,t,r){var M,N,L,K,ee;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,xi(e.url))}]:[],u=tt(s,i.baseURLs),d=Bi(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:c,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,h=new yn({availabilityStartTime:d,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:p}),b=new Sn;b.addReferences((M=i.contentProtections)!=null?M:[]);let y={availabilityStartTime:d,baseURLs:u,clockOffset:c,contentProtectionParser:b,duration:a.duration,isDynamic:o,manifestBoundsCalculator:h,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},E=Vi(i.periods,y);b.finalize();let v=a.duration,_,C,R=null,k;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(_=a.minimumUpdatePeriod===0?z.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:A,maximumSafePosition:T,maximumUnsafePosition:x}=Di(E),O=U();if(o){let G;T!==void 0?G=T:p===void 0?(m.warn(\"DASH Parser: use system clock to define maximum position\"),G=Date.now()/1e3-d):G=(U()+p)/1e3-d;let H=h.getEstimatedLiveEdge();H===void 0&&(x!==void 0?H=x:H=G),k={isLinear:!0,maximumSafePosition:G,livePosition:H,time:O},C=A,R=f!=null?f:null,R!==null&&(R+=l!=null?l:0),R!==null&&C!==void 0&&H-C>R&&(R=H-C)}else{C=A,C===void 0&&(C=(L=(N=E[0])==null?void 0:N.start)!=null?L:0);let G=v!=null?v:1/0;if(E[E.length-1]!==void 0){let H=E[E.length-1],V=(K=H.end)!=null?K:H.duration!==void 0?H.start+H.duration:void 0;V!==void 0&&V<G&&(G=V)}T!==void 0&&T<G&&(G=T),k={isLinear:!1,maximumSafePosition:G,livePosition:void 0,time:O}}let D=!o||n.attributes.minimumUpdatePeriod===void 0&&(((ee=E[E.length-1])==null?void 0:ee.end)!==void 0||n.attributes.duration!==void 0);return{type:\"done\",value:{parsed:{availabilityStartTime:d,clockOffset:e.externalClockOffset,isDynamic:o,isLive:o,isLastPeriodKnown:D,periods:E,publishTime:a.publishTime,suggestedPresentationDelay:a.suggestedPresentationDelay,transportType:\"dash\",timeBounds:{minimumSafePosition:C,timeshiftDepth:R,maximumTimeData:k},lifetime:_,uris:P(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var vr=zt;var Cd=/^P(([\\d.]*)Y)?(([\\d.]*)M)?(([\\d.]*)D)?T?(([\\d.]*)H)?(([\\d.]*)M)?(([\\d.]*)S)?/,Ad=/([0-9]+)-([0-9]+)/;function Pe(n,e){return n===\"true\"?[!0,null]:n===\"false\"?[!1,null]:[!1,new Me(`\\`${e}\\` property is not a boolean value but \"${n}\"`)]}function ne(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new Me(`\\`${e}\\` property is not an integer value but \"${n}\"`)]:[t,null]}function Ae(n,e){if(n===\"INF\")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new Me(`\\`${e}\\` property is invalid: \"${n}\"`)]:[t,null]}function qi(n,e){if(n===\"true\")return[!0,null];if(n===\"false\")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new Me(`\\`${e}\\` property is not a boolean nor an integer but \"${n}\"`)]:[t,null]}function Cr(n,e){let t=Date.parse(n);return isNaN(t)?[null,new Me(`\\`${e}\\` is in an invalid date format: \"${n}\"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function We(n,e){if(!J(n))return[0,new Me(`\\`${e}\\` property is empty`)];let t=Cd.exec(n);return t===null?[null,new Me(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[parseFloat(J(t[2])?t[2]:\"0\")*365*24*60*60+parseFloat(J(t[4])?t[4]:\"0\")*30*24*60*60+parseFloat(J(t[6])?t[6]:\"0\")*24*60*60+parseFloat(J(t[8])?t[8]:\"0\")*60*60+parseFloat(J(t[10])?t[10]:\"0\")*60+parseFloat(J(t[12])?t[12]:\"0\"),null]}function Ct(n,e){let t=Ad.exec(n);return t===null?[null,new Me(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[[+t[1],+t[2]],null]}function zo(n,e){try{return[pr(n),null]}catch(t){return[null,new Me(`\\`${e}\\` is not a valid base64 string: \"${n}\"`)]}}function Wt(n,e){let t=/^(\\d+)\\/(\\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:Ae(n,e)}function _e(n){let e,t;for(let r of Object.keys(n.attributes)){let i=n.attributes[r];if(!P(i))switch(r){case\"schemeIdUri\":e=i;break;case\"value\":t=i;break}}return{schemeIdUri:e,value:t}}function ge(n,e){return function(t,{asKey:r,parser:i,dashName:a}){let[o,s]=i(t,a);s!==null&&(m.warn(s.message),e.push(s)),o!==null&&(n[r]=o)}}var Me=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"MPDError\"}};function gt(n){return br(n)}function nt(n){let e=typeof n==\"string\"?n:gt(n.children),t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}function xd(n){let e=[],t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\"&&i.tagName===\"cenc:pssh\"){let a=gt(i.children);if(a!==null&&a.length>0){let[o,s]=zo(a,\"cenc:pssh\");s!==null&&(m.warn(s.message),e.push(s)),o!==null&&t.push(o)}}}return[{cencPssh:t},e]}function kd(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!P(r))switch(t){case\"schemeIdUri\":e.schemeIdUri=r;break;case\"value\":e.value=r;break;case\"cenc:default_KID\":e.keyId=an(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function rt(n){let[e,t]=xd(n.children),r=kd(n);return[{children:e,attributes:r},t]}function Hi(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!P(r))switch(t){case\"id\":e.id=r;break;case\"lang\":e.language=r;break;case\"contentType\":e.contentType=r;break;case\"par\":e.par=r;break}}return e}function Gi(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"range\":r(a,{asKey:\"range\",parser:Ct,dashName:\"range\"});break;case\"sourceURL\":e.media=a;break}}return[e,t]}function it(n){let e={},t=[],r=ge(e,t),i=n.children;for(let a=0;a<i.length;a++){let o=i[a];if(typeof o!=\"string\"&&o.tagName===\"Initialization\"){let[s,u]=Gi(o);e.initialization=s,t=t.concat(u)}}for(let a of Object.keys(n.attributes)){let o=n.attributes[a];if(!P(o))switch(a){case\"timescale\":r(o,{asKey:\"timescale\",parser:ne,dashName:\"timescale\"});break;case\"presentationTimeOffset\":r(o,{asKey:\"presentationTimeOffset\",parser:Ae,dashName:\"presentationTimeOffset\"});break;case\"indexRange\":r(o,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"indexRangeExact\":r(o,{asKey:\"indexRangeExact\",parser:Pe,dashName:\"indexRangeExact\"});break;case\"availabilityTimeOffset\":r(o,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(o,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break;case\"duration\":r(o,{asKey:\"duration\",parser:ne,dashName:\"duration\"});break;case\"startNumber\":r(o,{asKey:\"startNumber\",parser:ne,dashName:\"startNumber\"});break;case\"endNumber\":r(o,{asKey:\"endNumber\",parser:ne,dashName:\"endNumber\"});break}}return[e,t]}function Ki(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"media\":e.media=a;break;case\"indexRange\":r(a,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"index\":e.index=a;break;case\"mediaRange\":r(a,{asKey:\"mediaRange\",parser:Ct,dashName:\"mediaRange\"});break}}return[e,t]}function Tn(n){let[e,t]=it(n),r=t,i=[],a=n.children;for(let s=0;s<a.length;s++){let u=a[s];if(typeof u!=\"string\"&&u.tagName===\"SegmentURL\"){let[d,f]=Ki(u);i.push(d),r=r.concat(f)}}return[q(e,{list:i}),r]}function ji(n){let e=n.children;return function(){for(let t=e.length-1;t>=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function At(n){let[e,t]=it(n),r=t,i;for(let s=0;s<n.children.length;s++){let u=n.children[s];typeof u!=\"string\"&&u.tagName===\"SegmentTimeline\"&&(i=ji(u))}let a=q({},e,{duration:e.duration,timelineParser:i}),o=ge(a,r);for(let s of Object.keys(n.attributes)){let u=n.attributes[s];if(!P(u))switch(s){case\"initialization\":P(a.initialization)&&(a.initialization={media:u});break;case\"index\":a.index=u;break;case\"availabilityTimeOffset\":o(u,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":o(u,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break;case\"media\":a.media=u;break;case\"bitstreamSwitching\":o(u,{asKey:\"bitstreamSwitching\",parser:Pe,dashName:\"bitstreamSwitching\"});break}}return[a,r]}function Md(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=nt(a);o!==void 0&&e.baseURLs.push(o),r=r.concat(s);break}case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(_e(a));break;case\"SegmentBase\":{let[o,s]=it(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=Tn(a);r=r.concat(s),e.segmentList=o;break}case\"SegmentTemplate\":{let[o,s]=At(a);r=r.concat(s),e.segmentTemplate=o;break}case\"ContentProtection\":{let[o,s]=rt(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}case\"SupplementalProperty\":P(e.supplementalProperties)?e.supplementalProperties=[_e(a)]:e.supplementalProperties.push(_e(a));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function Od(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"bandwidth\":r(a,{asKey:\"bitrate\",parser:ne,dashName:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Pe,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:Ae,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:Ae,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{asKey:\"qualityRanking\",parser:ne,dashName:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break}}return e.bitrate===void 0&&t.push(new Me(\"No bitrate found on a Representation\")),[e,t]}function Wo(n){let[e,t]=Md(n.children),[r,i]=Od(n),a=t.concat(i);return[{children:e,attributes:r},a]}function wd(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"Accessibility\":e.accessibilities===void 0?e.accessibilities=[_e(a)]:e.accessibilities.push(_e(a));break;case\"BaseURL\":{let[o,s]=nt(a);o!==void 0&&e.baseURLs.push(o),s.length>0&&(r=r.concat(s));break}case\"ContentComponent\":e.contentComponent=Hi(a);break;case\"EssentialProperty\":P(e.essentialProperties)?e.essentialProperties=[_e(a)]:e.essentialProperties.push(_e(a));break;case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(_e(a));break;case\"Label\":{let o=gt(a.children);o!=null&&(e.label=o);break}case\"Representation\":{let[o,s]=Wo(a);e.representations.push(o),s.length>0&&(r=r.concat(s));break}case\"Role\":P(e.roles)?e.roles=[_e(a)]:e.roles.push(_e(a));break;case\"SupplementalProperty\":P(e.supplementalProperties)?e.supplementalProperties=[_e(a)]:e.supplementalProperties.push(_e(a));break;case\"SegmentBase\":{let[o,s]=it(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=Tn(a);e.segmentList=o,s.length>0&&(r=r.concat(s));break}case\"SegmentTemplate\":{let[o,s]=At(a);e.segmentTemplate=o,s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=rt(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}}}return t.length>0&&(e.contentProtections=t),[e,r]}function Dd(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"id\":e.id=a;break;case\"group\":r(a,{asKey:\"group\",parser:ne,dashName:\"group\"});break;case\"lang\":e.language=a;break;case\"contentType\":e.contentType=a;break;case\"par\":e.par=a;break;case\"minBandwidth\":r(a,{asKey:\"minBitrate\",parser:ne,dashName:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{asKey:\"maxBitrate\",parser:ne,dashName:\"maxBandwidth\"});break;case\"minWidth\":r(a,{asKey:\"minWidth\",parser:ne,dashName:\"minWidth\"});break;case\"maxWidth\":r(a,{asKey:\"maxWidth\",parser:ne,dashName:\"maxWidth\"});break;case\"minHeight\":r(a,{asKey:\"minHeight\",parser:ne,dashName:\"minHeight\"});break;case\"maxHeight\":r(a,{asKey:\"maxHeight\",parser:ne,dashName:\"maxHeight\"});break;case\"minFrameRate\":r(a,{asKey:\"minFrameRate\",parser:Wt,dashName:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{asKey:\"maxFrameRate\",parser:Wt,dashName:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{asKey:\"selectionPriority\",parser:ne,dashName:\"selectionPriority\"});break;case\"segmentAlignment\":r(a,{asKey:\"segmentAlignment\",parser:qi,dashName:\"segmentAlignment\"});break;case\"subsegmentAlignment\":r(a,{asKey:\"subsegmentAlignment\",parser:qi,dashName:\"subsegmentAlignment\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Pe,dashName:\"bitstreamSwitching\"});break;case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"codecs\":e.codecs=a;break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Pe,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:Ae,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:Ae,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break}}return[e,t]}function Vo(n){let e=n.children,[t,r]=wd(e),[i,a]=Dd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Bd(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"schemeIdUri\":e.schemeIdUri=a;break;case\"value\":e.value=a;break;case\"timescale\":r(a,{asKey:\"timescale\",parser:ne,dashName:\"timescale\"});break;default:ze(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function qo(n,e){let[t,r]=Bd(n),i=[];for(let a of n.children)if(typeof a!=\"string\"&&a.tagName===\"Event\"){let o={};if(P(a.attributes.id)||(o.id=a.attributes.id),!P(a.attributes.presentationTime)){let[s,u]=ne(a.attributes.presentationTime,\"presentationTime\");u!==null&&r.push(u),s!==null&&(o.presentationTime=s)}if(!P(a.attributes.duration)){let[s,u]=ne(a.attributes.duration,\"duration\");u!==null&&r.push(u),s!==null&&(o.duration=s)}if(a.posStart<a.posEnd){let s=e.substring(a.posStart,a.posEnd);o.eventStreamData=s}i.push(o)}return[{children:{events:i},attributes:t},r]}function Nd(n,e){let t=[],r=[],i,a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=nt(d);f!==void 0&&t.push(f),o=o.concat(l);break}case\"AdaptationSet\":{let[f,l]=Vo(d);r.push(f),o=o.concat(l);break}case\"EventStream\":{let[f,l]=qo(d,e);s.push(f),o=o.concat(l);break}case\"SegmentTemplate\":{let[f,l]=At(d);i=f,l.length>0&&(o=o.concat(l));break}case\"ContentProtection\":{let[f,l]=rt(d);l.length>0&&(o=o.concat(l)),f!==void 0&&a.push(f);break}}}return[{baseURLs:t,adaptations:r,eventStreams:s,segmentTemplate:i,contentProtections:a},o]}function Ud(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"id\":e.id=a;break;case\"start\":r(a,{asKey:\"start\",parser:We,dashName:\"start\"});break;case\"duration\":r(a,{asKey:\"duration\",parser:We,dashName:\"duration\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Pe,dashName:\"bitstreamSwitching\"});break;case\"xlink:href\":e.xlinkHref=a;break;case\"xlink:actuate\":e.xlinkActuate=a;break;default:ze(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Ar(n,e){let[t,r]=Nd(n.children,e),[i,a]=Ud(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Ld(n,e){let t=[],r=[],i=[],a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=nt(d);f!==void 0&&t.push(f),s=s.concat(l);break}case\"Location\":r.push(gt(d.children));break;case\"Period\":{let[f,l]=Ar(d,e);i.push(f),s=s.concat(l);break}case\"UTCTiming\":{let f=_e(d);a.push(f);break}case\"ContentProtection\":{let[f,l]=rt(d);l.length>0&&(s=s.concat(l)),f!==void 0&&o.push(f);break}}}return[{baseURLs:t,locations:r,periods:i,utcTimings:a,contentProtections:o},s]}function Fd(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"id\":e.id=a;break;case\"profiles\":e.profiles=a;break;case\"type\":e.type=a;break;case\"availabilityStartTime\":r(a,{asKey:\"availabilityStartTime\",parser:Cr,dashName:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{asKey:\"availabilityEndTime\",parser:Cr,dashName:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{asKey:\"publishTime\",parser:Cr,dashName:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{asKey:\"duration\",parser:We,dashName:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{asKey:\"minimumUpdatePeriod\",parser:We,dashName:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{asKey:\"minBufferTime\",parser:We,dashName:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{asKey:\"timeShiftBufferDepth\",parser:We,dashName:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{asKey:\"suggestedPresentationDelay\",parser:We,dashName:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{asKey:\"maxSegmentDuration\",parser:We,dashName:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{asKey:\"maxSubsegmentDuration\",parser:We,dashName:\"maxSubsegmentDuration\"});break;default:ze(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Ho(n,e){let[t,r]=Ld(n.children,e),[i,a]=Fd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Yi(n,e){let t=yi(n),r=t[t.length-1];if(r===void 0||typeof r==\"string\"||r.tagName!==\"MPD\")throw new Error(\"DASH Parser: document root should be MPD\");let[i,a]=Ho(r,n),o=vr(i,e,a);return s(o);function s(u){if(u.type===\"done\")return u;if(u.type===\"needs-clock\")return{type:\"needs-resources\",value:{urls:[u.value.url],format:\"string\",continue(d){if(d.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let f=u.value.continue(d[0].responseData);return s(f)}}};if(u.type===\"needs-xlinks\")return{type:\"needs-resources\",value:{urls:u.value.xlinksUrls,format:\"string\",continue(d){let f=[];for(let c=0;c<d.length;c++){let{responseData:g,receivedTime:p,sendingTime:h,url:b}=d[c];if(!g.success)throw g.error;let y=\"<root>\"+g.data+\"</root>\",E=yi(y),v=E[E.length-1];if(v===void 0||typeof v==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let _=v.children,C=[],R=[];for(let k=0;k<_.length;k++){let A=_[k];if(typeof A==\"string\"||A.tagName!==\"Period\")continue;let[T,x]=Ar(A,y);R.push(...x),C.push(T)}f.push({url:b,receivedTime:p,sendingTime:h,parsed:C,warnings:R})}let l=u.value.continue(f);return s(l)}}};Fe(u)}}var Go=Yi;var zd=typeof WebAssembly==\"object\"&&typeof WebAssembly.instantiate==\"function\",Ko=zd;function F(n,e,t,r){let i=new Uint8Array(e,t,r);return n.decode(i)}function Qi(n){return n===1/0?!0:n===-1/0?!1:n}function ht(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.value=F(t,e.buffer,a,o))}}function It(n,e){let t=n.attributes,r=n.children,i=new TextDecoder;return function(o,s,u){switch(o){case 16:t.schemeIdUri=F(i,e.buffer,s,u);break;case 13:t.value=F(i,e.buffer,s,u);break;case 14:{let d=F(i,e.buffer,s,u);t.keyId=an(d.replace(/-/g,\"\"));break}case 15:try{let d=F(i,e.buffer,s,u);r.cencPssh.push(pr(d))}catch(d){}break;case 78:t.ref=F(i,e.buffer,s,u);break;case 79:t.refId=F(i,e.buffer,s,u);break}}}function jo(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=F(t,e.buffer,a,o);break;case 60:n.language=F(t,e.buffer,a,o);break;case 61:n.contentType=F(t,e.buffer,a,o);break;case 62:n.par=F(t,e.buffer,a,o);break}}}function Yo(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.label=F(t,e.buffer,a,o))}}function Ve(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 16:n.schemeIdUri=F(t,e.buffer,a,o);break;case 17:n.value=F(t,e.buffer,a,o);break}}}function Vt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 29:{let s=new DataView(e.buffer);n.initialization===void 0&&(n.initialization={}),n.initialization.range=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 67:n.initialization===void 0&&(n.initialization={}),n.initialization.media=F(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function Qo(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 28:n.index=F(t,e.buffer,a,o);break;case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 30:n.media=F(t,e.buffer,a,o);break;case 18:{let s=new DataView(e.buffer);n.mediaRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}}}}function xr(n,e,t){return function(i){switch(i){case 20:{let a={};n.list===void 0&&(n.list=[]),n.list.push(a);let o=Qo(a,e);t.pushParsers(i,B,o);break}default:t.pushParsers(i,B,B);break}}}function qt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 19:{let s=new DataView(e.buffer);n.timeline=[];let u=a;for(let d=0;d<o/24;d++)n.timeline.push({start:s.getFloat64(u,!0),duration:s.getFloat64(u+8,!0),repeatCount:s.getFloat64(u+16,!0)}),u+=24;break}case 67:n.initialization={media:F(t,e.buffer,a,o)};break;case 28:n.index=F(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 30:n.media=F(t,e.buffer,a,o);break;case 32:{n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function $o(n,e,t){return function(i){switch(i){case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a),t.pushParsers(i,B,ht(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,B,o);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a),t.pushParsers(i,B,Ve(a,e));break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,B,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=xr(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,B,qt(a,e));break}default:t.pushParsers(i,B,B);break}}}function Xo(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=F(t,e.buffer,a,o);break;case 3:n.audioSamplingRate=F(t,e.buffer,a,o);break;case 63:n.bitrate=s.getFloat64(a,!0);break;case 4:n.codecs=F(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=F(t,e.buffer,a,o);break;case 5:n.codingDependency=new DataView(e.buffer).getUint8(0)===0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 11:n.mimeType=F(t,e.buffer,a,o);break;case 2:n.profiles=F(t,e.buffer,a,o);break;case 65:n.qualityRanking=s.getFloat64(a,!0);break;case 12:n.segmentProfiles=F(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function Zo(n,e,t){return function(i){switch(i){case 8:{let a={};n.accessibilities===void 0&&(n.accessibilities=[]),n.accessibilities.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a);let o=ht(a,e);t.pushParsers(i,B,o);break}case 9:{let a={};n.contentComponent=a,t.pushParsers(i,B,jo(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,B,o);break}case 11:{let a={};n.essentialProperties===void 0&&(n.essentialProperties=[]),n.essentialProperties.push(a);let o=B,s=Ve(a,e);t.pushParsers(i,o,s);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a);let o=B,s=Ve(a,e);t.pushParsers(i,o,s);break}case 7:{let a={children:{baseURLs:[]},attributes:{}};n.representations.push(a);let o=$o(a.children,e,t),s=Xo(a.attributes,e);t.pushParsers(i,o,s);break}case 12:{let a={};n.roles===void 0&&(n.roles=[]),n.roles.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,B,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=xr(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,B,qt(a,e));break}case 21:{t.pushParsers(i,B,Yo(n,e));break}default:t.pushParsers(i,B,B);break}}}function Jo(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=F(t,e.buffer,a,o);break;case 48:n.group=s.getFloat64(a,!0);break;case 60:n.language=F(t,e.buffer,a,o);break;case 61:n.contentType=F(t,e.buffer,a,o);break;case 62:n.par=F(t,e.buffer,a,o);break;case 53:n.minBitrate=s.getFloat64(a,!0);break;case 49:n.maxBitrate=s.getFloat64(a,!0);break;case 56:n.minWidth=s.getFloat64(a,!0);break;case 52:n.maxWidth=s.getFloat64(a,!0);break;case 55:n.minHeight=s.getFloat64(a,!0);break;case 51:n.maxHeight=s.getFloat64(a,!0);break;case 54:n.minFrameRate=s.getFloat64(a,!0);break;case 50:n.maxFrameRate=s.getFloat64(a,!0);break;case 57:n.selectionPriority=s.getFloat64(a,!0);break;case 58:n.segmentAlignment=Qi(s.getFloat64(a,!0));break;case 59:n.subsegmentAlignment=Qi(s.getFloat64(a,!0));break;case 32:n.bitstreamSwitching=s.getFloat64(a,!0)!==0;break;case 3:n.audioSamplingRate=F(t,e.buffer,a,o);break;case 4:n.codecs=F(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=F(t,e.buffer,a,o);break;case 2:n.profiles=F(t,e.buffer,a,o);break;case 12:n.segmentProfiles=F(t,e.buffer,a,o);break;case 11:n.mimeType=F(t,e.buffer,a,o);break;case 5:n.codingDependency=s.getFloat64(a,!0)!==0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function es(n,e,t,r){return function(a){switch(a){case 6:{let o={};n.events.push(o);let s=Wd(o,e,r);t.pushParsers(a,B,s);break}default:t.pushParsers(a,B,B);break}}}function ts(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 16:n.schemeIdUri=F(t,e.buffer,a,o);break;case 17:n.value=F(t,e.buffer,a,o);break;case 27:n.timescale=s.getFloat64(a,!0);break;case 70:{let u={key:\"\",value:\"\"},d=a,f=s.getUint32(d);d+=4,u.key=F(t,e.buffer,d,f),d+=f;let l=s.getUint32(d);d+=4,u.value=F(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[u]:n.namespaces.push(u);break}}}}function Wd(n,e,t){let r=new TextDecoder;return function(a,o,s){let u=new DataView(e.buffer);switch(a){case 25:n.presentationTime=u.getFloat64(o,!0);break;case 1:n.duration=u.getFloat64(o,!0);break;case 0:n.id=F(r,e.buffer,o,s);break;case 69:{let d=u.getFloat64(o,!0),f=u.getFloat64(o+8,!0);n.eventStreamData=t.slice(d,f);break}}}}function kr(n,e,t,r){return function(a){switch(a){case 4:{let o={children:{baseURLs:[],representations:[]},attributes:{}};n.adaptations.push(o);let s=Zo(o.children,e,t),u=Jo(o.attributes,e);t.pushParsers(a,s,u);break}case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=B,u=ht(o,e);t.pushParsers(a,s,u);break}case 5:{let o={children:{events:[]},attributes:{}};n.eventStreams.push(o);let s=es(o.children,e,t,r),u=ts(o.attributes,e);t.pushParsers(a,s,u);break}case 16:{let o={};n.segmentTemplate=o,t.pushParsers(a,B,qt(o,e));break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,B,s);break}default:t.pushParsers(a,B,B);break}}}function Mr(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=F(t,e.buffer,a,o);break;case 45:n.start=new DataView(e.buffer).getFloat64(a,!0);break;case 1:n.duration=new DataView(e.buffer).getFloat64(a,!0);break;case 32:n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break;case 46:n.xlinkHref=F(t,e.buffer,a,o);break;case 47:n.xlinkActuate=F(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=new DataView(e.buffer).getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break;case 70:{let s={key:\"\",value:\"\"},u=new DataView(e.buffer),d=a,f=u.getUint32(d);d+=4,s.key=F(t,e.buffer,d,f),d+=f;let l=u.getUint32(d);d+=4,s.value=F(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[s]:n.namespaces.push(s);break}}}}function ns(n,e,t,r){return function(a){switch(a){case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=B,u=ht(o,e);t.pushParsers(a,s,u);break}case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=kr(o.children,e,t,r),u=Mr(o.attributes,e);t.pushParsers(a,s,u);break}case 3:{let o={};n.utcTimings.push(o);let s=B,u=Ve(o,e);t.pushParsers(a,s,u);break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,B,s);break}default:t.pushParsers(a,B,B);break}}}function rs(n,e,t){let r,i=new TextDecoder;return function(o,s,u){switch(o){case 0:e.id=F(i,t.buffer,s,u);break;case 2:e.profiles=F(i,t.buffer,s,u);break;case 33:e.type=F(i,t.buffer,s,u);break;case 34:{let d=F(i,t.buffer,s,u);e.availabilityStartTime=new Date(d).getTime()/1e3;break}case 35:{let d=F(i,t.buffer,s,u);e.availabilityEndTime=new Date(d).getTime()/1e3;break}case 36:{let d=F(i,t.buffer,s,u);e.publishTime=new Date(d).getTime()/1e3;break}case 68:r=new DataView(t.buffer),e.duration=r.getFloat64(s,!0);break;case 37:r=new DataView(t.buffer),e.minimumUpdatePeriod=r.getFloat64(s,!0);break;case 38:r=new DataView(t.buffer),e.minBufferTime=r.getFloat64(s,!0);break;case 39:r=new DataView(t.buffer),e.timeShiftBufferDepth=r.getFloat64(s,!0);break;case 40:r=new DataView(t.buffer),e.suggestedPresentationDelay=r.getFloat64(s,!0);break;case 41:r=new DataView(t.buffer),e.maxSegmentDuration=r.getFloat64(s,!0);break;case 42:r=new DataView(t.buffer),e.maxSubsegmentDuration=r.getFloat64(s,!0);break;case 66:{let d=F(i,t.buffer,s,u);n.locations.push(d);break}case 70:{let d={key:\"\",value:\"\"};r=new DataView(t.buffer);let f=s,l=r.getUint32(f);f+=4,d.key=F(i,t.buffer,f,l),f+=l;let c=r.getUint32(f);f+=4,d.value=F(i,t.buffer,f,c),e.namespaces===void 0?e.namespaces=[d]:e.namespaces.push(d);break}}}}function $i(n,e,t,r){return function(a){switch(a){case 1:{n.mpd={children:{baseURLs:[],locations:[],periods:[],utcTimings:[]},attributes:{}};let o=ns(n.mpd.children,e,t,r),s=rs(n.mpd.children,n.mpd.attributes,e);t.pushParsers(a,o,s);break}default:t.pushParsers(a,B,B);break}}}function is(n,e,t,r){return function(a){switch(a){case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=kr(o.children,e,t,r),u=Mr(o.attributes,e);t.pushParsers(a,s,u);break}default:t.pushParsers(a,B,B);break}}}var En=class{constructor(){this._currentNodeId=null,this.childrenParser=B,this.attributeParser=B,this._stack=[{nodeId:null,children:B,attribute:B}]}pushParsers(e,t,r){this._currentNodeId=e,this.childrenParser=t,this.attributeParser=r,this._stack.push({nodeId:e,attribute:r,children:t})}popIfCurrent(e){if(this._currentNodeId!==e)return;this._stack.pop();let{nodeId:t,children:r,attribute:i}=this._stack[this._stack.length-1];this._currentNodeId=t,this.attributeParser=i,this.childrenParser=r}reset(){this.childrenParser=B,this.attributeParser=B,this._stack=[{nodeId:null,children:B,attribute:B}]}};var Vd=15e3,_n=class{constructor(){this._parsersStack=new En,this._instance=null,this._mpdData=null,this._linearMemory=null,this.status=\"uninitialized\",this._initProm=null,this._warnings=[],this._isParsing=!1}waitForInitialization(){var e;return(e=this._initProm)!=null?e:Promise.reject(\"No initialization performed yet.\")}async initialize(e){if(this.status!==\"uninitialized\")return Promise.reject(new Error(\"DashWasmParser already initialized.\"));if(!this.isCompatible())return this.status=\"failure\",Promise.reject(new Error(\"Target not compatible with WebAssembly.\"));this.status=\"initializing\";let t=this._parsersStack,r=new TextDecoder,i=this,a={env:{memoryBase:0,tableBase:0,memory:new WebAssembly.Memory({initial:10}),table:new WebAssembly.Table({initial:1,element:\"anyfunc\"}),onTagOpen:d,onCustomEvent:c,onAttribute:l,readNext:g,onTagClose:f}},o=null,s;typeof e.wasmUrl==\"string\"?s=fetch(e.wasmUrl):(o=URL.createObjectURL(new Blob([e.wasmUrl],{type:\"application/wasm\"})),s=fetch(o));let u=typeof WebAssembly.instantiateStreaming==\"function\"?WebAssembly.instantiateStreaming(s,a):Promise.reject(\"`WebAssembly.instantiateStreaming` API not available\");return this._initProm=u.catch(async p=>{o!==null&&(URL.revokeObjectURL(o),o=null),m.warn(\"Unable to call `instantiateStreaming` on WASM\",p instanceof Error?p:\"\");let h=await s;if(h.status<200||h.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(h.status));let b=await h.arrayBuffer();return WebAssembly.instantiate(b,a)}).then(p=>{o!==null&&(URL.revokeObjectURL(o),o=null),this._instance=p,this._linearMemory=this._instance.instance.exports.memory,this.status=\"initialized\"}).catch(p=>{let h=p instanceof Error?p.toString():\"Unknown error\";throw m.warn(\"DW: Could not create DASH-WASM parser:\",h),this.status=\"failure\",p}),this._initProm;function d(p){return t.childrenParser(p)}function f(p){return t.popIfCurrent(p)}function l(p,h,b){return t.attributeParser(p,h,b)}function c(p,h,b){let y=i._linearMemory,E=new Uint8Array(y.buffer,h,b);if(p===1){let v=r.decode(E);m.warn(\"WASM Error Event:\",v),i._warnings.push(new Error(v))}else if(p===0){let v=r.decode(E);m.warn(\"WASM Log Event:\",v)}}function g(p,h){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let b=i._linearMemory,{mpd:y,cursor:E}=i._mpdData,v=Math.min(h,Vd,y.byteLength-E);return new Uint8Array(b.buffer,p,v).set(new Uint8Array(y,E,v)),i._mpdData.cursor+=v,v}}runWasmParser(e,t){let[r,i]=this._parseMpd(e);if(r===null)throw new Error(\"DASH Parser: Unknown error while parsing the MPD\");let a=vr(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return Ko&&typeof se.TextDecoder==\"function\"}_parseMpd(e){var s;if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={},r=this._linearMemory,i=$i(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,B),this._warnings=[];try{this._instance.instance.exports.parse()}catch(u){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,u}let a=(s=t.mpd)!=null?s:null,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_parseXlink(e){if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={periods:[]},r=this._linearMemory,i=is(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,B),this._warnings=[];try{this._instance.instance.exports.parse()}catch(s){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,s}let{periods:a}=t,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_processParserReturnValue(e){if(e.type===\"done\")return e;if(e.type===\"needs-clock\"){let t=r=>{if(r.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let i=e.value.continue(r[0].responseData);return this._processParserReturnValue(i)};return{type:\"needs-resources\",value:{urls:[e.value.url],format:\"string\",continue:t}}}else if(e.type===\"needs-xlinks\"){let t=r=>{let i=[];for(let o=0;o<r.length;o++){let{responseData:s,receivedTime:u,sendingTime:d,url:f}=r[o];if(!s.success)throw s.error;let[l,c]=this._parseXlink(s.data);i.push({url:f,receivedTime:u,sendingTime:d,parsed:l,warnings:c})}let a=e.value.continue(i);return this._processParserReturnValue(a)};return{type:\"needs-resources\",value:{urls:e.value.xlinksUrls,format:\"arraybuffer\",continue:t}}}else Fe(e)}};var as=_n;var xt=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function Or(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,a){var o;t.isCancelled()||((o=a==null?void 0:a.clearSignal)==null?void 0:o.isCancelled())===!0||r.onUpdate(i,{clearSignal:a==null?void 0:a.clearSignal,emitCurrentValue:a==null?void 0:a.includeLastObservation})},deriveReadOnlyObserver(i){return Or(this,i,t)}}}var Rn=class{constructor(e,t,r,i){this._src=e,this._contentId=t,this._messageSender=r,this._cancelSignal=i}getCurrentTime(){}getReadyState(){}getIsPaused(){}getReference(){return this._src}setPlaybackRate(e){this._messageSender({type:\"update-playback-rate\",contentId:this._contentId,value:e})}getPlaybackRate(){}listen(e,t){var r;this._cancelSignal.isCancelled()||((r=t==null?void 0:t.clearSignal)==null?void 0:r.isCancelled())===!0||this._src.onUpdate(e,{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:t==null?void 0:t.includeLastObservation})}deriveReadOnlyObserver(e){return Or(this,e,this._cancelSignal)}};function at(n,e){if(e.length===0)return n;let t,r=\"\",i=n.indexOf(\"#\"),a=n;i>=0&&(r=n.substring(i),a=n.substring(0,i));let o=a.indexOf(\"?\");o===-1?t=\"?\":o+1===a.length?t=\"\":t=\"&\";let s=a+t;for(let u=0;u<e.length;u++){let d=e[u];d[1]===null?s+=d[0]:s+=`${d[0]}=${d[1]}`,u<e.length-1&&(s+=\"&\")}return r.length>0&&(s+=r),s}function Xi(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-U(),u=!1,c={reject:h=>{var v,_;if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h,y=(v=b==null?void 0:b.message)!=null?v:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",E=new Ke(y,(_=b==null?void 0:b.canRetry)!=null?_:!1,b==null?void 0:b.xhr);o(E)},resolve:h=>{if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h.receivingTime!==void 0?h.receivingTime-s:void 0,y=h.sendingTime!==void 0?h.sendingTime-s:void 0;a({responseData:h.data,size:h.size,requestDuration:h.duration,url:h.url,receivedTime:b,sendingTime:y})},fallback:()=>{u||i.isCancelled()||(u=!0,i.deregister(p),e(t,r,i).then(a,o))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},c);i.register(p);function p(h){u||(u=!0,typeof g==\"function\"&&g(),o(h))}})}function qd(n){return function(t,r,i){var s,u;if(t===void 0)throw new Error(\"Cannot perform HTTP(s) request. URL not known\");let a=((s=r.cmcdPayload)==null?void 0:s.type)===\"query\"?at(t,r.cmcdPayload.value):t,o=((u=r.cmcdPayload)==null?void 0:u.type)===\"headers\"?r.cmcdPayload.value:void 0;switch(n){case\"arraybuffer\":return pe({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return pe({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return pe({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Fe(n)}}}function Zi({customManifestLoader:n},e,t){let r=qd(e),i=typeof n!=\"function\"?r:Xi(n,r);return t!==null?t(i):i}function Ji(n,e){if(e){if(Ye(n,1718909296)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(Ye(n,1836019574)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(Ye(n,1836019558)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(Ye(n,1835295092)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function qe(n,e){if(n===\"audio\"||n===\"video\")return e===\"video/mp4\"||e===\"audio/mp4\"?\"mp4\":e===\"video/webm\"||e===\"audio/webm\"?\"webm\":void 0;if(n===\"text\")return e===\"application/mp4\"?\"mp4\":void 0}function wr(n){return(e,t,r,i,a)=>{return new Promise((s,u)=>{let d=new W,f=d.linkToSignal(i);d.signal.register(u),n(e,t,r,d.signal,ie(Z({},a),{onNewChunk(c){try{o(c),a.onNewChunk(c)}catch(g){l(),d.cancel(),u(g)}}})).then(c=>{if(l(),!d.isUsed()){if(c.resultType===\"segment-loaded\")try{o(c.resultData.responseData)}catch(g){u(g);return}s(c)}},c=>{l(),u(c)});function l(){d.signal.deregister(u),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||qe(t.type,t.mimeType)!==\"mp4\"||Ji(new Uint8Array(s),t.segment.isInit)}}}function os(n){return async(e,t,r)=>{let i=await n(e,t,r);return a(i.responseData),i;function a(o){if(typeof o==\"string\"){let s=o.length-1,u=[\"</\",\"MPD\",\">\"];for(let d=u.length-1;d>=0;d--){let f=u[d];for(;Hd(o[s]);)s--;for(let l=f.length-1;l>=0;l--){if(o[s]!==f[l])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(o instanceof ArrayBuffer){let s=o.byteLength-1,u=new DataView(o),d=[[60,47],[77,80,68],[62]];for(let f=d.length-1;f>=0;f--){let l=d[f];for(;Gd(u.getUint8(s));)s--;for(let c=l.length-1;c>=0;c--){if(u.getUint8(s)!==l[c])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(!P(se.Document)&&o instanceof se.Document&&o.documentElement.nodeName!==\"MPD\")throw new Ie(\"INTEGRITY_ERROR\",\"MPD does not end with </MPD>\")}}}function Hd(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function Gd(n){return n===32||n===9||n===13||n===10}function ea(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,a,o,s,u){var E;let{responseData:d}=i,f=a.externalClockOffset,l=(E=i.url)!=null?E:a.originalUrl,c=t!=null?t:f,p={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:c},h=ke.dashParsers;if(h.wasm===null||h.wasm.status===\"uninitialized\"||h.wasm.status===\"failure\")return m.debug(\"DASH: WASM MPD Parser not initialized. Running JS one.\"),b();{let v=$d(d);if(!Xd(v))return m.info(\"DASH: MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),b();if(h.wasm.status===\"initialized\"){m.debug(\"DASH: Running WASM MPD Parser.\");let _=h.wasm.runWasmParser(v,p);return y(_)}else return m.debug(\"DASH: Awaiting WASM initialization before parsing the MPD.\"),h.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(h.wasm===null||h.wasm.status!==\"initialized\")return m.warn(\"DASH: WASM MPD parser initialization failed. Running JS parser instead\"),b();m.debug(\"DASH: Running WASM MPD Parser.\");let C=h.wasm.runWasmParser(v,p);return y(C)})}function b(){if(h.fastJs!==null){let v=Yd(d),_=h.fastJs(v,p);return y(_)}else if(h.native!==null){let v=Qd(d),_=h.native(v,p);return y(_)}else throw new Error(\"No MPD parser is imported\")}function y(v){if(v.type===\"done\"){if(v.value.warnings.length>0&&o(v.value.warnings),s.isCancelled())return Promise.reject(s.cancellationError);let R=[];return{manifest:new Lt(v.value.parsed,n,R),url:l,warnings:R}}let{value:_}=v,C=_.urls.map(R=>u(()=>{let k=z.getCurrent().DEFAULT_REQUEST_TIMEOUT,A=z.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return _.format===\"string\"?pe({url:R,responseType:\"text\",timeout:k,connectionTimeout:A,cancelSignal:s}):pe({url:R,responseType:\"arraybuffer\",timeout:k,connectionTimeout:A,cancelSignal:s})}).then(k=>{if(_.format===\"string\"){if(typeof k.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return q(k,{responseData:{success:!0,data:k.responseData}})}else{if(!(k.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return q(k,{responseData:{success:!0,data:k.responseData}})}},k=>{let A=be(k,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return q({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:A}})}));return Promise.all(C).then(R=>_.format===\"string\"?(Kd(R),y(_.continue(R))):(jd(R),y(_.continue(R))))}}}function Kd(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data==\"string\")&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function jd(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function Yd(n){if(n instanceof ArrayBuffer)return De(new Uint8Array(n));if(typeof n==\"string\")return n;if(n instanceof Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function Qd(n){if(n instanceof ArrayBuffer)return new DOMParser().parseFromString(De(new Uint8Array(n)),\"text/xml\");if(typeof n==\"string\")return new DOMParser().parseFromString(n,\"text/xml\");if(n instanceof Document)return n;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function $d(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return rn(n).buffer;if(n instanceof Document)return rn(n.documentElement.innerHTML).buffer;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function Xd(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function $e([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Pn(n,e){return n===null?null:e.url===null?n.baseUrl:bn(n.baseUrl,e.url)}function vn(n,e,t,r,i){var d,f;let a=n;((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"&&(a=at(a,t.cmcdPayload.value));let o=((f=t.cmcdPayload)==null?void 0:f.type)===\"headers\"?t.cmcdPayload.value:void 0;if(e.range===void 0)return pe({url:a,responseType:\"arraybuffer\",headers:o,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.indexRange===void 0)return pe({url:a,headers:ie(Z({},o),{Range:$e(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.range[1]+1===e.indexRange[0])return pe({url:a,headers:ie(Z({},o),{Range:$e([e.range[0],e.indexRange[1]])}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));let s=pe({url:a,headers:ie(Z({},o),{Range:$e(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),u=pe({url:a,headers:ie(Z({},o),{Range:$e(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,u]).then(([l,c])=>{let g=Et(new Uint8Array(l.responseData),new Uint8Array(c.responseData)),p=Math.min(l.sendingTime,c.sendingTime),h=Math.max(l.receivedTime,c.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+c.size,requestDuration:h-p,sendingTime:p,receivedTime:h}}})}async function Cn(n,e,t,r){let i=null;function a(s){let u=new Uint8Array(s.chunk),d=i!==null?Et(i,u):u,f=gr(d),l=f[0];i=f[1],!(l!==null&&(l.forEach(c=>{t.onNewChunk(c)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await ur({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function ss(n,e,t,r,i,a){var c,g;if(e.segment.isInit)return vn(n,e.segment,r,a,i);let o=((c=r.cmcdPayload)==null?void 0:c.type)===\"query\"?at(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)===\"headers\"?r.cmcdPayload.value:void 0,{segment:u}=e,d;u.range!==void 0?d=ie(Z({},s),{Range:$e(u.range)}):s!==void 0&&(d=s);let f=qe(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(Jt())return Cn(o,{headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);Ze(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}return{resultType:\"segment-loaded\",resultData:await pe({url:o,responseType:\"arraybuffer\",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function ta({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:wr(r);function r(i,a,o,s,u){let d=Pn(i,a.segment);return d===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?ss(d,a,n,o,u,s):new Promise((f,l)=>{let c=!1,y={reject:R=>{var x,O;if(c||s.isCancelled())return;c=!0,s.deregister(C);let k=R,A=(x=k==null?void 0:k.message)!=null?x:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",T=new Ke(A,(O=k==null?void 0:k.canRetry)!=null?O:!1,k==null?void 0:k.xhr);l(T)},resolve:R=>{c||s.isCancelled()||(c=!0,s.deregister(C),f({resultType:\"segment-loaded\",resultData:{responseData:R.data,size:R.size,requestDuration:R.duration}}))},progress:R=>{c||s.isCancelled()||u.onProgress({duration:R.duration,size:R.size,totalSize:R.totalSize})},fallback:()=>{c||s.isCancelled()||(c=!0,s.deregister(C),ss(d,a,n,o,u,s).then(f,l))}},E;a.segment.range!==void 0&&(E=[a.segment.range],a.segment.indexRange!==void 0&&E.push(a.segment.indexRange));let v={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:E,trackType:a.type,url:d,cmcdPayload:o.cmcdPayload},_=e(v,y);s.register(C);function C(R){c||(c=!0,typeof _==\"function\"&&_(),l(R))}})}}var ra=408125543,us=357149030,Zd=2807729,Jd=17545,el=475249515,tl=187,nl=179,rl=183,il=241;function bt(n,e,t,[r,i]){let a=r;for(;a<i;){let o=ol(t,a);if(o===null)return null;let{value:s,length:u}=o,d=a+u,f=sl(t,d);if(f===null)return null;let{length:l,value:c}=f,g=d+l,p=g+c;if(s===n)return[g,p];if(e.length>0){for(let h=0;h<e.length;h++)if(s===e[h]){let b=e.slice(h+1,e.length);return bt(n,b,t,[g,p])}}a=p}return null}function Dr(n,e){let t=bt(Zd,[ra,us],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/na(n,t[0],r)}function al(n,e){let t=bt(Jd,[ra,us],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?ul(n,t[0]):r===8?dl(n,t[0]):null}function ia(n,e){let t=bt(ra,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,a=Dr(n,r);if(a===null)return null;let o=al(n,r);if(o===null)return null;let s=bt(el,[],n,[r,i]);if(s===null)return null;let u=[],d=s[0];for(;d<s[1];){let l=bt(tl,[],n,[d,s[1]]);if(l===null)break;let c=bt(nl,[],n,[l[0],l[1]]);if(c===null)return null;let g=na(n,c[0],c[1]-c[0]),p=bt(il,[rl],n,[l[0],l[1]]);if(p===null)return null;let h=na(n,p[0],p[1]-p[0])+r;u.push({time:g,rangeStart:h}),d=l[1]}let f=[];for(let l=0;l<u.length;l++){let c=u[l];l===u.length-1?f.push({time:c.time,timescale:a,duration:l===0?o:o-c.time,range:[c.rangeStart,1/0]}):f.push({time:c.time,timescale:a,duration:u[l+1].time-c.time,range:[c.rangeStart,u[l+1].rangeStart-1]})}return f}function ds(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function ol(n,e){let t=ds(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function sl(n,e){let t=ds(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function ul(n,e){return new DataView(n.buffer).getFloat32(e)}function dl(n,e){return new DataView(n.buffer).getFloat64(e)}function na(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function An(n,e,t,r){let i=mi(n);if(i===void 0||r===void 0)return null;let a=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,o=pi(n);if(a<0&&(o!==void 0&&(o+=a),a=0),e||!t.complete)return o===void 0&&m.warn(\"DASH: Chunked segments should indicate a duration through their trun boxes\"),{time:a/r,duration:o!==void 0?o/r:void 0};let s,u=t.duration*r,d=Math.min(r*.9,u/4);return o!==void 0&&Math.abs(o-u)<=d&&(s=o),{time:a/r,duration:s!==void 0?s/r:s}}function ll(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],a=e,{messageData:o}=i,s=De(o),u=Date.parse(s);if(a===void 0||u===void 0||isNaN(u)||u>=a)return!0}return!1}function aa(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((o,s)=>(s.schemeIdUri===\"urn:mpeg:dash:event:2012\"&&s.value===\"1\"?(o.manifestRefreshEventsFromEMSGs===void 0&&(o.manifestRefreshEventsFromEMSGs=[]),o.manifestRefreshEventsFromEMSGs.push(s)):(o.EMSGs===void 0&&(o.EMSGs=[]),o.EMSGs.push(s)),o),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(o=>({type:\"emsg\",value:o})),a=e===void 0||t===void 0?!1:ll(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function oa({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var v,_;let{segment:a,periodStart:o,periodEnd:s}=r,{data:u,isChunked:d}=t,f=[o,s];if(u===null)return a.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:f};let l=u instanceof Uint8Array?u:new Uint8Array(u),c=qe(r.type,r.mimeType),g=c===\"mp4\"||c===void 0,p=[];if(g){let C=hr(l),R;a.isInit&&(R=(v=po(l))!=null?v:void 0),(C.length>0||R!==void 0)&&p.push({initDataType:\"cenc\",keyId:R,initData:C})}if(!a.isInit){let C=g?An(l,d,a,i):null,R=(_=a.timestampOffset)!=null?_:0;if(g){let k=mo(l);if(k!==void 0){let A=k.filter(x=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(x)),T=aa(A,r.manifestPublishTime);if(T!==void 0){let{needsManifestRefresh:x,inbandEvents:O}=T;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,appendWindow:f,inbandEvents:O,protectionData:p,needsManifestRefresh:x}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,protectionData:p,appendWindow:f}}let{indexRange:h}=a,b;if(c===\"webm\")b=ia(l,0);else if(g&&(b=on(l,Array.isArray(h)?h[0]:0),n===!0&&b!==null&&b.length>0)){let C=b[b.length-1];Array.isArray(C.range)&&(C.range[1]=1/0)}let y;g?y=sn(l):c===\"webm\"&&(y=Dr(l,0));let E=P(y)?void 0:y;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:E,segmentList:b!=null?b:void 0}}}function sa({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:wr(t);async function t(r,i,a,o,s){var b,y;let{segment:u}=i,d=Pn(r,u);if(d===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(u.isInit)return vn(d,u,a,o,s);let f=((b=a.cmcdPayload)==null?void 0:b.type)===\"query\"?at(d,a.cmcdPayload.value):d,l=((y=a.cmcdPayload)==null?void 0:y.type)===\"headers\"?a.cmcdPayload.value:void 0,c;u.range!==void 0?c=ie(Z({},l),{Range:$e(u.range)}):l!==void 0&&(c=l);let g=qe(i.type,i.mimeType),p=g===\"mp4\"||g===void 0;if(n&&p){if(Jt())return Cn(f,{headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);Ze(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}let h;return p?h=await pe({url:f,responseType:\"arraybuffer\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):h=await pe({url:f,responseType:\"text\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:h}}}function fl(n){let e=fi(n);return e===null?\"\":De(e)}function cl(n){if(n===void 0)throw new Error(\"Cannot parse subtitles: unknown format\");switch(n.toLowerCase()){case\"stpp\":case\"stpp.ttml.im1t\":return\"ttml\";case\"wvtt\":return\"vtt\"}throw new Error(`The codec used for the subtitles \"${n}\" is not managed yet.`)}function ml(n,e){switch(e){case\"application/ttml+xml\":return\"ttml\";case\"application/x-sami\":case\"application/smil\":return\"sami\";case\"text/vtt\":return\"vtt\"}if(n!==void 0&&n.toLowerCase()===\"srt\")return\"srt\";throw new Error(`could not find a text-track parser for the type ${e!=null?e:\"\"}`)}function ls({segment:n,language:e,codecs:t},r,i,a){if(n.isInit)return null;let o,s;i===null?a?(o=n.time,s=n.end):m.warn(\"Transport: Unavailable time data for current text track.\"):(o=i.time,i.duration!==void 0?s=o+i.duration:!a&&n.complete&&(s=o+n.duration));let u=cl(t);return{data:fl(r),type:u,language:e,start:o,end:s}}function fs(n,e,t){let{segment:r}=n;if(r.isInit)return null;let i,a;t?m.warn(\"Transport: Unavailable time data for current text track.\"):(i=r.time,r.complete&&(a=r.time+r.duration));let o=ml(n.codecs,n.mimeType);return{data:e,type:o,language:n.language,start:i,end:a}}function pl(n,e,t,r,i){var c;let{segment:a}=t,{isInit:o,indexRange:s}=a,u;if(typeof n==\"string\"?u=rn(n):n instanceof Uint8Array?u=n:u=new Uint8Array(n),o){let g=on(u,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let h=g[g.length-1];Array.isArray(h.range)&&(h.range[1]=1/0)}let p=sn(u);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let d=An(u,e,a,r),f=ls(t,u,d,e),l=(c=a.timestampOffset)!=null?c:0;return{segmentType:\"media\",chunkData:f,chunkSize:u.length,chunkInfos:d,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function gl(n,e,t){let{periodStart:r,periodEnd:i,segment:a}=t,{timestampOffset:o=0}=a;if(a.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let s,u;if(typeof n!=\"string\"){let f=n instanceof Uint8Array?n:new Uint8Array(n);s=De(f),u=f.length}else s=n;return{segmentType:\"media\",chunkData:fs(t,s,e),chunkSize:u,chunkInfos:null,chunkOffset:o,protectionData:[],appendWindow:[r,i]}}function ua({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:a,periodEnd:o,segment:s}=r,{data:u,isChunked:d}=t;if(u===null)return s.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[a,o]};let f=qe(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?pl(u,d,r,i,n):gl(u,d,r)}}function cs(n){let e=Zi({customManifestLoader:n.manifestLoader},hl()?\"text\":\"arraybuffer\",n.checkManifestIntegrity===!0?os:null),t=ea(n),r=ta(n),i=oa(n),a=sa(n),o=ua(n);return{transportName:\"dash\",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:a,parseSegment:o}}}function hl(){return ke.dashParsers.wasm!==null&&(ke.dashParsers.wasm.status===\"initialized\"||ke.dashParsers.wasm.status===\"initializing\")}var ms=cs;var kt=typeof queueMicrotask==\"function\"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};var Mt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],a=!1;for(;!a&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),a=!0):t++;a||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return Y(this._array,e)}has(e){return ce(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var xn=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var Il=.016666666666666666;function ps(n,e){return Math.abs(n-e)<Il}function hs(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function bl(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Sl(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(bs(t,r)){let i=hs(t,r);n.splice(--e,2,i)}}return n}function da(n,e){return n.end<=e.start}function gs({start:n,end:e},t){return n<=t&&t<e}function Is(n,e){return gs(n,e.start)||n.start<e.end&&e.end<n.end||gs(e,n.start)}function bs(n,e){return ps(e.start,n.end)||ps(e.end,n.start)}function la(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function yl(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function Ss(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let a=n[i].start,o=n[i].end;e<a||e>=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function Br(n,e){let t=yl(n,e);return t!==null?t.end-e:1/0}function Ht(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],a=Is(t,i),o=bs(t,i);if(a||o)t=hs(t,i),n.splice(r--,1);else if(r===0){if(da(t,n[0]))break}else if(da(n[r-1],t)&&da(t,i))break}return n.splice(r,0,t),Sl(bl(n))}function Tl(n,e){let t=[];for(let r=0;r<e.length;r++)Is(n,e[r])&&t.push(e[r]);return t}function Nr(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],a=[],o=Tl(i,e);if(o.length>0)for(let s=0;s<o.length;s++){let u=o[s];a.push({start:Math.max(i.start,u.start),end:Math.min(i.end,u.end)})}if(a.length===0)t.push(i);else{let s=i.start;for(let u=0;u<a.length;u++)a[u].start>s&&t.push({start:s,end:a[u].start}),s=a[u].end;s<i.end&&t.push({start:s,end:i.end})}}return t}function Ur({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let a,o=[];e.listen(u=>{a=u.position.getWanted(),o=u.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){o!==null&&El(n,a,o,t.getValue(),r.getValue(),i).catch(u=>{let d=u instanceof Error?u.message:\"Unknown error\";m.error(\"Could not run BufferGarbageCollector:\",d)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i}),s()}async function El(n,e,t,r,i,a){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let o=[],{innerRange:s,outerRanges:u}=Ss(t,e),d=()=>{if(isFinite(r)){for(let l of u)e-r>=l.end?o.push(l):e>=l.end&&e-r>l.start&&e-r<l.end&&o.push({start:l.start,end:e-r});P(s)||e-r>s.start&&o.push({start:s.start,end:e-r})}},f=()=>{if(isFinite(i)){for(let l of u)e+i<=l.start?o.push(l):e<=l.start&&e+i<l.end&&e+i>l.start&&o.push({start:e+i,end:l.end});P(s)||e+i<s.end&&o.push({start:e+i,end:s.end})}};d(),f();for(let l of o)if(l.start<l.end){if(m.debug(\"GC: cleaning range from SegmentSink\",l.start,l.end),a.cancellationError!==null)throw a.cancellationError;await n.removeBuffer(l.start,l.end)}}var kn=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=U();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>Je(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var Mn=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=z.getCurrent();this._inventory=[],this._bufferedHistory=new kn(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var u,d,f,l,c,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=z.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(m.hasLevel(\"DEBUG\")){let h=e.map(b=>`${b.start}-${b.end}`).join(\",\");m.debug(`SI: synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,h)}let s=e.length;for(let h=0;h<s;h++){if(i===void 0)return;let b=e[h].start,y=e[h].end;if(y-b<a){m.warn(\"SI: skipped range when synchronizing because it was too small\",o,b,y);continue}let E=r;for(;i!==void 0&&((u=i.bufferedEnd)!=null?u:i.end)-b<a;)i=t[++r];let v=null,_=r-E;if(_>0){let R=t[E+_-1];v={end:(d=R.bufferedEnd)!=null?d:R.end,precizeEnd:R.precizeEnd},m.debug(`SI: ${_} segments GCed.`,o);let k=t.splice(E,_);for(let A of k)A.bufferedStart===void 0&&A.bufferedEnd===void 0&&A.status!==2&&this._bufferedHistory.addBufferedSegment(A.infos,null);r=E}if(i===void 0)return;if(y-((f=i.bufferedStart)!=null?f:i.start)>=a){if(_l(i,b,v,o),r===t.length-1){Ts(i,y,o);return}i=t[++r];let R=(l=i.bufferedStart)!=null?l:i.start,k=(c=i.bufferedEnd)!=null?c:i.end,A=h<s-1?e[h+1].start:void 0;for(;i!==void 0&&!(y<R||y-R<a&&k-y>=a||A!==void 0&&y-R<k-A);){let T=t[r-1];T.bufferedEnd===void 0&&(i.precizeStart?T.bufferedEnd=i.start:T.infos.segment.complete?T.bufferedEnd=T.end:T.bufferedEnd=i.start,m.debug(\"SI: calculating buffered end of contiguous segment\",o,T.bufferedEnd,T.end)),i.bufferedStart=T.bufferedEnd,i=t[++r],i!==void 0&&(R=(g=i.bufferedStart)!=null?g:i.start,k=(p=i.bufferedEnd)!=null?p:i.end)}}let C=t[r-1];C!==void 0&&Ts(C,y,o)}if(!P(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:h}=z.getCurrent(),b=U();for(let y=r;y<t.length;y++){let E=t[y];b-E.insertionTs>=h&&(m.debug(\"SI: A segment at the end has been completely GCed\",o,`${E.start}-${E.end}`),E.bufferedStart===void 0&&E.bufferedEnd===void 0&&E.status!==2&&this._bufferedHistory.addBufferedSegment(E.infos,null),t.splice(y,1),y--)}}o!==void 0&&m.hasLevel(\"DEBUG\")&&m.debug(`SI: current ${o} inventory timeline:\n`+Rl(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:a,start:o,end:s},u,d){if(i.isInit)return;let f=t.type;if(o>=s){m.warn(\"SI: Invalid chunked inserted: starts before it ends\",f,o,s);return}let l=this._inventory,c={status:u?0:2,insertionTs:d,chunkSize:a,splitted:!1,start:o,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let p=l.length-1;p>=0;p--){let h=l[p];if(h.start<=o)if(h.end<=o){for(m.debug(\"SI: Pushing segment strictly after previous one.\",f,o,h.end),this._inventory.splice(p+1,0,c),p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else if(h.start===o)if(h.end<=s){for(m.debug(\"SI: Segment pushed replace another one\",f,o,s,h.end),this._inventory.splice(p,1,c),p+=1;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.debug(\"SI: Segment pushed ends before another with the same start\",f,o,s,h.end),l.splice(p,0,c),h.start=c.end,h.bufferedStart=void 0,h.precizeStart=h.precizeStart&&c.precizeEnd;return}else if(h.end<=c.end){for(m.debug(\"SI: Segment pushed updates end of previous one\",f,o,s,h.start,h.end),this._inventory.splice(p+1,0,c),h.end=c.start,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.warn(\"SI: Segment pushed is contained in a previous one\",f,o,s,h.start,h.end);let b={status:h.status,insertionTs:h.insertionTs,chunkSize:h.chunkSize,splitted:!0,start:c.end,end:h.end,precizeStart:h.precizeStart&&h.precizeEnd&&c.precizeEnd,precizeEnd:h.precizeEnd,bufferedStart:void 0,bufferedEnd:h.end,infos:h.infos};h.end=c.start,h.splitted=!0,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,l.splice(p+1,0,c),l.splice(p+2,0,b);return}}let g=this._inventory[0];if(g===void 0){m.debug(\"SI: first segment pushed\",f,o,s),this._inventory.push(c);return}if(g.start>=s)m.debug(\"SI: Segment pushed comes before all previous ones\",f,o,s,g.start),this._inventory.splice(0,0,c);else if(g.end<=s){for(m.debug(\"SI: Segment pushed starts before and completely recovers the previous first one\",f,o,s,g.start,g.end),this._inventory.splice(0,1,c);l.length>1&&l[1].start<c.end;){if(l[1].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[1].start),l[1].start=c.end,l[1].bufferedStart=void 0,l[1].precizeStart=c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[1].start,l[1].end),l.splice(1,1)}return}else{m.debug(\"SI: Segment pushed start of the next one\",f,o,s,g.start,g.end),g.start=s,g.bufferedStart=void 0,g.precizeStart=c.precizeEnd,this._inventory.splice(0,0,c);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(Je(t[i].infos,e)){let a=!1;r.length>0&&(a=!0,r.length===1&&(m.warn(\"SI: Completed Segment is splitted.\",e.segment.id,e.segment.time,e.segment.end),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i<t.length&&Je(t[i].infos,e);){let c=t[i].chunkSize;s!==void 0&&c!==void 0&&(s+=c),i++}let u=i-1,d=u-o,f=t[u].end,l=t[u].bufferedEnd;d>0&&(this._inventory.splice(o+1,d),i-=d),this._inventory[o].status===0&&(this._inventory[o].status=1),this._inventory[o].chunkSize=s,this._inventory[o].end=f,this._inventory[o].bufferedEnd=l,this._inventory[o].splitted=a,r.push(this._inventory[o])}if(r.length===0)m.warn(\"SI: Completed Segment not found\",e.segment.id,e.segment.time);else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):m.debug(\"SI: buffered range not known after sync. Skipping history.\",i.start,i.end)}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function fa(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=z.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3))}function ys(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=z.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3)}function _l(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:a,SEGMENT_SYNCHRONIZATION_DELAY:o}=z.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(m.debug(\"SI: Segment partially GCed at the start\",r,n.bufferedStart,e),n.bufferedStart=e),!n.precizeStart&&fa(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)m.debug(\"SI: buffered start is precize start\",r,n.start),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))m.debug(\"SI: buffered start is end of previous segment\",r,e,n.start,t.end),n.bufferedStart=t.end,fa(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=U();if(n.start-e>=a&&s-n.insertionTs<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: found true buffered start\",r,e,n.start),n.bufferedStart=e,fa(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)m.debug(\"SI: range start too far from expected start\",r,e,n.start),n.bufferedStart=n.start;else{let s=U();if(n.start-e>=a&&s-n.insertionTs<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the start\",r,e,n.start),n.bufferedStart=e}}function Ts(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:a}=z.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(m.debug(\"SI: Segment partially GCed at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&ys(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)m.debug(\"SI: buffered end is precize end\",t,n.end),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let o=U();if(e-n.end>=i&&o-n.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: found true buffered end\",t,e,n.end),n.bufferedEnd=e,ys(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)m.debug(\"SI: range end too far from expected end\",t,e,n.end),n.bufferedEnd=n.end;else{let o=U();if(e-n.end>=i&&o-n.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e}}function Rl(n){let e=.016666666666666666,t={},r=[],i=null,a=null;function o(u){let d=String.fromCharCode(r.length+65);return r.push({letter:d,periodId:u.period.id,representationId:u.representation.id,bitrate:u.representation.bitrate}),d}let s=\"\";for(let u of n)if(u.bufferedStart!==void 0&&u.bufferedEnd!==void 0){let d=u.infos.period.id,f=u.infos.representation.id,l=t[d],c;if(l===void 0)c=o(u.infos),t[d]={[f]:c};else{let g=l[f];g===void 0?(c=o(u.infos),l[f]=c):c=g}i===null?s+=`${u.bufferedStart.toFixed(2)}|${c}|`:a===c?i.bufferedEnd+e<u.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`,i=u,a=c}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(u=>{var d;s+=`\n[${u.letter}] P: ${u.periodId} || R: ${u.representationId}(${(d=u.bitrate)!=null?d:\"unknown bitrate\"})`}),s}function Gt(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Kt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var Es=Mn;var jt=class{constructor(){this._segmentInventory=new Es}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var On=class extends jt{constructor(e,t,r){super(),m.info(\"AVSB: calling `mediaSource.addSourceBuffer`\",t);let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){_s(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){_s(e.data.chunk),m.debug(\"AVSB: receiving order to push data to the SourceBuffer\",this.bufferType,_t(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(o=>{let{codec:s,timestampOffset:u,appendWindow:d}=e.data;return m.debug(\"AVSB: pushing segment\",this.bufferType,_t(e.inventoryInfos)),this._sourceBuffer.appendBuffer(o,{codec:s,timestampOffset:u,appendWindow:d})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(o){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,U()),o}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,U());let a=i[i.length-1];return this._segmentInventory.synchronizeBuffered(a),a}async removeBuffer(e,t){m.debug(\"AVSB: receiving order to remove data from the SourceBuffer\",this.bufferType,e,t);let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){try{m.debug(\"AVSB: Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose()}catch(e){m.debug(`AVSB: Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:\"\")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error(\"Invalid initialization segment uniqueId\");let i=new ArrayBuffer(r.byteLength),a=new Uint8Array(i);a.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=a,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function _s(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error(\"Invalid data given to the AudioVideoSegmentSink\")}var Fr=On;var wn=class extends jt{constructor(e){m.debug(\"HTSB: Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){m.warn(\"HTSB: Declaring initialization segment for Text SegmentSink\",e)}freeInitSegment(e){m.warn(\"HTSB: Freeing initialization segment for Text SegmentSink\",e)}async pushChunk(e){let{data:t}=e;vl(t.chunk);let r=this._sender.pushTextData(ie(Z({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,U()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){m.debug(\"HTSB: Disposing TextSegmentSink\"),this._sender.reset()}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function vl(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n===null||typeof n.data!=\"string\"||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\"))throw new Error(\"Invalid format given to a TextSegmentSink\")}I.CURRENT_ENV===I.DEV&&(Cl=function(e){function t(r){}});var Cl;var Rs=wn;var Al=[\"audio\",\"video\",\"text\"],Dn=class n{static isNative(e){return Ps(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push(\"text\"),e}getNativeBufferTypes(){return this._hasVideo?[\"video\",\"audio\"]:[\"audio\"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:\"uninitialized\"}:t===null?{type:\"disabled\"}:{type:\"initialized\",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():Tt(e,t=>{let r=B,i=()=>{let a=this._onNativeBufferAddedOrDisabled.indexOf(r);a>=0&&this._onNativeBufferAddedOrDisabled.splice(a,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){m.warn(`SBS: The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error(\"Cannot disable an active SegmentSink.\");this._initializedSegmentSinks[e]=null,n.isNative(e)&&(this._onNativeBufferAddedOrDisabled.slice().forEach(r=>r()),ue(this._onNativeBufferAddedOrDisabled.length===0))}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(Ps(e)){if(!P(r))return r instanceof Fr&&r.codec!==t?m.warn(\"SB: Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):m.info(\"SB: Reusing native SegmentSink with codec\",t),r;m.info(\"SB: Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new Fr(a,t,this._mediaSource);return this._initializedSegmentSinks[e]=o,this._onNativeBufferAddedOrDisabled.slice().forEach(s=>s()),ue(this._onNativeBufferAddedOrDisabled.length===0),o}if(!P(r))return m.info(\"SB: Reusing a previous custom SegmentSink for the type\",e),r;let i;if(e===\"text\"){if(m.info(\"SB: Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new Rs(this._textInterface),this._initializedSegmentSinks.text=i,i}throw m.error(\"SB: Unknown buffer type:\",e),new $(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(P(t)){m.warn(\"SB: Trying to dispose a SegmentSink that does not exist\");return}m.info(\"SB: Aborting SegmentSink\",e),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){Al.forEach(e=>{this.getStatus(e).type===\"initialized\"&&this.disposeSegmentSink(e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var t,r;return{bufferType:e,codec:(t=this._initializedSegmentSinks[e])==null?void 0:t.codec,segmentInventory:(r=this._initializedSegmentSinks[e])==null?void 0:r.getLastKnownInventory().map(i=>ie(Z({},i),{infos:xl(i.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function Ps(n){return n===\"audio\"||n===\"video\"}function xl(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var St=Dn;function ca(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,u=kl(i,e);if(u===null){if(t===null){if(r&&a.end!==void 0&&e.end>=a.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let d=i[u];if(d.bufferedStart!==void 0&&d.bufferedStart>e.start&&(t===null||d.infos.segment.end<=t)){let l=d.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(m.debug(\"RS: current discontinuity encountered\",o.type,d.bufferedStart),{start:void 0,end:l})}let f=Ml(i,e,u+1);if(f!==null){let l=i[f-1],c=i[f];if(t===null||c.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,c.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=c.bufferedStart;return m.debug(\"RS: future discontinuity encountered\",o.type,g,p),{start:g,end:p}}}if(t===null){if(r&&a.end!==void 0){if(e.end<a.end)return null;let l=Ol(i,a.end);if(l!==null){let c=i[l];if(c.bufferedEnd!==void 0&&c.bufferedEnd<a.end)return m.debug(\"RS: discontinuity encountered at the end of the current period\",o.type,c.bufferedEnd,a.end),{start:c.bufferedEnd,end:null}}}if(a.end!==void 0&&e.end>=a.end)return null;for(let l=i.length-1;l>=0;l--){let c=i[l];if(c.bufferedStart===void 0)break;if(c.bufferedStart<e.end){if(c.bufferedEnd!==void 0&&c.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:c.bufferedEnd,end:g}}return null}}}return null}function kl(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Ml(n,e,t){if(t<=0)return m.error(\"RS: Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r<n.length;r++){let i=n[r],a=n[r-1];if(i.bufferedStart===void 0||a.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function Ol(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart<e)return t}return null}function ma({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:a,segmentsBeingPushed:o,maxBufferSize:s}){let{adaptation:u,representation:d}=e,f=wl(n,o,s),l=d.index.getSegments(a.start,a.end-a.start),c=n.filter(C=>!vs(C.infos,e,t,r)),g=zl(c,a,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:h}=z.getCurrent(),b=!1,y=Math.min(1/60,p),E=!1,v=[];return{segmentsToLoad:l.filter(C=>{let R=q({segment:C},e);if(o.length>0&&o.some(w=>Je(R,w)))return!1;let{duration:k,time:A,end:T}=C;if(C.isInit)return!0;if(b)return v.push(C),!1;if(C.complete&&k<p||o.length>0&&o.some(w=>{if(w.period.id!==e.period.id||w.adaptation.id!==e.adaptation.id)return!1;let{segment:M}=w;if(M.time-y>A)return!1;if(M.complete){if(M.end+y<T)return!1}else if(Math.abs(A-M.time)>A)return!1;return!vs(w,R,t,r)}))return!1;for(let D of g){let w=D.infos.period.id===e.period.id;if(D.status===1&&w){let M=D.infos.segment;if(A-M.time>-y){if(M.complete){if(M.end-T>-y)return!1}else if(Math.abs(A-M.time)<y)return!1}}}let x=k*e.representation.bitrate;if(f-x<0&&(E=!0,A>a.start+h))return b=!0,v.push(C),!1;let O=i(R);if(O.length>1){let D=O[O.length-1],w=O[O.length-2];if(D.buffered===null&&w.buffered===null)return m.warn(\"Stream: Segment GCed multiple times in a row, ignoring it.\",\"If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering.\"+u.type,d.id,C.time),!1}for(let D=0;D<g.length;D++){let w=g[D];if(w.end+y>A){let M=w.start>A+y||Dl(g,D).end<T-y;return M&&(f-=x),M}}return f-=x,!0}),segmentsOnHold:v,isBufferFull:E}}function wl(n,e,t){let r=t*8e3;return r-=e.reduce((i,a)=>{let{bitrate:o}=a.representation,{duration:s}=a.segment;return i+o*s},0),n.reduce((i,a)=>a.chunkSize!==void 0?i-a.chunkSize*8:i,r)}function Dl(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=z.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function vs(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=z.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:Bl(n.representation,e.representation,r)}function Bl(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=z.getCurrent();if(t===void 0){let a=r*i;return e.bitrate>a}return r<t&&e.bitrate>r}function Nl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=z.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(m.info(\"Stream: The start of the wanted segment has been garbage collected\",n.start,n.bufferedStart),!0):!1}function Ul(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=z.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(m.info(\"Stream: The end of the wanted segment has been garbage collected\",n.end,n.bufferedEnd),!0):!1}function Ll(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.start;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function Fl(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.end;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function zl(n,e,t){return n.filter((r,i,a)=>{let o=i===0?null:a[i-1],s=i>=a.length-1?null:a[i+1],u=null;if(Nl(r,o,e.start)){if(u=t(r.infos),Ll(u,r.bufferedStart))return!1;m.debug(\"Stream: skipping segment gc-ed at the start\",r.start,r.bufferedStart)}if(Ul(r,s,e.end)){if(u=u!=null?u:t(r.infos),Fl(u,r.bufferedEnd))return!1;m.debug(\"Stream: skipping segment gc-ed at the end\",r.end,r.bufferedEnd)}return!0})}function Bn(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=z.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function pa(n,e,t,r,i,a,o){var A,T,x;let{representation:s}=n,u=(T=(A=t.getIsPaused())!=null?A:t.getReference().getValue().paused.pending)!=null?T:t.getReference().getValue().paused.last,d=(x=t.getPlaybackRate())!=null?x:t.getReference().getValue().speed,f=e;(u===void 0||d===void 0||u||d<=0)&&(f-=.1);let l=Wl(n,f,i),c=s.index.shouldRefresh(l.start,l.end),g=o.getPendingOperations().filter(O=>O.type===2).map(O=>O.value),p=o.getLastKnownInventory(),h=t.getCurrentTime();h===void 0&&(h=t.getReference().getValue().position.getWanted());let b=o.getSegmentHistory.bind(o),{segmentsToLoad:y,segmentsOnHold:E,isBufferFull:v}=ma({content:n,bufferedSegments:p,currentPlaybackTime:h,fastSwitchThreshold:r,getBufferedHistory:b,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),_=y.map(O=>({priority:Bn(O.time,f),segment:O})),C=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&_.length===0&&E.length===0,R=null;return g.length>0&&(R=Math.min(...g.map(O=>O.segment.time))),E.length>0&&(R=R!==null?Math.min(R,E[0].time):E[0].time),_.length>0&&(R=R!==null?Math.min(R,_[0].segment.time):_[0].segment.time),{imminentDiscontinuity:ca(n,l,R,C,p),hasFinishedLoading:C,neededSegments:_,isBufferFull:v,shouldRefreshManifest:c}}function Wl(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),u=o.index;!P(s)&&St.isNative(n.adaptation.type)&&e>=s&&u.isInitialized()&&!u.isStillAwaitingFutureSegments()&&Vl(i,a,e)?r=s-1:r=e-.1;let d=r+t,f;return!o.index.isInitialized()||o.index.isStillAwaitingFutureSegments()||a.end===void 0?f=!1:s===void 0?f=d>=a.end:s===null?f=!0:f=d>=s,{start:Math.max(r,a.start),end:Math.min(d,(l=a.end)!=null?l:1/0),hasReachedPeriodEnd:f}}function Vl(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function Nn(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof oe)throw a;if(!(a instanceof ve)||!a.isBufferFull){let u=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new $(\"BUFFER_APPEND_ERROR\",u,{tracks:[ct(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{m.warn(\"Stream: Running garbage collector\");let u=Math.max(s-5,0),d=s+r.getValue()+12;if(await e.removeBuffer(0,u),await e.removeBuffer(d,Number.MAX_VALUE),await ii(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(u){if(u instanceof oe)throw u;let d=u instanceof Error?u.toString():\"Could not clean the buffer\";throw new $(\"BUFFER_FULL_ERROR\",d,{tracks:[ct(t.inventoryInfos.adaptation)]})}}}async function ga({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:a},o){if(o.cancellationError!==null)throw o.cancellationError;let s=e.representation.getMimeTypeString(),u={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},d=q({segment:r,chunkSize:void 0,start:0,end:0},e),f=await Nn(n,i,{data:u,inventoryInfos:d},a,o);return{content:e,segment:r,buffered:f}}async function ha({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:a,segmentSink:o},s){var R,k;if(i.chunkData===null)return null;if(s.cancellationError!==null)throw s.cancellationError;let{chunkData:u,chunkInfos:d,chunkOffset:f,chunkSize:l,appendWindow:c}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:p}=z.getCurrent(),h=[c[0]!==void 0?Math.max(0,c[0]-p.START):void 0,c[1]!==void 0?c[1]+p.END:void 0],b={initSegmentUniqueId:r,chunk:u,timestampOffset:f,appendWindow:h,codec:g},y=(R=d==null?void 0:d.time)!=null?R:a.time,E=(k=d==null?void 0:d.duration)!=null?k:a.duration,v=y+E;h[0]!==void 0&&(y=Math.max(y,h[0])),h[1]!==void 0&&(v=Math.min(v,h[1]));let _=q({segment:a,chunkSize:l,start:y,end:v},t),C=await Nn(n,o,{data:b,inventoryInfos:_},e,s);return{content:t,segment:a,buffered:C}}function Ia({content:n,options:e,playbackObserver:t,segmentSink:r,segmentQueue:i,terminate:a},o,s){let{period:u,adaptation:d,representation:f}=n,{bufferGoal:l,maxBufferSize:c,drmSystemId:g,fastSwitchThreshold:p}=e,h=d.type,b=new W;b.linkToSignal(s);let y=new W;y.linkToSignal(b.signal);let E={segment:f.index.getInitSegment(),uniqueId:null,isLoaded:!1};b.signal.register(()=>{E.uniqueId!==null&&r.freeInitSegment(E.uniqueId)});let v=E.segment!==null;v||(E.isLoaded=!0);let _=!1;if(g!==void 0){let T=f.getEncryptionData(g);if(T.length>0&&T.every(x=>x.keyIds!==void 0)&&(_=!0,o.encryptionDataEncountered(T.map(x=>q({content:n},x))),b.isUsed()))return}i.addEventListener(\"error\",T=>{y.signal.isCancelled()||(b.cancel(),o.error(T))}),i.addEventListener(\"parsedInitSegment\",k,y.signal),i.addEventListener(\"parsedMediaSegment\",k,y.signal),i.addEventListener(\"emptyQueue\",R,y.signal),i.addEventListener(\"requestRetry\",T=>{if(o.warning(T.error),y.signal.isCancelled())return;let x=T.segment,{index:O}=f;O.isSegmentStillAvailable(x)===!1?R():O.canBeOutOfSyncError(T.error,x)&&o.manifestMightBeOufOfSync()},y.signal),i.addEventListener(\"fullyLoadedSegment\",T=>{r.signalSegmentComplete(q({segment:T},n)).catch(A)},y.signal);let C=i.resetForContent(n,v);y.signal.register(()=>{i.stop()}),t.listen(R,{includeLastObservation:!1,clearSignal:y.signal}),n.manifest.addEventListener(\"manifestUpdate\",R,y.signal),l.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),c.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),a.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),R();return;function R(){if(y.isUsed())return;let T=t.getReference().getValue(),x=T.position.getWanted(),O=pa(n,x,t,p.getValue(),l.getValue(),c.getValue(),r),{neededSegments:D}=O,w=null;if(f.index.isInitialized()){if(D.length>0&&!E.isLoaded&&E.segment!==null){let L=D[0].priority;w={segment:E.segment,priority:L}}}else if(E.segment===null)m.warn(\"Stream: Uninitialized index without an initialization segment\");else if(E.isLoaded)m.warn(\"Stream: Uninitialized index with an already loaded initialization segment\");else{let L=T.position.getWanted();w={segment:E.segment,priority:Bn(u.start,L)}}let M=a.getValue();if(M===null)C.setValue({initSegment:w,segmentQueue:D});else if(M.urgent){m.debug(\"Stream: Urgent switch, terminate now.\",h),C.setValue({initSegment:null,segmentQueue:[]}),C.finish(),y.cancel(),o.terminating();return}else{let L=D[0],K=i.getRequestedInitSegment(),ee=i.getRequestedMediaSegment(),G=ee===null||L===void 0||ee.id!==L.segment.id?[]:[L],H=K===null?null:w;if(C.setValue({initSegment:H,segmentQueue:G}),G.length===0&&H===null){m.debug(\"Stream: No request left, terminate\",h),C.finish(),y.cancel(),o.terminating();return}}if(o.streamStatusUpdate({period:u,position:T.position.getWanted(),bufferType:h,imminentDiscontinuity:O.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:O.hasFinishedLoading,neededSegments:O.neededSegments}),y.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:N}=z.getCurrent();if(O.isBufferFull){let L=Math.max(0,x-N);L>0&&r.removeBuffer(0,L).catch(A)}O.shouldRefreshManifest&&o.needsManifestRefresh()}function k(T){if(!b.isUsed()){for(let x of T.protectionData)f.addProtectionData(x.initDataType,x.keyId,x.initData);if(!_){let x=f.getAllEncryptionData();if(x.length>0&&(o.encryptionDataEncountered(x.map(O=>q({content:n},O))),_=!0,b.isUsed()))return}if(T.segmentType===\"init\"){if(!f.index.isInitialized()&&T.segmentList!==void 0&&f.index.initialize(T.segmentList),E.isLoaded=!0,T.initializationData!==null){let x=f.uniqueId;E.uniqueId=x,r.declareInitSegment(x,T.initializationData),ga({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:x,segment:T.segment,segmentData:T.initializationData,segmentSink:r},b.signal).then(O=>{O!==null&&o.addedSegment(O)}).catch(A)}R();return}else{let{inbandEvents:x,predictedSegments:O,needsManifestRefresh:D}=T;if(O!==void 0&&f.index.addPredictedSegments(O,T.segment),D===!0&&(o.needsManifestRefresh(),b.isUsed())||x!==void 0&&x.length>0&&(o.inbandEvent(x),b.isUsed()))return;let w=E.uniqueId;ha({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:w,parsedSegment:T,segment:T.segment,segmentSink:r},b.signal).then(M=>{M!==null&&o.addedSegment(M)}).catch(A)}}}function A(T){b.isUsed()&&T instanceof oe||(b.cancel(),o.error(T))}}var Cs=Ia;function ba(n,e,t,r,i){var c,g,p,h;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let b of a)b.infos.period.id===n.id&&(b.infos.adaptation.id!==e.id||!ce(t.representationIds,b.infos.representation.id))&&Ht(o,{start:(c=b.bufferedStart)!=null?c:b.start,end:(g=b.bufferedEnd)!=null?g:b.end});let s=r.getPendingOperations();for(let b of s)if(b.type===0){let y=b.value.inventoryInfos;if(y.period.id===n.id&&(y.adaptation.id!==e.id||!ce(t.representationIds,y.representation.id))){let E=y.segment.time,v=E+y.segment.duration;Ht(o,{start:E,end:v})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let b=i.getReadyState();if(b===void 0||b>1)return{type:\"needs-reload\",value:void 0}}let u=t.switchingMode===\"direct\",d=[],f=Gt(a,n);if(f!==null&&(f.bufferedEnd===void 0||n.start-f.bufferedEnd<1)&&d.push({start:0,end:n.start+1}),!u){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:b}=z.getCurrent(),y=e.type,E=(p=b[y].before)!=null?p:0,v=(h=b[y].after)!=null?h:0,_=i.getCurrentTime();_===void 0&&(_=i.getReference().getValue().position.getPolled()),d.push({start:_-E,end:_+v})}if(n.end!==void 0){let b=Kt(a,n);b!==null&&(b.bufferedStart===void 0||b.bufferedStart-n.end<1)&&d.push({start:n.end-1,end:Number.MAX_VALUE})}let l=Nr(o,d);return l.length===0?{type:\"continue\",value:void 0}:u?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function Sa({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},u,d){let{manifest:f,period:l,adaptation:c}=e,g=new W;g.linkToSignal(d);let p=new Map,h=new j(null,g.signal),b,y=e.representations.getValue().representationIds,E=e.adaptation.representations.filter(w=>ce(y,w.id)&&w.decipherable!==!1&&w.isSupported!==!1),v=new j(E,g.signal),{estimates:_,callbacks:C}=r({manifest:f,period:l,adaptation:c},h,v,n,g.signal),R=a.createSegmentQueue(c.type,{onRequestBegin:C.requestBegin,onRequestEnd:C.requestEnd,onProgress:C.requestProgress,onMetrics:C.metrics}),k=new j(0);_.onUpdate(({bitrate:w,knownStableBitrate:M})=>{t.enableFastSwitching&&k.setValueIfChanged(M),!(w===void 0||w===b)&&(b=w,m.debug(`Stream: new ${c.type} bitrate estimate`,w),u.bitrateEstimateChange({type:c.type,bitrate:w}))},{emitCurrentValue:!0,clearSignal:g.signal});let A;e.representations.onUpdate(w=>{A!==void 0&&A.cancel();let M=e.representations.getValue().representationIds,N=e.adaptation.representations.filter(L=>ce(M,L.id));v.setValueIfChanged(N),A=new W,A.linkToSignal(g.signal),T(w,A.signal).catch(L=>{(A==null?void 0:A.isUsed())===!0&&W.isCancellationError(L)||(g.cancel(),u.error(L))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function T(w,M){let N=ba(l,c,w,i,n);switch(N.type){case\"continue\":break;case\"needs-reload\":return kt(()=>{n.listen(()=>{if(M.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:L}=z.getCurrent(),K=L.bitrateSwitch;return u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:K,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:M})});case\"flush-buffer\":case\"clean-buffer\":for(let L of N.value)if(await i.removeBuffer(L.start,L.end),M.isCancelled())return;if(N.type===\"flush-buffer\"&&(u.needsBufferFlush(),M.isCancelled()))return;break;default:Fe(N)}x(M)}function x(w){let M=new W;M.linkToSignal(w);let{representation:N}=_.getValue();if(N===null)return;let L=new j(null,M.signal);_.onUpdate(G=>{if(!(G.representation===null||G.representation.id===N.id))return G.urgent?(m.info(\"Stream: urgent Representation switch\",c.type),L.setValue({urgent:!0})):(m.info(\"Stream: slow Representation switch\",c.type),L.setValue({urgent:!1}))},{clearSignal:M.signal,emitCurrentValue:!0});let K={type:c.type,adaptation:c,period:l,representation:N};if(h.setValue(N),g.isUsed()||(u.representationChange(K),g.isUsed()))return;let ee={streamStatusUpdate:u.streamStatusUpdate,encryptionDataEncountered:u.encryptionDataEncountered,manifestMightBeOufOfSync:u.manifestMightBeOufOfSync,needsManifestRefresh:u.needsManifestRefresh,inbandEvent:u.inbandEvent,warning:u.warning,error(G){g.cancel(),u.error(G)},addedSegment(G){C.addedSegment(G)},terminating(){if(!M.isUsed())return M.cancel(),x(w)}};O(N,L,ee,w)}function O(w,M,N,L){let K=new W;K.linkToSignal(L);let ee=Xt(o,V=>V*D(w),K.signal),G=c.type===\"video\"?s:new j(1/0);m.info(\"Stream: changing representation\",c.type,w.id,w.bitrate);let H=q({},N,{error(V){var de;let Q=be(V,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(Q.code!==\"BUFFER_FULL_ERROR\")N.error(V);else{let Se=o.getValue(),He=((de=p.get(w.id))!=null?de:1)*.7;if(He<=.05||Se*He<=2)throw Q;p.set(w.id,He),nn(4e3,g.signal).then(()=>O(w,M,N,L)).catch(B)}},terminating(){K.cancel(),N.terminating()}});Cs({playbackObserver:n,content:{representation:w,adaptation:c,period:l,manifest:f},segmentSink:i,segmentQueue:R,terminate:M,options:{bufferGoal:ee,maxBufferSize:G,drmSystemId:t.drmSystemId,fastSwitchThreshold:k}},H,L),f.addEventListener(\"manifestUpdate\",V=>{for(let Q of V.updatedPeriods)if(Q.period.id===l.id){for(let de of Q.result.updatedAdaptations)if(de.adaptation===c.id){for(let Se of de.removedRepresentations)if(Se===w.id)return L.isCancelled()?void 0:u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(Q.period.start>l.start)break},L)}function D(w){let M=p.get(w.id),N=M!==void 0?M:1;return M===void 0&&p.set(w.id,N),N}}var As=Sa;function ya(n,e,t,r,i,a){var g,p,h,b;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!ql(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let y of o)y.infos.period.id===e.id&&y.infos.adaptation.id!==t.id&&Ht(s,{start:(g=y.bufferedStart)!=null?g:y.start,end:(p=y.bufferedEnd)!=null?p:y.end});let u=n.getPendingOperations();for(let y of u)if(y.type===0){let E=y.value.inventoryInfos;if(E.period.id===e.id&&E.adaptation.id!==t.id){let v=E.segment.time,_=v+E.segment.duration;Ht(s,{start:v,end:_})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let y=i.getReadyState();if(y===void 0||y>1)return{type:\"needs-reload\",value:void 0}}let d=r===\"direct\",f=[],l=Gt(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!d){let y=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:E}=z.getCurrent(),v=(h=E[y].before)!=null?h:0,_=(b=E[y].after)!=null?b:0,C=i.getCurrentTime();C===void 0&&(C=i.getReference().getValue().position.getPolled()),f.push({start:C-v,end:C+_})}if(e.end!==void 0){let y=Kt(o,e);y!==null&&(y.bufferedStart===void 0||y.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let c=Nr(s,f);return c.length===0?{type:\"continue\",value:void 0}:d&&t.type!==\"text\"?{type:\"flush-buffer\",value:c}:{type:\"clean-buffer\",value:c}}function ql(n,e){return n.representations.some(t=>t.isSupported===!0&&t.decipherable!==!1&&ho(t.getMimeTypeString(),e))}function Ta({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:u,maxVideoBufferSize:d},f,l){let{manifest:c,period:g}=e,p=new j(void 0,l);if(f.periodStreamReady({type:n,manifest:c,period:g,adaptationRef:p}),l.isCancelled())return;let h,b=!0;p.onUpdate(v=>{(async()=>{var w;if(v===void 0)return;let _=new W;if(_.linkToSignal(l),h==null||h.cancel(),h=_,v===null){m.info(`Stream: Set no ${n} Adaptation. P:`,g.start);let M=o.getStatus(n);if(M.type===\"initialized\"){if(m.info(`Stream: Clearing previous ${n} SegmentSink`),St.isNative(n))return E(0,!0,_.signal);{let N=(w=g.end)!=null?w:1/0;if(g.start>N)m.warn(\"Stream: Can't free buffer: period's start is after its end\");else if(await M.value.removeBuffer(g.start,N),_.isUsed())return}}else if(M.type===\"uninitialized\"&&(o.disableSegmentSink(n),_.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),_.isUsed()?void 0:xs(r,u,n,{period:g},f,_.signal)}let C=g.adaptations[n],R=Y(C!=null?C:[],M=>M.id===v.adaptationId);if(R===void 0){h.cancel(),m.warn(\"Stream: Unfound chosen Adaptation choice\",v.adaptationId);return}let{DELTA_POSITION_AFTER_RELOAD:k}=z.getCurrent(),A=!1,T;if(b)T=0;else if(v.relativeResumingPosition!==void 0)T=v.relativeResumingPosition;else switch(A=!0,n){case\"audio\":T=k.trackSwitch.audio;break;case\"video\":T=k.trackSwitch.video;break;default:T=k.trackSwitch.other;break}if(b=!1,St.isNative(n)&&o.getStatus(n).type===\"disabled\")return E(T,!0,_.signal);c.addEventListener(\"manifestUpdate\",M=>{for(let N of M.updatedPeriods)if(N.period.id===g.id){for(let L of N.result.removedAdaptations)if(L.id===R.id)return E(T,!0,_.signal)}else if(N.period.start>g.start)break},h.signal);let{representations:x}=v;if(m.info(`Stream: Updating ${n} adaptation`,`A: ${R.id}`,`P: ${g.start}`),f.adaptationChange({type:n,adaptation:R,period:g}),_.isUsed())return;let O=Hl(o,n,R),D=ya(O,g,R,v.switchingMode,r,s);if(D.type===\"needs-reload\")return E(T,!0,_.signal);if(await o.waitForUsableBuffers(_.signal),!_.isUsed()){if(D.type===\"flush-buffer\"||D.type===\"clean-buffer\"){for(let{start:M,end:N}of D.value)if(await O.removeBuffer(M,N),_.isUsed())return;if(D.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:T,relativePosHasBeenDefaulted:A}),_.isUsed()))return}t.get(O)(_.signal),y(R,x,O,_.signal)}})().catch(_=>{_ instanceof oe||(h==null||h.cancel(),f.error(_))})},{clearSignal:l,emitCurrentValue:!0});function y(v,_,C,R){let k=Kl(r,v.type);As({content:{manifest:c,period:g,adaptation:v,representations:_},options:s,playbackObserver:k,representationEstimator:i,segmentSink:C,segmentQueueCreator:a,wantedBufferAhead:u,maxVideoBufferSize:d},ie(Z({},f),{error:A}),R);function A(T){if(!St.isNative(n)){m.error(`Stream: ${n} Stream crashed. Aborting it.`,T instanceof Error?T:\"\"),o.disposeSegmentSink(n);let x=be(T,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(x),R.isCancelled()?void 0:xs(r,u,n,{period:g},f,R)}m.error(`Stream: ${n} Stream crashed. Stopping playback.`,T instanceof Error?T:\"\"),f.error(T)}}function E(v,_,C){kt(()=>{r.listen(()=>{C.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:v,stayInPeriod:_})},{includeLastObservation:!0,clearSignal:C})})}}function Hl(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return m.info(\"Stream: Reusing a previous SegmentSink for the type\",e),r.value;let i=Gl(t);return n.createSegmentSink(e,i)}function Gl(n){let e=n.representations.filter(t=>t.isSupported===!0&&t.decipherable!==!1);if(e.length===0)throw new $(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[ct(n)]});return e[0].getMimeTypeString()}function Kl(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new j(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let u=r.getValue(),d=u.buffered[e],f=d!==null?Br(d,u.position.getWanted()):0;return q({},u,{bufferGap:f,buffered:d})}function s(){a.setValue(o())}})}function xs(n,e,t,r,i,a){let{period:o}=r,s=!1;e.onUpdate(u,{emitCurrentValue:!1,clearSignal:a}),n.listen(u,{includeLastObservation:!1,clearSignal:a}),u();function u(){let d=n.getReference().getValue(),f=e.getValue(),l=d.position.getWanted();o.end!==void 0&&l+f>=o.end&&(m.debug('Stream: full \"empty\" AdaptationStream',t),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var ks=Ta;function zr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory();for(let i of r)if(e.some(o=>i.infos.period.id===o.period.id&&i.infos.adaptation.id===o.adaptation.id&&i.infos.representation.id===o.representation.id)){let{bufferedStart:o,bufferedEnd:s}=i;if(o===void 0||s===void 0)return m.warn(\"SO: No buffered start or end found from a segment.\"),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===o?u.end=s:t.push({start:o,end:s})}return t}function Ea(n,e,t,r,i,a,o,s){let{manifest:u,initialPeriod:d}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:c,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_BEHIND:b}=z.getCurrent(),y=new xn(_=>{var A,T;let{bufferType:C}=_,R=(A=b[C])!=null?A:1/0,k=(T=h[C])!=null?T:1/0;return x=>{Ur({segmentSink:_,playbackObserver:e,maxBufferBehind:Xt(l,O=>Math.min(O,R),x),maxBufferAhead:Xt(f,O=>{var w;let D=Math.max(O,(w=p[C])!=null?w:0);return Math.min(D,k)},x)},x)}});for(let _ of r.getBufferTypes())E(_,d);function E(_,C){let R=new Mt((D,w)=>D.start-w.start),k=!1,A=new W;return A.linkToSignal(s),e.listen(({position:D})=>{var N;let w=D.getWanted();if(!k||!x(w))return;for(m.info(\"Stream: Destroying all PeriodStreams due to out of bounds situation\",_,w),k=!1;R.length()>0;){let L=R.get(R.length()-1);R.removeElement(L),o.periodStreamCleared({type:_,manifest:u,period:L})}A.cancel(),A=new W,A.linkToSignal(s);let M=(N=u.getPeriodForTime(w))!=null?N:u.getNextPeriod(w);if(M===void 0){m.warn(\"Stream: The wanted position is not found in the Manifest.\"),k=!0;return}T(M)},{clearSignal:s,includeLastObservation:!0}),u.addEventListener(\"decipherabilityUpdate\",D=>{s.isCancelled()||O(D).catch(w=>{s.isCancelled()||(A.cancel(),o.error(w))})},s),T(C);function T(D){let w=ie(Z({},o),{waitingMediaSourceReload(M){let N=R.head();N===void 0||N.id!==M.period.id?o.lockedStream({bufferType:M.bufferType,period:M.period}):o.needsMediaSourceReload({timeOffset:M.timeOffset,minimumPosition:M.stayInPeriod?M.period.start:void 0,maximumPosition:M.stayInPeriod?M.period.end:void 0})},periodStreamReady(M){k=!0,R.add(M.period),o.periodStreamReady(M)},periodStreamCleared(M){R.removeElement(M.period),o.periodStreamCleared(M)},error(M){A.cancel(),o.error(M)}});v(_,D,w,A.signal)}function x(D){let w=R.head(),M=R.last();return w===void 0||M===void 0?!0:w.start>D||(P(M.end)?1/0:M.end)<D}async function O(D){let w=r.getStatus(_),M=D.filter(H=>H.adaptation.type===_);if(M.length===0||w.type!==\"initialized\"||M.every(H=>H.representation.decipherable===!0))return;let N=w.value,L=M.filter(H=>H.representation.decipherable===void 0),K=M.filter(H=>H.representation.decipherable===!1),ee=zr(N,K),G=zr(N,L);for(k=!1,m.info(\"Stream: Destroying all PeriodStreams for decipherability matters\",_);R.length()>0;){let H=R.get(R.length()-1);R.removeElement(H),o.periodStreamCleared({type:_,manifest:u,period:H})}A.cancel(),A=new W,A.linkToSignal(s);for(let{start:H,end:V}of[...ee,...G]){if(s.isCancelled())return;if(H<V){if(s.isCancelled())return;await N.removeBuffer(H,V)}}kt(()=>{if(s.isCancelled())return;let H=e.getReference().getValue();if(Ms(H,ee)){if(o.needsDecipherabilityFlush(),s.isCancelled())return}else if(Ms(H,G)&&(o.needsBufferFlush(),s.isCancelled()))return;let V=H.position.getWanted(),Q=u.getPeriodForTime(V);if(Q===void 0){o.error(new $(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}T(Q)})}}function v(_,C,R,k){m.info(\"Stream: Creating new Stream for\",_,C.start);let A=null,T=new W;T.linkToSignal(k),e.listen(({position:M},N)=>{if(C.end!==void 0&&M.getWanted()>=C.end){let L=u.getPeriodAfter(C);if(C.containsTime(M.getWanted(),L))return;m.info(\"Stream: Destroying PeriodStream as the current playhead moved above it\",_,C.start,M.getWanted(),C.end),N(),R.periodStreamCleared({type:_,manifest:u,period:C}),T.cancel()}},{clearSignal:k,includeLastObservation:!0});let x={bufferType:_,content:{manifest:u,period:C},garbageCollectors:y,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:c},O=ie(Z({},R),{streamStatusUpdate(M){if(M.hasFinishedLoading){let N=u.getPeriodAfter(C);N!==null&&D(N)}else A!==null&&(m.info(\"Stream: Destroying next PeriodStream due to current one being active\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null);R.streamStatusUpdate(M)},error(M){A!==null&&(A.canceller.cancel(),A=null),T.cancel(),R.error(M)}});ks(x,O,T.signal),w(T.signal);function D(M){if(A!==null){if(A.period.id===M.id)return;m.warn(\"Stream: Creating next `PeriodStream` while one was already created.\",_,M.id,A.period.id),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel()}let N=new W;N.linkToSignal(k),A={canceller:N,period:M},v(_,M,R,A.canceller.signal)}function w(M){u.addEventListener(\"manifestUpdate\",N=>{for(let L of N.removedPeriods)if(L.id===C.id){if(u.periods.length>0&&u.periods[0].start<=L.start)return kt(()=>{if(!M.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(L.start>C.start)break;if(N.addedPeriods.length>0&&A!==null){let L=u.getPeriodAfter(C);(L===null||A.period.id!==L.id)&&(m.warn(\"Stream: Destroying next PeriodStream due to new one being added\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null)}},M)}}}function Ms(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var Os=Ea;var ws=Os;var Un=class extends le{constructor(e,t,r){super(),this._canceller=new W,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new _a(e);this._maximumPositionCalculator=i;let a=this._canceller.signal;t.listen(({position:o})=>{let s=o.getWanted();if(s<e.getMinimumSafePosition()){let u=new $(\"MEDIA_TIME_BEFORE_MANIFEST\",\"The current position is behind the earliest time announced in the Manifest.\");this.trigger(\"warning\",u)}else if(s>i.getMaximumAvailablePosition()){let u=new $(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\");this.trigger(\"warning\",u)}},{includeLastObservation:!0,clearSignal:a}),e.addEventListener(\"manifestUpdate\",()=>{this.trigger(\"endingPositionChange\",this._getManifestEndTime()),!a.isCancelled()&&this._checkEndOfStream()},a)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e===\"audio\"||e===\"video\")){e===\"audio\"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let a=this._maximumPositionCalculator.getEndingPosition(),o=a!==void 0?{isEnd:!0,endingPosition:a}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger(\"endingPositionChange\",o)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(){this.removeEventListener(),this._canceller.cancel()}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let a=this._activeStreams.get(i);if(a===void 0)return;if(!a.activePeriods.toArray().some(u=>u.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger(\"periodChange\",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new Mt((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger(\"endOfStream\",null):this.trigger(\"resumeStream\",null)}},_a=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=Wr(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Wr(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=Wr(this._lastAudioAdaptation),t=Wr(this._lastVideoAdaptation);return typeof e!=\"number\"||typeof t!=\"number\"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=Vr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=Vr(this._lastAudioAdaptation))!=null?t:void 0;{let r=Vr(this._lastAudioAdaptation),i=Vr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function Wr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getLastAvailablePosition();if(a===void 0)return;a!==null&&(t=P(t)?a:Math.min(t,a))}return t}function Vr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getEnd();if(a===void 0)return;a!==null&&(t=P(t)?a:Math.min(t,a))}return t}function Ra(n,e,t,r,i,a){a.register(()=>{e.interruptDurationSetting()});let o=new Un(n,t,r.getBufferTypes());a.register(()=>{o.dispose()}),o.addEventListener(\"warning\",u=>i.onWarning(u)),o.addEventListener(\"periodChange\",u=>i.onPeriodChanged(u)),o.addEventListener(\"endingPositionChange\",u=>{e.setDuration(u.endingPosition,u.isEnd)}),o.addEventListener(\"endOfStream\",()=>{m.debug(\"Init: end-of-stream order received.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function Pa(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=Y(n.sourceBuffers,s=>s.type===\"audio\"),i=Y(n.sourceBuffers,s=>s.type===\"video\"),a=r==null?void 0:r.getBuffered();a!==void 0&&(t.audio=a);let o=i==null?void 0:i.getBuffered();return o!==void 0&&(t.video=o),t}function va(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return m.warn(\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function jl(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function Ln(n,e){if(m.debug(\"Init: Trying to call endOfStream\"),n.readyState!==\"open\"){m.debug(\"Init: MediaSource not open, cancel endOfStream\");return}let{sourceBuffers:t}=n,r=jl(t);if(r.length===0){m.info(\"Init: Triggering end of stream\");try{n.endOfStream()}catch(a){m.error(\"Unable to call endOfStream\",a instanceof Error?a:new Error(\"Unknown error\"))}return}m.debug(\"Init: Waiting SourceBuffers to be updated before calling endOfStream.\");let i=new W;i.linkToSignal(e);for(let a of r)no(a,()=>{i.cancel(),Ln(n,e)},i.signal);ro(t,()=>{i.cancel(),Ln(n,e)},i.signal)}function Ds(n,e){let t=new W;t.linkToSignal(e),Bt(n,()=>{m.debug(\"Init: MediaSource re-opened while end-of-stream is active\"),t.cancel(),t=new W,t.linkToSignal(e),Ln(n,t.signal)},e),Ln(n,t.signal)}function Ca(){return ri}var Yl=365*24*3600,Fn=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new W;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=Xl(r,i),o=new W;o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(),!a.getValue())return;o=new W,o.linkToSignal(i);let u=$l(r.sourceBuffers,o.signal),d=new W;return d.linkToSignal(o.signal),u.onUpdate(f=>{d.cancel(),d=new W,d.linkToSignal(o.signal),!f&&Ns(r,e,t,d.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function Ql(n,e,t){let r=e;t||(r=Ca()?1/0:Bs(e));let i=0;for(let a=0;a<n.sourceBuffers.length;a++){let o=n.sourceBuffers[a],s=o.buffered.length;s>0&&(i=Math.max(o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i<n.duration)try{m.info(\"Init: Updating duration to what is currently buffered\",i),n.duration=i}catch(a){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",a instanceof Error?a:\"\"),\"failed\"}return\"partial\"}else{let a=n.duration;try{if(m.info(\"Init: Updating duration\",r),n.duration=r,n.readyState===\"open\"&&!isFinite(r)){let s=Bs(e);m.info(\"Init: calling `mediaSource.setLiveSeekableRange`\",s),n.setLiveSeekableRange(0,s)}}catch(s){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",s instanceof Error?s:\"\"),\"failed\"}let o=Math.abs(n.duration-r);if(o>=.1){let s=Math.abs(n.duration-a);return o<s?\"partial\":\"failed\"}return\"success\"}}function $l(n,e){if(n.length===0){let i=new j(!1);return i.finish(),i}let t=new j(!1,e);r();for(let i=0;i<n.length;i++){let a=n[i];a.addEventListener(\"updatestart\",r),a.addEventListener(\"update\",r),e.register(()=>{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function Xl(n,e){let t=new j(n.readyState===\"open\",e);return Bt(n,()=>{m.debug(\"Init: Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),cr(n,()=>{m.debug(\"Init: Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),fr(n,()=>{m.debug(\"Init: Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function Ns(n,e,t,r){if(Ql(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),Ns(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function Bs(n){return Math.max(Math.pow(2,32),n+Yl)}var zn=class extends le{constructor(e){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,P(ni))throw new $(\"MEDIA_SOURCE_NOT_SUPPORTED\",\"No MediaSource Object was found in the current browser.\");m.info(\"Init: Creating MediaSource\");let t=new ni,r=t.handle;this.handle=P(r)?{type:\"media-source\",value:t}:{type:\"handle\",value:r},this._mediaSource=t,this.readyState=t.readyState,this._durationUpdater=new Fn(t),this._endOfStreamCanceller=null,Bt(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),cr(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),fr(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceClose\",null)},this._canceller.signal)}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new Aa(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(){this._durationUpdater.stopUpdating()}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new W,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),m.debug(\"Init: end-of-stream order received.\"),Ds(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(m.debug(\"Init: resume-stream order received.\"),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),Zl(this._mediaSource)}},Aa=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new W,this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=o=>{let s;o instanceof Error?s=o:o.error instanceof Error?s=o.error:s=new Error(\"Unknown SourceBuffer Error\");let u=this._currentOperations;if(this._currentOperations=[],u.length===0)m.error(\"SBI: error for an unknown operation\",s);else{let d=new ve(s.name,s.message,s.name===\"QuotaExceededError\");for(let f of u)f.reject(d)}},a=()=>{let o=this._currentOperations;this._currentOperations=[];try{for(let s of o)s.resolve(la(this._sourceBuffer.buffered))}catch(s){for(let u of o)s instanceof Error&&s.name===\"InvalidStateError\"?u.resolve([]):u.reject(s)}this._performNextOperation()};r.addEventListener(\"updateend\",a),r.addEventListener(\"error\",i),this._canceller.signal.register(()=>{r.removeEventListener(\"updateend\",a),r.removeEventListener(\"error\",i)})}appendBuffer(...e){return m.debug(\"SBI: receiving order to push data to the SourceBuffer\",this.type),this._addToQueue({operationName:0,params:e})}remove(e,t){return m.debug(\"SBI: receiving order to remove data from the SourceBuffer\",this.type,e,t),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return la(this._sourceBuffer.buffered)}catch(e){return m.error(\"Failed to get buffered time range of SourceBuffer\",this.type,e instanceof Error?e:null),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){m.debug(\"Init: Failed to abort SourceBuffer:\",e instanceof Error?e:null)}this._emptyCurrentQueue()}dispose(){try{this._sourceBuffer.abort()}catch(e){}this._emptyCurrentQueue()}_emptyCurrentQueue(){let e=new oe;this._currentOperations.length>0&&(this._currentOperations.forEach(t=>{t.reject(e)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(t=>{t.reject(e)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,a=q({resolve:t,reject:r},e);this._operationQueue.push(a),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,a,o;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],u=e.params[1],d=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let f;s instanceof ArrayBuffer?f=new Uint8Array(s):s instanceof Uint8Array?f=s:f=new Uint8Array(s.buffer);let l=[f];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let c=this._operationQueue[0],g=(r=u.appendWindow)!=null?r:[void 0,void 0],p=(i=c.params[1].appendWindow)!=null?i:[void 0,void 0],h=(a=u.timestampOffset)!=null?a:0,b=(o=c.params[1].timestampOffset)!=null?o:0;if(g[0]===p[0]&&g[1]===p[1]&&u.codec===c.params[1].codec&&h===b){let y=c.params[0],E;y instanceof ArrayBuffer?E=new Uint8Array(y):y instanceof Uint8Array?E=y:E=new Uint8Array(y.buffer),l.push(E),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:c.resolve,reject:c.reject})}else break}l.length>1&&(m.info(`MMSI: Merging ${l.length} segments together for perf`,this.type),d=Et(...l))}try{this._appendBufferNow(d,u)}catch(f){let l=f instanceof Error?new ve(f.name,f.message,f.name===\"QuotaExceededError\"):new ve(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(c=>{c.reject(l)}),this._currentOperations=[]}}else{this._currentOperations=[e];let[s,u]=e.params;m.debug(\"SBI: removing data from SourceBuffer\",this.type,s,u);try{this._sourceBuffer.remove(s,u)}catch(d){let f=d instanceof Error?new ve(d.name,d.message,!1):new ve(\"Error\",\"Unknown SourceBuffer Error during remove\",!1);e.reject(f),this._currentOperations=[]}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:a,appendWindow:o=[]}=t;if(i!==void 0&&i!==this.codec&&(m.debug(\"SBI: updating codec\",i),va(r,i)?this.codec=i:m.debug(\"SBI: could not update codec\",i,this.codec)),a!==void 0&&r.timestampOffset!==a){let s=a;m.debug(\"SBI: updating timestampOffset\",i,r.timestampOffset,s),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(m.debug(\"SBI: re-setting `appendWindowStart` to `0`\"),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;m.debug(\"SBI: pre-updating `appendWindowEnd`\",s),r.appendWindowEnd=s}m.debug(\"SBI: setting `appendWindowStart`\",o[0]),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(m.debug(\"SBI: re-setting `appendWindowEnd` to `Infinity`\"),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(m.debug(\"SBI: setting `appendWindowEnd`\",o[1]),r.appendWindowEnd=o[1]),m.debug(\"SBI: pushing segment\",this.type),r.appendBuffer(e)}};function Zl(n){if(n.readyState!==\"closed\"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e===\"open\"){m.info(\"Init: Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}m.info(\"Init: Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&m.info(\"Init: Not all SourceBuffers could have been removed.\")}}var Jl=Ce(),qr=Ce(),Us=1/0,Wn=class extends le{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,this.readyState=\"closed\",this._messageSender=r;let i=Jl();this._messageSender({type:\"create-media-source\",contentId:t,mediaSourceId:i})}onMediaSourceReadyStateChanged(e){switch(e){case\"closed\":this.readyState=\"closed\",this.trigger(\"mediaSourceClose\",null);break;case\"open\":this.readyState=\"open\",this.trigger(\"mediaSourceOpen\",null);break;case\"ended\":this.readyState=\"ended\",this.trigger(\"mediaSourceEnded\",null);break}}addSourceBuffer(e,t){this._messageSender({type:\"add-source-buffer\",mediaSourceId:this.id,value:{sourceBufferType:e,codec:t}});let r=new xa(e,t,this.id,this._messageSender);return this.sourceBuffers.push(r),r}setDuration(e,t){this._messageSender({type:\"update-media-source-duration\",mediaSourceId:this.id,value:{duration:e,isRealEndKnown:t}})}interruptDurationSetting(){this._messageSender({type:\"stop-media-source-duration\",mediaSourceId:this.id,value:null})}maintainEndOfStream(){this._messageSender({type:\"end-of-stream\",mediaSourceId:this.id,value:null})}stopEndOfStream(){this._messageSender({type:\"stop-end-of-stream\",mediaSourceId:this.id,value:null})}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),this._messageSender({type:\"dispose-media-source\",mediaSourceId:this.id,value:null})}},xa=class{constructor(e,t,r,i){this.type=e,this.codec=t,this._canceller=new W,this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?m.warn(\"SBI: unknown SourceBuffer operation succeeded\"):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new oe:new ve(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?m.info(\"SBI: unknown SourceBuffer operation failed\",r):(this._pendingOperations.delete(e),i.reject(r));let a=new oe;for(let o of this._queuedOperations)o.reject(a);this._queuedOperations=[]}appendBuffer(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=Us){this._queuedOperations.push({operationName:0,params:[e,t],resolve:r,reject:i});return}try{let a;e instanceof ArrayBuffer?a=e:e.byteLength===e.buffer.byteLength?a=e.buffer:a=e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset);let o=qr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:o,value:{data:a,params:t}},[a]),this._addOperationToQueue(o,r,i)}catch(a){i(a)}})}remove(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=Us){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=qr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{start:e,end:t}}),this._addOperationToQueue(a,r,i)}catch(a){i(a)}})}abort(){this._messageSender({type:\"abort-source-buffer\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,value:null})}dispose(){this.abort(),this._canceller.cancel()}getBuffered(){}_addOperationToQueue(e,t,r){this._pendingOperations.set(e,{resolve:a,reject:o});let i=this._canceller.signal.register(s=>{this._pendingOperations.delete(e),r(s)});function a(s){i(),t(s)}function o(s){i(),r(s)}}_performNextQueuedOperationIfItExists(){let e=this._queuedOperations.shift();if(e!==void 0)try{if(e.operationName===0){let[t,r]=e.params,i;t instanceof ArrayBuffer?i=t:t.byteLength===t.buffer.byteLength?i=t.buffer:i=t.buffer.slice(t.byteOffset,t.byteLength+t.byteOffset);let a=qr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{data:i,params:r}},[i]),this._addOperationToQueue(a,e.resolve,e.reject)}else{let[t,r]=e.params,i=qr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:i,value:{start:t,end:r}}),this._addOperationToQueue(i,e.resolve,e.reject)}}catch(t){e.reject(t)}}};function ka(n){let e=n.map(o=>Math.log(o/n[0])),t=e.map(o=>o-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((o,s)=>a(s));function a(o){if(o===0)return 0;let s=Math.min(Math.max(1,o),n.length-1);return n[s]===n[s-1]?a(o-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var Ue=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var Vn=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,a=this._currentRepresentationData,o;a!==null&&a.representation.id===e.id?(o=a.ewma,a.ewma.addSample(t,i),a.loadedDuration+=r,a.loadedSegments++):(o=new Ue(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:0}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(m.debug(\"ABR: New last stable representation\",e.bitrate),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,a=t.getEstimate(),o=r>=5&&i>=10?1:0;return{score:a,confidenceLevel:o}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var Ls=6e3,ef=15e3,tf=3e3,nf=1e3,rf=9e3,qn=class{constructor(e){this._levelsMap=ka(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Ls,m.debug(\"ABR: Steps for buffer based chooser.\",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(\" ,\"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:a,currentScore:o,speed:s}=e;if(P(a)){this._currentEstimate=r[0];return}let u=-1;for(let p=0;p<r.length;p++){let h=r[p];if(h===a)u=p;else if(h>a)break}if(u<0||r.length!==t.length){m.info(\"ABR: Current Bitrate not found in the calculated levels\"),this._currentEstimate=r[0];return}let d;o!==void 0&&(d=s===0?o.score:o.score/s);let f=isFinite(i)?i:0,l=U();if(f<t[u]||d!==void 0&&d<1&&(o==null?void 0:o.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+rf){let b=this._blockRaiseDelay+tf;this._blockRaiseDelay=Math.min(b,ef),m.debug(\"ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality\",this._blockRaiseDelay)}else{let b=this._blockRaiseDelay-nf;this._blockRaiseDelay=Math.max(Ls,b),m.debug(\"ABR: Lowering quality in BufferBasedChooser\",this._blockRaiseDelay)}this._lastUnsuitableQualityTimestamp=l;let h=re(r,b=>b===a);for(let b=h-1;b>=0;b--)if(f>=t[b]){this._currentEstimate=r[b];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||d===void 0||d<1.15||(o==null?void 0:o.confidenceLevel)!==1){this._currentEstimate=a;return}let c=t[u],g=(()=>{for(let p=u+1;p<t.length;p++)if(t[p]>c)return p})();if(g!==void 0){let p=t[g];if(i>=p){m.debug(\"ABR: Raising quality in BufferBasedChooser\",r[g]),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function af(n,e){let t=-1;for(let o=0;o<n.length;o++){let{segment:s}=n[o].content;if(s.duration<=0)continue;let u=s.time+s.duration;if(!s.complete&&o===n.length-1&&e-s.time>-1.2){t=o;break}if(u>e&&e-s.time>-1.2){t=o;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,a=[r];for(let o=t+1;o<n.length&&n[o].content.segment.time===i;o++)a.push(n[o]);return a}function Hr(n){if(n.progress.length<5)return;let e=new Ue(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,a=t[r].timestamp-t[r-1].timestamp,o=i*8/(a/1e3);e.addSample(a/1e3,o)}return e.getEstimate()}function Fs(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function of(n,e,t,r,i){if(r)return;let{bufferGap:a,speed:o,position:s}=e,u=isFinite(a)?a:0,d=s.getWanted()+u,f=af(n,d);if(f.length!==1)return;let l=f[0],c=U(),g=l.content.segment.duration*1.5;if(g=Math.min(g,3e3),g=Math.max(g,12e3),c-l.requestTimestamp<g)return;let p=l.progress.length>0?l.progress[l.progress.length-1]:void 0,h=Hr(l);if(p!==void 0&&h!==void 0){let C=Fs(p,h);if((c-p.timestamp)/1e3<=C&&C-u/o>2500)return h}if(!l.content.segment.complete)return;let b=l.content.segment.duration,y=(c-l.requestTimestamp)/1e3,E=y<=(b*1.5+2)/o;if(P(t)||E)return;let v=b/y,_=t.bitrate*Math.min(.7,v);if(i===void 0||_<i)return _}function sf(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,a=Y(e,({content:l})=>l.segment.duration>0&&l.segment.time+l.segment.duration>i);if(a===void 0)return!0;let o=U(),s=a.progress.length>0?a.progress[a.progress.length-1]:void 0,u=Hr(a);if(s===void 0||u===void 0)return!0;let d=Fs(s,u);return(o-s.timestamp)/1e3>d*1.2?!0:d-r/n.speed>-1.5}var Hn=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=z.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:a.LOW_LATENCY,regularBitrateFactor:o.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:a.DEFAULT,regularBitrateFactor:o.DEFAULT}}getBandwidthEstimate(e,t,r,i,a){let o,s,u=this._config,{bufferGap:d,position:f,duration:l}=e,c=isFinite(d)?d:0,{ABR_STARVATION_DURATION_DELTA:g}=z.getCurrent();return isNaN(l)||c+f.getWanted()<l-g?!this._inStarvationMode&&c<=u.starvationGap?(m.info(\"ABR: enter starvation mode.\"),this._inStarvationMode=!0):this._inStarvationMode&&c>=u.outOfStarvationGap&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1):this._inStarvationMode&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1),this._inStarvationMode&&(s=of(i,e,r,this._lowLatencyMode,a),s!==void 0&&(m.info(\"ABR: starvation mode emergency estimate:\",s),t.reset(),o=P(r)?s:Math.min(s,r.bitrate))),P(o)&&(s=t.getEstimate(),s!==void 0?o=s*(this._inStarvationMode?u.starvationBitrateFactor:u.regularBitrateFactor):a!==void 0?o=a*(this._inStarvationMode?u.starvationBitrateFactor:u.regularBitrateFactor):o=this._initialBitrate),e.speed>1&&(o/=e.speed),{bandwidthEstimate:s,bitrateChosen:o}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:sf(i,r,this._lowLatencyMode)}};var Gn=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var Kn=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,a){let{bufferGap:o,speed:s}=t,u=this._lastAbrEstimate.representation;if(u===null)return null;if(i>u.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let d=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(d===void 0)return null;if(this._canGuessHigher(o,s,d)){let l=zs(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(u,i,d)&&(m.debug(\"ABR: Guessed Representation validated\",u.bitrate),this._lastMaintanableBitrate=u.bitrate,this._consecutiveWrongGuesses=0),r.id!==u.id)return u;if(this._shouldStopGuess(r,d,o,a))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=U()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),uf(e,r);if(d===void 0)return r;if(this._canGuessHigher(o,s,d)){let l=zs(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&U()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let a=i.filter(s=>s.content.representation.id===e.id),o=U();for(let s of a){let u=o-s.requestTimestamp;if(s.content.segment.isInit){if(u>1e3)return!0}else{if(u>s.content.segment.duration*1e3+200)return!0;{let d=Hr(s);if(d!==void 0&&d<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function zs(n,e){let t=n.length,r=re(n,({id:i})=>i===e.id);if(r<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function uf(n,e){let t=re(n,({id:r})=>r===e.id);if(t<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var jn=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=z.getCurrent();this._fastEWMA=new Ue(e),this._slowEWMA=new Ue(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=z.getCurrent();if(t<r)return;let i=t*8e3/e,a=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(a,i),this._slowEWMA.addSample(a,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=z.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=z.getCurrent();this._fastEWMA=new Ue(e),this._slowEWMA=new Ue(t),this._bytesSampled=0}};function Ma(n,e){if(n.length===0)return[];n.sort((a,o)=>a.bitrate-o.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=re(n,a=>a.bitrate>r);return i===-1?n:n.slice(0,i)}function Oa(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,u)=>{var d,f;return((d=s.width)!=null?d:0)-((f=u.width)!=null?f:0)}),a=Y(i,s=>typeof s.width==\"number\"&&s.width>=t&&typeof s.height==\"number\"&&s.height>=r);if(a===void 0)return n;let o=typeof a.width==\"number\"?a.width:0;return n.filter(s=>typeof s.width==\"number\"?s.width<=o:!0)}var Yn=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(P(t)){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: progress for a request not added\");m.warn(\"ABR: progress for a request not added\");return}t.progress.push(e)}remove(e){if(P(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: can't remove unknown request\");m.warn(\"ABR: can't remove unknown request\")}delete this._currentRequests[e]}getRequests(){return Ir(this._currentRequests).filter(e=>!P(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function Gr(n,e){let t=re(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var Ws=new j(void 0);Ws.finish();var Vs=new j(1/0);Vs.finish();function wa(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,u,d,f,l){var b,y,E;let{type:c}=s.adaptation,g=a(c),p=(b=t[c])!=null?b:0,h={limitResolution:(y=r.limitResolution[c])!=null?y:Ws,throttleBitrate:(E=r.throttleBitrate[c])!=null?E:Vs};return df({bandwidthEstimator:g,context:s,currentRepresentation:u,filters:h,initialBitrate:p,playbackObserver:f,representations:d,lowLatencyMode:i},l)};function a(o){let s=e[o];if(P(s)){m.debug(\"ABR: Creating new BandwidthEstimator for \",o);let u=new jn;return e[o]=u,u}return s}}function df({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:a,playbackObserver:o,representations:s},u){let d=new Vn,f=new Hn(i!=null?i:0,a),l=new Yn,c=B,g={metrics:E,requestBegin:v,requestProgress:_,requestEnd:C,addedSegment(R){c(R)}},p=new W;p.linkToSignal(u);let h=b(s.getValue(),p.signal);return s.onUpdate(y,{clearSignal:u}),{estimates:h,callbacks:g};function b(R,k){if(R.length<=1)return new j({bitrate:void 0,representation:R[0],urgent:!0,knownStableBitrate:void 0});let A=!1,T=R.sort((K,ee)=>K.bitrate-ee.bitrate),x=new qn(T.map(K=>K.bitrate)),O=new Gn,D=new Kn(d,O),w=o.getReference().getValue(),M=new j(L());return o.listen(K=>{w=K,N()},{includeLastObservation:!1,clearSignal:k}),c=function(K){if(w===null)return;let{position:ee,speed:G}=w,H=K.buffered,V=Br(H,ee.getWanted()),{representation:Q}=K.content,de=d.getEstimate(Q),Se=Q.bitrate,me={bufferGap:V,currentBitrate:Se,currentScore:de,speed:G};x.onAddedSegment(me),N()},k.register(()=>{c=B}),r.throttleBitrate.onUpdate(N,{clearSignal:k}),r.limitResolution.onUpdate(N,{clearSignal:k}),M;function N(){M.setValue(L())}function L(){let{bufferGap:K,position:ee,maximumPosition:G}=w,H=r.limitResolution.getValue(),V=r.throttleBitrate.getValue(),Q=t.getValue(),de=lf(T,H,V),Se=l.getRequests(),{bandwidthEstimate:me,bitrateChosen:He}=f.getBandwidthEstimate(w,n,Q,Se,O.bandwidth),we=d.getLastStableRepresentation(),he=we===null?void 0:we.bitrate/(w.speed>0?w.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:ye,ABR_EXIT_BUFFER_BASED_ALGO:Qt}=z.getCurrent();A&&K<=Qt?A=!1:!A&&isFinite(K)&&K>=ye&&(A=!0);let Ge=Gr(de,He),xe=x.getLastEstimate(),Ot=Ge.bitrate,st=null;A&&xe!==void 0&&xe>Ot&&(st=Gr(de,xe),Ot=st.bitrate);let ut=null;return a&&Q!==null&&e.manifest.isDynamic&&G-ee.getWanted()<40&&(ut=D.getGuess(T,w,Q,Ot,Se)),ut!==null&&ut.bitrate>Ot?(m.debug(\"ABR: Choosing representation with guess-based estimation.\",ut.bitrate,ut.id),O.update(ut,me,2),{bitrate:me,representation:ut,urgent:Q===null||ut.bitrate<Q.bitrate,knownStableBitrate:he}):st!==null?(m.debug(\"ABR: Choosing representation with buffer-based estimation.\",st.bitrate,st.id),O.update(st,me,0),{bitrate:me,representation:st,urgent:f.isUrgent(st.bitrate,Q,Se,w),knownStableBitrate:he}):(m.debug(\"ABR: Choosing representation with bandwidth estimation.\",Ge.bitrate,Ge.id),O.update(Ge,me,1),{bitrate:me,representation:Ge,urgent:f.isUrgent(Ge.bitrate,Q,Se,w),knownStableBitrate:he})}}function y(){let R=s.getValue();p.cancel(),p=new W,p.linkToSignal(u),b(R,p.signal).onUpdate(function(T){h.setValue(T)},{clearSignal:p.signal,emitCurrentValue:!0})}function E(R){let{requestDuration:k,segmentDuration:A,size:T,content:x}=R;if(n.addSample(k,T),!x.segment.isInit){let{segment:O,representation:D}=x;if(A===void 0&&!O.complete)return;let w=A!=null?A:O.duration;d.addSample(D,k/1e3,w)}}function v(R){l.add(R)}function _(R){l.addProgress(R)}function C(R){l.remove(R.id)}}function lf(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Ma(r,t)),e!==void 0&&(r=Oa(r,e)),r}var qs=wa;function Kr(){var t;if(typeof((t=se.crypto)==null?void 0:t.randomUUID)==\"function\")return se.crypto.randomUUID();let n=new Date().getTime(),e=U();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r===\"x\"?i:i&3|8).toString(16)})}var ff=4,Qn=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:Kr(),this._contentId=(r=e.contentId)!=null?r:Kr(),this._typePreference=e.communicationType===\"headers\"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(),this._canceller=new W,this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot=\"m\",e){case\"dash\":t.sf=\"d\";break;case\"smooth\":t.sf=\"s\";break;default:t.sf=\"o\";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var o,s,u,d;let t=(o=this._playbackObserver)==null?void 0:o.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case\"video\":r.ot=\"v\";break;case\"audio\":r.ot=\"a\";break;case\"text\":r.ot=\"c\";break}if(e.segment.isInit&&(r.ot=\"i\"),!P(e.nextSegment)&&e.segment.url!==null&&e.nextSegment.url!==null&&(!e.nextSegment.isInit||e.nextSegment.indexRange===void 0)){let f=e.segment.url,l=e.nextSegment.url,c=Do(f,l);c!==null&&(c!==\".\"&&(r.nor=encodeURIComponent(c)),e.nextSegment.range!==void 0&&(r.nrr=String(e.nextSegment.range[0])+\"-\",isFinite(e.nextSegment.range[1])&&(r.nrr+=String(e.nextSegment.range[1]))))}let i;if(t!==void 0&&(r.ot===\"v\"||r.ot===\"a\"||r.ot===\"av\")){let f=t.buffered[e.adaptation.type];if(!P(f)){let l=(d=(u=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?u:t.position.getWanted())!=null?d:t.position.getPolled();for(let c of f)if(l>=c.start&&l<c.end){i=(c.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let a=i===void 0||t===void 0?void 0:i/t.speed;if(r.dl=a===void 0?void 0:Math.floor(Math.round(a/100)*100),a!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(a/1e3);r.rtp=Math.floor(Math.round(l*ff/100)*100)}switch(e.manifest.transport){case\"dash\":r.sf=\"d\";break;case\"smooth\":r.sf=\"s\";break;default:r.sf=\"o\";break}return r.st=e.manifest.isDynamic?\"l\":\"v\",r.tb=e.adaptation.representations.reduce((f,l)=>l.isSupported!==!0||l.decipherable===!1?f:f===void 0?Math.round(l.bitrate/1e3):Math.max(f,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:\"\",request:\"\",session:\"\",status:\"\"},r=\"\",i=(d,f)=>{this._typePreference===0?t[f]+=d:r+=d},a=(d,f)=>{let l=e[d];if(l!==void 0){let c=`${d}=${String(l)},`;i(c,f)}},o=(d,f)=>{if(e[d]===!0){let l=`${d},`;i(l,f)}},s=(d,f)=>{let l=e[d];if(l!==void 0){let g=`prop=${`\"${l.replace(\"\\\\\",\"\\\\\\\\\").replace('\"','\\\\\"')}\"`},`;i(g,f)}},u=(d,f)=>{let l=e[d];if(l!==void 0){let c=`prop=${l},`;i(c,f)}};return a(\"bl\",\"request\"),a(\"br\",\"object\"),o(\"bs\",\"status\"),s(\"cid\",\"session\"),a(\"d\",\"object\"),a(\"dl\",\"request\"),a(\"mtp\",\"request\"),s(\"nor\",\"request\"),s(\"nrr\",\"request\"),u(\"ot\",\"object\"),a(\"pr\",\"session\"),a(\"rtp\",\"status\"),u(\"sf\",\"session\"),s(\"sid\",\"session\"),u(\"st\",\"session\"),o(\"su\",\"request\"),a(\"tb\",\"object\"),this._typePreference===0?(t.object[t.object.length-1]===\",\"&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===\",\"&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===\",\"&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===\",\"&&(t.status=t.status.substring(0,t.status.length-1)),m.debug(\"CMCD: proposing headers payload\"),{type:\"headers\",value:{\"CMCD-Object\":t.object,\"CMCD-Request\":t.request,\"CMCD-Session\":t.session,\"CMCD-Status\":t.status}}):(r[r.length-1]===\",\"&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),m.debug(\"CMCD: proposing query string payload\",r),{type:\"query\",value:[[\"CMCD\",r]]})}};var Hs=Qn;function ot(n){return n instanceof ae?new je(\"PIPELINE_LOAD_ERROR\",n):be(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function cf(n){return n instanceof ae?n.type===yt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===yt.TIMEOUT||n.type===yt.ERROR_EVENT:n instanceof Ke?typeof n.canRetry==\"boolean\"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412:!1:Dt(n)&&n.code===\"INTEGRITY_ERROR\"}async function Da(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:a,maxDelay:o,maxRetry:s,onRetry:u}=r;n!==null&&n.length===0&&m.warn(\"Fetchers: no CDN given to `scheduleRequestWithCdns`.\");let d=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return c(f);function l(){if(n===null){let b=d.get(null);return b!==void 0&&b.isBlacklisted?void 0:null}else{if(e===null)return h(n);{let b=e.getCdnPreferenceForResource(n);return h(b)}}}async function c(b){try{return await t(b,i)}catch(y){if(W.isCancellationError(y))throw y;b!==null&&e!==null&&e.downgradeCdn(b);let E=d.get(b);if(E===void 0?(E={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},d.set(b,E)):E.errorCounter++,!cf(y))return E.blockedUntil=void 0,E.isBlacklisted=!0,g(y);if(E.errorCounter>s)E.blockedUntil=void 0,E.isBlacklisted=!0;else{let v=E.errorCounter,_=Math.min(a*Math.pow(2,v-1),o),C=Ii(_);E.blockedUntil=U()+C}return g(y)}}async function g(b){let y=l();if(i.isCancelled())throw i.cancellationError;if(y===void 0)throw b;if(u(b),i.isCancelled())throw i.cancellationError;return p(y,b)}function p(b,y){let E=d.get(b);if(E===void 0||E.blockedUntil===void 0)return c(b);let v=U(),_=E.blockedUntil-v;if(_<=0)return c(b);let C=new W,R=C.linkToSignal(i);return new Promise((k,A)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let O=l();if(i.isCancelled())throw i.cancellationError;if(O===void 0)return x(y);O!==b&&(C.cancel(),p(O,y).then(T,x))},C.signal),nn(_,C.signal).then(()=>c(b).then(T,x),B);function T(O){R(),k(O)}function x(O){R(),A(O)}})}function h(b){var E;if(d.size===0)return b[0];let y=U();return(E=b.filter(v=>{var _;return((_=d.get(v))==null?void 0:_.isBlacklisted)!==!0}).reduce((v,_)=>{var R;let C=(R=d.get(_))==null?void 0:R.blockedUntil;return C!==void 0&&C<=y&&(C=void 0),v===void 0?[_,C]:v[1]===void 0?v:C===void 0?[_,void 0]:C<v[1]?[_,C]:v},void 0))==null?void 0:E[0]}}function Ba(n,e,t){return Da(null,null,n,e,t)}var $n=class extends le{constructor(e,t,r){super(),this.scheduleManualRefresh=B,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new W,this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(){this._canceller.cancel(),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Lt?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger(\"manifestReady\",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var d;let t=this._canceller.signal,r=this._settings,i=this._transportName,a=this._pipelines,o=e!=null?e:(d=this._manifestUrls)==null?void 0:d[0],s=this._getBackoffSetting(f=>{this.trigger(\"warning\",ot(f))});try{let f=await u(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw ot(f)}function u(f){var b;let{loadManifest:l}=a,c=r.requestTimeout===void 0?z.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?z.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;c<0&&(c=void 0),g<0&&(g=void 0);let p={timeout:c,connectionTimeout:g,cmcdPayload:(b=r.cmcdDataBuilder)==null?void 0:b.getCmcdDataForManifest(i)};return Ba(()=>l(f,p,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var h;let i=U(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:u}=e,d=this._getBackoffSetting(b=>{this.trigger(\"warning\",ot(b))}),f=r!=null?r:(h=this._manifestUrls)==null?void 0:h[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let b=this._pipelines.parseManifest(e,l,g,a,c);if(mf(b)){let{manifest:y,warnings:E}=await b;return p(y,E)}else return p(b.manifest,b.warnings)}catch(b){throw be(b,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function c(b){try{return await Ba(b,d,a)}catch(y){throw ot(y)}}function g(b){for(let y of b){if(a.isCancelled())return;let E=be(y,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",E)}}function p(b,y){g(y);let E=U()-i;return m.info(`MF: Manifest parsed in ${E}ms`),{manifest:b,sendingTime:s,receivedTime:u,parsingTime:E}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=z.getCurrent(),{lowLatencyMode:a,maxRetry:o}=this._settings,s=a?r.LOW_LATENCY:r.REGULAR,u=a?i.LOW_LATENCY:i.REGULAR,d=o!=null?o:t;return{onRetry:e,baseDelay:s,maxDelay:u,maxRetry:d}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:a,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:o}=z.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,u=!1;this._consecutiveUnsafeMode>0?u=this._consecutiveUnsafeMode<a:s!==void 0&&(u=s>=o);let d=t===void 0?0:U()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-d,0),l=new W;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=c=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:h}=c,b=h&&u,y=t===void 0?0:U()-t,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),v=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:b})},Math.max((p!=null?p:0)-y,E));l.signal.register(()=>{clearTimeout(v)})},e.expired!==null){let c=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},B)},f);l.signal.register(()=>{clearTimeout(c)})}if(e.lifetime!==void 0&&e.lifetime>=0){let c=e.lifetime*1e3-d,g;s===void 0?g=c:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-d,Math.max(c,0)+s),c*6),m.info(\"MUS: Manifest update rythm is too frequent. Postponing next request.\",c,g)):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(c,0)+s,c*6),m.info(\"MUS: Manifest took too long to parse. Postponing next request\",g,g)):g=c;let p=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},Math.max(g,f));l.signal.register(()=>{clearTimeout(p)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,a,o;this._prioritizedContentUrl!==null?(a=!0,o=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(a=!t||i===void 0,o=a?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,m.info('Init: Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(m.info('Init: Not parsing the Manifest in \"unsafeMode\" anymore after '+String(this._consecutiveUnsafeMode)+\" consecutive times.\"),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(o).then(u=>u.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(u=>{this._isRefreshPending=!1;let{manifest:d,sendingTime:f,parsingTime:l}=u,c=U();if(a)e.replace(d);else try{e.update(d)}catch(p){let h=p instanceof Error?p.message:\"unknown error\";m.warn(`MUS: Attempt to update Manifest failed: ${h}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:b}=z.getCurrent(),y=f===void 0?0:U()-f,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),v=B,_=setTimeout(()=>{v(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(b-y,E));v=this._canceller.signal.register(()=>{clearTimeout(_)});return}let g=U()-c;this._recursivelyRefreshManifest(e,{sendingTime:f,parsingTime:l,updatingTime:g})}).catch(u=>{this._isRefreshPending=!1,this._onFatalError(u)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger(\"error\",e),this.dispose())}};function mf(n){return n instanceof Promise}var Na=$n;var Xn=class extends le{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=Gs(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=z.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let a=setTimeout(()=>{let o=Gs(this._downgradedCdnList.metadata,e);o>=0&&this._removeIndexFromDowngradeList(o),this.trigger(\"priorityChange\",null)},i);this._downgradedCdnList.timeouts.push(a),this.trigger(\"priorityChange\",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,a)=>(this._downgradedCdnList.metadata.some(o=>o.id===a.id&&o.baseUrl===a.baseUrl)?i[1].push(a):i[0].push(a),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function Gs(n,e){return n.length===0?-1:e.id!==void 0?re(n,t=>t.id===e.id):re(n,t=>t.baseUrl===e.baseUrl)}function Ua(n,e){let t=new WeakMap;return{createRequest(r,i,a,o){let s=d=>e(r,a,d),u=n.create(s,i,a,o);return t.set(u,s),u},updatePriority(r,i){let a=t.get(r);if(a===void 0){m.warn(\"Fetchers: Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var La=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},Ks=La;var pf=Ce();function Fa({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:a}){let o;a.connectionTimeout===void 0||a.connectionTimeout<0?o=void 0:o=a.connectionTimeout;let s={timeout:a.requestTimeout<0?void 0:a.requestTimeout,connectionTimeout:o,cmcdPayload:void 0},u=ce([\"audio\",\"video\"],n)?new Ks:void 0,{loadSegment:d,parseSegment:f}=e;return async function(c,g,p){var ee,G,H;let{segment:h,adaptation:b,representation:y,manifest:E,period:v}=c,_=_t(c),C=pf(),R,k=[],A=0,T=!1,x={segment:h,type:b.type,language:b.language,isLive:E.isLive,periodStart:v.start,periodEnd:v.end,mimeType:y.mimeType,codecs:y.codecs[0],manifestPublishTime:E.publishTime},O={onProgress(V){var Q;R===void 0&&V.totalSize!==void 0&&V.size<V.totalSize&&((Q=i.onProgress)==null||Q.call(i,{duration:V.duration,size:V.size,totalSize:V.totalSize,timestamp:U(),id:C}))},onNewChunk(V){g.onChunk(N(V,!0))}},D=u!==void 0?u.get(c):null;if(D!==null)return m.debug(\"SF: Found wanted segment in cache\",_),g.onChunk(N(D,!1)),Promise.resolve();m.debug(\"SF: Beginning request\",_),(ee=i.onRequestBegin)==null||ee.call(i,{requestTimestamp:U(),id:C,content:c}),p.register(w);try{let V=await Da(c.representation.cdnMetadata,t,M,q({onRetry:L},a),p);if(V.resultType===\"segment-loaded\"){let Q=V.resultData.responseData;u!==void 0&&u.add(c,V.resultData.responseData),g.onChunk(N(Q,!1))}else V.resultType===\"segment-created\"&&g.onChunk(N(V.resultData,!1));m.debug(\"SF: Segment request ended with success\",_),g.onAllChunksReceived(),V.resultType!==\"segment-created\"?(R=V.resultData,K()):R=null,p.isCancelled()||(G=i.onRequestEnd)==null||G.call(i,{id:C}),p.deregister(w)}catch(V){throw p.deregister(w),R=null,V instanceof oe?(m.debug(\"SF: Segment request aborted\",_),V):(m.debug(\"SF: Segment request failed\",_),(H=i.onRequestEnd)==null||H.call(i,{id:C}),ot(V))}function w(){var V;R===void 0&&(m.debug(\"SF: Segment request cancelled\",_),R=null,(V=i.onRequestEnd)==null||V.call(i,{id:C}))}function M(V){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(c),d(V,x,s,p,O)}function N(V,Q){k.push(!1);let de=k.length-1;return function(me){let He={data:V,isChunked:Q};try{let we=f(He,x,me);return k[de]||(A=A!==void 0&&we.segmentType===\"media\"&&we.chunkInfos!==null&&we.chunkInfos.duration!==void 0?A+we.chunkInfos.duration:void 0,k[de]=!0,K()),we}catch(we){throw be(we,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}}function L(V){g.onRetry(ot(V))}function K(){var V;T||!P(R)&&R.size!==void 0&&R.requestDuration!==void 0&&k.length>0&&k.every(Q=>Q)&&(T=!0,(V=i.onMetrics)==null||V.call(i,{size:R.size,requestDuration:R.requestDuration,content:c,segmentDuration:A}))}}}function js({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:a,DEFAULT_CONNECTION_TIMEOUT:o,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:u}=z.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?u.LOW_LATENCY:u.REGULAR,requestTimeout:t===void 0?a:t,connectionTimeout:r===void 0?o:r}}var Zn=class extends le{constructor(e){super(),this._segmentFetcher=e,this._currentContentInfo=null}getRequestedInitSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.initSegmentRequest)==null?void 0:t.segment)!=null?r:null}getRequestedMediaSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.mediaSegmentRequest)==null?void 0:t.segment)!=null?r:null}resetForContent(e,t){var o;(o=this._currentContentInfo)==null||o.currentCanceller.cancel();let r=new j({initSegment:null,segmentQueue:[]}),i=new W;i.signal.register(()=>{r.finish()});let a={content:e,downloadQueue:r,initSegmentInfoRef:t?new j(void 0):new j(null),currentCanceller:i,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=a,r.onUpdate(s=>{let{segmentQueue:u}=s;if(u.length>0&&u[0].segment.id===a.mediaSegmentAwaitingInitMetadata)return;let d=a.mediaSegmentRequest;if(u.length===0){if(d===null)return;m.debug(\"SQ: no more media segment to request. Cancelling queue.\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}else if(d===null){m.debug(\"SQ: Media segments now need to be requested. Starting queue.\",e.adaptation.type,u.length),this._restartMediaSegmentDownloadingQueue(a);return}else{let f=u[0];if(d.segment.id!==f.segment.id){m.debug(\"SQ: Next media segment changed, cancelling previous\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}d.priority!==f.priority&&(m.debug(\"SQ: Priority of next media segment changed, updating\",e.adaptation.type,d.priority,f.priority),this._segmentFetcher.updatePriority(d.request,f.priority));return}},{emitCurrentValue:!0,clearSignal:i.signal}),r.onUpdate(s=>{var d;let u=a.initSegmentRequest;if(s.initSegment!==null&&u!==null){s.initSegment.priority!==u.priority&&this._segmentFetcher.updatePriority(u.request,s.initSegment.priority);return}else if(((d=s.initSegment)==null?void 0:d.segment.id)===(u==null?void 0:u.segment.id))return;s.initSegment===null&&m.debug(\"SQ: no more init segment to request. Cancelling queue.\",e.adaptation.type),this._restartInitSegmentDownloadingQueue(a,s.initSegment)},{emitCurrentValue:!0,clearSignal:i.signal}),r}stop(){var e;(e=this._currentContentInfo)==null||e.currentCanceller.cancel(),this._currentContentInfo=null}_restartMediaSegmentDownloadingQueue(e){e.mediaSegmentRequest!==null&&e.mediaSegmentRequest.canceller.cancel();let{downloadQueue:t,content:r,initSegmentInfoRef:i,currentCanceller:a}=e,o=()=>{var v;let{segmentQueue:s}=t.getValue(),u=s[0];if(a!==null&&a.isUsed()){e.mediaSegmentRequest=null;return}if(u===void 0){e.mediaSegmentRequest=null,this.trigger(\"emptyQueue\",null);return}let d=new W,f=a===null?B:d.linkToSignal(a.signal),{segment:l,priority:c}=u,g=q({segment:l,nextSegment:(v=s[1])==null?void 0:v.segment},r),p=!1,h=!1;d.signal.register(()=>{e.mediaSegmentRequest=null,!p&&(e.mediaSegmentAwaitingInitMetadata===l.id&&(e.mediaSegmentAwaitingInitMetadata=null),p=!0,h=!1)});let b=_=>{ue(_.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",q({},_,{segment:l}))},y=()=>{let _=t.getValue().segmentQueue;if(_.length===0){p=!0,this.trigger(\"emptyQueue\",null);return}else _[0].segment.id===l.id&&_.shift();p=!0,o()},E=this._segmentFetcher.createRequest(g,c,{onRetry:_=>{this.trigger(\"requestRetry\",{segment:l,error:_})},beforeInterrupted(){m.info(\"SQ: segment request interrupted temporarly.\",l.id,l.time)},onChunk:_=>{let C=i.getValue();C!==void 0?b(_(C!=null?C:void 0)):(h=!0,i.waitUntilDefined(R=>{b(_(R!=null?R:void 0))},{clearSignal:d.signal}))},onAllChunksReceived:()=>{h?(e.mediaSegmentAwaitingInitMetadata=l.id,i.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,h=!1,this.trigger(\"fullyLoadedSegment\",l)},{clearSignal:d.signal})):this.trigger(\"fullyLoadedSegment\",l)},beforeEnded:()=>{f(),e.mediaSegmentRequest=null,h?i.waitUntilDefined(y,{clearSignal:d.signal}):y()}},d.signal);E.catch(_=>{f(),p||(p=!0,this.stop(),this.trigger(\"error\",_))}),e.mediaSegmentRequest={segment:l,priority:c,request:E,canceller:d}};o()}_restartInitSegmentDownloadingQueue(e,t){let{content:r,initSegmentInfoRef:i}=e;if(e.initSegmentRequest!==null&&e.initSegmentRequest.canceller.cancel(),t===null)return;let a=new W,o=e.currentCanceller===null?B:a.linkToSignal(e.currentCanceller.signal),{segment:s,priority:u}=t,d=q({segment:s,nextSegment:void 0},r),f=!1,l=this._segmentFetcher.createRequest(d,u,{onRetry:c=>{this.trigger(\"requestRetry\",{segment:s,error:c})},beforeInterrupted:()=>{m.info(\"SQ: init segment request interrupted temporarly.\",s.id)},beforeEnded:()=>{o(),e.initSegmentRequest=null,f=!0},onChunk:c=>{var p;let g=c(void 0);ue(g.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",q({},g,{segment:s})),g.segmentType===\"init\"&&i.setValue((p=g.initTimescale)!=null?p:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",s)}},a.signal);l.catch(c=>{o(),f||(f=!0,this.stop(),this.trigger(\"error\",c))}),a.signal.register(()=>{e.initSegmentRequest=null,!f&&(f=!0)}),e.initSegmentRequest={segment:s,priority:u,request:l,canceller:a}}};var er=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"TP: the max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return Tt(i,(o,s)=>(a={hasEnded:!1,priority:t,trigger:()=>{if(a.hasEnded)return;let d=()=>{g(),this._endTask(a)},f=p=>{r.beforeEnded(),d(),o(p)},l=p=>{d(),s(p)},c=new W,g=c.linkToSignal(i);a.interrupter=c,c.signal.register(()=>{a.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?a.priority:Math.min(this._minPendingPriority,a.priority),this._pendingTasks.push(a),a.taskFn(c.signal).then(f).catch(p=>{!i.isCancelled()&&c.isUsed()&&p instanceof oe||l(p)})},taskFn:e,interrupter:null},this._canBeStartedNow(a)?(a.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(a),()=>this._endTask(a)))}_endTask(e){e.hasEnded=!0;let t=Jn(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=Jn(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=Jn(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=Jn(e,this._pendingTasks);if(i<0){m.warn(\"TP: request to update the priority of a non-existent task\");return}let a=this._pendingTasks[i];if(a.priority===t)return;let o=a.priority;a.priority=t,this._minPendingPriority===null||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===o&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e of this._pendingTasks)if(e.priority>=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(m.warn(\"TP : Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=Jn(e.taskFn,this._pendingTasks);if(t<0){m.warn(\"TP: Interrupting a non-existent pending task. Aborting...\");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel()}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function Jn(n,e){return re(e,t=>t.taskFn===n)}var tr=class{constructor(e,t,r,i){let a=new Xn(i),{MIN_CANCELABLE_PRIORITY:o,MAX_HIGH_PRIORITY_LEVEL:s}=z.getCurrent();this._transport=e,this._prioritizer=new er({prioritySteps:{high:s,low:o}}),this._cdnPrioritizer=a,this._backoffOptions=r,this._cmcdDataBuilder=t}createSegmentQueue(e,t){let r=js(this._backoffOptions),i=this._transport[e],a=Fa({bufferType:e,pipeline:i,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:r}),o=Ua(this._prioritizer,a);return new Zn(o)}};var za=tr;var nr=class{constructor(e){this._segmentSinksStore=e,this._currentFreezeTimestamp=null}needToReload(e){let{readyState:t,rebuffering:r,freezing:i}=e;if((e.bufferGap!==void 0&&isFinite(e.bufferGap)?e.bufferGap:0)<6||r===null&&i===null||t>1)return this._currentFreezeTimestamp=null,!1;let o=U();this._currentFreezeTimestamp===null&&(this._currentFreezeTimestamp=o);let s=r!==null&&o-r.timestamp>4e3,u=i!==null&&o-i.timestamp>4e3;if((s||u)&&U()-this._currentFreezeTimestamp>4e3){let d=this._segmentSinksStore.getStatus(\"audio\"),f=this._segmentSinksStore.getStatus(\"video\"),l=!0,c=!0;for(let g of[d,f])if(g.type===\"initialized\")for(let p of g.value.getLastKnownInventory()){let{representation:h}=p.infos;if(h.decipherable===!1)return m.warn(\"Init: we have undecipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0;h.contentProtections!==void 0&&(c=!1,h.decipherable!==!0&&(l=!1))}if(!c&&l)return m.warn(\"Init: we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0}return!1}};var{DEFAULT_WANTED_BUFFER_AHEAD:gf,DEFAULT_MAX_VIDEO_BUFFER_SIZE:hf,DEFAULT_MAX_BUFFER_AHEAD:If,DEFAULT_MAX_BUFFER_BEHIND:bf}=z.getCurrent(),Wa=new j(gf),Va=new j(hf),qa=new j(If),Ha=new j(bf),jr=new j({height:void 0,width:void 0,pixelRatio:1}),Yr=new j(1/0);function X(n,e){m.debug(\"<--- Sending to Main:\",n.type),e===void 0?postMessage(n):postMessage(n,e)}function Oe(n){return be(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}var rr=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,u,d,f,l,c;for(let g of this._refs.keys())(t=(e=this._refs.get(g))==null?void 0:e.audio)==null||t.trackReference.finish(),(i=(r=this._refs.get(g))==null?void 0:r.audio)==null||i.representations.finish(),(o=(a=this._refs.get(g))==null?void 0:a.video)==null||o.trackReference.finish(),(u=(s=this._refs.get(g))==null?void 0:s.video)==null||u.representations.finish(),(f=(d=this._refs.get(g))==null?void 0:d.text)==null||f.trackReference.finish(),(c=(l=this._refs.get(g))==null?void 0:l.text)==null||c.representations.finish();this._refs=new Map}addTrackSetter(e,t,r){var s,u;let i=this._refs.get(e);i===void 0&&(i={},this._refs.set(e,i)),i[t]!==void 0&&(m.warn(\"WP: Track for periodId already declared\",e,t),(s=i[t])==null||s.trackReference.finish(),(u=i[t])==null||u.representations.finish());let a=r.getValue(),o;P(a)?o=new j({representationIds:[],switchingMode:\"lazy\"}):(o=new j(a.representations.getValue()),r.setValue(q({},a,{representations:o}))),i[t]={trackReference:r,representations:o}}setTrack(e,t,r){var a;let i=(a=this._refs.get(e))==null?void 0:a[t];return i===void 0?(m.debug(\"WP: Setting track for inexistent periodId\",e,t),!1):(P(r)?(i.representations=new j({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new j(r.initialRepresentations),i.trackReference.setValue({adaptationId:r.adaptationId,switchingMode:r.switchingMode,representations:i.representations,relativeResumingPosition:r.relativeResumingPosition})),!0)}updateRepresentations(e,t,r,i){var s;let a=(s=this._refs.get(e))==null?void 0:s[r];if(a===void 0)return m.debug(\"WP: Setting track for inexistent periodId\",e,r),!1;let o=a.trackReference.getValue();return P(o)||o.adaptationId!==t?(m.debug(\"WP: Desynchronized Adaptation id\",o==null?void 0:o.adaptationId,t),!1):(a.representations.setValue(i),!0)}removeTrackSetter(e,t){let r=this._refs.get(e),i=r==null?void 0:r[t];return r===void 0||i===void 0?(m.debug(\"WP: Removing track setter for inexistent periodId\",e,t),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};var ir=class{constructor(e,t){this._contentId=e,this._messageSender=t,this._queues={pushTextData:[],remove:[]}}pushTextData(e){return new Promise((t,r)=>{this._messageSender({type:\"push-text-data\",contentId:this._contentId,value:e}),this._queues.pushTextData.push({resolve:t,reject:r})})}remove(e,t){return new Promise((r,i)=>{this._messageSender({type:\"remove-text-data\",contentId:this._contentId,value:{start:e,end:t}}),this._queues.remove.push({resolve:r,reject:i})})}reset(){this._messageSender({type:\"reset-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue()}stop(){this._messageSender({type:\"stop-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue()}_resetCurrentQueue(){let e=new oe;this._queues.pushTextData.forEach(t=>{t.reject(e)}),this._queues.remove.forEach(t=>{t.reject(e)})}onPushedTrackSuccess(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){m.error(\"WMS: remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}};var Ys=Ce(),Yt=class{constructor({hasMseInWorker:e,hasVideo:t}){this._currentContent=null,this._currentMediaSourceCanceller=new W,this._hasVideo=t,this._hasMseInWorker=e;let r=new W;this._contentCanceller=r}initializeNewContent(e){return new Promise((t,r)=>{var A,T;this.disposeCurrentContent();let i=this._contentCanceller,a=new W;this._currentMediaSourceCanceller=a,a.linkToSignal(i.signal);let{contentId:o,url:s,hasText:u,transportOptions:d}=e,f=null;ue(ke.transports.dash!==void 0,\"Multithread RxPlayer should have access to the DASH feature\");let l=typeof d.representationFilter==\"string\"?vo(d.representationFilter):void 0,c=ke.transports.dash(ie(Z({},d),{representationFilter:l})),g=e.cmcd===void 0?null:new Hs(e.cmcd),p=new Na(s===void 0?void 0:[s],c,Z({cmcdDataBuilder:g},e.manifestRetryOptions)),h=qs({initialBitrates:{audio:(A=e.initialAudioBitrate)!=null?A:0,video:(T=e.initialVideoBitrate)!=null?T:0},lowLatencyMode:d.lowLatencyMode,throttlers:{limitResolution:{video:jr},throttleBitrate:{video:Yr}}}),b=a.signal.register(x=>{r(x)}),y=new za(c,g,e.segmentRetryOptions,i.signal),E=new rr,[v,_,C]=Qs(o,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:u},a.signal),R=new nr(_);this._currentContent={cmcdDataBuilder:g,contentId:o,decipherabilityFreezeDetector:R,mediaSource:v,manifest:null,manifestFetcher:p,representationEstimator:h,segmentSinksStore:_,segmentQueueCreator:y,workerTextSender:C,trackChoiceSetter:E},v.addEventListener(\"mediaSourceOpen\",function(){k()},a.signal),i.signal.register(()=>{p.dispose()}),p.addEventListener(\"warning\",x=>{X({type:\"warning\",contentId:o,value:Oe(x)})},i.signal),p.addEventListener(\"manifestReady\",x=>{if(f!==null){m.warn(\"WP: Multiple `manifestReady` events, ignoring\");return}f=x,this._currentContent!==null&&(this._currentContent.manifest=f),k()},a.signal),p.addEventListener(\"error\",x=>{r(x)},i.signal),p.start();function k(){if(f===null||v.readyState===\"closed\"||a.isUsed())return;let x=f.getMetadataSnapshot();f.addEventListener(\"manifestUpdate\",O=>{if(f===null)return;let D=q(f.getMetadataSnapshot(),{periods:[]});X({type:\"manifest-update\",contentId:o,value:{manifest:D,updates:O}})},i.signal),b(),t(x)}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(e){if(this._currentMediaSourceCanceller.cancel(),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),this._currentMediaSourceCanceller=new W,X({type:\"reloading-media-source\",contentId:this._currentContent.contentId,value:e},[]);let[t,r,i]=Qs(this._currentContent.contentId,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:this._currentContent.workerTextSender!==null},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=t,this._currentContent.segmentSinksStore=r,this._currentContent.workerTextSender=i,new Promise((a,o)=>{t.addEventListener(\"mediaSourceOpen\",function(){a()},this._currentMediaSourceCanceller.signal),t.addEventListener(\"mediaSourceClose\",function(){o(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(s=>{o(s)})})}disposeCurrentContent(){this._contentCanceller.cancel(),this._contentCanceller=new W}};function Qs(n,e,t){let r;if(e.hasMseInWorker){let s=new zn(Ys());r=s;let u,d=s.handle;if(d.type===\"handle\")u={type:\"handle\",value:d.value};else{let f=URL.createObjectURL(d.value);u={type:\"url\",value:f},t.register(()=>{URL.revokeObjectURL(f)})}X({type:\"attach-media-source\",contentId:n,value:u,mediaSourceId:r.id},[d.value])}else r=new Wn(Ys(),n,X);let i=e.hasText?new ir(n,X):null,{hasVideo:a}=e,o=new St(r,a,i);return t.register(()=>{o.disposeAll(),i==null||i.stop(),r.dispose()}),[r,o,i]}function Ga(){let n=!1,e=new Yt({hasMseInWorker:!1,hasVideo:!0}),t=null,r=new as;ke.dashParsers.wasm=r,ke.dashParsers.fastJs=Go,ke.transports.dash=ms;let i=null;onmessage=function(a){var s,u;m.debug(\"Worker: received message\",a.data.type);let o=a.data;switch(o.type){case\"init\":ue(!n),n=!0,Qa(o.value),$s(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs),o.value.dashWasmUrl!==void 0&&r.isCompatible()&&r.initialize({wasmUrl:o.value.dashWasmUrl}).catch(d=>{let f=d instanceof Error?d.toString():\"Unknown Error\";m.error(\"Worker: Could not initialize DASH_WASM parser\",f)}),(!o.value.hasVideo||o.value.hasMseInWorker)&&(e.disposeCurrentContent(),e=new Yt({hasMseInWorker:o.value.hasMseInWorker,hasVideo:o.value.hasVideo})),X({type:\"init-success\",value:null});break;case\"log-level-update\":$s(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs);break;case\"prepare\":Sf(e,o.value);break;case\"start\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;t!==null&&(t.cancel(),t=null);let f=new W,l=new j(q(o.value.initialObservation,{position:new xt(...o.value.initialObservation.position)}));i=l,t=f,t.signal.register(()=>{l.finish()}),Xs(o.value,e,l,f.signal);break}case\"observation\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;let f=o.value,{buffered:l}=f,c=Pa(d.mediaSource,null);c.audio!==null&&(l.audio=c.audio),c.video!==null&&(l.video=c.video),i==null||i.setValue(q(f,{position:new xt(...o.value.position)}));break}case\"ref-update\":yf(o);break;case\"stop\":if(o.contentId!==((s=e.getCurrentContent())==null?void 0:s.contentId))return;e.disposeCurrentContent(),t!==null&&(t.cancel(),t=null);break;case\"sb-success\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;let{sourceBuffers:f}=d.mediaSource,l=Y(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Success for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationSuccess===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",o.sourceBufferType);return}l.onOperationSuccess(o.operationId,o.value.buffered);break}case\"sb-error\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;let{sourceBuffers:f}=d.mediaSource,l=Y(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Error for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationFailure===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",o.sourceBufferType);return}l.onOperationFailure(o.operationId,o.value);break}case\"media-source-ready-state-change\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;if(d.mediaSource.onMediaSourceReadyStateChanged===void 0){m.warn(\"WP: A MediaSourceInterface with MSE performed a cross-thread operation\");return}d.mediaSource.onMediaSourceReadyStateChanged(o.value);break}case\"decipherability-update\":{if(o.contentId!==((u=e.getCurrentContent())==null?void 0:u.contentId))return;let d=e.getCurrentContent();if(d===null||d.manifest===null)return;let f=o.value;d.manifest.updateRepresentationsDeciperability(l=>{for(let c of f)if(l.representation.uniqueId===c.representationUniqueId)return c.decipherable;return l.representation.decipherable});break}case\"codec-support-update\":{let d=e.getCurrentContent();if(d===null||d.manifest===null)return;let f=o.value;try{let l=d.manifest.updateCodecSupport(f);l!==null&&X({type:\"warning\",contentId:d.contentId,value:Oe(l)})}catch(l){X({type:\"error\",contentId:d.contentId,value:Oe(l)})}break}case\"urls-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.manifestFetcher.updateContentUrls(o.value.urls,o.value.refreshNow);break}case\"track-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.trackChoiceSetter.setTrack(o.value.periodId,o.value.bufferType,o.value.choice);break}case\"rep-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.trackChoiceSetter.updateRepresentations(o.value.periodId,o.value.adaptationId,o.value.bufferType,o.value.choice);break}case\"add-text-success\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Added text track but text track aren't enabled\");return}d.workerTextSender.onPushedTrackSuccess(o.value.ranges);break}case\"push-text-error\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Added text track but text track aren't enabled\");return}d.workerTextSender.onPushedTrackError(new Error(o.value.message));break}case\"remove-text-success\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Removed text track but text track aren't enabled\");return}d.workerTextSender.onRemoveSuccess(o.value.ranges);break}case\"remove-text-error\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Removed text track but text track aren't enabled\");return}d.workerTextSender.onRemoveError(new Error(o.value.message));break}case\"pull-segment-sink-store-infos\":{Tf(e,o.value.messageId);break}default:Fe(o)}}}function Sf(n,e){n.initializeNewContent(e).then(t=>{X({type:\"manifest-ready\",contentId:e.contentId,value:{manifest:t}})},t=>{X({type:\"error\",contentId:e.contentId,value:Oe(t)})})}function yf(n){switch(n.value.name){case\"wantedBufferAhead\":Wa.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":Va.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":Ha.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":qa.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":jr.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":Yr.setValueIfChanged(n.value.newVal);break;default:Fe(n.value)}}function Xs(n,e,t,r){var A;let i=new W;i.linkToSignal(r);let a=new Map,o=e.getCurrentContent();if(o===null||o.manifest===null){let T=new Ie(\"NONE\",\"Loading content when none is prepared\");X({type:\"error\",contentId:void 0,value:Oe(T)});return}let{contentId:s,cmcdDataBuilder:u,manifest:d,mediaSource:f,representationEstimator:l,segmentSinksStore:c,segmentQueueCreator:g}=o,{drmSystemId:p,enableFastSwitching:h,initialTime:b,onCodecSwitch:y}=n;if(t.onUpdate(T=>{o.decipherabilityFreezeDetector.needToReload(T)&&k({timeOffset:0,minimumPosition:0,maximumPosition:1/0}),[\"video\",\"audio\",\"text\"].forEach(x=>{var D;let O=c.getStatus(x);O.type===\"initialized\"&&O.value.synchronizeInventory((D=T.buffered[x])!=null?D:[])})}),((A=d.getPeriodForTime(b))!=null?A:d.getNextPeriod(b))===void 0){let T=new $(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");X({type:\"error\",contentId:s,value:Oe(T)});return}let v=new Rn(t,s,X,i.signal);u==null||u.startMonitoringPlayback(v),i.signal.register(()=>{u==null||u.stopMonitoringPlayback()});let _=Ra(d,f,v,c,{onWarning:T=>X({type:\"warning\",contentId:s,value:Oe(T)}),onPeriodChanged:T=>{X({type:\"active-period-changed\",contentId:s,value:{periodId:T.id}})}},i.signal);ws({initialPeriod:d.periods[0],manifest:d},v,l,c,g,{wantedBufferAhead:Wa,maxVideoBufferSize:Va,maxBufferAhead:qa,maxBufferBehind:Ha,drmSystemId:p,enableFastSwitching:h,onCodecSwitch:y},C(),i.signal);function C(){return{needsBufferFlush(T){X({type:\"needs-buffer-flush\",contentId:s,value:T})},streamStatusUpdate(T){R(T),d.isLastPeriodKnown&&T.period.id===d.periods[d.periods.length-1].id&&(T.hasFinishedLoading||T.isEmptyStream?_.onLastSegmentFinishedLoading(T.bufferType):_.onLastSegmentLoadingResume(T.bufferType))},needsManifestRefresh(){e.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:T}=z.getCurrent();e.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:T})},lockedStream(T){X({type:\"locked-stream\",contentId:s,value:{periodId:T.period.id,bufferType:T.bufferType}})},adaptationChange(T){var x,O;_.onAdaptationChange(T.type,T.period,T.adaptation),!i.signal.isCancelled()&&X({type:\"adaptation-changed\",contentId:s,value:{adaptationId:(O=(x=T.adaptation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},representationChange(T){var x,O;_.onRepresentationChange(T.type,T.period),!i.signal.isCancelled()&&X({type:\"representation-changed\",contentId:s,value:{adaptationId:T.adaptation.id,representationId:(O=(x=T.representation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},inbandEvent(T){X({type:\"inband-event\",contentId:s,value:T})},warning(T){X({type:\"warning\",contentId:s,value:Oe(T)})},periodStreamReady(T){o!==null&&(o.trackChoiceSetter.addTrackSetter(T.period.id,T.type,T.adaptationRef),X({type:\"period-stream-ready\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}}))},periodStreamCleared(T){if(o===null)return;let x=a.get(T.period);x!==void 0&&(x.delete(T.type),x.size===0&&a.delete(T.period)),_.onPeriodCleared(T.type,T.period),o.trackChoiceSetter.removeTrackSetter(T.period.id,T.type),X({type:\"period-stream-cleared\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}})},bitrateEstimateChange(T){var x;o!==null&&((x=o.cmcdDataBuilder)==null||x.updateThroughput(T.type,T.bitrate)),X({type:\"bitrate-estimate-change\",contentId:s,value:{bitrate:T.bitrate,bufferType:T.type}})},needsMediaSourceReload(T){k(T)},needsDecipherabilityFlush(){X({type:\"needs-decipherability-flush\",contentId:s,value:null})},encryptionDataEncountered(T){for(let x of T){let O=x.content,D=Z({},O);D.manifest instanceof Lt&&(D.manifest=D.manifest.getMetadataSnapshot()),D.period instanceof mt&&(D.period=D.period.getMetadataSnapshot()),D.adaptation instanceof dt&&(D.adaptation=D.adaptation.getMetadataSnapshot()),D.representation instanceof tn&&(D.representation=D.representation.getMetadataSnapshot()),X({type:\"encryption-data-encountered\",contentId:s,value:{keyIds:x.keyIds,values:x.values,content:D,type:x.type}})}},error(T){X({type:\"error\",contentId:s,value:Oe(T)})}}}function R(T){let{imminentDiscontinuity:x}=T,O=a.get(T.period),D=O==null?void 0:O.get(T.bufferType);if(D!==void 0){if(D.discontinuity===null){if(x===null)return}else if(x!==null&&D.discontinuity.start===x.start&&D.discontinuity.end===x.end)return}O===void 0&&(O=new Map,a.set(T.period,O));let w={periodId:T.period.id,bufferType:T.bufferType,discontinuity:T.imminentDiscontinuity,position:T.position};O.set(T.bufferType,w),X({type:\"discontinuity-update\",contentId:s,value:w})}function k(T){let O=t.getValue().position.getWanted();i!==null&&i.cancel(),e.reloadMediaSource(T).then(()=>{Xs({initialTime:O,drmSystemId:n.drmSystemId,enableFastSwitching:n.enableFastSwitching,onCodecSwitch:n.onCodecSwitch},e,t,r)},D=>{if(W.isCancellationError(D)){m.info(\"WP: A reloading operation was cancelled\");return}X({type:\"error\",contentId:s,value:Oe(D)})})}}function $s(n,e,t){t?m.setLevel(n,\"standard\",(r,i)=>{let a=i.map(o=>o instanceof Error?Oe(o):o);postMessage({type:\"log\",value:{logLevel:r,logs:a}})}):m.setLevel(n,e)}function Tf(n,e){let t=n.getCurrentContent();if(t===null)return;let r=t.segmentSinksStore.getSegmentSinksMetrics();X({type:\"segment-sink-store-update\",contentId:t.contentId,value:{segmentSinkMetrics:r,messageId:e}})}var Zs=Ga;Zs();})();\n" + "})()"], { type: "application/javascript" });
4
+ var blob = new Blob(["(function(){" + "\"use strict\";(()=>{var eu=Object.defineProperty,tu=Object.defineProperties;var nu=Object.getOwnPropertyDescriptors;var Ka=Object.getOwnPropertySymbols;var ru=Object.prototype.hasOwnProperty,iu=Object.prototype.propertyIsEnumerable;var ja=(n,e,t)=>e in n?eu(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Z=(n,e)=>{for(var t in e||(e={}))ru.call(e,t)&&ja(n,t,e[t]);if(Ka)for(var t of Ka(e))iu.call(e,t)&&ja(n,t,e[t]);return n},ie=(n,e)=>tu(n,nu(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var Ya={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:\"native\",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:\"continue\",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:\"none\",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs=\"avc1.4d401e\"','video/mp4;codecs=\"avc1.42e01e\"','video/mp4;codecs=\"hvc1.1.6.L93.B0\"','video/webm;codecs=\"vp8\"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs=\"mp4a.40.2\"',\"audio/webm;codecs=opus\"],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:[\"HW_SECURE_ALL\",\"HW_SECURE_DECODE\",\"HW_SECURE_CRYPTO\",\"SW_SECURE_DECODE\",\"SW_SECURE_CRYPTO\"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:[\"3000\",\"2000\"],EME_KEY_SYSTEMS:{clearkey:[\"webkit-org.w3.clearkey\",\"org.w3.clearkey\"],widevine:[\"com.widevine.alpha\"],playready:[\"com.microsoft.playready.recommendation\",\"com.microsoft.playready\",\"com.chromecast.playready\",\"com.youtube.playready\"],fairplay:[\"com.apple.fps.1_0\"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:\"reload\",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:\"seamless\"},Qa=Ya;function ou(n,...e){if(n==null)throw new TypeError(\"Cannot convert undefined or null to object\");let t=Object(n);for(let r of e)for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i]);return t}var q=typeof Object.assign==\"function\"?Object.assign:ou;function Qr(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function $t(n,...e){if(e.length===0)return n;let t=e.shift();if(Qr(n)&&Qr(t))for(let r in t)if(Qr(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),$t(i,t[r])}else q(n,{[r]:t[r]});return $t(n,...e)}function P(n){return n==null}var se=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=this._listeners[e];Array.isArray(i)?i.push(t):this._listeners[e]=[t],r!==void 0&&r.register(()=>{this.removeEventListener(e,t)})}removeEventListener(e,t){if(P(e)){this._listeners={};return}let r=this._listeners[e];if(!Array.isArray(r))return;if(P(t)){delete this._listeners[e];return}let i=r.indexOf(t);i!==-1&&r.splice(i,1),r.length===0&&delete this._listeners[e]}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i(t)}catch(a){if(I.CURRENT_ENV===I.DEV)throw a instanceof Error?a:new Error(\"EventEmitter: listener error\");console.error(\"RxPlayer: EventEmitter error\",a instanceof Error?a:null)}})}};var $r=class extends se{constructor(){super(...arguments);this.updated=!1;this._config=Qa}update(t){let r=$t(this._config,t);this._config=r,this.updated=!0,this.trigger(\"update\",t)}getCurrent(){return this._config}},su=new $r,F=su;var Ge=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"CustomLoaderError\",this.canRetry=t,this.xhr=r}};function re(n,e,t){if(typeof Array.prototype.findIndex==\"function\")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}function B(){}var ar=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error(\"Finished shared references cannot be updated\");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if((t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let a=this._listeners.indexOf(i);a>=0&&this._listeners.splice(a,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),(t==null?void 0:t.emitCurrentValue)===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}(t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return B;let r=()=>{let o=re(this._onFinishCbs,s=>s.trigger===i);o>=0&&(this._onFinishCbs[o].hasBeenCleared=!0,this._onFinishCbs.splice(o,1))},i=()=>{r(),e()},a=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),a}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function Xt(n,e,t){let r=new ar(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var j=ar;var Xr=new j(0);function $a({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;Xr.setValueIfChanged(r-t)}var uu=typeof performance!=\"undefined\"?()=>performance.now()+Xr.getValue():()=>Date.now()+Xr.getValue(),L=uu;var du=\"NONE\",Zt=class extends se{constructor(){super(),this.error=B,this.warn=B,this.info=B,this.debug=B,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat=\"standard\",this._currentLevel=du}setLevel(e,t,r){let i,a=this._levels[e];typeof a==\"number\"?(i=a,this._currentLevel=e):(i=0,this._currentLevel=\"NONE\");let o;if(t===\"standard\"||t===\"full\"?o=t:o=\"standard\",o===\"full\"&&o!==this._currentFormat){let u=L();console.log(String(u.toFixed(2)),\"[Init]\",`Local-Date: ${Date.now()}`)}this._currentFormat=o;let s=this._currentFormat===\"full\"?(u,d)=>(...f)=>{let l=L();return d(String(l.toFixed(2)),`[${u}]`,...f)}:(u,d)=>d;if(r===void 0)this.error=i>=this._levels.ERROR?s(\"error\",console.error.bind(console)):B,this.warn=i>=this._levels.WARNING?s(\"warn\",console.warn.bind(console)):B,this.info=i>=this._levels.INFO?s(\"info\",console.info.bind(console)):B,this.debug=i>=this._levels.DEBUG?s(\"log\",console.log.bind(console)):B;else{let u=d=>i>=this._levels[d]?(...f)=>r(d,f):B;this.error=u(\"ERROR\"),this.warn=u(\"WARNING\"),this.info=u(\"INFO\"),this.debug=u(\"DEBUG\")}this.trigger(\"onLogLevelChange\",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};var lu=new Zt,m=lu;var wt=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var fu=typeof window==\"undefined\"&&!wt,or=fu;var sr;wt?sr=self:or?sr=global:sr=window;var ue=sr;var ae=class n extends Error{constructor(e,t,r){let i;switch(r){case\"TIMEOUT\":i=\"The request timed out\";break;case\"ERROR_EVENT\":i=\"An error prevented the request to be performed successfully\";break;case\"PARSE_ERROR\":i=\"An error happened while formatting the response data\";break;case\"ERROR_HTTP_CODE\":i=\"An HTTP status code indicating failure was received: \"+String(t);break}super(i),Object.setPrototypeOf(this,n.prototype),this.name=\"RequestError\",this.url=e,this.status=t,this.type=r}serialize(){return{url:this.url,status:this.status,type:this.type}}},Te={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var Zr=typeof Headers==\"function\"?Headers:null,Jr=typeof AbortController==\"function\"?AbortController:null;function ur(n){var c,g;let e;if(!P(n.headers))if(P(Zr))e=n.headers;else{e=new Zr;let p=Object.keys(n.headers);for(let h=0;h<p.length;h++){let b=p[h];e.append(b,n.headers[b])}}m.debug(\"Fetch: Called with URL\",n.url);let t=null,r=!1,i=!1,a=L(),o=P(Jr)?null:new Jr;function s(){if(P(o)){m.warn(\"Fetch: AbortController API not available.\");return}o.abort()}let u;n.timeout!==void 0&&(u=setTimeout(()=>{r=!0,d!==void 0&&clearTimeout(d),s()},n.timeout));let d;n.connectionTimeout!==void 0&&(d=setTimeout(()=>{i=!0,u!==void 0&&clearTimeout(u),s()},n.connectionTimeout));let f=n.cancelSignal.register(function(h){t=h,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=P(o)?null:o.signal,m.hasLevel(\"DEBUG\")){let p=\"FETCH: Sending GET \"+n.url;n.timeout!==void 0&&(p+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=\" cto=\"+String(n.connectionTimeout/1e3)),((c=n.headers)==null?void 0:c.Range)!==void 0&&(p+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),m.debug(p)}return fetch(n.url,l).then(p=>{if(d!==void 0&&clearTimeout(d),p.status>=300)throw m.warn(\"Fetch: Request HTTP Error\",p.status,p.url),new ae(p.url,p.status,Te.ERROR_HTTP_CODE);if(P(p.body))throw new ae(p.url,p.status,Te.PARSE_ERROR);let h=p.headers.get(\"Content-Length\"),b=!P(h)&&!isNaN(+h)?+h:void 0,y=p.body.getReader(),E=0;return v();async function v(){let _=await y.read();if(!_.done&&!P(_.value)){E+=_.value.byteLength;let C=L(),R={url:p.url,currentTime:C,duration:C-a,sendingTime:a,chunkSize:_.value.byteLength,chunk:_.value.buffer,size:E,totalSize:b};return n.onData(R),v()}else if(_.done){u!==void 0&&clearTimeout(u),f();let C=L();return{requestDuration:C-a,receivedTime:C,sendingTime:a,size:E,status:p.status,url:p.url}}return v()}}).catch(p=>{throw t!==null?t:(f(),r?(m.warn(\"Fetch: Request timed out.\"),new ae(n.url,0,Te.TIMEOUT)):i?(m.warn(\"Fetch: Request connection timed out.\"),new ae(n.url,0,Te.TIMEOUT)):p instanceof ae?p:(m.warn(\"Fetch: Request Error\",p instanceof Error?p.toString():\"\"),new ae(n.url,0,Te.ERROR_EVENT)))})}function Jt(){return typeof ue.fetch==\"function\"&&!P(Jr)&&!P(Zr)}function J(n){return typeof n==\"string\"&&n.length>0}var cu=\"json\";function ei(n){let e={url:n.url,headers:n.headers,responseType:P(n.responseType)?cu:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:a}=n,{url:o,headers:s,responseType:u,timeout:d,connectionTimeout:f}=e,l=new XMLHttpRequest;l.open(\"GET\",o,!0);let c;d!==void 0&&(l.timeout=d,c=setTimeout(()=>{b(),r(new ae(o,l.status,Te.TIMEOUT))},d+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new ae(o,l.status,Te.TIMEOUT))},f)),l.responseType=u,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!P(s)){let y=s;for(let E in y)y.hasOwnProperty(E)&&l.setRequestHeader(E,y[E])}let p=L(),h=null;if(a!==void 0&&(h=a.register(function(E){b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(E)}),a.isCancelled()))return;if(l.onerror=function(){b(),r(new ae(o,l.status,Te.ERROR_EVENT))},l.ontimeout=function(){b(),r(new ae(o,l.status,Te.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(E){let v=L();i({url:o,duration:v-p,sendingTime:p,currentTime:v,size:E.loaded,totalSize:E.total})}),l.onload=function(E){if(l.readyState===XMLHttpRequest.DONE)if(b(),l.status>=200&&l.status<300){let v=L(),_=l.response instanceof ArrayBuffer?l.response.byteLength:E.total,C=l.status,R=l.responseType,k=J(l.responseURL)?l.responseURL:o,A;if(R===\"json\"?A=typeof l.response==\"object\"?l.response:mu(l.responseText):A=l.response,P(A)){r(new ae(o,l.status,Te.PARSE_ERROR));return}t({status:C,url:k,responseType:R,sendingTime:p,receivedTime:v,requestDuration:v-p,size:_,responseData:A})}else r(new ae(o,l.status,Te.ERROR_HTTP_CODE))},m.hasLevel(\"DEBUG\")){let y=\"XHR: Sending GET \"+o;n.responseType!==void 0&&(y+=\" type=\"+n.responseType),d!==void 0&&(y+=\" to=\"+String(d/1e3)),f!==void 0&&(y+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(y+=\" Range=\"+(s==null?void 0:s.Range)),m.debug(y)}l.send();function b(){c!==void 0&&clearTimeout(c),g!==void 0&&clearTimeout(g),h!==null&&h()}})}function mu(n){try{return JSON.parse(n)}catch(e){return null}}var pe=ei;var yt=Te,Le={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function Xe(n,e){return`${n}: ${e}`}var en=class n extends Error{constructor(e,t,r){super(Xe(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=Le.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,typeof(r==null?void 0:r.keyStatuses)==\"string\"&&(this.keyStatuses=r.keyStatuses)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses}}};var $=class n extends Error{constructor(e,t,r){super(Xe(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=Le.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var Ke=class n extends Error{constructor(e,t){super(Xe(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=Le.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===yt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var Ie=class n extends Error{constructor(e,t){super(Xe(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=Le.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage}}};function Dt(n){return(n instanceof en||n instanceof $||n instanceof Ie||n instanceof Ke)&&Object.keys(Le).indexOf(n.type)>=0}function be(n,{defaultCode:e,defaultReason:t}){if(Dt(n))return n;let r=n instanceof Error?n.toString():t;return new Ie(e,r)}var ve=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name=\"SourceBufferError\",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var pu={dashParsers:{wasm:null,native:null,fastJs:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},Xa=pu;var ke=Xa;function Y(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let a=n[i];if(e.call(t,a,i,n))return a}}var gu={aa:\"aar\",ab:\"abk\",ae:\"ave\",af:\"afr\",ak:\"aka\",am:\"amh\",an:\"arg\",ar:\"ara\",as:\"asm\",av:\"ava\",ay:\"aym\",az:\"aze\",ba:\"bak\",be:\"bel\",bg:\"bul\",bi:\"bis\",bm:\"bam\",bn:\"ben\",bo:\"bod\",br:\"bre\",bs:\"bos\",ca:\"cat\",ce:\"che\",ch:\"cha\",co:\"cos\",cr:\"cre\",cs:\"ces\",cu:\"chu\",cv:\"chv\",cy:\"cym\",da:\"dan\",de:\"deu\",dv:\"div\",dz:\"dzo\",ee:\"ewe\",el:\"ell\",en:\"eng\",eo:\"epo\",es:\"spa\",et:\"est\",eu:\"eus\",fa:\"fas\",ff:\"ful\",fi:\"fin\",fj:\"fij\",fo:\"fao\",fr:\"fra\",fy:\"fry\",ga:\"gle\",gd:\"gla\",gl:\"glg\",gn:\"grn\",gu:\"guj\",gv:\"glv\",ha:\"hau\",he:\"heb\",hi:\"hin\",ho:\"hmo\",hr:\"hrv\",ht:\"hat\",hu:\"hun\",hy:\"hye\",hz:\"her\",ia:\"ina\",id:\"ind\",ie:\"ile\",ig:\"ibo\",ii:\"iii\",ik:\"ipk\",io:\"ido\",is:\"isl\",it:\"ita\",iu:\"iku\",ja:\"jpn\",jv:\"jav\",ka:\"kat\",kg:\"kon\",ki:\"kik\",kj:\"kua\",kk:\"kaz\",kl:\"kal\",km:\"khm\",kn:\"kan\",ko:\"kor\",kr:\"kau\",ks:\"kas\",ku:\"kur\",kv:\"kom\",kw:\"cor\",ky:\"kir\",la:\"lat\",lb:\"ltz\",lg:\"lug\",li:\"lim\",ln:\"lin\",lo:\"lao\",lt:\"lit\",lu:\"lub\",lv:\"lav\",mg:\"mlg\",mh:\"mah\",mi:\"mri\",mk:\"mkd\",ml:\"mal\",mn:\"mon\",mr:\"mar\",ms:\"msa\",mt:\"mlt\",my:\"mya\",na:\"nau\",nb:\"nob\",nd:\"nde\",ne:\"nep\",ng:\"ndo\",nl:\"nld\",nn:\"nno\",no:\"nor\",nr:\"nbl\",nv:\"nav\",ny:\"nya\",oc:\"oci\",oj:\"oji\",om:\"orm\",or:\"ori\",os:\"oss\",pa:\"pan\",pi:\"pli\",pl:\"pol\",ps:\"pus\",pt:\"por\",qu:\"que\",rm:\"roh\",rn:\"run\",ro:\"ron\",ru:\"rus\",rw:\"kin\",sa:\"san\",sc:\"srd\",sd:\"snd\",se:\"sme\",sg:\"sag\",si:\"sin\",sk:\"slk\",sl:\"slv\",sm:\"smo\",sn:\"sna\",so:\"som\",sq:\"sqi\",sr:\"srp\",ss:\"ssw\",st:\"sot\",su:\"sun\",sv:\"swe\",sw:\"swa\",ta:\"tam\",te:\"tel\",tg:\"tgk\",th:\"tha\",ti:\"tir\",tk:\"tuk\",tl:\"tgl\",tn:\"tsn\",to:\"ton\",tr:\"tur\",ts:\"tso\",tt:\"tat\",tw:\"twi\",ty:\"tah\",ug:\"uig\",uk:\"ukr\",ur:\"urd\",uz:\"uzb\",ve:\"ven\",vi:\"vie\",vo:\"vol\",wa:\"wln\",wo:\"wol\",xh:\"xho\",yi:\"yid\",yo:\"yor\",za:\"zha\",zh:\"zho\",zu:\"zul\"},Za=gu;var hu={alb:\"sqi\",arm:\"hye\",baq:\"eus\",bur:\"mya\",chi:\"zho\",cze:\"ces\",dut:\"nld\",fre:\"fra\",geo:\"kat\",ger:\"deu\",gre:\"ell\",ice:\"isl\",mac:\"mkd\",mao:\"mri\",may:\"msa\",per:\"fas\",slo:\"slk\",rum:\"ron\",tib:\"bod\",wel:\"cym\"},Ja=hu;function Iu(n){if(P(n)||n===\"\")return\"und\";let t=(\"\"+n).toLowerCase().split(\"-\")[0],r=bu(t);return J(r)?r:n}function bu(n){let e;switch(n.length){case 2:e=Za[n];break;case 3:e=Ja[n];break}return e}var eo=Iu;var to=eo;function dr(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Ce(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var Su=Ce(),ti=class{constructor(e,t,r){var a,o,s,u,d;this.id=e.id,this.uniqueId=Su(),this.bitrate=e.bitrate,this.codecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t===\"audio\"||t===\"video\"){if(e.supplementalCodecs!==void 0){let f=r.isSupported((a=this.mimeType)!=null?a:\"\",(o=e.supplementalCodecs)!=null?o:\"\",i);f!==!1&&(this.codecs=[e.supplementalCodecs],this.isSupported=f)}this.isSupported!==!0&&(this.codecs.length>0?this.codecs.push((s=e.codecs)!=null?s:\"\"):(this.codecs=e.codecs===void 0?[]:[e.codecs],this.isSupported=r.isSupported((u=this.mimeType)!=null?u:\"\",(d=e.codecs)!=null?d:\"\",i)))}else e.codecs!==void 0&&this.codecs.push(e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,u;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:\"\",a=(u=this.codecs)!=null?u:[];a.length===0&&(a=[\"\"]);let o=!1;for(let d of a){if(r=e.isSupported(i,d,t),r===!0){this.codecs=[d];break}r===void 0&&(o=!0)}r===!0?this.isSupported=!0:o?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var e,t,r;return`${(e=this.mimeType)!=null?e:\"\"};codecs=\"${(r=(t=this.codecs)==null?void 0:t[0])!=null?r:\"\"}\"`}getEncryptionData(e){var i;let t=this.getAllEncryptionData(),r=[];for(let a=0;a<t.length;a++){let o=!1,s=t[a];for(let u=0;u<s.values.length;u++)if(s.values[u].systemId.toLowerCase()===e.toLowerCase())if(o)r[r.length-1].values.push(s.values[u]);else{let d=(i=this.contentProtections)==null?void 0:i.keyIds;r.push({type:s.type,keyIds:d,values:[s.values[u]]}),o=!0}}return r}getAllEncryptionData(){var t;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(t=this.contentProtections)==null?void 0:t.keyIds;return this.contentProtections.initData.map(r=>({type:r.type,keyIds:e,values:r.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[t]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let o=this.contentProtections.keyIds;if(o===void 0)this.contentProtections.keyIds=[t];else{let s=!1;for(let u of o)dr(u,t)&&(s=!0);s||(m.warn(\"Manifest: found unanounced key id.\"),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o<a.length;o++)if(a[o].type===e){let s=a[o].values;for(let u=0;u<r.length;u++){let d=r[u],f;for(f=0;f<s.length;f++)if(d.systemId===s[f].systemId){if(dr(d.data,s[f].data))break;m.warn(\"Manifest: different init data for the same system ID\")}f===s.length&&(s.push(d),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,codecs:this.codecs,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable}}},tn=ti;var dt=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:a,isManuallyAdded:o}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=to(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(this.trickModeTracks=i.map(d=>new n(d,t)));let s=e.representations,u=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let d=0;d<s.length;d++){let f=new tn(s[d],this.type,t),l=!0;if(!P(a)){let c={id:f.id,bitrate:f.bitrate,codecs:f.codecs,height:f.height,width:f.width,frameRate:f.frameRate,hdrInfo:f.hdrInfo};if(f.contentProtections!==void 0&&(c.contentProtections={},f.contentProtections.keyIds!==void 0)){let g=f.contentProtections.keyIds;c.contentProtections.keyIds=g}l=a(c,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(u.push(f),f.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):f.isSupported&&(this.supportStatus.hasSupportedCodec=!0),f.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):f.decipherable&&(this.supportStatus.isDecipherable=!0)):m.debug(\"Filtering Representation due to representationFilter\",this.type,`Adaptation: ${this.id}`,`Representation: ${f.id}`,`(${f.bitrate})`)}u.sort((d,f)=>d.bitrate-f.bitrate),this.representations=u,this.manuallyAdded=o===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return Y(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};var lt=ue,ni=lt===void 0?void 0:P(lt.MediaSource)?P(lt.MozMediaSource)?P(lt.WebKitMediaSource)?lt.MSMediaSource:lt.WebKitMediaSource:lt.MozMediaSource:lt.MediaSource;var yu=!1,Tu=!1,no=!1,Eu=!1,_u=!1,Ru=!1,Pu=!1,vu=!1,Cu=!1,Au=!1,xu=!1,ku=!1,Mu=!1,Ou=!1,ri=!1,wu=!1,Du=!1;(function(){var e,t,r;or||(typeof ue.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?(Tu=!0,no=!0):navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?no=!0:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?yu=!0:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?Eu=!0:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?Ru=!0:(Object.prototype.toString.call(ue.HTMLElement).indexOf(\"Constructor\")>=0||((t=(e=ue.safari)==null?void 0:e.pushNotification)==null?void 0:t.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((r=navigator.vendor)==null?void 0:r.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(_u=!0),/SamsungBrowser/.test(navigator.userAgent)&&(Pu=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?Ou=!0:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?ri=!0:/Tizen/.test(navigator.userAgent)?vu=!0:/[Ww]eb[O0]S/.test(navigator.userAgent)?(Cu=!0,/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?xu=!0:(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent))&&(Au=!0)):navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?Mu=!0:/[Pp]anasonic/.test(navigator.userAgent)?ku=!0:navigator.userAgent.indexOf(\"Xbox\")!==-1?wu=!0:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")&&(Du=!0))})();function ii(n){return new Promise(e=>{setTimeout(e,n)})}function Tt(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let a=!1;t=e(function(u){n.deregister(o),a=!0,r(u)},function(u){n.deregister(o),a=!0,i(u)}),a||n.register(o);function o(s){t!==void 0&&t(),i(s)}})}function nn(n,e){return Tt(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var lr=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"AssertionError\"}};function de(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new lr(e===void 0?\"invalid assertion\":e)}function Fe(n){throw new lr(\"Unreachable path taken\")}var W=class{constructor(){let[e,t]=Bu();this._isUsed=!1,this._trigger=e,this.signal=new ai(t)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(()=>{this.cancel()});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=e!=null?e:new oe;this._trigger(t)}static isCancellationError(e){return e instanceof oe}},ai=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){m.error(\"Error while calling clean up listener\",r instanceof Error?r.toString():\"Unknown error\")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(de(this.cancellationError!==null),e(this.cancellationError),B):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},oe=class n extends Error{constructor(){super(\"This task was cancelled.\"),Object.setPrototypeOf(this,n.prototype),this.name=\"CancellationError\"}};function Bu(){let n=B;return[function(t){n(t)},function(t){n=t}]}var Nu=[\"\",\"webkit\",\"moz\",\"ms\"];function Uu(n,e){let t=document.createElement(n.tagName),r=\"on\"+e;return r in t?!0:(t.setAttribute(r,\"return;\"),typeof t[r]==\"function\")}function Lu(n,e){return e.filter(t=>Uu(n,t))[0]}function Fu(n,e){return n.reduce((t,r)=>t.concat((e===void 0?Nu:e).map(i=>i+r)),[])}function Ee(n,e){let t,r=Fu(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=Lu(i,r)),J(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{I.CURRENT_ENV===I.DEV&&m.warn(`compat: element ${i.tagName} does not support any of these events: `+r.join(\", \"));return}r.forEach(s=>{let u=!1;typeof i.addEventListener==\"function\"?i.addEventListener(s,a):(u=!0,i[\"on\"+s]=a),o.register(()=>{typeof i.removeEventListener==\"function\"&&i.removeEventListener(s,a),u&&delete i[\"on\"+s]})})}}}var Dg=Ee([\"loadedmetadata\"]),Bg=Ee([\"timeupdate\"]),Ng=Ee([\"addtrack\"]),Ug=Ee([\"removetrack\"]),Bt=Ee([\"sourceopen\",\"webkitsourceopen\"]),fr=Ee([\"sourceclose\",\"webkitsourceclose\"]),cr=Ee([\"sourceended\",\"webkitsourceended\"]),ro=Ee([\"update\"]),io=Ee([\"removesourcebuffer\"]),Lg=Ee([\"keymessage\",\"message\"]),Fg=Ee([\"keyadded\",\"ready\"]),zg=Ee([\"keyerror\",\"error\"]),Wg=Ee([\"keystatuseschange\"]),Vg=Ee([\"seeking\"]),qg=Ee([\"seeked\"]),Hg=Ee([\"ended\"]);var ao=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function mr(n){if(n>=ao.length)throw new Error(\"Unable to parse base64 string.\");let e=ao[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function pr(n){let e=n.length%4,t=n;e!==0&&(m.warn(\"base64ToBytes: base64 given miss padding\"),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r<t.length-2)throw new Error(\"Unable to parse base64 string.\");let i=t.endsWith(\"==\")?2:t.endsWith(\"=\")?1:0,a=t.length,o=new Uint8Array(a/4*3),s;for(let u=0,d=0;u<a;u+=4,d+=3)s=mr(t.charCodeAt(u))<<18|mr(t.charCodeAt(u+1))<<12|mr(t.charCodeAt(u+2))<<6|mr(t.charCodeAt(u+3)),o[d]=s>>16,o[d+1]=s>>8&255,o[d+2]=s&255;return o.subarray(0,o.length-i)}var zu=typeof ue==\"object\"&&typeof ue.TextDecoder==\"function\",Wu=typeof ue==\"object\"&&typeof ue.TextEncoder==\"function\";function rn(n){if(Wu)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"\";m.warn(\"Utils: could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation\",a)}let e,t=encodeURIComponent(n);if(typeof unescape==\"function\")e=unescape(t);else{let i=/[0-9a-fA-F]/,a=t.length;e=\"\";for(let o=0;o<t.length;o++){let s=!1;if(t[o]===\"%\"){if(o<=a-6&&t[o+1]===\"u\"&&i.test(t[o+2])&&i.test(t[o+3])&&i.test(t[o+4])&&i.test(t[o+5])){let u=parseInt(t.substring(o+1,o+6),16);e+=String.fromCharCode(u),s=!0,o+=5}else if(o<=a-3&&i.test(t[o+1])&&i.test(t[o+2])){let u=parseInt(t.substring(o+1,o+3),16);e+=String.fromCharCode(u),s=!0,o+=2}}s||(e+=t[o])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function Vu(n){let t=\"\";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function oo(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t}function De(n){if(zu)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"\";m.warn(\"Utils: could not use TextDecoder to parse UTF-8, fallbacking to another implementation\",a)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=Vu(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_\\+-\\.\\/]/;r=\"\";for(let a=0;a<t.length;a++)if(i.test(t[a]))r+=t[a];else{let o=t.charCodeAt(a);r+=o>=256?\"%u\"+oo(o,4):\"%\"+oo(o,2)}}return decodeURIComponent(r)}function an(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function so(n,e=\"\"){let t=\"\";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function oi(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:De(r)}}function ze(n,e,t){if(typeof String.prototype.startsWith==\"function\")return n.startsWith(e,t);let r=typeof t==\"number\"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function Et(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i==\"number\"?i:i.length;let a=new Uint8Array(r),o=0;for(t=-1;++t<e;)i=n[t],typeof i==\"number\"?o+=i:i.length>0&&(a.set(i,o),o+=i.length);return a}function uo(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function si(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function te(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function ft(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function je(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=te(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=ft(n,r+8)}if(isNaN(i)||i<=0)return-1;if(te(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function gr(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=je(r,1836019558);if(i<0)break;let a=te(n,i+e),o=e+i+a;if(o>n.length)break;let s=je(r,1835295092);if(s<0)break;let u=te(n,s+e),d=e+s+u;if(d>n.length)break;let f=Math.max(o,d),l=n.subarray(e,f);t.push(l),e=f}return t.length===0?[null,r]:[t,r]}function qu(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function Hu(n,e,t){return n.slice(e,t)}var ui=typeof Uint8Array.prototype.slice==\"function\"?Hu:qu;function di(n,e){let t=n;for(let r of e){let i=fe(t,r);if(i===null)return null;t=i}return t}function fe(n,e){let t=Nt(n,e);return t!==null?n.subarray(t[1],t[2]):null}function lo(n,e){let t=[],r=n;for(;;){let i=Nt(r,e);if(i===null)return t;de(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function Nt(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=te(n,o),o+=4,i=te(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=ft(n,o),o+=8}if(a<0)throw new Error(\"ISOBMFF: Size out of range\");if(i===e)return e===1970628964&&(o+=16),[r,o,r+a];r+=a}return null}function hr(n){let e=0,t=fe(n,1836019574);if(t===null)return[];let r=[];for(;e<t.length;){let i;try{i=Nt(t,1886614376)}catch(s){let u=s instanceof Error?s:\"\";return m.warn(\"Error while removing PSSH from ISOBMFF\",u),r}if(i===null)return r;let a=ui(t,i[0],i[2]),o=fo(a,i[1]-i[0]);o!==void 0&&r.push({systemId:o,data:a}),t[i[0]+4]=102,t[i[0]+5]=114,t[i[0]+6]=101,t[i[0]+7]=101,e=i[2]}return r}function fo(n,e){if(n[e]>1){m.warn(\"ISOBMFF: un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=ui(n,t,t+16);return so(r)}function li(n){let e=fe(n,1836019558);return e===null?null:fe(e,1953653094)}function co(n){return lo(n,1836019558).reduce((t,r)=>{let i=fe(r,1953653094);return i!==null&&t.push(i),t},[])}function fi(n){return fe(n,1835295092)}function ci(n){let e=fe(n,1836019574);if(e===null)return null;let t=fe(e,1953653099);return t===null?null:fe(t,1835297121)}function mo(n,e=0){return fe(n.subarray(e),1701671783)}function on(n,e){let t=Nt(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],a=t[1],o=n[a];a+=8;let s=te(n,a);a+=4;let u;if(o===0)u=te(n,a),a+=4,r+=te(n,a)+i,a+=4;else if(o===1)u=ft(n,a),a+=8,r+=ft(n,a)+i,a+=8;else return null;let d=[];a+=2;let f=uo(n,a);for(a+=2;--f>=0;){let l=te(n,a);a+=4;let c=(l&2147483648)>>>31,g=l&2147483647;if(c===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let p=te(n,a);a+=4,a+=4,d.push({time:u,duration:p,timescale:s,range:[r,r+g-1]}),u+=p,r+=g}return d}function mi(n){let e=li(n);if(e===null)return;let t=fe(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return ft(t,4);if(r===0)return te(t,4)}function Gu(n){let e=fe(n,1952868452);if(e===null)return;let t=1,r=si(e,t);t+=3;let i=(r&1)>0,a=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),a&&(t+=4),te(e,t)):void 0}function pi(n){let e=co(n);if(e.length===0)return;let t=0;for(let r of e){let i=fe(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=si(i,a);a+=3;let u=(s&256)>0,d=0;if(!u&&(d=Gu(r),d===void 0))return;let f=(s&1)>0,l=(s&4)>0,c=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,h=te(i,a);a+=4,f&&(a+=4),l&&(a+=4);let b=h,y=0;for(;b-- >0;)u?(y+=te(i,a),a+=4):y+=d,c&&(a+=4),g&&(a+=4),p&&(a+=4);t+=y}return t}function sn(n){let e=ci(n);if(e===null)return;let t=fe(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return te(t,r+16);if(i===0)return te(t,r+8)}function po(n){let e=[],t=0;for(;t<n.length;){let r=mo(n,t);if(r===null)break;let i=r.length;t+=i;let a=r[0];if(a!==0)m.warn(\"ISOBMFF: EMSG version \"+a.toString()+\" not supported.\");else{let o=4,{end:s,string:u}=oi(r,o);o=s;let{end:d,string:f}=oi(r,o);o=d;let l=te(r,o);o+=4;let c=te(r,o);o+=4;let g=te(r,o);o+=4;let p=te(r,o);o+=4;let h=r.subarray(o,i),b={schemeIdUri:u,value:f,timescale:l,presentationTimeDelta:c,eventDuration:g,id:p,messageData:h};e.push(b)}}if(e.length!==0)return e}function go(n){let e=di(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=fe(t,1701733238),i=0;if(r===null?(i=28,r=fe(t,1701733217)):i=78,r===null)return null;let a=di(r.subarray(i),[1936289382,1935894633,1952804451]);if(a===null||a.byteLength<24)return null;let o=a.subarray(8,24);return o.every(s=>s===0)?null:o}function ce(n,e,t){if(typeof Array.prototype.includes==\"function\")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,a=i>=0?Math.min(i,r-1):Math.max(r+i,0),o=(s,u)=>s===u||typeof s==\"number\"&&typeof u==\"number\"&&isNaN(s)&&isNaN(u);for(;a<r;){if(o(n[a],e))return!0;a++}return!1}function gi(n){return Object.keys(n).map(e=>n[e])}var Ir=typeof Object.values==\"function\"?Object.values:gi;function Ku(n,e){let{mimeType:t,codecs:r}=ho(n),{mimeType:i,codecs:a}=ho(e);if(t!==i||r===\"\"||a===\"\")return!1;let o=r.split(\".\")[0];o=o===\"hev1\"?\"hvc1\":o;let s=a.split(\".\")[0];return s=s===\"hev1\"?\"hvc1\":s,o===s}var ju=7;function ho(n){var i;let[e,...t]=n.split(\";\"),r=(i=Y(t,a=>ze(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(ju),r[0]==='\"'&&(r=r.substring(1,r.length-2)),{mimeType:e,codecs:r}}var Io=Ku;function hi(n,e){return typeof Array.prototype.flatMap==\"function\"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function Ii(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function bo(n){var t,r,i,a,o;let e=[];for(let s of n.periods){let u=[...(t=s.adaptations.video)!=null?t:[],...(r=s.adaptations.audio)!=null?r:[]];for(let d of u)if(d.supportStatus.hasCodecWithUndefinedSupport)for(let f of d.representations)f.isSupported===void 0&&e.push({mimeType:(i=f.mimeType)!=null?i:\"\",codec:(o=(a=f.codecs)==null?void 0:a[0])!=null?o:\"\"})}return e}var So=[];function Ze(n){ce(So,n)||(console.warn(n),So.push(n))}var Ut=[\"audio\",\"video\",\"text\"];function To(n){var a,o;let e=n.timeBounds;if(e.timeshiftDepth===null)return(a=e.minimumSafePosition)!=null?a:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=L()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((o=e.minimumSafePosition)!=null?o:0,i)}function Eo(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=L()-e.time;return e.livePosition+t/1e3}function _o(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=L()-e.time;return e.maximumSafePosition+t/1e3}function Ro(n,e){if(e===void 0)return Si(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function Po(n,e){let t=null;for(let r of n.periods){if(bi(r,e,t))return r;t=r}}function vo(n,e){let t=e.end;if(t===void 0)return null;let r=Y(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function bi(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function Si(n){let e=n.adaptations;return gi(e).reduce((t,r)=>P(r)?t:t.concat(r),[])}function Yu(n,e){var r,i;let t={language:(r=n.language)!=null?r:\"\",normalized:(i=n.normalizedLanguage)!=null?i:\"\",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(a=>a.isSupported===!0&&a.decipherable!==!1):n.representations).map(Xu),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function Qu(n){var e,t;return{language:(e=n.language)!=null?e:\"\",normalized:(t=n.normalizedLanguage)!=null?t:\"\",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function $u(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>s.isSupported===!0&&s.decipherable!==!1):i.representations).map(yo),o={id:i.id,representations:a,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(o.signInterpreted=!0),o}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>i.isSupported===!0&&i.decipherable!==!1):n.representations).map(yo),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function Xu(n){let{id:e,bitrate:t,codecs:r,isSpatialAudio:i,isSupported:a,decipherable:o}=n;return{id:e,bitrate:t,codec:r==null?void 0:r[0],isSpatialAudio:i,isCodecSupported:a,decipherable:o}}function yo(n){let{id:e,bitrate:t,frameRate:r,width:i,height:a,codecs:o,hdrInfo:s,isSupported:u,decipherable:d,contentProtections:f}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:a,codec:o==null?void 0:o[0],hdrInfo:s,isCodecSupported:u,decipherable:d,contentProtections:f!==void 0?{keyIds:f.keyIds}:void 0}}function ct(n){switch(n.type){case\"audio\":return{type:\"audio\",track:Yu(n,!1)};case\"video\":return{type:\"video\",track:$u(n,!1)};case\"text\":return{type:\"text\",track:Qu(n)}}}function Co(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var un=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let a=i.get(t);if(a!==void 0)return r?a.supportedIfEncrypted:a.supported}};var mt=class{constructor(e,t,r,i){if(this.id=e.id,this.adaptations=Object.keys(e.adaptations).reduce((a,o)=>{let s=e.adaptations[o];if(P(s))return a;let u=s.map(d=>{let f=new dt(d,r,{representationFilter:i});return f.representations.length>0&&f.supportStatus.hasSupportedCodec===!1&&t.push(f),f}).filter(d=>d.representations.length>0);if(u.every(d=>d.supportStatus.hasSupportedCodec===!1)&&s.length>0&&(o===\"video\"||o===\"audio\"))throw new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+o+\" adaptations\",{tracks:void 0});return u.length>0&&(a[o]=u),a},{}),!Array.isArray(this.adaptations.video)&&!Array.isArray(this.adaptations.audio))throw new $(\"MANIFEST_PARSE_ERROR\",\"No supported audio and video tracks.\");this.duration=e.duration,this.start=e.start,!P(this.duration)&&!P(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i===void 0)return;let a=!1;for(let o of i){if(!o.supportStatus.hasCodecWithUndefinedSupport){o.supportStatus.hasSupportedCodec===!0&&(a=!0);continue}let s=o.supportStatus.hasSupportedCodec;o.refreshCodecSupport(t),s!==!1&&o.supportStatus.hasSupportedCodec===!1&&e.push(o),a===!1?a=o.supportStatus.hasSupportedCodec:a===void 0&&o.supportStatus.hasSupportedCodec===!0&&(a=!0)}if((r===\"video\"||r===\"audio\")&&a===!1)throw new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+r+\" adaptations\",{tracks:void 0})},{})}getAdaptations(){return Si(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return Y(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return Ro(this,e)}containsTime(e,t){return bi(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e}}};function dn(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.getAdaptations(),a=e.getAdaptations();for(let o=0;o<i.length;o++){let s=i[o],u=re(a,d=>d.id===s.id);if(u===-1){m.warn('Manifest: Adaptation \"'+i[o].id+'\" not found when merging.');let[d]=i.splice(o,1);o--,r.removedAdaptations.push({id:d.id,trackType:d.type})}else{let[d]=a.splice(u,1),f=[],l=[],c=[];r.updatedAdaptations.push({adaptation:s.id,trackType:s.type,updatedRepresentations:f,addedRepresentations:l,removedRepresentations:c});let g=s.representations,p=d.representations.slice();for(let h=0;h<g.length;h++){let b=g[h],y=re(p,E=>E.id===b.id);if(y===-1){m.warn(`Manifest: Representation \"${g[h].id}\" not found when merging.`);let[E]=g.splice(h,1);h--,c.push(E.id)}else{let[E]=p.splice(y,1);f.push(b.getMetadataSnapshot()),b.cdnMetadata=E.cdnMetadata,t===0?b.index._replace(E.index):b.index._update(E.index)}}p.length>0&&(m.warn(`Manifest: ${p.length} new Representations found when merging.`),s.representations.push(...p),l.push(...p.map(h=>h.getMetadataSnapshot())))}}if(a.length>0){m.warn(`Manifest: ${a.length} new Adaptations found when merging.`);for(let o of a){let s=n.adaptations[o.type];s===void 0?n.adaptations[o.type]=[o]:s.push(o),r.addedAdaptations.push(o.getMetadataSnapshot())}}return r}function Ao(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a<e.length;a++){let o=e[a],s=r,u=n[s];for(;u!==void 0&&u.id!==o.id;)s++,u=n[s];if(u!==void 0){let d=dn(u,o,0);t.updatedPeriods.push({period:{id:u.id,start:u.start,end:u.end,duration:u.duration,streamEvents:u.streamEvents},result:d});let f=e.slice(r,a),l=s-r,c=n.splice(r,l,...f);t.removedPeriods.push(...c.map(g=>({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...f.map(g=>g.getMetadataSnapshot())),r=a+1}}if(r>n.length)return m.error(\"Manifest: error when updating Periods\"),t;if(r<n.length){let a=n.splice(r,n.length-r);t.removedPeriods.push(...a.map(o=>({id:o.id,start:o.start,end:o.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(a=>a.getMetadataSnapshot()))),t}function xo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.start<e[0].start){if(r.end!==e[0].start)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=re(n,({id:s})=>s===e[0].id);if(i<0)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=dn(n[i],e[0],1);t.updatedPeriods.push({period:q(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s<e.length;s++){let u=e[s],d=-1;for(let f=o;f<n.length;f++)if(u.id===n[f].id){d=f;break}if(d<0){let f=-1;for(let g=o;g<n.length;g++)if(u.start<n[g].start){f=g;break}let l=f-o,c=n.splice(o,l,u);t.addedPeriods.push(u.getMetadataSnapshot()),t.removedPeriods.push(...c.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(d>o){m.warn(\"Manifest: old Periods not found in new when updating, removing\");let l=n.splice(o,d-o);t.removedPeriods.push(...l.map(c=>({id:c.id,start:c.start,end:c.end}))),d=o}let f=dn(n[d],u,0);t.updatedPeriods.push({period:q(n[d].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o<n.length){m.warn(\"Manifest: Ending Periods not found in new when updating, removing\");let s=n.splice(o,n.length-o);t.removedPeriods.push(...s.map(u=>({id:u.id,start:u.start,end:u.end})))}return t}var Zu=Ce(),ln=class extends se{constructor(e,t,r){var s;super();let{representationFilter:i,manifestUpdateUrl:a}=t;this.manifestFormat=0,this.id=Zu(),this.expired=(s=e.expired)!=null?s:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new un([]);let o=[];if(this.periods=e.periods.map(u=>new mt(u,o,this._cachedCodecSupport,i)).sort((u,d)=>u.start-d.start),o.length>0){let u=new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:o.map(ct)});r.push(u)}this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=a,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger(\"supportUpdate\",null),t.length>0?new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(ct)}):null}getPeriod(e){return Y(this.periods,t=>e===t.id)}getPeriodForTime(e){return Po(this,e)}getNextPeriod(e){return Y(this.periods,t=>t.start>e)}getPeriodAfter(e){return vo(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return To(this)}getLivePosition(){return Eo(this)}getMaximumSafePosition(){return _o(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=Ju(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}getAdaptations(){Ze(\"manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead\");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(t.hasOwnProperty(i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){Ze(\"manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead\");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return Ze(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),Y(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return bo(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=Ao(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=xo(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let a=this.periods[0];if(a.end===void 0||a.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger(\"manifestUpdate\",r)}};function Ju(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let a=!0;for(let o of i.representations){let s={manifest:n,period:r,adaptation:i,representation:o},u=e(s);u!==!1&&(a=!1),u!==o.decipherable&&(t.push(s),o.decipherable=u,u===!0?i.supportStatus.isDecipherable=!0:u===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),m.debug(`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function Je(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function _t(n){if(P(n))return\"\";let{period:e,adaptation:t,representation:r,segment:i}=n,a;return i.isInit?a=\"init\":i.complete?a=`${i.time}-${i.duration}`:a=`${i.time}`,`${t.type} P: ${e.id} A: ${t.id} R: ${r.id} S: ${a}`}var Lt=ln;var ed=\"<\";var ko=\">\";var td=`\\r\n\t>/= `;function yi(n,e={}){var c,g;let t=(c=e.pos)!=null?c:0,r=e.keepComments===!0,i=e.keepWhitespace===!0,a;if(e.attrValue!==void 0)for(e.attrName=(g=e.attrName)!=null?g:\"id\",a=[];(t=l())!==-1;)t=n.lastIndexOf(\"<\",t),t!==-1&&a.push(d()),n=n.substring(t),t=0;else a=o(\"\");return e.filter&&(a=Mo(a,e.filter)),a;function o(p){let h=[];for(;n[t];)if(n.charCodeAt(t)===60){if(n.charCodeAt(t+1)===47){let y=t+2;if(t=n.indexOf(ko,t),n.substring(y,t).indexOf(p)===-1){let v=n.substring(0,t).split(`\n`);throw new Error(`Unexpected close tag\nLine: `+(v.length-1)+`\nColumn: `+(v[v.length-1].length+1)+`\nChar: `+n[t])}return t!==-1&&(t+=1),h}else if(n.charCodeAt(t+1)===33){if(n.charCodeAt(t+2)===45){let y=t;for(;t!==-1&&!(n.charCodeAt(t)===62&&n.charCodeAt(t-1)===45&&n.charCodeAt(t-2)===45);)t=n.indexOf(ko,t+1);t===-1&&(t=n.length),r&&h.push(n.substring(y,t+1))}else if(n.charCodeAt(t+2)===91&&n.charCodeAt(t+8)===91&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let y=n.indexOf(\"]]>\",t);y===-1?(h.push(n.substring(t+9)),t=n.length):(h.push(n.substring(t+9,y)),t=y+3);continue}else{let y=t+1;t+=2;let E=!1;for(;(n.charCodeAt(t)!==62||E)&&n[t];)n.charCodeAt(t)===91?E=!0:E&&n.charCodeAt(t)===93&&(E=!1),t++;h.push(n.substring(y,t))}t++;continue}let b=d();h.push(b),b.tagName[0]===\"?\"&&(h.push(...b.children),b.children=[])}else{let b=s();if(i)b.length>0&&h.push(b);else{let y=b.trim();y.length>0&&h.push(y)}t++}return h}function s(){let p=t;return t=n.indexOf(ed,t)-1,t===-2&&(t=n.length),n.slice(p,t+1)}function u(){let p=t;for(;td.indexOf(n[t])===-1&&n[t];)t++;return n.slice(p,t)}function d(){let p=t;t++;let h=u(),b={},y=[];for(;n.charCodeAt(t)!==62&&n[t];){let E=n.charCodeAt(t);if(E>64&&E<91||E>96&&E<123){let v=u(),_=n.charCodeAt(t);for(;_&&_!==39&&_!==34&&!(_>64&&_<91||_>96&&_<123)&&_!==62;)t++,_=n.charCodeAt(t);let C;_===39||_===34?C=f():(C=null,t--),b[v]=C===null?null:Oo(C)}t++}return n.charCodeAt(t-1)!==47?(t++,y=o(h)):t++,{tagName:h,attributes:b,children:y,posStart:p,posEnd:t}}function f(){let p=n[t],h=t+1;return t=n.indexOf(p,h),n.slice(h,t)}function l(){let p=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return p?p.index:-1}}function Mo(n,e,t=0,r=\"\"){let i=[];return n.forEach(function(a,o){if(typeof a==\"object\"&&(e(a,o,t,r)&&i.push(a),a.children.length>0)){let s=Mo(a.children,e,t+1,(r?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function br(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+br(t),e=e.trim()}),e}else return typeof n==\"object\"?br(n.children):\" \"+Oo(n)}function Oo(n){return n.indexOf(\"&\")<0?n:n.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&quot;/g,'\"').replace(/&apos;/g,\"'\").replace(/&#x([A-Fa-f0-9]+);/g,(e,t)=>String.fromCharCode(parseInt(t,16))).replace(/&amp;/g,\"&\")}function Ti(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return P(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function Be(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=Ti(n,e,t);return r+(a+1)*i}function Re(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function Ye(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function wo(n,e,t){return[n*t,(n+e)*t]}function nd(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function Do(n,e,t){let{timeline:r}=n,i=Re(e,n);if(i<0)return null;let a=nd(r,i);if(a<0||a>=r.length-1)return null;let o=r[a];if(o.duration<=0)return null;let s=r[a+1];if(s===void 0)return null;let u=s.start,d=Be(o,s,t);return i>=d&&i<u?Ye(u,n):null}function et(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:\"init\",isInit:!0,time:0,end:0,duration:0,timescale:1,range:P(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function rd(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function Ei(n){return(e,t,r)=>{let i=J(r)?parseInt(r,10):1;return rd(String(n),i)}}function Ne(n,e,t){return id(n,e,t)}function id(n,e,t){return n.indexOf(\"$\")===-1?n:n.replace(/\\$\\$/g,\"$\").replace(/\\$RepresentationID\\$/g,String(e)).replace(/\\$Bandwidth(\\%0(\\d+)d)?\\$/g,Ei(t===void 0?0:t))}function Sr(n,e){return function(r){return r.indexOf(\"$\")===-1?r:r.replace(/\\$\\$/g,\"$\").replace(/\\$Number(\\%0(\\d+)d)?\\$/g,(i,a,o)=>{if(e===void 0)throw new Error(\"Segment number not defined in a $Number$ scheme\");return Ei(e)(i,a,o)}).replace(/\\$Time(\\%0(\\d+)d)?\\$/g,(i,a,o)=>{if(n===void 0)throw new Error(\"Segment time not defined in a $Time$ scheme\");return Ei(n)(i,a,o)})}}function ad(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function fn(n,e,t,r,i,a){var E;let o=r.getEstimatedMaximumPosition((E=n.availabilityTimeOffset)!=null?E:0),s=Math.min(e+t,o!=null?o:1/0),u=Re(e,n),d=Re(s,n),{timeline:f,timescale:l,segmentUrlTemplate:c,startNumber:g,endNumber:p}=n,h=g!=null?g:1,b=[],y=f.length;for(let v=0;v<y;v++){let _=f[v],{duration:C,start:R,range:k}=_,A;o===void 0?A=i:A=Math.min(o*l,i!=null?i:1/0);let T=Ti(_,f[v+1],A),x=n.availabilityTimeComplete!==!1||v!==y-1&&T!==0,O=ad(R,C,u),D=R+O*C;for(;D<d&&O<=T;){let w=h+O;if(p!==void 0&&w>p)break;let M=c===null?null:Sr(D,w)(c),N=D-n.indexTimeOffset,U=C;N<0&&(U=C+N,N=0);let K={id:String(D),time:N/l,end:(N+U)/l,duration:U/l,isInit:!1,range:k,timescale:1,url:M,number:w,timestampOffset:-(n.indexTimeOffset/l),complete:x,privateInfos:{isEMSGWhitelisted:a}};b.push(K),O++,D=R+O*C}if(D>=d||(h+=T+1,p!==void 0&&h>p))return b}return b}function od(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var Rt=class{constructor(e,t){var p,h,b,y;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,u=(p=e.timescale)!=null?p:1,f=((h=e.presentationTimeOffset)!=null?h:0)-r*u,l=((b=e.initialization)==null?void 0:b.media)===void 0?null:Ne(e.initialization.media,a,o),c=e.media===void 0?null:Ne(e.media,a,o),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:f,initialization:{url:l,range:g},segmentUrlTemplate:c,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(y=e.timeline)!=null?y:[],timescale:u},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Re(r,this._index),this._scaledPeriodEnd=P(i)?void 0:Re(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return et(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return fn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:Ye(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(Be(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return Ye(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t<e.length;t++)od(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `BaseRepresentationIndex`\")}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){m.error(\"Base RepresentationIndex: Cannot update a SegmentList\")}};var Pt=class{constructor(e,t){var g,p,h;if(e.duration===void 0)throw new Error(\"Invalid SegmentList: no duration\");let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let u=(g=e.presentationTimeOffset)!=null?g:0,d=(p=e.timescale)!=null?p:1,f=u-r*d,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:Ne(e.initialization.media,a,o),c=e.list.map(b=>({url:b.media===void 0?null:Ne(b.media,a,o),mediaRange:b.mediaRange}));this._index={list:c,timescale:d,duration:e.duration,indexTimeOffset:f,indexRange:e.indexRange,initialization:P(e.initialization)?void 0:{url:l,range:e.initialization.range}}}getInitSegment(){let e=et(this._index);return e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e}getSegments(e,t){let r=this._index,{duration:i,list:a,timescale:o}=r,s=i/o,u=e-this._periodStart,[d,f]=wo(u,t,o),l=Math.min(a.length-1,Math.floor(f/i)),c=[],g=Math.floor(d/i);for(;g<=l;){let p=a[g].mediaRange,h=a[g].url,b=g*s+this._periodStart,y={id:String(g),time:b,isInit:!1,range:p,duration:s,timescale:1,end:b+s,url:h,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};c.push(y),g++}return c}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){m.error(\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `ListRepresentationIndex`\")}_replace(e){this._index=e._index}_update(){m.error(\"A `ListRepresentationIndex` cannot be updated\")}};function Ft(n){return F.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var vt=class{constructor(e,t){var y,E,v;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:u,representationBitrate:d,isEMSGWhitelisted:f}=t,l=(y=e.timescale)!=null?y:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let c=(E=e.presentationTimeOffset)!=null?E:0,g=s*l,p=c-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let h=((v=e.initialization)==null?void 0:v.media)===void 0?null:Ne(e.initialization.media,u,d),b=e.media===void 0?null:Ne(e.media,u,d);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:P(e.initialization)?void 0:{url:h,range:e.initialization.range},url:b,presentationTimeOffset:c,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=a,this._periodStart=s,this._scaledRelativePeriodEnd=o===void 0?void 0:(o-s)*l,this._isEMSGWhitelisted=f}getInitSegment(){return et(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:a,endNumber:o,timescale:s,url:u}=r,d=this._periodStart*s,f=this._scaledRelativePeriodEnd,l=e*s-d,c=(e+t)*s-d,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(P(g)||P(p))return[];let h=Math.max(g,l),b=Math.min(p,c);if(b+i<=h)return[];let y=[],E=a!=null?a:1,v=Math.floor(h/i);for(let _=v*i;_<=b;_+=i){let C=v+E;if(o!==void 0&&C>o)return y;let R=!P(f)&&_+i>f?f-_:i,k=_+d,A=_+this._index.presentationTimeOffset,T=u===null?null:Sr(A,C)(u),x={id:String(C),number:C,time:k/s,end:(k+R)/s,duration:R/s,timescale:1,isInit:!1,scaledDuration:R/s,url:T,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};y.push(x),v++}return y}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return P(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(P(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(de(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=Ft(r),a=this._periodStart*r,o=e*r-a,s=t*r-a,u=this._getLastSegmentStart();if(P(u)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&o<l-i}let d=u+this._index.duration,f=this._estimateRelativeScaledEnd();return f===void 0?s>d-i:s>d-i&&o<f-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(P(r))return!0;let i=r+this._index.duration,a=Ft(t);return i+a<e}isInitialized(){return!0}initialize(){m.error(\"A `TemplateRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TemplateRepresentationIndex`\")}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var o;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var a,o;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let u=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(u===void 0)return;let d=(u-this._periodStart)*t;if(d<0)return null;let f=Math.floor(d/e);return r!==void 0&&r-i+1<f&&(f=r-i+1),f<=0?null:(f-1)*e}else{let s=(o=this._scaledRelativePeriodEnd)!=null?o:0,u=Math.ceil(s/e);r!==void 0&&r-i+1<u&&(u=r-i+1);let d=(u-1)*e,f=F.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-d>f||u<2?d:(u-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function _i(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let a=r.start+r.duration,o=1;for(;a<e&&o<=r.repeatCount;)a+=r.duration,o++;if(o>r.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-o;return r.start=a,r.repeatCount=s,t+=o,t}}}}return t}function Ri(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(Be(i,e[0])<r)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");for(let f=t-1;f>=0;f--){let l=n[f].start;if(l===r){let c=t-f;return n.splice(f,c,...e),!1}else if(l<r){let c=n[f];if(c.start+c.duration>r)return m.warn(\"RepresentationIndex: Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(c.repeatCount===void 0||c.repeatCount<=0)return c.repeatCount<0&&(c.repeatCount=Math.floor((r-c.start)/c.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(c.start+c.duration*(c.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let p=(r-c.start)/c.duration-1;if(p%1===0&&c.duration===e[0].duration){let h=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(f,t-f,...e),n[f].start=c.start,n[f].repeatCount=h,!1}return m.warn(\"RepresentationIndex: Manifest update removed previous segments\"),n[f].repeatCount=Math.floor(p),n.splice(f+1,t-(f+1),...e),!1}}let o=n[n.length-1],s=e[e.length-1];if(o.repeatCount!==void 0&&o.repeatCount<0)return o.start>s.start?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0);let u=o.start+o.duration*(o.repeatCount+1),d=s.start+s.duration*(s.repeatCount+1);return u>=d?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function cn(n,e,t){let r=n.start,i=n.duration,a=n.repeatCount;return r===void 0&&(e===null?r=0:P(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(a===void 0||!isNaN(a))?{start:r,duration:i,repeatCount:a===void 0?0:a}:(m.warn('DASH: A \"S\" Element could not have been parsed.'),null)}function mn(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!P(r))switch(t){case\"t\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid t (\"${r}\")`):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r}\")`):e.repeatCount=i;break}}}return e}function pn(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case\"t\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid t (\"${r.value}\")`):e.start=i;break}case\"d\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r.value}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r.value}\")`):e.repeatCount=i;break}}}return e}function pt(n){let e=[];if(Array.isArray(n))for(let r=0;r<n.length;r++)e.push(mn(n[r]));else for(let r=0;r<n.length;r++)e.push(pn(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[t.length-1]===void 0?null:t[t.length-1],o=e[r+1]===void 0?null:e[r+1],s=cn(i,a,o);s!==null&&t.push(s)}return t}function Pi(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=Array.isArray(e)?e[0].attributes.t:e[0].getAttribute(\"t\"),i=P(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let a=n[0],o=0;for(;;){if(a.repeatCount>0){let s=i-a.start;if(s%a.duration===0&&s/a.duration<=a.repeatCount)return{repeatNumberInPrevSegments:s/a.duration,prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInNewElements:0}}if(o++,o>=n.length)return null;if(a=n[o],a.start===i)return{prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(a.start>i)return null}}else{let a=0,o=Array.isArray(e)?e[0]:null,s=Array.isArray(e)?null:e[0],u=i;for(;;){let d=o!==null?o.attributes.d:s==null?void 0:s.getAttribute(\"d\"),f=P(d)?null:parseInt(d,10);if(f===null||Number.isNaN(f))return null;let l=o!==null?o.attributes.r:s==null?void 0:s.getAttribute(\"r\"),c=P(l)?null:parseInt(l,10);if(c!==null){if(Number.isNaN(c)||c<0)return null;if(c>0){let h=t-u;if(h%f===0&&h/f<=c)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/f,prevSegmentsIdx:0,newElementsIdx:a}}u+=f*(c+1)}else u+=f;if(a++,a>=e.length)return null;Array.isArray(e)?o=e[a]:s=e[a];let g=o!==null?o.attributes.t:s==null?void 0:s.getAttribute(\"t\"),p=P(g)?null:parseInt(g,10);if(p!==null){if(Number.isNaN(p))return null;u=p}if(u===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(u>i)return null}}}function vi(n,e){var h;let t=Pi(e,n);if(t===null)return m.warn('DASH: Cannot perform \"based\" update. Common segment not found.'),pt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,u=e.length-r+i-1;if(u>=n.length)return m.info('DASH: Cannot perform \"based\" update. New timeline too short'),pt(n);let d=e.slice(r);if(a>0){let b=d[0];b.start+=b.duration*a,d[0].repeatCount-=a}if(o>0&&i!==0)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form.'),pt(n);let f=d[d.length-1],l=Array.isArray(n)?mn(n[u]):pn(n[u]),c=((h=l.repeatCount)!=null?h:0)-o;if(l.duration!==f.duration||f.repeatCount>c)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),pt(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],p=[];if(Array.isArray(n))for(let b=u+1;b<n.length;b++)p.push(mn(n[b]));else for(let b=u+1;b<n.length;b++)p.push(pn(n[b]));for(let b=0;b<p.length;b++){let y=p[b],E=g[g.length-1]===void 0?f:g[g.length-1],v=p[b+1]===void 0?null:p[b+1],_=cn(y,E,v);_!==null&&g.push(_)}return d.concat(g)}var gn=class n{constructor(e,t){var _,C,R,k,A;if(!n.isTimelineIndexArgument(e))throw new Error(\"The given index is not compatible with a TimelineRepresentationIndex.\");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:a,isDynamic:o,isLastPeriod:s,representationId:u,representationBitrate:d,periodStart:f,periodEnd:l,isEMSGWhitelisted:c}=t,g=(_=e.timescale)!=null?_:1,p=(C=e.presentationTimeOffset)!=null?C:0,h=f*g,b=p-h;this._manifestBoundsCalculator=a,this._isEMSGWhitelisted=c,this._isLastPeriod=s,this._lastUpdate=(R=t.receivedTime)!=null?R:L(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=o,this._parseTimeline=(k=e.timelineParser)!=null?k:null;let y=((A=e.initialization)==null?void 0:A.media)===void 0?null:Ne(e.initialization.media,u,d),E=e.media===void 0?null:Ne(e.media,u,d),v;i===void 0&&r===void 0?v=1/0:v=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:v,indexRange:e.indexRange,indexTimeOffset:b,initialization:P(e.initialization)?void 0:{url:y,range:e.initialization.range},segmentUrlTemplate:E,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Ci(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=Re(f,this._index),this._scaledPeriodEnd=l===void 0?void 0:Re(l,this._index)}getInitSegment(){return et(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),fn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:Ye(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=yr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return Ye(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(Be(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return Ye(t,this._index)}awaitSegmentBetween(e,t){var d,f;if(de(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,a=Ft(r),o=Re(t,this._index),s=yr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(d=this._scaledPeriodEnd)!=null?d:1/0)+a>=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let u=Re(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=Be(l,null,this._scaledPeriodEnd)+a;if(u<g+a)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?o+a>this._scaledPeriodStart?void 0:!1:u-a<this._scaledPeriodEnd&&o+a>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),sd(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),Do({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof Ke&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),Ri(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var o;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&Re(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Ft(this._index.timescale),r=yr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(o=this._scaledPeriodEnd)!=null?o:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return Be(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){m.error(\"A `TimelineRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TimelineRepresentationIndex`\")}static isTimelineIndexArgument(e){return typeof e.timelineParser==\"function\"||Array.isArray(e.timeline)}_refreshTimeline(){var i,a;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((a=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?a:0)/this._index.timescale);if(P(e))return;let t=Re(e,this._index),r=_i(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(m.error(\"DASH: Timeline already lazily parsed.\"),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=F.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Ci(pt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Ci(vi(e,r),this._index.startNumber,this._index.endNumber)}};function Ci(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let a=n[i];if(r+=a.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let o=n.slice(0,i),s=Z({},a),u=r-a.repeatCount-1;return s.repeatCount=Math.max(0,t-u),o.push(s),o}}}return n}function sd(n,e,t,r){let i=yr(e,t,r);if(i===null)return!1;for(let a=0;a<e.timeline.length;a++){if(i.timelineIdx<a)return!1;let o=e.timeline[a],s=(o.start-e.indexTimeOffset)/e.timescale;if(s>n.time)return!1;if(s===n.time)return o.range===void 0?n.range===void 0:!P(n.range)&&o.range[0]===n.range[0]&&o.range[1]===n.range[1];if(o.repeatCount>=0&&o.duration!==void 0){let d=(s-o.start)/o.duration-1;return d%1===0&&d<=i.newRepeatCount}}return!1}function yr(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Be(a,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Be(a,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let a=n.timeline[i],o=a.start+a.duration;if(Ye(o,n)<=r){let s=Be(a,n.timeline[i+1],t);if(Ye(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let d=Re(r,n)-a.start,f=Math.floor(d/a.duration);return de(f>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:f-1,end:a.start+f*a.duration}}}}return null}var Tr=gn;var ud=/^(?:[a-z]+:)?\\/\\//i,dd=/^(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function xi(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(ud.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t<e?xi(n.substring(0,t)):e+1}function Bo(n,e){let t=Er(n),r=Er(e);if(t.scheme!==r.scheme||t.authority!==r.authority||t.path[0]!==void 0&&t.path[0]!==\"/\"&&r.path[0]===\"/\"||r.path[0]!==void 0&&r.path[0]!==\"/\"&&t.path[0]===\"/\")return null;let i=In(t.path),a=In(r.path),o;if(i===a)o=\"\";else{let u=i.split(\"/\");u.pop();let d=a.split(\"/\");for(;u.length>0&&d.length>0&&u[0]===d[0];)u.shift(),d.shift();for(;u.length>0;)u.shift(),d.unshift(\"..\");let f=d.join(\"/\");(f.endsWith(\"../\")||f.endsWith(\"./\"))&&(f=f.slice(0,f.length-1)),o=f===\"\"?\".\":f}let s=o;return o===\"\"&&r.query===t.query||r.query&&(s+=\"?\",s+=r.query),r.fragment&&(s+=\"#\",s+=r.fragment),s}function ld(n,e){let t=Er(n),r=Er(e);if(r.scheme)return Ai(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return r.authority?(i.authority=r.authority,i.path=In(r.path),Ai(i)):(r.path===\"\"?(i.path=t.path,r.query||(i.query=t.query)):ze(r.path,\"/\")?i.path=In(r.path):i.path=In(cd(t,r.path)),Ai(i))}var hn=new Map,fd=200;function Er(n){var r,i,a,o,s;if(hn.has(n))return hn.get(n);let e=n.match(dd),t;return e===null?t={scheme:\"\",authority:\"\",path:\"\",query:\"\",fragment:\"\"}:t={scheme:(r=e[1])!=null?r:\"\",authority:(i=e[2])!=null?i:\"\",path:(a=e[3])!=null?a:\"\",query:(o=e[4])!=null?o:\"\",fragment:(s=e[5])!=null?s:\"\"},hn.size>=fd&&hn.clear(),hn.set(n,t),t}function Ai(n){let e=\"\";return n.scheme&&(e+=n.scheme+\":\"),n.authority&&(e+=\"//\"+n.authority),e+=n.path,n.query&&(e+=\"?\"+n.query),n.fragment&&(e+=\"#\"+n.fragment),e}function In(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===\"..\"||i===\".\"||i===\"\")){if(i===\"/..\"){t.pop(),r===e.length-1&&t.push(\"/\");continue}if(i===\"/.\"){r===e.length-1&&t.push(\"/\");continue}t.push(i)}}return t.join(\"\")}function cd(n,e){if(n.authority&&n.path===\"\")return\"/\"+e;let t=n.path;return t.substring(0,t.lastIndexOf(\"/\")+1)+e}function bn(...n){var r,i,a;let e=n.filter(o=>o!==\"\"),t=e.length;if(t===0)return\"\";if(t===1)return(r=e[0])!=null?r:\"\";{let o=(i=e[0])!=null?i:\"\",s=(a=e[1])!=null?a:\"\",u=ld(o,s),d=e.slice(2);return bn(u,...d)}}var Sn=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return ki(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(m.warn(\"DASH: forcing the parsing of a referencing ContentProtection\"),ki(e,t)),!1):(t.children.cencPssh.push(...i.children.cencPssh),t.attributes.keyId===void 0&&i.attributes.keyId!==void 0&&(t.attributes.keyId=i.attributes.keyId),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),ki(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function ki(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)===\"urn:uuid:\"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,\"\").toLowerCase()),e.attributes.keyId!==void 0&&e.attributes.keyId.length>0){let o=e.attributes.keyId;n.contentProtections===void 0?n.contentProtections={keyIds:[o],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[o]:n.contentProtections.keyIds.push(o)}if(t===void 0)return;let{cencPssh:r}=e.children,i=[];for(let o of r)i.push({systemId:t,data:o});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:\"cenc\",values:i}]};return}let a=Y(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function _r(n){let e=Date.parse(n)-L();if(isNaN(e)){m.warn(\"DASH Parser: Invalid clock received: \",n);return}return e}function Mi(n){let e=n.children.utcTimings.filter(t=>(t.schemeIdUri===\"urn:mpeg:dash:utc:http-iso:2014\"||t.schemeIdUri===\"urn:mpeg:dash:utc:http-xsdate:2014\")&&t.value!==void 0);return e.length>0?e[0].value:void 0}function Rr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function Oi(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=Rr(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=Rr(i);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(r!==void 0&&a===null||i!==void 0&&o===null)return m.info(\"Parser utils: found Period with no segment. \",\"Going to previous one to calculate last position\"),{safe:void 0,unsafe:void 0};if(o!==null)return a!==null?{safe:Math.min(a,o),unsafe:Math.max(a,o)}:{safe:o,unsafe:o};if(a!==null)return{safe:a,unsafe:a}}}return{safe:void 0,unsafe:void 0}}function Pr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function wi(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=Pr(r);if(s===void 0)return;a=s}if(i!==void 0){let s=Pr(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){m.info(\"Parser utils: found Period with no segment. \",\"Going to next one to calculate first position\");return}if(o!==null)return a!==null?Math.max(a,o):o;if(a!==null)return a}}}function Di(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=wi(n),t=Oi(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var yn=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(L()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+L()/1e3,0):this._lastPosition}};function Bi(n,e){return n.type!==\"dynamic\"?0:P(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Ni(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(m.warn(\"DASH: Updating overlapping Periods.\",i==null?void 0:i.start,r.start),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function Ui(n,e){let t=[];return n.forEach((r,i)=>{let a;if(!P(r.attributes.start))a=r.attributes.start;else if(i===0)a=!e.isDynamic||P(e.availabilityStartTime)?0:e.availabilityStartTime;else{let d=t[t.length-1];if(!P(d)&&!P(d.periodEnd))a=d.periodEnd;else throw new Error(\"Missing start time when parsing periods.\")}let o,s=n[i+1];P(r.attributes.duration)?i===n.length-1?o=e.duration:P(s.attributes.start)||(o=s.attributes.start-a):o=r.attributes.duration;let u=P(o)?void 0:a+o;t.push({periodStart:a,periodDuration:o,periodEnd:u})}),t}function md(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let a of i)for(let o of Ut){let s=n[o];if(s!==void 0)for(let u of s)u.id===a&&(u.trickModeTracks===void 0&&(u.trickModeTracks=[]),u.trickModeTracks.push(r))}}}var No=md;var pd=[\"subtitle\",\"caption\"];function Li(n,e,t,r){function i(o,s){let u=o.split(\"/\")[0];if(ce(Ut,u))return u;if(o===\"application/ttml+xml\")return\"text\";if(o===\"application/mp4\")return s!==null&&Y(s,d=>d.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&ce(pd,d.value))!==void 0?\"text\":void 0}function a(o){switch(o.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(o.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(e!==null){let o=i(e,r);if(o!==void 0)return o}if(t!==null){let o=a(t);if(o!==void 0)return o}for(let o=0;o<n.length;o++){let s=n[o],{mimeType:u,codecs:d}=s.attributes;if(u!==void 0){let f=i(u,r);if(f!==void 0)return f}if(d!==void 0){let f=a(d);if(f!==void 0)return f}}}var gd=/[, ]+/g;function Uo(n){return J(n)?n.trim().replace(gd,\", \"):\"\"}function Lo(n){let[e,t,r,i,a,o,s,u]=n.split(\".\");if(e!==\"vp08\"&&e!==\"vp09\"&&e!==\"vp10\")return;let d,f,l;if((i!==void 0&&i===\"10\"||i===\"12\")&&(d=parseInt(i,10)),s!==void 0&&(s===\"16\"?f=\"pq\":s===\"18\"&&(f=\"hlg\")),o!==void 0&&u!==void 0&&o===\"09\"&&u===\"09\"&&(l=\"rec2020\"),!(d===void 0||f===void 0))return{colorDepth:d,eotf:f,colorSpace:l}}function Fi(n,e){var p,h,b;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:a,start:o,receivedTime:s,unsafelyBaseOnPreviousRepresentation:u,inbandEventStreams:d,isLastPeriod:f}=e,c={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:u,isEMSGWhitelisted:y=>d===void 0?!1:d.some(({schemeIdUri:E})=>E===y.schemeIdUri),isLastPeriod:f,manifestBoundsCalculator:r,isDynamic:i,periodEnd:a,periodStart:o,receivedTime:s,representationBitrate:n.attributes.bitrate,representationId:n.attributes.id},g;if(n.children.segmentBase!==void 0){let{segmentBase:y}=n.children;g=new Rt(y,c)}else if(n.children.segmentList!==void 0){let{segmentList:y}=n.children;g=new Pt(y,c)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let y=e.parentSegmentTemplates.slice(),E=n.children.segmentTemplate;E!==void 0&&y.push(E);let v=q({},...y);(v.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(c.availabilityTimeOffset=((p=v.availabilityTimeOffset)!=null?p:0)+((h=e.availabilityTimeOffset)!=null?h:0)),(v.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(c.availabilityTimeComplete=(b=v.availabilityTimeComplete)!=null?b:e.availabilityTimeComplete),g=Tr.isTimelineIndexArgument(v)?new Tr(v,c):new vt(v,c)}else{let y=e.adaptation.children;if(y.segmentBase!==void 0){let{segmentBase:E}=y;g=new Rt(E,c)}else if(y.segmentList!==void 0){let{segmentList:E}=y;g=new Pt(E,c)}else g=new vt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},c)}return g}function tt(n,e){var i;if(e.length===0)return n;let t=e.map(a=>({url:a.value}));if(n.length===0)return t;let r=[];for(let a=0;a<n.length;a++){let o=n[a];for(let s=0;s<t.length;s++){let u=t[s],d=bn(o.url,u.url);r.push({url:d,serviceLocation:(i=u.serviceLocation)!=null?i:o.serviceLocation})}}return r}function hd(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Id({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:\"\")+(r!=null?r:\"\")).indexOf(\"http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10\")!==-1&&(i===\"hvc1.2.4.L153.B0\"||i===\"hev1.2.4.L153.B0\"))return{colorDepth:10,eotf:\"pq\",colorSpace:\"rec2020\"};let o=Y([...e!=null?e:[],...t!=null?t:[]],s=>s.schemeIdUri===\"urn:mpeg:mpegB:cicp:TransferCharacteristics\");if(o!==void 0)switch(o.value){case\"15\":return;case\"16\":return{eotf:\"pq\"};case\"18\":return{eotf:\"hlg\"}}if(i!==void 0&&/^vp(08|09|10)/.exec(i))return Lo(i)}function zi(n,e,t){var i,a,o,s,u,d,f;let r=[];for(let l of n){let c=l.attributes.id!==void 0?l.attributes.id:String(l.attributes.bitrate)+(l.attributes.height!==void 0?`-${l.attributes.height}`:\"\")+(l.attributes.width!==void 0?`-${l.attributes.width}`:\"\")+(l.attributes.mimeType!==void 0?`-${l.attributes.mimeType}`:\"\")+(l.attributes.codecs!==void 0?`-${l.attributes.codecs}`:\"\");for(;r.some(T=>T.id===c);)c+=\"-dup\";let g=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(c))!=null?a:null,p=hd(l,e),h=(o=l.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,b;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(b=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((u=t.availabilityTimeOffset)!=null?u:0));let y=q({},t,{availabilityTimeOffset:b,availabilityTimeComplete:h,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),E=Fi(l,y),v;l.attributes.bitrate===void 0?(m.warn(\"DASH: No usable bitrate found in the Representation.\"),v=0):v=l.attributes.bitrate;let _=tt(t.baseURLs,l.children.baseURLs),C=_.length===0?[{baseUrl:\"\",id:void 0}]:_.map(T=>({baseUrl:T.url,id:T.serviceLocation})),R={bitrate:v,cdnMetadata:C,index:E,id:c};l.children.supplementalProperties!==void 0&&Y(l.children.supplementalProperties,T=>T.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&T.value===\"JOC\")&&(R.isSpatialAudio=!0);let k;l.attributes.codecs!==void 0?k=l.attributes.codecs:e.attributes.codecs!==void 0&&(k=e.attributes.codecs),k!==void 0&&(k=k===\"mp4a.40.02\"?\"mp4a.40.2\":k,R.codecs=k);let A;l.attributes.supplementalCodecs!==void 0?A=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(A=e.attributes.supplementalCodecs),A!==void 0&&(R.supplementalCodecs=Uo(A)),l.attributes.frameRate!==void 0?R.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(R.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?R.height=l.attributes.height:e.attributes.height!==void 0&&(R.height=e.attributes.height),l.attributes.mimeType!==void 0?R.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(R.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?R.width=l.attributes.width:e.attributes.width!==void 0&&(R.width=e.attributes.width);{let T=[...(d=e.children.contentProtections)!=null?d:[],...(f=l.children.contentProtections)!=null?f:[]];for(let x of T)t.contentProtectionParser.add(R,x)}R.hdrInfo=Id({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:k}),r.push(R)}return r}function bd(n){if(n===void 0)return!1;let e=n.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&n.value===\"1\",t=n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"description\";return e||t}function Sd(n,e){return!!(n!==void 0&&n.some(r=>r.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&r.value===\"2\")||e!==void 0&&e.some(r=>r.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&r.value===\"caption\"))}function yd(n){return n===void 0?!1:n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"sign\"}function Td(n,e){if(J(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,u=s;return J(n.attributes.language)&&(u+=`-${n.attributes.language}`),t===!0&&(u+=\"-cc\"),r===!0&&(u+=\"-cc\"),i===!0&&(u+=\"-ad\"),a===!0&&(u+=\"-si\"),o&&(u+=\"-trickMode\"),J(n.attributes.contentType)&&(u+=`-${n.attributes.contentType}`),J(n.attributes.codecs)&&(u+=`-${n.attributes.codecs}`),J(n.attributes.mimeType)&&(u+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(u+=`-${String(n.attributes.frameRate)}`),u}function Ed(n){if(!P(n.children.supplementalProperties)){let{supplementalProperties:e}=n.children;for(let t of e)if(t.schemeIdUri===\"urn:mpeg:dash:adaptation-set-switching:2016\"&&!P(t.value))return t.value.split(\",\").map(r=>r.trim()).filter(r=>r)}return[]}function Wi(n,e){var s,u,d,f,l,c,g;let t={video:[],audio:[],text:[]},r=[],i={},a=[];for(let p=0;p<n.length;p++){let h=n[p],b=h.children,{essentialProperties:y,roles:E,label:v}=b,_=Array.isArray(E)&&E.some(ye=>ye.value===\"main\")&&E.some(ye=>ye.schemeIdUri===\"urn:mpeg:dash:role:2011\"),C=h.children.representations,R=(s=h.attributes.availabilityTimeComplete)!=null?s:e.availabilityTimeComplete,k;(h.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(k=((u=h.attributes.availabilityTimeOffset)!=null?u:0)+((d=e.availabilityTimeOffset)!=null?d:0));let A=h.attributes.mimeType,T=h.attributes.codecs,x=Li(C,J(A)?A:null,J(T)?T:null,P(b.roles)?null:b.roles);if(x===void 0)continue;let O=(f=h.attributes.selectionPriority)!=null?f:1,D=h.attributes.id,w=Ed(h),M=[];e.segmentTemplate!==void 0&&M.push(e.segmentTemplate),h.children.segmentTemplate!==void 0&&M.push(h.children.segmentTemplate);let N={availabilityTimeComplete:R,availabilityTimeOffset:k,baseURLs:tt(e.baseURLs,b.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:M,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},U=Array.isArray(y)?Y(y,ye=>ye.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,K=(l=U==null?void 0:U.value)==null?void 0:l.split(\" \"),ee=K!==void 0,{accessibilities:G}=b,H;E!==void 0&&E.some(ye=>ye.value===\"dub\")&&(H=!0);let V;x!==\"text\"?V=!1:V=Sd(G,E);let Q;x===\"text\"&&E!==void 0&&E.some(ye=>ye.value===\"forced-subtitle\"||ye.value===\"forced_subtitle\")&&(Q=!0);let le;x!==\"audio\"?le=!1:G!==void 0&&(le=G.some(bd));let Se;x!==\"video\"?Se=!1:G!==void 0&&(Se=G.some(yd));let me=Td(h,{isAudioDescription:le,isForcedSubtitle:Q,isClosedCaption:V,isSignInterpreted:Se,isTrickModeTrack:ee,type:x});for(;ce(a,me);)me+=\"-dup\";let $e=me;a.push(me),N.unsafelyBaseOnPreviousAdaptation=(g=(c=e.unsafelyBaseOnPreviousPeriod)==null?void 0:c.getAdaptation(me))!=null?g:null;let we=zi(C,h,N),he={id:me,representations:we,type:x,isTrickModeTrack:ee};if(P(h.attributes.language)||(he.language=h.attributes.language),P(V)||(he.closedCaption=V),P(le)||(he.audioDescription=le),H===!0&&(he.isDub=!0),Q!==void 0&&(he.forcedSubtitles=Q),Se===!0&&(he.isSignInterpreted=!0),v!==void 0&&(he.label=v),K!==void 0)r.push({adaptation:he,trickModeAttachedAdaptationIds:K});else{let ye=-1;for(let Qt of w){let He=i[Qt];if(He!==void 0&&He.newID!==$e&&ce(He.adaptationSetSwitchingIDs,D)){ye=re(t[x],Ot=>Ot[0].id===Qt);let xe=t[x][ye];if(xe!==void 0&&xe[0].audioDescription===he.audioDescription&&xe[0].closedCaption===he.closedCaption&&xe[0].language===he.language){m.info('DASH Parser: merging \"switchable\" AdaptationSets',D,Qt),xe[0].representations.push(...he.representations),xe[1]={priority:Math.max(O,xe[1].priority),isMainAdaptation:_||xe[1].isMainAdaptation,indexInMpd:Math.min(p,xe[1].indexInMpd)};break}}}ye<0&&t[x].push([he,{priority:O,isMainAdaptation:_,indexInMpd:p}])}!P(D)&&P(i[D])&&(i[D]={newID:$e,adaptationSetSwitchingIDs:w})}let o=Ut.reduce((p,h)=>{let b=t[h];return b.length>0&&(b.sort(Fo),p[h]=b.map(([y])=>y)),p},{});return t.video.sort(Fo),No(o,r),o}function Fo(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var _d=Ce();function Vi(n,e){var o,s,u,d,f;let t=[],r=Ui(n,e);if(r.length!==n.length)throw new Error(\"MPD parsing error: the time information are incoherent.\");let{isDynamic:i,manifestBoundsCalculator:a}=e;!i&&!P(e.duration)&&a.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let c=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),h=tt(e.baseURLs,g.children.baseURLs),{periodStart:b,periodDuration:y,periodEnd:E}=r[l],v;for(P(g.attributes.id)?(m.warn(\"DASH: No usable id found in the Period. Generating one.\"),v=\"gen-dash-period-\"+_d()):v=g.attributes.id;t.some(U=>U.id===v);)v+=\"-dup\";let _=p!==void 0?p.receivedTime:e.receivedTime,C=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(v))!=null?s:null,R=g.attributes.availabilityTimeComplete,k=g.attributes.availabilityTimeOffset,{manifestProfiles:A,contentProtectionParser:T}=e,{segmentTemplate:x}=g.children;T.addReferences((u=g.children.contentProtections)!=null?u:[]);let O={availabilityTimeComplete:R,availabilityTimeOffset:k,baseURLs:h,contentProtectionParser:T,manifestBoundsCalculator:a,end:E,isDynamic:i,isLastPeriod:c,manifestProfiles:A,receivedTime:_,segmentTemplate:x,start:b,unsafelyBaseOnPreviousPeriod:C},D=Wi(g.children.adaptations,O),w=((d=e.xmlNamespaces)!=null?d:[]).concat((f=g.attributes.namespaces)!=null?f:[]),M=Pd(g.children.eventStreams,b,w),N={id:v,start:b,end:E,duration:y,adaptations:D,streamEvents:M};if(t.unshift(N),!a.lastPositionIsKnown()){let U=Rd(D);if(!i)typeof U==\"number\"&&a.setLastPosition(U);else if(typeof U==\"number\"){let K=L()/1e3;a.setLastPosition(U,K)}else{let K=zo(e,b);if(K!==void 0){let[ee,G]=K;a.setLastPosition(ee,G)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let l=zo(e,0);if(l!==void 0){let[c,g]=l;a.setLastPosition(c,g)}}return Ni(t)}function zo(n,e){if(P(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){m.warn(\"DASH Parser: no clock synchronization mechanism found. Using the system clock instead.\");let r=t-n.availabilityStartTime,i=L()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=L()/1e3,i=r+t;if(i>=e)return[i,r]}}function Rd(n){let e=null,t=!0,r=Ir(n).filter(a=>!P(a)),i=hi(r,a=>a);for(let a of i){let o=a.representations;for(let s of o){let u=s.index.getLastAvailablePosition();u!==null&&(t=!1,typeof u==\"number\"&&(e=P(e)?u:Math.max(e,u)))}}if(P(e)){if(t)return null}else return e}function Pd(n,e,t){var i,a;let r=[];for(let o of n){let{schemeIdUri:s=\"\",timescale:u=1}=o.attributes,d=t.concat((i=o.attributes.namespaces)!=null?i:[]);for(let f of o.children.events)if(f.eventStreamData!==void 0){let l=((a=f.presentationTime)!=null?a:0)/u+e,c=f.duration===void 0?void 0:l+f.duration/u,g,p;if(!wt&&f.eventStreamData instanceof Element)g=f.eventStreamData;else try{p={namespaces:d,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:De(new Uint8Array(f.eventStreamData))}}catch(h){m.error(\"DASH: Error while parsing event-stream:\",h instanceof Error?h.message:\"Unknown error\")}r.push({start:l,end:c,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:u,element:g,xmlData:p}}})}}return r}function zt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(P(e.externalClockOffset)){let u=o.type===\"dynamic\",d=Y(a.utcTimings,c=>c.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!P(c.value)),f=!P(d)&&!P(d.value)?_r(d.value):void 0,l=!P(f)&&!isNaN(f)?f:void 0;if(!P(l)&&r!==!0)e.externalClockOffset=l;else if(u&&r!==!0){let c=Mi(n);if(!P(c)&&c.length>0)return{type:\"needs-clock\",value:{url:c,continue:function(p){return p.success?(e.externalClockOffset=_r(p.data),zt(n,e,t,!0)):(t.push(p.error),m.warn(\"DASH Parser: Error on fetching the clock ressource\",p.error),zt(n,e,t,!0))}}}}}let s=[];for(let u=0;u<a.periods.length;u++){let{xlinkHref:d,xlinkActuate:f}=a.periods[u].attributes;!P(d)&&f===\"onLoad\"&&s.push({index:u,ressource:d})}return s.length===0?vd(n,e,t,i):{type:\"needs-xlinks\",value:{xlinksUrls:s.map(({ressource:u})=>u),continue:function(d){if(d.length!==s.length)throw new Error(\"DASH parser: wrong number of loaded ressources.\");for(let f=d.length-1;f>=0;f--){let l=s[f].index,{parsed:c,warnings:g,receivedTime:p,sendingTime:h,url:b}=d[f];g.length>0&&t.push(...g);for(let y of c)i.set(y,{receivedTime:p,sendingTime:h,url:b});a.periods.splice(l,1,...c)}return zt(n,e,t,r,i)}}}}function vd(n,e,t,r){var M,N,U,K,ee;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,xi(e.url))}]:[],u=tt(s,i.baseURLs),d=Bi(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:c,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,h=new yn({availabilityStartTime:d,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:p}),b=new Sn;b.addReferences((M=i.contentProtections)!=null?M:[]);let y={availabilityStartTime:d,baseURLs:u,clockOffset:c,contentProtectionParser:b,duration:a.duration,isDynamic:o,manifestBoundsCalculator:h,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},E=Vi(i.periods,y);b.finalize();let v=a.duration,_,C,R=null,k;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(_=a.minimumUpdatePeriod===0?F.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:A,maximumSafePosition:T,maximumUnsafePosition:x}=Di(E),O=L();if(o){let G;T!==void 0?G=T:p===void 0?(m.warn(\"DASH Parser: use system clock to define maximum position\"),G=Date.now()/1e3-d):G=(L()+p)/1e3-d;let H=h.getEstimatedLiveEdge();H===void 0&&(x!==void 0?H=x:H=G),k={isLinear:!0,maximumSafePosition:G,livePosition:H,time:O},C=A,R=f!=null?f:null,R!==null&&(R+=l!=null?l:0),R!==null&&C!==void 0&&H-C>R&&(R=H-C)}else{C=A,C===void 0&&(C=(U=(N=E[0])==null?void 0:N.start)!=null?U:0);let G=v!=null?v:1/0;if(E[E.length-1]!==void 0){let H=E[E.length-1],V=(K=H.end)!=null?K:H.duration!==void 0?H.start+H.duration:void 0;V!==void 0&&V<G&&(G=V)}T!==void 0&&T<G&&(G=T),k={isLinear:!1,maximumSafePosition:G,livePosition:void 0,time:O}}let D=!o||n.attributes.minimumUpdatePeriod===void 0&&(((ee=E[E.length-1])==null?void 0:ee.end)!==void 0||n.attributes.duration!==void 0);return{type:\"done\",value:{parsed:{availabilityStartTime:d,clockOffset:e.externalClockOffset,isDynamic:o,isLive:o,isLastPeriodKnown:D,periods:E,publishTime:a.publishTime,suggestedPresentationDelay:a.suggestedPresentationDelay,transportType:\"dash\",timeBounds:{minimumSafePosition:C,timeshiftDepth:R,maximumTimeData:k},lifetime:_,uris:P(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var vr=zt;var Cd=/^P(([\\d.]*)Y)?(([\\d.]*)M)?(([\\d.]*)D)?T?(([\\d.]*)H)?(([\\d.]*)M)?(([\\d.]*)S)?/,Ad=/([0-9]+)-([0-9]+)/;function Pe(n,e){return n===\"true\"?[!0,null]:n===\"false\"?[!1,null]:[!1,new Me(`\\`${e}\\` property is not a boolean value but \"${n}\"`)]}function ne(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new Me(`\\`${e}\\` property is not an integer value but \"${n}\"`)]:[t,null]}function Ae(n,e){if(n===\"INF\")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new Me(`\\`${e}\\` property is invalid: \"${n}\"`)]:[t,null]}function qi(n,e){if(n===\"true\")return[!0,null];if(n===\"false\")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new Me(`\\`${e}\\` property is not a boolean nor an integer but \"${n}\"`)]:[t,null]}function Cr(n,e){let t=Date.parse(n);return isNaN(t)?[null,new Me(`\\`${e}\\` is in an invalid date format: \"${n}\"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function We(n,e){if(!J(n))return[0,new Me(`\\`${e}\\` property is empty`)];let t=Cd.exec(n);return t===null?[null,new Me(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[parseFloat(J(t[2])?t[2]:\"0\")*365*24*60*60+parseFloat(J(t[4])?t[4]:\"0\")*30*24*60*60+parseFloat(J(t[6])?t[6]:\"0\")*24*60*60+parseFloat(J(t[8])?t[8]:\"0\")*60*60+parseFloat(J(t[10])?t[10]:\"0\")*60+parseFloat(J(t[12])?t[12]:\"0\"),null]}function Ct(n,e){let t=Ad.exec(n);return t===null?[null,new Me(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[[+t[1],+t[2]],null]}function Wo(n,e){try{return[pr(n),null]}catch(t){return[null,new Me(`\\`${e}\\` is not a valid base64 string: \"${n}\"`)]}}function Wt(n,e){let t=/^(\\d+)\\/(\\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:Ae(n,e)}function _e(n){let e,t;for(let r of Object.keys(n.attributes)){let i=n.attributes[r];if(!P(i))switch(r){case\"schemeIdUri\":e=i;break;case\"value\":t=i;break}}return{schemeIdUri:e,value:t}}function ge(n,e){return function(t,{asKey:r,parser:i,dashName:a}){let[o,s]=i(t,a);s!==null&&(m.warn(s.message),e.push(s)),o!==null&&(n[r]=o)}}var Me=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"MPDError\"}};function gt(n){return br(n)}function nt(n){let e=typeof n==\"string\"?n:gt(n.children),t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}function xd(n){let e=[],t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\"&&i.tagName===\"cenc:pssh\"){let a=gt(i.children);if(a!==null&&a.length>0){let[o,s]=Wo(a,\"cenc:pssh\");s!==null&&(m.warn(s.message),e.push(s)),o!==null&&t.push(o)}}}return[{cencPssh:t},e]}function kd(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!P(r))switch(t){case\"schemeIdUri\":e.schemeIdUri=r;break;case\"value\":e.value=r;break;case\"cenc:default_KID\":e.keyId=an(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function rt(n){let[e,t]=xd(n.children),r=kd(n);return[{children:e,attributes:r},t]}function Hi(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!P(r))switch(t){case\"id\":e.id=r;break;case\"lang\":e.language=r;break;case\"contentType\":e.contentType=r;break;case\"par\":e.par=r;break}}return e}function Gi(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"range\":r(a,{asKey:\"range\",parser:Ct,dashName:\"range\"});break;case\"sourceURL\":e.media=a;break}}return[e,t]}function it(n){let e={},t=[],r=ge(e,t),i=n.children;for(let a=0;a<i.length;a++){let o=i[a];if(typeof o!=\"string\"&&o.tagName===\"Initialization\"){let[s,u]=Gi(o);e.initialization=s,t=t.concat(u)}}for(let a of Object.keys(n.attributes)){let o=n.attributes[a];if(!P(o))switch(a){case\"timescale\":r(o,{asKey:\"timescale\",parser:ne,dashName:\"timescale\"});break;case\"presentationTimeOffset\":r(o,{asKey:\"presentationTimeOffset\",parser:Ae,dashName:\"presentationTimeOffset\"});break;case\"indexRange\":r(o,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"indexRangeExact\":r(o,{asKey:\"indexRangeExact\",parser:Pe,dashName:\"indexRangeExact\"});break;case\"availabilityTimeOffset\":r(o,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(o,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break;case\"duration\":r(o,{asKey:\"duration\",parser:ne,dashName:\"duration\"});break;case\"startNumber\":r(o,{asKey:\"startNumber\",parser:ne,dashName:\"startNumber\"});break;case\"endNumber\":r(o,{asKey:\"endNumber\",parser:ne,dashName:\"endNumber\"});break}}return[e,t]}function Ki(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"media\":e.media=a;break;case\"indexRange\":r(a,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"index\":e.index=a;break;case\"mediaRange\":r(a,{asKey:\"mediaRange\",parser:Ct,dashName:\"mediaRange\"});break}}return[e,t]}function Tn(n){let[e,t]=it(n),r=t,i=[],a=n.children;for(let s=0;s<a.length;s++){let u=a[s];if(typeof u!=\"string\"&&u.tagName===\"SegmentURL\"){let[d,f]=Ki(u);i.push(d),r=r.concat(f)}}return[q(e,{list:i}),r]}function ji(n){let e=n.children;return function(){for(let t=e.length-1;t>=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function At(n){let[e,t]=it(n),r=t,i;for(let s=0;s<n.children.length;s++){let u=n.children[s];typeof u!=\"string\"&&u.tagName===\"SegmentTimeline\"&&(i=ji(u))}let a=q({},e,{duration:e.duration,timelineParser:i}),o=ge(a,r);for(let s of Object.keys(n.attributes)){let u=n.attributes[s];if(!P(u))switch(s){case\"initialization\":P(a.initialization)&&(a.initialization={media:u});break;case\"index\":a.index=u;break;case\"availabilityTimeOffset\":o(u,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":o(u,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break;case\"media\":a.media=u;break;case\"bitstreamSwitching\":o(u,{asKey:\"bitstreamSwitching\",parser:Pe,dashName:\"bitstreamSwitching\"});break}}return[a,r]}function Md(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=nt(a);o!==void 0&&e.baseURLs.push(o),r=r.concat(s);break}case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(_e(a));break;case\"SegmentBase\":{let[o,s]=it(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=Tn(a);r=r.concat(s),e.segmentList=o;break}case\"SegmentTemplate\":{let[o,s]=At(a);r=r.concat(s),e.segmentTemplate=o;break}case\"ContentProtection\":{let[o,s]=rt(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}case\"SupplementalProperty\":P(e.supplementalProperties)?e.supplementalProperties=[_e(a)]:e.supplementalProperties.push(_e(a));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function Od(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"bandwidth\":r(a,{asKey:\"bitrate\",parser:ne,dashName:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Pe,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:Ae,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:Ae,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{asKey:\"qualityRanking\",parser:ne,dashName:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break}}return e.bitrate===void 0&&t.push(new Me(\"No bitrate found on a Representation\")),[e,t]}function Vo(n){let[e,t]=Md(n.children),[r,i]=Od(n),a=t.concat(i);return[{children:e,attributes:r},a]}function wd(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"Accessibility\":e.accessibilities===void 0?e.accessibilities=[_e(a)]:e.accessibilities.push(_e(a));break;case\"BaseURL\":{let[o,s]=nt(a);o!==void 0&&e.baseURLs.push(o),s.length>0&&(r=r.concat(s));break}case\"ContentComponent\":e.contentComponent=Hi(a);break;case\"EssentialProperty\":P(e.essentialProperties)?e.essentialProperties=[_e(a)]:e.essentialProperties.push(_e(a));break;case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(_e(a));break;case\"Label\":{let o=gt(a.children);o!=null&&(e.label=o);break}case\"Representation\":{let[o,s]=Vo(a);e.representations.push(o),s.length>0&&(r=r.concat(s));break}case\"Role\":P(e.roles)?e.roles=[_e(a)]:e.roles.push(_e(a));break;case\"SupplementalProperty\":P(e.supplementalProperties)?e.supplementalProperties=[_e(a)]:e.supplementalProperties.push(_e(a));break;case\"SegmentBase\":{let[o,s]=it(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=Tn(a);e.segmentList=o,s.length>0&&(r=r.concat(s));break}case\"SegmentTemplate\":{let[o,s]=At(a);e.segmentTemplate=o,s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=rt(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}}}return t.length>0&&(e.contentProtections=t),[e,r]}function Dd(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"id\":e.id=a;break;case\"group\":r(a,{asKey:\"group\",parser:ne,dashName:\"group\"});break;case\"lang\":e.language=a;break;case\"contentType\":e.contentType=a;break;case\"par\":e.par=a;break;case\"minBandwidth\":r(a,{asKey:\"minBitrate\",parser:ne,dashName:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{asKey:\"maxBitrate\",parser:ne,dashName:\"maxBandwidth\"});break;case\"minWidth\":r(a,{asKey:\"minWidth\",parser:ne,dashName:\"minWidth\"});break;case\"maxWidth\":r(a,{asKey:\"maxWidth\",parser:ne,dashName:\"maxWidth\"});break;case\"minHeight\":r(a,{asKey:\"minHeight\",parser:ne,dashName:\"minHeight\"});break;case\"maxHeight\":r(a,{asKey:\"maxHeight\",parser:ne,dashName:\"maxHeight\"});break;case\"minFrameRate\":r(a,{asKey:\"minFrameRate\",parser:Wt,dashName:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{asKey:\"maxFrameRate\",parser:Wt,dashName:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{asKey:\"selectionPriority\",parser:ne,dashName:\"selectionPriority\"});break;case\"segmentAlignment\":r(a,{asKey:\"segmentAlignment\",parser:qi,dashName:\"segmentAlignment\"});break;case\"subsegmentAlignment\":r(a,{asKey:\"subsegmentAlignment\",parser:qi,dashName:\"subsegmentAlignment\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Pe,dashName:\"bitstreamSwitching\"});break;case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"codecs\":e.codecs=a;break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Pe,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:Ae,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:Ae,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:Ae,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Pe,dashName:\"availabilityTimeComplete\"});break}}return[e,t]}function qo(n){let e=n.children,[t,r]=wd(e),[i,a]=Dd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Bd(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"schemeIdUri\":e.schemeIdUri=a;break;case\"value\":e.value=a;break;case\"timescale\":r(a,{asKey:\"timescale\",parser:ne,dashName:\"timescale\"});break;default:ze(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Ho(n,e){let[t,r]=Bd(n),i=[];for(let a of n.children)if(typeof a!=\"string\"&&a.tagName===\"Event\"){let o={};if(P(a.attributes.id)||(o.id=a.attributes.id),!P(a.attributes.presentationTime)){let[s,u]=ne(a.attributes.presentationTime,\"presentationTime\");u!==null&&r.push(u),s!==null&&(o.presentationTime=s)}if(!P(a.attributes.duration)){let[s,u]=ne(a.attributes.duration,\"duration\");u!==null&&r.push(u),s!==null&&(o.duration=s)}if(a.posStart<a.posEnd){let s=e.substring(a.posStart,a.posEnd);o.eventStreamData=s}i.push(o)}return[{children:{events:i},attributes:t},r]}function Nd(n,e){let t=[],r=[],i,a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=nt(d);f!==void 0&&t.push(f),o=o.concat(l);break}case\"AdaptationSet\":{let[f,l]=qo(d);r.push(f),o=o.concat(l);break}case\"EventStream\":{let[f,l]=Ho(d,e);s.push(f),o=o.concat(l);break}case\"SegmentTemplate\":{let[f,l]=At(d);i=f,l.length>0&&(o=o.concat(l));break}case\"ContentProtection\":{let[f,l]=rt(d);l.length>0&&(o=o.concat(l)),f!==void 0&&a.push(f);break}}}return[{baseURLs:t,adaptations:r,eventStreams:s,segmentTemplate:i,contentProtections:a},o]}function Ud(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"id\":e.id=a;break;case\"start\":r(a,{asKey:\"start\",parser:We,dashName:\"start\"});break;case\"duration\":r(a,{asKey:\"duration\",parser:We,dashName:\"duration\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Pe,dashName:\"bitstreamSwitching\"});break;case\"xlink:href\":e.xlinkHref=a;break;case\"xlink:actuate\":e.xlinkActuate=a;break;default:ze(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Ar(n,e){let[t,r]=Nd(n.children,e),[i,a]=Ud(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Ld(n,e){let t=[],r=[],i=[],a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=nt(d);f!==void 0&&t.push(f),s=s.concat(l);break}case\"Location\":r.push(gt(d.children));break;case\"Period\":{let[f,l]=Ar(d,e);i.push(f),s=s.concat(l);break}case\"UTCTiming\":{let f=_e(d);a.push(f);break}case\"ContentProtection\":{let[f,l]=rt(d);l.length>0&&(s=s.concat(l)),f!==void 0&&o.push(f);break}}}return[{baseURLs:t,locations:r,periods:i,utcTimings:a,contentProtections:o},s]}function Fd(n){let e={},t=[],r=ge(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!P(a))switch(i){case\"id\":e.id=a;break;case\"profiles\":e.profiles=a;break;case\"type\":e.type=a;break;case\"availabilityStartTime\":r(a,{asKey:\"availabilityStartTime\",parser:Cr,dashName:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{asKey:\"availabilityEndTime\",parser:Cr,dashName:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{asKey:\"publishTime\",parser:Cr,dashName:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{asKey:\"duration\",parser:We,dashName:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{asKey:\"minimumUpdatePeriod\",parser:We,dashName:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{asKey:\"minBufferTime\",parser:We,dashName:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{asKey:\"timeShiftBufferDepth\",parser:We,dashName:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{asKey:\"suggestedPresentationDelay\",parser:We,dashName:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{asKey:\"maxSegmentDuration\",parser:We,dashName:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{asKey:\"maxSubsegmentDuration\",parser:We,dashName:\"maxSubsegmentDuration\"});break;default:ze(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Go(n,e){let[t,r]=Ld(n.children,e),[i,a]=Fd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Yi(n,e){let t=yi(n),r=t[t.length-1];if(r===void 0||typeof r==\"string\"||r.tagName!==\"MPD\")throw new Error(\"DASH Parser: document root should be MPD\");let[i,a]=Go(r,n),o=vr(i,e,a);return s(o);function s(u){if(u.type===\"done\")return u;if(u.type===\"needs-clock\")return{type:\"needs-resources\",value:{urls:[u.value.url],format:\"string\",continue(d){if(d.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let f=u.value.continue(d[0].responseData);return s(f)}}};if(u.type===\"needs-xlinks\")return{type:\"needs-resources\",value:{urls:u.value.xlinksUrls,format:\"string\",continue(d){let f=[];for(let c=0;c<d.length;c++){let{responseData:g,receivedTime:p,sendingTime:h,url:b}=d[c];if(!g.success)throw g.error;let y=\"<root>\"+g.data+\"</root>\",E=yi(y),v=E[E.length-1];if(v===void 0||typeof v==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let _=v.children,C=[],R=[];for(let k=0;k<_.length;k++){let A=_[k];if(typeof A==\"string\"||A.tagName!==\"Period\")continue;let[T,x]=Ar(A,y);R.push(...x),C.push(T)}f.push({url:b,receivedTime:p,sendingTime:h,parsed:C,warnings:R})}let l=u.value.continue(f);return s(l)}}};Fe(u)}}var Ko=Yi;var zd=typeof WebAssembly==\"object\"&&typeof WebAssembly.instantiate==\"function\",jo=zd;function z(n,e,t,r){let i=new Uint8Array(e,t,r);return n.decode(i)}function Qi(n){return n===1/0?!0:n===-1/0?!1:n}function ht(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.value=z(t,e.buffer,a,o))}}function It(n,e){let t=n.attributes,r=n.children,i=new TextDecoder;return function(o,s,u){switch(o){case 16:t.schemeIdUri=z(i,e.buffer,s,u);break;case 13:t.value=z(i,e.buffer,s,u);break;case 14:{let d=z(i,e.buffer,s,u);t.keyId=an(d.replace(/-/g,\"\"));break}case 15:try{let d=z(i,e.buffer,s,u);r.cencPssh.push(pr(d))}catch(d){}break;case 78:t.ref=z(i,e.buffer,s,u);break;case 79:t.refId=z(i,e.buffer,s,u);break}}}function Yo(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 60:n.language=z(t,e.buffer,a,o);break;case 61:n.contentType=z(t,e.buffer,a,o);break;case 62:n.par=z(t,e.buffer,a,o);break}}}function Qo(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.label=z(t,e.buffer,a,o))}}function Ve(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 16:n.schemeIdUri=z(t,e.buffer,a,o);break;case 17:n.value=z(t,e.buffer,a,o);break}}}function Vt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 29:{let s=new DataView(e.buffer);n.initialization===void 0&&(n.initialization={}),n.initialization.range=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 67:n.initialization===void 0&&(n.initialization={}),n.initialization.media=z(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function $o(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 28:n.index=z(t,e.buffer,a,o);break;case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 30:n.media=z(t,e.buffer,a,o);break;case 18:{let s=new DataView(e.buffer);n.mediaRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}}}}function xr(n,e,t){return function(i){switch(i){case 20:{let a={};n.list===void 0&&(n.list=[]),n.list.push(a);let o=$o(a,e);t.pushParsers(i,B,o);break}default:t.pushParsers(i,B,B);break}}}function qt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 19:{let s=new DataView(e.buffer);n.timeline=[];let u=a;for(let d=0;d<o/24;d++)n.timeline.push({start:s.getFloat64(u,!0),duration:s.getFloat64(u+8,!0),repeatCount:s.getFloat64(u+16,!0)}),u+=24;break}case 67:n.initialization={media:z(t,e.buffer,a,o)};break;case 28:n.index=z(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 30:n.media=z(t,e.buffer,a,o);break;case 32:{n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function Xo(n,e,t){return function(i){switch(i){case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a),t.pushParsers(i,B,ht(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,B,o);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a),t.pushParsers(i,B,Ve(a,e));break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,B,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=xr(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,B,qt(a,e));break}default:t.pushParsers(i,B,B);break}}}function Zo(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 3:n.audioSamplingRate=z(t,e.buffer,a,o);break;case 63:n.bitrate=s.getFloat64(a,!0);break;case 4:n.codecs=z(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=z(t,e.buffer,a,o);break;case 5:n.codingDependency=new DataView(e.buffer).getUint8(0)===0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 11:n.mimeType=z(t,e.buffer,a,o);break;case 2:n.profiles=z(t,e.buffer,a,o);break;case 65:n.qualityRanking=s.getFloat64(a,!0);break;case 12:n.segmentProfiles=z(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function Jo(n,e,t){return function(i){switch(i){case 8:{let a={};n.accessibilities===void 0&&(n.accessibilities=[]),n.accessibilities.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a);let o=ht(a,e);t.pushParsers(i,B,o);break}case 9:{let a={};n.contentComponent=a,t.pushParsers(i,B,Yo(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,B,o);break}case 11:{let a={};n.essentialProperties===void 0&&(n.essentialProperties=[]),n.essentialProperties.push(a);let o=B,s=Ve(a,e);t.pushParsers(i,o,s);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a);let o=B,s=Ve(a,e);t.pushParsers(i,o,s);break}case 7:{let a={children:{baseURLs:[]},attributes:{}};n.representations.push(a);let o=Xo(a.children,e,t),s=Zo(a.attributes,e);t.pushParsers(i,o,s);break}case 12:{let a={};n.roles===void 0&&(n.roles=[]),n.roles.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=Ve(a,e);t.pushParsers(i,B,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,B,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=xr(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,B,qt(a,e));break}case 21:{t.pushParsers(i,B,Qo(n,e));break}default:t.pushParsers(i,B,B);break}}}function es(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 48:n.group=s.getFloat64(a,!0);break;case 60:n.language=z(t,e.buffer,a,o);break;case 61:n.contentType=z(t,e.buffer,a,o);break;case 62:n.par=z(t,e.buffer,a,o);break;case 53:n.minBitrate=s.getFloat64(a,!0);break;case 49:n.maxBitrate=s.getFloat64(a,!0);break;case 56:n.minWidth=s.getFloat64(a,!0);break;case 52:n.maxWidth=s.getFloat64(a,!0);break;case 55:n.minHeight=s.getFloat64(a,!0);break;case 51:n.maxHeight=s.getFloat64(a,!0);break;case 54:n.minFrameRate=s.getFloat64(a,!0);break;case 50:n.maxFrameRate=s.getFloat64(a,!0);break;case 57:n.selectionPriority=s.getFloat64(a,!0);break;case 58:n.segmentAlignment=Qi(s.getFloat64(a,!0));break;case 59:n.subsegmentAlignment=Qi(s.getFloat64(a,!0));break;case 32:n.bitstreamSwitching=s.getFloat64(a,!0)!==0;break;case 3:n.audioSamplingRate=z(t,e.buffer,a,o);break;case 4:n.codecs=z(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=z(t,e.buffer,a,o);break;case 2:n.profiles=z(t,e.buffer,a,o);break;case 12:n.segmentProfiles=z(t,e.buffer,a,o);break;case 11:n.mimeType=z(t,e.buffer,a,o);break;case 5:n.codingDependency=s.getFloat64(a,!0)!==0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function ts(n,e,t,r){return function(a){switch(a){case 6:{let o={};n.events.push(o);let s=Wd(o,e,r);t.pushParsers(a,B,s);break}default:t.pushParsers(a,B,B);break}}}function ns(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 16:n.schemeIdUri=z(t,e.buffer,a,o);break;case 17:n.value=z(t,e.buffer,a,o);break;case 27:n.timescale=s.getFloat64(a,!0);break;case 70:{let u={key:\"\",value:\"\"},d=a,f=s.getUint32(d);d+=4,u.key=z(t,e.buffer,d,f),d+=f;let l=s.getUint32(d);d+=4,u.value=z(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[u]:n.namespaces.push(u);break}}}}function Wd(n,e,t){let r=new TextDecoder;return function(a,o,s){let u=new DataView(e.buffer);switch(a){case 25:n.presentationTime=u.getFloat64(o,!0);break;case 1:n.duration=u.getFloat64(o,!0);break;case 0:n.id=z(r,e.buffer,o,s);break;case 69:{let d=u.getFloat64(o,!0),f=u.getFloat64(o+8,!0);n.eventStreamData=t.slice(d,f);break}}}}function kr(n,e,t,r){return function(a){switch(a){case 4:{let o={children:{baseURLs:[],representations:[]},attributes:{}};n.adaptations.push(o);let s=Jo(o.children,e,t),u=es(o.attributes,e);t.pushParsers(a,s,u);break}case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=B,u=ht(o,e);t.pushParsers(a,s,u);break}case 5:{let o={children:{events:[]},attributes:{}};n.eventStreams.push(o);let s=ts(o.children,e,t,r),u=ns(o.attributes,e);t.pushParsers(a,s,u);break}case 16:{let o={};n.segmentTemplate=o,t.pushParsers(a,B,qt(o,e));break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,B,s);break}default:t.pushParsers(a,B,B);break}}}function Mr(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 45:n.start=new DataView(e.buffer).getFloat64(a,!0);break;case 1:n.duration=new DataView(e.buffer).getFloat64(a,!0);break;case 32:n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break;case 46:n.xlinkHref=z(t,e.buffer,a,o);break;case 47:n.xlinkActuate=z(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=new DataView(e.buffer).getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break;case 70:{let s={key:\"\",value:\"\"},u=new DataView(e.buffer),d=a,f=u.getUint32(d);d+=4,s.key=z(t,e.buffer,d,f),d+=f;let l=u.getUint32(d);d+=4,s.value=z(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[s]:n.namespaces.push(s);break}}}}function rs(n,e,t,r){return function(a){switch(a){case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=B,u=ht(o,e);t.pushParsers(a,s,u);break}case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=kr(o.children,e,t,r),u=Mr(o.attributes,e);t.pushParsers(a,s,u);break}case 3:{let o={};n.utcTimings.push(o);let s=B,u=Ve(o,e);t.pushParsers(a,s,u);break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,B,s);break}default:t.pushParsers(a,B,B);break}}}function is(n,e,t){let r,i=new TextDecoder;return function(o,s,u){switch(o){case 0:e.id=z(i,t.buffer,s,u);break;case 2:e.profiles=z(i,t.buffer,s,u);break;case 33:e.type=z(i,t.buffer,s,u);break;case 34:{let d=z(i,t.buffer,s,u);e.availabilityStartTime=new Date(d).getTime()/1e3;break}case 35:{let d=z(i,t.buffer,s,u);e.availabilityEndTime=new Date(d).getTime()/1e3;break}case 36:{let d=z(i,t.buffer,s,u);e.publishTime=new Date(d).getTime()/1e3;break}case 68:r=new DataView(t.buffer),e.duration=r.getFloat64(s,!0);break;case 37:r=new DataView(t.buffer),e.minimumUpdatePeriod=r.getFloat64(s,!0);break;case 38:r=new DataView(t.buffer),e.minBufferTime=r.getFloat64(s,!0);break;case 39:r=new DataView(t.buffer),e.timeShiftBufferDepth=r.getFloat64(s,!0);break;case 40:r=new DataView(t.buffer),e.suggestedPresentationDelay=r.getFloat64(s,!0);break;case 41:r=new DataView(t.buffer),e.maxSegmentDuration=r.getFloat64(s,!0);break;case 42:r=new DataView(t.buffer),e.maxSubsegmentDuration=r.getFloat64(s,!0);break;case 66:{let d=z(i,t.buffer,s,u);n.locations.push(d);break}case 70:{let d={key:\"\",value:\"\"};r=new DataView(t.buffer);let f=s,l=r.getUint32(f);f+=4,d.key=z(i,t.buffer,f,l),f+=l;let c=r.getUint32(f);f+=4,d.value=z(i,t.buffer,f,c),e.namespaces===void 0?e.namespaces=[d]:e.namespaces.push(d);break}}}}function $i(n,e,t,r){return function(a){switch(a){case 1:{n.mpd={children:{baseURLs:[],locations:[],periods:[],utcTimings:[]},attributes:{}};let o=rs(n.mpd.children,e,t,r),s=is(n.mpd.children,n.mpd.attributes,e);t.pushParsers(a,o,s);break}default:t.pushParsers(a,B,B);break}}}function as(n,e,t,r){return function(a){switch(a){case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=kr(o.children,e,t,r),u=Mr(o.attributes,e);t.pushParsers(a,s,u);break}default:t.pushParsers(a,B,B);break}}}var En=class{constructor(){this._currentNodeId=null,this.childrenParser=B,this.attributeParser=B,this._stack=[{nodeId:null,children:B,attribute:B}]}pushParsers(e,t,r){this._currentNodeId=e,this.childrenParser=t,this.attributeParser=r,this._stack.push({nodeId:e,attribute:r,children:t})}popIfCurrent(e){if(this._currentNodeId!==e)return;this._stack.pop();let{nodeId:t,children:r,attribute:i}=this._stack[this._stack.length-1];this._currentNodeId=t,this.attributeParser=i,this.childrenParser=r}reset(){this.childrenParser=B,this.attributeParser=B,this._stack=[{nodeId:null,children:B,attribute:B}]}};var Vd=15e3,_n=class{constructor(){this._parsersStack=new En,this._instance=null,this._mpdData=null,this._linearMemory=null,this.status=\"uninitialized\",this._initProm=null,this._warnings=[],this._isParsing=!1}waitForInitialization(){var e;return(e=this._initProm)!=null?e:Promise.reject(\"No initialization performed yet.\")}async initialize(e){if(this.status!==\"uninitialized\")return Promise.reject(new Error(\"DashWasmParser already initialized.\"));if(!this.isCompatible())return this.status=\"failure\",Promise.reject(new Error(\"Target not compatible with WebAssembly.\"));this.status=\"initializing\";let t=this._parsersStack,r=new TextDecoder,i=this,a={env:{memoryBase:0,tableBase:0,memory:new WebAssembly.Memory({initial:10}),table:new WebAssembly.Table({initial:1,element:\"anyfunc\"}),onTagOpen:d,onCustomEvent:c,onAttribute:l,readNext:g,onTagClose:f}},o=null,s;typeof e.wasmUrl==\"string\"?s=fetch(e.wasmUrl):(o=URL.createObjectURL(new Blob([e.wasmUrl],{type:\"application/wasm\"})),s=fetch(o));let u=typeof WebAssembly.instantiateStreaming==\"function\"?WebAssembly.instantiateStreaming(s,a):Promise.reject(\"`WebAssembly.instantiateStreaming` API not available\");return this._initProm=u.catch(async p=>{o!==null&&(URL.revokeObjectURL(o),o=null),m.warn(\"Unable to call `instantiateStreaming` on WASM\",p instanceof Error?p:\"\");let h=await s;if(h.status<200||h.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(h.status));let b=await h.arrayBuffer();return WebAssembly.instantiate(b,a)}).then(p=>{o!==null&&(URL.revokeObjectURL(o),o=null),this._instance=p,this._linearMemory=this._instance.instance.exports.memory,this.status=\"initialized\"}).catch(p=>{let h=p instanceof Error?p.toString():\"Unknown error\";throw m.warn(\"DW: Could not create DASH-WASM parser:\",h),this.status=\"failure\",p}),this._initProm;function d(p){return t.childrenParser(p)}function f(p){return t.popIfCurrent(p)}function l(p,h,b){return t.attributeParser(p,h,b)}function c(p,h,b){let y=i._linearMemory,E=new Uint8Array(y.buffer,h,b);if(p===1){let v=r.decode(E);m.warn(\"WASM Error Event:\",v),i._warnings.push(new Error(v))}else if(p===0){let v=r.decode(E);m.warn(\"WASM Log Event:\",v)}}function g(p,h){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let b=i._linearMemory,{mpd:y,cursor:E}=i._mpdData,v=Math.min(h,Vd,y.byteLength-E);return new Uint8Array(b.buffer,p,v).set(new Uint8Array(y,E,v)),i._mpdData.cursor+=v,v}}runWasmParser(e,t){let[r,i]=this._parseMpd(e);if(r===null)throw new Error(\"DASH Parser: Unknown error while parsing the MPD\");let a=vr(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return jo&&typeof ue.TextDecoder==\"function\"}_parseMpd(e){var s;if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={},r=this._linearMemory,i=$i(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,B),this._warnings=[];try{this._instance.instance.exports.parse()}catch(u){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,u}let a=(s=t.mpd)!=null?s:null,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_parseXlink(e){if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={periods:[]},r=this._linearMemory,i=as(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,B),this._warnings=[];try{this._instance.instance.exports.parse()}catch(s){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,s}let{periods:a}=t,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_processParserReturnValue(e){if(e.type===\"done\")return e;if(e.type===\"needs-clock\"){let t=r=>{if(r.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let i=e.value.continue(r[0].responseData);return this._processParserReturnValue(i)};return{type:\"needs-resources\",value:{urls:[e.value.url],format:\"string\",continue:t}}}else if(e.type===\"needs-xlinks\"){let t=r=>{let i=[];for(let o=0;o<r.length;o++){let{responseData:s,receivedTime:u,sendingTime:d,url:f}=r[o];if(!s.success)throw s.error;let[l,c]=this._parseXlink(s.data);i.push({url:f,receivedTime:u,sendingTime:d,parsed:l,warnings:c})}let a=e.value.continue(i);return this._processParserReturnValue(a)};return{type:\"needs-resources\",value:{urls:e.value.xlinksUrls,format:\"arraybuffer\",continue:t}}}else Fe(e)}};var os=_n;var xt=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function Or(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,a){var o;t.isCancelled()||((o=a==null?void 0:a.clearSignal)==null?void 0:o.isCancelled())===!0||r.onUpdate(i,{clearSignal:a==null?void 0:a.clearSignal,emitCurrentValue:a==null?void 0:a.includeLastObservation})},deriveReadOnlyObserver(i){return Or(this,i,t)}}}var Rn=class{constructor(e,t,r,i){this._src=e,this._contentId=t,this._messageSender=r,this._cancelSignal=i}getCurrentTime(){}getReadyState(){}getIsPaused(){}getReference(){return this._src}setPlaybackRate(e){this._messageSender({type:\"update-playback-rate\",contentId:this._contentId,value:e})}getPlaybackRate(){}listen(e,t){var r;this._cancelSignal.isCancelled()||((r=t==null?void 0:t.clearSignal)==null?void 0:r.isCancelled())===!0||this._src.onUpdate(e,{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:t==null?void 0:t.includeLastObservation})}deriveReadOnlyObserver(e){return Or(this,e,this._cancelSignal)}};function at(n,e){if(e.length===0)return n;let t,r=\"\",i=n.indexOf(\"#\"),a=n;i>=0&&(r=n.substring(i),a=n.substring(0,i));let o=a.indexOf(\"?\");o===-1?t=\"?\":o+1===a.length?t=\"\":t=\"&\";let s=a+t;for(let u=0;u<e.length;u++){let d=e[u];d[1]===null?s+=d[0]:s+=`${d[0]}=${d[1]}`,u<e.length-1&&(s+=\"&\")}return r.length>0&&(s+=r),s}function Xi(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-L(),u=!1,c={reject:h=>{var v,_;if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h,y=(v=b==null?void 0:b.message)!=null?v:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",E=new Ge(y,(_=b==null?void 0:b.canRetry)!=null?_:!1,b==null?void 0:b.xhr);o(E)},resolve:h=>{if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h.receivingTime!==void 0?h.receivingTime-s:void 0,y=h.sendingTime!==void 0?h.sendingTime-s:void 0;a({responseData:h.data,size:h.size,requestDuration:h.duration,url:h.url,receivedTime:b,sendingTime:y})},fallback:()=>{u||i.isCancelled()||(u=!0,i.deregister(p),e(t,r,i).then(a,o))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},c);i.register(p);function p(h){u||(u=!0,typeof g==\"function\"&&g(),o(h))}})}function qd(n){return function(t,r,i){var s,u;if(t===void 0)throw new Error(\"Cannot perform HTTP(s) request. URL not known\");let a=((s=r.cmcdPayload)==null?void 0:s.type)===\"query\"?at(t,r.cmcdPayload.value):t,o=((u=r.cmcdPayload)==null?void 0:u.type)===\"headers\"?r.cmcdPayload.value:void 0;switch(n){case\"arraybuffer\":return pe({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return pe({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return pe({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Fe(n)}}}function Zi({customManifestLoader:n},e,t){let r=qd(e),i=typeof n!=\"function\"?r:Xi(n,r);return t!==null?t(i):i}function Ji(n,e){if(e){if(je(n,1718909296)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(je(n,1836019574)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(je(n,1836019558)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(je(n,1835295092)<0)throw new Ie(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function qe(n,e){if(n===\"audio\"||n===\"video\")return e===\"video/mp4\"||e===\"audio/mp4\"?\"mp4\":e===\"video/webm\"||e===\"audio/webm\"?\"webm\":void 0;if(n===\"text\")return e===\"application/mp4\"?\"mp4\":void 0}function wr(n){return(e,t,r,i,a)=>{return new Promise((s,u)=>{let d=new W,f=d.linkToSignal(i);d.signal.register(u),n(e,t,r,d.signal,ie(Z({},a),{onNewChunk(c){try{o(c),a.onNewChunk(c)}catch(g){l(),d.cancel(),u(g)}}})).then(c=>{if(l(),!d.isUsed()){if(c.resultType===\"segment-loaded\")try{o(c.resultData.responseData)}catch(g){u(g);return}s(c)}},c=>{l(),u(c)});function l(){d.signal.deregister(u),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||qe(t.type,t.mimeType)!==\"mp4\"||Ji(new Uint8Array(s),t.segment.isInit)}}}function ss(n){return async(e,t,r)=>{let i=await n(e,t,r);return a(i.responseData),i;function a(o){if(typeof o==\"string\"){let s=o.length-1,u=[\"</\",\"MPD\",\">\"];for(let d=u.length-1;d>=0;d--){let f=u[d];for(;Hd(o[s]);)s--;for(let l=f.length-1;l>=0;l--){if(o[s]!==f[l])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(o instanceof ArrayBuffer){let s=o.byteLength-1,u=new DataView(o),d=[[60,47],[77,80,68],[62]];for(let f=d.length-1;f>=0;f--){let l=d[f];for(;Gd(u.getUint8(s));)s--;for(let c=l.length-1;c>=0;c--){if(u.getUint8(s)!==l[c])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(!P(ue.Document)&&o instanceof ue.Document&&o.documentElement.nodeName!==\"MPD\")throw new Ie(\"INTEGRITY_ERROR\",\"MPD does not end with </MPD>\")}}}function Hd(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function Gd(n){return n===32||n===9||n===13||n===10}function ea(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,a,o,s,u){var E;let{responseData:d}=i,f=a.externalClockOffset,l=(E=i.url)!=null?E:a.originalUrl,c=t!=null?t:f,p={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:c},h=ke.dashParsers;if(h.wasm===null||h.wasm.status===\"uninitialized\"||h.wasm.status===\"failure\")return m.debug(\"DASH: WASM MPD Parser not initialized. Running JS one.\"),b();{let v=$d(d);if(!Xd(v))return m.info(\"DASH: MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),b();if(h.wasm.status===\"initialized\"){m.debug(\"DASH: Running WASM MPD Parser.\");let _=h.wasm.runWasmParser(v,p);return y(_)}else return m.debug(\"DASH: Awaiting WASM initialization before parsing the MPD.\"),h.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(h.wasm===null||h.wasm.status!==\"initialized\")return m.warn(\"DASH: WASM MPD parser initialization failed. Running JS parser instead\"),b();m.debug(\"DASH: Running WASM MPD Parser.\");let C=h.wasm.runWasmParser(v,p);return y(C)})}function b(){if(h.fastJs!==null){let v=Yd(d),_=h.fastJs(v,p);return y(_)}else if(h.native!==null){let v=Qd(d),_=h.native(v,p);return y(_)}else throw new Error(\"No MPD parser is imported\")}function y(v){if(v.type===\"done\"){if(v.value.warnings.length>0&&o(v.value.warnings),s.isCancelled())return Promise.reject(s.cancellationError);let R=[];return{manifest:new Lt(v.value.parsed,n,R),url:l,warnings:R}}let{value:_}=v,C=_.urls.map(R=>u(()=>{let k=F.getCurrent().DEFAULT_REQUEST_TIMEOUT,A=F.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return _.format===\"string\"?pe({url:R,responseType:\"text\",timeout:k,connectionTimeout:A,cancelSignal:s}):pe({url:R,responseType:\"arraybuffer\",timeout:k,connectionTimeout:A,cancelSignal:s})}).then(k=>{if(_.format===\"string\"){if(typeof k.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return q(k,{responseData:{success:!0,data:k.responseData}})}else{if(!(k.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return q(k,{responseData:{success:!0,data:k.responseData}})}},k=>{let A=be(k,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return q({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:A}})}));return Promise.all(C).then(R=>_.format===\"string\"?(Kd(R),y(_.continue(R))):(jd(R),y(_.continue(R))))}}}function Kd(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data==\"string\")&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function jd(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function Yd(n){if(n instanceof ArrayBuffer)return De(new Uint8Array(n));if(typeof n==\"string\")return n;if(n instanceof Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function Qd(n){if(n instanceof ArrayBuffer)return new DOMParser().parseFromString(De(new Uint8Array(n)),\"text/xml\");if(typeof n==\"string\")return new DOMParser().parseFromString(n,\"text/xml\");if(n instanceof Document)return n;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function $d(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return rn(n).buffer;if(n instanceof Document)return rn(n.documentElement.innerHTML).buffer;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function Xd(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function Qe([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Pn(n,e){return n===null?null:e.url===null?n.baseUrl:bn(n.baseUrl,e.url)}function vn(n,e,t,r,i){var d,f;let a=n;((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"&&(a=at(a,t.cmcdPayload.value));let o=((f=t.cmcdPayload)==null?void 0:f.type)===\"headers\"?t.cmcdPayload.value:void 0;if(e.range===void 0)return pe({url:a,responseType:\"arraybuffer\",headers:o,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.indexRange===void 0)return pe({url:a,headers:ie(Z({},o),{Range:Qe(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.range[1]+1===e.indexRange[0])return pe({url:a,headers:ie(Z({},o),{Range:Qe([e.range[0],e.indexRange[1]])}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));let s=pe({url:a,headers:ie(Z({},o),{Range:Qe(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),u=pe({url:a,headers:ie(Z({},o),{Range:Qe(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,u]).then(([l,c])=>{let g=Et(new Uint8Array(l.responseData),new Uint8Array(c.responseData)),p=Math.min(l.sendingTime,c.sendingTime),h=Math.max(l.receivedTime,c.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+c.size,requestDuration:h-p,sendingTime:p,receivedTime:h}}})}async function Cn(n,e,t,r){let i=null;function a(s){let u=new Uint8Array(s.chunk),d=i!==null?Et(i,u):u,f=gr(d),l=f[0];i=f[1],!(l!==null&&(l.forEach(c=>{t.onNewChunk(c)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await ur({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function us(n,e,t,r,i,a){var c,g;if(e.segment.isInit)return vn(n,e.segment,r,a,i);let o=((c=r.cmcdPayload)==null?void 0:c.type)===\"query\"?at(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)===\"headers\"?r.cmcdPayload.value:void 0,{segment:u}=e,d;u.range!==void 0?d=ie(Z({},s),{Range:Qe(u.range)}):s!==void 0&&(d=s);let f=qe(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(Jt())return Cn(o,{headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);Ze(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}return{resultType:\"segment-loaded\",resultData:await pe({url:o,responseType:\"arraybuffer\",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function ta({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:wr(r);function r(i,a,o,s,u){let d=Pn(i,a.segment);return d===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?us(d,a,n,o,u,s):new Promise((f,l)=>{let c=!1,y={reject:R=>{var x,O;if(c||s.isCancelled())return;c=!0,s.deregister(C);let k=R,A=(x=k==null?void 0:k.message)!=null?x:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",T=new Ge(A,(O=k==null?void 0:k.canRetry)!=null?O:!1,k==null?void 0:k.xhr);l(T)},resolve:R=>{c||s.isCancelled()||(c=!0,s.deregister(C),f({resultType:\"segment-loaded\",resultData:{responseData:R.data,size:R.size,requestDuration:R.duration}}))},progress:R=>{c||s.isCancelled()||u.onProgress({duration:R.duration,size:R.size,totalSize:R.totalSize})},fallback:()=>{c||s.isCancelled()||(c=!0,s.deregister(C),us(d,a,n,o,u,s).then(f,l))}},E;a.segment.range!==void 0&&(E=[a.segment.range],a.segment.indexRange!==void 0&&E.push(a.segment.indexRange));let v={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:E,trackType:a.type,url:d,cmcdPayload:o.cmcdPayload},_=e(v,y);s.register(C);function C(R){c||(c=!0,typeof _==\"function\"&&_(),l(R))}})}}var ra=408125543,ds=357149030,Zd=2807729,Jd=17545,el=475249515,tl=187,nl=179,rl=183,il=241;function bt(n,e,t,[r,i]){let a=r;for(;a<i;){let o=ol(t,a);if(o===null)return null;let{value:s,length:u}=o,d=a+u,f=sl(t,d);if(f===null)return null;let{length:l,value:c}=f,g=d+l,p=g+c;if(s===n)return[g,p];if(e.length>0){for(let h=0;h<e.length;h++)if(s===e[h]){let b=e.slice(h+1,e.length);return bt(n,b,t,[g,p])}}a=p}return null}function Dr(n,e){let t=bt(Zd,[ra,ds],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/na(n,t[0],r)}function al(n,e){let t=bt(Jd,[ra,ds],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?ul(n,t[0]):r===8?dl(n,t[0]):null}function ia(n,e){let t=bt(ra,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,a=Dr(n,r);if(a===null)return null;let o=al(n,r);if(o===null)return null;let s=bt(el,[],n,[r,i]);if(s===null)return null;let u=[],d=s[0];for(;d<s[1];){let l=bt(tl,[],n,[d,s[1]]);if(l===null)break;let c=bt(nl,[],n,[l[0],l[1]]);if(c===null)return null;let g=na(n,c[0],c[1]-c[0]),p=bt(il,[rl],n,[l[0],l[1]]);if(p===null)return null;let h=na(n,p[0],p[1]-p[0])+r;u.push({time:g,rangeStart:h}),d=l[1]}let f=[];for(let l=0;l<u.length;l++){let c=u[l];l===u.length-1?f.push({time:c.time,timescale:a,duration:l===0?o:o-c.time,range:[c.rangeStart,1/0]}):f.push({time:c.time,timescale:a,duration:u[l+1].time-c.time,range:[c.rangeStart,u[l+1].rangeStart-1]})}return f}function ls(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function ol(n,e){let t=ls(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function sl(n,e){let t=ls(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function ul(n,e){return new DataView(n.buffer).getFloat32(e)}function dl(n,e){return new DataView(n.buffer).getFloat64(e)}function na(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function An(n,e,t,r){let i=mi(n);if(i===void 0||r===void 0)return null;let a=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,o=pi(n);if(a<0&&(o!==void 0&&(o+=a),a=0),e||!t.complete)return o===void 0&&m.warn(\"DASH: Chunked segments should indicate a duration through their trun boxes\"),{time:a/r,duration:o!==void 0?o/r:void 0};let s,u=t.duration*r,d=Math.min(r*.9,u/4);return o!==void 0&&Math.abs(o-u)<=d&&(s=o),{time:a/r,duration:s!==void 0?s/r:s}}function ll(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],a=e,{messageData:o}=i,s=De(o),u=Date.parse(s);if(a===void 0||u===void 0||isNaN(u)||u>=a)return!0}return!1}function aa(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((o,s)=>(s.schemeIdUri===\"urn:mpeg:dash:event:2012\"&&s.value===\"1\"?(o.manifestRefreshEventsFromEMSGs===void 0&&(o.manifestRefreshEventsFromEMSGs=[]),o.manifestRefreshEventsFromEMSGs.push(s)):(o.EMSGs===void 0&&(o.EMSGs=[]),o.EMSGs.push(s)),o),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(o=>({type:\"emsg\",value:o})),a=e===void 0||t===void 0?!1:ll(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function oa({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var v,_;let{segment:a,periodStart:o,periodEnd:s}=r,{data:u,isChunked:d}=t,f=[o,s];if(u===null)return a.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:f};let l=u instanceof Uint8Array?u:new Uint8Array(u),c=qe(r.type,r.mimeType),g=c===\"mp4\"||c===void 0,p=[];if(g){let C=hr(l),R;a.isInit&&(R=(v=go(l))!=null?v:void 0),(C.length>0||R!==void 0)&&p.push({initDataType:\"cenc\",keyId:R,initData:C})}if(!a.isInit){let C=g?An(l,d,a,i):null,R=(_=a.timestampOffset)!=null?_:0;if(g){let k=po(l);if(k!==void 0){let A=k.filter(x=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(x)),T=aa(A,r.manifestPublishTime);if(T!==void 0){let{needsManifestRefresh:x,inbandEvents:O}=T;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,appendWindow:f,inbandEvents:O,protectionData:p,needsManifestRefresh:x}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,protectionData:p,appendWindow:f}}let{indexRange:h}=a,b;if(c===\"webm\")b=ia(l,0);else if(g&&(b=on(l,Array.isArray(h)?h[0]:0),n===!0&&b!==null&&b.length>0)){let C=b[b.length-1];Array.isArray(C.range)&&(C.range[1]=1/0)}let y;g?y=sn(l):c===\"webm\"&&(y=Dr(l,0));let E=P(y)?void 0:y;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:E,segmentList:b!=null?b:void 0}}}function sa({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:wr(t);async function t(r,i,a,o,s){var b,y;let{segment:u}=i,d=Pn(r,u);if(d===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(u.isInit)return vn(d,u,a,o,s);let f=((b=a.cmcdPayload)==null?void 0:b.type)===\"query\"?at(d,a.cmcdPayload.value):d,l=((y=a.cmcdPayload)==null?void 0:y.type)===\"headers\"?a.cmcdPayload.value:void 0,c;u.range!==void 0?c=ie(Z({},l),{Range:Qe(u.range)}):l!==void 0&&(c=l);let g=qe(i.type,i.mimeType),p=g===\"mp4\"||g===void 0;if(n&&p){if(Jt())return Cn(f,{headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);Ze(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}let h;return p?h=await pe({url:f,responseType:\"arraybuffer\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):h=await pe({url:f,responseType:\"text\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:h}}}function fl(n){let e=fi(n);return e===null?\"\":De(e)}function cl(n){if(n===void 0)throw new Error(\"Cannot parse subtitles: unknown format\");switch(n.toLowerCase()){case\"stpp\":case\"stpp.ttml.im1t\":return\"ttml\";case\"wvtt\":return\"vtt\"}throw new Error(`The codec used for the subtitles \"${n}\" is not managed yet.`)}function ml(n,e){switch(e){case\"application/ttml+xml\":return\"ttml\";case\"application/x-sami\":case\"application/smil\":return\"sami\";case\"text/vtt\":return\"vtt\"}if(n!==void 0&&n.toLowerCase()===\"srt\")return\"srt\";throw new Error(`could not find a text-track parser for the type ${e!=null?e:\"\"}`)}function fs({segment:n,language:e,codecs:t},r,i,a){if(n.isInit)return null;let o,s;i===null?a?(o=n.time,s=n.end):m.warn(\"Transport: Unavailable time data for current text track.\"):(o=i.time,i.duration!==void 0?s=o+i.duration:!a&&n.complete&&(s=o+n.duration));let u=cl(t);return{data:fl(r),type:u,language:e,start:o,end:s}}function cs(n,e,t){let{segment:r}=n;if(r.isInit)return null;let i,a;t?m.warn(\"Transport: Unavailable time data for current text track.\"):(i=r.time,r.complete&&(a=r.time+r.duration));let o=ml(n.codecs,n.mimeType);return{data:e,type:o,language:n.language,start:i,end:a}}function pl(n,e,t,r,i){var c;let{segment:a}=t,{isInit:o,indexRange:s}=a,u;if(typeof n==\"string\"?u=rn(n):n instanceof Uint8Array?u=n:u=new Uint8Array(n),o){let g=on(u,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let h=g[g.length-1];Array.isArray(h.range)&&(h.range[1]=1/0)}let p=sn(u);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let d=An(u,e,a,r),f=fs(t,u,d,e),l=(c=a.timestampOffset)!=null?c:0;return{segmentType:\"media\",chunkData:f,chunkSize:u.length,chunkInfos:d,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function gl(n,e,t){let{periodStart:r,periodEnd:i,segment:a}=t,{timestampOffset:o=0}=a;if(a.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let s,u;if(typeof n!=\"string\"){let f=n instanceof Uint8Array?n:new Uint8Array(n);s=De(f),u=f.length}else s=n;return{segmentType:\"media\",chunkData:cs(t,s,e),chunkSize:u,chunkInfos:null,chunkOffset:o,protectionData:[],appendWindow:[r,i]}}function ua({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:a,periodEnd:o,segment:s}=r,{data:u,isChunked:d}=t;if(u===null)return s.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[a,o]};let f=qe(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?pl(u,d,r,i,n):gl(u,d,r)}}function ms(n){let e=Zi({customManifestLoader:n.manifestLoader},hl()?\"text\":\"arraybuffer\",n.checkManifestIntegrity===!0?ss:null),t=ea(n),r=ta(n),i=oa(n),a=sa(n),o=ua(n);return{transportName:\"dash\",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:a,parseSegment:o}}}function hl(){return ke.dashParsers.wasm!==null&&(ke.dashParsers.wasm.status===\"initialized\"||ke.dashParsers.wasm.status===\"initializing\")}var ps=ms;var kt=typeof queueMicrotask==\"function\"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};var Mt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],a=!1;for(;!a&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),a=!0):t++;a||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return Y(this._array,e)}has(e){return ce(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var xn=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var Il=.016666666666666666;function gs(n,e){return Math.abs(n-e)<Il}function Is(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function bl(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Sl(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(Ss(t,r)){let i=Is(t,r);n.splice(--e,2,i)}}return n}function da(n,e){return n.end<=e.start}function hs({start:n,end:e},t){return n<=t&&t<e}function bs(n,e){return hs(n,e.start)||n.start<e.end&&e.end<n.end||hs(e,n.start)}function Ss(n,e){return gs(e.start,n.end)||gs(e.end,n.start)}function la(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function yl(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function ys(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let a=n[i].start,o=n[i].end;e<a||e>=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function Br(n,e){let t=yl(n,e);return t!==null?t.end-e:1/0}function Ht(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],a=bs(t,i),o=Ss(t,i);if(a||o)t=Is(t,i),n.splice(r--,1);else if(r===0){if(da(t,n[0]))break}else if(da(n[r-1],t)&&da(t,i))break}return n.splice(r,0,t),Sl(bl(n))}function Tl(n,e){let t=[];for(let r=0;r<e.length;r++)bs(n,e[r])&&t.push(e[r]);return t}function Nr(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],a=[],o=Tl(i,e);if(o.length>0)for(let s=0;s<o.length;s++){let u=o[s];a.push({start:Math.max(i.start,u.start),end:Math.min(i.end,u.end)})}if(a.length===0)t.push(i);else{let s=i.start;for(let u=0;u<a.length;u++)a[u].start>s&&t.push({start:s,end:a[u].start}),s=a[u].end;s<i.end&&t.push({start:s,end:i.end})}}return t}function Ur({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let a,o=[];e.listen(u=>{a=u.position.getWanted(),o=u.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){o!==null&&El(n,a,o,t.getValue(),r.getValue(),i).catch(u=>{let d=u instanceof Error?u.message:\"Unknown error\";m.error(\"Could not run BufferGarbageCollector:\",d)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i}),s()}async function El(n,e,t,r,i,a){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let o=[],{innerRange:s,outerRanges:u}=ys(t,e),d=()=>{if(isFinite(r)){for(let l of u)e-r>=l.end?o.push(l):e>=l.end&&e-r>l.start&&e-r<l.end&&o.push({start:l.start,end:e-r});P(s)||e-r>s.start&&o.push({start:s.start,end:e-r})}},f=()=>{if(isFinite(i)){for(let l of u)e+i<=l.start?o.push(l):e<=l.start&&e+i<l.end&&e+i>l.start&&o.push({start:e+i,end:l.end});P(s)||e+i<s.end&&o.push({start:e+i,end:s.end})}};d(),f();for(let l of o)if(l.start<l.end){if(m.debug(\"GC: cleaning range from SegmentSink\",l.start,l.end),a.cancellationError!==null)throw a.cancellationError;await n.removeBuffer(l.start,l.end)}}var kn=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=L();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>Je(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var Mn=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=F.getCurrent();this._inventory=[],this._bufferedHistory=new kn(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var u,d,f,l,c,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=F.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(m.hasLevel(\"DEBUG\")){let h=e.map(b=>`${b.start}-${b.end}`).join(\",\");m.debug(`SI: synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,h)}let s=e.length;for(let h=0;h<s;h++){if(i===void 0)return;let b=e[h].start,y=e[h].end;if(y-b<a){m.warn(\"SI: skipped range when synchronizing because it was too small\",o,b,y);continue}let E=r;for(;i!==void 0&&((u=i.bufferedEnd)!=null?u:i.end)-b<a;)i=t[++r];let v=null,_=r-E;if(_>0){let R=t[E+_-1];v={end:(d=R.bufferedEnd)!=null?d:R.end,precizeEnd:R.precizeEnd},m.debug(`SI: ${_} segments GCed.`,o);let k=t.splice(E,_);for(let A of k)A.bufferedStart===void 0&&A.bufferedEnd===void 0&&A.status!==2&&this._bufferedHistory.addBufferedSegment(A.infos,null);r=E}if(i===void 0)return;if(y-((f=i.bufferedStart)!=null?f:i.start)>=a){if(_l(i,b,v,o),r===t.length-1){Es(i,y,o);return}i=t[++r];let R=(l=i.bufferedStart)!=null?l:i.start,k=(c=i.bufferedEnd)!=null?c:i.end,A=h<s-1?e[h+1].start:void 0;for(;i!==void 0&&!(y<R||y-R<a&&k-y>=a||A!==void 0&&y-R<k-A);){let T=t[r-1];T.bufferedEnd===void 0&&(i.precizeStart?T.bufferedEnd=i.start:T.infos.segment.complete?T.bufferedEnd=T.end:T.bufferedEnd=i.start,m.debug(\"SI: calculating buffered end of contiguous segment\",o,T.bufferedEnd,T.end)),i.bufferedStart=T.bufferedEnd,i=t[++r],i!==void 0&&(R=(g=i.bufferedStart)!=null?g:i.start,k=(p=i.bufferedEnd)!=null?p:i.end)}}let C=t[r-1];C!==void 0&&Es(C,y,o)}if(!P(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:h}=F.getCurrent(),b=L();for(let y=r;y<t.length;y++){let E=t[y];b-E.insertionTs>=h&&(m.debug(\"SI: A segment at the end has been completely GCed\",o,`${E.start}-${E.end}`),E.bufferedStart===void 0&&E.bufferedEnd===void 0&&E.status!==2&&this._bufferedHistory.addBufferedSegment(E.infos,null),t.splice(y,1),y--)}}o!==void 0&&m.hasLevel(\"DEBUG\")&&m.debug(`SI: current ${o} inventory timeline:\n`+Rl(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:a,start:o,end:s},u,d){if(i.isInit)return;let f=t.type;if(o>=s){m.warn(\"SI: Invalid chunked inserted: starts before it ends\",f,o,s);return}let l=this._inventory,c={status:u?0:2,insertionTs:d,chunkSize:a,splitted:!1,start:o,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let p=l.length-1;p>=0;p--){let h=l[p];if(h.start<=o)if(h.end<=o){for(m.debug(\"SI: Pushing segment strictly after previous one.\",f,o,h.end),this._inventory.splice(p+1,0,c),p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else if(h.start===o)if(h.end<=s){for(m.debug(\"SI: Segment pushed replace another one\",f,o,s,h.end),this._inventory.splice(p,1,c),p+=1;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.debug(\"SI: Segment pushed ends before another with the same start\",f,o,s,h.end),l.splice(p,0,c),h.start=c.end,h.bufferedStart=void 0,h.precizeStart=h.precizeStart&&c.precizeEnd;return}else if(h.end<=c.end){for(m.debug(\"SI: Segment pushed updates end of previous one\",f,o,s,h.start,h.end),this._inventory.splice(p+1,0,c),h.end=c.start,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.warn(\"SI: Segment pushed is contained in a previous one\",f,o,s,h.start,h.end);let b={status:h.status,insertionTs:h.insertionTs,chunkSize:h.chunkSize,splitted:!0,start:c.end,end:h.end,precizeStart:h.precizeStart&&h.precizeEnd&&c.precizeEnd,precizeEnd:h.precizeEnd,bufferedStart:void 0,bufferedEnd:h.end,infos:h.infos};h.end=c.start,h.splitted=!0,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,l.splice(p+1,0,c),l.splice(p+2,0,b);return}}let g=this._inventory[0];if(g===void 0){m.debug(\"SI: first segment pushed\",f,o,s),this._inventory.push(c);return}if(g.start>=s)m.debug(\"SI: Segment pushed comes before all previous ones\",f,o,s,g.start),this._inventory.splice(0,0,c);else if(g.end<=s){for(m.debug(\"SI: Segment pushed starts before and completely recovers the previous first one\",f,o,s,g.start,g.end),this._inventory.splice(0,1,c);l.length>1&&l[1].start<c.end;){if(l[1].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[1].start),l[1].start=c.end,l[1].bufferedStart=void 0,l[1].precizeStart=c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[1].start,l[1].end),l.splice(1,1)}return}else{m.debug(\"SI: Segment pushed start of the next one\",f,o,s,g.start,g.end),g.start=s,g.bufferedStart=void 0,g.precizeStart=c.precizeEnd,this._inventory.splice(0,0,c);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(Je(t[i].infos,e)){let a=!1;r.length>0&&(a=!0,r.length===1&&(m.warn(\"SI: Completed Segment is splitted.\",e.segment.id,e.segment.time,e.segment.end),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i<t.length&&Je(t[i].infos,e);){let c=t[i].chunkSize;s!==void 0&&c!==void 0&&(s+=c),i++}let u=i-1,d=u-o,f=t[u].end,l=t[u].bufferedEnd;d>0&&(this._inventory.splice(o+1,d),i-=d),this._inventory[o].status===0&&(this._inventory[o].status=1),this._inventory[o].chunkSize=s,this._inventory[o].end=f,this._inventory[o].bufferedEnd=l,this._inventory[o].splitted=a,r.push(this._inventory[o])}if(r.length===0)m.warn(\"SI: Completed Segment not found\",e.segment.id,e.segment.time);else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):m.debug(\"SI: buffered range not known after sync. Skipping history.\",i.start,i.end)}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function fa(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=F.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3))}function Ts(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=F.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3)}function _l(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:a,SEGMENT_SYNCHRONIZATION_DELAY:o}=F.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(m.debug(\"SI: Segment partially GCed at the start\",r,n.bufferedStart,e),n.bufferedStart=e),!n.precizeStart&&fa(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)m.debug(\"SI: buffered start is precize start\",r,n.start),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))m.debug(\"SI: buffered start is end of previous segment\",r,e,n.start,t.end),n.bufferedStart=t.end,fa(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=L();if(n.start-e>=a&&s-n.insertionTs<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: found true buffered start\",r,e,n.start),n.bufferedStart=e,fa(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)m.debug(\"SI: range start too far from expected start\",r,e,n.start),n.bufferedStart=n.start;else{let s=L();if(n.start-e>=a&&s-n.insertionTs<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the start\",r,e,n.start),n.bufferedStart=e}}function Es(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:a}=F.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(m.debug(\"SI: Segment partially GCed at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&Ts(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)m.debug(\"SI: buffered end is precize end\",t,n.end),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let o=L();if(e-n.end>=i&&o-n.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: found true buffered end\",t,e,n.end),n.bufferedEnd=e,Ts(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)m.debug(\"SI: range end too far from expected end\",t,e,n.end),n.bufferedEnd=n.end;else{let o=L();if(e-n.end>=i&&o-n.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e}}function Rl(n){let e=.016666666666666666,t={},r=[],i=null,a=null;function o(u){let d=String.fromCharCode(r.length+65);return r.push({letter:d,periodId:u.period.id,representationId:u.representation.id,bitrate:u.representation.bitrate}),d}let s=\"\";for(let u of n)if(u.bufferedStart!==void 0&&u.bufferedEnd!==void 0){let d=u.infos.period.id,f=u.infos.representation.id,l=t[d],c;if(l===void 0)c=o(u.infos),t[d]={[f]:c};else{let g=l[f];g===void 0?(c=o(u.infos),l[f]=c):c=g}i===null?s+=`${u.bufferedStart.toFixed(2)}|${c}|`:a===c?i.bufferedEnd+e<u.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`,i=u,a=c}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(u=>{var d;s+=`\n[${u.letter}] P: ${u.periodId} || R: ${u.representationId}(${(d=u.bitrate)!=null?d:\"unknown bitrate\"})`}),s}function Gt(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Kt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var _s=Mn;var jt=class{constructor(){this._segmentInventory=new _s}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var On=class extends jt{constructor(e,t,r){super(),m.info(\"AVSB: calling `mediaSource.addSourceBuffer`\",t);let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){Rs(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){Rs(e.data.chunk),m.debug(\"AVSB: receiving order to push data to the SourceBuffer\",this.bufferType,_t(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(o=>{let{codec:s,timestampOffset:u,appendWindow:d}=e.data;return m.debug(\"AVSB: pushing segment\",this.bufferType,_t(e.inventoryInfos)),this._sourceBuffer.appendBuffer(o,{codec:s,timestampOffset:u,appendWindow:d})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(o){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,L()),o}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,L());let a=i[i.length-1];return this._segmentInventory.synchronizeBuffered(a),a}async removeBuffer(e,t){m.debug(\"AVSB: receiving order to remove data from the SourceBuffer\",this.bufferType,e,t);let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){try{m.debug(\"AVSB: Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose()}catch(e){m.debug(`AVSB: Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:\"\")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error(\"Invalid initialization segment uniqueId\");let i=new ArrayBuffer(r.byteLength),a=new Uint8Array(i);a.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=a,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function Rs(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error(\"Invalid data given to the AudioVideoSegmentSink\")}var Fr=On;var wn=class extends jt{constructor(e){m.debug(\"HTSB: Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){m.warn(\"HTSB: Declaring initialization segment for Text SegmentSink\",e)}freeInitSegment(e){m.warn(\"HTSB: Freeing initialization segment for Text SegmentSink\",e)}async pushChunk(e){let{data:t}=e;vl(t.chunk);let r=this._sender.pushTextData(ie(Z({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,L()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){m.debug(\"HTSB: Disposing TextSegmentSink\"),this._sender.reset()}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function vl(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n===null||typeof n.data!=\"string\"||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\"))throw new Error(\"Invalid format given to a TextSegmentSink\")}I.CURRENT_ENV===I.DEV&&(Cl=function(e){function t(r){}});var Cl;var Ps=wn;var Al=[\"audio\",\"video\",\"text\"],Dn=class n{static isNative(e){return vs(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push(\"text\"),e}getNativeBufferTypes(){return this._hasVideo?[\"video\",\"audio\"]:[\"audio\"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:\"uninitialized\"}:t===null?{type:\"disabled\"}:{type:\"initialized\",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():Tt(e,t=>{let r=B,i=()=>{let a=this._onNativeBufferAddedOrDisabled.indexOf(r);a>=0&&this._onNativeBufferAddedOrDisabled.splice(a,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){m.warn(`SBS: The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error(\"Cannot disable an active SegmentSink.\");this._initializedSegmentSinks[e]=null,n.isNative(e)&&(this._onNativeBufferAddedOrDisabled.slice().forEach(r=>r()),de(this._onNativeBufferAddedOrDisabled.length===0))}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(vs(e)){if(!P(r))return r instanceof Fr&&r.codec!==t?m.warn(\"SB: Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):m.info(\"SB: Reusing native SegmentSink with codec\",t),r;m.info(\"SB: Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new Fr(a,t,this._mediaSource);return this._initializedSegmentSinks[e]=o,this._onNativeBufferAddedOrDisabled.slice().forEach(s=>s()),de(this._onNativeBufferAddedOrDisabled.length===0),o}if(!P(r))return m.info(\"SB: Reusing a previous custom SegmentSink for the type\",e),r;let i;if(e===\"text\"){if(m.info(\"SB: Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new Ps(this._textInterface),this._initializedSegmentSinks.text=i,i}throw m.error(\"SB: Unknown buffer type:\",e),new $(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(P(t)){m.warn(\"SB: Trying to dispose a SegmentSink that does not exist\");return}m.info(\"SB: Aborting SegmentSink\",e),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){Al.forEach(e=>{this.getStatus(e).type===\"initialized\"&&this.disposeSegmentSink(e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var t,r;return{bufferType:e,codec:(t=this._initializedSegmentSinks[e])==null?void 0:t.codec,segmentInventory:(r=this._initializedSegmentSinks[e])==null?void 0:r.getLastKnownInventory().map(i=>ie(Z({},i),{infos:xl(i.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function vs(n){return n===\"audio\"||n===\"video\"}function xl(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var St=Dn;function ca(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,u=kl(i,e);if(u===null){if(t===null){if(r&&a.end!==void 0&&e.end>=a.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let d=i[u];if(d.bufferedStart!==void 0&&d.bufferedStart>e.start&&(t===null||d.infos.segment.end<=t)){let l=d.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(m.debug(\"RS: current discontinuity encountered\",o.type,d.bufferedStart),{start:void 0,end:l})}let f=Ml(i,e,u+1);if(f!==null){let l=i[f-1],c=i[f];if(t===null||c.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,c.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=c.bufferedStart;return m.debug(\"RS: future discontinuity encountered\",o.type,g,p),{start:g,end:p}}}if(t===null){if(r&&a.end!==void 0){if(e.end<a.end)return null;let l=Ol(i,a.end);if(l!==null){let c=i[l];if(c.bufferedEnd!==void 0&&c.bufferedEnd<a.end)return m.debug(\"RS: discontinuity encountered at the end of the current period\",o.type,c.bufferedEnd,a.end),{start:c.bufferedEnd,end:null}}}if(a.end!==void 0&&e.end>=a.end)return null;for(let l=i.length-1;l>=0;l--){let c=i[l];if(c.bufferedStart===void 0)break;if(c.bufferedStart<e.end){if(c.bufferedEnd!==void 0&&c.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:c.bufferedEnd,end:g}}return null}}}return null}function kl(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Ml(n,e,t){if(t<=0)return m.error(\"RS: Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r<n.length;r++){let i=n[r],a=n[r-1];if(i.bufferedStart===void 0||a.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function Ol(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart<e)return t}return null}function ma({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:a,segmentsBeingPushed:o,maxBufferSize:s}){let{adaptation:u,representation:d}=e,f=wl(n,o,s),l=d.index.getSegments(a.start,a.end-a.start),c=n.filter(C=>!Cs(C.infos,e,t,r)),g=zl(c,a,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:h}=F.getCurrent(),b=!1,y=Math.min(1/60,p),E=!1,v=[];return{segmentsToLoad:l.filter(C=>{let R=q({segment:C},e);if(o.length>0&&o.some(w=>Je(R,w)))return!1;let{duration:k,time:A,end:T}=C;if(C.isInit)return!0;if(b)return v.push(C),!1;if(C.complete&&k<p||o.length>0&&o.some(w=>{if(w.period.id!==e.period.id||w.adaptation.id!==e.adaptation.id)return!1;let{segment:M}=w;if(M.time-y>A)return!1;if(M.complete){if(M.end+y<T)return!1}else if(Math.abs(A-M.time)>A)return!1;return!Cs(w,R,t,r)}))return!1;for(let D of g){let w=D.infos.period.id===e.period.id;if(D.status===1&&w){let M=D.infos.segment;if(A-M.time>-y){if(M.complete){if(M.end-T>-y)return!1}else if(Math.abs(A-M.time)<y)return!1}}}let x=k*e.representation.bitrate;if(f-x<0&&(E=!0,A>a.start+h))return b=!0,v.push(C),!1;let O=i(R);if(O.length>1){let D=O[O.length-1],w=O[O.length-2];if(D.buffered===null&&w.buffered===null)return m.warn(\"Stream: Segment GCed multiple times in a row, ignoring it.\",\"If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering.\"+u.type,d.id,C.time),!1}for(let D=0;D<g.length;D++){let w=g[D];if(w.end+y>A){let M=w.start>A+y||Dl(g,D).end<T-y;return M&&(f-=x),M}}return f-=x,!0}),segmentsOnHold:v,isBufferFull:E}}function wl(n,e,t){let r=t*8e3;return r-=e.reduce((i,a)=>{let{bitrate:o}=a.representation,{duration:s}=a.segment;return i+o*s},0),n.reduce((i,a)=>a.chunkSize!==void 0?i-a.chunkSize*8:i,r)}function Dl(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=F.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function Cs(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=F.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:Bl(n.representation,e.representation,r)}function Bl(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=F.getCurrent();if(t===void 0){let a=r*i;return e.bitrate>a}return r<t&&e.bitrate>r}function Nl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=F.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(m.info(\"Stream: The start of the wanted segment has been garbage collected\",n.start,n.bufferedStart),!0):!1}function Ul(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=F.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(m.info(\"Stream: The end of the wanted segment has been garbage collected\",n.end,n.bufferedEnd),!0):!1}function Ll(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.start;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function Fl(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.end;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function zl(n,e,t){return n.filter((r,i,a)=>{let o=i===0?null:a[i-1],s=i>=a.length-1?null:a[i+1],u=null;if(Nl(r,o,e.start)){if(u=t(r.infos),Ll(u,r.bufferedStart))return!1;m.debug(\"Stream: skipping segment gc-ed at the start\",r.start,r.bufferedStart)}if(Ul(r,s,e.end)){if(u=u!=null?u:t(r.infos),Fl(u,r.bufferedEnd))return!1;m.debug(\"Stream: skipping segment gc-ed at the end\",r.end,r.bufferedEnd)}return!0})}function Bn(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=F.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function pa(n,e,t,r,i,a,o){var A,T,x;let{representation:s}=n,u=(T=(A=t.getIsPaused())!=null?A:t.getReference().getValue().paused.pending)!=null?T:t.getReference().getValue().paused.last,d=(x=t.getPlaybackRate())!=null?x:t.getReference().getValue().speed,f=e;(u===void 0||d===void 0||u||d<=0)&&(f-=.1);let l=Wl(n,f,i),c=s.index.shouldRefresh(l.start,l.end),g=o.getPendingOperations().filter(O=>O.type===2).map(O=>O.value),p=o.getLastKnownInventory(),h=t.getCurrentTime();h===void 0&&(h=t.getReference().getValue().position.getWanted());let b=o.getSegmentHistory.bind(o),{segmentsToLoad:y,segmentsOnHold:E,isBufferFull:v}=ma({content:n,bufferedSegments:p,currentPlaybackTime:h,fastSwitchThreshold:r,getBufferedHistory:b,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),_=y.map(O=>({priority:Bn(O.time,f),segment:O})),C=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&_.length===0&&E.length===0,R=null;return g.length>0&&(R=Math.min(...g.map(O=>O.segment.time))),E.length>0&&(R=R!==null?Math.min(R,E[0].time):E[0].time),_.length>0&&(R=R!==null?Math.min(R,_[0].segment.time):_[0].segment.time),{imminentDiscontinuity:ca(n,l,R,C,p),hasFinishedLoading:C,neededSegments:_,isBufferFull:v,shouldRefreshManifest:c}}function Wl(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),u=o.index;!P(s)&&St.isNative(n.adaptation.type)&&e>=s&&u.isInitialized()&&!u.isStillAwaitingFutureSegments()&&Vl(i,a,e)?r=s-1:r=e-.1;let d=r+t,f;return!o.index.isInitialized()||o.index.isStillAwaitingFutureSegments()||a.end===void 0?f=!1:s===void 0?f=d>=a.end:s===null?f=!0:f=d>=s,{start:Math.max(r,a.start),end:Math.min(d,(l=a.end)!=null?l:1/0),hasReachedPeriodEnd:f}}function Vl(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function Nn(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof oe)throw a;if(!(a instanceof ve)||!a.isBufferFull){let u=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new $(\"BUFFER_APPEND_ERROR\",u,{tracks:[ct(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{m.warn(\"Stream: Running garbage collector\");let u=Math.max(s-5,0),d=s+r.getValue()+12;if(u>0&&await e.removeBuffer(0,u),d<Number.MAX_VALUE&&await e.removeBuffer(d,Number.MAX_VALUE),await ii(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(u){if(u instanceof oe)throw u;let d=u instanceof Error?u.toString():\"Could not clean the buffer\";throw new $(\"BUFFER_FULL_ERROR\",d,{tracks:[ct(t.inventoryInfos.adaptation)]})}}}async function ga({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:a},o){if(o.cancellationError!==null)throw o.cancellationError;let s=e.representation.getMimeTypeString(),u={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},d=q({segment:r,chunkSize:void 0,start:0,end:0},e),f=await Nn(n,i,{data:u,inventoryInfos:d},a,o);return{content:e,segment:r,buffered:f}}async function ha({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:a,segmentSink:o},s){var R,k;if(i.chunkData===null)return null;if(s.cancellationError!==null)throw s.cancellationError;let{chunkData:u,chunkInfos:d,chunkOffset:f,chunkSize:l,appendWindow:c}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:p}=F.getCurrent(),h=[c[0]!==void 0?Math.max(0,c[0]-p.START):void 0,c[1]!==void 0?c[1]+p.END:void 0],b={initSegmentUniqueId:r,chunk:u,timestampOffset:f,appendWindow:h,codec:g},y=(R=d==null?void 0:d.time)!=null?R:a.time,E=(k=d==null?void 0:d.duration)!=null?k:a.duration,v=y+E;h[0]!==void 0&&(y=Math.max(y,h[0])),h[1]!==void 0&&(v=Math.min(v,h[1]));let _=q({segment:a,chunkSize:l,start:y,end:v},t),C=await Nn(n,o,{data:b,inventoryInfos:_},e,s);return{content:t,segment:a,buffered:C}}function Ia({content:n,options:e,playbackObserver:t,segmentSink:r,segmentQueue:i,terminate:a},o,s){let{period:u,adaptation:d,representation:f}=n,{bufferGoal:l,maxBufferSize:c,drmSystemId:g,fastSwitchThreshold:p}=e,h=d.type,b=new W;b.linkToSignal(s);let y=new W;y.linkToSignal(b.signal);let E={segment:f.index.getInitSegment(),uniqueId:null,isLoaded:!1};b.signal.register(()=>{E.uniqueId!==null&&r.freeInitSegment(E.uniqueId)});let v=E.segment!==null;v||(E.isLoaded=!0);let _=!1;if(g!==void 0){let T=f.getEncryptionData(g);if(T.length>0&&T.every(x=>x.keyIds!==void 0)&&(_=!0,o.encryptionDataEncountered(T.map(x=>q({content:n},x))),b.isUsed()))return}i.addEventListener(\"error\",T=>{y.signal.isCancelled()||(b.cancel(),o.error(T))}),i.addEventListener(\"parsedInitSegment\",k,y.signal),i.addEventListener(\"parsedMediaSegment\",k,y.signal),i.addEventListener(\"emptyQueue\",R,y.signal),i.addEventListener(\"requestRetry\",T=>{if(o.warning(T.error),y.signal.isCancelled())return;let x=T.segment,{index:O}=f;O.isSegmentStillAvailable(x)===!1?R():O.canBeOutOfSyncError(T.error,x)&&o.manifestMightBeOufOfSync()},y.signal),i.addEventListener(\"fullyLoadedSegment\",T=>{r.signalSegmentComplete(q({segment:T},n)).catch(A)},y.signal);let C=i.resetForContent(n,v);y.signal.register(()=>{i.stop()}),t.listen(R,{includeLastObservation:!1,clearSignal:y.signal}),n.manifest.addEventListener(\"manifestUpdate\",R,y.signal),l.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),c.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),a.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),R();return;function R(){if(y.isUsed())return;let T=t.getReference().getValue(),x=T.position.getWanted(),O=pa(n,x,t,p.getValue(),l.getValue(),c.getValue(),r),{neededSegments:D}=O,w=null;if(f.index.isInitialized()){if(D.length>0&&!E.isLoaded&&E.segment!==null){let U=D[0].priority;w={segment:E.segment,priority:U}}}else if(E.segment===null)m.warn(\"Stream: Uninitialized index without an initialization segment\");else if(E.isLoaded)m.warn(\"Stream: Uninitialized index with an already loaded initialization segment\");else{let U=T.position.getWanted();w={segment:E.segment,priority:Bn(u.start,U)}}let M=a.getValue();if(M===null)C.setValue({initSegment:w,segmentQueue:D});else if(M.urgent){m.debug(\"Stream: Urgent switch, terminate now.\",h),C.setValue({initSegment:null,segmentQueue:[]}),C.finish(),y.cancel(),o.terminating();return}else{let U=D[0],K=i.getRequestedInitSegment(),ee=i.getRequestedMediaSegment(),G=ee===null||U===void 0||ee.id!==U.segment.id?[]:[U],H=K===null?null:w;if(C.setValue({initSegment:H,segmentQueue:G}),G.length===0&&H===null){m.debug(\"Stream: No request left, terminate\",h),C.finish(),y.cancel(),o.terminating();return}}if(o.streamStatusUpdate({period:u,position:T.position.getWanted(),bufferType:h,imminentDiscontinuity:O.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:O.hasFinishedLoading,neededSegments:O.neededSegments}),y.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:N}=F.getCurrent();if(O.isBufferFull){let U=Math.max(0,x-N);U>0&&r.removeBuffer(0,U).catch(A)}O.shouldRefreshManifest&&o.needsManifestRefresh()}function k(T){if(!b.isUsed()){for(let x of T.protectionData)f.addProtectionData(x.initDataType,x.keyId,x.initData);if(!_){let x=f.getAllEncryptionData();if(x.length>0&&(o.encryptionDataEncountered(x.map(O=>q({content:n},O))),_=!0,b.isUsed()))return}if(T.segmentType===\"init\"){if(!f.index.isInitialized()&&T.segmentList!==void 0&&f.index.initialize(T.segmentList),E.isLoaded=!0,T.initializationData!==null){let x=f.uniqueId;E.uniqueId=x,r.declareInitSegment(x,T.initializationData),ga({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:x,segment:T.segment,segmentData:T.initializationData,segmentSink:r},b.signal).then(O=>{O!==null&&o.addedSegment(O)}).catch(A)}R();return}else{let{inbandEvents:x,predictedSegments:O,needsManifestRefresh:D}=T;if(O!==void 0&&f.index.addPredictedSegments(O,T.segment),D===!0&&(o.needsManifestRefresh(),b.isUsed())||x!==void 0&&x.length>0&&(o.inbandEvent(x),b.isUsed()))return;let w=E.uniqueId;ha({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:w,parsedSegment:T,segment:T.segment,segmentSink:r},b.signal).then(M=>{M!==null&&o.addedSegment(M)}).catch(A)}}}function A(T){b.isUsed()&&T instanceof oe||(b.cancel(),o.error(T))}}var As=Ia;function ba(n,e,t,r,i){var c,g,p,h;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let b of a)b.infos.period.id===n.id&&(b.infos.adaptation.id!==e.id||!ce(t.representationIds,b.infos.representation.id))&&Ht(o,{start:(c=b.bufferedStart)!=null?c:b.start,end:(g=b.bufferedEnd)!=null?g:b.end});let s=r.getPendingOperations();for(let b of s)if(b.type===0){let y=b.value.inventoryInfos;if(y.period.id===n.id&&(y.adaptation.id!==e.id||!ce(t.representationIds,y.representation.id))){let E=y.segment.time,v=E+y.segment.duration;Ht(o,{start:E,end:v})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let b=i.getReadyState();if(b===void 0||b>1)return{type:\"needs-reload\",value:void 0}}let u=t.switchingMode===\"direct\",d=[],f=Gt(a,n);if(f!==null&&(f.bufferedEnd===void 0||n.start-f.bufferedEnd<1)&&d.push({start:0,end:n.start+1}),!u){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:b}=F.getCurrent(),y=e.type,E=(p=b[y].before)!=null?p:0,v=(h=b[y].after)!=null?h:0,_=i.getCurrentTime();_===void 0&&(_=i.getReference().getValue().position.getPolled()),d.push({start:_-E,end:_+v})}if(n.end!==void 0){let b=Kt(a,n);b!==null&&(b.bufferedStart===void 0||b.bufferedStart-n.end<1)&&d.push({start:n.end-1,end:Number.MAX_VALUE})}let l=Nr(o,d);return l.length===0?{type:\"continue\",value:void 0}:u?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function Sa({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},u,d){let{manifest:f,period:l,adaptation:c}=e,g=new W;g.linkToSignal(d);let p=new Map,h=new j(null,g.signal),b,y=e.representations.getValue().representationIds,E=e.adaptation.representations.filter(w=>ce(y,w.id)&&w.decipherable!==!1&&w.isSupported!==!1),v=new j(E,g.signal),{estimates:_,callbacks:C}=r({manifest:f,period:l,adaptation:c},h,v,n,g.signal),R=a.createSegmentQueue(c.type,{onRequestBegin:C.requestBegin,onRequestEnd:C.requestEnd,onProgress:C.requestProgress,onMetrics:C.metrics}),k=new j(0);_.onUpdate(({bitrate:w,knownStableBitrate:M})=>{t.enableFastSwitching&&k.setValueIfChanged(M),!(w===void 0||w===b)&&(b=w,m.debug(`Stream: new ${c.type} bitrate estimate`,w),u.bitrateEstimateChange({type:c.type,bitrate:w}))},{emitCurrentValue:!0,clearSignal:g.signal});let A;e.representations.onUpdate(w=>{A!==void 0&&A.cancel();let M=e.representations.getValue().representationIds,N=e.adaptation.representations.filter(U=>ce(M,U.id));v.setValueIfChanged(N),A=new W,A.linkToSignal(g.signal),T(w,A.signal).catch(U=>{(A==null?void 0:A.isUsed())===!0&&W.isCancellationError(U)||(g.cancel(),u.error(U))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function T(w,M){let N=ba(l,c,w,i,n);switch(N.type){case\"continue\":break;case\"needs-reload\":return kt(()=>{n.listen(()=>{if(M.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:U}=F.getCurrent(),K=U.bitrateSwitch;return u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:K,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:M})});case\"flush-buffer\":case\"clean-buffer\":for(let U of N.value)if(await i.removeBuffer(U.start,U.end),M.isCancelled())return;if(N.type===\"flush-buffer\"&&(u.needsBufferFlush(),M.isCancelled()))return;break;default:Fe(N)}x(M)}function x(w){let M=new W;M.linkToSignal(w);let{representation:N}=_.getValue();if(N===null)return;let U=new j(null,M.signal);_.onUpdate(G=>{if(!(G.representation===null||G.representation.id===N.id))return G.urgent?(m.info(\"Stream: urgent Representation switch\",c.type),U.setValue({urgent:!0})):(m.info(\"Stream: slow Representation switch\",c.type),U.setValue({urgent:!1}))},{clearSignal:M.signal,emitCurrentValue:!0});let K={type:c.type,adaptation:c,period:l,representation:N};if(h.setValue(N),g.isUsed()||(u.representationChange(K),g.isUsed()))return;let ee={streamStatusUpdate:u.streamStatusUpdate,encryptionDataEncountered:u.encryptionDataEncountered,manifestMightBeOufOfSync:u.manifestMightBeOufOfSync,needsManifestRefresh:u.needsManifestRefresh,inbandEvent:u.inbandEvent,warning:u.warning,error(G){g.cancel(),u.error(G)},addedSegment(G){C.addedSegment(G)},terminating(){if(!M.isUsed())return M.cancel(),x(w)}};O(N,U,ee,w)}function O(w,M,N,U){let K=new W;K.linkToSignal(U);let ee=Xt(o,V=>D(w,V),K.signal),G=c.type===\"video\"?s:new j(1/0);m.info(\"Stream: changing representation\",c.type,w.id,w.bitrate);let H=q({},N,{error(V){var le;let Q=be(V,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(Q.code!==\"BUFFER_FULL_ERROR\")N.error(V);else{let Se=o.getValue(),$e=((le=p.get(w.id))!=null?le:1)*.7;if(p.set(w.id,$e),$e<=.05||D(w,Se)<=2){N.error(Q);return}nn(4e3,g.signal).then(()=>O(w,M,N,U)).catch(B)}},terminating(){K.cancel(),N.terminating()}});As({playbackObserver:n,content:{representation:w,adaptation:c,period:l,manifest:f},segmentSink:i,segmentQueue:R,terminate:M,options:{bufferGoal:ee,maxBufferSize:G,drmSystemId:t.drmSystemId,fastSwitchThreshold:k}},H,U),f.addEventListener(\"manifestUpdate\",V=>{for(let Q of V.updatedPeriods)if(Q.period.id===l.id){for(let le of Q.result.updatedAdaptations)if(le.adaptation===c.id){for(let Se of le.removedRepresentations)if(Se===w.id)return U.isCancelled()?void 0:u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(Q.period.start>l.start)break},U)}function D(w,M){let N=p.get(w.id),U=N!==void 0?N:1;return N===void 0&&p.set(w.id,U),U<1&&M===1/0?5*60*1e3*U:M*U}}var xs=Sa;function ya(n,e,t,r,i,a){var g,p,h,b;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!ql(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let y of o)y.infos.period.id===e.id&&y.infos.adaptation.id!==t.id&&Ht(s,{start:(g=y.bufferedStart)!=null?g:y.start,end:(p=y.bufferedEnd)!=null?p:y.end});let u=n.getPendingOperations();for(let y of u)if(y.type===0){let E=y.value.inventoryInfos;if(E.period.id===e.id&&E.adaptation.id!==t.id){let v=E.segment.time,_=v+E.segment.duration;Ht(s,{start:v,end:_})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let y=i.getReadyState();if(y===void 0||y>1)return{type:\"needs-reload\",value:void 0}}let d=r===\"direct\",f=[],l=Gt(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!d){let y=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:E}=F.getCurrent(),v=(h=E[y].before)!=null?h:0,_=(b=E[y].after)!=null?b:0,C=i.getCurrentTime();C===void 0&&(C=i.getReference().getValue().position.getPolled()),f.push({start:C-v,end:C+_})}if(e.end!==void 0){let y=Kt(o,e);y!==null&&(y.bufferedStart===void 0||y.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let c=Nr(s,f);return c.length===0?{type:\"continue\",value:void 0}:d&&t.type!==\"text\"?{type:\"flush-buffer\",value:c}:{type:\"clean-buffer\",value:c}}function ql(n,e){return n.representations.some(t=>t.isSupported===!0&&t.decipherable!==!1&&Io(t.getMimeTypeString(),e))}function Ta({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:u,maxVideoBufferSize:d},f,l){let{manifest:c,period:g}=e,p=new j(void 0,l);if(f.periodStreamReady({type:n,manifest:c,period:g,adaptationRef:p}),l.isCancelled())return;let h,b=!0;p.onUpdate(v=>{(async()=>{var w;if(v===void 0)return;let _=new W;if(_.linkToSignal(l),h==null||h.cancel(),h=_,v===null){m.info(`Stream: Set no ${n} Adaptation. P:`,g.start);let M=o.getStatus(n);if(M.type===\"initialized\"){if(m.info(`Stream: Clearing previous ${n} SegmentSink`),St.isNative(n))return E(0,!0,_.signal);{let N=(w=g.end)!=null?w:1/0;if(g.start>N)m.warn(\"Stream: Can't free buffer: period's start is after its end\");else if(await M.value.removeBuffer(g.start,N),_.isUsed())return}}else if(M.type===\"uninitialized\"&&(o.disableSegmentSink(n),_.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),_.isUsed()?void 0:ks(r,u,n,{period:g},f,_.signal)}let C=g.adaptations[n],R=Y(C!=null?C:[],M=>M.id===v.adaptationId);if(R===void 0){h.cancel(),m.warn(\"Stream: Unfound chosen Adaptation choice\",v.adaptationId);return}let{DELTA_POSITION_AFTER_RELOAD:k}=F.getCurrent(),A=!1,T;if(b)T=0;else if(v.relativeResumingPosition!==void 0)T=v.relativeResumingPosition;else switch(A=!0,n){case\"audio\":T=k.trackSwitch.audio;break;case\"video\":T=k.trackSwitch.video;break;default:T=k.trackSwitch.other;break}if(b=!1,St.isNative(n)&&o.getStatus(n).type===\"disabled\")return E(T,!0,_.signal);c.addEventListener(\"manifestUpdate\",M=>{for(let N of M.updatedPeriods)if(N.period.id===g.id){for(let U of N.result.removedAdaptations)if(U.id===R.id)return E(T,!0,_.signal)}else if(N.period.start>g.start)break},h.signal);let{representations:x}=v;if(m.info(`Stream: Updating ${n} adaptation`,`A: ${R.id}`,`P: ${g.start}`),f.adaptationChange({type:n,adaptation:R,period:g}),_.isUsed())return;let O=Hl(o,n,R),D=ya(O,g,R,v.switchingMode,r,s);if(D.type===\"needs-reload\")return E(T,!0,_.signal);if(await o.waitForUsableBuffers(_.signal),!_.isUsed()){if(D.type===\"flush-buffer\"||D.type===\"clean-buffer\"){for(let{start:M,end:N}of D.value)if(await O.removeBuffer(M,N),_.isUsed())return;if(D.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:T,relativePosHasBeenDefaulted:A}),_.isUsed()))return}t.get(O)(_.signal),y(R,x,O,_.signal)}})().catch(_=>{_ instanceof oe||(h==null||h.cancel(),f.error(_))})},{clearSignal:l,emitCurrentValue:!0});function y(v,_,C,R){let k=Kl(r,v.type);xs({content:{manifest:c,period:g,adaptation:v,representations:_},options:s,playbackObserver:k,representationEstimator:i,segmentSink:C,segmentQueueCreator:a,wantedBufferAhead:u,maxVideoBufferSize:d},ie(Z({},f),{error:A}),R);function A(T){if(!St.isNative(n)){m.error(`Stream: ${n} Stream crashed. Aborting it.`,T instanceof Error?T:\"\"),o.disposeSegmentSink(n);let x=be(T,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(x),R.isCancelled()?void 0:ks(r,u,n,{period:g},f,R)}m.error(`Stream: ${n} Stream crashed. Stopping playback.`,T instanceof Error?T:\"\"),f.error(T)}}function E(v,_,C){kt(()=>{r.listen(()=>{C.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:v,stayInPeriod:_})},{includeLastObservation:!0,clearSignal:C})})}}function Hl(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return m.info(\"Stream: Reusing a previous SegmentSink for the type\",e),r.value;let i=Gl(t);return n.createSegmentSink(e,i)}function Gl(n){let e=n.representations.filter(t=>t.isSupported===!0&&t.decipherable!==!1);if(e.length===0)throw new $(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[ct(n)]});return e[0].getMimeTypeString()}function Kl(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new j(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let u=r.getValue(),d=u.buffered[e],f=d!==null?Br(d,u.position.getWanted()):0;return q({},u,{bufferGap:f,buffered:d})}function s(){a.setValue(o())}})}function ks(n,e,t,r,i,a){let{period:o}=r,s=!1;e.onUpdate(u,{emitCurrentValue:!1,clearSignal:a}),n.listen(u,{includeLastObservation:!1,clearSignal:a}),u();function u(){let d=n.getReference().getValue(),f=e.getValue(),l=d.position.getWanted();o.end!==void 0&&l+f>=o.end&&(m.debug('Stream: full \"empty\" AdaptationStream',t),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var Ms=Ta;function zr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory();for(let i of r)if(e.some(o=>i.infos.period.id===o.period.id&&i.infos.adaptation.id===o.adaptation.id&&i.infos.representation.id===o.representation.id)){let{bufferedStart:o,bufferedEnd:s}=i;if(o===void 0||s===void 0)return m.warn(\"SO: No buffered start or end found from a segment.\"),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===o?u.end=s:t.push({start:o,end:s})}return t}function Ea(n,e,t,r,i,a,o,s){let{manifest:u,initialPeriod:d}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:c,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_BEHIND:b}=F.getCurrent(),y=new xn(_=>{var A,T;let{bufferType:C}=_,R=(A=b[C])!=null?A:1/0,k=(T=h[C])!=null?T:1/0;return x=>{Ur({segmentSink:_,playbackObserver:e,maxBufferBehind:Xt(l,O=>Math.min(O,R),x),maxBufferAhead:Xt(f,O=>{var w;let D=Math.max(O,(w=p[C])!=null?w:0);return Math.min(D,k)},x)},x)}});for(let _ of r.getBufferTypes())E(_,d);function E(_,C){let R=new Mt((D,w)=>D.start-w.start),k=!1,A=new W;return A.linkToSignal(s),e.listen(({position:D})=>{var N;let w=D.getWanted();if(!k||!x(w))return;for(m.info(\"Stream: Destroying all PeriodStreams due to out of bounds situation\",_,w),k=!1;R.length()>0;){let U=R.get(R.length()-1);R.removeElement(U),o.periodStreamCleared({type:_,manifest:u,period:U})}A.cancel(),A=new W,A.linkToSignal(s);let M=(N=u.getPeriodForTime(w))!=null?N:u.getNextPeriod(w);if(M===void 0){m.warn(\"Stream: The wanted position is not found in the Manifest.\"),k=!0;return}T(M)},{clearSignal:s,includeLastObservation:!0}),u.addEventListener(\"decipherabilityUpdate\",D=>{s.isCancelled()||O(D).catch(w=>{s.isCancelled()||(A.cancel(),o.error(w))})},s),T(C);function T(D){let w=ie(Z({},o),{waitingMediaSourceReload(M){let N=R.head();N===void 0||N.id!==M.period.id?o.lockedStream({bufferType:M.bufferType,period:M.period}):o.needsMediaSourceReload({timeOffset:M.timeOffset,minimumPosition:M.stayInPeriod?M.period.start:void 0,maximumPosition:M.stayInPeriod?M.period.end:void 0})},periodStreamReady(M){k=!0,R.add(M.period),o.periodStreamReady(M)},periodStreamCleared(M){R.removeElement(M.period),o.periodStreamCleared(M)},error(M){A.cancel(),o.error(M)}});v(_,D,w,A.signal)}function x(D){let w=R.head(),M=R.last();return w===void 0||M===void 0?!0:w.start>D||(P(M.end)?1/0:M.end)<D}async function O(D){let w=r.getStatus(_),M=D.filter(H=>H.adaptation.type===_);if(M.length===0||w.type!==\"initialized\"||M.every(H=>H.representation.decipherable===!0))return;let N=w.value,U=M.filter(H=>H.representation.decipherable===void 0),K=M.filter(H=>H.representation.decipherable===!1),ee=zr(N,K),G=zr(N,U);for(k=!1,m.info(\"Stream: Destroying all PeriodStreams for decipherability matters\",_);R.length()>0;){let H=R.get(R.length()-1);R.removeElement(H),o.periodStreamCleared({type:_,manifest:u,period:H})}A.cancel(),A=new W,A.linkToSignal(s);for(let{start:H,end:V}of[...ee,...G]){if(s.isCancelled())return;if(H<V){if(s.isCancelled())return;await N.removeBuffer(H,V)}}kt(()=>{if(s.isCancelled())return;let H=e.getReference().getValue();if(Os(H,ee)){if(o.needsDecipherabilityFlush(),s.isCancelled())return}else if(Os(H,G)&&(o.needsBufferFlush(),s.isCancelled()))return;let V=H.position.getWanted(),Q=u.getPeriodForTime(V);if(Q===void 0){o.error(new $(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}T(Q)})}}function v(_,C,R,k){m.info(\"Stream: Creating new Stream for\",_,C.start);let A=null,T=new W;T.linkToSignal(k),e.listen(({position:M},N)=>{if(C.end!==void 0&&M.getWanted()>=C.end){let U=u.getPeriodAfter(C);if(C.containsTime(M.getWanted(),U))return;m.info(\"Stream: Destroying PeriodStream as the current playhead moved above it\",_,C.start,M.getWanted(),C.end),N(),R.periodStreamCleared({type:_,manifest:u,period:C}),T.cancel()}},{clearSignal:k,includeLastObservation:!0});let x={bufferType:_,content:{manifest:u,period:C},garbageCollectors:y,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:c},O=ie(Z({},R),{streamStatusUpdate(M){if(M.hasFinishedLoading){let N=u.getPeriodAfter(C);N!==null&&D(N)}else A!==null&&(m.info(\"Stream: Destroying next PeriodStream due to current one being active\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null);R.streamStatusUpdate(M)},error(M){A!==null&&(A.canceller.cancel(),A=null),T.cancel(),R.error(M)}});Ms(x,O,T.signal),w(T.signal);function D(M){if(A!==null){if(A.period.id===M.id)return;m.warn(\"Stream: Creating next `PeriodStream` while one was already created.\",_,M.id,A.period.id),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel()}let N=new W;N.linkToSignal(k),A={canceller:N,period:M},v(_,M,R,A.canceller.signal)}function w(M){u.addEventListener(\"manifestUpdate\",N=>{for(let U of N.removedPeriods)if(U.id===C.id){if(u.periods.length>0&&u.periods[0].start<=U.start)return kt(()=>{if(!M.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(U.start>C.start)break;if(N.addedPeriods.length>0&&A!==null){let U=u.getPeriodAfter(C);(U===null||A.period.id!==U.id)&&(m.warn(\"Stream: Destroying next PeriodStream due to new one being added\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null)}},M)}}}function Os(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var ws=Ea;var Ds=ws;var Un=class extends se{constructor(e,t,r){super(),this._canceller=new W,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new _a(e);this._maximumPositionCalculator=i;let a=this._canceller.signal;t.listen(({position:o})=>{let s=o.getWanted();if(s<e.getMinimumSafePosition()){let u=new $(\"MEDIA_TIME_BEFORE_MANIFEST\",\"The current position is behind the earliest time announced in the Manifest.\");this.trigger(\"warning\",u)}else if(s>i.getMaximumAvailablePosition()){let u=new $(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\");this.trigger(\"warning\",u)}},{includeLastObservation:!0,clearSignal:a}),e.addEventListener(\"manifestUpdate\",()=>{this.trigger(\"endingPositionChange\",this._getManifestEndTime()),!a.isCancelled()&&this._checkEndOfStream()},a)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e===\"audio\"||e===\"video\")){e===\"audio\"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let a=this._maximumPositionCalculator.getEndingPosition(),o=a!==void 0?{isEnd:!0,endingPosition:a}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger(\"endingPositionChange\",o)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(){this.removeEventListener(),this._canceller.cancel()}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let a=this._activeStreams.get(i);if(a===void 0)return;if(!a.activePeriods.toArray().some(u=>u.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger(\"periodChange\",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new Mt((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger(\"endOfStream\",null):this.trigger(\"resumeStream\",null)}},_a=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=Wr(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Wr(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=Wr(this._lastAudioAdaptation),t=Wr(this._lastVideoAdaptation);return typeof e!=\"number\"||typeof t!=\"number\"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=Vr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=Vr(this._lastAudioAdaptation))!=null?t:void 0;{let r=Vr(this._lastAudioAdaptation),i=Vr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function Wr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getLastAvailablePosition();if(a===void 0)return;a!==null&&(t=P(t)?a:Math.min(t,a))}return t}function Vr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getEnd();if(a===void 0)return;a!==null&&(t=P(t)?a:Math.min(t,a))}return t}function Ra(n,e,t,r,i,a){a.register(()=>{e.interruptDurationSetting()});let o=new Un(n,t,r.getBufferTypes());a.register(()=>{o.dispose()}),o.addEventListener(\"warning\",u=>i.onWarning(u)),o.addEventListener(\"periodChange\",u=>i.onPeriodChanged(u)),o.addEventListener(\"endingPositionChange\",u=>{e.setDuration(u.endingPosition,u.isEnd)}),o.addEventListener(\"endOfStream\",()=>{m.debug(\"Init: end-of-stream order received.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function Pa(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=Y(n.sourceBuffers,s=>s.type===\"audio\"),i=Y(n.sourceBuffers,s=>s.type===\"video\"),a=r==null?void 0:r.getBuffered();a!==void 0&&(t.audio=a);let o=i==null?void 0:i.getBuffered();return o!==void 0&&(t.video=o),t}function va(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return m.warn(\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function jl(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function Ln(n,e){if(m.debug(\"Init: Trying to call endOfStream\"),n.readyState!==\"open\"){m.debug(\"Init: MediaSource not open, cancel endOfStream\");return}let{sourceBuffers:t}=n,r=jl(t);if(r.length===0){m.info(\"Init: Triggering end of stream\");try{n.endOfStream()}catch(a){m.error(\"Unable to call endOfStream\",a instanceof Error?a:new Error(\"Unknown error\"))}return}m.debug(\"Init: Waiting SourceBuffers to be updated before calling endOfStream.\");let i=new W;i.linkToSignal(e);for(let a of r)ro(a,()=>{i.cancel(),Ln(n,e)},i.signal);io(t,()=>{i.cancel(),Ln(n,e)},i.signal)}function Bs(n,e){let t=new W;t.linkToSignal(e),Bt(n,()=>{m.debug(\"Init: MediaSource re-opened while end-of-stream is active\"),t.cancel(),t=new W,t.linkToSignal(e),Ln(n,t.signal)},e),Ln(n,t.signal)}function Ca(){return ri}var Yl=365*24*3600,Fn=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new W;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=Xl(r,i),o=new W;o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(),!a.getValue())return;o=new W,o.linkToSignal(i);let u=$l(r.sourceBuffers,o.signal),d=new W;return d.linkToSignal(o.signal),u.onUpdate(f=>{d.cancel(),d=new W,d.linkToSignal(o.signal),!f&&Us(r,e,t,d.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function Ql(n,e,t){let r=e;t||(r=Ca()?1/0:Ns(e));let i=0;for(let a=0;a<n.sourceBuffers.length;a++){let o=n.sourceBuffers[a],s=o.buffered.length;s>0&&(i=Math.max(o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i<n.duration)try{m.info(\"Init: Updating duration to what is currently buffered\",i),n.duration=i}catch(a){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",a instanceof Error?a:\"\"),\"failed\"}return\"partial\"}else{let a=n.duration;try{if(m.info(\"Init: Updating duration\",r),n.duration=r,n.readyState===\"open\"&&!isFinite(r)){let s=Ns(e);m.info(\"Init: calling `mediaSource.setLiveSeekableRange`\",s),n.setLiveSeekableRange(0,s)}}catch(s){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",s instanceof Error?s:\"\"),\"failed\"}let o=Math.abs(n.duration-r);if(o>=.1){let s=Math.abs(n.duration-a);return o<s?\"partial\":\"failed\"}return\"success\"}}function $l(n,e){if(n.length===0){let i=new j(!1);return i.finish(),i}let t=new j(!1,e);r();for(let i=0;i<n.length;i++){let a=n[i];a.addEventListener(\"updatestart\",r),a.addEventListener(\"update\",r),e.register(()=>{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function Xl(n,e){let t=new j(n.readyState===\"open\",e);return Bt(n,()=>{m.debug(\"Init: Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),cr(n,()=>{m.debug(\"Init: Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),fr(n,()=>{m.debug(\"Init: Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function Us(n,e,t,r){if(Ql(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),Us(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function Ns(n){return Math.max(Math.pow(2,32),n+Yl)}var zn=class extends se{constructor(e){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,P(ni))throw new $(\"MEDIA_SOURCE_NOT_SUPPORTED\",\"No MediaSource Object was found in the current browser.\");m.info(\"Init: Creating MediaSource\");let t=new ni,r=t.handle;this.handle=P(r)?{type:\"media-source\",value:t}:{type:\"handle\",value:r},this._mediaSource=t,this.readyState=t.readyState,this._durationUpdater=new Fn(t),this._endOfStreamCanceller=null,Bt(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),cr(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),fr(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceClose\",null)},this._canceller.signal)}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new Aa(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(){this._durationUpdater.stopUpdating()}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new W,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),m.debug(\"Init: end-of-stream order received.\"),Bs(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(m.debug(\"Init: resume-stream order received.\"),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),Zl(this._mediaSource)}},Aa=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new W,this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=o=>{let s;o instanceof Error?s=o:o.error instanceof Error?s=o.error:s=new Error(\"Unknown SourceBuffer Error\");let u=this._currentOperations;if(this._currentOperations=[],u.length===0)m.error(\"SBI: error for an unknown operation\",s);else{let d=new ve(s.name,s.message,s.name===\"QuotaExceededError\");for(let f of u)f.reject(d)}},a=()=>{let o=this._currentOperations;this._currentOperations=[];try{for(let s of o)s.resolve(la(this._sourceBuffer.buffered))}catch(s){for(let u of o)s instanceof Error&&s.name===\"InvalidStateError\"?u.resolve([]):u.reject(s)}this._performNextOperation()};r.addEventListener(\"updateend\",a),r.addEventListener(\"error\",i),this._canceller.signal.register(()=>{r.removeEventListener(\"updateend\",a),r.removeEventListener(\"error\",i)})}appendBuffer(...e){return m.debug(\"SBI: receiving order to push data to the SourceBuffer\",this.type),this._addToQueue({operationName:0,params:e})}remove(e,t){return m.debug(\"SBI: receiving order to remove data from the SourceBuffer\",this.type,e,t),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return la(this._sourceBuffer.buffered)}catch(e){return m.error(\"Failed to get buffered time range of SourceBuffer\",this.type,e instanceof Error?e:null),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){m.debug(\"Init: Failed to abort SourceBuffer:\",e instanceof Error?e:null)}this._emptyCurrentQueue()}dispose(){try{this._sourceBuffer.abort()}catch(e){}this._emptyCurrentQueue()}_emptyCurrentQueue(){let e=new oe;this._currentOperations.length>0&&(this._currentOperations.forEach(t=>{t.reject(e)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(t=>{t.reject(e)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,a=q({resolve:t,reject:r},e);this._operationQueue.push(a),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,a,o;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],u=e.params[1],d=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let f;s instanceof ArrayBuffer?f=new Uint8Array(s):s instanceof Uint8Array?f=s:f=new Uint8Array(s.buffer);let l=[f];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let c=this._operationQueue[0],g=(r=u.appendWindow)!=null?r:[void 0,void 0],p=(i=c.params[1].appendWindow)!=null?i:[void 0,void 0],h=(a=u.timestampOffset)!=null?a:0,b=(o=c.params[1].timestampOffset)!=null?o:0;if(g[0]===p[0]&&g[1]===p[1]&&u.codec===c.params[1].codec&&h===b){let y=c.params[0],E;y instanceof ArrayBuffer?E=new Uint8Array(y):y instanceof Uint8Array?E=y:E=new Uint8Array(y.buffer),l.push(E),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:c.resolve,reject:c.reject})}else break}l.length>1&&(m.info(`MMSI: Merging ${l.length} segments together for perf`,this.type),d=Et(...l))}try{this._appendBufferNow(d,u)}catch(f){let l=f instanceof Error?new ve(f.name,f.message,f.name===\"QuotaExceededError\"):new ve(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(c=>{c.reject(l)}),this._currentOperations=[]}}else{this._currentOperations=[e];let[s,u]=e.params;m.debug(\"SBI: removing data from SourceBuffer\",this.type,s,u);try{this._sourceBuffer.remove(s,u)}catch(d){let f=d instanceof Error?new ve(d.name,d.message,!1):new ve(\"Error\",\"Unknown SourceBuffer Error during remove\",!1);e.reject(f),this._currentOperations=[]}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:a,appendWindow:o=[]}=t;if(i!==void 0&&i!==this.codec&&(m.debug(\"SBI: updating codec\",i),va(r,i)?this.codec=i:m.debug(\"SBI: could not update codec\",i,this.codec)),a!==void 0&&r.timestampOffset!==a){let s=a;m.debug(\"SBI: updating timestampOffset\",i,r.timestampOffset,s),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(m.debug(\"SBI: re-setting `appendWindowStart` to `0`\"),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;m.debug(\"SBI: pre-updating `appendWindowEnd`\",s),r.appendWindowEnd=s}m.debug(\"SBI: setting `appendWindowStart`\",o[0]),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(m.debug(\"SBI: re-setting `appendWindowEnd` to `Infinity`\"),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(m.debug(\"SBI: setting `appendWindowEnd`\",o[1]),r.appendWindowEnd=o[1]),m.debug(\"SBI: pushing segment\",this.type),r.appendBuffer(e)}};function Zl(n){if(n.readyState!==\"closed\"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e===\"open\"){m.info(\"Init: Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}m.info(\"Init: Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&m.info(\"Init: Not all SourceBuffers could have been removed.\")}}var Jl=Ce(),qr=Ce(),Ls=1/0,Wn=class extends se{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,this.readyState=\"closed\",this._messageSender=r;let i=Jl();this._messageSender({type:\"create-media-source\",contentId:t,mediaSourceId:i})}onMediaSourceReadyStateChanged(e){switch(e){case\"closed\":this.readyState=\"closed\",this.trigger(\"mediaSourceClose\",null);break;case\"open\":this.readyState=\"open\",this.trigger(\"mediaSourceOpen\",null);break;case\"ended\":this.readyState=\"ended\",this.trigger(\"mediaSourceEnded\",null);break}}addSourceBuffer(e,t){this._messageSender({type:\"add-source-buffer\",mediaSourceId:this.id,value:{sourceBufferType:e,codec:t}});let r=new xa(e,t,this.id,this._messageSender);return this.sourceBuffers.push(r),r}setDuration(e,t){this._messageSender({type:\"update-media-source-duration\",mediaSourceId:this.id,value:{duration:e,isRealEndKnown:t}})}interruptDurationSetting(){this._messageSender({type:\"stop-media-source-duration\",mediaSourceId:this.id,value:null})}maintainEndOfStream(){this._messageSender({type:\"end-of-stream\",mediaSourceId:this.id,value:null})}stopEndOfStream(){this._messageSender({type:\"stop-end-of-stream\",mediaSourceId:this.id,value:null})}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),this._messageSender({type:\"dispose-media-source\",mediaSourceId:this.id,value:null})}},xa=class{constructor(e,t,r,i){this.type=e,this.codec=t,this._canceller=new W,this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?m.warn(\"SBI: unknown SourceBuffer operation succeeded\"):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new oe:new ve(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?m.info(\"SBI: unknown SourceBuffer operation failed\",r):(this._pendingOperations.delete(e),i.reject(r));let a=new oe;for(let o of this._queuedOperations)o.reject(a);this._queuedOperations=[]}appendBuffer(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=Ls){this._queuedOperations.push({operationName:0,params:[e,t],resolve:r,reject:i});return}try{let a;e instanceof ArrayBuffer?a=e:e.byteLength===e.buffer.byteLength?a=e.buffer:a=e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset);let o=qr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:o,value:{data:a,params:t}},[a]),this._addOperationToQueue(o,r,i)}catch(a){i(a)}})}remove(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=Ls){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=qr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{start:e,end:t}}),this._addOperationToQueue(a,r,i)}catch(a){i(a)}})}abort(){this._messageSender({type:\"abort-source-buffer\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,value:null})}dispose(){this.abort(),this._canceller.cancel()}getBuffered(){}_addOperationToQueue(e,t,r){this._pendingOperations.set(e,{resolve:a,reject:o});let i=this._canceller.signal.register(s=>{this._pendingOperations.delete(e),r(s)});function a(s){i(),t(s)}function o(s){i(),r(s)}}_performNextQueuedOperationIfItExists(){let e=this._queuedOperations.shift();if(e!==void 0)try{if(e.operationName===0){let[t,r]=e.params,i;t instanceof ArrayBuffer?i=t:t.byteLength===t.buffer.byteLength?i=t.buffer:i=t.buffer.slice(t.byteOffset,t.byteLength+t.byteOffset);let a=qr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{data:i,params:r}},[i]),this._addOperationToQueue(a,e.resolve,e.reject)}else{let[t,r]=e.params,i=qr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:i,value:{start:t,end:r}}),this._addOperationToQueue(i,e.resolve,e.reject)}}catch(t){e.reject(t)}}};function ka(n){let e=n.map(o=>Math.log(o/n[0])),t=e.map(o=>o-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((o,s)=>a(s));function a(o){if(o===0)return 0;let s=Math.min(Math.max(1,o),n.length-1);return n[s]===n[s-1]?a(o-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var Ue=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var Vn=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,a=this._currentRepresentationData,o;a!==null&&a.representation.id===e.id?(o=a.ewma,a.ewma.addSample(t,i),a.loadedDuration+=r,a.loadedSegments++):(o=new Ue(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:0}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(m.debug(\"ABR: New last stable representation\",e.bitrate),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,a=t.getEstimate(),o=r>=5&&i>=10?1:0;return{score:a,confidenceLevel:o}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var Fs=6e3,ef=15e3,tf=3e3,nf=1e3,rf=9e3,qn=class{constructor(e){this._levelsMap=ka(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Fs,m.debug(\"ABR: Steps for buffer based chooser.\",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(\" ,\"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:a,currentScore:o,speed:s}=e;if(P(a)){this._currentEstimate=r[0];return}let u=-1;for(let p=0;p<r.length;p++){let h=r[p];if(h===a)u=p;else if(h>a)break}if(u<0||r.length!==t.length){m.info(\"ABR: Current Bitrate not found in the calculated levels\"),this._currentEstimate=r[0];return}let d;o!==void 0&&(d=s===0?o.score:o.score/s);let f=isFinite(i)?i:0,l=L();if(f<t[u]||d!==void 0&&d<1&&(o==null?void 0:o.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+rf){let b=this._blockRaiseDelay+tf;this._blockRaiseDelay=Math.min(b,ef),m.debug(\"ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality\",this._blockRaiseDelay)}else{let b=this._blockRaiseDelay-nf;this._blockRaiseDelay=Math.max(Fs,b),m.debug(\"ABR: Lowering quality in BufferBasedChooser\",this._blockRaiseDelay)}this._lastUnsuitableQualityTimestamp=l;let h=re(r,b=>b===a);for(let b=h-1;b>=0;b--)if(f>=t[b]){this._currentEstimate=r[b];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||d===void 0||d<1.15||(o==null?void 0:o.confidenceLevel)!==1){this._currentEstimate=a;return}let c=t[u],g=(()=>{for(let p=u+1;p<t.length;p++)if(t[p]>c)return p})();if(g!==void 0){let p=t[g];if(i>=p){m.debug(\"ABR: Raising quality in BufferBasedChooser\",r[g]),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function af(n,e){let t=-1;for(let o=0;o<n.length;o++){let{segment:s}=n[o].content;if(s.duration<=0)continue;let u=s.time+s.duration;if(!s.complete&&o===n.length-1&&e-s.time>-1.2){t=o;break}if(u>e&&e-s.time>-1.2){t=o;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,a=[r];for(let o=t+1;o<n.length&&n[o].content.segment.time===i;o++)a.push(n[o]);return a}function Hr(n){if(n.progress.length<5)return;let e=new Ue(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,a=t[r].timestamp-t[r-1].timestamp,o=i*8/(a/1e3);e.addSample(a/1e3,o)}return e.getEstimate()}function zs(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function of(n,e,t,r,i){if(r)return;let{bufferGap:a,speed:o,position:s}=e,u=isFinite(a)?a:0,d=s.getWanted()+u,f=af(n,d);if(f.length!==1)return;let l=f[0],c=L(),g=l.content.segment.duration*1.5;if(g=Math.min(g,3e3),g=Math.max(g,12e3),c-l.requestTimestamp<g)return;let p=l.progress.length>0?l.progress[l.progress.length-1]:void 0,h=Hr(l);if(p!==void 0&&h!==void 0){let C=zs(p,h);if((c-p.timestamp)/1e3<=C&&C-u/o>2500)return h}if(!l.content.segment.complete)return;let b=l.content.segment.duration,y=(c-l.requestTimestamp)/1e3,E=y<=(b*1.5+2)/o;if(P(t)||E)return;let v=b/y,_=t.bitrate*Math.min(.7,v);if(i===void 0||_<i)return _}function sf(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,a=Y(e,({content:l})=>l.segment.duration>0&&l.segment.time+l.segment.duration>i);if(a===void 0)return!0;let o=L(),s=a.progress.length>0?a.progress[a.progress.length-1]:void 0,u=Hr(a);if(s===void 0||u===void 0)return!0;let d=zs(s,u);return(o-s.timestamp)/1e3>d*1.2?!0:d-r/n.speed>-1.5}var Hn=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=F.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:a.LOW_LATENCY,regularBitrateFactor:o.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:a.DEFAULT,regularBitrateFactor:o.DEFAULT}}getBandwidthEstimate(e,t,r,i,a){let o,s,u=this._config,{bufferGap:d,position:f,duration:l}=e,c=isFinite(d)?d:0,{ABR_STARVATION_DURATION_DELTA:g}=F.getCurrent();return isNaN(l)||c+f.getWanted()<l-g?!this._inStarvationMode&&c<=u.starvationGap?(m.info(\"ABR: enter starvation mode.\"),this._inStarvationMode=!0):this._inStarvationMode&&c>=u.outOfStarvationGap&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1):this._inStarvationMode&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1),this._inStarvationMode&&(s=of(i,e,r,this._lowLatencyMode,a),s!==void 0&&(m.info(\"ABR: starvation mode emergency estimate:\",s),t.reset(),o=P(r)?s:Math.min(s,r.bitrate))),P(o)&&(s=t.getEstimate(),s!==void 0?o=s*(this._inStarvationMode?u.starvationBitrateFactor:u.regularBitrateFactor):a!==void 0?o=a*(this._inStarvationMode?u.starvationBitrateFactor:u.regularBitrateFactor):o=this._initialBitrate),e.speed>1&&(o/=e.speed),{bandwidthEstimate:s,bitrateChosen:o}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:sf(i,r,this._lowLatencyMode)}};var Gn=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var Kn=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,a){let{bufferGap:o,speed:s}=t,u=this._lastAbrEstimate.representation;if(u===null)return null;if(i>u.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let d=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(d===void 0)return null;if(this._canGuessHigher(o,s,d)){let l=Ws(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(u,i,d)&&(m.debug(\"ABR: Guessed Representation validated\",u.bitrate),this._lastMaintanableBitrate=u.bitrate,this._consecutiveWrongGuesses=0),r.id!==u.id)return u;if(this._shouldStopGuess(r,d,o,a))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=L()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),uf(e,r);if(d===void 0)return r;if(this._canGuessHigher(o,s,d)){let l=Ws(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&L()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let a=i.filter(s=>s.content.representation.id===e.id),o=L();for(let s of a){let u=o-s.requestTimestamp;if(s.content.segment.isInit){if(u>1e3)return!0}else{if(u>s.content.segment.duration*1e3+200)return!0;{let d=Hr(s);if(d!==void 0&&d<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function Ws(n,e){let t=n.length,r=re(n,({id:i})=>i===e.id);if(r<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function uf(n,e){let t=re(n,({id:r})=>r===e.id);if(t<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var jn=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=F.getCurrent();this._fastEWMA=new Ue(e),this._slowEWMA=new Ue(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=F.getCurrent();if(t<r)return;let i=t*8e3/e,a=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(a,i),this._slowEWMA.addSample(a,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=F.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=F.getCurrent();this._fastEWMA=new Ue(e),this._slowEWMA=new Ue(t),this._bytesSampled=0}};function Ma(n,e){if(n.length===0)return[];n.sort((a,o)=>a.bitrate-o.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=re(n,a=>a.bitrate>r);return i===-1?n:n.slice(0,i)}function Oa(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,u)=>{var d,f;return((d=s.width)!=null?d:0)-((f=u.width)!=null?f:0)}),a=Y(i,s=>typeof s.width==\"number\"&&s.width>=t&&typeof s.height==\"number\"&&s.height>=r);if(a===void 0)return n;let o=typeof a.width==\"number\"?a.width:0;return n.filter(s=>typeof s.width==\"number\"?s.width<=o:!0)}var Yn=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(P(t)){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: progress for a request not added\");m.warn(\"ABR: progress for a request not added\");return}t.progress.push(e)}remove(e){if(P(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: can't remove unknown request\");m.warn(\"ABR: can't remove unknown request\")}delete this._currentRequests[e]}getRequests(){return Ir(this._currentRequests).filter(e=>!P(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function Gr(n,e){let t=re(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var Vs=new j(void 0);Vs.finish();var qs=new j(1/0);qs.finish();function wa(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,u,d,f,l){var b,y,E;let{type:c}=s.adaptation,g=a(c),p=(b=t[c])!=null?b:0,h={limitResolution:(y=r.limitResolution[c])!=null?y:Vs,throttleBitrate:(E=r.throttleBitrate[c])!=null?E:qs};return df({bandwidthEstimator:g,context:s,currentRepresentation:u,filters:h,initialBitrate:p,playbackObserver:f,representations:d,lowLatencyMode:i},l)};function a(o){let s=e[o];if(P(s)){m.debug(\"ABR: Creating new BandwidthEstimator for \",o);let u=new jn;return e[o]=u,u}return s}}function df({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:a,playbackObserver:o,representations:s},u){let d=new Vn,f=new Hn(i!=null?i:0,a),l=new Yn,c=B,g={metrics:E,requestBegin:v,requestProgress:_,requestEnd:C,addedSegment(R){c(R)}},p=new W;p.linkToSignal(u);let h=b(s.getValue(),p.signal);return s.onUpdate(y,{clearSignal:u}),{estimates:h,callbacks:g};function b(R,k){if(R.length<=1)return new j({bitrate:void 0,representation:R[0],urgent:!0,knownStableBitrate:void 0});let A=!1,T=R.sort((K,ee)=>K.bitrate-ee.bitrate),x=new qn(T.map(K=>K.bitrate)),O=new Gn,D=new Kn(d,O),w=o.getReference().getValue(),M=new j(U());return o.listen(K=>{w=K,N()},{includeLastObservation:!1,clearSignal:k}),c=function(K){if(w===null)return;let{position:ee,speed:G}=w,H=K.buffered,V=Br(H,ee.getWanted()),{representation:Q}=K.content,le=d.getEstimate(Q),Se=Q.bitrate,me={bufferGap:V,currentBitrate:Se,currentScore:le,speed:G};x.onAddedSegment(me),N()},k.register(()=>{c=B}),r.throttleBitrate.onUpdate(N,{clearSignal:k}),r.limitResolution.onUpdate(N,{clearSignal:k}),M;function N(){M.setValue(U())}function U(){let{bufferGap:K,position:ee,maximumPosition:G}=w,H=r.limitResolution.getValue(),V=r.throttleBitrate.getValue(),Q=t.getValue(),le=lf(T,H,V),Se=l.getRequests(),{bandwidthEstimate:me,bitrateChosen:$e}=f.getBandwidthEstimate(w,n,Q,Se,O.bandwidth),we=d.getLastStableRepresentation(),he=we===null?void 0:we.bitrate/(w.speed>0?w.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:ye,ABR_EXIT_BUFFER_BASED_ALGO:Qt}=F.getCurrent();A&&K<=Qt?A=!1:!A&&isFinite(K)&&K>=ye&&(A=!0);let He=Gr(le,$e),xe=x.getLastEstimate(),Ot=He.bitrate,st=null;A&&xe!==void 0&&xe>Ot&&(st=Gr(le,xe),Ot=st.bitrate);let ut=null;return a&&Q!==null&&e.manifest.isDynamic&&G-ee.getWanted()<40&&(ut=D.getGuess(T,w,Q,Ot,Se)),ut!==null&&ut.bitrate>Ot?(m.debug(\"ABR: Choosing representation with guess-based estimation.\",ut.bitrate,ut.id),O.update(ut,me,2),{bitrate:me,representation:ut,urgent:Q===null||ut.bitrate<Q.bitrate,knownStableBitrate:he}):st!==null?(m.debug(\"ABR: Choosing representation with buffer-based estimation.\",st.bitrate,st.id),O.update(st,me,0),{bitrate:me,representation:st,urgent:f.isUrgent(st.bitrate,Q,Se,w),knownStableBitrate:he}):(m.debug(\"ABR: Choosing representation with bandwidth estimation.\",He.bitrate,He.id),O.update(He,me,1),{bitrate:me,representation:He,urgent:f.isUrgent(He.bitrate,Q,Se,w),knownStableBitrate:he})}}function y(){let R=s.getValue();p.cancel(),p=new W,p.linkToSignal(u),b(R,p.signal).onUpdate(function(T){h.setValue(T)},{clearSignal:p.signal,emitCurrentValue:!0})}function E(R){let{requestDuration:k,segmentDuration:A,size:T,content:x}=R;if(n.addSample(k,T),!x.segment.isInit){let{segment:O,representation:D}=x;if(A===void 0&&!O.complete)return;let w=A!=null?A:O.duration;d.addSample(D,k/1e3,w)}}function v(R){l.add(R)}function _(R){l.addProgress(R)}function C(R){l.remove(R.id)}}function lf(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Ma(r,t)),e!==void 0&&(r=Oa(r,e)),r}var Hs=wa;function Kr(){var t;if(typeof((t=ue.crypto)==null?void 0:t.randomUUID)==\"function\")return ue.crypto.randomUUID();let n=new Date().getTime(),e=L();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r===\"x\"?i:i&3|8).toString(16)})}var ff=4,Qn=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:Kr(),this._contentId=(r=e.contentId)!=null?r:Kr(),this._typePreference=e.communicationType===\"headers\"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(),this._canceller=new W,this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot=\"m\",e){case\"dash\":t.sf=\"d\";break;case\"smooth\":t.sf=\"s\";break;default:t.sf=\"o\";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var o,s,u,d;let t=(o=this._playbackObserver)==null?void 0:o.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case\"video\":r.ot=\"v\";break;case\"audio\":r.ot=\"a\";break;case\"text\":r.ot=\"c\";break}if(e.segment.isInit&&(r.ot=\"i\"),!P(e.nextSegment)&&e.segment.url!==null&&e.nextSegment.url!==null&&(!e.nextSegment.isInit||e.nextSegment.indexRange===void 0)){let f=e.segment.url,l=e.nextSegment.url,c=Bo(f,l);c!==null&&(c!==\".\"&&(r.nor=encodeURIComponent(c)),e.nextSegment.range!==void 0&&(r.nrr=String(e.nextSegment.range[0])+\"-\",isFinite(e.nextSegment.range[1])&&(r.nrr+=String(e.nextSegment.range[1]))))}let i;if(t!==void 0&&(r.ot===\"v\"||r.ot===\"a\"||r.ot===\"av\")){let f=t.buffered[e.adaptation.type];if(!P(f)){let l=(d=(u=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?u:t.position.getWanted())!=null?d:t.position.getPolled();for(let c of f)if(l>=c.start&&l<c.end){i=(c.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let a=i===void 0||t===void 0?void 0:i/t.speed;if(r.dl=a===void 0?void 0:Math.floor(Math.round(a/100)*100),a!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(a/1e3);r.rtp=Math.floor(Math.round(l*ff/100)*100)}switch(e.manifest.transport){case\"dash\":r.sf=\"d\";break;case\"smooth\":r.sf=\"s\";break;default:r.sf=\"o\";break}return r.st=e.manifest.isDynamic?\"l\":\"v\",r.tb=e.adaptation.representations.reduce((f,l)=>l.isSupported!==!0||l.decipherable===!1?f:f===void 0?Math.round(l.bitrate/1e3):Math.max(f,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:\"\",request:\"\",session:\"\",status:\"\"},r=\"\",i=(d,f)=>{this._typePreference===0?t[f]+=d:r+=d},a=(d,f)=>{let l=e[d];if(l!==void 0){let c=`${d}=${String(l)},`;i(c,f)}},o=(d,f)=>{if(e[d]===!0){let l=`${d},`;i(l,f)}},s=(d,f)=>{let l=e[d];if(l!==void 0){let g=`prop=${`\"${l.replace(\"\\\\\",\"\\\\\\\\\").replace('\"','\\\\\"')}\"`},`;i(g,f)}},u=(d,f)=>{let l=e[d];if(l!==void 0){let c=`prop=${l},`;i(c,f)}};return a(\"bl\",\"request\"),a(\"br\",\"object\"),o(\"bs\",\"status\"),s(\"cid\",\"session\"),a(\"d\",\"object\"),a(\"dl\",\"request\"),a(\"mtp\",\"request\"),s(\"nor\",\"request\"),s(\"nrr\",\"request\"),u(\"ot\",\"object\"),a(\"pr\",\"session\"),a(\"rtp\",\"status\"),u(\"sf\",\"session\"),s(\"sid\",\"session\"),u(\"st\",\"session\"),o(\"su\",\"request\"),a(\"tb\",\"object\"),this._typePreference===0?(t.object[t.object.length-1]===\",\"&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===\",\"&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===\",\"&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===\",\"&&(t.status=t.status.substring(0,t.status.length-1)),m.debug(\"CMCD: proposing headers payload\"),{type:\"headers\",value:{\"CMCD-Object\":t.object,\"CMCD-Request\":t.request,\"CMCD-Session\":t.session,\"CMCD-Status\":t.status}}):(r[r.length-1]===\",\"&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),m.debug(\"CMCD: proposing query string payload\",r),{type:\"query\",value:[[\"CMCD\",r]]})}};var Gs=Qn;function ot(n){return n instanceof ae?new Ke(\"PIPELINE_LOAD_ERROR\",n):be(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function cf(n){return n instanceof ae?n.type===yt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===yt.TIMEOUT||n.type===yt.ERROR_EVENT:n instanceof Ge?typeof n.canRetry==\"boolean\"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412:!1:Dt(n)&&n.code===\"INTEGRITY_ERROR\"}async function Da(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:a,maxDelay:o,maxRetry:s,onRetry:u}=r;n!==null&&n.length===0&&m.warn(\"Fetchers: no CDN given to `scheduleRequestWithCdns`.\");let d=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return c(f);function l(){if(n===null){let b=d.get(null);return b!==void 0&&b.isBlacklisted?void 0:null}else{if(e===null)return h(n);{let b=e.getCdnPreferenceForResource(n);return h(b)}}}async function c(b){try{return await t(b,i)}catch(y){if(W.isCancellationError(y))throw y;b!==null&&e!==null&&e.downgradeCdn(b);let E=d.get(b);if(E===void 0?(E={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},d.set(b,E)):E.errorCounter++,!cf(y))return E.blockedUntil=void 0,E.isBlacklisted=!0,g(y);if(E.errorCounter>s)E.blockedUntil=void 0,E.isBlacklisted=!0;else{let v=E.errorCounter,_=Math.min(a*Math.pow(2,v-1),o),C=Ii(_);E.blockedUntil=L()+C}return g(y)}}async function g(b){let y=l();if(i.isCancelled())throw i.cancellationError;if(y===void 0)throw b;if(u(b),i.isCancelled())throw i.cancellationError;return p(y,b)}function p(b,y){let E=d.get(b);if(E===void 0||E.blockedUntil===void 0)return c(b);let v=L(),_=E.blockedUntil-v;if(_<=0)return c(b);let C=new W,R=C.linkToSignal(i);return new Promise((k,A)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let O=l();if(i.isCancelled())throw i.cancellationError;if(O===void 0)return x(y);O!==b&&(C.cancel(),p(O,y).then(T,x))},C.signal),nn(_,C.signal).then(()=>c(b).then(T,x),B);function T(O){R(),k(O)}function x(O){R(),A(O)}})}function h(b){var E;if(d.size===0)return b[0];let y=L();return(E=b.filter(v=>{var _;return((_=d.get(v))==null?void 0:_.isBlacklisted)!==!0}).reduce((v,_)=>{var R;let C=(R=d.get(_))==null?void 0:R.blockedUntil;return C!==void 0&&C<=y&&(C=void 0),v===void 0?[_,C]:v[1]===void 0?v:C===void 0?[_,void 0]:C<v[1]?[_,C]:v},void 0))==null?void 0:E[0]}}function Ba(n,e,t){return Da(null,null,n,e,t)}var $n=class extends se{constructor(e,t,r){super(),this.scheduleManualRefresh=B,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new W,this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(){this._canceller.cancel(),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Lt?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger(\"manifestReady\",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var d;let t=this._canceller.signal,r=this._settings,i=this._transportName,a=this._pipelines,o=e!=null?e:(d=this._manifestUrls)==null?void 0:d[0],s=this._getBackoffSetting(f=>{this.trigger(\"warning\",ot(f))});try{let f=await u(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw ot(f)}function u(f){var b;let{loadManifest:l}=a,c=r.requestTimeout===void 0?F.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?F.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;c<0&&(c=void 0),g<0&&(g=void 0);let p={timeout:c,connectionTimeout:g,cmcdPayload:(b=r.cmcdDataBuilder)==null?void 0:b.getCmcdDataForManifest(i)};return Ba(()=>l(f,p,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var h;let i=L(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:u}=e,d=this._getBackoffSetting(b=>{this.trigger(\"warning\",ot(b))}),f=r!=null?r:(h=this._manifestUrls)==null?void 0:h[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let b=this._pipelines.parseManifest(e,l,g,a,c);if(mf(b)){let{manifest:y,warnings:E}=await b;return p(y,E)}else return p(b.manifest,b.warnings)}catch(b){throw be(b,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function c(b){try{return await Ba(b,d,a)}catch(y){throw ot(y)}}function g(b){for(let y of b){if(a.isCancelled())return;let E=be(y,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",E)}}function p(b,y){g(y);let E=L()-i;return m.info(`MF: Manifest parsed in ${E}ms`),{manifest:b,sendingTime:s,receivedTime:u,parsingTime:E}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=F.getCurrent(),{lowLatencyMode:a,maxRetry:o}=this._settings,s=a?r.LOW_LATENCY:r.REGULAR,u=a?i.LOW_LATENCY:i.REGULAR,d=o!=null?o:t;return{onRetry:e,baseDelay:s,maxDelay:u,maxRetry:d}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:a,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:o}=F.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,u=!1;this._consecutiveUnsafeMode>0?u=this._consecutiveUnsafeMode<a:s!==void 0&&(u=s>=o);let d=t===void 0?0:L()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-d,0),l=new W;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=c=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:h}=c,b=h&&u,y=t===void 0?0:L()-t,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),v=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:b})},Math.max((p!=null?p:0)-y,E));l.signal.register(()=>{clearTimeout(v)})},e.expired!==null){let c=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},B)},f);l.signal.register(()=>{clearTimeout(c)})}if(e.lifetime!==void 0&&e.lifetime>=0){let c=e.lifetime*1e3-d,g;s===void 0?g=c:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-d,Math.max(c,0)+s),c*6),m.info(\"MUS: Manifest update rythm is too frequent. Postponing next request.\",c,g)):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(c,0)+s,c*6),m.info(\"MUS: Manifest took too long to parse. Postponing next request\",g,g)):g=c;let p=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},Math.max(g,f));l.signal.register(()=>{clearTimeout(p)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,a,o;this._prioritizedContentUrl!==null?(a=!0,o=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(a=!t||i===void 0,o=a?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,m.info('Init: Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(m.info('Init: Not parsing the Manifest in \"unsafeMode\" anymore after '+String(this._consecutiveUnsafeMode)+\" consecutive times.\"),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(o).then(u=>u.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(u=>{this._isRefreshPending=!1;let{manifest:d,sendingTime:f,parsingTime:l}=u,c=L();if(a)e.replace(d);else try{e.update(d)}catch(p){let h=p instanceof Error?p.message:\"unknown error\";m.warn(`MUS: Attempt to update Manifest failed: ${h}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:b}=F.getCurrent(),y=f===void 0?0:L()-f,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),v=B,_=setTimeout(()=>{v(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(b-y,E));v=this._canceller.signal.register(()=>{clearTimeout(_)});return}let g=L()-c;this._recursivelyRefreshManifest(e,{sendingTime:f,parsingTime:l,updatingTime:g})}).catch(u=>{this._isRefreshPending=!1,this._onFatalError(u)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger(\"error\",e),this.dispose())}};function mf(n){return n instanceof Promise}var Na=$n;var Xn=class extends se{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=Ks(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=F.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let a=setTimeout(()=>{let o=Ks(this._downgradedCdnList.metadata,e);o>=0&&this._removeIndexFromDowngradeList(o),this.trigger(\"priorityChange\",null)},i);this._downgradedCdnList.timeouts.push(a),this.trigger(\"priorityChange\",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,a)=>(this._downgradedCdnList.metadata.some(o=>o.id===a.id&&o.baseUrl===a.baseUrl)?i[1].push(a):i[0].push(a),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function Ks(n,e){return n.length===0?-1:e.id!==void 0?re(n,t=>t.id===e.id):re(n,t=>t.baseUrl===e.baseUrl)}function Ua(n,e){let t=new WeakMap;return{createRequest(r,i,a,o){let s=d=>e(r,a,d),u=n.create(s,i,a,o);return t.set(u,s),u},updatePriority(r,i){let a=t.get(r);if(a===void 0){m.warn(\"Fetchers: Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var La=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},js=La;var pf=Ce();function Fa({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:a}){let o;a.connectionTimeout===void 0||a.connectionTimeout<0?o=void 0:o=a.connectionTimeout;let s={timeout:a.requestTimeout<0?void 0:a.requestTimeout,connectionTimeout:o,cmcdPayload:void 0},u=ce([\"audio\",\"video\"],n)?new js:void 0,{loadSegment:d,parseSegment:f}=e;return async function(c,g,p){var ee,G,H;let{segment:h,adaptation:b,representation:y,manifest:E,period:v}=c,_=_t(c),C=pf(),R,k=[],A=0,T=!1,x={segment:h,type:b.type,language:b.language,isLive:E.isLive,periodStart:v.start,periodEnd:v.end,mimeType:y.mimeType,codecs:y.codecs[0],manifestPublishTime:E.publishTime},O={onProgress(V){var Q;R===void 0&&V.totalSize!==void 0&&V.size<V.totalSize&&((Q=i.onProgress)==null||Q.call(i,{duration:V.duration,size:V.size,totalSize:V.totalSize,timestamp:L(),id:C}))},onNewChunk(V){g.onChunk(N(V,!0))}},D=u!==void 0?u.get(c):null;if(D!==null)return m.debug(\"SF: Found wanted segment in cache\",_),g.onChunk(N(D,!1)),Promise.resolve();m.debug(\"SF: Beginning request\",_),(ee=i.onRequestBegin)==null||ee.call(i,{requestTimestamp:L(),id:C,content:c}),p.register(w);try{let V=await Da(c.representation.cdnMetadata,t,M,q({onRetry:U},a),p);if(V.resultType===\"segment-loaded\"){let Q=V.resultData.responseData;u!==void 0&&u.add(c,V.resultData.responseData),g.onChunk(N(Q,!1))}else V.resultType===\"segment-created\"&&g.onChunk(N(V.resultData,!1));m.debug(\"SF: Segment request ended with success\",_),g.onAllChunksReceived(),V.resultType!==\"segment-created\"?(R=V.resultData,K()):R=null,p.isCancelled()||(G=i.onRequestEnd)==null||G.call(i,{id:C}),p.deregister(w)}catch(V){throw p.deregister(w),R=null,V instanceof oe?(m.debug(\"SF: Segment request aborted\",_),V):(m.debug(\"SF: Segment request failed\",_),(H=i.onRequestEnd)==null||H.call(i,{id:C}),ot(V))}function w(){var V;R===void 0&&(m.debug(\"SF: Segment request cancelled\",_),R=null,(V=i.onRequestEnd)==null||V.call(i,{id:C}))}function M(V){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(c),d(V,x,s,p,O)}function N(V,Q){k.push(!1);let le=k.length-1;return function(me){let $e={data:V,isChunked:Q};try{let we=f($e,x,me);return k[le]||(A=A!==void 0&&we.segmentType===\"media\"&&we.chunkInfos!==null&&we.chunkInfos.duration!==void 0?A+we.chunkInfos.duration:void 0,k[le]=!0,K()),we}catch(we){throw be(we,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}}function U(V){g.onRetry(ot(V))}function K(){var V;T||!P(R)&&R.size!==void 0&&R.requestDuration!==void 0&&k.length>0&&k.every(Q=>Q)&&(T=!0,(V=i.onMetrics)==null||V.call(i,{size:R.size,requestDuration:R.requestDuration,content:c,segmentDuration:A}))}}}function Ys({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:a,DEFAULT_CONNECTION_TIMEOUT:o,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:u}=F.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?u.LOW_LATENCY:u.REGULAR,requestTimeout:t===void 0?a:t,connectionTimeout:r===void 0?o:r}}var Zn=class extends se{constructor(e){super(),this._segmentFetcher=e,this._currentContentInfo=null}getRequestedInitSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.initSegmentRequest)==null?void 0:t.segment)!=null?r:null}getRequestedMediaSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.mediaSegmentRequest)==null?void 0:t.segment)!=null?r:null}resetForContent(e,t){var o;(o=this._currentContentInfo)==null||o.currentCanceller.cancel();let r=new j({initSegment:null,segmentQueue:[]}),i=new W;i.signal.register(()=>{r.finish()});let a={content:e,downloadQueue:r,initSegmentInfoRef:t?new j(void 0):new j(null),currentCanceller:i,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=a,r.onUpdate(s=>{let{segmentQueue:u}=s;if(u.length>0&&u[0].segment.id===a.mediaSegmentAwaitingInitMetadata)return;let d=a.mediaSegmentRequest;if(u.length===0){if(d===null)return;m.debug(\"SQ: no more media segment to request. Cancelling queue.\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}else if(d===null){m.debug(\"SQ: Media segments now need to be requested. Starting queue.\",e.adaptation.type,u.length),this._restartMediaSegmentDownloadingQueue(a);return}else{let f=u[0];if(d.segment.id!==f.segment.id){m.debug(\"SQ: Next media segment changed, cancelling previous\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}d.priority!==f.priority&&(m.debug(\"SQ: Priority of next media segment changed, updating\",e.adaptation.type,d.priority,f.priority),this._segmentFetcher.updatePriority(d.request,f.priority));return}},{emitCurrentValue:!0,clearSignal:i.signal}),r.onUpdate(s=>{var d;let u=a.initSegmentRequest;if(s.initSegment!==null&&u!==null){s.initSegment.priority!==u.priority&&this._segmentFetcher.updatePriority(u.request,s.initSegment.priority);return}else if(((d=s.initSegment)==null?void 0:d.segment.id)===(u==null?void 0:u.segment.id))return;s.initSegment===null&&m.debug(\"SQ: no more init segment to request. Cancelling queue.\",e.adaptation.type),this._restartInitSegmentDownloadingQueue(a,s.initSegment)},{emitCurrentValue:!0,clearSignal:i.signal}),r}stop(){var e;(e=this._currentContentInfo)==null||e.currentCanceller.cancel(),this._currentContentInfo=null}_restartMediaSegmentDownloadingQueue(e){e.mediaSegmentRequest!==null&&e.mediaSegmentRequest.canceller.cancel();let{downloadQueue:t,content:r,initSegmentInfoRef:i,currentCanceller:a}=e,o=()=>{var v;let{segmentQueue:s}=t.getValue(),u=s[0];if(a!==null&&a.isUsed()){e.mediaSegmentRequest=null;return}if(u===void 0){e.mediaSegmentRequest=null,this.trigger(\"emptyQueue\",null);return}let d=new W,f=a===null?B:d.linkToSignal(a.signal),{segment:l,priority:c}=u,g=q({segment:l,nextSegment:(v=s[1])==null?void 0:v.segment},r),p=!1,h=!1;d.signal.register(()=>{e.mediaSegmentRequest=null,!p&&(e.mediaSegmentAwaitingInitMetadata===l.id&&(e.mediaSegmentAwaitingInitMetadata=null),p=!0,h=!1)});let b=_=>{de(_.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",q({},_,{segment:l}))},y=()=>{let _=t.getValue().segmentQueue;if(_.length===0){p=!0,this.trigger(\"emptyQueue\",null);return}else _[0].segment.id===l.id&&_.shift();p=!0,o()},E=this._segmentFetcher.createRequest(g,c,{onRetry:_=>{this.trigger(\"requestRetry\",{segment:l,error:_})},beforeInterrupted(){m.info(\"SQ: segment request interrupted temporarly.\",l.id,l.time)},onChunk:_=>{let C=i.getValue();C!==void 0?b(_(C!=null?C:void 0)):(h=!0,i.waitUntilDefined(R=>{b(_(R!=null?R:void 0))},{clearSignal:d.signal}))},onAllChunksReceived:()=>{h?(e.mediaSegmentAwaitingInitMetadata=l.id,i.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,h=!1,this.trigger(\"fullyLoadedSegment\",l)},{clearSignal:d.signal})):this.trigger(\"fullyLoadedSegment\",l)},beforeEnded:()=>{f(),e.mediaSegmentRequest=null,h?i.waitUntilDefined(y,{clearSignal:d.signal}):y()}},d.signal);E.catch(_=>{f(),p||(p=!0,this.stop(),this.trigger(\"error\",_))}),e.mediaSegmentRequest={segment:l,priority:c,request:E,canceller:d}};o()}_restartInitSegmentDownloadingQueue(e,t){let{content:r,initSegmentInfoRef:i}=e;if(e.initSegmentRequest!==null&&e.initSegmentRequest.canceller.cancel(),t===null)return;let a=new W,o=e.currentCanceller===null?B:a.linkToSignal(e.currentCanceller.signal),{segment:s,priority:u}=t,d=q({segment:s,nextSegment:void 0},r),f=!1,l=this._segmentFetcher.createRequest(d,u,{onRetry:c=>{this.trigger(\"requestRetry\",{segment:s,error:c})},beforeInterrupted:()=>{m.info(\"SQ: init segment request interrupted temporarly.\",s.id)},beforeEnded:()=>{o(),e.initSegmentRequest=null,f=!0},onChunk:c=>{var p;let g=c(void 0);de(g.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",q({},g,{segment:s})),g.segmentType===\"init\"&&i.setValue((p=g.initTimescale)!=null?p:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",s)}},a.signal);l.catch(c=>{o(),f||(f=!0,this.stop(),this.trigger(\"error\",c))}),a.signal.register(()=>{e.initSegmentRequest=null,!f&&(f=!0)}),e.initSegmentRequest={segment:s,priority:u,request:l,canceller:a}}};var er=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"TP: the max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return Tt(i,(o,s)=>(a={hasEnded:!1,priority:t,trigger:()=>{if(a.hasEnded)return;let d=()=>{g(),this._endTask(a)},f=p=>{r.beforeEnded(),d(),o(p)},l=p=>{d(),s(p)},c=new W,g=c.linkToSignal(i);a.interrupter=c,c.signal.register(()=>{a.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?a.priority:Math.min(this._minPendingPriority,a.priority),this._pendingTasks.push(a),a.taskFn(c.signal).then(f).catch(p=>{!i.isCancelled()&&c.isUsed()&&p instanceof oe||l(p)})},taskFn:e,interrupter:null},this._canBeStartedNow(a)?(a.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(a),()=>this._endTask(a)))}_endTask(e){e.hasEnded=!0;let t=Jn(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=Jn(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=Jn(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=Jn(e,this._pendingTasks);if(i<0){m.warn(\"TP: request to update the priority of a non-existent task\");return}let a=this._pendingTasks[i];if(a.priority===t)return;let o=a.priority;a.priority=t,this._minPendingPriority===null||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===o&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e of this._pendingTasks)if(e.priority>=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(m.warn(\"TP : Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=Jn(e.taskFn,this._pendingTasks);if(t<0){m.warn(\"TP: Interrupting a non-existent pending task. Aborting...\");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel()}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function Jn(n,e){return re(e,t=>t.taskFn===n)}var tr=class{constructor(e,t,r,i){let a=new Xn(i),{MIN_CANCELABLE_PRIORITY:o,MAX_HIGH_PRIORITY_LEVEL:s}=F.getCurrent();this._transport=e,this._prioritizer=new er({prioritySteps:{high:s,low:o}}),this._cdnPrioritizer=a,this._backoffOptions=r,this._cmcdDataBuilder=t}createSegmentQueue(e,t){let r=Ys(this._backoffOptions),i=this._transport[e],a=Fa({bufferType:e,pipeline:i,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:r}),o=Ua(this._prioritizer,a);return new Zn(o)}};var za=tr;var nr=class{constructor(e){this._segmentSinksStore=e,this._currentFreezeTimestamp=null}needToReload(e){let{readyState:t,rebuffering:r,freezing:i}=e;if((e.bufferGap!==void 0&&isFinite(e.bufferGap)?e.bufferGap:0)<6||r===null&&i===null||t>1)return this._currentFreezeTimestamp=null,!1;let o=L();this._currentFreezeTimestamp===null&&(this._currentFreezeTimestamp=o);let s=r!==null&&o-r.timestamp>4e3,u=i!==null&&o-i.timestamp>4e3;if((s||u)&&L()-this._currentFreezeTimestamp>4e3){let d=this._segmentSinksStore.getStatus(\"audio\"),f=this._segmentSinksStore.getStatus(\"video\"),l=!0,c=!0;for(let g of[d,f])if(g.type===\"initialized\")for(let p of g.value.getLastKnownInventory()){let{representation:h}=p.infos;if(h.decipherable===!1)return m.warn(\"Init: we have undecipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0;h.contentProtections!==void 0&&(c=!1,h.decipherable!==!0&&(l=!1))}if(!c&&l)return m.warn(\"Init: we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0}return!1}};var{DEFAULT_WANTED_BUFFER_AHEAD:gf,DEFAULT_MAX_VIDEO_BUFFER_SIZE:hf,DEFAULT_MAX_BUFFER_AHEAD:If,DEFAULT_MAX_BUFFER_BEHIND:bf}=F.getCurrent(),Wa=new j(gf),Va=new j(hf),qa=new j(If),Ha=new j(bf),jr=new j({height:void 0,width:void 0,pixelRatio:1}),Yr=new j(1/0);function X(n,e){m.debug(\"<--- Sending to Main:\",n.type),e===void 0?postMessage(n):postMessage(n,e)}function Oe(n){return be(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}var rr=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,u,d,f,l,c;for(let g of this._refs.keys())(t=(e=this._refs.get(g))==null?void 0:e.audio)==null||t.trackReference.finish(),(i=(r=this._refs.get(g))==null?void 0:r.audio)==null||i.representations.finish(),(o=(a=this._refs.get(g))==null?void 0:a.video)==null||o.trackReference.finish(),(u=(s=this._refs.get(g))==null?void 0:s.video)==null||u.representations.finish(),(f=(d=this._refs.get(g))==null?void 0:d.text)==null||f.trackReference.finish(),(c=(l=this._refs.get(g))==null?void 0:l.text)==null||c.representations.finish();this._refs=new Map}addTrackSetter(e,t,r){var s,u;let i=this._refs.get(e);i===void 0&&(i={},this._refs.set(e,i)),i[t]!==void 0&&(m.warn(\"WP: Track for periodId already declared\",e,t),(s=i[t])==null||s.trackReference.finish(),(u=i[t])==null||u.representations.finish());let a=r.getValue(),o;P(a)?o=new j({representationIds:[],switchingMode:\"lazy\"}):(o=new j(a.representations.getValue()),r.setValue(q({},a,{representations:o}))),i[t]={trackReference:r,representations:o}}setTrack(e,t,r){var a;let i=(a=this._refs.get(e))==null?void 0:a[t];return i===void 0?(m.debug(\"WP: Setting track for inexistent periodId\",e,t),!1):(P(r)?(i.representations=new j({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new j(r.initialRepresentations),i.trackReference.setValue({adaptationId:r.adaptationId,switchingMode:r.switchingMode,representations:i.representations,relativeResumingPosition:r.relativeResumingPosition})),!0)}updateRepresentations(e,t,r,i){var s;let a=(s=this._refs.get(e))==null?void 0:s[r];if(a===void 0)return m.debug(\"WP: Setting track for inexistent periodId\",e,r),!1;let o=a.trackReference.getValue();return P(o)||o.adaptationId!==t?(m.debug(\"WP: Desynchronized Adaptation id\",o==null?void 0:o.adaptationId,t),!1):(a.representations.setValue(i),!0)}removeTrackSetter(e,t){let r=this._refs.get(e),i=r==null?void 0:r[t];return r===void 0||i===void 0?(m.debug(\"WP: Removing track setter for inexistent periodId\",e,t),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};var ir=class{constructor(e,t){this._contentId=e,this._messageSender=t,this._queues={pushTextData:[],remove:[]}}pushTextData(e){return new Promise((t,r)=>{this._messageSender({type:\"push-text-data\",contentId:this._contentId,value:e}),this._queues.pushTextData.push({resolve:t,reject:r})})}remove(e,t){return new Promise((r,i)=>{this._messageSender({type:\"remove-text-data\",contentId:this._contentId,value:{start:e,end:t}}),this._queues.remove.push({resolve:r,reject:i})})}reset(){this._messageSender({type:\"reset-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue()}stop(){this._messageSender({type:\"stop-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue()}_resetCurrentQueue(){let e=new oe;this._queues.pushTextData.forEach(t=>{t.reject(e)}),this._queues.remove.forEach(t=>{t.reject(e)})}onPushedTrackSuccess(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){m.error(\"WMS: remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}};var Qs=Ce(),Yt=class{constructor({hasMseInWorker:e,hasVideo:t}){this._currentContent=null,this._currentMediaSourceCanceller=new W,this._hasVideo=t,this._hasMseInWorker=e;let r=new W;this._contentCanceller=r}initializeNewContent(e){return new Promise((t,r)=>{var A,T;this.disposeCurrentContent();let i=this._contentCanceller,a=new W;this._currentMediaSourceCanceller=a,a.linkToSignal(i.signal);let{contentId:o,url:s,hasText:u,transportOptions:d}=e,f=null;de(ke.transports.dash!==void 0,\"Multithread RxPlayer should have access to the DASH feature\");let l=typeof d.representationFilter==\"string\"?Co(d.representationFilter):void 0,c=ke.transports.dash(ie(Z({},d),{representationFilter:l})),g=e.cmcd===void 0?null:new Gs(e.cmcd),p=new Na(s===void 0?void 0:[s],c,Z({cmcdDataBuilder:g},e.manifestRetryOptions)),h=Hs({initialBitrates:{audio:(A=e.initialAudioBitrate)!=null?A:0,video:(T=e.initialVideoBitrate)!=null?T:0},lowLatencyMode:d.lowLatencyMode,throttlers:{limitResolution:{video:jr},throttleBitrate:{video:Yr}}}),b=a.signal.register(x=>{r(x)}),y=new za(c,g,e.segmentRetryOptions,i.signal),E=new rr,[v,_,C]=$s(o,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:u},a.signal),R=new nr(_);this._currentContent={cmcdDataBuilder:g,contentId:o,decipherabilityFreezeDetector:R,mediaSource:v,manifest:null,manifestFetcher:p,representationEstimator:h,segmentSinksStore:_,segmentQueueCreator:y,workerTextSender:C,trackChoiceSetter:E},v.addEventListener(\"mediaSourceOpen\",function(){k()},a.signal),i.signal.register(()=>{p.dispose()}),p.addEventListener(\"warning\",x=>{X({type:\"warning\",contentId:o,value:Oe(x)})},i.signal),p.addEventListener(\"manifestReady\",x=>{if(f!==null){m.warn(\"WP: Multiple `manifestReady` events, ignoring\");return}f=x,this._currentContent!==null&&(this._currentContent.manifest=f),k()},a.signal),p.addEventListener(\"error\",x=>{r(x)},i.signal),p.start();function k(){if(f===null||v.readyState===\"closed\"||a.isUsed())return;let x=f.getMetadataSnapshot();f.addEventListener(\"manifestUpdate\",O=>{if(f===null)return;let D=q(f.getMetadataSnapshot(),{periods:[]});X({type:\"manifest-update\",contentId:o,value:{manifest:D,updates:O}})},i.signal),b(),t(x)}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(e){if(this._currentMediaSourceCanceller.cancel(),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),this._currentMediaSourceCanceller=new W,X({type:\"reloading-media-source\",contentId:this._currentContent.contentId,value:e},[]);let[t,r,i]=$s(this._currentContent.contentId,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:this._currentContent.workerTextSender!==null},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=t,this._currentContent.segmentSinksStore=r,this._currentContent.workerTextSender=i,new Promise((a,o)=>{t.addEventListener(\"mediaSourceOpen\",function(){a()},this._currentMediaSourceCanceller.signal),t.addEventListener(\"mediaSourceClose\",function(){o(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(s=>{o(s)})})}disposeCurrentContent(){this._contentCanceller.cancel(),this._contentCanceller=new W}};function $s(n,e,t){let r;if(e.hasMseInWorker){let s=new zn(Qs());r=s;let u,d=s.handle;if(d.type===\"handle\")u={type:\"handle\",value:d.value};else{let f=URL.createObjectURL(d.value);u={type:\"url\",value:f},t.register(()=>{URL.revokeObjectURL(f)})}X({type:\"attach-media-source\",contentId:n,value:u,mediaSourceId:r.id},[d.value])}else r=new Wn(Qs(),n,X);let i=e.hasText?new ir(n,X):null,{hasVideo:a}=e,o=new St(r,a,i);return t.register(()=>{o.disposeAll(),i==null||i.stop(),r.dispose()}),[r,o,i]}function Ga(){let n=!1,e=new Yt({hasMseInWorker:!1,hasVideo:!0}),t=null,r=new os;ke.dashParsers.wasm=r,ke.dashParsers.fastJs=Ko,ke.transports.dash=ps;let i=null;onmessage=function(a){var s,u;m.debug(\"Worker: received message\",a.data.type);let o=a.data;switch(o.type){case\"init\":de(!n),n=!0,$a(o.value),Xs(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs),o.value.dashWasmUrl!==void 0&&r.isCompatible()&&r.initialize({wasmUrl:o.value.dashWasmUrl}).catch(d=>{let f=d instanceof Error?d.toString():\"Unknown Error\";m.error(\"Worker: Could not initialize DASH_WASM parser\",f)}),(!o.value.hasVideo||o.value.hasMseInWorker)&&(e.disposeCurrentContent(),e=new Yt({hasMseInWorker:o.value.hasMseInWorker,hasVideo:o.value.hasVideo})),X({type:\"init-success\",value:null});break;case\"log-level-update\":Xs(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs);break;case\"prepare\":Sf(e,o.value);break;case\"start\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;t!==null&&(t.cancel(),t=null);let f=new W,l=new j(q(o.value.initialObservation,{position:new xt(...o.value.initialObservation.position)}));i=l,t=f,t.signal.register(()=>{l.finish()}),Zs(o.value,e,l,f.signal);break}case\"observation\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;let f=o.value,{buffered:l}=f,c=Pa(d.mediaSource,null);c.audio!==null&&(l.audio=c.audio),c.video!==null&&(l.video=c.video),i==null||i.setValue(q(f,{position:new xt(...o.value.position)}));break}case\"ref-update\":yf(o);break;case\"stop\":if(o.contentId!==((s=e.getCurrentContent())==null?void 0:s.contentId))return;e.disposeCurrentContent(),t!==null&&(t.cancel(),t=null);break;case\"sb-success\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;let{sourceBuffers:f}=d.mediaSource,l=Y(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Success for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationSuccess===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",o.sourceBufferType);return}l.onOperationSuccess(o.operationId,o.value.buffered);break}case\"sb-error\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;let{sourceBuffers:f}=d.mediaSource,l=Y(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Error for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationFailure===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",o.sourceBufferType);return}l.onOperationFailure(o.operationId,o.value);break}case\"media-source-ready-state-change\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;if(d.mediaSource.onMediaSourceReadyStateChanged===void 0){m.warn(\"WP: A MediaSourceInterface with MSE performed a cross-thread operation\");return}d.mediaSource.onMediaSourceReadyStateChanged(o.value);break}case\"decipherability-update\":{if(o.contentId!==((u=e.getCurrentContent())==null?void 0:u.contentId))return;let d=e.getCurrentContent();if(d===null||d.manifest===null)return;let f=o.value;d.manifest.updateRepresentationsDeciperability(l=>{for(let c of f)if(l.representation.uniqueId===c.representationUniqueId)return c.decipherable;return l.representation.decipherable});break}case\"codec-support-update\":{let d=e.getCurrentContent();if(d===null||d.manifest===null)return;let f=o.value;try{let l=d.manifest.updateCodecSupport(f);l!==null&&X({type:\"warning\",contentId:d.contentId,value:Oe(l)})}catch(l){X({type:\"error\",contentId:d.contentId,value:Oe(l)})}break}case\"urls-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.manifestFetcher.updateContentUrls(o.value.urls,o.value.refreshNow);break}case\"track-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.trackChoiceSetter.setTrack(o.value.periodId,o.value.bufferType,o.value.choice);break}case\"rep-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.trackChoiceSetter.updateRepresentations(o.value.periodId,o.value.adaptationId,o.value.bufferType,o.value.choice);break}case\"add-text-success\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Added text track but text track aren't enabled\");return}d.workerTextSender.onPushedTrackSuccess(o.value.ranges);break}case\"push-text-error\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Added text track but text track aren't enabled\");return}d.workerTextSender.onPushedTrackError(new Error(o.value.message));break}case\"remove-text-success\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Removed text track but text track aren't enabled\");return}d.workerTextSender.onRemoveSuccess(o.value.ranges);break}case\"remove-text-error\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){m.error(\"WP: Removed text track but text track aren't enabled\");return}d.workerTextSender.onRemoveError(new Error(o.value.message));break}case\"pull-segment-sink-store-infos\":{Tf(e,o.value.messageId);break}case\"config-update\":{F.update(o.value);break}default:Fe(o)}}}function Sf(n,e){n.initializeNewContent(e).then(t=>{X({type:\"manifest-ready\",contentId:e.contentId,value:{manifest:t}})},t=>{X({type:\"error\",contentId:e.contentId,value:Oe(t)})})}function yf(n){switch(n.value.name){case\"wantedBufferAhead\":Wa.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":Va.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":Ha.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":qa.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":jr.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":Yr.setValueIfChanged(n.value.newVal);break;default:Fe(n.value)}}function Zs(n,e,t,r){var A;let i=new W;i.linkToSignal(r);let a=new Map,o=e.getCurrentContent();if(o===null||o.manifest===null){let T=new Ie(\"NONE\",\"Loading content when none is prepared\");X({type:\"error\",contentId:void 0,value:Oe(T)});return}let{contentId:s,cmcdDataBuilder:u,manifest:d,mediaSource:f,representationEstimator:l,segmentSinksStore:c,segmentQueueCreator:g}=o,{drmSystemId:p,enableFastSwitching:h,initialTime:b,onCodecSwitch:y}=n;if(t.onUpdate(T=>{o.decipherabilityFreezeDetector.needToReload(T)&&k({timeOffset:0,minimumPosition:0,maximumPosition:1/0}),[\"video\",\"audio\",\"text\"].forEach(x=>{var D;let O=c.getStatus(x);O.type===\"initialized\"&&O.value.synchronizeInventory((D=T.buffered[x])!=null?D:[])})}),((A=d.getPeriodForTime(b))!=null?A:d.getNextPeriod(b))===void 0){let T=new $(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");X({type:\"error\",contentId:s,value:Oe(T)});return}let v=new Rn(t,s,X,i.signal);u==null||u.startMonitoringPlayback(v),i.signal.register(()=>{u==null||u.stopMonitoringPlayback()});let _=Ra(d,f,v,c,{onWarning:T=>X({type:\"warning\",contentId:s,value:Oe(T)}),onPeriodChanged:T=>{X({type:\"active-period-changed\",contentId:s,value:{periodId:T.id}})}},i.signal);Ds({initialPeriod:d.periods[0],manifest:d},v,l,c,g,{wantedBufferAhead:Wa,maxVideoBufferSize:Va,maxBufferAhead:qa,maxBufferBehind:Ha,drmSystemId:p,enableFastSwitching:h,onCodecSwitch:y},C(),i.signal);function C(){return{needsBufferFlush(T){X({type:\"needs-buffer-flush\",contentId:s,value:T})},streamStatusUpdate(T){R(T),d.isLastPeriodKnown&&T.period.id===d.periods[d.periods.length-1].id&&(T.hasFinishedLoading||T.isEmptyStream?_.onLastSegmentFinishedLoading(T.bufferType):_.onLastSegmentLoadingResume(T.bufferType))},needsManifestRefresh(){e.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:T}=F.getCurrent();e.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:T})},lockedStream(T){X({type:\"locked-stream\",contentId:s,value:{periodId:T.period.id,bufferType:T.bufferType}})},adaptationChange(T){var x,O;_.onAdaptationChange(T.type,T.period,T.adaptation),!i.signal.isCancelled()&&X({type:\"adaptation-changed\",contentId:s,value:{adaptationId:(O=(x=T.adaptation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},representationChange(T){var x,O;_.onRepresentationChange(T.type,T.period),!i.signal.isCancelled()&&X({type:\"representation-changed\",contentId:s,value:{adaptationId:T.adaptation.id,representationId:(O=(x=T.representation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},inbandEvent(T){X({type:\"inband-event\",contentId:s,value:T})},warning(T){X({type:\"warning\",contentId:s,value:Oe(T)})},periodStreamReady(T){o!==null&&(o.trackChoiceSetter.addTrackSetter(T.period.id,T.type,T.adaptationRef),X({type:\"period-stream-ready\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}}))},periodStreamCleared(T){if(o===null)return;let x=a.get(T.period);x!==void 0&&(x.delete(T.type),x.size===0&&a.delete(T.period)),_.onPeriodCleared(T.type,T.period),o.trackChoiceSetter.removeTrackSetter(T.period.id,T.type),X({type:\"period-stream-cleared\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}})},bitrateEstimateChange(T){var x;o!==null&&((x=o.cmcdDataBuilder)==null||x.updateThroughput(T.type,T.bitrate)),X({type:\"bitrate-estimate-change\",contentId:s,value:{bitrate:T.bitrate,bufferType:T.type}})},needsMediaSourceReload(T){k(T)},needsDecipherabilityFlush(){X({type:\"needs-decipherability-flush\",contentId:s,value:null})},encryptionDataEncountered(T){for(let x of T){let O=x.content,D=Z({},O);D.manifest instanceof Lt&&(D.manifest=D.manifest.getMetadataSnapshot()),D.period instanceof mt&&(D.period=D.period.getMetadataSnapshot()),D.adaptation instanceof dt&&(D.adaptation=D.adaptation.getMetadataSnapshot()),D.representation instanceof tn&&(D.representation=D.representation.getMetadataSnapshot()),X({type:\"encryption-data-encountered\",contentId:s,value:{keyIds:x.keyIds,values:x.values,content:D,type:x.type}})}},error(T){X({type:\"error\",contentId:s,value:Oe(T)})}}}function R(T){let{imminentDiscontinuity:x}=T,O=a.get(T.period),D=O==null?void 0:O.get(T.bufferType);if(D!==void 0){if(D.discontinuity===null){if(x===null)return}else if(x!==null&&D.discontinuity.start===x.start&&D.discontinuity.end===x.end)return}O===void 0&&(O=new Map,a.set(T.period,O));let w={periodId:T.period.id,bufferType:T.bufferType,discontinuity:T.imminentDiscontinuity,position:T.position};O.set(T.bufferType,w),X({type:\"discontinuity-update\",contentId:s,value:w})}function k(T){let O=t.getValue().position.getWanted();i!==null&&i.cancel(),e.reloadMediaSource(T).then(()=>{Zs({initialTime:O,drmSystemId:n.drmSystemId,enableFastSwitching:n.enableFastSwitching,onCodecSwitch:n.onCodecSwitch},e,t,r)},D=>{if(W.isCancellationError(D)){m.info(\"WP: A reloading operation was cancelled\");return}X({type:\"error\",contentId:s,value:Oe(D)})})}}function Xs(n,e,t){t?m.setLevel(n,\"standard\",(r,i)=>{let a=i.map(o=>o instanceof Error?Oe(o):o);postMessage({type:\"log\",value:{logLevel:r,logs:a}})}):m.setLevel(n,e)}function Tf(n,e){let t=n.getCurrentContent();if(t===null)return;let r=t.segmentSinksStore.getSegmentSinksMetrics();X({type:\"segment-sink-store-update\",contentId:t.contentId,value:{segmentSinkMetrics:r,messageId:e}})}var Js=Ga;Js();})();\n" + "})()"], { type: "application/javascript" });
5
5
  exports.EMBEDDED_WORKER = blob;
6
6
  exports.default = blob;