@mux/mux-player 2.5.0 → 2.6.0

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.
@@ -1,11 +1,11 @@
1
- "use strict";(()=>{var rh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var Ee=(i,e,t)=>(rh(i,e,"read from private field"),t?t.call(i):e.get(i)),Xe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Wt=(i,e,t,r)=>(rh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Je=(i,e,t)=>(rh(i,e,"access private method"),t);var sn=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends sn{}globalThis.DocumentFragment=i}var aa=class extends sn{},sh=class extends sn{},T1={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(aa)}},oa,nh=class{constructor(e,t={}){Xe(this,oa,void 0);Wt(this,oa,t==null?void 0:t.detail)}get detail(){return Ee(this,oa)}initCustomEvent(){}};oa=new WeakMap;function _1(i,e){return new aa}var uv={document:{createElement:_1},DocumentFragment,customElements:T1,CustomEvent:nh,EventTarget:sn,HTMLElement:aa,HTMLVideoElement:sh},cv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",$e=cv?uv:globalThis,Ft=cv?uv.document:globalThis.document;var F={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},ee={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},ah={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_CHAPTERS_CUES:"mediaChaptersCues"},hv=Object.entries(ah),b=hv.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{}),tr=hv.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),wM=Object.entries(tr).reduce((i,[e,t])=>{let r=b[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),fv=Object.entries(b).reduce((i,[e,t])=>{let r=tr[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),ri={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},Er={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var oh={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Bt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},si={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var mv={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var Ce={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},De={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},S1={...Ce,...De};function pv(i){return i==null?void 0:i.map(x1).join(" ")}function qo(i){return i==null?void 0:i.split(/\s+/).map(L1)}function x1(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function L1(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:t,height:r}}}function gv(i){return i==null?void 0:i.map(k1).join(" ")}function Yo(i){return i==null?void 0:i.split(/\s+/).map(I1)}function k1(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function I1(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function vv(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Ev(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function zo(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var jo=i=>new Promise(e=>setTimeout(e,i));var bv=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],R1=(i,e)=>{let t=i===1?bv[e].singular:bv[e].plural;return`${i} ${t}`},zr=i=>{if(!Ev(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&R1(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function _i(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var PM=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Xo=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Qo=class extends Xo{},lh=class{observe(){}unobserve(){}disconnect(){}},yv={createElement:function(){return new Zo.HTMLElement},createElementNS:function(){return new Zo.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},Zo={ResizeObserver:lh,document:yv,Node:Qo,HTMLElement:class extends Qo{},DocumentFragment:class extends Xo{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},Tv=typeof window=="undefined"||typeof window.customElements=="undefined",_v=Object.keys(Zo).every(i=>i in globalThis),A=Tv&&!_v?Zo:globalThis,P=Tv&&!_v?yv:globalThis.document;var Av=new WeakMap,dh=i=>{let e=Av.get(i);return e||Av.set(i,e=new Set),e},Sv=new A.ResizeObserver(i=>{for(let e of i)for(let t of dh(e.target))t(e)});function Vt(i,e){dh(i).add(e),Sv.observe(i)}function Ai(i,e){let t=dh(i);t.delete(e),t.size||Sv.unobserve(i)}function qe(i){var e;return(e=Jo(i))!=null?e:ni(i,"media-controller")}function Jo(i){var e;let{MEDIA_CONTROLLER:t}=ee,r=i.getAttribute(t);if(r)return(e=Xr(i))==null?void 0:e.getElementById(r)}var el=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},C1=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},tl=(i,e)=>C1(i,e)[0],bt=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:bt(i,e.getRootNode().host),ni=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||ni(i.getRootNode().host,e)};function jr(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=jr(t.shadowRoot))!=null?e:t:null}function Xr(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function xv(i,e=3){if(i.checkVisibility)return i.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0});let t=i;for(;t&&e>0;){let r=getComputedStyle(t);if(r.opacity==="0"||r.visibility==="hidden"||r.display==="none")return!1;t=t.parentElement,e--}return!0}function Lv(i,e,t,r){let s=uh(t,r),n=uh(t,{x:i,y:e}),a=uh(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function uh(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Te(i,e){let t=D1(i,r=>r===e);return t||ch(i,e)}function D1(i,e){var t;let r;for(r of i.querySelectorAll("style")){let s;try{s=(t=r.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(e(n.selectorText))return n}}function ch(i,e){var t,r;let s=(t=i.querySelectorAll("style"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function ve(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function _e(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}ve(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function Le(i,e){return i.hasAttribute(e)}function Ae(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}Le(i,e)!=t&&i.toggleAttribute(e,t)}function ue(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function le(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;ue(i,e,void 0)!==r&&i.setAttribute(e,r)}var kv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},br=(i,e,t)=>(kv(i,e,"read from private field"),t?t.call(i):e.get(i)),M1=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},il=(i,e,t,r)=>(kv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),wt,Iv=P.createElement("template");Iv.innerHTML=`
1
+ "use strict";(()=>{var rh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var Ee=(i,e,t)=>(rh(i,e,"read from private field"),t?t.call(i):e.get(i)),Xe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Wt=(i,e,t,r)=>(rh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Je=(i,e,t)=>(rh(i,e,"access private method"),t);var sn=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends sn{}globalThis.DocumentFragment=i}var aa=class extends sn{},sh=class extends sn{},T1={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(aa)}},oa,nh=class{constructor(e,t={}){Xe(this,oa,void 0);Wt(this,oa,t==null?void 0:t.detail)}get detail(){return Ee(this,oa)}initCustomEvent(){}};oa=new WeakMap;function _1(i,e){return new aa}var cv={document:{createElement:_1},DocumentFragment,customElements:T1,CustomEvent:nh,EventTarget:sn,HTMLElement:aa,HTMLVideoElement:sh},hv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",$e=hv?cv:globalThis,Ft=hv?cv.document:globalThis.document;var F={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},ee={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},ah={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_CHAPTERS_CUES:"mediaChaptersCues"},fv=Object.entries(ah),b=fv.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{}),tr=fv.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),wM=Object.entries(tr).reduce((i,[e,t])=>{let r=b[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),mv=Object.entries(b).reduce((i,[e,t])=>{let r=tr[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),ri={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},Er={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var oh={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Bt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},si={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var pv={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var Ce={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},De={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},S1={...Ce,...De};function gv(i){return i==null?void 0:i.map(x1).join(" ")}function qo(i){return i==null?void 0:i.split(/\s+/).map(L1)}function x1(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function L1(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:t,height:r}}}function vv(i){return i==null?void 0:i.map(k1).join(" ")}function Yo(i){return i==null?void 0:i.split(/\s+/).map(I1)}function k1(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function I1(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function Ev(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function bv(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function zo(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var jo=i=>new Promise(e=>setTimeout(e,i));var yv=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],R1=(i,e)=>{let t=i===1?yv[e].singular:yv[e].plural;return`${i} ${t}`},zr=i=>{if(!bv(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&R1(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function _i(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var PM=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Xo=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Qo=class extends Xo{},lh=class{observe(){}unobserve(){}disconnect(){}},Tv={createElement:function(){return new Zo.HTMLElement},createElementNS:function(){return new Zo.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},Zo={ResizeObserver:lh,document:Tv,Node:Qo,HTMLElement:class extends Qo{},DocumentFragment:class extends Xo{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},_v=typeof window=="undefined"||typeof window.customElements=="undefined",Av=Object.keys(Zo).every(i=>i in globalThis),A=_v&&!Av?Zo:globalThis,P=_v&&!Av?Tv:globalThis.document;var Sv=new WeakMap,dh=i=>{let e=Sv.get(i);return e||Sv.set(i,e=new Set),e},xv=new A.ResizeObserver(i=>{for(let e of i)for(let t of dh(e.target))t(e)});function Vt(i,e){dh(i).add(e),xv.observe(i)}function Ai(i,e){let t=dh(i);t.delete(e),t.size||xv.unobserve(i)}function qe(i){var e;return(e=Jo(i))!=null?e:ni(i,"media-controller")}function Jo(i){var e;let{MEDIA_CONTROLLER:t}=ee,r=i.getAttribute(t);if(r)return(e=Xr(i))==null?void 0:e.getElementById(r)}var el=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},C1=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},tl=(i,e)=>C1(i,e)[0],bt=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:bt(i,e.getRootNode().host),ni=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||ni(i.getRootNode().host,e)};function jr(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=jr(t.shadowRoot))!=null?e:t:null}function Xr(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function Lv(i,e=3){if(i.checkVisibility)return i.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0});let t=i;for(;t&&e>0;){let r=getComputedStyle(t);if(r.opacity==="0"||r.visibility==="hidden"||r.display==="none")return!1;t=t.parentElement,e--}return!0}function kv(i,e,t,r){let s=uh(t,r),n=uh(t,{x:i,y:e}),a=uh(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function uh(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Te(i,e){let t=D1(i,r=>r===e);return t||ch(i,e)}function D1(i,e){var t;let r;for(r of i.querySelectorAll("style")){let s;try{s=(t=r.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(e(n.selectorText))return n}}function ch(i,e){var t,r;let s=(t=i.querySelectorAll("style"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function ve(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function _e(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}ve(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function Le(i,e){return i.hasAttribute(e)}function Ae(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}Le(i,e)!=t&&i.toggleAttribute(e,t)}function ue(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function le(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;ue(i,e,void 0)!==r&&i.setAttribute(e,r)}var Iv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},br=(i,e,t)=>(Iv(i,e,"read from private field"),t?t.call(i):e.get(i)),M1=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},il=(i,e,t,r)=>(Iv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),wt,Rv=P.createElement("template");Rv.innerHTML=`
2
2
  <style>
3
3
  :host {
4
4
  display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));
5
5
  box-sizing: border-box;
6
6
  }
7
7
  </style>
8
- `;var hh=class extends A.HTMLElement{constructor(e={}){if(super(),M1(this,wt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=Iv.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=P.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[ee.MEDIA_CONTROLLER,b.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=br(this,wt))==null?void 0:s.unassociateElement)==null||n.call(s,this),il(this,wt,null)),r&&this.isConnected&&(il(this,wt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=br(this,wt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),il(this,wt,P1(this)),this.getAttribute(ee.MEDIA_CONTROLLER)&&((t=(e=br(this,wt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=br(this,wt))==null||r.addEventListener("pointerdown",this),(s=br(this,wt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(ee.MEDIA_CONTROLLER)&&((t=(e=br(this,wt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=br(this,wt))==null||r.removeEventListener("pointerdown",this),(s=br(this,wt))==null||s.removeEventListener("click",this),il(this,wt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===oh.TOUCH){this.handleTap(e);return}else if(f===oh.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?F.MEDIA_PLAY_REQUEST:F.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new A.CustomEvent(t,{composed:!0,bubbles:!0}))}};wt=new WeakMap;function P1(i){var e;let t=i.getAttribute(ee.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}A.customElements.get("media-gesture-receiver")||A.customElements.define("media-gesture-receiver",hh);var O1=Object.defineProperty,N1=(i,e,t)=>e in i?O1(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,U1=(i,e,t)=>(N1(i,typeof e!="symbol"?e+"":e,t),t),vh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},mh=(i,e,t)=>(vh(i,e,"read from private field"),t?t.call(i):e.get(i)),Qr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fh=(i,e,t,r)=>(vh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ai=(i,e,t)=>(vh(i,e,"access private method"),t),rl,nn,ph,Rv,gh,wv,la,sl,nl,Eh,an,da,fe={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},Cv=P.createElement("template");Cv.innerHTML=`
8
+ `;var hh=class extends A.HTMLElement{constructor(e={}){if(super(),M1(this,wt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=Rv.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=P.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[ee.MEDIA_CONTROLLER,b.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=br(this,wt))==null?void 0:s.unassociateElement)==null||n.call(s,this),il(this,wt,null)),r&&this.isConnected&&(il(this,wt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=br(this,wt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),il(this,wt,P1(this)),this.getAttribute(ee.MEDIA_CONTROLLER)&&((t=(e=br(this,wt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=br(this,wt))==null||r.addEventListener("pointerdown",this),(s=br(this,wt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(ee.MEDIA_CONTROLLER)&&((t=(e=br(this,wt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=br(this,wt))==null||r.removeEventListener("pointerdown",this),(s=br(this,wt))==null||s.removeEventListener("click",this),il(this,wt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===oh.TOUCH){this.handleTap(e);return}else if(f===oh.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?F.MEDIA_PLAY_REQUEST:F.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new A.CustomEvent(t,{composed:!0,bubbles:!0}))}};wt=new WeakMap;function P1(i){var e;let t=i.getAttribute(ee.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}A.customElements.get("media-gesture-receiver")||A.customElements.define("media-gesture-receiver",hh);var O1=Object.defineProperty,N1=(i,e,t)=>e in i?O1(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,U1=(i,e,t)=>(N1(i,typeof e!="symbol"?e+"":e,t),t),vh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},mh=(i,e,t)=>(vh(i,e,"read from private field"),t?t.call(i):e.get(i)),Qr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fh=(i,e,t,r)=>(vh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ai=(i,e,t)=>(vh(i,e,"access private method"),t),rl,nn,ph,wv,gh,Cv,la,sl,nl,Eh,an,da,fe={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},Dv=P.createElement("template");Dv.innerHTML=`
9
9
  <style>
10
10
 
11
11
  :host([${b.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
@@ -142,7 +142,7 @@
142
142
 
143
143
  <slot part="bottom chrome"></slot>
144
144
  </span>
145
- `;var F1=Object.values(b),B1="sm:384 md:576 lg:768 xl:960";function $1(i){H1(i.target,i.contentRect.width)}function H1(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(fe.BREAKPOINTS))!=null?t:B1,s=G1(r),n=W1(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(tr.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function G1(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function W1(i,e){return Object.keys(i).filter(t=>e>=i[t])}var ua=class extends A.HTMLElement{constructor(){super(),Qr(this,ph),Qr(this,gh),Qr(this,la),Qr(this,nl),Qr(this,an),Qr(this,rl,0),Qr(this,nn,void 0),U1(this,"breakpointsComputed",!1),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Cv.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Vt(this,a=>{r||(setTimeout(()=>{$1(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(tr.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){mh(this,nn)&&this.mediaUnsetCallback(mh(this,nn));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[fe.AUTOHIDE,fe.GESTURES_DISABLED].concat(F1).filter(e=>![b.MEDIA_RENDITION_LIST,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_CHAPTERS_CUES].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==fe.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(fh(this,nn,e),e.localName.includes("-")&&await A.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(fe.AUDIO)!=null?Ce.AUDIO_PLAYER():Ce.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(fe.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=A.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=A.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){fh(this,nn,null)}handleEvent(e){switch(e.type){case"pointerdown":fh(this,rl,e.timeStamp);break;case"pointermove":ai(this,ph,Rv).call(this,e);break;case"pointerup":ai(this,gh,wv).call(this,e);break;case"mouseleave":ai(this,la,sl).call(this);break;case"mouseup":this.removeAttribute(fe.KEYBOARD_CONTROL);break;case"keyup":ai(this,an,da).call(this),this.setAttribute(fe.KEYBOARD_CONTROL,"");break}}set autohide(e){e=Number(e),this._autohide=isNaN(e)?0:e}get autohide(){return this._autohide===void 0?2:this._autohide}};rl=new WeakMap;nn=new WeakMap;ph=new WeakSet;Rv=function(i){i.pointerType!=="mouse"&&i.timeStamp-mh(this,rl)<250||(ai(this,nl,Eh).call(this),clearTimeout(this._inactiveTimeout),[this,this.media].includes(i.target)&&ai(this,an,da).call(this))};gh=new WeakSet;wv=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(fe.USER_INACTIVE);[this,this.media].includes(i.target)&&e?ai(this,la,sl).call(this):ai(this,an,da).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&ai(this,an,da).call(this)};la=new WeakSet;sl=function(){if(this.autohide<0||this.hasAttribute(fe.USER_INACTIVE))return;this.setAttribute(fe.USER_INACTIVE,"");let i=new A.CustomEvent(tr.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};nl=new WeakSet;Eh=function(){if(!this.hasAttribute(fe.USER_INACTIVE))return;this.removeAttribute(fe.USER_INACTIVE);let i=new A.CustomEvent(tr.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};an=new WeakSet;da=function(){ai(this,nl,Eh).call(this),clearTimeout(this._inactiveTimeout),!(this.autohide<0)&&(this._inactiveTimeout=setTimeout(()=>{ai(this,la,sl).call(this)},this.autohide*1e3))};A.customElements.get("media-container")||A.customElements.define("media-container",ua);var Dv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},at=(i,e,t)=>(Dv(i,e,"read from private field"),t?t.call(i):e.get(i)),ca=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},al=(i,e,t,r)=>(Dv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),on,ln,ol,Zr,ir,yr,Kt=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ca(this,ir),ca(this,on,void 0),ca(this,ln,void 0),ca(this,ol,void 0),ca(this,Zr,new Set),al(this,on,e),al(this,ln,t),al(this,ol,new Set(r))}[Symbol.iterator](){return at(this,ir,yr).values()}get length(){return at(this,ir,yr).size}get value(){var e;return(e=[...at(this,ir,yr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(al(this,Zr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...at(this,ir,yr)][e]}values(){return at(this,ir,yr).values()}forEach(e){at(this,ir,yr).forEach(e)}add(...e){var t,r;e.forEach(s=>at(this,Zr).add(s)),!(this.value===""&&!((t=at(this,on))!=null&&t.hasAttribute(`${at(this,ln)}`)))&&((r=at(this,on))==null||r.setAttribute(`${at(this,ln)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>at(this,Zr).delete(r)),(t=at(this,on))==null||t.setAttribute(`${at(this,ln)}`,`${this.value}`)}contains(e){return at(this,ir,yr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};on=new WeakMap;ln=new WeakMap;ol=new WeakMap;Zr=new WeakMap;ir=new WeakSet;yr=function(){return at(this,Zr).size?at(this,Zr):at(this,ol)};var V1=(i="")=>i.split(/\s+/),Mv=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return e=e==="cc"?"captions":"subtitles",{kind:e,language:t,label:s}},rr=(i="",e={})=>V1(i).map(t=>{let r=Mv(t);return{...e,...r}}),bh=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?Mv(e):e):typeof i=="string"?rr(i):[i]:[],Jr=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,oi=(i=[])=>Array.prototype.map.call(i,Jr).join(" "),K1=(i,e)=>t=>t[i]===e,Pv=i=>{let e=Object.entries(i).map(([t,r])=>K1(t,r));return t=>e.every(r=>r(t))},es=(i,e=[],t=[])=>{let r=bh(t).map(Pv),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},ts=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:Pv(e);return Array.from(i.textTracks).filter(t)},ll=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(b.MEDIA_SUBTITLES_SHOWING)};var Oe={enter:"requestFullscreen",exit:"exitFullscreen",rootEvents:["fullscreenchange"],mediaEvents:[],element:"fullscreenElement",error:"fullscreenerror",enabled:"fullscreenEnabled"};P.fullscreenElement===void 0&&(Oe.enter="webkitRequestFullScreen",Oe.exit=P.webkitExitFullscreen!=null?"webkitExitFullscreen":"webkitCancelFullScreen",Oe.rootEvents=["webkitfullscreenchange"],Oe.mediaEvents=["webkitbeginfullscreen","webkitendfullscreen"],Oe.element="webkitFullscreenElement",Oe.error="webkitfullscreenerror",Oe.enabled="webkitFullscreenEnabled");var dl,yh=()=>{var i,e;return dl||(dl=(e=(i=P)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),dl)},Ov=async(i=yh())=>{if(!i)return!1;let e=i.volume;return i.volume=e/2+.1,await jo(0),i.volume!==e},q1=/.*Version\/.*Safari\/.*/.test(A.navigator.userAgent),Th=(i=yh())=>A.matchMedia("(display-mode: standalone)").matches&&q1?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",_h=(i=yh())=>{let e=P[Oe.enabled];return!e&&i&&(e="webkitSupportsFullscreen"in i),e},Nv=_h(),Uv=Th(),Fv=!!A.WebKitPlaybackTargetAvailabilityEvent,Bv=!!A.chrome;var dn=i=>ts(i.media,e=>[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Ah=i=>ts(i.media,e=>e.mode===Er.SHOWING&&[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)),ul=(i,e)=>{let t=dn(i),r=Ah(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)es(Er.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;es(Er.DISABLED,t,r),es(Er.SHOWING,t,[{language:o,label:l,kind:d}])}}},cl=(i,e)=>i===e?!0:typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?Y1(i,e):Object.entries(i).every(([t,r])=>t in e&&cl(r,e[t])),Y1=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>cl(s,e[n])):!0};var z1=Object.values(si),hl,j1=Ov().then(i=>(hl=i,hl)),$v=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof A.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=A.customElements.get(t);r&&e instanceof r||(await A.customElements.whenDefined(t),A.customElements.upgrade(e))}))},ha={mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?A.localStorage.removeItem("media-chrome-pref-volume"):A.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=A.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;ha.mediaVolume.set(+r,e),i(r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||t.readyState===0||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[si.LIVE,si.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(z1.includes(s))return s===si.UNKNOWN?r:s;let n=e.duration;return n===1/0?si.LIVE:Number.isFinite(n)?si.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=ha.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===si.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(ha.mediaStreamType.get(i)===si.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return dn(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Ah(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![ri.CAPTIONS,ri.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||ul(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=ts(t,{kind:ri.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{let{media:t}=e;if(!t)return;let r=t.querySelector('track[kind="chapters"][default][src]');return r==null||r.addEventListener("load",i),()=>{r==null||r.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?bt(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!P.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else P.pictureInPictureElement&&P.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;if(!r[Oe.element])return"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t?t.webkitDisplayingFullscreen&&t.webkitPresentationMode===mv.FULLSCREEN:!1;if(r[Oe.element]===s)return!0;if(r[Oe.element].localName.includes("-")){let n=r[Oe.element].shadowRoot;if(!(Oe.element in n))return bt(r[Oe.element],s);for(;n!=null&&n[Oe.element];){if(n[Oe.element]===s)return!0;n=(e=n[Oe.element])==null?void 0:e.shadowRoot}}return!1},set(i,e){var t,r;let{media:s,fullscreenElement:n,documentElement:a}=e;if(!i&&(a!=null&&a[Oe.exit])){let o=(t=a==null?void 0:a[Oe.exit])==null?void 0:t.call(a);o instanceof Promise&&o.catch(()=>{});return}if(n!=null&&n[Oe.enter]){let o=(r=n[Oe.enter])==null?void 0:r.call(n);o instanceof Promise&&o.catch(()=>{})}else s!=null&&s.webkitEnterFullscreen?s.webkitEnterFullscreen():s!=null&&s.requestFullscreen&&s.requestFullscreen()},rootEvents:Oe.rootEvents,mediaEvents:Oe.mediaEvents},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&A.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!Nv||!_h(e))return Bt.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!Uv||!Th(e))return Bt.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(hl===!1||(e==null?void 0:e.volume)==null)return Bt.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{hl==null&&j1.then(e=>i(e?void 0:Bt.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!Bv||!((t=r==null?void 0:r.remote)!=null&&t.state))return Bt.UNSUPPORTED;if(!(e==null||e==="available"))return Bt.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!Fv)return Bt.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Bt.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Bt.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Bt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Bt.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Bt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var Hv={[F.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=ts(a,{kind:ri.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(T=>+T),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[F.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[F.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===si.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[F.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[F.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[F.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[F.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[F.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[F.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))&&i[r].set(s,e)},[F.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=dn(e),a=bh(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&A.localStorage.setItem("media-chrome-pref-subtitles-lang",o),es(Er.SHOWING,n,a)},[F.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=dn(e),s=t!=null?t:[];es(Er.DISABLED,r,s)},[F.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){ul(e,t)},[F.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[F.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[F.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[F.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[F.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[F.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[F.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[F.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[F.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var X1=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=ha,requestMap:s=Hv,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(cl(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:T}])=>(g[E]=T(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,T,y,S,_,L,x,w,M,k,D,U,B,X,z,V;let se=!!f;if(f={...l,...f!=null?f:{},...p},se)return;await $v(...Object.values(p));let ae=o.length>0&&g===0&&a,W=l.media!==f.media,G=((E=l.media)==null?void 0:E.textTracks)!==((T=f.media)==null?void 0:T.textTracks),oe=((y=l.media)==null?void 0:y.videoRenditions)!==((S=f.media)==null?void 0:S.videoRenditions),Q=((_=l.media)==null?void 0:_.audioTracks)!==((L=f.media)==null?void 0:L.audioTracks),me=((x=l.media)==null?void 0:x.remote)!==((w=f.media)==null?void 0:w.remote),Pe=l.documentElement!==f.documentElement,Be=!!l.media&&(W||ae),Ke=!!((M=l.media)!=null&&M.textTracks)&&(G||ae),Lt=!!((k=l.media)!=null&&k.videoRenditions)&&(oe||ae),vr=!!((D=l.media)!=null&&D.audioTracks)&&(Q||ae),tn=!!((U=l.media)!=null&&U.remote)&&(me||ae),ev=!!l.documentElement&&(Pe||ae),tv=Be||Ke||Lt||vr||tn||ev,rn=o.length===0&&g===1&&a,iv=!!f.media&&(W||rn),rv=!!((B=f.media)!=null&&B.textTracks)&&(G||rn),sv=!!((X=f.media)!=null&&X.videoRenditions)&&(oe||rn),nv=!!((z=f.media)!=null&&z.audioTracks)&&(Q||rn),av=!!((V=f.media)!=null&&V.remote)&&(me||rn),ov=!!f.documentElement&&(Pe||rn),lv=iv||rv||sv||nv||av||ov;if(!(tv||lv)){Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0;return}Object.entries(r).forEach(([Re,{get:na,mediaEvents:m1=[],textTracksEvents:p1=[],videoRenditionsEvents:g1=[],audioTracksEvents:v1=[],remoteEvents:E1=[],rootEvents:b1=[],stateOwnersUpdateHandlers:y1=[]}])=>{h[Re]||(h[Re]={});let Nt=je=>{let Ut=na(l,je);u({[Re]:Ut})},nt;nt=h[Re].mediaEvents,m1.forEach(je=>{nt&&Be&&(l.media.removeEventListener(je,nt),h[Re].mediaEvents=void 0),iv&&(f.media.addEventListener(je,Nt),h[Re].mediaEvents=Nt)}),nt=h[Re].textTracksEvents,p1.forEach(je=>{var Ut,ii;nt&&Ke&&((Ut=l.media.textTracks)==null||Ut.removeEventListener(je,nt),h[Re].textTracksEvents=void 0),rv&&((ii=f.media.textTracks)==null||ii.addEventListener(je,Nt),h[Re].textTracksEvents=Nt)}),nt=h[Re].videoRenditionsEvents,g1.forEach(je=>{var Ut,ii;nt&&Lt&&((Ut=l.media.videoRenditions)==null||Ut.removeEventListener(je,nt),h[Re].videoRenditionsEvents=void 0),sv&&((ii=f.media.videoRenditions)==null||ii.addEventListener(je,Nt),h[Re].videoRenditionsEvents=Nt)}),nt=h[Re].audioTracksEvents,v1.forEach(je=>{var Ut,ii;nt&&vr&&((Ut=l.media.audioTracks)==null||Ut.removeEventListener(je,nt),h[Re].audioTracksEvents=void 0),nv&&((ii=f.media.audioTracks)==null||ii.addEventListener(je,Nt),h[Re].audioTracksEvents=Nt)}),nt=h[Re].remoteEvents,E1.forEach(je=>{var Ut,ii;nt&&tn&&((Ut=l.media.remote)==null||Ut.removeEventListener(je,nt),h[Re].remoteEvents=void 0),av&&((ii=f.media.remote)==null||ii.addEventListener(je,Nt),h[Re].remoteEvents=Nt)}),nt=h[Re].rootEvents,b1.forEach(je=>{nt&&ev&&(l.documentElement.removeEventListener(je,nt),h[Re].rootEvents=void 0),ov&&(f.documentElement.addEventListener(je,Nt),h[Re].rootEvents=Nt)});let dv=h[Re].stateOwnersUpdateHandlers;y1.forEach(je=>{dv&&tv&&dv(),lv&&(h[Re].stateOwnersUpdateHandlers=je(Nt,f))})}),Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([T,y])=>{l.options[T]=y})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},Gv=X1;var kh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},he=(i,e,t)=>(kh(i,e,"read from private field"),t?t.call(i):e.get(i)),sr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Tr=(i,e,t,r)=>(kh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_r=(i,e,t)=>(kh(i,e,"access private method"),t),Ar,fa,Ne,ma,Si,fl,ml,Sh,un,pa,pl,xh,Yv=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],Wv=10,pe={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},gl=class extends ua{constructor(){super(),sr(this,ml),sr(this,un),sr(this,pl),sr(this,Ar,new Kt(this,pe.HOTKEYS)),sr(this,fa,void 0),sr(this,Ne,void 0),sr(this,ma,void 0),sr(this,Si,void 0),sr(this,fl,t=>{var r;(r=he(this,Ne))==null||r.dispatch(t)}),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,this.associateElement(this);let e={};Tr(this,ma,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new A.CustomEvent(fv[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(pe.NO_HOTKEYS,pe.HOTKEYS,pe.DEFAULT_STREAM_TYPE,pe.DEFAULT_SUBTITLES,pe.DEFAULT_DURATION)}get mediaStore(){return he(this,Ne)}set mediaStore(e){var t,r;if(he(this,Ne)&&((t=he(this,Si))==null||t.call(this),Tr(this,Si,void 0)),Tr(this,Ne,e),!he(this,Ne)&&!this.hasAttribute(pe.NO_DEFAULT_STORE)){_r(this,ml,Sh).call(this);return}Tr(this,Si,(r=he(this,Ne))==null?void 0:r.subscribe(he(this,ma)))}get fullscreenElement(){var e;return(e=he(this,fa))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(pe.FULLSCREEN_ELEMENT)&&this.removeAttribute(pe.FULLSCREEN_ELEMENT),Tr(this,fa,e),(t=he(this,Ne))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===pe.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(pe.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===pe.HOTKEYS)he(this,Ar).value=r;else if(e===pe.DEFAULT_SUBTITLES&&r!==t)(s=he(this,Ne))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(pe.DEFAULT_SUBTITLES)}});else if(e===pe.DEFAULT_STREAM_TYPE)(a=he(this,Ne))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(pe.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===pe.LIVE_EDGE_OFFSET)(o=he(this,Ne))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(pe.LIVE_EDGE_OFFSET)?+this.getAttribute(pe.LIVE_EDGE_OFFSET):void 0}});else if(e===pe.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;Tr(this,fa,u),(d=he(this,Ne))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!he(this,Ne)&&!this.hasAttribute(pe.NO_DEFAULT_STORE)&&_r(this,ml,Sh).call(this),(e=he(this,Ne))==null||e.dispatch({type:"documentelementchangerequest",detail:P}),super.connectedCallback(),he(this,Ne)&&!he(this,Si)&&Tr(this,Si,(t=he(this,Ne))==null?void 0:t.subscribe(he(this,ma))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),he(this,Ne)&&((t=he(this,Ne))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=he(this,Ne))==null||r.dispatch({type:F.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),he(this,Si)&&((s=he(this,Si))==null||s.call(this),Tr(this,Si,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=he(this,Ne))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=he(this,Ne))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){qv(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=iS(e,r,s);Object.values(F).forEach(a=>{e.addEventListener(a,he(this,fl))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(F).forEach(s=>{e.removeEventListener(s,he(this,fl))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),he(this,Ne)&&Object.entries(he(this,Ne).getState()).forEach(([s,n])=>{qv([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",_r(this,pl,xh))}disableHotkeys(){this.removeEventListener("keydown",_r(this,pl,xh)),this.removeEventListener("keyup",_r(this,un,pa))}get hotkeys(){return he(this,Ar)}keyboardShortcutHandler(e){var t,r,s,n,a,o;if(((n=(s=(t=e.target.getAttribute(pe.KEYS_USED))==null?void 0:t.split(" "))!=null?s:(r=e.target)==null?void 0:r.keysUsed)!=null?n:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!he(this,Ar).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&he(this,Ar).contains("nospace")))switch(e.key){case" ":case"k":d=he(this,Ne).getState().mediaPaused?F.MEDIA_PLAY_REQUEST:F.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new A.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?F.MEDIA_UNMUTE_REQUEST:F.MEDIA_MUTE_REQUEST,this.dispatchEvent(new A.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?F.MEDIA_EXIT_FULLSCREEN_REQUEST:F.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new A.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new A.CustomEvent(F.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(pe.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(pe.KEYBOARD_BACKWARD_SEEK_OFFSET):Wv;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)-h,0),c=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(pe.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(pe.KEYBOARD_FORWARD_SEEK_OFFSET):Wv;u=Math.max(((o=this.mediaStore.getState().mediaCurrentTime)!=null?o:0)+h,0),c=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};Ar=new WeakMap;fa=new WeakMap;Ne=new WeakMap;ma=new WeakMap;Si=new WeakMap;fl=new WeakMap;ml=new WeakSet;Sh=function(){var i;this.mediaStore=Gv({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(pe.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(pe.DEFAULT_DURATION)?+this.getAttribute(pe.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(pe.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(pe.LIVE_EDGE_OFFSET)?+this.getAttribute(pe.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(pe.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(pe.NO_SUBTITLES_LANG_PREF)}})};un=new WeakSet;pa=function(i){let{key:e}=i;if(!Yv.includes(e)){this.removeEventListener("keyup",_r(this,un,pa));return}this.keyboardShortcutHandler(i)};pl=new WeakSet;xh=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!Yv.includes(r)){this.removeEventListener("keyup",_r(this,un,pa));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(he(this,Ar).contains(`no${r.toLowerCase()}`)||r===" "&&he(this,Ar).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",_r(this,un,pa),{once:!0})};var Q1=Object.values(b),Z1=Object.values(ah),zv=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(A.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,ee.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>Q1.includes(o)):[]},J1=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&A.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof A.customElements.get(i.nodeName.toLowerCase()))&&A.customElements.upgrade(i),Z1.some(r=>r in i)},Lh=i=>J1(i)||!!zv(i).length,Vv=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},Kv={[b.MEDIA_SUBTITLES_LIST]:oi,[b.MEDIA_SUBTITLES_SHOWING]:oi,[b.MEDIA_SEEKABLE]:Vv,[b.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(Vv).join(" "),[b.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[b.MEDIA_RENDITION_LIST]:pv,[b.MEDIA_AUDIO_TRACK_LIST]:gv},eS=async(i,e,t)=>{var r,s;if(i.isConnected||await jo(0),typeof t=="boolean"||t==null)return Ae(i,e,t);if(typeof t=="number")return _e(i,e,t);if(typeof t=="string")return le(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=Kv[e])==null?void 0:r.call(Kv,t))!=null?s:t;return i.setAttribute(e,n)},tS=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},is=(i,e)=>{if(tS(i))return;let t=(s,n)=>{var a,o;Lh(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>is(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Lh(i)){A.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},qv=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=zv(r),n=e.toLowerCase();s.includes(n)&&eS(r,n,t)})},iS=(i,e,t)=>{is(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener(F.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(F.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>is(E,e)),Array.prototype.forEach.call(f,E=>is(E,t))):m==="attributes"&&g===ee.MEDIA_CHROME_ATTRIBUTES&&(Lh(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>is(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>is(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{is(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener(F.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(F.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};A.customElements.get("media-controller")||A.customElements.define("media-controller",gl);var Ih=gl;var rS=Object.defineProperty,sS=(i,e,t)=>e in i?rS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,nS=(i,e,t)=>(sS(i,typeof e!="symbol"?e+"":e,t),t),jv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},qt=(i,e,t)=>(jv(i,e,"read from private field"),t?t.call(i):e.get(i)),vl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},El=(i,e,t,r)=>(jv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),xi,bl,cn,yl,Xv=P.createElement("template");Xv.innerHTML=`
145
+ `;var F1=Object.values(b),B1="sm:384 md:576 lg:768 xl:960";function $1(i){H1(i.target,i.contentRect.width)}function H1(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(fe.BREAKPOINTS))!=null?t:B1,s=G1(r),n=W1(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(tr.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function G1(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function W1(i,e){return Object.keys(i).filter(t=>e>=i[t])}var ua=class extends A.HTMLElement{constructor(){super(),Qr(this,ph),Qr(this,gh),Qr(this,la),Qr(this,nl),Qr(this,an),Qr(this,rl,0),Qr(this,nn,void 0),U1(this,"breakpointsComputed",!1),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Dv.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Vt(this,a=>{r||(setTimeout(()=>{$1(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(tr.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){mh(this,nn)&&this.mediaUnsetCallback(mh(this,nn));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[fe.AUTOHIDE,fe.GESTURES_DISABLED].concat(F1).filter(e=>![b.MEDIA_RENDITION_LIST,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_CHAPTERS_CUES].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==fe.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(fh(this,nn,e),e.localName.includes("-")&&await A.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(fe.AUDIO)!=null?Ce.AUDIO_PLAYER():Ce.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(fe.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=A.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=A.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){fh(this,nn,null)}handleEvent(e){switch(e.type){case"pointerdown":fh(this,rl,e.timeStamp);break;case"pointermove":ai(this,ph,wv).call(this,e);break;case"pointerup":ai(this,gh,Cv).call(this,e);break;case"mouseleave":ai(this,la,sl).call(this);break;case"mouseup":this.removeAttribute(fe.KEYBOARD_CONTROL);break;case"keyup":ai(this,an,da).call(this),this.setAttribute(fe.KEYBOARD_CONTROL,"");break}}set autohide(e){e=Number(e),this._autohide=isNaN(e)?0:e}get autohide(){return this._autohide===void 0?2:this._autohide}};rl=new WeakMap;nn=new WeakMap;ph=new WeakSet;wv=function(i){i.pointerType!=="mouse"&&i.timeStamp-mh(this,rl)<250||(ai(this,nl,Eh).call(this),clearTimeout(this._inactiveTimeout),[this,this.media].includes(i.target)&&ai(this,an,da).call(this))};gh=new WeakSet;Cv=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(fe.USER_INACTIVE);[this,this.media].includes(i.target)&&e?ai(this,la,sl).call(this):ai(this,an,da).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&ai(this,an,da).call(this)};la=new WeakSet;sl=function(){if(this.autohide<0||this.hasAttribute(fe.USER_INACTIVE))return;this.setAttribute(fe.USER_INACTIVE,"");let i=new A.CustomEvent(tr.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};nl=new WeakSet;Eh=function(){if(!this.hasAttribute(fe.USER_INACTIVE))return;this.removeAttribute(fe.USER_INACTIVE);let i=new A.CustomEvent(tr.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};an=new WeakSet;da=function(){ai(this,nl,Eh).call(this),clearTimeout(this._inactiveTimeout),!(this.autohide<0)&&(this._inactiveTimeout=setTimeout(()=>{ai(this,la,sl).call(this)},this.autohide*1e3))};A.customElements.get("media-container")||A.customElements.define("media-container",ua);var Mv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},at=(i,e,t)=>(Mv(i,e,"read from private field"),t?t.call(i):e.get(i)),ca=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},al=(i,e,t,r)=>(Mv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),on,ln,ol,Zr,ir,yr,Kt=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ca(this,ir),ca(this,on,void 0),ca(this,ln,void 0),ca(this,ol,void 0),ca(this,Zr,new Set),al(this,on,e),al(this,ln,t),al(this,ol,new Set(r))}[Symbol.iterator](){return at(this,ir,yr).values()}get length(){return at(this,ir,yr).size}get value(){var e;return(e=[...at(this,ir,yr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(al(this,Zr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...at(this,ir,yr)][e]}values(){return at(this,ir,yr).values()}forEach(e){at(this,ir,yr).forEach(e)}add(...e){var t,r;e.forEach(s=>at(this,Zr).add(s)),!(this.value===""&&!((t=at(this,on))!=null&&t.hasAttribute(`${at(this,ln)}`)))&&((r=at(this,on))==null||r.setAttribute(`${at(this,ln)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>at(this,Zr).delete(r)),(t=at(this,on))==null||t.setAttribute(`${at(this,ln)}`,`${this.value}`)}contains(e){return at(this,ir,yr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};on=new WeakMap;ln=new WeakMap;ol=new WeakMap;Zr=new WeakMap;ir=new WeakSet;yr=function(){return at(this,Zr).size?at(this,Zr):at(this,ol)};var V1=(i="")=>i.split(/\s+/),Pv=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return e=e==="cc"?"captions":"subtitles",{kind:e,language:t,label:s}},rr=(i="",e={})=>V1(i).map(t=>{let r=Pv(t);return{...e,...r}}),bh=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?Pv(e):e):typeof i=="string"?rr(i):[i]:[],Jr=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,oi=(i=[])=>Array.prototype.map.call(i,Jr).join(" "),K1=(i,e)=>t=>t[i]===e,Ov=i=>{let e=Object.entries(i).map(([t,r])=>K1(t,r));return t=>e.every(r=>r(t))},es=(i,e=[],t=[])=>{let r=bh(t).map(Ov),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},ts=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:Ov(e);return Array.from(i.textTracks).filter(t)},ll=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(b.MEDIA_SUBTITLES_SHOWING)};var Oe={enter:"requestFullscreen",exit:"exitFullscreen",rootEvents:["fullscreenchange"],mediaEvents:[],element:"fullscreenElement",error:"fullscreenerror",enabled:"fullscreenEnabled"};P.fullscreenElement===void 0&&(Oe.enter="webkitRequestFullScreen",Oe.exit=P.webkitExitFullscreen!=null?"webkitExitFullscreen":"webkitCancelFullScreen",Oe.rootEvents=["webkitfullscreenchange"],Oe.mediaEvents=["webkitbeginfullscreen","webkitendfullscreen"],Oe.element="webkitFullscreenElement",Oe.error="webkitfullscreenerror",Oe.enabled="webkitFullscreenEnabled");var dl,yh=()=>{var i,e;return dl||(dl=(e=(i=P)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),dl)},Nv=async(i=yh())=>{if(!i)return!1;let e=i.volume;return i.volume=e/2+.1,await jo(0),i.volume!==e},q1=/.*Version\/.*Safari\/.*/.test(A.navigator.userAgent),Th=(i=yh())=>A.matchMedia("(display-mode: standalone)").matches&&q1?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",_h=(i=yh())=>{let e=P[Oe.enabled];return!e&&i&&(e="webkitSupportsFullscreen"in i),e},Uv=_h(),Fv=Th(),Bv=!!A.WebKitPlaybackTargetAvailabilityEvent,$v=!!A.chrome;var dn=i=>ts(i.media,e=>[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Ah=i=>ts(i.media,e=>e.mode===Er.SHOWING&&[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)),ul=(i,e)=>{let t=dn(i),r=Ah(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)es(Er.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;es(Er.DISABLED,t,r),es(Er.SHOWING,t,[{language:o,label:l,kind:d}])}}},cl=(i,e)=>i===e?!0:typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?Y1(i,e):Object.entries(i).every(([t,r])=>t in e&&cl(r,e[t])),Y1=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>cl(s,e[n])):!0};var z1=Object.values(si),hl,j1=Nv().then(i=>(hl=i,hl)),Hv=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof A.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=A.customElements.get(t);r&&e instanceof r||(await A.customElements.whenDefined(t),A.customElements.upgrade(e))}))},ha={mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?A.localStorage.removeItem("media-chrome-pref-volume"):A.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=A.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;ha.mediaVolume.set(+r,e),i(r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||t.readyState===0||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[si.LIVE,si.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(z1.includes(s))return s===si.UNKNOWN?r:s;let n=e.duration;return n===1/0?si.LIVE:Number.isFinite(n)?si.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=ha.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===si.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(ha.mediaStreamType.get(i)===si.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return dn(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Ah(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![ri.CAPTIONS,ri.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||ul(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=ts(t,{kind:ri.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{let{media:t}=e;if(!t)return;let r=t.querySelector('track[kind="chapters"][default][src]');return r==null||r.addEventListener("load",i),()=>{r==null||r.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?bt(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!P.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else P.pictureInPictureElement&&P.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;if(!r[Oe.element])return"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t?t.webkitDisplayingFullscreen&&t.webkitPresentationMode===pv.FULLSCREEN:!1;if(r[Oe.element]===s)return!0;if(r[Oe.element].localName.includes("-")){let n=r[Oe.element].shadowRoot;if(!(Oe.element in n))return bt(r[Oe.element],s);for(;n!=null&&n[Oe.element];){if(n[Oe.element]===s)return!0;n=(e=n[Oe.element])==null?void 0:e.shadowRoot}}return!1},set(i,e){var t,r;let{media:s,fullscreenElement:n,documentElement:a}=e;if(!i&&(a!=null&&a[Oe.exit])){let o=(t=a==null?void 0:a[Oe.exit])==null?void 0:t.call(a);o instanceof Promise&&o.catch(()=>{});return}if(n!=null&&n[Oe.enter]){let o=(r=n[Oe.enter])==null?void 0:r.call(n);o instanceof Promise&&o.catch(()=>{})}else s!=null&&s.webkitEnterFullscreen?s.webkitEnterFullscreen():s!=null&&s.requestFullscreen&&s.requestFullscreen()},rootEvents:Oe.rootEvents,mediaEvents:Oe.mediaEvents},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&A.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!Uv||!_h(e))return Bt.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!Fv||!Th(e))return Bt.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(hl===!1||(e==null?void 0:e.volume)==null)return Bt.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{hl==null&&j1.then(e=>i(e?void 0:Bt.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!$v||!((t=r==null?void 0:r.remote)!=null&&t.state))return Bt.UNSUPPORTED;if(!(e==null||e==="available"))return Bt.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!Bv)return Bt.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Bt.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Bt.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Bt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Bt.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Bt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var Gv={[F.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=ts(a,{kind:ri.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(T=>+T),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[F.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[F.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===si.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[F.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[F.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[F.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[F.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[F.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[F.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))&&i[r].set(s,e)},[F.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=dn(e),a=bh(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&A.localStorage.setItem("media-chrome-pref-subtitles-lang",o),es(Er.SHOWING,n,a)},[F.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=dn(e),s=t!=null?t:[];es(Er.DISABLED,r,s)},[F.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){ul(e,t)},[F.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[F.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[F.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[F.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[F.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[F.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[F.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[F.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[F.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var X1=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=ha,requestMap:s=Gv,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(cl(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:T}])=>(g[E]=T(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,T,y,S,_,L,x,w,M,k,D,U,B,X,z,V;let se=!!f;if(f={...l,...f!=null?f:{},...p},se)return;await Hv(...Object.values(p));let ae=o.length>0&&g===0&&a,W=l.media!==f.media,G=((E=l.media)==null?void 0:E.textTracks)!==((T=f.media)==null?void 0:T.textTracks),oe=((y=l.media)==null?void 0:y.videoRenditions)!==((S=f.media)==null?void 0:S.videoRenditions),Q=((_=l.media)==null?void 0:_.audioTracks)!==((L=f.media)==null?void 0:L.audioTracks),me=((x=l.media)==null?void 0:x.remote)!==((w=f.media)==null?void 0:w.remote),Pe=l.documentElement!==f.documentElement,Be=!!l.media&&(W||ae),Ke=!!((M=l.media)!=null&&M.textTracks)&&(G||ae),kt=!!((k=l.media)!=null&&k.videoRenditions)&&(oe||ae),vr=!!((D=l.media)!=null&&D.audioTracks)&&(Q||ae),tn=!!((U=l.media)!=null&&U.remote)&&(me||ae),tv=!!l.documentElement&&(Pe||ae),iv=Be||Ke||kt||vr||tn||tv,rn=o.length===0&&g===1&&a,rv=!!f.media&&(W||rn),sv=!!((B=f.media)!=null&&B.textTracks)&&(G||rn),nv=!!((X=f.media)!=null&&X.videoRenditions)&&(oe||rn),av=!!((z=f.media)!=null&&z.audioTracks)&&(Q||rn),ov=!!((V=f.media)!=null&&V.remote)&&(me||rn),lv=!!f.documentElement&&(Pe||rn),dv=rv||sv||nv||av||ov||lv;if(!(iv||dv)){Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0;return}Object.entries(r).forEach(([Re,{get:na,mediaEvents:m1=[],textTracksEvents:p1=[],videoRenditionsEvents:g1=[],audioTracksEvents:v1=[],remoteEvents:E1=[],rootEvents:b1=[],stateOwnersUpdateHandlers:y1=[]}])=>{h[Re]||(h[Re]={});let Nt=je=>{let Ut=na(l,je);u({[Re]:Ut})},nt;nt=h[Re].mediaEvents,m1.forEach(je=>{nt&&Be&&(l.media.removeEventListener(je,nt),h[Re].mediaEvents=void 0),rv&&(f.media.addEventListener(je,Nt),h[Re].mediaEvents=Nt)}),nt=h[Re].textTracksEvents,p1.forEach(je=>{var Ut,ii;nt&&Ke&&((Ut=l.media.textTracks)==null||Ut.removeEventListener(je,nt),h[Re].textTracksEvents=void 0),sv&&((ii=f.media.textTracks)==null||ii.addEventListener(je,Nt),h[Re].textTracksEvents=Nt)}),nt=h[Re].videoRenditionsEvents,g1.forEach(je=>{var Ut,ii;nt&&kt&&((Ut=l.media.videoRenditions)==null||Ut.removeEventListener(je,nt),h[Re].videoRenditionsEvents=void 0),nv&&((ii=f.media.videoRenditions)==null||ii.addEventListener(je,Nt),h[Re].videoRenditionsEvents=Nt)}),nt=h[Re].audioTracksEvents,v1.forEach(je=>{var Ut,ii;nt&&vr&&((Ut=l.media.audioTracks)==null||Ut.removeEventListener(je,nt),h[Re].audioTracksEvents=void 0),av&&((ii=f.media.audioTracks)==null||ii.addEventListener(je,Nt),h[Re].audioTracksEvents=Nt)}),nt=h[Re].remoteEvents,E1.forEach(je=>{var Ut,ii;nt&&tn&&((Ut=l.media.remote)==null||Ut.removeEventListener(je,nt),h[Re].remoteEvents=void 0),ov&&((ii=f.media.remote)==null||ii.addEventListener(je,Nt),h[Re].remoteEvents=Nt)}),nt=h[Re].rootEvents,b1.forEach(je=>{nt&&tv&&(l.documentElement.removeEventListener(je,nt),h[Re].rootEvents=void 0),lv&&(f.documentElement.addEventListener(je,Nt),h[Re].rootEvents=Nt)});let uv=h[Re].stateOwnersUpdateHandlers;y1.forEach(je=>{uv&&iv&&uv(),dv&&(h[Re].stateOwnersUpdateHandlers=je(Nt,f))})}),Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([T,y])=>{l.options[T]=y})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},Wv=X1;var kh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},he=(i,e,t)=>(kh(i,e,"read from private field"),t?t.call(i):e.get(i)),sr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Tr=(i,e,t,r)=>(kh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_r=(i,e,t)=>(kh(i,e,"access private method"),t),Ar,fa,Ne,ma,Si,fl,ml,Sh,un,pa,pl,xh,zv=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],Vv=10,pe={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},gl=class extends ua{constructor(){super(),sr(this,ml),sr(this,un),sr(this,pl),sr(this,Ar,new Kt(this,pe.HOTKEYS)),sr(this,fa,void 0),sr(this,Ne,void 0),sr(this,ma,void 0),sr(this,Si,void 0),sr(this,fl,t=>{var r;(r=he(this,Ne))==null||r.dispatch(t)}),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,this.associateElement(this);let e={};Tr(this,ma,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new A.CustomEvent(mv[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(pe.NO_HOTKEYS,pe.HOTKEYS,pe.DEFAULT_STREAM_TYPE,pe.DEFAULT_SUBTITLES,pe.DEFAULT_DURATION)}get mediaStore(){return he(this,Ne)}set mediaStore(e){var t,r;if(he(this,Ne)&&((t=he(this,Si))==null||t.call(this),Tr(this,Si,void 0)),Tr(this,Ne,e),!he(this,Ne)&&!this.hasAttribute(pe.NO_DEFAULT_STORE)){_r(this,ml,Sh).call(this);return}Tr(this,Si,(r=he(this,Ne))==null?void 0:r.subscribe(he(this,ma)))}get fullscreenElement(){var e;return(e=he(this,fa))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(pe.FULLSCREEN_ELEMENT)&&this.removeAttribute(pe.FULLSCREEN_ELEMENT),Tr(this,fa,e),(t=he(this,Ne))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===pe.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(pe.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===pe.HOTKEYS)he(this,Ar).value=r;else if(e===pe.DEFAULT_SUBTITLES&&r!==t)(s=he(this,Ne))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(pe.DEFAULT_SUBTITLES)}});else if(e===pe.DEFAULT_STREAM_TYPE)(a=he(this,Ne))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(pe.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===pe.LIVE_EDGE_OFFSET)(o=he(this,Ne))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(pe.LIVE_EDGE_OFFSET)?+this.getAttribute(pe.LIVE_EDGE_OFFSET):void 0}});else if(e===pe.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;Tr(this,fa,u),(d=he(this,Ne))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!he(this,Ne)&&!this.hasAttribute(pe.NO_DEFAULT_STORE)&&_r(this,ml,Sh).call(this),(e=he(this,Ne))==null||e.dispatch({type:"documentelementchangerequest",detail:P}),super.connectedCallback(),he(this,Ne)&&!he(this,Si)&&Tr(this,Si,(t=he(this,Ne))==null?void 0:t.subscribe(he(this,ma))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),he(this,Ne)&&((t=he(this,Ne))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=he(this,Ne))==null||r.dispatch({type:F.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),he(this,Si)&&((s=he(this,Si))==null||s.call(this),Tr(this,Si,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=he(this,Ne))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=he(this,Ne))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){Yv(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=iS(e,r,s);Object.values(F).forEach(a=>{e.addEventListener(a,he(this,fl))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(F).forEach(s=>{e.removeEventListener(s,he(this,fl))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),he(this,Ne)&&Object.entries(he(this,Ne).getState()).forEach(([s,n])=>{Yv([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",_r(this,pl,xh))}disableHotkeys(){this.removeEventListener("keydown",_r(this,pl,xh)),this.removeEventListener("keyup",_r(this,un,pa))}get hotkeys(){return he(this,Ar)}keyboardShortcutHandler(e){var t,r,s,n,a,o;if(((n=(s=(t=e.target.getAttribute(pe.KEYS_USED))==null?void 0:t.split(" "))!=null?s:(r=e.target)==null?void 0:r.keysUsed)!=null?n:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!he(this,Ar).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&he(this,Ar).contains("nospace")))switch(e.key){case" ":case"k":d=he(this,Ne).getState().mediaPaused?F.MEDIA_PLAY_REQUEST:F.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new A.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?F.MEDIA_UNMUTE_REQUEST:F.MEDIA_MUTE_REQUEST,this.dispatchEvent(new A.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?F.MEDIA_EXIT_FULLSCREEN_REQUEST:F.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new A.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new A.CustomEvent(F.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(pe.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(pe.KEYBOARD_BACKWARD_SEEK_OFFSET):Vv;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)-h,0),c=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(pe.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(pe.KEYBOARD_FORWARD_SEEK_OFFSET):Vv;u=Math.max(((o=this.mediaStore.getState().mediaCurrentTime)!=null?o:0)+h,0),c=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};Ar=new WeakMap;fa=new WeakMap;Ne=new WeakMap;ma=new WeakMap;Si=new WeakMap;fl=new WeakMap;ml=new WeakSet;Sh=function(){var i;this.mediaStore=Wv({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(pe.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(pe.DEFAULT_DURATION)?+this.getAttribute(pe.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(pe.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(pe.LIVE_EDGE_OFFSET)?+this.getAttribute(pe.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(pe.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(pe.NO_SUBTITLES_LANG_PREF)}})};un=new WeakSet;pa=function(i){let{key:e}=i;if(!zv.includes(e)){this.removeEventListener("keyup",_r(this,un,pa));return}this.keyboardShortcutHandler(i)};pl=new WeakSet;xh=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!zv.includes(r)){this.removeEventListener("keyup",_r(this,un,pa));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(he(this,Ar).contains(`no${r.toLowerCase()}`)||r===" "&&he(this,Ar).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",_r(this,un,pa),{once:!0})};var Q1=Object.values(b),Z1=Object.values(ah),jv=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(A.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,ee.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>Q1.includes(o)):[]},J1=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&A.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof A.customElements.get(i.nodeName.toLowerCase()))&&A.customElements.upgrade(i),Z1.some(r=>r in i)},Lh=i=>J1(i)||!!jv(i).length,Kv=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},qv={[b.MEDIA_SUBTITLES_LIST]:oi,[b.MEDIA_SUBTITLES_SHOWING]:oi,[b.MEDIA_SEEKABLE]:Kv,[b.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(Kv).join(" "),[b.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[b.MEDIA_RENDITION_LIST]:gv,[b.MEDIA_AUDIO_TRACK_LIST]:vv},eS=async(i,e,t)=>{var r,s;if(i.isConnected||await jo(0),typeof t=="boolean"||t==null)return Ae(i,e,t);if(typeof t=="number")return _e(i,e,t);if(typeof t=="string")return le(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=qv[e])==null?void 0:r.call(qv,t))!=null?s:t;return i.setAttribute(e,n)},tS=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},is=(i,e)=>{if(tS(i))return;let t=(s,n)=>{var a,o;Lh(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>is(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Lh(i)){A.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},Yv=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=jv(r),n=e.toLowerCase();s.includes(n)&&eS(r,n,t)})},iS=(i,e,t)=>{is(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener(F.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(F.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>is(E,e)),Array.prototype.forEach.call(f,E=>is(E,t))):m==="attributes"&&g===ee.MEDIA_CHROME_ATTRIBUTES&&(Lh(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>is(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>is(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{is(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener(F.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(F.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};A.customElements.get("media-controller")||A.customElements.define("media-controller",gl);var Ih=gl;var rS=Object.defineProperty,sS=(i,e,t)=>e in i?rS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,nS=(i,e,t)=>(sS(i,typeof e!="symbol"?e+"":e,t),t),Xv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},qt=(i,e,t)=>(Xv(i,e,"read from private field"),t?t.call(i):e.get(i)),vl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},El=(i,e,t,r)=>(Xv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),xi,bl,cn,yl,Qv=P.createElement("template");Qv.innerHTML=`
146
146
  <style>
147
147
  :host {
148
148
  font: var(--media-font,
@@ -191,10 +191,10 @@
191
191
  min-width: 100%;
192
192
  }
193
193
  </style>
194
- `;var be=class extends A.HTMLElement{constructor(e={}){if(super(),vl(this,xi,void 0),nS(this,"preventClick",!1),vl(this,bl,t=>{this.preventClick||this.handleClick(t)}),vl(this,cn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",qt(this,cn));return}this.preventClick||this.handleClick(t)}),vl(this,yl,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",qt(this,cn));return}this.addEventListener("keyup",qt(this,cn),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let t=Xv.content.cloneNode(!0);this.nativeEl=t;let r=e.slotTemplate;r||(r=P.createElement("template"),r.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(r.content.cloneNode(!0)),this.shadowRoot.appendChild(t)}}static get observedAttributes(){return["disabled",ee.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",qt(this,bl)),this.addEventListener("keydown",qt(this,yl)),this.tabIndex=0}disable(){this.removeEventListener("click",qt(this,bl)),this.removeEventListener("keydown",qt(this,yl)),this.removeEventListener("keyup",qt(this,cn)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER?(t&&((n=(s=qt(this,xi))==null?void 0:s.unassociateElement)==null||n.call(s,this),El(this,xi,null)),r&&this.isConnected&&(El(this,xi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=qt(this,xi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(El(this,xi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=qt(this,xi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=qt(this,xi))==null?void 0:e.unassociateElement)==null||t.call(e,this),El(this,xi,null)}get keysUsed(){return["Enter"," "]}handleClick(e){}};xi=new WeakMap;bl=new WeakMap;cn=new WeakMap;yl=new WeakMap;A.customElements.get("media-chrome-button")||A.customElements.define("media-chrome-button",be);var Qv=`<svg aria-hidden="true" viewBox="0 0 26 24">
194
+ `;var be=class extends A.HTMLElement{constructor(e={}){if(super(),vl(this,xi,void 0),nS(this,"preventClick",!1),vl(this,bl,t=>{this.preventClick||this.handleClick(t)}),vl(this,cn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",qt(this,cn));return}this.preventClick||this.handleClick(t)}),vl(this,yl,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",qt(this,cn));return}this.addEventListener("keyup",qt(this,cn),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let t=Qv.content.cloneNode(!0);this.nativeEl=t;let r=e.slotTemplate;r||(r=P.createElement("template"),r.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(r.content.cloneNode(!0)),this.shadowRoot.appendChild(t)}}static get observedAttributes(){return["disabled",ee.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",qt(this,bl)),this.addEventListener("keydown",qt(this,yl)),this.tabIndex=0}disable(){this.removeEventListener("click",qt(this,bl)),this.removeEventListener("keydown",qt(this,yl)),this.removeEventListener("keyup",qt(this,cn)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER?(t&&((n=(s=qt(this,xi))==null?void 0:s.unassociateElement)==null||n.call(s,this),El(this,xi,null)),r&&this.isConnected&&(El(this,xi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=qt(this,xi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(El(this,xi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=qt(this,xi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=qt(this,xi))==null?void 0:e.unassociateElement)==null||t.call(e,this),El(this,xi,null)}get keysUsed(){return["Enter"," "]}handleClick(e){}};xi=new WeakMap;bl=new WeakMap;cn=new WeakMap;yl=new WeakMap;A.customElements.get("media-chrome-button")||A.customElements.define("media-chrome-button",be);var Zv=`<svg aria-hidden="true" viewBox="0 0 26 24">
195
195
  <path d="M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z"/>
196
196
  </svg>
197
- `,Jv=P.createElement("template");Jv.innerHTML=`
197
+ `,eE=P.createElement("template");eE.innerHTML=`
198
198
  <style>
199
199
  :host([${b.MEDIA_IS_AIRPLAYING}]) slot:not([name=exit]):not([name=icon]) {
200
200
  display: none !important;
@@ -207,10 +207,10 @@
207
207
  </style>
208
208
 
209
209
  <slot name="icon">
210
- <slot name="enter">${Qv}</slot>
211
- <slot name="exit">${Qv}</slot>
210
+ <slot name="enter">${Zv}</slot>
211
+ <slot name="exit">${Zv}</slot>
212
212
  </slot>
213
- `;var Zv=i=>{let e=i.mediaIsAirplaying?De.EXIT_AIRPLAY():De.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},Rh=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_AIRPLAYING,b.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Jv,...e})}connectedCallback(){super.connectedCallback(),Zv(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_AIRPLAYING&&Zv(this)}get mediaIsAirplaying(){return Le(this,b.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){Ae(this,b.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return ue(this,b.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){le(this,b.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new A.CustomEvent(F.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};A.customElements.get("media-airplay-button")||A.customElements.define("media-airplay-button",Rh);function eE({anchor:i,floating:e,placement:t}){let r=aS({anchor:i,floating:e}),{x:s,y:n}=lS(r,t);return{x:s,y:n}}function aS({anchor:i,floating:e}){return{anchor:oS(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function oS(i,e){let t=i.getBoundingClientRect(),r=e.getBoundingClientRect();return{x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}function lS({anchor:i,floating:e},t){let r=dS(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=tE(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function tE(i){return i.split("-")[0]}function dS(i){return["top","bottom"].includes(tE(i))?"y":"x"}var uS=Object.defineProperty,cS=(i,e,t)=>e in i?uS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Tl=(i,e,t)=>(cS(i,typeof e!="symbol"?e+"":e,t),t),Sr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),Tl(this,"action"),Tl(this,"relatedTarget"),this.action=e,this.relatedTarget=t}},_l=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),Tl(this,"newState"),Tl(this,"oldState"),this.newState=e,this.oldState=t}};var hS=Object.defineProperty,fS=(i,e,t)=>e in i?hS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,mS=(i,e,t)=>(fS(i,typeof e!="symbol"?e+"":e,t),t),Hh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Se=(i,e,t)=>(Hh(i,e,"read from private field"),t?t.call(i):e.get(i)),Ie=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},nr=(i,e,t,r)=>(Hh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),we=(i,e,t)=>(Hh(i,e,"access private method"),t),Li,ss,xr,iE,rE,Al,Sl,ns,wh,sE,kl,xl,Ch,Dh,nE,Mh,aE,Ph,oE,hn,fn,as,mn,Il,Gh,Oh,lE,Wh,dE,Nh,uE,Vh,cE,Uh,hE,Fh,fE,ga,Rl,Bh,mE,va,wl,Ll,$h;function ki({type:i,text:e,value:t,checked:r}){let s=P.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=P.createElement("span");return n.textContent=e,s.append(n),s}function li(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var pE=P.createElement("template");pE.innerHTML=`
213
+ `;var Jv=i=>{let e=i.mediaIsAirplaying?De.EXIT_AIRPLAY():De.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},Rh=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_AIRPLAYING,b.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:eE,...e})}connectedCallback(){super.connectedCallback(),Jv(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_AIRPLAYING&&Jv(this)}get mediaIsAirplaying(){return Le(this,b.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){Ae(this,b.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return ue(this,b.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){le(this,b.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new A.CustomEvent(F.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};A.customElements.get("media-airplay-button")||A.customElements.define("media-airplay-button",Rh);function tE({anchor:i,floating:e,placement:t}){let r=aS({anchor:i,floating:e}),{x:s,y:n}=lS(r,t);return{x:s,y:n}}function aS({anchor:i,floating:e}){return{anchor:oS(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function oS(i,e){let t=i.getBoundingClientRect(),r=e.getBoundingClientRect();return{x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}function lS({anchor:i,floating:e},t){let r=dS(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=iE(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function iE(i){return i.split("-")[0]}function dS(i){return["top","bottom"].includes(iE(i))?"y":"x"}var uS=Object.defineProperty,cS=(i,e,t)=>e in i?uS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Tl=(i,e,t)=>(cS(i,typeof e!="symbol"?e+"":e,t),t),Sr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),Tl(this,"action"),Tl(this,"relatedTarget"),this.action=e,this.relatedTarget=t}},_l=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),Tl(this,"newState"),Tl(this,"oldState"),this.newState=e,this.oldState=t}};var hS=Object.defineProperty,fS=(i,e,t)=>e in i?hS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,mS=(i,e,t)=>(fS(i,typeof e!="symbol"?e+"":e,t),t),Hh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Se=(i,e,t)=>(Hh(i,e,"read from private field"),t?t.call(i):e.get(i)),Ie=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},nr=(i,e,t,r)=>(Hh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),we=(i,e,t)=>(Hh(i,e,"access private method"),t),Li,ss,xr,rE,sE,Al,Sl,ns,wh,nE,kl,xl,Ch,Dh,aE,Mh,oE,Ph,lE,hn,fn,as,mn,Il,Gh,Oh,dE,Wh,uE,Nh,cE,Vh,hE,Uh,fE,Fh,mE,ga,Rl,Bh,pE,va,wl,Ll,$h;function ki({type:i,text:e,value:t,checked:r}){let s=P.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=P.createElement("span");return n.textContent=e,s.append(n),s}function li(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var gE=P.createElement("template");gE.innerHTML=`
214
214
  <style>
215
215
  :host {
216
216
  font: var(--media-font,
@@ -372,16 +372,16 @@
372
372
  <slot></slot>
373
373
  </div>
374
374
  <slot name="checked-indicator" hidden></slot>
375
- `;var rs={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},yt=class extends A.HTMLElement{constructor(){super(),Ie(this,wh),Ie(this,xl),Ie(this,Dh),Ie(this,Mh),Ie(this,Ph),Ie(this,as),Ie(this,Il),Ie(this,Oh),Ie(this,Wh),Ie(this,Nh),Ie(this,Vh),Ie(this,Uh),Ie(this,Fh),Ie(this,ga),Ie(this,Bh),Ie(this,va),Ie(this,Ll),Ie(this,Li,void 0),Ie(this,ss,void 0),Ie(this,xr,void 0),Ie(this,iE,""),Ie(this,rE,null),Ie(this,Al,new Set),Ie(this,Sl,void 0),Ie(this,ns,!1),Ie(this,kl,()=>{let e=Se(this,Al),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));nr(this,Al,t)}),Ie(this,hn,()=>{we(this,as,mn).call(this,!1),we(this,Il,Gh).call(this,!1)}),Ie(this,fn,()=>{we(this,as,mn).call(this,!1)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),nr(this,Sl,new MutationObserver(Se(this,kl))),Se(this,Sl).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[rs.DISABLED,rs.HIDDEN,rs.STYLE,rs.ANCHOR,ee.MEDIA_CONTROLLER]}static formatMenuItemText(e){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":we(this,wh,sE).call(this,e);break;case"invoke":we(this,Dh,nE).call(this,e);break;case"click":we(this,Oh,lE).call(this,e);break;case"toggle":we(this,Nh,uE).call(this,e);break;case"focusout":we(this,Uh,hE).call(this,e);break;case"keydown":we(this,Fh,fE).call(this,e);break}}connectedCallback(){var e,t;we(this,xl,Ch).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),nr(this,Li,Jo(this)),(t=(e=Se(this,Li))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Vt(Ea(this),Se(this,hn)),Vt(this,Se(this,fn)))}disconnectedCallback(){var e,t;Ai(Ea(this),Se(this,hn)),Ai(this,Se(this,fn)),this.disable(),(t=(e=Se(this,Li))==null?void 0:e.unassociateElement)==null||t.call(e,this),nr(this,Li,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===rs.HIDDEN&&r!==t?(Se(this,ns)||nr(this,ns,!0),this.hidden?we(this,Ph,oE).call(this):we(this,Mh,aE).call(this),this.dispatchEvent(new _l({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===ee.MEDIA_CONTROLLER?(t&&((n=(s=Se(this,Li))==null?void 0:s.unassociateElement)==null||n.call(s,this),nr(this,Li,null)),r&&this.isConnected&&(nr(this,Li,Jo(this)),(o=(a=Se(this,Li))==null?void 0:a.associateElement)==null||o.call(a,this))):e===rs.DISABLED&&r!==t?r==null?this.enable():this.disable():e===rs.STYLE&&r!==t&&we(this,xl,Ch).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Xr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(pS)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&we(this,Ll,$h).call(this,t)}focus(){if(nr(this,ss,jr()),this.items.length){we(this,va,wl).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=we(this,ga,Rl).call(this,e);r&&(we(this,Ll,$h).call(this,r,r.type==="checkbox"),Se(this,xr)&&!this.hidden&&((t=Se(this,ss))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=we(this,ga,Rl).call(this,e))!=null?t:we(this,Bh,mE).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),we(this,va,wl).call(this,n[l]),n[l].focus()}};Li=new WeakMap;ss=new WeakMap;xr=new WeakMap;iE=new WeakMap;rE=new WeakMap;Al=new WeakMap;Sl=new WeakMap;ns=new WeakMap;wh=new WeakSet;sE=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||Se(this,kl).call(this)};kl=new WeakMap;xl=new WeakSet;Ch=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};Dh=new WeakSet;nE=function(i){nr(this,xr,i.relatedTarget),bt(this,i.relatedTarget)||(this.hidden=!this.hidden)};Mh=new WeakSet;aE=function(){var i;(i=Se(this,xr))==null||i.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>we(this,as,mn).call(this,!1)),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Vt(Ea(this),Se(this,hn)),Vt(this,Se(this,fn))};Ph=new WeakSet;oE=function(){var i;(i=Se(this,xr))==null||i.setAttribute("aria-expanded","false"),Ai(Ea(this),Se(this,hn)),Ai(this,Se(this,fn))};hn=new WeakMap;fn=new WeakMap;as=new WeakSet;mn=function(i,e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:r}=eE({anchor:this.anchorElement,floating:this,placement:"top-start"});e!=null||(e=this.offsetWidth);let n=Ea(this).getBoundingClientRect(),a=this.anchorElement.getBoundingClientRect(),o=n.width-t-e,l=n.height-r-this.offsetHeight,d=n.height-a.height,{style:u}=Te(this.shadowRoot,":host");i||u.setProperty("--media-menu-transition-in","none"),u.setProperty("position","absolute"),u.setProperty("right",`${Math.max(0,o)}px`),u.setProperty("bottom",`${l}px`),u.setProperty("--_menu-max-height",`${d}px`),u.removeProperty("--media-menu-transition-in")};Il=new WeakSet;Gh=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=Te(this.shadowRoot,":host");if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),we(this,as,mn).call(this,i,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),we(this,as,mn).call(this,i);r.removeProperty("--media-menu-transition-in")};Oh=new WeakSet;lE=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(Se(this,Wh,dE))){(e=Se(this,ss))==null||e.focus(),this.hidden=!0;return}let t=we(this,ga,Rl).call(this,i);!t||t.hasAttribute("disabled")||(we(this,va,wl).call(this,t),this.handleSelect(i))};Wh=new WeakSet;dE=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.part.contains("back")&&t.part.contains("button"))};Nh=new WeakSet;uE=function(i){if(i.target===this)return;we(this,Vh,cE).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);we(this,Il,Gh).call(this,!0)};Vh=new WeakSet;cE=function(){let i='[role="menuitem"] > [role="menu"]:not([hidden])',e=this.querySelector(i);this.container.classList.toggle("has-expanded",!!e)};Uh=new WeakSet;hE=function(i){var e;bt(this,i.relatedTarget)||(Se(this,ns)&&((e=Se(this,ss))==null||e.focus()),Se(this,xr)&&Se(this,xr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Fh=new WeakSet;fE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(Se(this,ns)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=Se(this,ss))==null||n.focus(),Se(this,ns)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};ga=new WeakSet;Rl=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};Bh=new WeakSet;mE=function(){return this.items.find(i=>i.tabIndex===0)};va=new WeakSet;wl=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};Ll=new WeakSet;$h=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};mS(yt,"template",pE);function pS(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function Ea(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):qe(i)||i.parentElement)!=null?e:i}A.customElements.get("media-chrome-menu")||A.customElements.define("media-chrome-menu",yt);var jh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gE=(i,e,t)=>(jh(i,e,"read from private field"),t?t.call(i):e.get(i)),Cl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Kh=(i,e,t,r)=>(jh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Dl=(i,e,t)=>(jh(i,e,"access private method"),t),ba,Ol,Ml,qh,Pl,Yh,zh=class extends yt{constructor(){super(...arguments),Cl(this,Ml),Cl(this,Pl),Cl(this,ba,[]),Cl(this,Ol,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Kh(this,ba,Yo(r)),Dl(this,Ml,qh).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Dl(this,Pl,Yh))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Dl(this,Pl,Yh))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return gE(this,ba)}set mediaAudioTrackList(e){Kh(this,ba,e),Dl(this,Ml,qh).call(this)}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};ba=new WeakMap;Ol=new WeakMap;Ml=new WeakSet;qh=function(){if(gE(this,Ol)===JSON.stringify(this.mediaAudioTrackList))return;Kh(this,Ol,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=ki({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(li(this,"checked-indicator")),this.defaultSlot.append(r)}};Pl=new WeakSet;Yh=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-audio-track-menu")||A.customElements.define("media-audio-track-menu",zh);var $t=class extends be{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Xr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){this.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:this}))}};A.customElements.get("media-chrome-menu-button")||A.customElements.define("media-chrome-menu-button",$t);var gS=`<svg aria-hidden="true" viewBox="0 0 24 24">
375
+ `;var rs={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},yt=class extends A.HTMLElement{constructor(){super(),Ie(this,wh),Ie(this,xl),Ie(this,Dh),Ie(this,Mh),Ie(this,Ph),Ie(this,as),Ie(this,Il),Ie(this,Oh),Ie(this,Wh),Ie(this,Nh),Ie(this,Vh),Ie(this,Uh),Ie(this,Fh),Ie(this,ga),Ie(this,Bh),Ie(this,va),Ie(this,Ll),Ie(this,Li,void 0),Ie(this,ss,void 0),Ie(this,xr,void 0),Ie(this,rE,""),Ie(this,sE,null),Ie(this,Al,new Set),Ie(this,Sl,void 0),Ie(this,ns,!1),Ie(this,kl,()=>{let e=Se(this,Al),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));nr(this,Al,t)}),Ie(this,hn,()=>{we(this,as,mn).call(this,!1),we(this,Il,Gh).call(this,!1)}),Ie(this,fn,()=>{we(this,as,mn).call(this,!1)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),nr(this,Sl,new MutationObserver(Se(this,kl))),Se(this,Sl).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[rs.DISABLED,rs.HIDDEN,rs.STYLE,rs.ANCHOR,ee.MEDIA_CONTROLLER]}static formatMenuItemText(e){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":we(this,wh,nE).call(this,e);break;case"invoke":we(this,Dh,aE).call(this,e);break;case"click":we(this,Oh,dE).call(this,e);break;case"toggle":we(this,Nh,cE).call(this,e);break;case"focusout":we(this,Uh,fE).call(this,e);break;case"keydown":we(this,Fh,mE).call(this,e);break}}connectedCallback(){var e,t;we(this,xl,Ch).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),nr(this,Li,Jo(this)),(t=(e=Se(this,Li))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Vt(Ea(this),Se(this,hn)),Vt(this,Se(this,fn)))}disconnectedCallback(){var e,t;Ai(Ea(this),Se(this,hn)),Ai(this,Se(this,fn)),this.disable(),(t=(e=Se(this,Li))==null?void 0:e.unassociateElement)==null||t.call(e,this),nr(this,Li,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===rs.HIDDEN&&r!==t?(Se(this,ns)||nr(this,ns,!0),this.hidden?we(this,Ph,lE).call(this):we(this,Mh,oE).call(this),this.dispatchEvent(new _l({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===ee.MEDIA_CONTROLLER?(t&&((n=(s=Se(this,Li))==null?void 0:s.unassociateElement)==null||n.call(s,this),nr(this,Li,null)),r&&this.isConnected&&(nr(this,Li,Jo(this)),(o=(a=Se(this,Li))==null?void 0:a.associateElement)==null||o.call(a,this))):e===rs.DISABLED&&r!==t?r==null?this.enable():this.disable():e===rs.STYLE&&r!==t&&we(this,xl,Ch).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Xr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(pS)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&we(this,Ll,$h).call(this,t)}focus(){if(nr(this,ss,jr()),this.items.length){we(this,va,wl).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=we(this,ga,Rl).call(this,e);r&&(we(this,Ll,$h).call(this,r,r.type==="checkbox"),Se(this,xr)&&!this.hidden&&((t=Se(this,ss))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=we(this,ga,Rl).call(this,e))!=null?t:we(this,Bh,pE).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),we(this,va,wl).call(this,n[l]),n[l].focus()}};Li=new WeakMap;ss=new WeakMap;xr=new WeakMap;rE=new WeakMap;sE=new WeakMap;Al=new WeakMap;Sl=new WeakMap;ns=new WeakMap;wh=new WeakSet;nE=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||Se(this,kl).call(this)};kl=new WeakMap;xl=new WeakSet;Ch=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};Dh=new WeakSet;aE=function(i){nr(this,xr,i.relatedTarget),bt(this,i.relatedTarget)||(this.hidden=!this.hidden)};Mh=new WeakSet;oE=function(){var i;(i=Se(this,xr))==null||i.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>we(this,as,mn).call(this,!1)),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Vt(Ea(this),Se(this,hn)),Vt(this,Se(this,fn))};Ph=new WeakSet;lE=function(){var i;(i=Se(this,xr))==null||i.setAttribute("aria-expanded","false"),Ai(Ea(this),Se(this,hn)),Ai(this,Se(this,fn))};hn=new WeakMap;fn=new WeakMap;as=new WeakSet;mn=function(i,e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:r}=tE({anchor:this.anchorElement,floating:this,placement:"top-start"});e!=null||(e=this.offsetWidth);let n=Ea(this).getBoundingClientRect(),a=this.anchorElement.getBoundingClientRect(),o=n.width-t-e,l=n.height-r-this.offsetHeight,d=n.height-a.height,{style:u}=Te(this.shadowRoot,":host");i||u.setProperty("--media-menu-transition-in","none"),u.setProperty("position","absolute"),u.setProperty("right",`${Math.max(0,o)}px`),u.setProperty("bottom",`${l}px`),u.setProperty("--_menu-max-height",`${d}px`),u.removeProperty("--media-menu-transition-in")};Il=new WeakSet;Gh=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=Te(this.shadowRoot,":host");if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),we(this,as,mn).call(this,i,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),we(this,as,mn).call(this,i);r.removeProperty("--media-menu-transition-in")};Oh=new WeakSet;dE=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(Se(this,Wh,uE))){(e=Se(this,ss))==null||e.focus(),this.hidden=!0;return}let t=we(this,ga,Rl).call(this,i);!t||t.hasAttribute("disabled")||(we(this,va,wl).call(this,t),this.handleSelect(i))};Wh=new WeakSet;uE=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.part.contains("back")&&t.part.contains("button"))};Nh=new WeakSet;cE=function(i){if(i.target===this)return;we(this,Vh,hE).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);we(this,Il,Gh).call(this,!0)};Vh=new WeakSet;hE=function(){let i='[role="menuitem"] > [role="menu"]:not([hidden])',e=this.querySelector(i);this.container.classList.toggle("has-expanded",!!e)};Uh=new WeakSet;fE=function(i){var e;bt(this,i.relatedTarget)||(Se(this,ns)&&((e=Se(this,ss))==null||e.focus()),Se(this,xr)&&Se(this,xr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Fh=new WeakSet;mE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(Se(this,ns)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=Se(this,ss))==null||n.focus(),Se(this,ns)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};ga=new WeakSet;Rl=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};Bh=new WeakSet;pE=function(){return this.items.find(i=>i.tabIndex===0)};va=new WeakSet;wl=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};Ll=new WeakSet;$h=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};mS(yt,"template",gE);function pS(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function Ea(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):qe(i)||i.parentElement)!=null?e:i}A.customElements.get("media-chrome-menu")||A.customElements.define("media-chrome-menu",yt);var jh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},vE=(i,e,t)=>(jh(i,e,"read from private field"),t?t.call(i):e.get(i)),Cl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Kh=(i,e,t,r)=>(jh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Dl=(i,e,t)=>(jh(i,e,"access private method"),t),ba,Ol,Ml,qh,Pl,Yh,zh=class extends yt{constructor(){super(...arguments),Cl(this,Ml),Cl(this,Pl),Cl(this,ba,[]),Cl(this,Ol,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Kh(this,ba,Yo(r)),Dl(this,Ml,qh).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Dl(this,Pl,Yh))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Dl(this,Pl,Yh))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return vE(this,ba)}set mediaAudioTrackList(e){Kh(this,ba,e),Dl(this,Ml,qh).call(this)}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};ba=new WeakMap;Ol=new WeakMap;Ml=new WeakSet;qh=function(){if(vE(this,Ol)===JSON.stringify(this.mediaAudioTrackList))return;Kh(this,Ol,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=ki({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(li(this,"checked-indicator")),this.defaultSlot.append(r)}};Pl=new WeakSet;Yh=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-audio-track-menu")||A.customElements.define("media-audio-track-menu",zh);var $t=class extends be{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Xr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){this.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:this}))}};A.customElements.get("media-chrome-menu-button")||A.customElements.define("media-chrome-menu-button",$t);var gS=`<svg aria-hidden="true" viewBox="0 0 24 24">
376
376
  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
377
377
  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
378
- </svg>`,vE=P.createElement("template");vE.innerHTML=`
378
+ </svg>`,EE=P.createElement("template");EE.innerHTML=`
379
379
  <slot name="icon">${gS}</slot>
380
- `;var Xh=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:vE})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.AUDIO_TRACKS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};A.customElements.get("media-audio-track-menu-button")||A.customElements.define("media-audio-track-menu-button",Xh);var vS=`<svg aria-hidden="true" viewBox="0 0 26 24">
380
+ `;var Xh=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:EE})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.AUDIO_TRACKS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};A.customElements.get("media-audio-track-menu-button")||A.customElements.define("media-audio-track-menu-button",Xh);var vS=`<svg aria-hidden="true" viewBox="0 0 26 24">
381
381
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
382
382
  </svg>`,ES=`<svg aria-hidden="true" viewBox="0 0 26 24">
383
383
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
384
- </svg>`,TE=P.createElement("template");TE.innerHTML=`
384
+ </svg>`,_E=P.createElement("template");_E.innerHTML=`
385
385
  <style>
386
386
  :host([aria-checked="true"]) slot[name=off] {
387
387
  display: none !important;
@@ -397,15 +397,15 @@
397
397
  <slot name="on">${vS}</slot>
398
398
  <slot name="off">${ES}</slot>
399
399
  </slot>
400
- `;var EE=i=>{i.setAttribute("aria-checked",ll(i))},Qh=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:TE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Ce.CLOSED_CAPTIONS()),EE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&EE(this)}get mediaSubtitlesList(){return bE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){yE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return bE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){yE(this,b.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new A.CustomEvent(F.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},bE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},yE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-button")||A.customElements.define("media-captions-button",Qh);var bS=Object.defineProperty,yS=(i,e,t)=>e in i?bS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,TS=(i,e,t)=>(yS(i,typeof e!="symbol"?e+"":e,t),t),rf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},_S=(i,e,t)=>(rf(i,e,"read from private field"),t?t.call(i):e.get(i)),Zh=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},AS=(i,e,t,r)=>(rf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Jh=(i,e,t)=>(rf(i,e,"access private method"),t),Ul,ef,SE,Nl,tf,SS=`
400
+ `;var bE=i=>{i.setAttribute("aria-checked",ll(i))},Qh=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:_E,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Ce.CLOSED_CAPTIONS()),bE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&bE(this)}get mediaSubtitlesList(){return yE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){TE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return yE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){TE(this,b.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new A.CustomEvent(F.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},yE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},TE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-button")||A.customElements.define("media-captions-button",Qh);var bS=Object.defineProperty,yS=(i,e,t)=>e in i?bS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,TS=(i,e,t)=>(yS(i,typeof e!="symbol"?e+"":e,t),t),rf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},_S=(i,e,t)=>(rf(i,e,"read from private field"),t?t.call(i):e.get(i)),Zh=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},AS=(i,e,t,r)=>(rf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Jh=(i,e,t)=>(rf(i,e,"access private method"),t),Ul,ef,xE,Nl,tf,SS=`
401
401
  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
402
402
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
403
- </svg>`,xE=P.createElement("template");xE.innerHTML=yt.template.innerHTML+`
404
- <slot name="captions-indicator" hidden>${SS}</slot>`;var Fl=class extends yt{constructor(){super(...arguments),Zh(this,ef),Zh(this,Nl),Zh(this,Ul,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?Jh(this,ef,SE).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Jh(this,Nl,tf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Jh(this,Nl,tf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return _E(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){AE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return _E(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){AE(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Ul=new WeakMap;ef=new WeakSet;SE=function(){var i;if(_S(this,Ul)===JSON.stringify(this.mediaSubtitlesList))return;AS(this,Ul,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=ki({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=ki({type:"radio",text:this.formatMenuItemText(s.label,s),value:Jr(s),checked:this.value==Jr(s)});n.prepend(li(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(li(this,"captions-indicator")),this.defaultSlot.append(n)}};Nl=new WeakSet;tf=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new A.CustomEvent(F.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new A.CustomEvent(F.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};TS(Fl,"template",xE);var _E=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},AE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-menu")||A.customElements.define("media-captions-menu",Fl);var xS=`<svg aria-hidden="true" viewBox="0 0 26 24">
403
+ </svg>`,LE=P.createElement("template");LE.innerHTML=yt.template.innerHTML+`
404
+ <slot name="captions-indicator" hidden>${SS}</slot>`;var Fl=class extends yt{constructor(){super(...arguments),Zh(this,ef),Zh(this,Nl),Zh(this,Ul,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?Jh(this,ef,xE).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Jh(this,Nl,tf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Jh(this,Nl,tf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return AE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){SE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return AE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){SE(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Ul=new WeakMap;ef=new WeakSet;xE=function(){var i;if(_S(this,Ul)===JSON.stringify(this.mediaSubtitlesList))return;AS(this,Ul,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=ki({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=ki({type:"radio",text:this.formatMenuItemText(s.label,s),value:Jr(s),checked:this.value==Jr(s)});n.prepend(li(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(li(this,"captions-indicator")),this.defaultSlot.append(n)}};Nl=new WeakSet;tf=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new A.CustomEvent(F.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new A.CustomEvent(F.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};TS(Fl,"template",LE);var AE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},SE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-menu")||A.customElements.define("media-captions-menu",Fl);var xS=`<svg aria-hidden="true" viewBox="0 0 26 24">
405
405
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
406
406
  </svg>`,LS=`<svg aria-hidden="true" viewBox="0 0 26 24">
407
407
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
408
- </svg>`,RE=P.createElement("template");RE.innerHTML=`
408
+ </svg>`,wE=P.createElement("template");wE.innerHTML=`
409
409
  <style>
410
410
  :host([aria-checked="true"]) slot[name=off] {
411
411
  display: none !important;
@@ -421,7 +421,7 @@
421
421
  <slot name="on">${xS}</slot>
422
422
  <slot name="off">${LS}</slot>
423
423
  </slot>
424
- `;var LE=i=>{i.setAttribute("aria-checked",ll(i))},sf=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:RE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.CLOSED_CAPTIONS()),LE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&LE(this)}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-captions-menu")}get mediaSubtitlesList(){return kE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){IE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return kE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){IE(this,b.MEDIA_SUBTITLES_SHOWING,e)}},kE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},IE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-menu-button")||A.customElements.define("media-captions-menu-button",sf);var kS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',IS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',CE=P.createElement("template");CE.innerHTML=`
424
+ `;var kE=i=>{i.setAttribute("aria-checked",ll(i))},sf=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:wE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.CLOSED_CAPTIONS()),kE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&kE(this)}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-captions-menu")}get mediaSubtitlesList(){return IE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){RE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return IE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){RE(this,b.MEDIA_SUBTITLES_SHOWING,e)}},IE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},RE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-menu-button")||A.customElements.define("media-captions-menu-button",sf);var kS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',IS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',DE=P.createElement("template");DE.innerHTML=`
425
425
  <style>
426
426
  :host([${b.MEDIA_IS_CASTING}]) slot:not([name=exit]):not([name=icon]) {
427
427
  display: none !important;
@@ -437,7 +437,7 @@
437
437
  <slot name="enter">${kS}</slot>
438
438
  <slot name="exit">${IS}</slot>
439
439
  </slot>
440
- `;var wE=i=>{let e=i.mediaIsCasting?De.EXIT_CAST():De.ENTER_CAST();i.setAttribute("aria-label",e)},nf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_CASTING,b.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:CE,...e})}connectedCallback(){super.connectedCallback(),wE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_CASTING&&wE(this)}get mediaIsCasting(){return Le(this,b.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ae(this,b.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return ue(this,b.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){le(this,b.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?F.MEDIA_EXIT_CAST_REQUEST:F.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-cast-button")||A.customElements.define("media-cast-button",nf);var RS=Object.defineProperty,wS=(i,e,t)=>e in i?RS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,CS=(i,e,t)=>(wS(i,typeof e!="symbol"?e+"":e,t),t),hf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pn=(i,e,t)=>(hf(i,e,"read from private field"),t?t.call(i):e.get(i)),os=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},DE=(i,e,t,r)=>(hf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ya=(i,e,t)=>(hf(i,e,"access private method"),t),Ta,ls,of,ME,lf,PE,df,OE,uf,NE,cf,UE,FE=P.createElement("template");FE.innerHTML=`
440
+ `;var CE=i=>{let e=i.mediaIsCasting?De.EXIT_CAST():De.ENTER_CAST();i.setAttribute("aria-label",e)},nf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_CASTING,b.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:DE,...e})}connectedCallback(){super.connectedCallback(),CE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_CASTING&&CE(this)}get mediaIsCasting(){return Le(this,b.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ae(this,b.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return ue(this,b.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){le(this,b.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?F.MEDIA_EXIT_CAST_REQUEST:F.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-cast-button")||A.customElements.define("media-cast-button",nf);var RS=Object.defineProperty,wS=(i,e,t)=>e in i?RS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,CS=(i,e,t)=>(wS(i,typeof e!="symbol"?e+"":e,t),t),hf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pn=(i,e,t)=>(hf(i,e,"read from private field"),t?t.call(i):e.get(i)),os=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ME=(i,e,t,r)=>(hf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ya=(i,e,t)=>(hf(i,e,"access private method"),t),Ta,ls,of,PE,lf,OE,df,NE,uf,UE,cf,FE,BE=P.createElement("template");BE.innerHTML=`
441
441
  <style>
442
442
  :host {
443
443
  font: var(--media-font,
@@ -474,7 +474,7 @@
474
474
  }
475
475
  </style>
476
476
  <slot></slot>
477
- `;var af={HIDDEN:"hidden",ANCHOR:"anchor"},Bl=class extends A.HTMLElement{constructor(){super(),os(this,of),os(this,lf),os(this,df),os(this,uf),os(this,cf),os(this,Ta,void 0),os(this,ls,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[af.HIDDEN,af.ANCHOR]}handleEvent(e){switch(e.type){case"invoke":ya(this,df,OE).call(this,e);break;case"focusout":ya(this,uf,NE).call(this,e);break;case"keydown":ya(this,cf,UE).call(this,e);break}}connectedCallback(){this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){e===af.HIDDEN&&r!==t&&(this.hidden?ya(this,lf,PE).call(this):ya(this,of,ME).call(this))}focus(){DE(this,Ta,jr());let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}get keysUsed(){return["Escape","Tab"]}};Ta=new WeakMap;ls=new WeakMap;of=new WeakSet;ME=function(){var i;(i=pn(this,ls))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};lf=new WeakSet;PE=function(){var i;(i=pn(this,ls))==null||i.setAttribute("aria-expanded","false")};df=new WeakSet;OE=function(i){DE(this,ls,i.relatedTarget),bt(this,i.relatedTarget)||(this.hidden=!this.hidden)};uf=new WeakSet;NE=function(i){var e;bt(this,i.relatedTarget)||((e=pn(this,Ta))==null||e.focus(),pn(this,ls)&&pn(this,ls)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};cf=new WeakSet;UE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=pn(this,Ta))==null||n.focus(),this.hidden=!0))};CS(Bl,"template",FE);A.customElements.get("media-chrome-dialog")||A.customElements.define("media-chrome-dialog",Bl);var DS=Object.defineProperty,MS=(i,e,t)=>e in i?DS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,PS=(i,e,t)=>(MS(i,typeof e!="symbol"?e+"":e,t),t),Ef=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ri=(i,e,t)=>(Ef(i,e,"read from private field"),t?t.call(i):e.get(i)),ar=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ff=(i,e,t,r)=>(Ef(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ii=(i,e,t)=>(Ef(i,e,"access private method"),t),$l,Aa,mf,BE,bf,$E,yf,HE,wi,gn,Sa,pf,GE,Hl,gf,WE=P.createElement("template");WE.innerHTML=`
477
+ `;var af={HIDDEN:"hidden",ANCHOR:"anchor"},Bl=class extends A.HTMLElement{constructor(){super(),os(this,of),os(this,lf),os(this,df),os(this,uf),os(this,cf),os(this,Ta,void 0),os(this,ls,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[af.HIDDEN,af.ANCHOR]}handleEvent(e){switch(e.type){case"invoke":ya(this,df,NE).call(this,e);break;case"focusout":ya(this,uf,UE).call(this,e);break;case"keydown":ya(this,cf,FE).call(this,e);break}}connectedCallback(){this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){e===af.HIDDEN&&r!==t&&(this.hidden?ya(this,lf,OE).call(this):ya(this,of,PE).call(this))}focus(){ME(this,Ta,jr());let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}get keysUsed(){return["Escape","Tab"]}};Ta=new WeakMap;ls=new WeakMap;of=new WeakSet;PE=function(){var i;(i=pn(this,ls))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};lf=new WeakSet;OE=function(){var i;(i=pn(this,ls))==null||i.setAttribute("aria-expanded","false")};df=new WeakSet;NE=function(i){ME(this,ls,i.relatedTarget),bt(this,i.relatedTarget)||(this.hidden=!this.hidden)};uf=new WeakSet;UE=function(i){var e;bt(this,i.relatedTarget)||((e=pn(this,Ta))==null||e.focus(),pn(this,ls)&&pn(this,ls)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};cf=new WeakSet;FE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=pn(this,Ta))==null||n.focus(),this.hidden=!0))};CS(Bl,"template",BE);A.customElements.get("media-chrome-dialog")||A.customElements.define("media-chrome-dialog",Bl);var DS=Object.defineProperty,MS=(i,e,t)=>e in i?DS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,PS=(i,e,t)=>(MS(i,typeof e!="symbol"?e+"":e,t),t),Ef=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ri=(i,e,t)=>(Ef(i,e,"read from private field"),t?t.call(i):e.get(i)),ar=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ff=(i,e,t,r)=>(Ef(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ii=(i,e,t)=>(Ef(i,e,"access private method"),t),$l,Aa,mf,$E,bf,HE,yf,GE,wi,gn,Sa,pf,WE,Hl,gf,VE=P.createElement("template");VE.innerHTML=`
478
478
  <style>
479
479
  :host {
480
480
  transition: var(--media-menu-item-transition,
@@ -590,7 +590,7 @@
590
590
  <slot name="description"></slot>
591
591
  <slot name="suffix"></slot>
592
592
  <slot name="submenu"></slot>
593
- `;var Yt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},ds=class extends A.HTMLElement{constructor(){super(),ar(this,mf),ar(this,bf),ar(this,yf),ar(this,gn),ar(this,pf),ar(this,Hl),ar(this,$l,!1),ar(this,Aa,void 0),ar(this,wi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(t=(e=this.submenuElement.checkedItems)==null?void 0:e[0])==null?void 0:t.text,n=P.createElement("span");n.textContent=s!=null?s:"",r.replaceChildren(n)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Yt.TYPE,Yt.DISABLED,Yt.CHECKED,Yt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),_a(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ii(this,mf,BE).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ii(this,pf,GE).call(this,e);break;case"keyup":Ii(this,gn,Sa).call(this,e);break}}attributeChangedCallback(e,t,r){e===Yt.CHECKED&&_a(this)&&!Ri(this,$l)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Yt.TYPE&&r!==t?this.role="menuitem"+r:e===Yt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Yt.DISABLED)||this.enable(),this.role="menuitem"+this.type,ff(this,Aa,vf(this,this.parentNode)),Ii(this,Hl,gf).call(this)}disconnectedCallback(){this.disable(),Ii(this,Hl,gf).call(this),ff(this,Aa,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Xr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Yt.TYPE))!=null?e:""}set type(e){this.setAttribute(Yt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Yt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Yt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(_a(this))return this.getAttribute("aria-checked")==="true"}set checked(e){_a(this)&&(ff(this,$l,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){_a(this)||this.invokeTargetElement&&bt(this,e.target)&&this.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};$l=new WeakMap;Aa=new WeakMap;mf=new WeakSet;BE=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ii(this,bf,$E).call(this):Ii(this,yf,HE).call(this))};bf=new WeakSet;$E=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Ri(this,wi)),this.submenuElement.addEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.addEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};yf=new WeakSet;HE=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Ri(this,wi)),this.submenuElement.removeEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.removeEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};wi=new WeakMap;gn=new WeakSet;Sa=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ii(this,gn,Sa));return}this.handleClick(i)};pf=new WeakSet;GE=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ii(this,gn,Sa));return}this.addEventListener("keyup",Ii(this,gn,Sa),{once:!0})};Hl=new WeakSet;gf=function(){var i;let e=(i=Ri(this,Aa))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};PS(ds,"template",WE);function _a(i){return i.type==="radio"||i.type==="checkbox"}function vf(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?vf(i,t):e!=null&&e.items?e:vf(e,e==null?void 0:e.parentNode)}A.customElements.get("media-chrome-menu-item")||A.customElements.define("media-chrome-menu-item",ds);var kf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},He=(i,e,t)=>(kf(i,e,"read from private field"),t?t.call(i):e.get(i)),mt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Lr=(i,e,t,r)=>(kf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),di=(i,e,t)=>(kf(i,e,"access private method"),t),Ci,Ql,Gl,Wl,ui,jl,Vl,Kl,ql,If,VE,Yl,Tf,zl,_f,Xl,Rf,Af,KE,Sf,qE,xf,YE,Lf,zE,jE=P.createElement("template");jE.innerHTML=`
593
+ `;var Yt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},ds=class extends A.HTMLElement{constructor(){super(),ar(this,mf),ar(this,bf),ar(this,yf),ar(this,gn),ar(this,pf),ar(this,Hl),ar(this,$l,!1),ar(this,Aa,void 0),ar(this,wi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(t=(e=this.submenuElement.checkedItems)==null?void 0:e[0])==null?void 0:t.text,n=P.createElement("span");n.textContent=s!=null?s:"",r.replaceChildren(n)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Yt.TYPE,Yt.DISABLED,Yt.CHECKED,Yt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),_a(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ii(this,mf,$E).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ii(this,pf,WE).call(this,e);break;case"keyup":Ii(this,gn,Sa).call(this,e);break}}attributeChangedCallback(e,t,r){e===Yt.CHECKED&&_a(this)&&!Ri(this,$l)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Yt.TYPE&&r!==t?this.role="menuitem"+r:e===Yt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Yt.DISABLED)||this.enable(),this.role="menuitem"+this.type,ff(this,Aa,vf(this,this.parentNode)),Ii(this,Hl,gf).call(this)}disconnectedCallback(){this.disable(),Ii(this,Hl,gf).call(this),ff(this,Aa,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Xr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Yt.TYPE))!=null?e:""}set type(e){this.setAttribute(Yt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Yt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Yt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(_a(this))return this.getAttribute("aria-checked")==="true"}set checked(e){_a(this)&&(ff(this,$l,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){_a(this)||this.invokeTargetElement&&bt(this,e.target)&&this.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};$l=new WeakMap;Aa=new WeakMap;mf=new WeakSet;$E=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ii(this,bf,HE).call(this):Ii(this,yf,GE).call(this))};bf=new WeakSet;HE=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Ri(this,wi)),this.submenuElement.addEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.addEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};yf=new WeakSet;GE=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Ri(this,wi)),this.submenuElement.removeEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.removeEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};wi=new WeakMap;gn=new WeakSet;Sa=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ii(this,gn,Sa));return}this.handleClick(i)};pf=new WeakSet;WE=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ii(this,gn,Sa));return}this.addEventListener("keyup",Ii(this,gn,Sa),{once:!0})};Hl=new WeakSet;gf=function(){var i;let e=(i=Ri(this,Aa))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};PS(ds,"template",VE);function _a(i){return i.type==="radio"||i.type==="checkbox"}function vf(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?vf(i,t):e!=null&&e.items?e:vf(e,e==null?void 0:e.parentNode)}A.customElements.get("media-chrome-menu-item")||A.customElements.define("media-chrome-menu-item",ds);var kf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},He=(i,e,t)=>(kf(i,e,"read from private field"),t?t.call(i):e.get(i)),mt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Lr=(i,e,t,r)=>(kf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),di=(i,e,t)=>(kf(i,e,"access private method"),t),Ci,Ql,Gl,Wl,ui,jl,Vl,Kl,ql,If,KE,Yl,Tf,zl,_f,Xl,Rf,Af,qE,Sf,YE,xf,zE,Lf,jE,XE=P.createElement("template");XE.innerHTML=`
594
594
  <style>
595
595
  :host {
596
596
  --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
@@ -826,7 +826,7 @@
826
826
  <input id="range" type="range" min="0" max="1" step="any" value="0">
827
827
  </div>
828
828
  <div id="rightgap"></div>
829
- `;var us=class extends A.HTMLElement{constructor(){super(),mt(this,If),mt(this,Yl),mt(this,zl),mt(this,Xl),mt(this,Af),mt(this,Sf),mt(this,xf),mt(this,Lf),mt(this,Ci,void 0),mt(this,Ql,void 0),mt(this,Gl,void 0),mt(this,Wl,void 0),mt(this,ui,{}),mt(this,jl,[]),mt(this,Vl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Te(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),mt(this,Kl,()=>{let{style:e}=Te(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),mt(this,ql,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(jE.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),Lr(this,Gl,this.shadowRoot.querySelector("#startpoint")),Lr(this,Wl,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",ee.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER?(t&&((n=(s=He(this,Ci))==null?void 0:s.unassociateElement)==null||n.call(s,this),Lr(this,Ci,null)),r&&this.isConnected&&(Lr(this,Ci,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=He(this,Ci))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),di(this,Yl,Tf).call(this)):(this.range.setAttribute(e,r),di(this,zl,_f).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),He(this,ui).pointer=Te(this.shadowRoot,"#pointer"),He(this,ui).progress=Te(this.shadowRoot,"#progress"),He(this,ui).thumb=Te(this.shadowRoot,"#thumb");let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(Lr(this,Ci,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=He(this,Ci))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",He(this,Vl)),this.shadowRoot.addEventListener("focusout",He(this,Kl)),di(this,Yl,Tf).call(this),Vt(this.container,He(this,ql))}disconnectedCallback(){var e,t;di(this,zl,_f).call(this),(t=(e=He(this,Ci))==null?void 0:e.unassociateElement)==null||t.call(e,this),Lr(this,Ci,null),this.shadowRoot.removeEventListener("focusin",He(this,Vl)),this.shadowRoot.removeEventListener("focusout",He(this,Kl)),Ai(this.container,He(this,ql))}updatePointerBar(e){var t;(t=He(this,ui).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=He(this,ui).progress)==null||e.style.setProperty("width",`${r}%`),(t=He(this,ui).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;He(this,ui).activeSegment=ch(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];Lr(this,jl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=P.createElementNS("http://www.w3.org/2000/svg","rect"),f=Te(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=Lv(e.clientX,e.clientY,He(this,Gl).getBoundingClientRect(),He(this,Wl).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":di(this,Lf,zE).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":di(this,Af,KE).call(this,e);break;case"pointerdown":di(this,Xl,Rf).call(this,e);break;case"pointerup":di(this,Sf,qE).call(this);break;case"pointerleave":di(this,xf,YE).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ci=new WeakMap;Ql=new WeakMap;Gl=new WeakMap;Wl=new WeakMap;ui=new WeakMap;jl=new WeakMap;Vl=new WeakMap;Kl=new WeakMap;ql=new WeakMap;If=new WeakSet;VE=function(i){let e=He(this,ui).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${He(this,jl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};Yl=new WeakSet;Tf=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};zl=new WeakSet;_f=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=A.window)==null||i.removeEventListener("pointerup",this),(e=A.window)==null||e.removeEventListener("pointermove",this)};Xl=new WeakSet;Rf=function(i){var e;Lr(this,Ql,i.composedPath().includes(this.range)),(e=A.window)==null||e.addEventListener("pointerup",this)};Af=new WeakSet;KE=function(i){var e;i.pointerType!=="mouse"&&di(this,Xl,Rf).call(this,i),this.addEventListener("pointerleave",this),(e=A.window)==null||e.addEventListener("pointermove",this)};Sf=new WeakSet;qE=function(){var i;(i=A.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};xf=new WeakSet;YE=function(){var i,e;this.removeEventListener("pointerleave",this),(i=A.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=He(this,ui).activeSegment)==null||e.style.removeProperty("transform")};Lf=new WeakSet;zE=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),di(this,If,VE).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!He(this,Ql))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};A.customElements.get("media-chrome-range")||A.customElements.define("media-chrome-range",us);var XE=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Zl=(i,e,t)=>(XE(i,e,"read from private field"),t?t.call(i):e.get(i)),OS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Jl=(i,e,t,r)=>(XE(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Di,QE=P.createElement("template");QE.innerHTML=`
829
+ `;var us=class extends A.HTMLElement{constructor(){super(),mt(this,If),mt(this,Yl),mt(this,zl),mt(this,Xl),mt(this,Af),mt(this,Sf),mt(this,xf),mt(this,Lf),mt(this,Ci,void 0),mt(this,Ql,void 0),mt(this,Gl,void 0),mt(this,Wl,void 0),mt(this,ui,{}),mt(this,jl,[]),mt(this,Vl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Te(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),mt(this,Kl,()=>{let{style:e}=Te(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),mt(this,ql,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(XE.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),Lr(this,Gl,this.shadowRoot.querySelector("#startpoint")),Lr(this,Wl,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",ee.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER?(t&&((n=(s=He(this,Ci))==null?void 0:s.unassociateElement)==null||n.call(s,this),Lr(this,Ci,null)),r&&this.isConnected&&(Lr(this,Ci,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=He(this,Ci))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),di(this,Yl,Tf).call(this)):(this.range.setAttribute(e,r),di(this,zl,_f).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),He(this,ui).pointer=Te(this.shadowRoot,"#pointer"),He(this,ui).progress=Te(this.shadowRoot,"#progress"),He(this,ui).thumb=Te(this.shadowRoot,"#thumb");let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(Lr(this,Ci,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=He(this,Ci))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",He(this,Vl)),this.shadowRoot.addEventListener("focusout",He(this,Kl)),di(this,Yl,Tf).call(this),Vt(this.container,He(this,ql))}disconnectedCallback(){var e,t;di(this,zl,_f).call(this),(t=(e=He(this,Ci))==null?void 0:e.unassociateElement)==null||t.call(e,this),Lr(this,Ci,null),this.shadowRoot.removeEventListener("focusin",He(this,Vl)),this.shadowRoot.removeEventListener("focusout",He(this,Kl)),Ai(this.container,He(this,ql))}updatePointerBar(e){var t;(t=He(this,ui).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=He(this,ui).progress)==null||e.style.setProperty("width",`${r}%`),(t=He(this,ui).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;He(this,ui).activeSegment=ch(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];Lr(this,jl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=P.createElementNS("http://www.w3.org/2000/svg","rect"),f=Te(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=kv(e.clientX,e.clientY,He(this,Gl).getBoundingClientRect(),He(this,Wl).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":di(this,Lf,jE).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":di(this,Af,qE).call(this,e);break;case"pointerdown":di(this,Xl,Rf).call(this,e);break;case"pointerup":di(this,Sf,YE).call(this);break;case"pointerleave":di(this,xf,zE).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ci=new WeakMap;Ql=new WeakMap;Gl=new WeakMap;Wl=new WeakMap;ui=new WeakMap;jl=new WeakMap;Vl=new WeakMap;Kl=new WeakMap;ql=new WeakMap;If=new WeakSet;KE=function(i){let e=He(this,ui).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${He(this,jl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};Yl=new WeakSet;Tf=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};zl=new WeakSet;_f=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=A.window)==null||i.removeEventListener("pointerup",this),(e=A.window)==null||e.removeEventListener("pointermove",this)};Xl=new WeakSet;Rf=function(i){var e;Lr(this,Ql,i.composedPath().includes(this.range)),(e=A.window)==null||e.addEventListener("pointerup",this)};Af=new WeakSet;qE=function(i){var e;i.pointerType!=="mouse"&&di(this,Xl,Rf).call(this,i),this.addEventListener("pointerleave",this),(e=A.window)==null||e.addEventListener("pointermove",this)};Sf=new WeakSet;YE=function(){var i;(i=A.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};xf=new WeakSet;zE=function(){var i,e;this.removeEventListener("pointerleave",this),(i=A.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=He(this,ui).activeSegment)==null||e.style.removeProperty("transform")};Lf=new WeakSet;jE=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),di(this,If,KE).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!He(this,Ql))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};A.customElements.get("media-chrome-range")||A.customElements.define("media-chrome-range",us);var QE=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Zl=(i,e,t)=>(QE(i,e,"read from private field"),t?t.call(i):e.get(i)),OS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Jl=(i,e,t,r)=>(QE(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Di,ZE=P.createElement("template");ZE.innerHTML=`
830
830
  <style>
831
831
  :host {
832
832
 
@@ -848,7 +848,7 @@
848
848
  </style>
849
849
 
850
850
  <slot></slot>
851
- `;var wf=class extends A.HTMLElement{constructor(){super(),OS(this,Di,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(QE.content.cloneNode(!0)))}static get observedAttributes(){return[ee.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=Zl(this,Di))==null?void 0:s.unassociateElement)==null||n.call(s,this),Jl(this,Di,null)),r&&this.isConnected&&(Jl(this,Di,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Zl(this,Di))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(Jl(this,Di,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Zl(this,Di))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Zl(this,Di))==null?void 0:e.unassociateElement)==null||t.call(e,this),Jl(this,Di,null)}};Di=new WeakMap;A.customElements.get("media-control-bar")||A.customElements.define("media-control-bar",wf);var ZE=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ed=(i,e,t)=>(ZE(i,e,"read from private field"),t?t.call(i):e.get(i)),NS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},td=(i,e,t,r)=>(ZE(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mi,JE=P.createElement("template");JE.innerHTML=`
851
+ `;var wf=class extends A.HTMLElement{constructor(){super(),OS(this,Di,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(ZE.content.cloneNode(!0)))}static get observedAttributes(){return[ee.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=Zl(this,Di))==null?void 0:s.unassociateElement)==null||n.call(s,this),Jl(this,Di,null)),r&&this.isConnected&&(Jl(this,Di,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Zl(this,Di))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(Jl(this,Di,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Zl(this,Di))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Zl(this,Di))==null?void 0:e.unassociateElement)==null||t.call(e,this),Jl(this,Di,null)}};Di=new WeakMap;A.customElements.get("media-control-bar")||A.customElements.define("media-control-bar",wf);var JE=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ed=(i,e,t)=>(JE(i,e,"read from private field"),t?t.call(i):e.get(i)),NS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},td=(i,e,t,r)=>(JE(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mi,eb=P.createElement("template");eb.innerHTML=`
852
852
  <style>
853
853
  :host {
854
854
  font: var(--media-font,
@@ -881,11 +881,11 @@
881
881
  }
882
882
  </style>
883
883
  <slot></slot>
884
- `;var Pi=class extends A.HTMLElement{constructor(){super(),NS(this,Mi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(JE.content.cloneNode(!0)))}static get observedAttributes(){return[ee.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=ed(this,Mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),td(this,Mi,null)),r&&this.isConnected&&(td(this,Mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ed(this,Mi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(td(this,Mi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=ed(this,Mi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ed(this,Mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),td(this,Mi,null)}};Mi=new WeakMap;A.customElements.get("media-text-display")||A.customElements.define("media-text-display",Pi);var eb=Pi;var ib=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},tb=(i,e,t)=>(ib(i,e,"read from private field"),t?t.call(i):e.get(i)),US=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},FS=(i,e,t,r)=>(ib(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),xa,Cf=class extends Pi{constructor(){super(),US(this,xa,void 0),FS(this,xa,this.shadowRoot.querySelector("slot")),tb(this,xa).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===b.MEDIA_DURATION&&(tb(this,xa).textContent=_i(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return ve(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}};xa=new WeakMap;A.customElements.get("media-duration-display")||A.customElements.define("media-duration-display",Cf);var BS=`<svg aria-hidden="true" viewBox="0 0 26 24">
884
+ `;var Pi=class extends A.HTMLElement{constructor(){super(),NS(this,Mi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(eb.content.cloneNode(!0)))}static get observedAttributes(){return[ee.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=ed(this,Mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),td(this,Mi,null)),r&&this.isConnected&&(td(this,Mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ed(this,Mi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(td(this,Mi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=ed(this,Mi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ed(this,Mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),td(this,Mi,null)}};Mi=new WeakMap;A.customElements.get("media-text-display")||A.customElements.define("media-text-display",Pi);var tb=Pi;var rb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ib=(i,e,t)=>(rb(i,e,"read from private field"),t?t.call(i):e.get(i)),US=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},FS=(i,e,t,r)=>(rb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),xa,Cf=class extends Pi{constructor(){super(),US(this,xa,void 0),FS(this,xa,this.shadowRoot.querySelector("slot")),ib(this,xa).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===b.MEDIA_DURATION&&(ib(this,xa).textContent=_i(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return ve(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}};xa=new WeakMap;A.customElements.get("media-duration-display")||A.customElements.define("media-duration-display",Cf);var BS=`<svg aria-hidden="true" viewBox="0 0 26 24">
885
885
  <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
886
886
  </svg>`,$S=`<svg aria-hidden="true" viewBox="0 0 26 24">
887
887
  <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
888
- </svg>`,sb=P.createElement("template");sb.innerHTML=`
888
+ </svg>`,nb=P.createElement("template");nb.innerHTML=`
889
889
  <style>
890
890
  :host([${b.MEDIA_IS_FULLSCREEN}]) slot:not([name=exit]):not([name=icon]) {
891
891
  display: none !important;
@@ -901,7 +901,7 @@
901
901
  <slot name="enter">${BS}</slot>
902
902
  <slot name="exit">${$S}</slot>
903
903
  </slot>
904
- `;var rb=i=>{let e=i.mediaIsFullscreen?De.EXIT_FULLSCREEN():De.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},Df=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_FULLSCREEN,b.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:sb,...e})}connectedCallback(){super.connectedCallback(),rb(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_FULLSCREEN&&rb(this)}get mediaFullscreenUnavailable(){return ue(this,b.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){le(this,b.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Le(this,b.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ae(this,b.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?F.MEDIA_EXIT_FULLSCREEN_REQUEST:F.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-fullscreen-button")||A.customElements.define("media-fullscreen-button",Df);var{MEDIA_TIME_IS_LIVE:id,MEDIA_PAUSED:La}=b,{MEDIA_SEEK_TO_LIVE_REQUEST:HS,MEDIA_PLAY_REQUEST:GS}=F,WS='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',ab=P.createElement("template");ab.innerHTML=`
904
+ `;var sb=i=>{let e=i.mediaIsFullscreen?De.EXIT_FULLSCREEN():De.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},Df=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_FULLSCREEN,b.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:nb,...e})}connectedCallback(){super.connectedCallback(),sb(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_FULLSCREEN&&sb(this)}get mediaFullscreenUnavailable(){return ue(this,b.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){le(this,b.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Le(this,b.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ae(this,b.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?F.MEDIA_EXIT_FULLSCREEN_REQUEST:F.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-fullscreen-button")||A.customElements.define("media-fullscreen-button",Df);var{MEDIA_TIME_IS_LIVE:id,MEDIA_PAUSED:La}=b,{MEDIA_SEEK_TO_LIVE_REQUEST:HS,MEDIA_PLAY_REQUEST:GS}=F,WS='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',ob=P.createElement("template");ob.innerHTML=`
905
905
  <style>
906
906
 
907
907
  slot[name=indicator] > *,
@@ -927,7 +927,7 @@
927
927
  <slot name="indicator">${WS}</slot>
928
928
 
929
929
  <slot name="spacer">&nbsp;</slot><slot name="text">LIVE</slot>
930
- `;var nb=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?De.SEEK_LIVE():De.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},Mf=class extends be{static get observedAttributes(){return[...super.observedAttributes,La,id]}constructor(e={}){super({slotTemplate:ab,...e})}connectedCallback(){nb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),nb(this)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Le(this,b.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ae(this,b.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new A.CustomEvent(HS,{composed:!0,bubbles:!0})),this.hasAttribute(La)&&this.dispatchEvent(new A.CustomEvent(GS,{composed:!0,bubbles:!0})))}};A.customElements.get("media-live-button")||A.customElements.define("media-live-button",Mf);var db=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ka=(i,e,t)=>(db(i,e,"read from private field"),t?t.call(i):e.get(i)),ob=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ia=(i,e,t,r)=>(db(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Oi,rd,lb={LOADING_DELAY:"loadingdelay"},ub=500,cb=P.createElement("template"),VS=`
930
+ `;var ab=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?De.SEEK_LIVE():De.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},Mf=class extends be{static get observedAttributes(){return[...super.observedAttributes,La,id]}constructor(e={}){super({slotTemplate:ob,...e})}connectedCallback(){ab(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),ab(this)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Le(this,b.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ae(this,b.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new A.CustomEvent(HS,{composed:!0,bubbles:!0})),this.hasAttribute(La)&&this.dispatchEvent(new A.CustomEvent(GS,{composed:!0,bubbles:!0})))}};A.customElements.get("media-live-button")||A.customElements.define("media-live-button",Mf);var ub=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ka=(i,e,t)=>(ub(i,e,"read from private field"),t?t.call(i):e.get(i)),lb=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ia=(i,e,t,r)=>(ub(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Oi,rd,db={LOADING_DELAY:"loadingdelay"},cb=500,hb=P.createElement("template"),VS=`
931
931
  <svg aria-hidden="true" viewBox="0 0 100 100">
932
932
  <path d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
933
933
  <animateTransform
@@ -940,13 +940,13 @@
940
940
  repeatCount="indefinite" />
941
941
  </path>
942
942
  </svg>
943
- `;cb.innerHTML=`
943
+ `;hb.innerHTML=`
944
944
  <style>
945
945
  :host {
946
946
  display: var(--media-control-display, var(--media-loading-indicator-display, inline-block));
947
947
  vertical-align: middle;
948
948
  box-sizing: border-box;
949
- --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${ub}ms);
949
+ --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${cb}ms);
950
950
  }
951
951
 
952
952
  #status {
@@ -987,13 +987,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
987
987
 
988
988
  <slot name="icon">${VS}</slot>
989
989
  <div id="status" role="status" aria-live="polite">${Ce.MEDIA_LOADING()}</div>
990
- `;var Pf=class extends A.HTMLElement{constructor(){if(super(),ob(this,Oi,void 0),ob(this,rd,ub),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=cb.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[ee.MEDIA_CONTROLLER,b.MEDIA_PAUSED,b.MEDIA_LOADING,lb.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===lb.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=ka(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ia(this,Oi,null)),r&&this.isConnected&&(Ia(this,Oi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ka(this,Oi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(Ia(this,Oi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ka(this,Oi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ka(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ia(this,Oi,null)}get loadingDelay(){return ka(this,rd)}set loadingDelay(e){Ia(this,rd,e);let{style:t}=Te(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}};Oi=new WeakMap;rd=new WeakMap;A.customElements.get("media-loading-indicator")||A.customElements.define("media-loading-indicator",Pf);var{MEDIA_VOLUME_LEVEL:Ra}=b,KS=`<svg aria-hidden="true" viewBox="0 0 24 24">
990
+ `;var Pf=class extends A.HTMLElement{constructor(){if(super(),lb(this,Oi,void 0),lb(this,rd,cb),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=hb.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[ee.MEDIA_CONTROLLER,b.MEDIA_PAUSED,b.MEDIA_LOADING,db.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===db.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=ka(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ia(this,Oi,null)),r&&this.isConnected&&(Ia(this,Oi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ka(this,Oi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(Ia(this,Oi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ka(this,Oi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ka(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ia(this,Oi,null)}get loadingDelay(){return ka(this,rd)}set loadingDelay(e){Ia(this,rd,e);let{style:t}=Te(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}};Oi=new WeakMap;rd=new WeakMap;A.customElements.get("media-loading-indicator")||A.customElements.define("media-loading-indicator",Pf);var{MEDIA_VOLUME_LEVEL:Ra}=b,KS=`<svg aria-hidden="true" viewBox="0 0 24 24">
991
991
  <path d="M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z"/>
992
- </svg>`,hb=`<svg aria-hidden="true" viewBox="0 0 24 24">
992
+ </svg>`,fb=`<svg aria-hidden="true" viewBox="0 0 24 24">
993
993
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z"/>
994
994
  </svg>`,qS=`<svg aria-hidden="true" viewBox="0 0 24 24">
995
995
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z"/>
996
- </svg>`,mb=P.createElement("template");mb.innerHTML=`
996
+ </svg>`,pb=P.createElement("template");pb.innerHTML=`
997
997
  <style>
998
998
 
999
999
  :host(:not([${Ra}])) slot:not([name=high]):not([name=icon]),
@@ -1016,13 +1016,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
1016
1016
 
1017
1017
  <slot name="icon">
1018
1018
  <slot name="off">${KS}</slot>
1019
- <slot name="low">${hb}</slot>
1020
- <slot name="medium">${hb}</slot>
1019
+ <slot name="low">${fb}</slot>
1020
+ <slot name="medium">${fb}</slot>
1021
1021
  <slot name="high">${qS}</slot>
1022
1022
  </slot>
1023
- `;var fb=i=>{let t=i.mediaVolumeLevel==="off"?De.UNMUTE():De.MUTE();i.setAttribute("aria-label",t)},Of=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:mb,...e})}connectedCallback(){fb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_VOLUME_LEVEL&&fb(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return ue(this,b.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){le(this,b.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?F.MEDIA_UNMUTE_REQUEST:F.MEDIA_MUTE_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-mute-button")||A.customElements.define("media-mute-button",Of);var pb=`<svg aria-hidden="true" viewBox="0 0 28 24">
1023
+ `;var mb=i=>{let t=i.mediaVolumeLevel==="off"?De.UNMUTE():De.MUTE();i.setAttribute("aria-label",t)},Of=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:pb,...e})}connectedCallback(){mb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_VOLUME_LEVEL&&mb(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return ue(this,b.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){le(this,b.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?F.MEDIA_UNMUTE_REQUEST:F.MEDIA_MUTE_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-mute-button")||A.customElements.define("media-mute-button",Of);var gb=`<svg aria-hidden="true" viewBox="0 0 28 24">
1024
1024
  <path d="M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z"/>
1025
- </svg>`,vb=P.createElement("template");vb.innerHTML=`
1025
+ </svg>`,Eb=P.createElement("template");Eb.innerHTML=`
1026
1026
  <style>
1027
1027
  :host([${b.MEDIA_IS_PIP}]) slot:not([name=exit]):not([name=icon]) {
1028
1028
  display: none !important;
@@ -1035,10 +1035,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
1035
1035
  </style>
1036
1036
 
1037
1037
  <slot name="icon">
1038
- <slot name="enter">${pb}</slot>
1039
- <slot name="exit">${pb}</slot>
1038
+ <slot name="enter">${gb}</slot>
1039
+ <slot name="exit">${gb}</slot>
1040
1040
  </slot>
1041
- `;var gb=i=>{let e=i.mediaIsPip?De.EXIT_PIP():De.ENTER_PIP();i.setAttribute("aria-label",e)},Nf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_PIP,b.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:vb,...e})}connectedCallback(){gb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_IS_PIP&&gb(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return ue(this,b.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){le(this,b.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Le(this,b.MEDIA_IS_PIP)}set mediaIsPip(e){Ae(this,b.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?F.MEDIA_EXIT_PIP_REQUEST:F.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-pip-button")||A.customElements.define("media-pip-button",Nf);var YS=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},sd=(i,e,t)=>(YS(i,e,"read from private field"),t?t.call(i):e.get(i)),zS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},vn,Uf={RATES:"rates"},wa=[1,1.2,1.5,1.7,2],kr=1,Eb=P.createElement("template");Eb.innerHTML=`
1041
+ `;var vb=i=>{let e=i.mediaIsPip?De.EXIT_PIP():De.ENTER_PIP();i.setAttribute("aria-label",e)},Nf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_PIP,b.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Eb,...e})}connectedCallback(){vb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_IS_PIP&&vb(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return ue(this,b.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){le(this,b.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Le(this,b.MEDIA_IS_PIP)}set mediaIsPip(e){Ae(this,b.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?F.MEDIA_EXIT_PIP_REQUEST:F.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-pip-button")||A.customElements.define("media-pip-button",Nf);var YS=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},sd=(i,e,t)=>(YS(i,e,"read from private field"),t?t.call(i):e.get(i)),zS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},vn,Uf={RATES:"rates"},wa=[1,1.2,1.5,1.7,2],kr=1,bb=P.createElement("template");bb.innerHTML=`
1042
1042
  <style>
1043
1043
  :host {
1044
1044
  min-width: 5ch;
@@ -1046,7 +1046,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1046
1046
  }
1047
1047
  </style>
1048
1048
  <slot name="icon"></slot>
1049
- `;var Ff=class extends be{constructor(e={}){super({slotTemplate:Eb,...e}),zS(this,vn,new Kt(this,Uf.RATES,{defaultValue:wa})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${kr}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Uf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Uf.RATES&&(sd(this,vn).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?kr:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Ce.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return sd(this,vn)}set rates(e){e?Array.isArray(e)&&(sd(this,vn).value=e.join(" ")):sd(this,vn).value=""}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:kr,n=new A.CustomEvent(F.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};vn=new WeakMap;A.customElements.get("media-playback-rate-button")||A.customElements.define("media-playback-rate-button",Ff);var bb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},nd=(i,e,t)=>(bb(i,e,"read from private field"),t?t.call(i):e.get(i)),Bf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ca=(i,e,t)=>(bb(i,e,"access private method"),t),En,Da,ad,od,Hf,$f={RATES:"rates"},Gf=class extends yt{constructor(){super(),Bf(this,Da),Bf(this,od),Bf(this,En,new Kt(this,$f.RATES,{defaultValue:wa})),Ca(this,Da,ad).call(this)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,$f.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===$f.RATES&&t!=r&&(nd(this,En).value=r,Ca(this,Da,ad).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ca(this,od,Hf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ca(this,od,Hf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-playback-rate-menu-button")}get rates(){return nd(this,En)}set rates(e){e?Array.isArray(e)&&(nd(this,En).value=e.join(" ")):nd(this,En).value="",Ca(this,Da,ad).call(this)}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};En=new WeakMap;Da=new WeakSet;ad=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=ki({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(li(this,"checked-indicator")),this.defaultSlot.append(e)}};od=new WeakSet;Hf=function(){if(!this.value)return;let i=new A.CustomEvent(F.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-playback-rate-menu")||A.customElements.define("media-playback-rate-menu",Gf);var jS=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ld=(i,e,t)=>(jS(i,e,"read from private field"),t?t.call(i):e.get(i)),XS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},bn,Wf={RATES:"rates"},QS=[1,1.2,1.5,1.7,2],Vf=1,yb=P.createElement("template");yb.innerHTML=`
1049
+ `;var Ff=class extends be{constructor(e={}){super({slotTemplate:bb,...e}),zS(this,vn,new Kt(this,Uf.RATES,{defaultValue:wa})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${kr}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Uf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Uf.RATES&&(sd(this,vn).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?kr:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Ce.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return sd(this,vn)}set rates(e){e?Array.isArray(e)&&(sd(this,vn).value=e.join(" ")):sd(this,vn).value=""}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:kr,n=new A.CustomEvent(F.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};vn=new WeakMap;A.customElements.get("media-playback-rate-button")||A.customElements.define("media-playback-rate-button",Ff);var yb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},nd=(i,e,t)=>(yb(i,e,"read from private field"),t?t.call(i):e.get(i)),Bf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ca=(i,e,t)=>(yb(i,e,"access private method"),t),En,Da,ad,od,Hf,$f={RATES:"rates"},Gf=class extends yt{constructor(){super(),Bf(this,Da),Bf(this,od),Bf(this,En,new Kt(this,$f.RATES,{defaultValue:wa})),Ca(this,Da,ad).call(this)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,$f.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===$f.RATES&&t!=r&&(nd(this,En).value=r,Ca(this,Da,ad).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ca(this,od,Hf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ca(this,od,Hf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-playback-rate-menu-button")}get rates(){return nd(this,En)}set rates(e){e?Array.isArray(e)&&(nd(this,En).value=e.join(" ")):nd(this,En).value="",Ca(this,Da,ad).call(this)}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};En=new WeakMap;Da=new WeakSet;ad=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=ki({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(li(this,"checked-indicator")),this.defaultSlot.append(e)}};od=new WeakSet;Hf=function(){if(!this.value)return;let i=new A.CustomEvent(F.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-playback-rate-menu")||A.customElements.define("media-playback-rate-menu",Gf);var jS=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ld=(i,e,t)=>(jS(i,e,"read from private field"),t?t.call(i):e.get(i)),XS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},bn,Wf={RATES:"rates"},QS=[1,1.2,1.5,1.7,2],Vf=1,Tb=P.createElement("template");Tb.innerHTML=`
1050
1050
  <style>
1051
1051
  :host {
1052
1052
  min-width: 5ch;
@@ -1054,11 +1054,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
1054
1054
  }
1055
1055
  </style>
1056
1056
  <slot name="icon"></slot>
1057
- `;var Kf=class extends $t{constructor(e={}){super({slotTemplate:yb,...e}),XS(this,bn,new Kt(this,Wf.RATES,{defaultValue:QS})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Vf}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Wf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Wf.RATES&&(ld(this,bn).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Vf:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Ce.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-playback-rate-menu")}get rates(){return ld(this,bn)}set rates(e){e?Array.isArray(e)&&(ld(this,bn).value=e.join(" ")):ld(this,bn).value=""}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,Vf)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};bn=new WeakMap;A.customElements.get("media-playback-rate-menu-button")||A.customElements.define("media-playback-rate-menu-button",Kf);var ZS=`<svg aria-hidden="true" viewBox="0 0 24 24">
1057
+ `;var Kf=class extends $t{constructor(e={}){super({slotTemplate:Tb,...e}),XS(this,bn,new Kt(this,Wf.RATES,{defaultValue:QS})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Vf}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Wf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Wf.RATES&&(ld(this,bn).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Vf:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Ce.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-playback-rate-menu")}get rates(){return ld(this,bn)}set rates(e){e?Array.isArray(e)&&(ld(this,bn).value=e.join(" ")):ld(this,bn).value=""}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,Vf)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};bn=new WeakMap;A.customElements.get("media-playback-rate-menu-button")||A.customElements.define("media-playback-rate-menu-button",Kf);var ZS=`<svg aria-hidden="true" viewBox="0 0 24 24">
1058
1058
  <path d="m6 21 15-9L6 3v18Z"/>
1059
1059
  </svg>`,JS=`<svg aria-hidden="true" viewBox="0 0 24 24">
1060
1060
  <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
1061
- </svg>`,_b=P.createElement("template");_b.innerHTML=`
1061
+ </svg>`,Ab=P.createElement("template");Ab.innerHTML=`
1062
1062
  <style>
1063
1063
  :host([${b.MEDIA_PAUSED}]) slot[name=pause] {
1064
1064
  display: none !important;
@@ -1073,7 +1073,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1073
1073
  <slot name="play">${ZS}</slot>
1074
1074
  <slot name="pause">${JS}</slot>
1075
1075
  </slot>
1076
- `;var Tb=i=>{let e=i.mediaPaused?De.PLAY():De.PAUSE();i.setAttribute("aria-label",e)},qf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:_b,...e})}connectedCallback(){Tb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_PAUSED&&Tb(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?F.MEDIA_PLAY_REQUEST:F.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-play-button")||A.customElements.define("media-play-button",qf);var Ni={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Ab=P.createElement("template");Ab.innerHTML=`
1076
+ `;var _b=i=>{let e=i.mediaPaused?De.PLAY():De.PAUSE();i.setAttribute("aria-label",e)},qf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Ab,...e})}connectedCallback(){_b(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_PAUSED&&_b(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?F.MEDIA_PLAY_REQUEST:F.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new A.CustomEvent(e,{composed:!0,bubbles:!0}))}};A.customElements.get("media-play-button")||A.customElements.define("media-play-button",qf);var Ni={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Sb=P.createElement("template");Sb.innerHTML=`
1077
1077
  <style>
1078
1078
  :host {
1079
1079
  pointer-events: none;
@@ -1095,7 +1095,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1095
1095
  </style>
1096
1096
 
1097
1097
  <img part="poster img" aria-hidden="true" id="image"/>
1098
- `;var ex=i=>{i.style.removeProperty("background-image")},tx=(i,e)=>{i.style["background-image"]=`url('${e}')`},Yf=class extends A.HTMLElement{static get observedAttributes(){return[Ni.PLACEHOLDER_SRC,Ni.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Ab.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===Ni.SRC&&(r==null?this.image.removeAttribute(Ni.SRC):this.image.setAttribute(Ni.SRC,r)),e===Ni.PLACEHOLDER_SRC&&(r==null?ex(this.image):tx(this.image,r))}get placeholderSrc(){return ue(this,Ni.PLACEHOLDER_SRC)}set placeholderSrc(e){le(this,Ni.SRC,e)}get src(){return ue(this,Ni.SRC)}set src(e){le(this,Ni.SRC,e)}};A.customElements.get("media-poster-image")||A.customElements.define("media-poster-image",Yf);var Sb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ix=(i,e,t)=>(Sb(i,e,"read from private field"),t?t.call(i):e.get(i)),rx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sx=(i,e,t,r)=>(Sb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),dd,zf=class extends eb{constructor(){super(),rx(this,dd,void 0),sx(this,dd,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(ix(this,dd).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return ue(this,b.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){le(this,b.MEDIA_PREVIEW_CHAPTER,e)}};dd=new WeakMap;A.customElements.get("media-preview-chapter-display")||A.customElements.define("media-preview-chapter-display",zf);var xb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ud=(i,e,t)=>(xb(i,e,"read from private field"),t?t.call(i):e.get(i)),nx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},cd=(i,e,t,r)=>(xb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui,Lb=P.createElement("template");Lb.innerHTML=`
1098
+ `;var ex=i=>{i.style.removeProperty("background-image")},tx=(i,e)=>{i.style["background-image"]=`url('${e}')`},Yf=class extends A.HTMLElement{static get observedAttributes(){return[Ni.PLACEHOLDER_SRC,Ni.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Sb.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===Ni.SRC&&(r==null?this.image.removeAttribute(Ni.SRC):this.image.setAttribute(Ni.SRC,r)),e===Ni.PLACEHOLDER_SRC&&(r==null?ex(this.image):tx(this.image,r))}get placeholderSrc(){return ue(this,Ni.PLACEHOLDER_SRC)}set placeholderSrc(e){le(this,Ni.SRC,e)}get src(){return ue(this,Ni.SRC)}set src(e){le(this,Ni.SRC,e)}};A.customElements.get("media-poster-image")||A.customElements.define("media-poster-image",Yf);var xb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ix=(i,e,t)=>(xb(i,e,"read from private field"),t?t.call(i):e.get(i)),rx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sx=(i,e,t,r)=>(xb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),dd,zf=class extends tb{constructor(){super(),rx(this,dd,void 0),sx(this,dd,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(ix(this,dd).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return ue(this,b.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){le(this,b.MEDIA_PREVIEW_CHAPTER,e)}};dd=new WeakMap;A.customElements.get("media-preview-chapter-display")||A.customElements.define("media-preview-chapter-display",zf);var Lb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ud=(i,e,t)=>(Lb(i,e,"read from private field"),t?t.call(i):e.get(i)),nx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},cd=(i,e,t,r)=>(Lb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui,kb=P.createElement("template");kb.innerHTML=`
1099
1099
  <style>
1100
1100
  :host {
1101
1101
  box-sizing: border-box;
@@ -1109,15 +1109,15 @@ svg, img, ::slotted(svg), ::slotted(img) {
1109
1109
  }
1110
1110
  </style>
1111
1111
  <img crossorigin loading="eager" decoding="async">
1112
- `;var jf=class extends A.HTMLElement{constructor(){super(),nx(this,Ui,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Lb.content.cloneNode(!0)))}static get observedAttributes(){return[ee.MEDIA_CONTROLLER,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(cd(this,Ui,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ud(this,Ui))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ud(this,Ui))==null?void 0:e.unassociateElement)==null||t.call(e,this),cd(this,Ui,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=ud(this,Ui))==null?void 0:s.unassociateElement)==null||n.call(s,this),cd(this,Ui,null)),r&&this.isConnected&&(cd(this,Ui,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ud(this,Ui))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return ue(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(b.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(b.MEDIA_PREVIEW_COORDS);return}this.setAttribute(b.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=Te(this.shadowRoot,":host"),T=Te(this.shadowRoot,"img").style,y=this.shadowRoot.querySelector("img"),S=p?"min":"max";E.setProperty(`${S}-width`,"initial","important"),E.setProperty(`${S}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let _=()=>{T.width=`${this.imgWidth*g}px`,T.height=`${this.imgHeight*g}px`,T.display="block"};y.src!==o&&(y.onload=()=>{this.imgWidth=y.naturalWidth,this.imgHeight=y.naturalHeight,_()},y.src=o,_()),_(),T.transform=`translate(-${r*g}px, -${s*g}px)`}};Ui=new WeakMap;A.customElements.get("media-preview-thumbnail")||A.customElements.define("media-preview-thumbnail",jf);var Ib=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},kb=(i,e,t)=>(Ib(i,e,"read from private field"),t?t.call(i):e.get(i)),ax=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ox=(i,e,t,r)=>(Ib(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ma,Xf=class extends Pi{constructor(){super(),ax(this,Ma,void 0),ox(this,Ma,this.shadowRoot.querySelector("slot")),kb(this,Ma).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_TIME&&r!=null&&(kb(this,Ma).textContent=_i(r))}get mediaPreviewTime(){return ve(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}};Ma=new WeakMap;A.customElements.get("media-preview-time-display")||A.customElements.define("media-preview-time-display",Xf);var tm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Rb=(i,e,t)=>(tm(i,e,"read from private field"),t?t.call(i):e.get(i)),hd=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Qf=(i,e,t,r)=>(tm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fd=(i,e,t)=>(tm(i,e,"access private method"),t),Pa,gd,md,Zf,pd,Jf,em=class extends yt{constructor(){super(...arguments),hd(this,md),hd(this,pd),hd(this,Pa,[]),hd(this,gd,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(Qf(this,Pa,qo(r)),fd(this,md,Zf).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",fd(this,pd,Jf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",fd(this,pd,Jf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return Rb(this,Pa)}set mediaRenditionList(e){Qf(this,Pa,e),fd(this,md,Zf).call(this)}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};Pa=new WeakMap;gd=new WeakMap;md=new WeakSet;Zf=function(){if(Rb(this,gd)===JSON.stringify(this.mediaRenditionList))return;Qf(this,gd,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((r,s)=>s.height-r.height);this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let r of i){let s=this.formatMenuItemText(`${Math.min(r.width,r.height)}p`,r),n=ki({type:"radio",text:s,value:`${r.id}`,checked:r.selected&&!e});n.prepend(li(this,"checked-indicator")),this.defaultSlot.append(n)}let t=ki({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t)};pd=new WeakSet;Jf=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-rendition-menu")||A.customElements.define("media-rendition-menu",em);var lx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1112
+ `;var jf=class extends A.HTMLElement{constructor(){super(),nx(this,Ui,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(kb.content.cloneNode(!0)))}static get observedAttributes(){return[ee.MEDIA_CONTROLLER,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(cd(this,Ui,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ud(this,Ui))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ud(this,Ui))==null?void 0:e.unassociateElement)==null||t.call(e,this),cd(this,Ui,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===ee.MEDIA_CONTROLLER&&(t&&((n=(s=ud(this,Ui))==null?void 0:s.unassociateElement)==null||n.call(s,this),cd(this,Ui,null)),r&&this.isConnected&&(cd(this,Ui,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ud(this,Ui))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return ue(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(b.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(b.MEDIA_PREVIEW_COORDS);return}this.setAttribute(b.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=Te(this.shadowRoot,":host"),T=Te(this.shadowRoot,"img").style,y=this.shadowRoot.querySelector("img"),S=p?"min":"max";E.setProperty(`${S}-width`,"initial","important"),E.setProperty(`${S}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let _=()=>{T.width=`${this.imgWidth*g}px`,T.height=`${this.imgHeight*g}px`,T.display="block"};y.src!==o&&(y.onload=()=>{this.imgWidth=y.naturalWidth,this.imgHeight=y.naturalHeight,_()},y.src=o,_()),_(),T.transform=`translate(-${r*g}px, -${s*g}px)`}};Ui=new WeakMap;A.customElements.get("media-preview-thumbnail")||A.customElements.define("media-preview-thumbnail",jf);var Rb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ib=(i,e,t)=>(Rb(i,e,"read from private field"),t?t.call(i):e.get(i)),ax=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ox=(i,e,t,r)=>(Rb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ma,Xf=class extends Pi{constructor(){super(),ax(this,Ma,void 0),ox(this,Ma,this.shadowRoot.querySelector("slot")),Ib(this,Ma).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_TIME&&r!=null&&(Ib(this,Ma).textContent=_i(r))}get mediaPreviewTime(){return ve(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}};Ma=new WeakMap;A.customElements.get("media-preview-time-display")||A.customElements.define("media-preview-time-display",Xf);var tm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},wb=(i,e,t)=>(tm(i,e,"read from private field"),t?t.call(i):e.get(i)),hd=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Qf=(i,e,t,r)=>(tm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fd=(i,e,t)=>(tm(i,e,"access private method"),t),Pa,gd,md,Zf,pd,Jf,em=class extends yt{constructor(){super(...arguments),hd(this,md),hd(this,pd),hd(this,Pa,[]),hd(this,gd,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(Qf(this,Pa,qo(r)),fd(this,md,Zf).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",fd(this,pd,Jf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",fd(this,pd,Jf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return wb(this,Pa)}set mediaRenditionList(e){Qf(this,Pa,e),fd(this,md,Zf).call(this)}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};Pa=new WeakMap;gd=new WeakMap;md=new WeakSet;Zf=function(){if(wb(this,gd)===JSON.stringify(this.mediaRenditionList))return;Qf(this,gd,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((r,s)=>s.height-r.height);this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let r of i){let s=this.formatMenuItemText(`${Math.min(r.width,r.height)}p`,r),n=ki({type:"radio",text:s,value:`${r.id}`,checked:r.selected&&!e});n.prepend(li(this,"checked-indicator")),this.defaultSlot.append(n)}let t=ki({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t)};pd=new WeakSet;Jf=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-rendition-menu")||A.customElements.define("media-rendition-menu",em);var lx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1113
1113
  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
1114
- </svg>`,wb=P.createElement("template");wb.innerHTML=`
1114
+ </svg>`,Cb=P.createElement("template");Cb.innerHTML=`
1115
1115
  <slot name="icon">${lx}</slot>
1116
- `;var im=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:wb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};A.customElements.get("media-rendition-menu-button")||A.customElements.define("media-rendition-menu-button",im);var yn={SEEK_OFFSET:"seekoffset"},vd=30,dx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${vd}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Cb=P.createElement("template");Cb.innerHTML=`
1116
+ `;var im=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:Cb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};A.customElements.get("media-rendition-menu-button")||A.customElements.define("media-rendition-menu-button",im);var yn={SEEK_OFFSET:"seekoffset"},vd=30,dx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${vd}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Db=P.createElement("template");Db.innerHTML=`
1117
1117
  <slot name="icon">${dx}</slot>
1118
- `;var ux=0,rm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,yn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Cb,...e})}connectedCallback(){this.seekOffset=ve(this,yn.SEEK_OFFSET,vd),super.connectedCallback()}attributeChangedCallback(e,t,r){e===yn.SEEK_OFFSET&&(this.seekOffset=ve(this,yn.SEEK_OFFSET,vd)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return ve(this,yn.SEEK_OFFSET,vd)}set seekOffset(e){_e(this,yn.SEEK_OFFSET,e),this.setAttribute("aria-label",De.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),el(tl(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME,ux)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};A.customElements.get("media-seek-backward-button")||A.customElements.define("media-seek-backward-button",rm);var Tn={SEEK_OFFSET:"seekoffset"},Ed=30,cx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${Ed}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,Db=P.createElement("template");Db.innerHTML=`
1118
+ `;var ux=0,rm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,yn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Db,...e})}connectedCallback(){this.seekOffset=ve(this,yn.SEEK_OFFSET,vd),super.connectedCallback()}attributeChangedCallback(e,t,r){e===yn.SEEK_OFFSET&&(this.seekOffset=ve(this,yn.SEEK_OFFSET,vd)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return ve(this,yn.SEEK_OFFSET,vd)}set seekOffset(e){_e(this,yn.SEEK_OFFSET,e),this.setAttribute("aria-label",De.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),el(tl(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME,ux)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};A.customElements.get("media-seek-backward-button")||A.customElements.define("media-seek-backward-button",rm);var Tn={SEEK_OFFSET:"seekoffset"},Ed=30,cx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${Ed}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,Mb=P.createElement("template");Mb.innerHTML=`
1119
1119
  <slot name="icon">${cx}</slot>
1120
- `;var hx=0,sm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,Tn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Db,...e})}connectedCallback(){this.seekOffset=ve(this,Tn.SEEK_OFFSET,Ed),super.connectedCallback()}attributeChangedCallback(e,t,r){e===Tn.SEEK_OFFSET&&(this.seekOffset=ve(this,Tn.SEEK_OFFSET,Ed)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return ve(this,Tn.SEEK_OFFSET,Ed)}set seekOffset(e){_e(this,Tn.SEEK_OFFSET,e),this.setAttribute("aria-label",De.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),el(tl(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME,hx)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};A.customElements.get("media-seek-forward-button")||A.customElements.define("media-seek-forward-button",sm);var fx=Object.defineProperty,mx=(i,e,t)=>e in i?fx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,px=(i,e,t)=>(mx(i,typeof e!="symbol"?e+"":e,t),t),Mb=P.createElement("template");Mb.innerHTML=yt.template.innerHTML+`
1120
+ `;var hx=0,sm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,Tn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Mb,...e})}connectedCallback(){this.seekOffset=ve(this,Tn.SEEK_OFFSET,Ed),super.connectedCallback()}attributeChangedCallback(e,t,r){e===Tn.SEEK_OFFSET&&(this.seekOffset=ve(this,Tn.SEEK_OFFSET,Ed)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return ve(this,Tn.SEEK_OFFSET,Ed)}set seekOffset(e){_e(this,Tn.SEEK_OFFSET,e),this.setAttribute("aria-label",De.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),el(tl(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME,hx)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};A.customElements.get("media-seek-forward-button")||A.customElements.define("media-seek-forward-button",sm);var fx=Object.defineProperty,mx=(i,e,t)=>e in i?fx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,px=(i,e,t)=>(mx(i,typeof e!="symbol"?e+"":e,t),t),Pb=P.createElement("template");Pb.innerHTML=yt.template.innerHTML+`
1121
1121
  <style>
1122
1122
  :host {
1123
1123
  background: var(--media-settings-menu-background,
@@ -1144,13 +1144,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
1144
1144
  --media-settings-menu-item-opacity: 0;
1145
1145
  }
1146
1146
  </style>
1147
- `;var bd=class extends yt{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-settings-menu-button")}};px(bd,"template",Mb);A.customElements.get("media-settings-menu")||A.customElements.define("media-settings-menu",bd);var Pb=P.createElement("template");Pb.innerHTML=`
1147
+ `;var bd=class extends yt{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:qe(this).querySelector("media-settings-menu-button")}};px(bd,"template",Pb);A.customElements.get("media-settings-menu")||A.customElements.define("media-settings-menu",bd);var Ob=P.createElement("template");Ob.innerHTML=`
1148
1148
  <slot name="icon">
1149
1149
  <svg aria-hidden="true" viewBox="0 0 24 24">
1150
1150
  <path d="M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
1151
1151
  </svg>
1152
1152
  </slot>
1153
- `;var nm=class extends $t{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:Pb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-settings-menu")}};A.customElements.get("media-settings-menu-button")||A.customElements.define("media-settings-menu-button",nm);var gx=Object.defineProperty,vx=(i,e,t)=>e in i?gx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ex=(i,e,t)=>(vx(i,typeof e!="symbol"?e+"":e,t),t),Ob,yd=P.createElement("template");yd.innerHTML=ds.template.innerHTML+`
1153
+ `;var nm=class extends $t{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:Ob})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ce.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:qe(this).querySelector("media-settings-menu")}};A.customElements.get("media-settings-menu-button")||A.customElements.define("media-settings-menu-button",nm);var gx=Object.defineProperty,vx=(i,e,t)=>e in i?gx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ex=(i,e,t)=>(vx(i,typeof e!="symbol"?e+"":e,t),t),Nb,yd=P.createElement("template");yd.innerHTML=ds.template.innerHTML+`
1154
1154
  <style>
1155
1155
  slot:not([name="submenu"]) {
1156
1156
  opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));
@@ -1160,11 +1160,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
1160
1160
  background: transparent;
1161
1161
  }
1162
1162
  </style>
1163
- `;(Ob=yd.content)!=null&&Ob.querySelector&&(yd.content.querySelector('slot[name="suffix"]').innerHTML=`
1163
+ `;(Nb=yd.content)!=null&&Nb.querySelector&&(yd.content.querySelector('slot[name="suffix"]').innerHTML=`
1164
1164
  <svg aria-hidden="true" viewBox="0 0 20 24">
1165
1165
  <path d="m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z"/>
1166
1166
  </svg>
1167
- `);var Td=class extends ds{};Ex(Td,"template",yd);A.customElements.get("media-settings-menu-item")||A.customElements.define("media-settings-menu-item",Td);var Bb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},am=(i,e,t)=>(Bb(i,e,"read from private field"),t?t.call(i):e.get(i)),bx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yx=(i,e,t,r)=>(Bb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_n,ci={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Nb=[...Object.values(ci),b.MEDIA_CURRENT_TIME,b.MEDIA_DURATION,b.MEDIA_SEEKABLE],Ub=["Enter"," "],Tx="&nbsp;/&nbsp;",Fb=(i,{timesSep:e=Tx}={})=>{var t,r;let s=i.hasAttribute(ci.REMAINING),n=i.hasAttribute(ci.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?_i(0-(l-a)):_i(a);return n?`${d}${e}${_i(l)}`:d},_x="video not loaded, unknown time.",Ax=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",_x);return}let n=i.hasAttribute(ci.REMAINING),a=i.hasAttribute(ci.SHOW_DURATION),o=n?zr(0-(s-t)):zr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=zr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},om=class extends Pi{constructor(){super(),bx(this,_n,void 0),yx(this,_n,this.shadowRoot.querySelector("slot")),am(this,_n).innerHTML=`${Fb(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Nb,"disabled"]}connectedCallback(){let{style:e}=Te(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Ce.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!Ub.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!Ub.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Nb.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Le(this,ci.REMAINING)}set remaining(e){Ae(this,ci.REMAINING,e)}get showDuration(){return Le(this,ci.SHOW_DURATION)}set showDuration(e){Ae(this,ci.SHOW_DURATION,e)}get noToggle(){return Le(this,ci.NO_TOGGLE)}set noToggle(e){Ae(this,ci.NO_TOGGLE,e)}get mediaDuration(){return ve(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}update(){let e=Fb(this);Ax(this),e!==am(this,_n).innerHTML&&(am(this,_n).innerHTML=e)}};_n=new WeakMap;A.customElements.get("media-time-display")||A.customElements.define("media-time-display",om);var $b=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ot=(i,e,t)=>($b(i,e,"read from private field"),t?t.call(i):e.get(i)),Fi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ht=(i,e,t,r)=>($b(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Sx=(i,e,t,r)=>({set _(s){Ht(i,e,s,t)},get _(){return ot(i,e,r)}}),An,_d,Sn,Oa,Ad,Sd,xd,xn,cs,Ld,kd=class{constructor(e,t,r){Fi(this,An,void 0),Fi(this,_d,void 0),Fi(this,Sn,void 0),Fi(this,Oa,void 0),Fi(this,Ad,void 0),Fi(this,Sd,void 0),Fi(this,xd,void 0),Fi(this,xn,void 0),Fi(this,cs,0),Fi(this,Ld,(s=performance.now())=>{Ht(this,cs,requestAnimationFrame(ot(this,Ld))),Ht(this,Oa,performance.now()-ot(this,Sn));let n=1e3/this.fps;if(ot(this,Oa)>n){Ht(this,Sn,s-ot(this,Oa)%n);let a=1e3/((s-ot(this,_d))/++Sx(this,Ad)._),o=(s-ot(this,Sd))/1e3/this.duration,l=ot(this,xd)+o*this.playbackRate;l-ot(this,An).valueAsNumber>0?Ht(this,xn,this.playbackRate/this.duration/a):(Ht(this,xn,.995*ot(this,xn)),l=ot(this,An).valueAsNumber+ot(this,xn)),this.callback(l)}}),Ht(this,An,e),this.callback=t,this.fps=r}start(){ot(this,cs)===0&&(Ht(this,Sn,performance.now()),Ht(this,_d,ot(this,Sn)),Ht(this,Ad,0),ot(this,Ld).call(this))}stop(){ot(this,cs)!==0&&(cancelAnimationFrame(ot(this,cs)),Ht(this,cs,0))}update({start:e,duration:t,playbackRate:r}){let s=e-ot(this,An).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Ht(this,xd,e),Ht(this,Sd,performance.now()),this.duration=t,this.playbackRate=r}};An=new WeakMap;_d=new WeakMap;Sn=new WeakMap;Oa=new WeakMap;Ad=new WeakMap;Sd=new WeakMap;xd=new WeakMap;xn=new WeakMap;cs=new WeakMap;Ld=new WeakMap;var hm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},et=(i,e,t)=>(hm(i,e,"read from private field"),t?t.call(i):e.get(i)),lt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bi=(i,e,t,r)=>(hm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Tt=(i,e,t)=>(hm(i,e,"access private method"),t),Ln,hs,wd,Ua,Cd,Rd,Fa,Ba,kn,In,Na,fm,Hb,lm,Dd,mm,Md,pm,Pd,gm,dm,Gb,$a,Od,um,Wb,xx="video not loaded, unknown time.",Lx=i=>{let e=i.range,t=zr(+Kb(i)),r=zr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:xx;e.setAttribute("aria-valuetext",s)},Vb=P.createElement("template");Vb.innerHTML=`
1167
+ `);var Td=class extends ds{};Ex(Td,"template",yd);A.customElements.get("media-settings-menu-item")||A.customElements.define("media-settings-menu-item",Td);var $b=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},am=(i,e,t)=>($b(i,e,"read from private field"),t?t.call(i):e.get(i)),bx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yx=(i,e,t,r)=>($b(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_n,ci={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Ub=[...Object.values(ci),b.MEDIA_CURRENT_TIME,b.MEDIA_DURATION,b.MEDIA_SEEKABLE],Fb=["Enter"," "],Tx="&nbsp;/&nbsp;",Bb=(i,{timesSep:e=Tx}={})=>{var t,r;let s=i.hasAttribute(ci.REMAINING),n=i.hasAttribute(ci.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?_i(0-(l-a)):_i(a);return n?`${d}${e}${_i(l)}`:d},_x="video not loaded, unknown time.",Ax=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",_x);return}let n=i.hasAttribute(ci.REMAINING),a=i.hasAttribute(ci.SHOW_DURATION),o=n?zr(0-(s-t)):zr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=zr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},om=class extends Pi{constructor(){super(),bx(this,_n,void 0),yx(this,_n,this.shadowRoot.querySelector("slot")),am(this,_n).innerHTML=`${Bb(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Ub,"disabled"]}connectedCallback(){let{style:e}=Te(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Ce.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!Fb.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!Fb.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Ub.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Le(this,ci.REMAINING)}set remaining(e){Ae(this,ci.REMAINING,e)}get showDuration(){return Le(this,ci.SHOW_DURATION)}set showDuration(e){Ae(this,ci.SHOW_DURATION,e)}get noToggle(){return Le(this,ci.NO_TOGGLE)}set noToggle(e){Ae(this,ci.NO_TOGGLE,e)}get mediaDuration(){return ve(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}update(){let e=Bb(this);Ax(this),e!==am(this,_n).innerHTML&&(am(this,_n).innerHTML=e)}};_n=new WeakMap;A.customElements.get("media-time-display")||A.customElements.define("media-time-display",om);var Hb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ot=(i,e,t)=>(Hb(i,e,"read from private field"),t?t.call(i):e.get(i)),Fi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ht=(i,e,t,r)=>(Hb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Sx=(i,e,t,r)=>({set _(s){Ht(i,e,s,t)},get _(){return ot(i,e,r)}}),An,_d,Sn,Oa,Ad,Sd,xd,xn,cs,Ld,kd=class{constructor(e,t,r){Fi(this,An,void 0),Fi(this,_d,void 0),Fi(this,Sn,void 0),Fi(this,Oa,void 0),Fi(this,Ad,void 0),Fi(this,Sd,void 0),Fi(this,xd,void 0),Fi(this,xn,void 0),Fi(this,cs,0),Fi(this,Ld,(s=performance.now())=>{Ht(this,cs,requestAnimationFrame(ot(this,Ld))),Ht(this,Oa,performance.now()-ot(this,Sn));let n=1e3/this.fps;if(ot(this,Oa)>n){Ht(this,Sn,s-ot(this,Oa)%n);let a=1e3/((s-ot(this,_d))/++Sx(this,Ad)._),o=(s-ot(this,Sd))/1e3/this.duration,l=ot(this,xd)+o*this.playbackRate;l-ot(this,An).valueAsNumber>0?Ht(this,xn,this.playbackRate/this.duration/a):(Ht(this,xn,.995*ot(this,xn)),l=ot(this,An).valueAsNumber+ot(this,xn)),this.callback(l)}}),Ht(this,An,e),this.callback=t,this.fps=r}start(){ot(this,cs)===0&&(Ht(this,Sn,performance.now()),Ht(this,_d,ot(this,Sn)),Ht(this,Ad,0),ot(this,Ld).call(this))}stop(){ot(this,cs)!==0&&(cancelAnimationFrame(ot(this,cs)),Ht(this,cs,0))}update({start:e,duration:t,playbackRate:r}){let s=e-ot(this,An).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Ht(this,xd,e),Ht(this,Sd,performance.now()),this.duration=t,this.playbackRate=r}};An=new WeakMap;_d=new WeakMap;Sn=new WeakMap;Oa=new WeakMap;Ad=new WeakMap;Sd=new WeakMap;xd=new WeakMap;xn=new WeakMap;cs=new WeakMap;Ld=new WeakMap;var hm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},et=(i,e,t)=>(hm(i,e,"read from private field"),t?t.call(i):e.get(i)),lt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bi=(i,e,t,r)=>(hm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Tt=(i,e,t)=>(hm(i,e,"access private method"),t),Ln,hs,wd,Ua,Cd,Rd,Fa,Ba,kn,In,Na,fm,Gb,lm,Dd,mm,Md,pm,Pd,gm,dm,Wb,$a,Od,um,Vb,xx="video not loaded, unknown time.",Lx=i=>{let e=i.range,t=zr(+qb(i)),r=zr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:xx;e.setAttribute("aria-valuetext",s)},Kb=P.createElement("template");Kb.innerHTML=`
1168
1168
  <style>
1169
1169
  :host {
1170
1170
  --media-box-border-radius: 4px;
@@ -1375,10 +1375,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
1375
1375
 
1376
1376
  </slot>
1377
1377
  </div>
1378
- `;var Id=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},Kb=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},cm=class extends us{constructor(){super(),lt(this,In),lt(this,fm),lt(this,Dd),lt(this,Md),lt(this,Pd),lt(this,dm),lt(this,$a),lt(this,um),lt(this,Ln,void 0),lt(this,hs,void 0),lt(this,wd,void 0),lt(this,Ua,void 0),lt(this,Cd,void 0),lt(this,Rd,void 0),lt(this,Fa,void 0),lt(this,Ba,void 0),lt(this,kn,void 0),lt(this,lm,t=>{this.dragging||(this.range.valueAsNumber=t,this.updateBar())}),this.container.appendChild(Vb.content.cloneNode(!0)),Bi(this,wd,this.shadowRoot.querySelectorAll('[part~="box"]')),Bi(this,Cd,this.shadowRoot.querySelector('[part~="preview-box"]')),Bi(this,Rd,this.shadowRoot.querySelector('[part~="current-box"]'));let e=getComputedStyle(this);Bi(this,Fa,parseInt(e.getPropertyValue("--media-box-padding-left"))),Bi(this,Ba,parseInt(e.getPropertyValue("--media-box-padding-right"))),Bi(this,hs,new kd(this.range,et(this,lm),60))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_DURATION,b.MEDIA_SEEKABLE,b.MEDIA_CURRENT_TIME,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_TIME,b.MEDIA_PREVIEW_CHAPTER,b.MEDIA_BUFFERED,b.MEDIA_PLAYBACK_RATE,b.MEDIA_LOADING,b.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",Ce.SEEK()),Tt(this,In,Na).call(this),Bi(this,Ln,this.getRootNode()),(e=et(this,Ln))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),Tt(this,In,Na).call(this),(e=et(this,Ln))==null||e.removeEventListener("transitionstart",this),Bi(this,Ln,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===b.MEDIA_CURRENT_TIME||e===b.MEDIA_PAUSED||e===b.MEDIA_ENDED||e===b.MEDIA_LOADING||e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE?(et(this,hs).update({start:Id(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),Tt(this,In,Na).call(this),Lx(this)):e===b.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=et(this,kn),this.updateBar()))}get mediaChaptersCues(){return et(this,kn)}set mediaChaptersCues(e){var t;Bi(this,kn,e),this.updateSegments((t=et(this,kn))==null?void 0:t.map(r=>({start:Id(this,r.startTime),end:Id(this,r.endTime)})))}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}get mediaDuration(){return ve(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(b.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(b.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(b.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return ue(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return ve(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Le(this,b.MEDIA_ENDED)}set mediaEnded(e){Ae(this,b.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=Id(this,a)}let{style:s}=Te(this.shadowRoot,"#highlight");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Te(this.shadowRoot,"#current-rail"),r=Te(this.shadowRoot,'[part~="current-box"]'),s=Tt(this,Dd,mm).call(this,et(this,Rd)),n=Tt(this,Md,pm).call(this,s,this.range.valueAsNumber),a=Tt(this,Pd,gm).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":Tt(this,um,Wb).call(this);break;case"pointermove":Tt(this,dm,Gb).call(this,e);break;case"pointerup":case"pointerleave":Tt(this,$a,Od).call(this,null);break;case"transitionstart":bt(e.target,this)&&setTimeout(()=>Tt(this,In,Na).call(this),0);break}}};Ln=new WeakMap;hs=new WeakMap;wd=new WeakMap;Ua=new WeakMap;Cd=new WeakMap;Rd=new WeakMap;Fa=new WeakMap;Ba=new WeakMap;kn=new WeakMap;In=new WeakSet;Na=function(){Tt(this,fm,Hb).call(this)?et(this,hs).start():et(this,hs).stop()};fm=new WeakSet;Hb=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&xv(this)};lm=new WeakMap;Dd=new WeakSet;mm=function(i){var e;let r=((e=this.getAttribute("bounds")?ni(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Md=new WeakSet;pm=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Pd=new WeakSet;gm=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+et(this,Fa)){let a=i.range.left-i.bounds.left-et(this,Fa);return`${n-t/2+a}px`}if(n>s-et(this,Ba)){let a=i.bounds.right-i.range.right-et(this,Ba);return`${n+t/2-a-i.range.width}px`}return 0};dm=new WeakSet;Gb=function(i){let e=[...et(this,wd)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){Tt(this,$a,Od).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Te(this.shadowRoot,"#preview-rail"),s=Te(this.shadowRoot,'[part~="preview-box"]'),n=Tt(this,Dd,mm).call(this,et(this,Cd)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=Tt(this,Md,pm).call(this,n,a),l=Tt(this,Pd,gm).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(et(this,Ua))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(Bi(this,Ua,a*t),Tt(this,$a,Od).call(this,et(this,Ua)))};$a=new WeakSet;Od=function(i){this.dispatchEvent(new A.CustomEvent(F.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};um=new WeakSet;Wb=function(){et(this,hs).stop();let i=Kb(this);this.dispatchEvent(new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};A.customElements.get("media-time-range")||A.customElements.define("media-time-range",cm);var kx=1,Ix=i=>i.mediaMuted?0:i.mediaVolume,Rx=({value:i})=>`${Math.round(i*100)}%`,vm=class extends us{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME,b.MEDIA_MUTED,b.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new A.CustomEvent(F.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",Ce.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===b.MEDIA_VOLUME||e===b.MEDIA_MUTED)&&(this.range.valueAsNumber=Ix(this),this.range.setAttribute("aria-valuetext",Rx(this.range)),this.updateBar())}get mediaVolume(){return ve(this,b.MEDIA_VOLUME,kx)}set mediaVolume(e){_e(this,b.MEDIA_VOLUME,e)}get mediaMuted(){return Le(this,b.MEDIA_MUTED)}set mediaMuted(e){Ae(this,b.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ue(this,b.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){le(this,b.MEDIA_VOLUME_UNAVAILABLE,e)}};A.customElements.get("media-volume-range")||A.customElements.define("media-volume-range",vm);var Am=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pt=(i,e,t)=>(Am(i,e,"read from private field"),t?t.call(i):e.get(i)),Gt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fi=(i,e,t,r)=>(Am(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),hi=(i,e,t)=>(Am(i,e,"access private method"),t),$i,Ir,wn,Ha,Nd,Ud,Em,Rn,bm,Fd,ym,Ga,Bd,$d,Tm,_m,qb,Sm,Yb,wx=`
1378
+ `;var Id=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},qb=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},cm=class extends us{constructor(){super(),lt(this,In),lt(this,fm),lt(this,Dd),lt(this,Md),lt(this,Pd),lt(this,dm),lt(this,$a),lt(this,um),lt(this,Ln,void 0),lt(this,hs,void 0),lt(this,wd,void 0),lt(this,Ua,void 0),lt(this,Cd,void 0),lt(this,Rd,void 0),lt(this,Fa,void 0),lt(this,Ba,void 0),lt(this,kn,void 0),lt(this,lm,t=>{this.dragging||(this.range.valueAsNumber=t,this.updateBar())}),this.container.appendChild(Kb.content.cloneNode(!0)),Bi(this,wd,this.shadowRoot.querySelectorAll('[part~="box"]')),Bi(this,Cd,this.shadowRoot.querySelector('[part~="preview-box"]')),Bi(this,Rd,this.shadowRoot.querySelector('[part~="current-box"]'));let e=getComputedStyle(this);Bi(this,Fa,parseInt(e.getPropertyValue("--media-box-padding-left"))),Bi(this,Ba,parseInt(e.getPropertyValue("--media-box-padding-right"))),Bi(this,hs,new kd(this.range,et(this,lm),60))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_DURATION,b.MEDIA_SEEKABLE,b.MEDIA_CURRENT_TIME,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_TIME,b.MEDIA_PREVIEW_CHAPTER,b.MEDIA_BUFFERED,b.MEDIA_PLAYBACK_RATE,b.MEDIA_LOADING,b.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",Ce.SEEK()),Tt(this,In,Na).call(this),Bi(this,Ln,this.getRootNode()),(e=et(this,Ln))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),Tt(this,In,Na).call(this),(e=et(this,Ln))==null||e.removeEventListener("transitionstart",this),Bi(this,Ln,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===b.MEDIA_CURRENT_TIME||e===b.MEDIA_PAUSED||e===b.MEDIA_ENDED||e===b.MEDIA_LOADING||e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE?(et(this,hs).update({start:Id(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),Tt(this,In,Na).call(this),Lx(this)):e===b.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=et(this,kn),this.updateBar()))}get mediaChaptersCues(){return et(this,kn)}set mediaChaptersCues(e){var t;Bi(this,kn,e),this.updateSegments((t=et(this,kn))==null?void 0:t.map(r=>({start:Id(this,r.startTime),end:Id(this,r.endTime)})))}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}get mediaDuration(){return ve(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return ve(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(b.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(b.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(b.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return ue(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return ve(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Le(this,b.MEDIA_ENDED)}set mediaEnded(e){Ae(this,b.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=Id(this,a)}let{style:s}=Te(this.shadowRoot,"#highlight");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Te(this.shadowRoot,"#current-rail"),r=Te(this.shadowRoot,'[part~="current-box"]'),s=Tt(this,Dd,mm).call(this,et(this,Rd)),n=Tt(this,Md,pm).call(this,s,this.range.valueAsNumber),a=Tt(this,Pd,gm).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":Tt(this,um,Vb).call(this);break;case"pointermove":Tt(this,dm,Wb).call(this,e);break;case"pointerup":case"pointerleave":Tt(this,$a,Od).call(this,null);break;case"transitionstart":bt(e.target,this)&&setTimeout(()=>Tt(this,In,Na).call(this),0);break}}};Ln=new WeakMap;hs=new WeakMap;wd=new WeakMap;Ua=new WeakMap;Cd=new WeakMap;Rd=new WeakMap;Fa=new WeakMap;Ba=new WeakMap;kn=new WeakMap;In=new WeakSet;Na=function(){Tt(this,fm,Gb).call(this)?et(this,hs).start():et(this,hs).stop()};fm=new WeakSet;Gb=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&Lv(this)};lm=new WeakMap;Dd=new WeakSet;mm=function(i){var e;let r=((e=this.getAttribute("bounds")?ni(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Md=new WeakSet;pm=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Pd=new WeakSet;gm=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+et(this,Fa)){let a=i.range.left-i.bounds.left-et(this,Fa);return`${n-t/2+a}px`}if(n>s-et(this,Ba)){let a=i.bounds.right-i.range.right-et(this,Ba);return`${n+t/2-a-i.range.width}px`}return 0};dm=new WeakSet;Wb=function(i){let e=[...et(this,wd)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){Tt(this,$a,Od).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Te(this.shadowRoot,"#preview-rail"),s=Te(this.shadowRoot,'[part~="preview-box"]'),n=Tt(this,Dd,mm).call(this,et(this,Cd)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=Tt(this,Md,pm).call(this,n,a),l=Tt(this,Pd,gm).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(et(this,Ua))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(Bi(this,Ua,a*t),Tt(this,$a,Od).call(this,et(this,Ua)))};$a=new WeakSet;Od=function(i){this.dispatchEvent(new A.CustomEvent(F.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};um=new WeakSet;Vb=function(){et(this,hs).stop();let i=qb(this);this.dispatchEvent(new A.CustomEvent(F.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};A.customElements.get("media-time-range")||A.customElements.define("media-time-range",cm);var kx=1,Ix=i=>i.mediaMuted?0:i.mediaVolume,Rx=({value:i})=>`${Math.round(i*100)}%`,vm=class extends us{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME,b.MEDIA_MUTED,b.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new A.CustomEvent(F.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",Ce.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===b.MEDIA_VOLUME||e===b.MEDIA_MUTED)&&(this.range.valueAsNumber=Ix(this),this.range.setAttribute("aria-valuetext",Rx(this.range)),this.updateBar())}get mediaVolume(){return ve(this,b.MEDIA_VOLUME,kx)}set mediaVolume(e){_e(this,b.MEDIA_VOLUME,e)}get mediaMuted(){return Le(this,b.MEDIA_MUTED)}set mediaMuted(e){Ae(this,b.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ue(this,b.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){le(this,b.MEDIA_VOLUME_UNAVAILABLE,e)}};A.customElements.get("media-volume-range")||A.customElements.define("media-volume-range",vm);var Am=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pt=(i,e,t)=>(Am(i,e,"read from private field"),t?t.call(i):e.get(i)),Gt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fi=(i,e,t,r)=>(Am(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),hi=(i,e,t)=>(Am(i,e,"access private method"),t),$i,Ir,wn,Ha,Nd,Ud,Em,Rn,bm,Fd,ym,Ga,Bd,$d,Tm,_m,Yb,Sm,zb,wx=`
1379
1379
  <svg aria-hidden="true" viewBox="0 1 24 24" part="select-indicator indicator">
1380
1380
  <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
1381
- </svg>`;function Hi(i,e,t){let r=P.createElement("media-chrome-option");r.part.add("option"),r.value=e,r.selected=t;let s=P.createElement("span");return s.textContent=i,r.append(s),r}function mi(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);return(t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t?(t=t.cloneNode(!0),t.removeAttribute("slot"),t):i.shadowRoot.querySelector(`[name="${e}"] > svg`).cloneNode(!0)}var zb=P.createElement("template");zb.innerHTML=`
1381
+ </svg>`;function Hi(i,e,t){let r=P.createElement("media-chrome-option");r.part.add("option"),r.value=e,r.selected=t;let s=P.createElement("span");return s.textContent=i,r.append(s),r}function mi(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);return(t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t?(t=t.cloneNode(!0),t.removeAttribute("slot"),t):i.shadowRoot.querySelector(`[name="${e}"] > svg`).cloneNode(!0)}var jb=P.createElement("template");jb.innerHTML=`
1382
1382
  <style>
1383
1383
  :host {
1384
1384
  font: var(--media-font,
@@ -1458,7 +1458,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1458
1458
  <slot name="header"></slot>
1459
1459
  <slot id="container"></slot>
1460
1460
  <slot name="select-indicator" hidden>${wx}</slot>
1461
- `;var zt=class extends A.HTMLElement{constructor(e={}){super(),Gt(this,Ud),Gt(this,Fd),Gt(this,Ga),Gt(this,$d),Gt(this,_m),Gt(this,Sm),Gt(this,$i,void 0),Gt(this,Ir,""),Gt(this,wn,null),Gt(this,Ha,!1),Gt(this,Nd,t=>{this.handleClick(t)}),Gt(this,Rn,t=>{let{key:r}=t;if(r==="Escape"){this.removeEventListener("keyup",pt(this,Rn));return}if(r==="Meta"){fi(this,Ha,!1);return}hi(this,Ud,Em).call(this,t)}),Gt(this,bm,t=>{let{key:r,altKey:s}=t;if(s){this.removeEventListener("keyup",pt(this,Rn));return}if(r==="Meta"){fi(this,Ha,!0);return}if(this.keysUsed.includes(r)&&t.preventDefault(),pt(this,Ha)&&this.keysUsed.includes(r)){hi(this,Ud,Em).call(this,t);return}this.addEventListener("keyup",pt(this,Rn),{once:!0})}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=zb.content.cloneNode(!0),e.slotTemplate&&this.nativeEl.append(e.slotTemplate.content.cloneNode(!0)),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.container.addEventListener("slotchange",t=>{for(let r of t.target.assignedNodes({flatten:!0}))r.nodeType===3&&r.textContent.trim()===""&&r.remove()})}static get observedAttributes(){return["disabled","style",ee.MEDIA_CONTROLLER]}static formatOptionText(e){return e}formatOptionText(e,t){return this.constructor.formatOptionText(e,t)}get options(){var e;let t=this.querySelectorAll("media-chrome-option");return t.length||(t=(e=this.container)==null?void 0:e.querySelectorAll("media-chrome-option")),Array.from(t)}get selectedOptions(){return this.options.filter(e=>e.selected)}get value(){var e,t;return(t=(e=this.selectedOptions[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.options.find(r=>r.value===e);t&&hi(this,$d,Tm).call(this,t)}focus(){var e;(e=this.selectedOptions[0])==null||e.focus()}enable(){this.addEventListener("click",pt(this,Nd)),this.addEventListener("keydown",pt(this,bm))}disable(){this.removeEventListener("click",pt(this,Nd)),this.removeEventListener("keyup",pt(this,Rn))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e==="style"&&r!==t?hi(this,Fd,ym).call(this):e===ee.MEDIA_CONTROLLER?(t&&((n=(s=pt(this,$i))==null?void 0:s.unassociateElement)==null||n.call(s,this),fi(this,$i,null)),r&&this.isConnected&&(fi(this,$i,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=pt(this,$i))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;hi(this,Fd,ym).call(this),this.hasAttribute("disabled")||this.enable(),this.hasAttribute("role")||this.setAttribute("role","listbox");let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(fi(this,$i,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=pt(this,$i))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=pt(this,$i))==null?void 0:e.unassociateElement)==null||t.call(e,this),fi(this,$i,null)}get keysUsed(){return["Enter"," ","ArrowDown","ArrowUp","Home","End"]}handleSelection(e,t){let r=hi(this,Ga,Bd).call(this,e);r&&hi(this,$d,Tm).call(this,r,t)}handleMovement(e){let{key:t}=e,r=this.options,s=hi(this,Ga,Bd).call(this,e);s||(s=r.filter(a=>a.getAttribute("tabindex")==="0")[0]);let n;switch(t){case"ArrowDown":n=s.nextElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.nextElementSibling);break;case"ArrowUp":n=s.previousElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.previousElementSibling);break;case"Home":n=r[0];break;case"End":n=r[r.length-1];break;default:n=hi(this,_m,qb).call(this,t);break}n&&(r.forEach(a=>a.setAttribute("tabindex","-1")),n.setAttribute("tabindex","0"),n.focus())}handleClick(e){let t=hi(this,Ga,Bd).call(this,e);!t||t.hasAttribute("disabled")||(this.options.forEach(r=>r.setAttribute("tabindex","-1")),t.setAttribute("tabindex","0"),this.handleSelection(e,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"))}};$i=new WeakMap;Ir=new WeakMap;wn=new WeakMap;Ha=new WeakMap;Nd=new WeakMap;Ud=new WeakSet;Em=function(i){let{key:e}=i;e==="Enter"||e===" "?this.handleSelection(i,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"):this.handleMovement(i)};Rn=new WeakMap;bm=new WeakMap;Fd=new WeakSet;ym=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=((i=getComputedStyle(this).getPropertyValue("--media-listbox-layout"))==null?void 0:i.trim())==="row";e.setAttribute("media",t?"":"width:0")};Ga=new WeakSet;Bd=function(i){let e=i.composedPath(),t=e.findIndex(r=>r.nodeName==="MEDIA-CHROME-OPTION");return e[t]};$d=new WeakSet;Tm=function(i,e){let t=[...this.selectedOptions];(!this.hasAttribute("aria-multiselectable")||this.getAttribute("aria-multiselectable")!=="true")&&this.options.forEach(r=>r.selected=!1),e?i.selected=!i.selected:i.selected=!0,this.selectedOptions.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};_m=new WeakSet;qb=function(i){hi(this,Sm,Yb).call(this);let e=this.options,t=e.findIndex(d=>d.getAttribute("tabindex")==="0");fi(this,Ir,pt(this,Ir)+i);let r=pt(this,Ir).split("").every(d=>d===i),s=e.slice(t+(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(pt(this,Ir))),n=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(pt(this,Ir))),a=[],o=[];return r&&(a=e.slice(t+(r?1:0)).filter(d=>d.textContent.startsWith(i)),o=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.startsWith(i))),[...s,...n,...a,...o][0]};Sm=new WeakSet;Yb=function(){clearTimeout(pt(this,wn)),fi(this,wn,null),fi(this,wn,setTimeout(()=>{fi(this,Ir,""),fi(this,wn,null)},500))};A.customElements.get("media-chrome-listbox")||A.customElements.define("media-chrome-listbox",zt);var wm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},km=(i,e,t)=>(wm(i,e,"read from private field"),t?t.call(i):e.get(i)),xm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Lm=(i,e,t,r)=>(wm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),jb=(i,e,t)=>(wm(i,e,"access private method"),t),Hd,Cn,Gd,Im,Xb=P.createElement("template");Xb.innerHTML=`
1461
+ `;var zt=class extends A.HTMLElement{constructor(e={}){super(),Gt(this,Ud),Gt(this,Fd),Gt(this,Ga),Gt(this,$d),Gt(this,_m),Gt(this,Sm),Gt(this,$i,void 0),Gt(this,Ir,""),Gt(this,wn,null),Gt(this,Ha,!1),Gt(this,Nd,t=>{this.handleClick(t)}),Gt(this,Rn,t=>{let{key:r}=t;if(r==="Escape"){this.removeEventListener("keyup",pt(this,Rn));return}if(r==="Meta"){fi(this,Ha,!1);return}hi(this,Ud,Em).call(this,t)}),Gt(this,bm,t=>{let{key:r,altKey:s}=t;if(s){this.removeEventListener("keyup",pt(this,Rn));return}if(r==="Meta"){fi(this,Ha,!0);return}if(this.keysUsed.includes(r)&&t.preventDefault(),pt(this,Ha)&&this.keysUsed.includes(r)){hi(this,Ud,Em).call(this,t);return}this.addEventListener("keyup",pt(this,Rn),{once:!0})}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=jb.content.cloneNode(!0),e.slotTemplate&&this.nativeEl.append(e.slotTemplate.content.cloneNode(!0)),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.container.addEventListener("slotchange",t=>{for(let r of t.target.assignedNodes({flatten:!0}))r.nodeType===3&&r.textContent.trim()===""&&r.remove()})}static get observedAttributes(){return["disabled","style",ee.MEDIA_CONTROLLER]}static formatOptionText(e){return e}formatOptionText(e,t){return this.constructor.formatOptionText(e,t)}get options(){var e;let t=this.querySelectorAll("media-chrome-option");return t.length||(t=(e=this.container)==null?void 0:e.querySelectorAll("media-chrome-option")),Array.from(t)}get selectedOptions(){return this.options.filter(e=>e.selected)}get value(){var e,t;return(t=(e=this.selectedOptions[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.options.find(r=>r.value===e);t&&hi(this,$d,Tm).call(this,t)}focus(){var e;(e=this.selectedOptions[0])==null||e.focus()}enable(){this.addEventListener("click",pt(this,Nd)),this.addEventListener("keydown",pt(this,bm))}disable(){this.removeEventListener("click",pt(this,Nd)),this.removeEventListener("keyup",pt(this,Rn))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e==="style"&&r!==t?hi(this,Fd,ym).call(this):e===ee.MEDIA_CONTROLLER?(t&&((n=(s=pt(this,$i))==null?void 0:s.unassociateElement)==null||n.call(s,this),fi(this,$i,null)),r&&this.isConnected&&(fi(this,$i,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=pt(this,$i))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;hi(this,Fd,ym).call(this),this.hasAttribute("disabled")||this.enable(),this.hasAttribute("role")||this.setAttribute("role","listbox");let s=this.getAttribute(ee.MEDIA_CONTROLLER);s&&(fi(this,$i,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=pt(this,$i))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=pt(this,$i))==null?void 0:e.unassociateElement)==null||t.call(e,this),fi(this,$i,null)}get keysUsed(){return["Enter"," ","ArrowDown","ArrowUp","Home","End"]}handleSelection(e,t){let r=hi(this,Ga,Bd).call(this,e);r&&hi(this,$d,Tm).call(this,r,t)}handleMovement(e){let{key:t}=e,r=this.options,s=hi(this,Ga,Bd).call(this,e);s||(s=r.filter(a=>a.getAttribute("tabindex")==="0")[0]);let n;switch(t){case"ArrowDown":n=s.nextElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.nextElementSibling);break;case"ArrowUp":n=s.previousElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.previousElementSibling);break;case"Home":n=r[0];break;case"End":n=r[r.length-1];break;default:n=hi(this,_m,Yb).call(this,t);break}n&&(r.forEach(a=>a.setAttribute("tabindex","-1")),n.setAttribute("tabindex","0"),n.focus())}handleClick(e){let t=hi(this,Ga,Bd).call(this,e);!t||t.hasAttribute("disabled")||(this.options.forEach(r=>r.setAttribute("tabindex","-1")),t.setAttribute("tabindex","0"),this.handleSelection(e,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"))}};$i=new WeakMap;Ir=new WeakMap;wn=new WeakMap;Ha=new WeakMap;Nd=new WeakMap;Ud=new WeakSet;Em=function(i){let{key:e}=i;e==="Enter"||e===" "?this.handleSelection(i,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"):this.handleMovement(i)};Rn=new WeakMap;bm=new WeakMap;Fd=new WeakSet;ym=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=((i=getComputedStyle(this).getPropertyValue("--media-listbox-layout"))==null?void 0:i.trim())==="row";e.setAttribute("media",t?"":"width:0")};Ga=new WeakSet;Bd=function(i){let e=i.composedPath(),t=e.findIndex(r=>r.nodeName==="MEDIA-CHROME-OPTION");return e[t]};$d=new WeakSet;Tm=function(i,e){let t=[...this.selectedOptions];(!this.hasAttribute("aria-multiselectable")||this.getAttribute("aria-multiselectable")!=="true")&&this.options.forEach(r=>r.selected=!1),e?i.selected=!i.selected:i.selected=!0,this.selectedOptions.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};_m=new WeakSet;Yb=function(i){hi(this,Sm,zb).call(this);let e=this.options,t=e.findIndex(d=>d.getAttribute("tabindex")==="0");fi(this,Ir,pt(this,Ir)+i);let r=pt(this,Ir).split("").every(d=>d===i),s=e.slice(t+(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(pt(this,Ir))),n=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(pt(this,Ir))),a=[],o=[];return r&&(a=e.slice(t+(r?1:0)).filter(d=>d.textContent.startsWith(i)),o=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.startsWith(i))),[...s,...n,...a,...o][0]};Sm=new WeakSet;zb=function(){clearTimeout(pt(this,wn)),fi(this,wn,null),fi(this,wn,setTimeout(()=>{fi(this,Ir,""),fi(this,wn,null)},500))};A.customElements.get("media-chrome-listbox")||A.customElements.define("media-chrome-listbox",zt);var wm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},km=(i,e,t)=>(wm(i,e,"read from private field"),t?t.call(i):e.get(i)),xm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Lm=(i,e,t,r)=>(wm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Xb=(i,e,t)=>(wm(i,e,"access private method"),t),Hd,Cn,Gd,Im,Qb=P.createElement("template");Qb.innerHTML=`
1462
1462
  <style>
1463
1463
  :host {
1464
1464
  cursor: pointer;
@@ -1496,7 +1496,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1496
1496
  }
1497
1497
  </style>
1498
1498
  <slot></slot>
1499
- `;var Rr={VALUE:"value",SELECTED:"selected",DISABLED:"disabled"},Wd=class extends A.HTMLElement{constructor(){super(),xm(this,Gd),xm(this,Hd,!1),xm(this,Cn,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Xb.content.cloneNode(!0)))}static get observedAttributes(){return[Rr.DISABLED,Rr.SELECTED,Rr.VALUE]}get value(){var e;return(e=this.getAttribute(Rr.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Rr.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get selected(){return this.getAttribute("aria-selected")==="true"}set selected(e){Lm(this,Hd,!0),this.setAttribute("aria-selected",e?"true":"false"),e?this.part.add("option-selected"):this.part.remove("option-selected")}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.hasAttribute("aria-selected")||this.setAttribute("aria-selected","false")}disable(){this.removeAttribute("tabindex")}attributeChangedCallback(e,t,r){e===Rr.SELECTED&&!km(this,Hd)?this.setAttribute("aria-selected",r!=null?"true":"false"):e===Rr.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Rr.DISABLED)||this.enable(),this.setAttribute("role","option"),Lm(this,Cn,Rm(this,this.parentNode)),jb(this,Gd,Im).call(this)}disconnectedCallback(){this.disable(),jb(this,Gd,Im).call(this),Lm(this,Cn,null)}handleClick(){}};Hd=new WeakMap;Cn=new WeakMap;Gd=new WeakSet;Im=function(){var i;let e=(i=km(this,Cn))==null?void 0:i.options;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-selected")==="true").pop();t||(t=e[0]),km(this,Cn).getAttribute("aria-multiselectable")!=="true"&&e.forEach(r=>{r.setAttribute("tabindex","-1"),r.setAttribute("aria-selected","false")}),t==null||t.setAttribute("tabindex","0"),t==null||t.setAttribute("aria-selected","true")};function Rm(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Rm(i,t):e!=null&&e.options?e:Rm(e,e==null?void 0:e.parentNode)}A.customElements.get("media-chrome-option")||A.customElements.define("media-chrome-option",Wd);var Dm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Y=(i,e,t)=>(Dm(i,e,"read from private field"),t?t.call(i):e.get(i)),Ct=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gi=(i,e,t,r)=>(Dm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fs=(i,e,t)=>(Dm(i,e,"access private method"),t),Wi,_t,Wa,Ye,pi,Dn,Vd,Kd,qd,Yd,zd,Cm,Mm,Qb,Mn,Va,ms,Zb=P.createElement("template");Zb.innerHTML=`
1499
+ `;var Rr={VALUE:"value",SELECTED:"selected",DISABLED:"disabled"},Wd=class extends A.HTMLElement{constructor(){super(),xm(this,Gd),xm(this,Hd,!1),xm(this,Cn,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Qb.content.cloneNode(!0)))}static get observedAttributes(){return[Rr.DISABLED,Rr.SELECTED,Rr.VALUE]}get value(){var e;return(e=this.getAttribute(Rr.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Rr.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get selected(){return this.getAttribute("aria-selected")==="true"}set selected(e){Lm(this,Hd,!0),this.setAttribute("aria-selected",e?"true":"false"),e?this.part.add("option-selected"):this.part.remove("option-selected")}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.hasAttribute("aria-selected")||this.setAttribute("aria-selected","false")}disable(){this.removeAttribute("tabindex")}attributeChangedCallback(e,t,r){e===Rr.SELECTED&&!km(this,Hd)?this.setAttribute("aria-selected",r!=null?"true":"false"):e===Rr.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Rr.DISABLED)||this.enable(),this.setAttribute("role","option"),Lm(this,Cn,Rm(this,this.parentNode)),Xb(this,Gd,Im).call(this)}disconnectedCallback(){this.disable(),Xb(this,Gd,Im).call(this),Lm(this,Cn,null)}handleClick(){}};Hd=new WeakMap;Cn=new WeakMap;Gd=new WeakSet;Im=function(){var i;let e=(i=km(this,Cn))==null?void 0:i.options;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-selected")==="true").pop();t||(t=e[0]),km(this,Cn).getAttribute("aria-multiselectable")!=="true"&&e.forEach(r=>{r.setAttribute("tabindex","-1"),r.setAttribute("aria-selected","false")}),t==null||t.setAttribute("tabindex","0"),t==null||t.setAttribute("aria-selected","true")};function Rm(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Rm(i,t):e!=null&&e.options?e:Rm(e,e==null?void 0:e.parentNode)}A.customElements.get("media-chrome-option")||A.customElements.define("media-chrome-option",Wd);var Dm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Y=(i,e,t)=>(Dm(i,e,"read from private field"),t?t.call(i):e.get(i)),Ct=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gi=(i,e,t,r)=>(Dm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fs=(i,e,t)=>(Dm(i,e,"access private method"),t),Wi,_t,Wa,Ye,pi,Dn,Vd,Kd,qd,Yd,zd,Cm,Mm,Zb,Mn,Va,ms,Jb=P.createElement("template");Jb.innerHTML=`
1500
1500
  <style>
1501
1501
  :host {
1502
1502
  font: var(--media-font,
@@ -1547,22 +1547,22 @@ svg, img, ::slotted(svg), ::slotted(img) {
1547
1547
  <slot></slot>
1548
1548
  </media-chrome-listbox>
1549
1549
  </slot>
1550
- `;var jt=class extends A.HTMLElement{constructor(){var e;super(),Ct(this,zd),Ct(this,Mm),Ct(this,Mn),Ct(this,Wi,void 0),Ct(this,_t,void 0),Ct(this,Wa,void 0),Ct(this,Ye,void 0),Ct(this,pi,void 0),Ct(this,Dn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",Y(this,Dn));return}t.composedPath().includes(Y(this,_t))&&(r==="Enter"||r===" ")?fs(this,zd,Cm).call(this):r==="Escape"&&fs(this,Mn,Va).call(this)}),Ct(this,Vd,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",Y(this,Dn));return}t.preventDefault(),this.addEventListener("keyup",Y(this,Dn),{once:!0})}),Ct(this,Kd,t=>{t.composedPath().includes(this)||fs(this,Mn,Va).call(this)}),Ct(this,qd,t=>{t.composedPath().includes(Y(this,_t))&&fs(this,zd,Cm).call(this)}),Ct(this,Yd,()=>{fs(this,Mn,Va).call(this)}),Ct(this,ms,()=>{if(Y(this,Ye).offsetWidth===0)return;let t=Y(this,Ye).offsetWidth,r=Y(this,_t).getBoundingClientRect();if(this.hasAttribute("mediacontroller")||Y(this,_t).hasAttribute("mediacontroller")||Y(this,Ye).hasAttribute("mediacontroller")){Y(this,Ye).style.zIndex="1",Y(this,Ye).style.bottom="unset",Y(this,Ye).style.right=null,Y(this,Ye).style.left="0",Y(this,Ye).style.top=`${r.height}px`;return}let n=Ka(this).getBoundingClientRect(),a=r.x+t,o=Math.max(r.right-a,r.right-n.right);Y(this,Ye).style.left=null,Y(this,Ye).style.right=`${o}px`,Y(this,Ye).style.maxHeight=`${n.height-r.height}px`}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Zb.content.cloneNode(!0))),(e=this.init)==null||e.call(this),Gi(this,_t,this.shadowRoot.querySelector("[part=button]")),Gi(this,Ye,this.shadowRoot.querySelector("[part=listbox]")),Gi(this,Wa,this.shadowRoot.querySelector("slot[name=button]")),Y(this,Wa).addEventListener("slotchange",()=>{let t=Y(this,Wa).assignedElements()[0];if(!t)return;Gi(this,_t,t),Y(this,_t).preventClick=!0,this.hasAttribute("disabled")||Y(this,_t).hasAttribute("disabled")?this.disable():(this.enable(),Y(this,_t).setAttribute("aria-haspopup","listbox"))}),Gi(this,pi,this.shadowRoot.querySelector("slot[name=listbox]")),Y(this,pi).addEventListener("slotchange",()=>{Gi(this,Ye,Y(this,pi).assignedElements()[0]||Y(this,Ye))})}static get observedAttributes(){return["disabled",ee.MEDIA_CONTROLLER]}enable(){Y(this,_t).toggleAttribute("disabled",!1),this.addEventListener("change",Y(this,Yd)),this.addEventListener("keydown",Y(this,Vd)),this.addEventListener("click",Y(this,qd)),P.addEventListener("click",Y(this,Kd))}disable(){Y(this,_t).toggleAttribute("disabled",!0),this.removeEventListener("change",Y(this,Yd)),this.removeEventListener("keydown",Y(this,Vd)),this.removeEventListener("keyup",Y(this,Dn)),this.removeEventListener("click",Y(this,qd)),P.removeEventListener("click",Y(this,Kd))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER?(t&&((n=(s=Y(this,Wi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Gi(this,Wi,null),Y(this,Ye).removeAttribute(ee.MEDIA_CONTROLLER)),r&&this.isConnected&&(Gi(this,Wi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Y(this,Wi))==null?void 0:o.associateElement)==null||l.call(o,this),Y(this,Ye).setAttribute(ee.MEDIA_CONTROLLER,r))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(Gi(this,Wi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Y(this,Wi))==null?void 0:t.associateElement)==null||r.call(t,this),Y(this,Ye).setAttribute(ee.MEDIA_CONTROLLER,n)),this.hasAttribute("disabled")||this.enable(),Y(this,pi).hidden||Vt(Ka(this),Y(this,ms))}disconnectedCallback(){var e,t;Ai(Ka(this),Y(this,ms)),this.disable(),(t=(e=Y(this,Wi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Gi(this,Wi,null),Y(this,Ye).removeAttribute(ee.MEDIA_CONTROLLER)}get keysUsed(){return["Enter","Escape"," ","ArrowUp","ArrowDown","f","c","k","m"]}};Wi=new WeakMap;_t=new WeakMap;Wa=new WeakMap;Ye=new WeakMap;pi=new WeakMap;Dn=new WeakMap;Vd=new WeakMap;Kd=new WeakMap;qd=new WeakMap;Yd=new WeakMap;zd=new WeakSet;Cm=function(){Y(this,pi).hidden?fs(this,Mm,Qb).call(this):fs(this,Mn,Va).call(this)};Mm=new WeakSet;Qb=function(){Y(this,pi).hidden&&(Y(this,pi).hidden=!1,Y(this,_t).setAttribute("aria-expanded","true"),Y(this,ms).call(this),Y(this,Ye).focus(),Vt(Ka(this),Y(this,ms)))};Mn=new WeakSet;Va=function(){if(Y(this,pi).hidden)return;Ai(Ka(this),Y(this,ms));let i=jr();Y(this,pi).hidden=!0,Y(this,_t).setAttribute("aria-expanded","false"),bt(Y(this,Ye),i)&&Y(this,_t).focus()};ms=new WeakMap;function Ka(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):Cx(i)||i.parentElement)!=null?e:i}function Cx(i){var e;let t=i.getAttribute(ee.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}A.customElements.get("media-chrome-selectmenu")||A.customElements.define("media-chrome-selectmenu",jt);var Fm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Dx=(i,e,t)=>(Fm(i,e,"read from private field"),t?t.call(i):e.get(i)),Pm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Mx=(i,e,t,r)=>(Fm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Om=(i,e,t)=>(Fm(i,e,"access private method"),t),Xd,Nm,ty,jd,Um,Px=`
1550
+ `;var jt=class extends A.HTMLElement{constructor(){var e;super(),Ct(this,zd),Ct(this,Mm),Ct(this,Mn),Ct(this,Wi,void 0),Ct(this,_t,void 0),Ct(this,Wa,void 0),Ct(this,Ye,void 0),Ct(this,pi,void 0),Ct(this,Dn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",Y(this,Dn));return}t.composedPath().includes(Y(this,_t))&&(r==="Enter"||r===" ")?fs(this,zd,Cm).call(this):r==="Escape"&&fs(this,Mn,Va).call(this)}),Ct(this,Vd,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",Y(this,Dn));return}t.preventDefault(),this.addEventListener("keyup",Y(this,Dn),{once:!0})}),Ct(this,Kd,t=>{t.composedPath().includes(this)||fs(this,Mn,Va).call(this)}),Ct(this,qd,t=>{t.composedPath().includes(Y(this,_t))&&fs(this,zd,Cm).call(this)}),Ct(this,Yd,()=>{fs(this,Mn,Va).call(this)}),Ct(this,ms,()=>{if(Y(this,Ye).offsetWidth===0)return;let t=Y(this,Ye).offsetWidth,r=Y(this,_t).getBoundingClientRect();if(this.hasAttribute("mediacontroller")||Y(this,_t).hasAttribute("mediacontroller")||Y(this,Ye).hasAttribute("mediacontroller")){Y(this,Ye).style.zIndex="1",Y(this,Ye).style.bottom="unset",Y(this,Ye).style.right=null,Y(this,Ye).style.left="0",Y(this,Ye).style.top=`${r.height}px`;return}let n=Ka(this).getBoundingClientRect(),a=r.x+t,o=Math.max(r.right-a,r.right-n.right);Y(this,Ye).style.left=null,Y(this,Ye).style.right=`${o}px`,Y(this,Ye).style.maxHeight=`${n.height-r.height}px`}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Jb.content.cloneNode(!0))),(e=this.init)==null||e.call(this),Gi(this,_t,this.shadowRoot.querySelector("[part=button]")),Gi(this,Ye,this.shadowRoot.querySelector("[part=listbox]")),Gi(this,Wa,this.shadowRoot.querySelector("slot[name=button]")),Y(this,Wa).addEventListener("slotchange",()=>{let t=Y(this,Wa).assignedElements()[0];if(!t)return;Gi(this,_t,t),Y(this,_t).preventClick=!0,this.hasAttribute("disabled")||Y(this,_t).hasAttribute("disabled")?this.disable():(this.enable(),Y(this,_t).setAttribute("aria-haspopup","listbox"))}),Gi(this,pi,this.shadowRoot.querySelector("slot[name=listbox]")),Y(this,pi).addEventListener("slotchange",()=>{Gi(this,Ye,Y(this,pi).assignedElements()[0]||Y(this,Ye))})}static get observedAttributes(){return["disabled",ee.MEDIA_CONTROLLER]}enable(){Y(this,_t).toggleAttribute("disabled",!1),this.addEventListener("change",Y(this,Yd)),this.addEventListener("keydown",Y(this,Vd)),this.addEventListener("click",Y(this,qd)),P.addEventListener("click",Y(this,Kd))}disable(){Y(this,_t).toggleAttribute("disabled",!0),this.removeEventListener("change",Y(this,Yd)),this.removeEventListener("keydown",Y(this,Vd)),this.removeEventListener("keyup",Y(this,Dn)),this.removeEventListener("click",Y(this,qd)),P.removeEventListener("click",Y(this,Kd))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ee.MEDIA_CONTROLLER?(t&&((n=(s=Y(this,Wi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Gi(this,Wi,null),Y(this,Ye).removeAttribute(ee.MEDIA_CONTROLLER)),r&&this.isConnected&&(Gi(this,Wi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Y(this,Wi))==null?void 0:o.associateElement)==null||l.call(o,this),Y(this,Ye).setAttribute(ee.MEDIA_CONTROLLER,r))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ee.MEDIA_CONTROLLER);n&&(Gi(this,Wi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Y(this,Wi))==null?void 0:t.associateElement)==null||r.call(t,this),Y(this,Ye).setAttribute(ee.MEDIA_CONTROLLER,n)),this.hasAttribute("disabled")||this.enable(),Y(this,pi).hidden||Vt(Ka(this),Y(this,ms))}disconnectedCallback(){var e,t;Ai(Ka(this),Y(this,ms)),this.disable(),(t=(e=Y(this,Wi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Gi(this,Wi,null),Y(this,Ye).removeAttribute(ee.MEDIA_CONTROLLER)}get keysUsed(){return["Enter","Escape"," ","ArrowUp","ArrowDown","f","c","k","m"]}};Wi=new WeakMap;_t=new WeakMap;Wa=new WeakMap;Ye=new WeakMap;pi=new WeakMap;Dn=new WeakMap;Vd=new WeakMap;Kd=new WeakMap;qd=new WeakMap;Yd=new WeakMap;zd=new WeakSet;Cm=function(){Y(this,pi).hidden?fs(this,Mm,Zb).call(this):fs(this,Mn,Va).call(this)};Mm=new WeakSet;Zb=function(){Y(this,pi).hidden&&(Y(this,pi).hidden=!1,Y(this,_t).setAttribute("aria-expanded","true"),Y(this,ms).call(this),Y(this,Ye).focus(),Vt(Ka(this),Y(this,ms)))};Mn=new WeakSet;Va=function(){if(Y(this,pi).hidden)return;Ai(Ka(this),Y(this,ms));let i=jr();Y(this,pi).hidden=!0,Y(this,_t).setAttribute("aria-expanded","false"),bt(Y(this,Ye),i)&&Y(this,_t).focus()};ms=new WeakMap;function Ka(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):Cx(i)||i.parentElement)!=null?e:i}function Cx(i){var e;let t=i.getAttribute(ee.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}A.customElements.get("media-chrome-selectmenu")||A.customElements.define("media-chrome-selectmenu",jt);var Fm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Dx=(i,e,t)=>(Fm(i,e,"read from private field"),t?t.call(i):e.get(i)),Pm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Mx=(i,e,t,r)=>(Fm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Om=(i,e,t)=>(Fm(i,e,"access private method"),t),Xd,Nm,iy,jd,Um,Px=`
1551
1551
  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
1552
1552
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
1553
- </svg>`,iy=P.createElement("template");iy.innerHTML=`
1553
+ </svg>`,ry=P.createElement("template");ry.innerHTML=`
1554
1554
  <slot name="captions-indicator" hidden>${Px}</slot>
1555
- `;var Qd=class extends zt{constructor(){super({slotTemplate:iy}),Pm(this,Nm),Pm(this,jd),Pm(this,Xd,void 0)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?Om(this,Nm,ty).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r?this.value=r:e==="aria-multiselectable"&&(this.removeAttribute("aria-multiselectable"),console.warn("Captions List doesn't currently support multiple selections. You can enable multiple items via the media.textTracks API."))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Om(this,jd,Um))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Om(this,jd,Um))}get mediaSubtitlesList(){return Jb(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){ey(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return Jb(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){ey(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Xd=new WeakMap;Nm=new WeakSet;ty=function(){var i;if(Dx(this,Xd)===JSON.stringify(this.mediaSubtitlesList))return;Mx(this,Xd,JSON.stringify(this.mediaSubtitlesList));let e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.value,r=Hi(this.formatOptionText("Off"),"off",t);r.prepend(mi(this,"select-indicator")),e.append(r);let s=this.mediaSubtitlesList;for(let n of s){let a=Hi(this.formatOptionText(n.label,n),Jr(n),this.value==Jr(n));a.prepend(mi(this,"select-indicator")),((i=n.kind)!=null?i:"subs")==="captions"&&a.append(mi(this,"captions-indicator")),e.append(a)}};jd=new WeakSet;Um=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new A.CustomEvent(F.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new A.CustomEvent(F.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};var Jb=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},ey=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-listbox")||A.customElements.define("media-captions-listbox",Qd);var Zd=class extends jt{init(){let e=P.createElement("media-captions-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-captions-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-captions-selectmenu")||A.customElements.define("media-captions-selectmenu",Zd);var ry=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Jd=(i,e,t)=>(ry(i,e,"read from private field"),t?t.call(i):e.get(i)),Bm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},qa=(i,e,t)=>(ry(i,e,"access private method"),t),Pn,Ya,eu,tu,Hm,$m={RATES:"rates"},iu=class extends zt{constructor(){super(),Bm(this,Ya),Bm(this,tu),Bm(this,Pn,new Kt(this,$m.RATES,{defaultValue:wa})),qa(this,Ya,eu).call(this)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_PLAYBACK_RATE,$m.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===$m.RATES&&t!=r&&(Jd(this,Pn).value=r,qa(this,Ya,eu).call(this))}get rates(){return Jd(this,Pn)}set rates(e){e?Array.isArray(e)&&(Jd(this,Pn).value=e.join(" ")):Jd(this,Pn).value="",qa(this,Ya,eu).call(this)}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",qa(this,tu,Hm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",qa(this,tu,Hm))}};Pn=new WeakMap;Ya=new WeakSet;eu=function(){let i=this.shadowRoot.querySelector("#container");i.textContent="";for(let e of this.rates){let t=Hi(this.formatOptionText(`${e}x`,e),e,this.mediaPlaybackRate==e);t.prepend(mi(this,"select-indicator")),i.append(t)}};tu=new WeakSet;Hm=function(){if(!this.value)return;let i=new A.CustomEvent(F.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-playback-rate-listbox")||A.customElements.define("media-playback-rate-listbox",iu);var ru=class extends jt{init(){let e=P.createElement("media-playback-rate-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-playback-rate-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-playback-rate-selectmenu")||A.customElements.define("media-playback-rate-selectmenu",ru);var Km=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},sy=(i,e,t)=>(Km(i,e,"read from private field"),t?t.call(i):e.get(i)),su=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gm=(i,e,t,r)=>(Km(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),nu=(i,e,t)=>(Km(i,e,"access private method"),t),za,lu,au,Wm,ou,Vm,du=class extends zt{constructor(){super(...arguments),su(this,au),su(this,ou),su(this,za,[]),su(this,lu,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(Gm(this,za,qo(r)),nu(this,au,Wm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",nu(this,ou,Vm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",nu(this,ou,Vm))}get mediaRenditionList(){return sy(this,za)}set mediaRenditionList(e){Gm(this,za,e),nu(this,au,Wm).call(this)}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};za=new WeakMap;lu=new WeakMap;au=new WeakSet;Wm=function(){if(sy(this,lu)===JSON.stringify(this.mediaRenditionList))return;Gm(this,lu,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height),e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.mediaRenditionSelected;for(let s of i){let n=this.formatOptionText(`${Math.min(s.width,s.height)}p`,s),a=Hi(n,`${s.id}`,s.selected&&!t);a.prepend(mi(this,"select-indicator")),e.append(a)}let r=Hi(this.formatOptionText("Auto"),"auto",t);r.prepend(mi(this,"select-indicator")),e.append(r)};ou=new WeakSet;Vm=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-rendition-listbox")||A.customElements.define("media-rendition-listbox",du);var Ox=`<svg aria-hidden="true" viewBox="0 0 24 24">
1555
+ `;var Qd=class extends zt{constructor(){super({slotTemplate:ry}),Pm(this,Nm),Pm(this,jd),Pm(this,Xd,void 0)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?Om(this,Nm,iy).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r?this.value=r:e==="aria-multiselectable"&&(this.removeAttribute("aria-multiselectable"),console.warn("Captions List doesn't currently support multiple selections. You can enable multiple items via the media.textTracks API."))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Om(this,jd,Um))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Om(this,jd,Um))}get mediaSubtitlesList(){return ey(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){ty(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return ey(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){ty(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Xd=new WeakMap;Nm=new WeakSet;iy=function(){var i;if(Dx(this,Xd)===JSON.stringify(this.mediaSubtitlesList))return;Mx(this,Xd,JSON.stringify(this.mediaSubtitlesList));let e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.value,r=Hi(this.formatOptionText("Off"),"off",t);r.prepend(mi(this,"select-indicator")),e.append(r);let s=this.mediaSubtitlesList;for(let n of s){let a=Hi(this.formatOptionText(n.label,n),Jr(n),this.value==Jr(n));a.prepend(mi(this,"select-indicator")),((i=n.kind)!=null?i:"subs")==="captions"&&a.append(mi(this,"captions-indicator")),e.append(a)}};jd=new WeakSet;Um=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new A.CustomEvent(F.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new A.CustomEvent(F.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};var ey=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},ty=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};A.customElements.get("media-captions-listbox")||A.customElements.define("media-captions-listbox",Qd);var Zd=class extends jt{init(){let e=P.createElement("media-captions-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-captions-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-captions-selectmenu")||A.customElements.define("media-captions-selectmenu",Zd);var sy=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Jd=(i,e,t)=>(sy(i,e,"read from private field"),t?t.call(i):e.get(i)),Bm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},qa=(i,e,t)=>(sy(i,e,"access private method"),t),Pn,Ya,eu,tu,Hm,$m={RATES:"rates"},iu=class extends zt{constructor(){super(),Bm(this,Ya),Bm(this,tu),Bm(this,Pn,new Kt(this,$m.RATES,{defaultValue:wa})),qa(this,Ya,eu).call(this)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_PLAYBACK_RATE,$m.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===$m.RATES&&t!=r&&(Jd(this,Pn).value=r,qa(this,Ya,eu).call(this))}get rates(){return Jd(this,Pn)}set rates(e){e?Array.isArray(e)&&(Jd(this,Pn).value=e.join(" ")):Jd(this,Pn).value="",qa(this,Ya,eu).call(this)}get mediaPlaybackRate(){return ve(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",qa(this,tu,Hm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",qa(this,tu,Hm))}};Pn=new WeakMap;Ya=new WeakSet;eu=function(){let i=this.shadowRoot.querySelector("#container");i.textContent="";for(let e of this.rates){let t=Hi(this.formatOptionText(`${e}x`,e),e,this.mediaPlaybackRate==e);t.prepend(mi(this,"select-indicator")),i.append(t)}};tu=new WeakSet;Hm=function(){if(!this.value)return;let i=new A.CustomEvent(F.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-playback-rate-listbox")||A.customElements.define("media-playback-rate-listbox",iu);var ru=class extends jt{init(){let e=P.createElement("media-playback-rate-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-playback-rate-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-playback-rate-selectmenu")||A.customElements.define("media-playback-rate-selectmenu",ru);var Km=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ny=(i,e,t)=>(Km(i,e,"read from private field"),t?t.call(i):e.get(i)),su=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gm=(i,e,t,r)=>(Km(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),nu=(i,e,t)=>(Km(i,e,"access private method"),t),za,lu,au,Wm,ou,Vm,du=class extends zt{constructor(){super(...arguments),su(this,au),su(this,ou),su(this,za,[]),su(this,lu,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(Gm(this,za,qo(r)),nu(this,au,Wm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",nu(this,ou,Vm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",nu(this,ou,Vm))}get mediaRenditionList(){return ny(this,za)}set mediaRenditionList(e){Gm(this,za,e),nu(this,au,Wm).call(this)}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};za=new WeakMap;lu=new WeakMap;au=new WeakSet;Wm=function(){if(ny(this,lu)===JSON.stringify(this.mediaRenditionList))return;Gm(this,lu,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height),e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.mediaRenditionSelected;for(let s of i){let n=this.formatOptionText(`${Math.min(s.width,s.height)}p`,s),a=Hi(n,`${s.id}`,s.selected&&!t);a.prepend(mi(this,"select-indicator")),e.append(a)}let r=Hi(this.formatOptionText("Auto"),"auto",t);r.prepend(mi(this,"select-indicator")),e.append(r)};ou=new WeakSet;Vm=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-rendition-listbox")||A.customElements.define("media-rendition-listbox",du);var Ox=`<svg aria-hidden="true" viewBox="0 0 24 24">
1556
1556
  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
1557
- </svg>`,ny=P.createElement("template");ny.innerHTML=`
1557
+ </svg>`,ay=P.createElement("template");ay.innerHTML=`
1558
1558
  <slot name="icon">${Ox}</slot>
1559
- `;var qm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:ny})}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};A.customElements.get("media-rendition-button")||A.customElements.define("media-rendition-button",qm);var uu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}init(){let e=P.createElement("media-rendition-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-rendition-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-rendition-selectmenu")||A.customElements.define("media-rendition-selectmenu",uu);var Xm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ay=(i,e,t)=>(Xm(i,e,"read from private field"),t?t.call(i):e.get(i)),cu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ym=(i,e,t,r)=>(Xm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),hu=(i,e,t)=>(Xm(i,e,"access private method"),t),ja,pu,fu,zm,mu,jm,gu=class extends zt{constructor(){super(...arguments),cu(this,fu),cu(this,mu),cu(this,ja,[]),cu(this,pu,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Ym(this,ja,Yo(r)),hu(this,fu,zm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",hu(this,mu,jm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",hu(this,mu,jm))}get mediaAudioTrackList(){return ay(this,ja)}set mediaAudioTrackList(e){Ym(this,ja,e),hu(this,fu,zm).call(this)}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};ja=new WeakMap;pu=new WeakMap;fu=new WeakSet;zm=function(){if(ay(this,pu)===JSON.stringify(this.mediaAudioTrackList))return;Ym(this,pu,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList,e=this.shadowRoot.querySelector("#container");e.textContent="";for(let t of i){let r=this.formatOptionText(t.label,t),s=Hi(r,`${t.id}`,t.enabled);s.prepend(mi(this,"select-indicator")),e.append(s)}};mu=new WeakSet;jm=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-audio-track-listbox")||A.customElements.define("media-audio-track-listbox",gu);var Nx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1559
+ `;var qm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:ay})}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};A.customElements.get("media-rendition-button")||A.customElements.define("media-rendition-button",qm);var uu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}init(){let e=P.createElement("media-rendition-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-rendition-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-rendition-selectmenu")||A.customElements.define("media-rendition-selectmenu",uu);var Xm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},oy=(i,e,t)=>(Xm(i,e,"read from private field"),t?t.call(i):e.get(i)),cu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ym=(i,e,t,r)=>(Xm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),hu=(i,e,t)=>(Xm(i,e,"access private method"),t),ja,pu,fu,zm,mu,jm,gu=class extends zt{constructor(){super(...arguments),cu(this,fu),cu(this,mu),cu(this,ja,[]),cu(this,pu,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Ym(this,ja,Yo(r)),hu(this,fu,zm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",hu(this,mu,jm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",hu(this,mu,jm))}get mediaAudioTrackList(){return oy(this,ja)}set mediaAudioTrackList(e){Ym(this,ja,e),hu(this,fu,zm).call(this)}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};ja=new WeakMap;pu=new WeakMap;fu=new WeakSet;zm=function(){if(oy(this,pu)===JSON.stringify(this.mediaAudioTrackList))return;Ym(this,pu,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList,e=this.shadowRoot.querySelector("#container");e.textContent="";for(let t of i){let r=this.formatOptionText(t.label,t),s=Hi(r,`${t.id}`,t.enabled);s.prepend(mi(this,"select-indicator")),e.append(s)}};mu=new WeakSet;jm=function(){if(this.value==null)return;let i=new A.CustomEvent(F.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};A.customElements.get("media-audio-track-listbox")||A.customElements.define("media-audio-track-listbox",gu);var Nx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1560
1560
  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
1561
1561
  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
1562
- </svg>`,oy=P.createElement("template");oy.innerHTML=`
1562
+ </svg>`,ly=P.createElement("template");ly.innerHTML=`
1563
1563
  <slot name="icon">${Nx}</slot>
1564
- `;var Qm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:oy})}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};A.customElements.get("media-audio-track-button")||A.customElements.define("media-audio-track-button",Qm);var vu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=P.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-audio-track-selectmenu")||A.customElements.define("media-audio-track-selectmenu",vu);var Ux=Object.create,gy=Object.defineProperty,Fx=Object.getOwnPropertyDescriptor,Bx=Object.getOwnPropertyNames,$x=Object.getPrototypeOf,Hx=Object.prototype.hasOwnProperty,vy=function(i,e){return function(){return i&&(e=i(i=0)),e}},gt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},Gx=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=Bx(e),n=0,a=s.length,o;n<a;n++)o=s[n],!Hx.call(i,o)&&o!==t&&gy(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=Fx(e,o))||r.enumerable});return i},Dt=function(i,e,t){return t=i!=null?Ux($x(i)):{},Gx(e||!i||!i.__esModule?gy(t,"default",{value:i,enumerable:!0}):t,i)},Vi=gt(function(i,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function At(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var Au=vy(function(){}),Wx=gt(function(i,e){Au(),function(t,r){"use strict";typeof define=="function"&&define.amd?define(r):typeof e=="object"&&e.exports?e.exports=r():t.log=r()}(i,function(){"use strict";var t=function(){},r="undefined",s=(typeof window=="undefined"?"undefined":At(window))!==r&&At(window.navigator)!==r&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function a(g,E){var T=g[E];if(typeof T.bind=="function")return T.bind(g);try{return Function.prototype.bind.call(T,g)}catch{return function(){return Function.prototype.apply.apply(T,[g,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(g){return g==="debug"&&(g="log"),(typeof console=="undefined"?"undefined":At(console))===r?!1:g==="trace"&&s?o:console[g]!==void 0?a(console,g):console.log!==void 0?a(console,"log"):t}function d(g,E){for(var T=0;T<n.length;T++){var y=n[T];this[y]=T<g?t:this.methodFactory(y,g,E)}this.log=this.debug}function u(g,E,T){return function(){(typeof console=="undefined"?"undefined":At(console))!==r&&(d.call(this,E,T),this[g].apply(this,arguments))}}function c(g,E,T){return l(g)||u.apply(this,arguments)}function h(g,E,T){var y=this,S;E=E==null?"WARN":E;var _="loglevel";typeof g=="string"?_+=":"+g:(typeof g=="undefined"?"undefined":At(g))==="symbol"&&(_=void 0);function L(k){var D=(n[k]||"silent").toUpperCase();if(!((typeof window=="undefined"?"undefined":At(window))===r||!_)){try{window.localStorage[_]=D;return}catch{}try{window.document.cookie=encodeURIComponent(_)+"="+D+";"}catch{}}}function x(){var k;if(!((typeof window=="undefined"?"undefined":At(window))===r||!_)){try{k=window.localStorage[_]}catch{}if((typeof k=="undefined"?"undefined":At(k))===r)try{var D=window.document.cookie,U=D.indexOf(encodeURIComponent(_)+"=");U!==-1&&(k=/^([^;]+)/.exec(D.slice(U))[1])}catch{}return y.levels[k]===void 0&&(k=void 0),k}}function w(){if(!((typeof window=="undefined"?"undefined":At(window))===r||!_)){try{window.localStorage.removeItem(_);return}catch{}try{window.document.cookie=encodeURIComponent(_)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}y.name=g,y.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},y.methodFactory=T||c,y.getLevel=function(){return S},y.setLevel=function(k,D){if(typeof k=="string"&&y.levels[k.toUpperCase()]!==void 0&&(k=y.levels[k.toUpperCase()]),typeof k=="number"&&k>=0&&k<=y.levels.SILENT){if(S=k,D!==!1&&L(k),d.call(y,k,g),(typeof console=="undefined"?"undefined":At(console))===r&&k<y.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+k},y.setDefaultLevel=function(k){E=k,x()||y.setLevel(k,!1)},y.resetLevel=function(){y.setLevel(E,!1),w()},y.enableAll=function(k){y.setLevel(y.levels.TRACE,k)},y.disableAll=function(k){y.setLevel(y.levels.SILENT,k)};var M=x();M==null&&(M=E),y.setLevel(M,!1)}var f=new h,m={};f.getLogger=function(g){if((typeof g=="undefined"?"undefined":At(g))!=="symbol"&&typeof g!="string"||g==="")throw new TypeError("You must supply a name when creating a logger.");var E=m[g];return E||(E=m[g]=new h(g,f.getLevel(),f.methodFactory)),E};var p=(typeof window=="undefined"?"undefined":At(window))!==r?window.log:void 0;return f.noConflict=function(){return(typeof window=="undefined"?"undefined":At(window))!==r&&window.log===f&&(window.log=p),f},f.getLoggers=function(){return m},f.default=f,f})});function bs(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):bs(i,e)}var ys=vy(function(){ys()}),Vx=gt(function(i){"use strict";var e=Object.prototype.hasOwnProperty,t;function r(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch{return null}}function s(o){try{return encodeURIComponent(o)}catch{return null}}function n(o){for(var l=/([^=?#&]+)=?([^&]*)/g,d={},u;u=l.exec(o);){var c=r(u[1]),h=r(u[2]);c===null||h===null||c in d||(d[c]=h)}return d}function a(o,l){l=l||"";var d=[],u,c;typeof l!="string"&&(l="?");for(c in o)if(e.call(o,c)){if(u=o[c],!u&&(u===null||u===t||isNaN(u))&&(u=""),c=s(c),u=s(u),c===null||u===null)continue;d.push(c+"="+u)}return d.length?l+d.join("&"):""}i.stringify=a,i.parse=n}),Kx=gt(function(i,e){"use strict";(function(t){var r=!1;if(typeof define=="function"&&define.amd&&(define(t),r=!0),typeof i=="object"&&(e.exports=t(),r=!0),!r){var s=window.Cookies,n=window.Cookies=t();n.noConflict=function(){return window.Cookies=s,n}}})(function(){var t=function(){for(var s=0,n={};s<arguments.length;s++){var a=arguments[s];for(var o in a)n[o]=a[o]}return n};function r(s){function n(a,o,l){var d;if(typeof document!="undefined"){if(arguments.length>1){if(l=t({path:"/"},n.defaults,l),typeof l.expires=="number"){var u=new Date;u.setMilliseconds(u.getMilliseconds()+l.expires*864e5),l.expires=u}try{d=JSON.stringify(o),/^[\{\[]/.test(d)&&(o=d)}catch{}return s.write?o=s.write(o,a):o=encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),a=encodeURIComponent(String(a)),a=a.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),a=a.replace(/[\(\)]/g,escape),document.cookie=[a,"=",o,l.expires?"; expires="+l.expires.toUTCString():"",l.path?"; path="+l.path:"",l.domain?"; domain="+l.domain:"",l.secure?"; secure":""].join("")}a||(d={});for(var c=document.cookie?document.cookie.split("; "):[],h=/(%[0-9A-Z]{2})+/g,f=0;f<c.length;f++){var m=c[f].split("="),p=m.slice(1).join("=");p.charAt(0)==='"'&&(p=p.slice(1,-1));try{var g=m[0].replace(h,decodeURIComponent);if(p=s.read?s.read(p,g):s(p,g)||p.replace(h,decodeURIComponent),this.json)try{p=JSON.parse(p)}catch{}if(a===g){d=p;break}a||(d[g]=p)}catch{}}return d}}return n.set=n,n.get=function(a){return n.call(n,a)},n.getJSON=function(){return n.apply({json:!0},[].slice.call(arguments))},n.defaults={},n.remove=function(a,o){n(a,"",t(o,{expires:-1}))},n.withConverter=r,n}return r(function(){})})}),Ey=gt(function(i,e){var t=Array.prototype.slice;e.exports=r;function r(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),qx=gt(function(i,e){ys(),e.exports=t;function t(r,s){if(!bs(this,t))return new t(r,s);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),Yx=gt(function(i,e){ys(),e.exports=t;function t(r,s){if(!bs(this,t))return new t(r);this.data=r||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(r,s,n){var a=this.data,o=a.substring(0,r),l=a.substring(r+s,a.length);this.data=o+n+l,this.length=this.data.length}}),by=gt(function(i,e){e.exports=t;function t(r){var s=this,n=r.type;r.target||(r.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){r.currentTarget=s,typeof o=="function"?o(r):o.handleEvent(r)});s.parentNode&&s.parentNode.dispatchEvent(r)}}),yy=gt(function(i,e){e.exports=t;function t(r,s){var n=this;n.listeners||(n.listeners={}),n.listeners[r]||(n.listeners[r]=[]),n.listeners[r].indexOf(s)===-1&&n.listeners[r].push(s)}}),Ty=gt(function(i,e){e.exports=t;function t(r,s){var n=this;if(n.listeners&&n.listeners[r]){var a=n.listeners[r],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),zx=gt(function(i,e){Au(),e.exports=r;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=At(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],T=(E.prefix?E.prefix+":":"")+g;f.push({name:T,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(h){return u(h).replace(/"/g,"&quot;")}}),_y=gt(function(i,e){ys();var t=Ey(),r=by(),s=yy(),n=Ty(),a=zx(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!bs(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),jx=gt(function(i,e){ys();var t=_y();e.exports=r;function r(s){if(!bs(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),Xx=gt(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),Qx=gt(function(i,e){ys();var t=Ey(),r=qx(),s=Yx(),n=_y(),a=jx(),o=Xx(),l=by(),d=yy(),u=Ty();e.exports=c;function c(){if(!bs(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),Zx=gt(function(i,e){var t=Qx();e.exports=new t}),Jx=gt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=Zx(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function eL(i){if(Array.isArray(i))return i}function tL(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function iL(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1565
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ly(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=i[t];return r}function rL(i,e){if(i){if(typeof i=="string")return ly(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ly(i,e)}}function Es(i,e){return eL(i)||tL(i,e)||rL(i,e)||iL()}var Za=Dt(Vi()),eo=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var e=Math.random()*16|0,t=i==="x"?e:e&3|8;return t.toString(16)})},Ay=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},gs=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=Ay()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},rp=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=gs(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]},to=Dt(Wx()),sL=to.default.methodFactory;to.default.methodFactory=function(i,e,t){var r=sL(i,e,t);return function(){for(var s=["[mux]"],n=0;n<arguments.length;n++)s.push(arguments[n]);r.apply(void 0,s)}};to.default.setLevel(to.default.getLevel());var Ge=to.default,Zm=Dt(Vi());function sp(){var i=Zm.default.doNotTrack||Zm.default.navigator&&Zm.default.navigator.doNotTrack;return i==="1"}var nL=Dt(Vi()),aL={now:function(){var i=nL.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},tt=aL;function re(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}ys();function dt(i,e){if(!bs(i,e))throw new TypeError("Cannot call a class as a function")}function dy(i,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(i,r.key,r)}}function Ki(i,e,t){return e&&dy(i.prototype,e),t&&dy(i,t),i}function H(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function np(i,e){return np=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},np(i,e)}function oL(i,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&np(i,e)}function bu(i){return bu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},bu(i)}function lL(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}Au();function dL(i,e){return e&&(At(e)==="object"||typeof e=="function")?e:re(i)}function uL(i){var e=lL();return function(){var t=bu(i),r;if(e){var s=bu(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return dL(this,r)}}var gi=function(i){return io(i)[0]},io=function(i){if(typeof i!="string"||i==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=i.match(e)||[],r=t[4],s;return r&&(s=(r.match(/[^\.]+\.[^\.]+$/)||[])[0]),[r,s]},Jm=Dt(Vi()),cL={exists:function(){var i=Jm.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=Jm.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=Jm.default.performance,e=i&&i.timing;return e&&e.navigationStart}},yu=cL;function Qe(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function Tu(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},r=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),r.forEach(function(s){H(i,s,t[s])})}return i}function hL(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function op(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):hL(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var fL=["x-cdn","content-type"],Sy=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],mL=fL.concat(Sy);function lp(i){i=i||"";var e={},t=i.trim().split(/[\r\n]+/);return t.forEach(function(r){if(r){var s=r.split(": "),n=s.shift();n&&(mL.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function _u(i){if(i){var e=Sy.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var pL=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},xy=pL,Eu=function(i){if(!i)return{};var e=yu.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},Xa=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return lp(i.getAllResponseHeaders())},gL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var T=parseInt(s.version),y;return T===1&&E.programDateTime!==null&&(y=E.programDateTime),T===0&&E.pdt!==null&&(y=E.pdt),y};if(!yu.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,T){return i.emit(e,E,T)},d=function(E,T){var y=T.levels,S=T.audioTracks,_=T.url,L=T.stats,x=T.networkDetails,w=T.sessionData,M={},k={};y.forEach(function(V,se){M[se]={width:V.width,height:V.height,bitrate:V.bitrate,attrs:V.attrs}}),S.forEach(function(V,se){k[se]={name:V.name,language:V.lang,bitrate:V.bitrate}});var D=Eu(L),U=D.bytesLoaded,B=D.requestStart,X=D.responseStart,z=D.responseEnd;l("requestcompleted",op(Tu({},xy(w)),{request_event_type:E,request_bytes_loaded:U,request_start:B,request_response_start:X,request_response_end:z,request_type:"manifest",request_hostname:gi(_),request_response_headers:Xa(x),request_rendition_lists:{media:M,audio:k,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,T){var y=T.details,S=T.level,_=T.networkDetails,L=T.stats,x=Eu(L),w=x.bytesLoaded,M=x.requestStart,k=x.responseStart,D=x.responseEnd,U=y.fragments[y.fragments.length-1],B=o(U)+a(U.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:w,request_start:M,request_response_start:k,request_response_end:D,request_current_level:S,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Xa(_),video_holdback:y.holdBack&&a(y.holdBack),video_part_holdback:y.partHoldBack&&a(y.partHoldBack),video_part_target_duration:y.partTarget&&a(y.partTarget),video_target_duration:y.targetduration&&a(y.targetduration),video_source_is_live:y.live,player_manifest_newest_program_time:isNaN(B)?void 0:B})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,T){var y=T.details,S=T.networkDetails,_=T.stats,L=Eu(_),x=L.bytesLoaded,w=L.requestStart,M=L.responseStart,k=L.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:M,request_response_end:k,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Xa(S)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,T){var y=T.stats,S=T.networkDetails,_=T.frag;y=y||_.stats;var L=Eu(y),x=L.bytesLoaded,w=L.requestStart,M=L.responseStart,k=L.responseEnd,D=S?Xa(S):void 0,U={request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:M,request_response_end:k,request_hostname:S?gi(S.responseURL):void 0,request_id:D?_u(D):void 0,request_response_headers:D,request_media_duration:_.duration,request_url:S==null?void 0:S.responseURL};_.type==="main"?(U.request_type="media",U.request_current_level=_.level,U.request_video_width=(t.levels[_.level]||{}).width,U.request_video_height=(t.levels[_.level]||{}).height,U.request_labeled_bitrate=(t.levels[_.level]||{}).bitrate):U.request_type=_.type,l("requestcompleted",U)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,T){var y=T.frag,S=y.start,_=o(y),L={currentFragmentPDT:_,currentFragmentStart:a(S)};l("fragmentchange",L)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,T){var y=T.type,S=T.details,_=T.response,L=T.fatal,x=T.frag,w=T.networkDetails,M=(x==null?void 0:x.url)||T.url||"",k=w?Xa(w):void 0;if((S===s.ErrorDetails.MANIFEST_LOAD_ERROR||S===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT||S===s.ErrorDetails.LEVEL_LOAD_ERROR||S===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:S,request_url:M,request_hostname:gi(M),request_id:k?_u(k):void 0,request_type:S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:_==null?void 0:_.code,request_error_text:_==null?void 0:_.text}),L){var D,U="".concat(M?"url: ".concat(M,`
1564
+ `;var Qm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:ly})}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};A.customElements.get("media-audio-track-button")||A.customElements.define("media-audio-track-button",Qm);var vu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=P.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=P.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};A.customElements.get("media-audio-track-selectmenu")||A.customElements.define("media-audio-track-selectmenu",vu);var Ux=Object.create,vy=Object.defineProperty,Fx=Object.getOwnPropertyDescriptor,Bx=Object.getOwnPropertyNames,$x=Object.getPrototypeOf,Hx=Object.prototype.hasOwnProperty,Ey=function(i,e){return function(){return i&&(e=i(i=0)),e}},gt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},Gx=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=Bx(e),n=0,a=s.length,o;n<a;n++)o=s[n],!Hx.call(i,o)&&o!==t&&vy(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=Fx(e,o))||r.enumerable});return i},Dt=function(i,e,t){return t=i!=null?Ux($x(i)):{},Gx(e||!i||!i.__esModule?vy(t,"default",{value:i,enumerable:!0}):t,i)},Vi=gt(function(i,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function At(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var Au=Ey(function(){}),Wx=gt(function(i,e){Au(),function(t,r){"use strict";typeof define=="function"&&define.amd?define(r):typeof e=="object"&&e.exports?e.exports=r():t.log=r()}(i,function(){"use strict";var t=function(){},r="undefined",s=(typeof window=="undefined"?"undefined":At(window))!==r&&At(window.navigator)!==r&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function a(g,E){var T=g[E];if(typeof T.bind=="function")return T.bind(g);try{return Function.prototype.bind.call(T,g)}catch{return function(){return Function.prototype.apply.apply(T,[g,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(g){return g==="debug"&&(g="log"),(typeof console=="undefined"?"undefined":At(console))===r?!1:g==="trace"&&s?o:console[g]!==void 0?a(console,g):console.log!==void 0?a(console,"log"):t}function d(g,E){for(var T=0;T<n.length;T++){var y=n[T];this[y]=T<g?t:this.methodFactory(y,g,E)}this.log=this.debug}function u(g,E,T){return function(){(typeof console=="undefined"?"undefined":At(console))!==r&&(d.call(this,E,T),this[g].apply(this,arguments))}}function c(g,E,T){return l(g)||u.apply(this,arguments)}function h(g,E,T){var y=this,S;E=E==null?"WARN":E;var _="loglevel";typeof g=="string"?_+=":"+g:(typeof g=="undefined"?"undefined":At(g))==="symbol"&&(_=void 0);function L(k){var D=(n[k]||"silent").toUpperCase();if(!((typeof window=="undefined"?"undefined":At(window))===r||!_)){try{window.localStorage[_]=D;return}catch{}try{window.document.cookie=encodeURIComponent(_)+"="+D+";"}catch{}}}function x(){var k;if(!((typeof window=="undefined"?"undefined":At(window))===r||!_)){try{k=window.localStorage[_]}catch{}if((typeof k=="undefined"?"undefined":At(k))===r)try{var D=window.document.cookie,U=D.indexOf(encodeURIComponent(_)+"=");U!==-1&&(k=/^([^;]+)/.exec(D.slice(U))[1])}catch{}return y.levels[k]===void 0&&(k=void 0),k}}function w(){if(!((typeof window=="undefined"?"undefined":At(window))===r||!_)){try{window.localStorage.removeItem(_);return}catch{}try{window.document.cookie=encodeURIComponent(_)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}y.name=g,y.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},y.methodFactory=T||c,y.getLevel=function(){return S},y.setLevel=function(k,D){if(typeof k=="string"&&y.levels[k.toUpperCase()]!==void 0&&(k=y.levels[k.toUpperCase()]),typeof k=="number"&&k>=0&&k<=y.levels.SILENT){if(S=k,D!==!1&&L(k),d.call(y,k,g),(typeof console=="undefined"?"undefined":At(console))===r&&k<y.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+k},y.setDefaultLevel=function(k){E=k,x()||y.setLevel(k,!1)},y.resetLevel=function(){y.setLevel(E,!1),w()},y.enableAll=function(k){y.setLevel(y.levels.TRACE,k)},y.disableAll=function(k){y.setLevel(y.levels.SILENT,k)};var M=x();M==null&&(M=E),y.setLevel(M,!1)}var f=new h,m={};f.getLogger=function(g){if((typeof g=="undefined"?"undefined":At(g))!=="symbol"&&typeof g!="string"||g==="")throw new TypeError("You must supply a name when creating a logger.");var E=m[g];return E||(E=m[g]=new h(g,f.getLevel(),f.methodFactory)),E};var p=(typeof window=="undefined"?"undefined":At(window))!==r?window.log:void 0;return f.noConflict=function(){return(typeof window=="undefined"?"undefined":At(window))!==r&&window.log===f&&(window.log=p),f},f.getLoggers=function(){return m},f.default=f,f})});function bs(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):bs(i,e)}var ys=Ey(function(){ys()}),Vx=gt(function(i){"use strict";var e=Object.prototype.hasOwnProperty,t;function r(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch{return null}}function s(o){try{return encodeURIComponent(o)}catch{return null}}function n(o){for(var l=/([^=?#&]+)=?([^&]*)/g,d={},u;u=l.exec(o);){var c=r(u[1]),h=r(u[2]);c===null||h===null||c in d||(d[c]=h)}return d}function a(o,l){l=l||"";var d=[],u,c;typeof l!="string"&&(l="?");for(c in o)if(e.call(o,c)){if(u=o[c],!u&&(u===null||u===t||isNaN(u))&&(u=""),c=s(c),u=s(u),c===null||u===null)continue;d.push(c+"="+u)}return d.length?l+d.join("&"):""}i.stringify=a,i.parse=n}),Kx=gt(function(i,e){"use strict";(function(t){var r=!1;if(typeof define=="function"&&define.amd&&(define(t),r=!0),typeof i=="object"&&(e.exports=t(),r=!0),!r){var s=window.Cookies,n=window.Cookies=t();n.noConflict=function(){return window.Cookies=s,n}}})(function(){var t=function(){for(var s=0,n={};s<arguments.length;s++){var a=arguments[s];for(var o in a)n[o]=a[o]}return n};function r(s){function n(a,o,l){var d;if(typeof document!="undefined"){if(arguments.length>1){if(l=t({path:"/"},n.defaults,l),typeof l.expires=="number"){var u=new Date;u.setMilliseconds(u.getMilliseconds()+l.expires*864e5),l.expires=u}try{d=JSON.stringify(o),/^[\{\[]/.test(d)&&(o=d)}catch{}return s.write?o=s.write(o,a):o=encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),a=encodeURIComponent(String(a)),a=a.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),a=a.replace(/[\(\)]/g,escape),document.cookie=[a,"=",o,l.expires?"; expires="+l.expires.toUTCString():"",l.path?"; path="+l.path:"",l.domain?"; domain="+l.domain:"",l.secure?"; secure":""].join("")}a||(d={});for(var c=document.cookie?document.cookie.split("; "):[],h=/(%[0-9A-Z]{2})+/g,f=0;f<c.length;f++){var m=c[f].split("="),p=m.slice(1).join("=");p.charAt(0)==='"'&&(p=p.slice(1,-1));try{var g=m[0].replace(h,decodeURIComponent);if(p=s.read?s.read(p,g):s(p,g)||p.replace(h,decodeURIComponent),this.json)try{p=JSON.parse(p)}catch{}if(a===g){d=p;break}a||(d[g]=p)}catch{}}return d}}return n.set=n,n.get=function(a){return n.call(n,a)},n.getJSON=function(){return n.apply({json:!0},[].slice.call(arguments))},n.defaults={},n.remove=function(a,o){n(a,"",t(o,{expires:-1}))},n.withConverter=r,n}return r(function(){})})}),by=gt(function(i,e){var t=Array.prototype.slice;e.exports=r;function r(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),qx=gt(function(i,e){ys(),e.exports=t;function t(r,s){if(!bs(this,t))return new t(r,s);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),Yx=gt(function(i,e){ys(),e.exports=t;function t(r,s){if(!bs(this,t))return new t(r);this.data=r||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(r,s,n){var a=this.data,o=a.substring(0,r),l=a.substring(r+s,a.length);this.data=o+n+l,this.length=this.data.length}}),yy=gt(function(i,e){e.exports=t;function t(r){var s=this,n=r.type;r.target||(r.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){r.currentTarget=s,typeof o=="function"?o(r):o.handleEvent(r)});s.parentNode&&s.parentNode.dispatchEvent(r)}}),Ty=gt(function(i,e){e.exports=t;function t(r,s){var n=this;n.listeners||(n.listeners={}),n.listeners[r]||(n.listeners[r]=[]),n.listeners[r].indexOf(s)===-1&&n.listeners[r].push(s)}}),_y=gt(function(i,e){e.exports=t;function t(r,s){var n=this;if(n.listeners&&n.listeners[r]){var a=n.listeners[r],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),zx=gt(function(i,e){Au(),e.exports=r;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=At(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],T=(E.prefix?E.prefix+":":"")+g;f.push({name:T,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(h){return u(h).replace(/"/g,"&quot;")}}),Ay=gt(function(i,e){ys();var t=by(),r=yy(),s=Ty(),n=_y(),a=zx(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!bs(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),jx=gt(function(i,e){ys();var t=Ay();e.exports=r;function r(s){if(!bs(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),Xx=gt(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),Qx=gt(function(i,e){ys();var t=by(),r=qx(),s=Yx(),n=Ay(),a=jx(),o=Xx(),l=yy(),d=Ty(),u=_y();e.exports=c;function c(){if(!bs(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),Zx=gt(function(i,e){var t=Qx();e.exports=new t}),Jx=gt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=Zx(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function eL(i){if(Array.isArray(i))return i}function tL(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function iL(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1565
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dy(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=i[t];return r}function rL(i,e){if(i){if(typeof i=="string")return dy(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return dy(i,e)}}function Es(i,e){return eL(i)||tL(i,e)||rL(i,e)||iL()}var Za=Dt(Vi()),eo=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var e=Math.random()*16|0,t=i==="x"?e:e&3|8;return t.toString(16)})},Sy=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},gs=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=Sy()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},rp=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=gs(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]},to=Dt(Wx()),sL=to.default.methodFactory;to.default.methodFactory=function(i,e,t){var r=sL(i,e,t);return function(){for(var s=["[mux]"],n=0;n<arguments.length;n++)s.push(arguments[n]);r.apply(void 0,s)}};to.default.setLevel(to.default.getLevel());var Ge=to.default,Zm=Dt(Vi());function sp(){var i=Zm.default.doNotTrack||Zm.default.navigator&&Zm.default.navigator.doNotTrack;return i==="1"}var nL=Dt(Vi()),aL={now:function(){var i=nL.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},tt=aL;function re(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}ys();function dt(i,e){if(!bs(i,e))throw new TypeError("Cannot call a class as a function")}function uy(i,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(i,r.key,r)}}function Ki(i,e,t){return e&&uy(i.prototype,e),t&&uy(i,t),i}function H(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function np(i,e){return np=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},np(i,e)}function oL(i,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&np(i,e)}function bu(i){return bu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},bu(i)}function lL(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}Au();function dL(i,e){return e&&(At(e)==="object"||typeof e=="function")?e:re(i)}function uL(i){var e=lL();return function(){var t=bu(i),r;if(e){var s=bu(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return dL(this,r)}}var gi=function(i){return io(i)[0]},io=function(i){if(typeof i!="string"||i==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=i.match(e)||[],r=t[4],s;return r&&(s=(r.match(/[^\.]+\.[^\.]+$/)||[])[0]),[r,s]},Jm=Dt(Vi()),cL={exists:function(){var i=Jm.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=Jm.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=Jm.default.performance,e=i&&i.timing;return e&&e.navigationStart}},yu=cL;function Qe(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function Tu(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},r=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),r.forEach(function(s){H(i,s,t[s])})}return i}function hL(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function op(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):hL(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var fL=["x-cdn","content-type"],xy=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],mL=fL.concat(xy);function lp(i){i=i||"";var e={},t=i.trim().split(/[\r\n]+/);return t.forEach(function(r){if(r){var s=r.split(": "),n=s.shift();n&&(mL.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function _u(i){if(i){var e=xy.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var pL=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},Ly=pL,Eu=function(i){if(!i)return{};var e=yu.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},Xa=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return lp(i.getAllResponseHeaders())},gL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var T=parseInt(s.version),y;return T===1&&E.programDateTime!==null&&(y=E.programDateTime),T===0&&E.pdt!==null&&(y=E.pdt),y};if(!yu.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,T){return i.emit(e,E,T)},d=function(E,T){var y=T.levels,S=T.audioTracks,_=T.url,L=T.stats,x=T.networkDetails,w=T.sessionData,M={},k={};y.forEach(function(V,se){M[se]={width:V.width,height:V.height,bitrate:V.bitrate,attrs:V.attrs}}),S.forEach(function(V,se){k[se]={name:V.name,language:V.lang,bitrate:V.bitrate}});var D=Eu(L),U=D.bytesLoaded,B=D.requestStart,X=D.responseStart,z=D.responseEnd;l("requestcompleted",op(Tu({},Ly(w)),{request_event_type:E,request_bytes_loaded:U,request_start:B,request_response_start:X,request_response_end:z,request_type:"manifest",request_hostname:gi(_),request_response_headers:Xa(x),request_rendition_lists:{media:M,audio:k,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,T){var y=T.details,S=T.level,_=T.networkDetails,L=T.stats,x=Eu(L),w=x.bytesLoaded,M=x.requestStart,k=x.responseStart,D=x.responseEnd,U=y.fragments[y.fragments.length-1],B=o(U)+a(U.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:w,request_start:M,request_response_start:k,request_response_end:D,request_current_level:S,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Xa(_),video_holdback:y.holdBack&&a(y.holdBack),video_part_holdback:y.partHoldBack&&a(y.partHoldBack),video_part_target_duration:y.partTarget&&a(y.partTarget),video_target_duration:y.targetduration&&a(y.targetduration),video_source_is_live:y.live,player_manifest_newest_program_time:isNaN(B)?void 0:B})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,T){var y=T.details,S=T.networkDetails,_=T.stats,L=Eu(_),x=L.bytesLoaded,w=L.requestStart,M=L.responseStart,k=L.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:M,request_response_end:k,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Xa(S)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,T){var y=T.stats,S=T.networkDetails,_=T.frag;y=y||_.stats;var L=Eu(y),x=L.bytesLoaded,w=L.requestStart,M=L.responseStart,k=L.responseEnd,D=S?Xa(S):void 0,U={request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:M,request_response_end:k,request_hostname:S?gi(S.responseURL):void 0,request_id:D?_u(D):void 0,request_response_headers:D,request_media_duration:_.duration,request_url:S==null?void 0:S.responseURL};_.type==="main"?(U.request_type="media",U.request_current_level=_.level,U.request_video_width=(t.levels[_.level]||{}).width,U.request_video_height=(t.levels[_.level]||{}).height,U.request_labeled_bitrate=(t.levels[_.level]||{}).bitrate):U.request_type=_.type,l("requestcompleted",U)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,T){var y=T.frag,S=y.start,_=o(y),L={currentFragmentPDT:_,currentFragmentStart:a(S)};l("fragmentchange",L)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,T){var y=T.type,S=T.details,_=T.response,L=T.fatal,x=T.frag,w=T.networkDetails,M=(x==null?void 0:x.url)||T.url||"",k=w?Xa(w):void 0;if((S===s.ErrorDetails.MANIFEST_LOAD_ERROR||S===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT||S===s.ErrorDetails.LEVEL_LOAD_ERROR||S===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:S,request_url:M,request_hostname:gi(M),request_id:k?_u(k):void 0,request_type:S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:_==null?void 0:_.code,request_error_text:_==null?void 0:_.text}),L){var D,U="".concat(M?"url: ".concat(M,`
1566
1566
  `):"")+"".concat(_&&(_.code||_.text)?"response: ".concat(_.code,", ").concat(_.text,`
1567
1567
  `):"")+"".concat(T.reason?"failure reason: ".concat(T.reason,`
1568
1568
  `):"")+"".concat(T.level?"level: ".concat(T.level,`
@@ -1571,38 +1571,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1571
1571
  `):"")+"".concat(T.error?"error: ".concat(T.error,`
1572
1572
  `):"")+"".concat(T.event?"event: ".concat(T.event,`
1573
1573
  `):"")+"".concat(T.err?"error message: ".concat((D=T.err)===null||D===void 0?void 0:D.message,`
1574
- `):"");l("error",{player_error_code:y,player_error_message:S,player_error_context:U})}};t.on(s.Events.ERROR,m);var p=function(E,T){var y=T.frag,S=y&&y._url||"";l("requestcanceled",{request_event_type:E,request_url:S,request_type:"media",request_hostname:gi(S)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,T){var y=T.level,S=t.levels[y];if(S&&S.attrs&&S.attrs.BANDWIDTH){var _=S.attrs.BANDWIDTH,L,x=parseFloat(S.attrs["FRAME-RATE"]);isNaN(x)||(L=x),_?l("renditionchange",{video_source_fps:L,video_source_bitrate:_,video_source_width:S.width,video_source_height:S.height,video_source_rendition_name:S.name,video_source_codec:S==null?void 0:S.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},vL=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},uy=function(i,e){if(!i||!i.requestEndDate)return{};var t=gi(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=lp(d[d.length-1]._responseHeaders||""));var c=u?_u(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},EL=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},bL=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},yL=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},TL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=yL(t),a=function(y,S){return i.emit(e,y,S)},o=function(y){var S=y.type,_=y.data,L=(_||{}).url;a("requestcompleted",{request_event_type:S,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:gi(L),request_url:L})};t.on("manifestLoaded",o);var l={},d=function(y){if(typeof y.getRequests!="function")return null;var S=y.getRequests({state:"executed"});return S.length===0?null:S[S.length-1]},u=function(y){var S=y.type,_=y.fragmentModel,L=y.chunk,x=d(_);c({type:S,request:x,chunk:L})},c=function(y){var S=y.type,_=y.chunk,L=y.request,x=(_||{}).mediaInfo,w=x||{},M=w.type,k=w.bitrateList;k=k||[];var D={};k.forEach(function(oe,Q){D[Q]={},D[Q].width=oe.width,D[Q].height=oe.height,D[Q].bitrate=oe.bandwidth,D[Q].attrs={}}),M==="video"?l.video=D:M==="audio"?l.audio=D:l.media=D;var U=uy(L,t),B=U.requestStart,X=U.requestResponseStart,z=U.requestResponseEnd,V=U.requestResponseHeaders,se=U.requestMediaDuration,ae=U.requestHostname,W=U.requestUrl,G=U.requestId;a("requestcompleted",{request_event_type:S,request_start:B,request_response_start:X,request_response_end:z,request_bytes_loaded:-1,request_type:M+"_init",request_response_headers:V,request_hostname:ae,request_id:G,request_url:W,request_media_duration:se,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(y){var S=y.type,_=y.fragmentModel,L=y.chunk,x=d(_);f({type:S,request:x,chunk:L})},f=function(y){var S=y.type,_=y.chunk,L=y.request,x=_||{},w=x.mediaInfo,M=x.start,k=w||{},D=k.type,U=uy(L,t),B=U.requestStart,X=U.requestResponseStart,z=U.requestResponseEnd,V=U.requestBytesLoaded,se=U.requestResponseHeaders,ae=U.requestMediaDuration,W=U.requestHostname,G=U.requestUrl,oe=U.requestId,Q=EL(D,t),me=Q.currentLevel,Pe=Q.renditionWidth,Be=Q.renditionHeight,Ke=Q.renditionBitrate;a("requestcompleted",{request_event_type:S,request_start:B,request_response_start:X,request_response_end:z,request_bytes_loaded:V,request_type:D,request_response_headers:se,request_hostname:W,request_id:oe,request_url:G,request_media_start_time:M,request_media_duration:ae,request_current_level:me,request_labeled_bitrate:Ke,request_video_width:Pe,request_video_height:Be})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var y=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(y+=m.audio.bitrate),y!==m.totalBitrate)return m.totalBitrate=y,{video_source_bitrate:y,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:bL(m.video.codec)}}},g=function(y,S,_){if(typeof y.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",y);return}var L=y.mediaType;if(L==="audio"||L==="video"){var x=t.getBitrateInfoListFor(L).find(function(M){var k=M.qualityIndex;return k===y.newQuality});if(!(x&&typeof x.bitrate=="number")){s.warn("missing bitrate info for ".concat(L));return}m[L]=op(Tu({},x),{codec:t.getCurrentTrackFor(L).codec});var w=p();w&&a("renditionchange",w)}};t.on("qualityChangeRendered",g);var E=function(y){var S=y.request,_=y.mediaType;S=S||{},a("requestcanceled",{request_event_type:S.type+"_"+S.action,request_url:S.url,request_type:_,request_hostname:gi(S.url)})};t.on("fragmentLoadingAbandoned",E);var T=function(y){var S=y.error,_,L,x=(S==null||(_=S.data)===null||_===void 0?void 0:_.request)||{},w=(S==null||(L=S.data)===null||L===void 0?void 0:L.response)||{};(S==null?void 0:S.code)===27&&a("requestfailed",{request_error:x.type+"_"+x.action,request_url:x.url,request_hostname:gi(x.url),request_type:x.mediaType,request_error_code:w.status,request_error_text:w.statusText});var M="".concat(x!=null&&x.url?"url: ".concat(x.url,`
1574
+ `):"");l("error",{player_error_code:y,player_error_message:S,player_error_context:U})}};t.on(s.Events.ERROR,m);var p=function(E,T){var y=T.frag,S=y&&y._url||"";l("requestcanceled",{request_event_type:E,request_url:S,request_type:"media",request_hostname:gi(S)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,T){var y=T.level,S=t.levels[y];if(S&&S.attrs&&S.attrs.BANDWIDTH){var _=S.attrs.BANDWIDTH,L,x=parseFloat(S.attrs["FRAME-RATE"]);isNaN(x)||(L=x),_?l("renditionchange",{video_source_fps:L,video_source_bitrate:_,video_source_width:S.width,video_source_height:S.height,video_source_rendition_name:S.name,video_source_codec:S==null?void 0:S.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},vL=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},cy=function(i,e){if(!i||!i.requestEndDate)return{};var t=gi(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=lp(d[d.length-1]._responseHeaders||""));var c=u?_u(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},EL=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},bL=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},yL=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},TL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=yL(t),a=function(y,S){return i.emit(e,y,S)},o=function(y){var S=y.type,_=y.data,L=(_||{}).url;a("requestcompleted",{request_event_type:S,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:gi(L),request_url:L})};t.on("manifestLoaded",o);var l={},d=function(y){if(typeof y.getRequests!="function")return null;var S=y.getRequests({state:"executed"});return S.length===0?null:S[S.length-1]},u=function(y){var S=y.type,_=y.fragmentModel,L=y.chunk,x=d(_);c({type:S,request:x,chunk:L})},c=function(y){var S=y.type,_=y.chunk,L=y.request,x=(_||{}).mediaInfo,w=x||{},M=w.type,k=w.bitrateList;k=k||[];var D={};k.forEach(function(oe,Q){D[Q]={},D[Q].width=oe.width,D[Q].height=oe.height,D[Q].bitrate=oe.bandwidth,D[Q].attrs={}}),M==="video"?l.video=D:M==="audio"?l.audio=D:l.media=D;var U=cy(L,t),B=U.requestStart,X=U.requestResponseStart,z=U.requestResponseEnd,V=U.requestResponseHeaders,se=U.requestMediaDuration,ae=U.requestHostname,W=U.requestUrl,G=U.requestId;a("requestcompleted",{request_event_type:S,request_start:B,request_response_start:X,request_response_end:z,request_bytes_loaded:-1,request_type:M+"_init",request_response_headers:V,request_hostname:ae,request_id:G,request_url:W,request_media_duration:se,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(y){var S=y.type,_=y.fragmentModel,L=y.chunk,x=d(_);f({type:S,request:x,chunk:L})},f=function(y){var S=y.type,_=y.chunk,L=y.request,x=_||{},w=x.mediaInfo,M=x.start,k=w||{},D=k.type,U=cy(L,t),B=U.requestStart,X=U.requestResponseStart,z=U.requestResponseEnd,V=U.requestBytesLoaded,se=U.requestResponseHeaders,ae=U.requestMediaDuration,W=U.requestHostname,G=U.requestUrl,oe=U.requestId,Q=EL(D,t),me=Q.currentLevel,Pe=Q.renditionWidth,Be=Q.renditionHeight,Ke=Q.renditionBitrate;a("requestcompleted",{request_event_type:S,request_start:B,request_response_start:X,request_response_end:z,request_bytes_loaded:V,request_type:D,request_response_headers:se,request_hostname:W,request_id:oe,request_url:G,request_media_start_time:M,request_media_duration:ae,request_current_level:me,request_labeled_bitrate:Ke,request_video_width:Pe,request_video_height:Be})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var y=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(y+=m.audio.bitrate),y!==m.totalBitrate)return m.totalBitrate=y,{video_source_bitrate:y,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:bL(m.video.codec)}}},g=function(y,S,_){if(typeof y.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",y);return}var L=y.mediaType;if(L==="audio"||L==="video"){var x=t.getBitrateInfoListFor(L).find(function(M){var k=M.qualityIndex;return k===y.newQuality});if(!(x&&typeof x.bitrate=="number")){s.warn("missing bitrate info for ".concat(L));return}m[L]=op(Tu({},x),{codec:t.getCurrentTrackFor(L).codec});var w=p();w&&a("renditionchange",w)}};t.on("qualityChangeRendered",g);var E=function(y){var S=y.request,_=y.mediaType;S=S||{},a("requestcanceled",{request_event_type:S.type+"_"+S.action,request_url:S.url,request_type:_,request_hostname:gi(S.url)})};t.on("fragmentLoadingAbandoned",E);var T=function(y){var S=y.error,_,L,x=(S==null||(_=S.data)===null||_===void 0?void 0:_.request)||{},w=(S==null||(L=S.data)===null||L===void 0?void 0:L.response)||{};(S==null?void 0:S.code)===27&&a("requestfailed",{request_error:x.type+"_"+x.action,request_url:x.url,request_hostname:gi(x.url),request_type:x.mediaType,request_error_code:w.status,request_error_text:w.statusText});var M="".concat(x!=null&&x.url?"url: ".concat(x.url,`
1575
1575
  `):"")+"".concat(w!=null&&w.status||w!=null&&w.statusText?"response: ".concat(w==null?void 0:w.status,", ").concat(w==null?void 0:w.statusText,`
1576
- `):"");a("error",{player_error_code:S==null?void 0:S.code,player_error_message:S==null?void 0:S.message,player_error_context:M})};t.on("error",T),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",T),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},_L=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},cy=0,AL=function(){"use strict";function i(){dt(this,i),H(this,"_listeners",void 0)}return Ki(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++cy,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++cy;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),SL=AL,ep=Dt(Vi()),xL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackHeartbeatInterval",void 0),H(this,"_playheadShouldBeProgressing",void 0),H(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(ep.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Ki(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=ep.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(ep.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),LL=xL,kL=function i(e){"use strict";var t=this;dt(this,i),H(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},IL=kL,RL=function(){"use strict";function i(e){dt(this,i),H(this,"_watchTimeTrackerLastCheckedTime",void 0),H(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Ki(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Qe(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),wL=RL,CL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),H(this,"_lastTime",void 0),H(this,"_isAdPlaying",void 0),H(this,"_callbackUpdatePlaybackTime",void 0),H(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=tt.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=tt.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Ki(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=tt.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Qe(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),DL=CL,ML=function(){"use strict";function i(e){dt(this,i),H(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Ki(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),PL=ML,hy=5*60*1e3,OL=function i(e){"use strict";if(dt(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;Qe(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>hy&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(hy,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(Qe(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},NL=OL,UL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_lastCheckedTime",void 0),H(this,"_lastPlayheadTime",void 0),H(this,"_lastPlayheadTimeUpdatedTime",void 0),H(this,"_rebuffering",void 0),H(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:tt.now()})}))}return Ki(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),FL=UL,BL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"NAVIGATION_START",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||tt.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Ki(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),$L=BL,HL=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastPlayerHeight",void 0),H(this,"_lastPlayerWidth",void 0),H(this,"_lastPlayheadPosition",void 0),H(this,"_lastSourceHeight",void 0),H(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),Qe(e.data,"view_total_content_playback_time",a),Qe(e.data,"view_total_upscaling",l*a),Qe(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},GL=HL,WL=2e3,VL=function i(e){"use strict";var t=this;dt(this,i),H(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=tt.now(),a=(e.data.viewer_time||n)-(r||n);Qe(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=WL){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Qe(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},KL=VL,fy=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},qL=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],YL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_adHasPlayed",void 0),H(this,"_adRequests",void 0),H(this,"_adResponses",void 0),H(this,"_currentAdRequestNumber",void 0),H(this,"_currentAdResponseNumber",void 0),H(this,"_prerollPlayTime",void 0),H(this,"_wouldBeNewAdPlay",void 0),H(this,"isAdBreak",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),qL.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),fy(t._adRequests,n),Qe(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Qe(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),fy(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Qe(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,Qe(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Ki(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var r=Es(io(t.ad_tag_url),2),s=r[0],n=r[1];this.pm.data.view_preroll_ad_tag_domain=n,this.pm.data.view_preroll_ad_tag_hostname=s}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var a=Es(io(t.ad_asset_url),2),o=a[0],l=a[1];this.pm.data.view_preroll_ad_asset_domain=l,this.pm.data.view_preroll_ad_asset_hostname=o}}this.pm.data.ad_asset_url=t==null?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=t==null?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=t==null?void 0:t.ad_creative_id,this.pm.data.ad_id=t==null?void 0:t.ad_id,this.pm.data.ad_universal_id=t==null?void 0:t.ad_universal_id}}]),i}(),zL=YL,my=Dt(Vi()),jL=function i(e){"use strict";dt(this,i);var t,r,s=function(){e.disableRebufferTracking||(Qe(e.data,"view_waiting_rebuffer_count",1),t=tt.now(),r=my.default.setInterval(function(){if(t){var d=tt.now();Qe(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Qe(e.data,"view_waiting_rebuffer_duration",tt.now()-t),t=!1,my.default.clearInterval(r))},a=!1,o=function(){a=!0},l=function(){a=!1,n()};e.on("waiting",function(){a&&s()}),e.on("playing",function(){n(),o()}),e.on("pause",l),e.on("seeking",l)},XL=jL,QL=function i(e){"use strict";var t=this;dt(this,i),H(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=tt.now(),e.on("before*",s)},s=function(n){var a=tt.now(),o=t.lastWallClockTime;t.lastWallClockTime=a,a-o>3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},ZL=QL,tp=Dt(Vi()),Ly=Dt(Vx()),ky=Dt(Kx()),Iy="muxData",Ry=function(){var i;try{i=Ly.default.parse(ky.default.get(Iy)||"")}catch{i={}}return i},wy=function(i){try{ky.default.set(Iy,Ly.default.stringify(i),{expires:365})}catch{}},JL=function(){var i=Ry();return i.mux_viewer_id=i.mux_viewer_id||eo(),i.msn=i.msn||Math.random(),wy(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},ek=function(){var i=Ry(),e=tt.now();return i.session_start&&(i.sst=i.session_start,delete i.session_start),i.session_id&&(i.sid=i.session_id,delete i.session_id),i.session_expires&&(i.sex=i.session_expires,delete i.session_expires),(!i.sex||i.sex<e)&&(i.sid=eo(),i.sst=e),i.sex=e+25*60*1e3,wy(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function tk(i,e){var t=e.beaconCollectionDomain,r=e.beaconDomain;if(t)return"https://"+t;i=i||"inferred";var s=r||"litix.io";return i.match(/^[a-z0-9]+$/)?"https://"+i+"."+s:"https://img.litix.io/a.gif"}var ik=Dt(Vi()),Cy=function(){var i;switch(Dy()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},Dy=function(){var i=ik.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};Cy.getConnectionFromAPI=Dy;var rk=Cy,sk={a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"},nk=My(sk),ak={ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"},py=My(ak);function My(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function ap(i){var e={},t={};return Object.keys(i).forEach(function(r){var s=!1;if(i.hasOwnProperty(r)&&i[r]!==void 0){var n=r.split("_"),a=n[0],o=nk[a];o||(Ge.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),py[l]?o+=py[l]:Number(l)&&Math.floor(Number(l))===Number(l)?o+=l:(Ge.info("Data key word `"+l+"` not expected in "+r),o+="_"+l+"_")}),s?t[o]=i[r]:e[o]=i[r]}}),Object.assign(e,t)}var vs=Dt(Vi()),ok={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},lk=56*1024,dk=["hb","requestcompleted","requestfailed","requestcanceled"],uk="https://img.litix.io",or=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||uk,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},ok,e)};or.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};or.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};or.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),vs.default.clearTimeout(this._sendTimeout)};or.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],ap({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);Py(this._beaconUrl,t,!0,function(){})};or.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=tt.now();Py(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ge.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=tt.now()-r,i._postInFlight=!1})}};or.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};or.prototype._startBeaconSending=function(){var i=this;vs.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=vs.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};or.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(tt.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(Ge.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return dk.indexOf(l.e)===-1}),a()),o()||(Ge.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var ck=function(i){return i.length<=lk},Py=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(vs.default.fetch){vs.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:ck(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(vs.default.XMLHttpRequest){var s=new vs.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},hk=or,fk=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],mk=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],pk=["ad_id","ad_creative_id","ad_universal_id"],gk=["viewstart","error","ended","viewend"],vk=10*60*1e3,Ek=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};dt(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;H(this,"mux",void 0),H(this,"envKey",void 0),H(this,"options",void 0),H(this,"eventQueue",void 0),H(this,"sampleRate",void 0),H(this,"disableCookies",void 0),H(this,"respectDoNotTrack",void 0),H(this,"previousBeaconData",void 0),H(this,"lastEventTime",void 0),H(this,"rateLimited",void 0),H(this,"pageLevelData",void 0),H(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new hk(tk(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var T;this.respectDoNotTrack=(T=this.options.respectDoNotTrack)!==null&&T!==void 0?T:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:rk(),page_url:tp.default===null||tp.default===void 0||(p=tp.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:JL()}return Ki(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&sp())return Ge.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ge.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:ek(),s=op(Tu({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=ap(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ge.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ge.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(Ge.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):gk.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=ap(s),this.eventQueue.queueEvent(s.event,l),Ge.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=vk)s=Tu({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=Es(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||fk.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||pk.includes(t)&&mk.includes(e))}}]),i}(),bk=function i(e){"use strict";dt(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var T,y;if(p?(T=p-(m!=null?m:0),y=(g!=null?g:0)-p):y=(g!=null?g:0)-(m!=null?m:0),y>0&&E&&E>0){var S=E/y*8e3;a++,r+=E,s+=y,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,S),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,T>0&&(t+=T,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,T),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},yk=bk,Tk=60*60*1e3,_k=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=tt.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Tk){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,H({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},Ak=_k,Sk=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],xk=function(i){"use strict";oL(t,i);var e=uL(t);function t(r,s,n){dt(this,t);var a;a=e.call(this),H(re(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),H(re(a),"NAVIGATION_START",void 0),H(re(a),"_destroyed",void 0),H(re(a),"_heartBeatTimeout",void 0),H(re(a),"adTracker",void 0),H(re(a),"dashjs",void 0),H(re(a),"data",void 0),H(re(a),"disablePlayheadRebufferTracking",void 0),H(re(a),"disableRebufferTracking",void 0),H(re(a),"errorTracker",void 0),H(re(a),"errorTranslator",void 0),H(re(a),"getAdData",void 0),H(re(a),"getPlayheadTime",void 0),H(re(a),"getStateData",void 0),H(re(a),"hlsjs",void 0),H(re(a),"id",void 0),H(re(a),"longResumeTracker",void 0),H(re(a),"minimumRebufferDuration",void 0),H(re(a),"mux",void 0),H(re(a),"oldEmit",void 0),H(re(a),"playbackEventDispatcher",void 0),H(re(a),"playbackHeartbeat",void 0),H(re(a),"playbackHeartbeatTime",void 0),H(re(a),"playheadTime",void 0),H(re(a),"seekingTracker",void 0),H(re(a),"sustainedRebufferThreshold",void 0),H(re(a),"watchTimeTracker",void 0),H(re(a),"currentFragmentPDT",void 0),H(re(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=yu.domContentLoadedEventEnd(),a.NAVIGATION_START=yu.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),Ge.setLevel(n.debug?"debug":"warn"),a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new Ek(r,n.data.env_key,n),a.data={player_instance_id:eo(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(re(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(re(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),Sk.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new Ak(re(a)),a.errorTracker=new IL(re(a)),new ZL(re(a)),a.seekingTracker=new KL(re(a)),a.playheadTime=new PL(re(a)),a.playbackHeartbeat=new LL(re(a)),new GL(re(a)),a.watchTimeTracker=new wL(re(a)),new DL(re(a)),a.adTracker=new zL(re(a)),new FL(re(a)),new NL(re(a)),new $L(re(a)),new XL(re(a)),new yk(re(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Ki(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=Es(io(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=eo(),n=function(){s===r.data.view_id&&Qe(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4))}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,gL(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(vL(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,TL(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(_L(this.dashjs),this.dashjs=void 0)}}]),t}(SL),Lk=xk;Au();var Qa=Dt(Jx());function kk(){return Qa.default&&!!(Qa.default.fullscreenElement||Qa.default.webkitFullscreenElement||Qa.default.mozFullScreenElement||Qa.default.msFullscreenElement)}var Ik=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Rk={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function wk(i,e,t){var r=Es(rp(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&At(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:kk(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var T=E.getTime();if(p.player_program_time=T+g,s.seekable.length>0){var y=T+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=y}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=Es(rp(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Ik.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=Rk[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function Ck(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ge.info("safeCall error",n)}return s}var Ja=Dt(Vi()),On;Ja.default&&Ja.default.WeakMap&&(On=new WeakMap);function Dk(i,e){if(!i||!e||!Ja.default||typeof Ja.default.getComputedStyle!="function")return"";var t;return On&&On.has(i)&&(t=On.get(i)),t||(t=Ja.default.getComputedStyle(i,null),On&&On.set(i,t)),t.getPropertyValue(e)}function Mk(i){return Math.floor(i*1e3)}var ps={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},Su=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};Su.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
1576
+ `):"");a("error",{player_error_code:S==null?void 0:S.code,player_error_message:S==null?void 0:S.message,player_error_context:M})};t.on("error",T),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",T),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},_L=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},hy=0,AL=function(){"use strict";function i(){dt(this,i),H(this,"_listeners",void 0)}return Ki(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++hy,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++hy;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),SL=AL,ep=Dt(Vi()),xL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackHeartbeatInterval",void 0),H(this,"_playheadShouldBeProgressing",void 0),H(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(ep.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Ki(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=ep.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(ep.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),LL=xL,kL=function i(e){"use strict";var t=this;dt(this,i),H(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},IL=kL,RL=function(){"use strict";function i(e){dt(this,i),H(this,"_watchTimeTrackerLastCheckedTime",void 0),H(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Ki(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Qe(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),wL=RL,CL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),H(this,"_lastTime",void 0),H(this,"_isAdPlaying",void 0),H(this,"_callbackUpdatePlaybackTime",void 0),H(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=tt.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=tt.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Ki(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=tt.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Qe(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),DL=CL,ML=function(){"use strict";function i(e){dt(this,i),H(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Ki(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),PL=ML,fy=5*60*1e3,OL=function i(e){"use strict";if(dt(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;Qe(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>fy&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(fy,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(Qe(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},NL=OL,UL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_lastCheckedTime",void 0),H(this,"_lastPlayheadTime",void 0),H(this,"_lastPlayheadTimeUpdatedTime",void 0),H(this,"_rebuffering",void 0),H(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:tt.now()})}))}return Ki(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),FL=UL,BL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"NAVIGATION_START",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||tt.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Ki(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),$L=BL,HL=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastPlayerHeight",void 0),H(this,"_lastPlayerWidth",void 0),H(this,"_lastPlayheadPosition",void 0),H(this,"_lastSourceHeight",void 0),H(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),Qe(e.data,"view_total_content_playback_time",a),Qe(e.data,"view_total_upscaling",l*a),Qe(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},GL=HL,WL=2e3,VL=function i(e){"use strict";var t=this;dt(this,i),H(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=tt.now(),a=(e.data.viewer_time||n)-(r||n);Qe(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=WL){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Qe(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},KL=VL,my=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},qL=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],YL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_adHasPlayed",void 0),H(this,"_adRequests",void 0),H(this,"_adResponses",void 0),H(this,"_currentAdRequestNumber",void 0),H(this,"_currentAdResponseNumber",void 0),H(this,"_prerollPlayTime",void 0),H(this,"_wouldBeNewAdPlay",void 0),H(this,"isAdBreak",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),qL.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),my(t._adRequests,n),Qe(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Qe(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),my(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Qe(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,Qe(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Ki(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var r=Es(io(t.ad_tag_url),2),s=r[0],n=r[1];this.pm.data.view_preroll_ad_tag_domain=n,this.pm.data.view_preroll_ad_tag_hostname=s}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var a=Es(io(t.ad_asset_url),2),o=a[0],l=a[1];this.pm.data.view_preroll_ad_asset_domain=l,this.pm.data.view_preroll_ad_asset_hostname=o}}this.pm.data.ad_asset_url=t==null?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=t==null?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=t==null?void 0:t.ad_creative_id,this.pm.data.ad_id=t==null?void 0:t.ad_id,this.pm.data.ad_universal_id=t==null?void 0:t.ad_universal_id}}]),i}(),zL=YL,py=Dt(Vi()),jL=function i(e){"use strict";dt(this,i);var t,r,s=function(){e.disableRebufferTracking||(Qe(e.data,"view_waiting_rebuffer_count",1),t=tt.now(),r=py.default.setInterval(function(){if(t){var d=tt.now();Qe(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Qe(e.data,"view_waiting_rebuffer_duration",tt.now()-t),t=!1,py.default.clearInterval(r))},a=!1,o=function(){a=!0},l=function(){a=!1,n()};e.on("waiting",function(){a&&s()}),e.on("playing",function(){n(),o()}),e.on("pause",l),e.on("seeking",l)},XL=jL,QL=function i(e){"use strict";var t=this;dt(this,i),H(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=tt.now(),e.on("before*",s)},s=function(n){var a=tt.now(),o=t.lastWallClockTime;t.lastWallClockTime=a,a-o>3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},ZL=QL,tp=Dt(Vi()),ky=Dt(Vx()),Iy=Dt(Kx()),Ry="muxData",wy=function(){var i;try{i=ky.default.parse(Iy.default.get(Ry)||"")}catch{i={}}return i},Cy=function(i){try{Iy.default.set(Ry,ky.default.stringify(i),{expires:365})}catch{}},JL=function(){var i=wy();return i.mux_viewer_id=i.mux_viewer_id||eo(),i.msn=i.msn||Math.random(),Cy(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},ek=function(){var i=wy(),e=tt.now();return i.session_start&&(i.sst=i.session_start,delete i.session_start),i.session_id&&(i.sid=i.session_id,delete i.session_id),i.session_expires&&(i.sex=i.session_expires,delete i.session_expires),(!i.sex||i.sex<e)&&(i.sid=eo(),i.sst=e),i.sex=e+25*60*1e3,Cy(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function tk(i,e){var t=e.beaconCollectionDomain,r=e.beaconDomain;if(t)return"https://"+t;i=i||"inferred";var s=r||"litix.io";return i.match(/^[a-z0-9]+$/)?"https://"+i+"."+s:"https://img.litix.io/a.gif"}var ik=Dt(Vi()),Dy=function(){var i;switch(My()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},My=function(){var i=ik.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};Dy.getConnectionFromAPI=My;var rk=Dy,sk={a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"},nk=Py(sk),ak={ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"},gy=Py(ak);function Py(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function ap(i){var e={},t={};return Object.keys(i).forEach(function(r){var s=!1;if(i.hasOwnProperty(r)&&i[r]!==void 0){var n=r.split("_"),a=n[0],o=nk[a];o||(Ge.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),gy[l]?o+=gy[l]:Number(l)&&Math.floor(Number(l))===Number(l)?o+=l:(Ge.info("Data key word `"+l+"` not expected in "+r),o+="_"+l+"_")}),s?t[o]=i[r]:e[o]=i[r]}}),Object.assign(e,t)}var vs=Dt(Vi()),ok={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},lk=56*1024,dk=["hb","requestcompleted","requestfailed","requestcanceled"],uk="https://img.litix.io",or=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||uk,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},ok,e)};or.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};or.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};or.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),vs.default.clearTimeout(this._sendTimeout)};or.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],ap({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);Oy(this._beaconUrl,t,!0,function(){})};or.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=tt.now();Oy(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ge.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=tt.now()-r,i._postInFlight=!1})}};or.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};or.prototype._startBeaconSending=function(){var i=this;vs.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=vs.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};or.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(tt.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(Ge.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return dk.indexOf(l.e)===-1}),a()),o()||(Ge.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var ck=function(i){return i.length<=lk},Oy=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(vs.default.fetch){vs.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:ck(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(vs.default.XMLHttpRequest){var s=new vs.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},hk=or,fk=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],mk=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],pk=["ad_id","ad_creative_id","ad_universal_id"],gk=["viewstart","error","ended","viewend"],vk=10*60*1e3,Ek=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};dt(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;H(this,"mux",void 0),H(this,"envKey",void 0),H(this,"options",void 0),H(this,"eventQueue",void 0),H(this,"sampleRate",void 0),H(this,"disableCookies",void 0),H(this,"respectDoNotTrack",void 0),H(this,"previousBeaconData",void 0),H(this,"lastEventTime",void 0),H(this,"rateLimited",void 0),H(this,"pageLevelData",void 0),H(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new hk(tk(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var T;this.respectDoNotTrack=(T=this.options.respectDoNotTrack)!==null&&T!==void 0?T:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:rk(),page_url:tp.default===null||tp.default===void 0||(p=tp.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:JL()}return Ki(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&sp())return Ge.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ge.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:ek(),s=op(Tu({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=ap(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ge.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ge.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(Ge.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):gk.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=ap(s),this.eventQueue.queueEvent(s.event,l),Ge.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=vk)s=Tu({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=Es(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||fk.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||pk.includes(t)&&mk.includes(e))}}]),i}(),bk=function i(e){"use strict";dt(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var T,y;if(p?(T=p-(m!=null?m:0),y=(g!=null?g:0)-p):y=(g!=null?g:0)-(m!=null?m:0),y>0&&E&&E>0){var S=E/y*8e3;a++,r+=E,s+=y,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,S),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,T>0&&(t+=T,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,T),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},yk=bk,Tk=60*60*1e3,_k=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=tt.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Tk){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,H({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},Ak=_k,Sk=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],xk=function(i){"use strict";oL(t,i);var e=uL(t);function t(r,s,n){dt(this,t);var a;a=e.call(this),H(re(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),H(re(a),"NAVIGATION_START",void 0),H(re(a),"_destroyed",void 0),H(re(a),"_heartBeatTimeout",void 0),H(re(a),"adTracker",void 0),H(re(a),"dashjs",void 0),H(re(a),"data",void 0),H(re(a),"disablePlayheadRebufferTracking",void 0),H(re(a),"disableRebufferTracking",void 0),H(re(a),"errorTracker",void 0),H(re(a),"errorTranslator",void 0),H(re(a),"getAdData",void 0),H(re(a),"getPlayheadTime",void 0),H(re(a),"getStateData",void 0),H(re(a),"hlsjs",void 0),H(re(a),"id",void 0),H(re(a),"longResumeTracker",void 0),H(re(a),"minimumRebufferDuration",void 0),H(re(a),"mux",void 0),H(re(a),"oldEmit",void 0),H(re(a),"playbackEventDispatcher",void 0),H(re(a),"playbackHeartbeat",void 0),H(re(a),"playbackHeartbeatTime",void 0),H(re(a),"playheadTime",void 0),H(re(a),"seekingTracker",void 0),H(re(a),"sustainedRebufferThreshold",void 0),H(re(a),"watchTimeTracker",void 0),H(re(a),"currentFragmentPDT",void 0),H(re(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=yu.domContentLoadedEventEnd(),a.NAVIGATION_START=yu.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),Ge.setLevel(n.debug?"debug":"warn"),a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new Ek(r,n.data.env_key,n),a.data={player_instance_id:eo(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(re(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(re(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),Sk.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new Ak(re(a)),a.errorTracker=new IL(re(a)),new ZL(re(a)),a.seekingTracker=new KL(re(a)),a.playheadTime=new PL(re(a)),a.playbackHeartbeat=new LL(re(a)),new GL(re(a)),a.watchTimeTracker=new wL(re(a)),new DL(re(a)),a.adTracker=new zL(re(a)),new FL(re(a)),new NL(re(a)),new $L(re(a)),new XL(re(a)),new yk(re(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Ki(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=Es(io(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=eo(),n=function(){s===r.data.view_id&&Qe(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4))}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,gL(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(vL(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,TL(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(_L(this.dashjs),this.dashjs=void 0)}}]),t}(SL),Lk=xk;Au();var Qa=Dt(Jx());function kk(){return Qa.default&&!!(Qa.default.fullscreenElement||Qa.default.webkitFullscreenElement||Qa.default.mozFullScreenElement||Qa.default.msFullscreenElement)}var Ik=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Rk={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function wk(i,e,t){var r=Es(rp(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&At(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:kk(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var T=E.getTime();if(p.player_program_time=T+g,s.seekable.length>0){var y=T+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=y}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=Es(rp(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Ik.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=Rk[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function Ck(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ge.info("safeCall error",n)}return s}var Ja=Dt(Vi()),On;Ja.default&&Ja.default.WeakMap&&(On=new WeakMap);function Dk(i,e){if(!i||!e||!Ja.default||typeof Ja.default.getComputedStyle!="function")return"";var t;return On&&On.has(i)&&(t=On.get(i)),t||(t=Ja.default.getComputedStyle(i,null),On&&On.set(i,t)),t.getPropertyValue(e)}function Mk(i){return Math.floor(i*1e3)}var ps={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},Su=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};Su.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
1577
1577
  `);e>-1;e=this.buffer.indexOf(`
1578
- `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};Su.prototype.processLine=function(i){var e=i.indexOf(":"),t=Uk(i,e),r=t[0],s=t.length===2?dp(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case ps.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case ps.PART_INF:{ip(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case ps.SERVER_CONTROL:{ip(this.manifest,t),this.setHoldBack();break}case ps.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case ps.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case ps.VERSION:{ip(this.manifest,t);break}case ps.SESSION_DATA:{var o=Fk(t[1]),l=xy(o);Object.assign(this.manifest.sessionData,l)}}};Su.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),r&&!e.hasOwnProperty(n)&&(e[n]=r*3),r&&e[n]<o&&(e[n]=o)}};var ip=function(i,e){var t=Oy(e[0].replace("#EXT-X-","")),r;Nk(e[1])?(r={},r=Object.assign(Ok(e[1]),r)):r=dp(e[1]),i[t]=r},Oy=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},dp=function(i){if(i.toLowerCase()==="yes"||i.toLowerCase()==="no")return i.toLowerCase()==="yes";var e=i.indexOf(":")!==-1?i:parseFloat(i);return isNaN(e)?i:e},Pk=function(i){var e={},t=i.split("=");if(t.length>1){var r=Oy(t[0]);e[r]=dp(t[1])}return e},Ok=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=Pk(s);t=Object.assign(n,t)}return t},Nk=function(i){return i.indexOf("=")>-1},Uk=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Fk=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d<l.length;d++)l[d]==="DATA-ID"&&(e["DATA-ID"]=l[1-d]),l[d]==="VALUE"&&(e.VALUE=l[1-d])}),{data:e}}},Bk=Su,$k={safeCall:Ck,safeIncrement:Qe,getComputedStyle:Dk,secondsToMs:Mk,assign:Object.assign,headersStringToObject:lp,cdnHeadersToRequestId:_u,extractHostnameAndDomain:io,extractHostname:gi,manifestParser:Bk,generateShortID:Ay,generateUUID:eo,now:tt.now},Hk=$k,Gk={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},Wk=Gk,Vk="mux-embed",Kk="5.2.0",qk="2.1",Xt={},wr=function(i){var e=arguments;typeof i=="string"?wr.hasOwnProperty(i)?Za.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),wr[i].apply(null,e)},0):Ge.warn("`"+i+"` is an unknown task"):typeof i=="function"?Za.default.setTimeout(function(){i(wr)},0):Ge.warn("`"+i+"` is invalid.")},Yk={loaded:tt.now(),NAME:Vk,VERSION:Kk,API_VERSION:qk,PLAYER_TRACKED:!1,monitor:function(i,e){return wk(wr,i,e)},destroyMonitor:function(i){var e=Es(rp(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ge.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=gs(i);Xt[t]?Xt[t].addHLSJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=gs(i);Xt[t]?Xt[t].addDashJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=gs(i);Xt[e]?Xt[e].removeHLSJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=gs(i);Xt[e]?Xt[e].removeDashJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){sp()&&e&&e.respectDoNotTrack&&Ge.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=gs(i);Xt[t]=new Lk(wr,t,e)},emit:function(i,e,t){var r=gs(i);Xt[r]?(Xt[r].emit(e,t),e==="destroy"&&delete Xt[r]):Ge.error("A monitor for `"+r+"` has not been initialized.")},checkDoNotTrack:sp,log:Ge,utils:Hk,events:Wk,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(wr,Yk);typeof Za.default!="undefined"&&typeof Za.default.addEventListener=="function"&&Za.default.addEventListener("pagehide",function(i){i.persisted||(wr.WINDOW_UNLOADING=!0)},!1);var xu=wr;function zk(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var MT={exports:{}};(function(i,e){(function(t){var r=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=o.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=o.normalizePath(c.path),o.buildURLFromParts(c)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var m=s.exec(f.path);f.netLoc=m[1],f.path=m[2]}f.netLoc&&!f.path&&(f.path="/");var p={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(p.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)p.path=f.path,h.params||(p.params=f.params,h.query||(p.query=f.query));else{var g=f.path,E=g.substring(0,g.lastIndexOf("/")+1)+h.path;p.path=o.normalizePath(E)}return p.path===null&&(p.path=u.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(p)},parseURL:function(l){var d=r.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};i.exports=o})()})(MT);var Fg=MT.exports;function Ny(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ny(Object(t),!0).forEach(function(r){Qk(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Ny(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function jk(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Xk(i){var e=jk(i,"string");return typeof e=="symbol"?e:String(e)}function Qk(i,e,t){return e=Xk(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ze(){return Ze=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},Ze.apply(this,arguments)}var q=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Zk=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=Jk},Jk=Number.MAX_SAFE_INTEGER||9007199254740991,v=function(i){return i.MEDIA_ATTACHING="hlsMediaAttaching",i.MEDIA_ATTACHED="hlsMediaAttached",i.MEDIA_DETACHING="hlsMediaDetaching",i.MEDIA_DETACHED="hlsMediaDetached",i.BUFFER_RESET="hlsBufferReset",i.BUFFER_CODECS="hlsBufferCodecs",i.BUFFER_CREATED="hlsBufferCreated",i.BUFFER_APPENDING="hlsBufferAppending",i.BUFFER_APPENDED="hlsBufferAppended",i.BUFFER_EOS="hlsBufferEos",i.BUFFER_FLUSHING="hlsBufferFlushing",i.BUFFER_FLUSHED="hlsBufferFlushed",i.MANIFEST_LOADING="hlsManifestLoading",i.MANIFEST_LOADED="hlsManifestLoaded",i.MANIFEST_PARSED="hlsManifestParsed",i.LEVEL_SWITCHING="hlsLevelSwitching",i.LEVEL_SWITCHED="hlsLevelSwitched",i.LEVEL_LOADING="hlsLevelLoading",i.LEVEL_LOADED="hlsLevelLoaded",i.LEVEL_UPDATED="hlsLevelUpdated",i.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",i.LEVELS_UPDATED="hlsLevelsUpdated",i.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",i.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",i.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",i.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",i.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",i.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",i.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",i.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",i.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",i.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",i.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",i.CUES_PARSED="hlsCuesParsed",i.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",i.INIT_PTS_FOUND="hlsInitPtsFound",i.FRAG_LOADING="hlsFragLoading",i.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",i.FRAG_LOADED="hlsFragLoaded",i.FRAG_DECRYPTED="hlsFragDecrypted",i.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",i.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",i.FRAG_PARSING_METADATA="hlsFragParsingMetadata",i.FRAG_PARSED="hlsFragParsed",i.FRAG_BUFFERED="hlsFragBuffered",i.FRAG_CHANGED="hlsFragChanged",i.FPS_DROP="hlsFpsDrop",i.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",i.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",i.ERROR="hlsError",i.DESTROYING="hlsDestroying",i.KEY_LOADING="hlsKeyLoading",i.KEY_LOADED="hlsKeyLoaded",i.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",i.BACK_BUFFER_REACHED="hlsBackBufferReached",i.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",i}({}),ie=function(i){return i.NETWORK_ERROR="networkError",i.MEDIA_ERROR="mediaError",i.KEY_SYSTEM_ERROR="keySystemError",i.MUX_ERROR="muxError",i.OTHER_ERROR="otherError",i}({}),C=function(i){return i.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",i.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",i.KEY_SYSTEM_NO_SESSION="keySystemNoSession",i.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",i.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",i.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",i.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",i.MANIFEST_LOAD_ERROR="manifestLoadError",i.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",i.MANIFEST_PARSING_ERROR="manifestParsingError",i.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",i.LEVEL_EMPTY_ERROR="levelEmptyError",i.LEVEL_LOAD_ERROR="levelLoadError",i.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",i.LEVEL_PARSING_ERROR="levelParsingError",i.LEVEL_SWITCH_ERROR="levelSwitchError",i.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",i.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",i.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",i.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",i.FRAG_LOAD_ERROR="fragLoadError",i.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",i.FRAG_DECRYPT_ERROR="fragDecryptError",i.FRAG_PARSING_ERROR="fragParsingError",i.FRAG_GAP="fragGap",i.REMUX_ALLOC_ERROR="remuxAllocError",i.KEY_LOAD_ERROR="keyLoadError",i.KEY_LOAD_TIMEOUT="keyLoadTimeOut",i.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",i.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",i.BUFFER_APPEND_ERROR="bufferAppendError",i.BUFFER_APPENDING_ERROR="bufferAppendingError",i.BUFFER_STALLED_ERROR="bufferStalledError",i.BUFFER_FULL_ERROR="bufferFullError",i.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",i.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",i.INTERNAL_EXCEPTION="internalException",i.INTERNAL_ABORTED="aborted",i.UNKNOWN="unknown",i}({}),_s=function(){},Rp={trace:_s,debug:_s,log:_s,warn:_s,info:_s,error:_s},so=Rp;function eI(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):_s}function tI(i,...e){e.forEach(function(t){so[t]=i[t]?i[t].bind(i):eI(t)})}function iI(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){tI(i,"debug","log","info","warn","error");try{so.log(`Debug logs enabled for "${e}" in hls.js version 1.5.8`)}catch{so=Rp}}else so=Rp}var I=so,rI=/^(\d+)x(\d+)$/,Uy=/(.+?)=(".*?"|.*?)(?:,|$)/g,We=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),Ze(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)r[s]=parseInt(t.slice(s*2,s*2+2),16);return r}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=rI.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(Uy.lastIndex=0;(t=Uy.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function sI(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function nI(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Gu=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){I.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=Ze(new We({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);q(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(q(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&q(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Kn=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},ke={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},Wu=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[ke.AUDIO]:null,[ke.VIDEO]:null,[ke.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Fg.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},no=class extends Wu{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Kn,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!q(this.programDateTime))return null;let e=q(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[ke.AUDIO]=null,e[ke.VIDEO]=null,e[ke.AUDIOVIDEO]=null}},wp=class extends Wu{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Kn,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},aI=10,Cp=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?q(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||aI}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Bg(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function oI(i){let e=Dp(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function lI(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function dI(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=Bg(a)):t=oI(a)}}return t}function Dp(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var qn=typeof self!="undefined"?self:void 0,Fe={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Ot={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Fy(i){switch(i){case Ot.FAIRPLAY:return Fe.FAIRPLAY;case Ot.PLAYREADY:return Fe.PLAYREADY;case Ot.WIDEVINE:return Fe.WIDEVINE;case Ot.CLEARKEY:return Fe.CLEARKEY}}var PT={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function uI(i){if(i===PT.WIDEVINE)return Fe.WIDEVINE}function By(i){switch(i){case Fe.FAIRPLAY:return Ot.FAIRPLAY;case Fe.PLAYREADY:return Ot.PLAYREADY;case Fe.WIDEVINE:return Ot.WIDEVINE;case Fe.CLEARKEY:return Ot.CLEARKEY}}function up(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Fe.FAIRPLAY,Fe.WIDEVINE,Fe.PLAYREADY,Fe.CLEARKEY].filter(s=>!!e[s]):[];return!r[Fe.WIDEVINE]&&t&&r.push(Fe.WIDEVINE),r}var OT=function(i){return qn!=null&&(i=qn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function cI(i,e,t,r){let s;switch(i){case Fe.FAIRPLAY:s=["cenc","sinf"];break;case Fe.WIDEVINE:case Fe.PLAYREADY:s=["cenc"];break;case Fe.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return hI(s,e,t,r)}function hI(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function xs(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var $g=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,NT=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,oo=(i,e)=>{let t=e,r=0;for(;$g(i,e);){r+=10;let s=mc(i,e+6);r+=s,NT(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},mc=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},fI=(i,e)=>$g(i,e)&&mc(i,e+6)+10<=i.length-e,Hg=i=>{let e=FT(i);for(let t=0;t<e.length;t++){let r=e[t];if(UT(r))return bI(r)}},UT=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",mI=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=mc(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},FT=i=>{let e=0,t=[];for(;$g(i,e);){let r=mc(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=mI(i.subarray(e)),a=pI(n);a&&t.push(a),e+=n.size+10}NT(i,e)&&(e+=10)}return t},pI=i=>i.type==="PRIV"?gI(i):i.type[0]==="W"?EI(i):vI(i),gI=i=>{if(i.size<2)return;let e=Xi(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},vI=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data.subarray(1));return{key:i.type,data:e}},EI=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data);return{key:i.type,data:e}},bI=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},Xi=(i,e=!1)=>{let t=yI();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l<r;){if(s=i[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},cp;function yI(){if(!navigator.userAgent.includes("PlayStation 4"))return!cp&&typeof self.TextDecoder!="undefined"&&(cp=new self.TextDecoder("utf-8")),cp}var Yi={hexDump:function(i){let e="";for(let t=0;t<i.length;t++){let r=i[t].toString(16);r.length<2&&(r="0"+r),e+=r}return e}},Vu=Math.pow(2,32)-1,TI=[].push,BT={video:1,audio:2,id3:3,text:4};function it(i){return String.fromCharCode.apply(null,i)}function $T(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function Z(i,e){let t=HT(i,e);return t<0?4294967296+t:t}function $y(i,e){let t=Z(i,e);return t*=Math.pow(2,32),t+=Z(i,e+4),t}function HT(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function hp(i,e,t){i[e]=t>>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function _I(i){let e=i.byteLength;for(let t=0;t<e;){let r=Z(i,t);if(r>8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function ne(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=Z(i,s),a=it(i.subarray(s+4,s+8)),o=n>1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=ne(i.subarray(s+8,o),e.slice(1));l.length&&TI.apply(t,l)}s=o}return t}function AI(i){let e=[],t=i[0],r=8,s=Z(i,r);r+=4;let n=0,a=0;t===0?(n=Z(i,r),a=Z(i,r+4),r+=8):(n=$y(i,r),a=$y(i,r+8),r+=16),r+=2;let o=i.length+a,l=$T(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=Z(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return I.warn("SIDX has hierarchical references (not supported)"),null;let m=Z(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function GT(i){let e=[],t=ne(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=ne(n,["tkhd"])[0];if(a){let o=a[0],l=Z(a,o===0?12:20),d=ne(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=Z(d,o===0?12:20),c=ne(n,["mdia","hdlr"])[0];if(c){let h=it(c.subarray(8,12)),f={soun:ke.AUDIO,vide:ke.VIDEO}[h];if(f){let m=ne(n,["mdia","minf","stbl","stsd"])[0],p=SI(m);e[l]={timescale:u,type:f},e[f]=ft({timescale:u,id:l},p)}}}}}return ne(i,["moov","mvex","trex"]).forEach(s=>{let n=Z(s,4),a=e[n];a&&(a.default={duration:Z(s,12),flags:Z(s,20)})}),e}function SI(i){let e=i.subarray(8),t=e.subarray(86),r=it(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=ne(e,[r])[0].subarray(r==="enca"?28:78);ne(o,["sinf"]).forEach(d=>{let u=ne(d,["schm"])[0];if(u){let c=it(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=ne(d,["frma"])[0];h&&(s=it(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=ne(t,["avcC"])[0];s+="."+Lu(a[1])+Lu(a[2])+Lu(a[3]);break}case"mp4a":{let a=ne(e,[r])[0],o=ne(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=fp(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=fp(o,l);let u=o[l++];if(u===64)s+="."+Lu(u);else break;if(l+=12,o[l++]!==5)break;l=fp(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=ne(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=Z(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=ne(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+qi(o)+"."+qi(l);break}case"vp09":{let a=ne(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+qi(o)+"."+qi(l)+"."+qi(d);break}case"av01":{let a=ne(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3,E=1,T=1,y=1,S=0;s+="."+o+"."+qi(l)+d+"."+qi(h)+"."+f+"."+m+p+g+"."+qi(E)+"."+qi(T)+"."+qi(y)+"."+S;break}}return{codec:s,encrypted:n}}function fp(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function Lu(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function qi(i){return(i<10?"0":"")+i}function xI(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&ne(i,["moov","trak"]).forEach(s=>{let a=ne(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=ne(a,["enca"]),l=o.length>0;l||(o=ne(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);ne(u,["sinf"]).forEach(h=>{let f=WT(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(I.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Yi.hexDump(m)} -> ${Yi.hexDump(t)}`),f.set(t,8))}})})}),i}function WT(i){let e=ne(i,["schm"])[0];if(e){let t=it(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return ne(i,["schi","tenc"])[0]}return I.error("[eme] missing 'schm' box"),null}function LI(i,e){return ne(e,["moof","traf"]).reduce((t,r)=>{let s=ne(r,["tfdt"])[0],n=s[0],a=ne(r,["tfhd"]).reduce((o,l)=>{let d=Z(l,4),u=i[d];if(u){let c=Z(s,4);if(n===1){if(c===Vu)return I.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=Vu+1,c+=Z(s,8)}let h=u.timescale||9e4,f=c/h;if(q(f)&&(o===null||f<o))return f}return o},null);return a!==null&&q(a)&&(t===null||a<t)?a:t},null)}function kI(i,e){let t=0,r=0,s=0,n=ne(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=ne(o,["tfhd"])[0],d=Z(l,4),u=e[d];if(!u)continue;let c=u.default,h=Z(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=Z(l,12):f=Z(l,8));let m=u.timescale||9e4,p=ne(o,["trun"]);for(let g=0;g<p.length;g++){if(t=II(p[g]),!t&&f){let E=Z(p[g],4);t=f*E}u.type===ke.VIDEO?r+=t/m:u.type===ke.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=ne(i,["sidx"]);for(let u=0;u<d.length;u++){let c=AI(d[u]);if(c!=null&&c.references){a=Math.min(a,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,m)=>f+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&q(l))return l}return r||s}function II(i){let e=Z(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=Z(i,4);for(let n=0;n<s;n++){if(e&256){let a=Z(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function RI(i,e,t){ne(e,["moof","traf"]).forEach(r=>{ne(r,["tfhd"]).forEach(s=>{let n=Z(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;ne(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=Z(l,4);if(d===0)c-=u,c=Math.max(c,0),hp(l,4,c);else{c*=Math.pow(2,32),c+=Z(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(Vu+1)),f=Math.floor(c%(Vu+1));hp(l,4,h),hp(l,8,f)}}})})})}function wI(i){let e={valid:null,remainder:null},t=ne(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=xs(i,0,r.byteOffset-8),e.remainder=xs(i,r.byteOffset-8),e}function Zt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function Hy(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return ne(r,["moof"]).map(l=>{let d=l.byteOffset-8;ne(l,["traf"]).map(c=>{let h=ne(c,["tfdt"]).map(f=>{let m=f[0],p=Z(f,4);return m===1&&(p*=Math.pow(2,32),p+=Z(f,8)),p/s})[0];return h!==void 0&&(i=h),ne(c,["tfhd"]).map(f=>{let m=Z(f,4),p=Z(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,T=(p&8)!==0,y=0,S=(p&16)!==0,_=0,L=(p&32)!==0,x=8;m===n&&(g&&(x+=8),E&&(x+=4),T&&(y=Z(f,x),x+=4),S&&(_=Z(f,x),x+=4),L&&(x+=4),e.type==="video"&&(a=CI(e.codec)),ne(c,["trun"]).map(w=>{let M=w[0],k=Z(w,0)&16777215,D=(k&1)!==0,U=0,B=(k&4)!==0,X=(k&256)!==0,z=0,V=(k&512)!==0,se=0,ae=(k&1024)!==0,W=(k&2048)!==0,G=0,oe=Z(w,4),Q=8;D&&(U=Z(w,Q),Q+=4),B&&(Q+=4);let me=U+d;for(let Pe=0;Pe<oe;Pe++){if(X?(z=Z(w,Q),Q+=4):z=y,V?(se=Z(w,Q),Q+=4):se=_,ae&&(Q+=4),W&&(M===0?G=Z(w,Q):G=HT(w,Q),Q+=4),e.type===ke.VIDEO){let Be=0;for(;Be<se;){let Ke=Z(r,me);if(me+=4,DI(a,r[me])){let Lt=r.subarray(me,me+Ke);VT(Lt,a?2:1,i+G/s,t)}me+=Ke,Be+=Ke+4}}i+=z/s}}))})})}),t}function CI(i){if(!i)return!1;let e=i.indexOf("."),t=e<0?i:i.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function DI(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function VT(i,e,t,r){let s=KT(i),n=0;n+=e;let a=0,o=0,l=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(o<d)n+=o;else if(o>d){I.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=$T(s,u);if(u+=2,h===49){let f=Z(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,T=E?2+g*3:0,y=new Uint8Array(T);if(E){y[0]=p;for(let S=1;S<T;S++)y[S]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:y})}}}}}else if(a===5&&o>16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m<h;m++)f[m]=s[u++];r.push({payloadType:a,pts:t,uuid:c.join(""),userData:Xi(f),userDataBytes:f})}}}function KT(i){let e=i.byteLength,t=[],r=1;for(;r<e-2;)i[r]===0&&i[r+1]===0&&i[r+2]===3?(t.push(r+2),r+=2):r++;if(t.length===0)return i;let s=e-t.length,n=new Uint8Array(s),a=0;for(r=0;r<s;a++,r++)a===t[0]&&(a++,t.shift()),n[r]=i[a];return n}function MI(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;it(i.subarray(d,d+1))!=="\0";)t+=it(i.subarray(d,d+1)),d+=1;for(t+=it(i.subarray(d,d+1)),d+=1;it(i.subarray(d,d+1))!=="\0";)r+=it(i.subarray(d,d+1)),d+=1;r+=it(i.subarray(d,d+1)),d+=1,s=Z(i,12),n=Z(i,16),o=Z(i,20),l=Z(i,24),d=28}else if(e===1){d+=4,s=Z(i,d),d+=4;let c=Z(i,d);d+=4;let h=Z(i,d);for(d+=4,a=2**32*c+h,Zk(a)||(a=Number.MAX_SAFE_INTEGER,I.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=Z(i,d),d+=4,l=Z(i,d),d+=4;it(i.subarray(d,d+1))!=="\0";)t+=it(i.subarray(d,d+1)),d+=1;for(t+=it(i.subarray(d,d+1)),d+=1;it(i.subarray(d,d+1))!=="\0";)r+=it(i.subarray(d,d+1)),d+=1;r+=it(i.subarray(d,d+1)),d+=1}let u=i.subarray(d,i.byteLength);return{schemeIdUri:t,value:r,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:u}}function PI(i,...e){let t=e.length,r=8,s=t;for(;s--;)r+=e[s].byteLength;let n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s<t;s++)n.set(e[s],r),r+=e[s].byteLength;return n}function OI(i,e,t){if(i.byteLength!==16)throw new RangeError("Invalid system id");let r,s;if(e){r=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else r=0,s=new Uint8Array;let n;r>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),PI([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function NI(i){if(!(i instanceof ArrayBuffer)||i.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(i),r=t.getUint32(0);if(i.byteLength!==r&&r>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Yi.hexDump(new Uint8Array(i,12,16));let n=t.getUint32(28);if(e.version===0){if(r-32<n)return null;e.data=new Uint8Array(i,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(i,32+a*16,16))}return e}var ku={},lo=class i{static clearKeyUriToKeyIdMap(){ku={}}constructor(e,t,r,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Ot.FAIRPLAY:case Ot.WIDEVINE:case Ot.PLAYREADY:case Ot.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&I.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=UI(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=dI(this.uri);if(t)switch(this.keyFormat){case Ot.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Ot.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=OI(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=Bg(u).subarray(0,16);lI(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=ku[this.uri];if(!r){let s=Object.keys(ku).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),ku[this.uri]=r}this.keyId=r}return this}};function UI(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var qT=/\{\$([a-zA-Z0-9-_]+)\}/g;function Gy(i){return qT.test(i)}function Mt(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=Mp(i,n))}}function Mp(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(qT,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function Wy(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function FI(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function Ls(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function BI(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Ku={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function $I(i,e){let t=Ku[e];return!!t&&!!t[i.slice(0,4)]}function mp(i,e,t=!0){return!i.split(",").some(r=>!YT(r,e,t))}function YT(i,e,t=!0){var r;let s=Ls(t);return(r=s==null?void 0:s.isTypeSupported(uo(i,e)))!=null?r:!1}function uo(i,e){return`${e}/mp4;codecs="${i}"`}function Vy(i){if(i){let e=i.substring(0,4);return Ku.video[e]}return 2}function qu(i){return i.split(",").reduce((e,t)=>{let r=Ku.video[t];return r?(r*2+e)/(e?3:2):(Ku.audio[t]+e)/(e?2:1)},0)}var pp={};function HI(i,e=!0){if(pp[i])return pp[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(YT(t[r],"audio",e))return pp[i]=t[r],t[r];return i}var GI=/flac|opus/i;function Yu(i,e=!0){return i.replace(GI,t=>HI(t.toLowerCase(),e))}function Ky(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function WI(i){let e=i.split(".");if(e.length>2){let t=e.shift()+".";return t+=parseInt(e.shift()).toString(16),t+=("000"+parseInt(e.shift()).toString(16)).slice(-4),t}return i}var qy=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Yy=/#EXT-X-MEDIA:(.*)/g,VI=/^#EXT(?:INF|-X-TARGETDURATION):/m,zy=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),KI=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),As=class i{static findGroup(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.id===t)return s}}static resolve(e,t){return Fg.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return VI.test(e)}static parseMasterPlaylist(e,t){let r=Gy(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];qy.lastIndex=0;let a;for(;(a=qy.exec(e))!=null;)if(a[1]){var o;let d=new We(a[1]);Mt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=Mp(s,a[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:i.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),qI(d.CODECS,c),(o=c.unknownCodecs)!=null&&o.length||n.push(c),s.levels.push(c)}else if(a[3]){let d=a[3],u=a[4];switch(d){case"SESSION-DATA":{let c=new We(u);Mt(s,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=c);break}case"SESSION-KEY":{let c=jy(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):I.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new We(u);Mt(s,c,["NAME","VALUE","QUERYPARAM"]),Wy(s,c,t)}break}case"CONTENT-STEERING":{let c=new We(u);Mt(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=Xy(u);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,r){let s,n={},a=r.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(Yy.lastIndex=0;(s=Yy.exec(e))!==null;){let d=new We(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Mt(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],T={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(T.assocLang=m),p&&(T.channels=p),g&&(T.characteristics=g),E&&(T.instreamId=E),c!=null&&c.length){let y=i.findGroup(c,T.groupId)||c[0];Qy(T,y,"audioCodec"),Qy(T,y,"textCodec")}h.push(T)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Cp(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new no(s,t),g,E,T,y=-1,S=!1,_=null;for(zy.lastIndex=0,o.m3u8=e,o.hasVariableRefs=Gy(e);(g=zy.exec(e))!==null;){S&&(S=!1,p=new no(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,_&&(p.setByteRange(_),_=null)));let M=g[1];if(M){p.duration=parseFloat(M);let k=(" "+g[2]).slice(1);p.title=k||null,p.tagList.push(k?["INF",M,k]:["INF",M])}else if(g[3]){if(q(p.duration)){p.start=h,T&&eT(p,T,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let k=(" "+g[3]).slice(1);p.relurl=Mp(o,k),Zy(p,m),m=p,h+=p.duration,u++,c=0,S=!0}}else if(g[4]){let k=(" "+g[4]).slice(1);m?p.setByteRange(k,m):p.setByteRange(k)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),y===-1&&(y=l.length);else{if(g=g[0].match(KI),!g){I.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let k=(" "+g[E]).slice(1),D=(" "+g[E+1]).slice(1),U=g[E+2]?(" "+g[E+2]).slice(1):"";switch(k){case"PLAYLIST-TYPE":o.type=D.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(D);break;case"SKIP":{let B=new We(D);Mt(o,B,["RECENTLY-REMOVED-DATERANGES"]);let X=B.decimalInteger("SKIPPED-SEGMENTS");if(q(X)){o.skippedSegments=X;for(let V=X;V--;)l.unshift(null);u+=X}let z=B.enumeratedString("RECENTLY-REMOVED-DATERANGES");z&&(o.recentlyRemovedDateranges=z.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(D),1);break;case"VERSION":o.version=parseInt(D);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(D||U)&&p.tagList.push(U?[D,U]:[D]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([k]);break;case"BITRATE":p.tagList.push([k,D]);break;case"DATERANGE":{let B=new We(D);Mt(o,B,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Mt(o,B,B.clientAttrs);let X=new Gu(B,o.dateRanges[B.ID]);X.isValid||o.skippedSegments?o.dateRanges[X.id]=X:I.warn(`Ignoring invalid DATERANGE tag: "${D}"`),p.tagList.push(["EXT-X-DATERANGE",D]);break}case"DEFINE":{{let B=new We(D);Mt(o,B,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in B?FI(o,B,a):Wy(o,B,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(D);break;case"KEY":{let B=jy(D,t,o);if(B.isSupported()){if(B.method==="NONE"){T=void 0;break}T||(T={}),T[B.keyFormat]&&(T=Ze({},T)),T[B.keyFormat]=B}else I.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${D}"`);break}case"START":o.startTimeOffset=Xy(D);break;case"MAP":{let B=new We(D);if(Mt(o,B,["BYTERANGE","URI"]),p.duration){let X=new no(s,t);Jy(X,B,r,T),d=X,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let X=p.byteRangeEndOffset;if(X){let z=p.byteRangeStartOffset;_=`${X-z}@${z}`}else _=null;Jy(p,B,r,T),d=p,S=!0}break}case"SERVER-CONTROL":{let B=new We(D);o.canBlockReload=B.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=B.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&B.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=B.optionalFloat("PART-HOLD-BACK",0),o.holdBack=B.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let B=new We(D);o.partTarget=B.decimalFloatingPoint("PART-TARGET");break}case"PART":{let B=o.partList;B||(B=o.partList=[]);let X=c>0?B[B.length-1]:void 0,z=c++,V=new We(D);Mt(o,V,["BYTERANGE","URI"]);let se=new wp(V,p,t,z,X);B.push(se),p.duration+=se.duration;break}case"PRELOAD-HINT":{let B=new We(D);Mt(o,B,["URI"]),o.preloadHint=B;break}case"RENDITION-REPORT":{let B=new We(D);Mt(o,B,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(B);break}default:I.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(Zy(p,m),p.cc=f,o.fragmentHint=p,T&&eT(p,T,o));let L=l.length,x=l[0],w=l[L-1];if(h+=o.skippedSegments*o.targetduration,h>0&&L&&w){o.averagetargetduration=h/L;let M=w.sn;o.endSN=M!=="initSegment"?M:0,o.live||(w.endList=!0),x&&(o.startCC=x.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,y>0&&YI(l,y),o}};function jy(i,e,t){var r,s;let n=new We(i);Mt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&I.error(`Invalid IV: ${n.IV}`);let c=o?As.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new lo(a,c,u,h,l)}function Xy(i){let t=new We(i).decimalFloatingPoint("TIME-OFFSET");return q(t)?t:null}function qI(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>$I(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function Qy(i,e,t){let r=e[t];r&&(i[t]=r)}function YI(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function Zy(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),q(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function Jy(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function eT(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var ge={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},te={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function tT(i){let{type:e}=i;switch(e){case ge.AUDIO_TRACK:return te.AUDIO;case ge.SUBTITLE_TRACK:return te.SUBTITLE;default:return te.MAIN}}function gp(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Pp=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ge.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:ge.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ge.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ge.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){I.trace("[playlist-loader]: playlist request ongoing");return}I.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===ge.MANIFEST?n=r.manifestLoadPolicy.default:n=Ze({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),q((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===ge.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===ge.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===ge.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=Ze({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),As.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=gp(e,r),l=As.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=As.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(y=>!y.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(I.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new We({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=gp(e,r),c=0,h=q(l)?l:q(o)?o:0,f=tT(r),m=As.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===ge.MANIFEST){let p={attrs:new We({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.MANIFEST_PARSING_ERROR,fatal:t.type===ge.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===ge.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===ge.AUDIO_TRACK||e.type===ge.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);I.warn(`[playlist-loader]: ${a}`);let l=C.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case ge.MANIFEST:l=r?C.MANIFEST_LOAD_TIMEOUT:C.MANIFEST_LOAD_ERROR,d=!0;break;case ge.LEVEL:l=r?C.LEVEL_LOAD_TIMEOUT:C.LEVEL_LOAD_ERROR,d=!1;break;case ge.AUDIO_TRACK:l=r?C.AUDIO_TRACK_LOAD_TIMEOUT:C.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case ge.SUBTITLE_TRACK:l=r?C.SUBTITLE_TRACK_LOAD_TIMEOUT:C.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:ie.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=ft({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=gp(t,s),m=tT(s),p=typeof s.level=="number"&&m===te.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case ge.MANIFEST:case ge.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case ge.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case ge.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function zT(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function jT(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){I.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){I.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function Hn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function Op(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=jI(i.cues,e,t);for(let a=0;a<n.length;a++)(!r||r(n[a]))&&i.removeCue(n[a])}s==="disabled"&&(i.mode=s)}function zI(i,e){if(e<i[0].startTime)return 0;let t=i.length-1;if(e>i[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(e<i[n].startTime)s=n-1;else if(e>i[n].startTime&&r<t)r=n+1;else return n}return i[r].startTime-e<e-i[s].startTime?r:s}function jI(i,e,t){let r=[],s=zI(i,e);if(s>-1)for(let n=s,a=i.length;n<a;n++){let o=i[n];if(o.startTime>=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function Ou(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t];(r.kind==="subtitles"||r.kind==="captions")&&r.label&&e.push(i[t])}return e}var yi={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},XI=.25;function Np(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function iT(i,e,t,r,s){let n=new i(e,t,"");try{n.value=r,s&&(n.type=s)}catch{n=new i(e,t,JSON.stringify(s?ft({type:s},r):r))}return n}var Iu=(()=>{let i=Np();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function vp(i,e){return i.getTime()/1e3-e}function QI(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Up=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(Hn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let r=e[t];if(r.kind==="metadata"&&r.label==="id3")return zT(r,this.media),r}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:s}}}=this;if(!r&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Np();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===yi.emsg&&!r||!s)continue;let d=FT(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>Iu&&(c=Iu),c-u<=0&&(c=u+XI);for(let f=0;f<d.length;f++){let m=d[f];if(!UT(m)){this.updateId3CueEnds(u,l);let p=iT(a,u,c,m,l);p&&this.id3Track.addCue(p)}}}}}updateId3CueEnds(e,t){var r;let s=(r=this.id3Track)==null?void 0:r.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===Iu&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:r,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=u=>u.type===yi.audioId3&&l:s==="video"?d=u=>u.type===yi.emsg&&o:d=u=>u.type===yi.audioId3&&l||u.type===yi.emsg&&o,Op(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!q(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Np();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=vp(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=Iu,T=h.endDate;if(T)E=vp(T,l),g=!0;else if(h.endOnNext&&!g){let S=a.reduce((_,L)=>{if(L!==h.id){let x=n[L];if(x.class===h.class&&x.startDate>h.startDate&&(!_||h.startDate<_.startDate))return x}return _},null);S&&(E=vp(S.startDate,l),g=!0)}let y=Object.keys(h.attr);for(let S=0;S<y.length;S++){let _=y[S];if(!sI(_))continue;let L=p[_];if(L)g&&!m.durationKnown&&(L.endTime=E);else if(d){let x=h.attr[_];nI(_)&&(x=QI(x));let w=iT(d,f,E,{key:_,data:x},yi.dateRange);w&&(w.id=c,this.id3Track.addCue(w),p[_]=w)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Fp=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s,c=1;return d+Math.min(this.stallCount*c,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===C.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&I.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o<l&&o>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},Bp=["NONE","TYPE-0","TYPE-1",null];function ZI(i){return Bp.indexOf(i)>-1}var zu=["SDR","PQ","HLG"];function JI(i){return!!i&&zu.indexOf(i)>-1}var Nu={No:"",Yes:"YES",v2:"v2"};function rT(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?Nu.v2:Nu.Yes:Nu.No}var ju=class{constructor(e,t,r){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=r}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Mr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return sT(this._audioGroups,e)}hasSubtitleGroup(e){return sT(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function sT(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function Ep(i,e){let t=e.startPTS;if(q(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function XT(i,e,t,r,s,n){r-t<=0&&(I.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(q(d)){let g=Math.abs(d-t);q(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||h<i.startSN||h>i.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)Ep(p[f],p[f-1]);for(f=m;f<p.length-1;f++)Ep(p[f],p[f+1]);return i.fragmentHint&&Ep(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function eR(i,e){let t=null,r=i.fragments;for(let l=r.length-1;l>=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(rR(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),q(l.startPTS)&&q(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){I.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=tR(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){I.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),iR(i.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?XT(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):QT(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function tR(i,e,t){let r=Ze({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Gu(e[s].attr,r[s]);n.isValid?r[s]=n:I.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function iR(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function rR(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d<r&&(c=e.fragments[d]=u),u&&c&&t(u,c)}}function QT(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||$p(e,r[t].start)}function $p(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;r<t.length;r++)t[r].start+=e;i.fragmentHint&&(i.fragmentHint.start+=e)}}function sR(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments,s=4;if(r.length&&t*s>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function nR(i,e,t){if(!(i!=null&&i.details))return null;let r=i.details,s=r.fragments[e-r.startSN];return s||(s=r.fragmentHint,s&&s.sn===e)?s:e<r.startSN&&t&&t.sn===e?t:null}function nT(i,e,t){var r;return i!=null&&i.details?ZT((r=i.details)==null?void 0:r.partList,e,t):null}function ZT(i,e,t){if(i)for(let r=i.length;r--;){let s=i[r];if(s.index===t&&s.fragment.sn===e)return s}return null}function JT(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Xu(i){switch(i.details){case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_TIMEOUT:case C.LEVEL_LOAD_TIMEOUT:case C.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function aT(i,e){let t=Xu(e);return i.default[`${t?"timeout":"error"}Retry`]}function Gg(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function oT(i){return ft(ft({},i),{errorRetry:null,timeoutRetry:null})}function Qu(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(aR(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function aR(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var e_={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function oR(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!q(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<i.length;++n){let a=i[n];if(lR(e,t,a))return a}return null}function Zu(i,e,t=0,r=0){let s=null;if(i){s=e[i.sn-e[0].sn+1]||null;let a=i.endDTS-t;a>0&&a<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(s=e[0]);if(s&&(!i||i.level===s.level)&&Hp(t,r,s)===0)return s;let n=e_.search(e,Hp.bind(null,t,r));return n&&(n!==i||!s)?n:s}function Hp(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function lR(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function dR(i,e){return e_.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ct={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},vi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Gp=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=I.log.bind(I,"[info]:"),this.warn=I.warn.bind(I,"[warning]:"),this.error=I.error.bind(I,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===te.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case C.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:ct.DoNothing,flags:vi.None};return}case C.FRAG_GAP:case C.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ct.SendAlternateToPenaltyBox;return}case C.LEVEL_EMPTY_ERROR:case C.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===te.MAIN?t.level:n.loadLevel;t.details===C.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.SUBTITLE_LOAD_ERROR:case C.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===ge.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===ge.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ct.SendAlternateToPenaltyBox,t.errorAction.flags=vi.MoveAllAlternatesMatchingHost;return}}return;case C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case C.BUFFER_ADD_CODEC_ERROR:case C.REMUX_ALLOC_ERROR:case C.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case C.INTERNAL_EXCEPTION:case C.BUFFER_APPENDING_ERROR:case C.BUFFER_FULL_ERROR:case C.LEVEL_SWITCH_ERROR:case C.BUFFER_STALLED_ERROR:case C.BUFFER_SEEK_OVER_HOLE:case C.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ct.DoNothing,flags:vi.None};return}t.type===ie.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=aT(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(Qu(s,n,Xu(e),e.response))return{action:ct.RetryRequest,flags:vi.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=aT(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==C.FRAG_GAP&&s.fragmentError++,Qu(o,l,Xu(e),e.response)))return{action:ct.RetryRequest,flags:vi.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===C.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===te.AUDIO&&d===C.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:L})=>s.audioCodec!==L),y=e.sourceBufferName==="video"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR)&&c.some(({codecSet:L,audioCodec:x})=>s.codecSet!==L&&s.audioCodec===x),{type:S,groupId:_}=(a=e.context)!=null?a:{};for(let L=c.length;L--;){let x=(L+h)%c.length;if(x!==h&&x>=f&&x<=m&&c[x].loadError===0){var o,l;let w=c[x];if(d===C.FRAG_GAP&&e.frag){let M=c[x].details;if(M){let k=Zu(e.frag,M.fragments,e.frag.start);if(k!=null&&k.gap)continue}}else{if(S===ge.AUDIO_TRACK&&w.hasAudioGroup(_)||S===ge.SUBTITLE_TRACK&&w.hasSubtitleGroup(_))continue;if(p===te.AUDIO&&(o=s.audioGroups)!=null&&o.some(M=>w.hasAudioGroup(M))||p===te.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(M=>w.hasSubtitleGroup(M))||E&&s.audioCodec===w.audioCodec||!E&&s.audioCodec!==w.audioCodec||y&&s.codecSet===w.codecSet)continue}u=x;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ct.SendAlternateToPenaltyBox,flags:vi.None,nextAutoLevel:u}}return{action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ct.DoNothing:break;case ct.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==C.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ct.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case vi.None:this.switchLevel(e,a);break;case vi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Bp[Bp.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},co=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=I.log.bind(I,`${t}:`),this.warn=I.warn.bind(I,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a<s.length;a++){let o=s[a],l;try{l=new self.URL(o.URI,t.url).href}catch(d){I.warn(`Could not construct new URL for Rendition Report: ${d}`),l=o.URI||""}if(l===e){n=a;break}else l===e.substring(0,l.length)&&(n=a)}if(n!==-1){let a=s[n],o=parseInt(a["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(a["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1)}let d=r&&rT(r);return new ju(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&eR(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,T=s.endSN,y=s.lastPartIndex,S=y!==-1,_=E===T,L=g?0:y;S?(d=_?T+1:E,u=_?L:y+1):d=T+1;let x=s.age,w=x+s.ageHeader,M=Math.min(w-s.partTarget,s.targetduration*1.5);if(M>0){if(r&&M>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${M} with playlist age: ${s.age}`),M=0;else{let k=Math.floor(M/s.targetduration);if(d+=k,u!==void 0){let D=Math.round(M%s.targetduration/s.partTarget);u+=D}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${M} skip sn ${k} to part ${u}`)}s.tuneInGoal=M}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!_){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=sR(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+m<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=m);let p=this.requestScheduled-a;p=Math.max(0,p),this.log(`reload live playlist ${e} in ${Math.round(p)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=rT(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=Nu.No),new ju(r,s,n)}checkRetry(e){let t=e.details,r=Xu(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ct.RetryRequest||!s.resolved&&n===ct.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=Gg(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},Dr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Wp=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Dr(e),this.fast_=new Dr(t),this.defaultTTFB_=s,this.ttfb_=new Dr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new Dr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new Dr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new Dr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},t_={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},lT={};function uR(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&q(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function cR(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(t_);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:ft(ft({},n),{},{contentType:uo(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);q(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:uo(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=hR(l);return lT[d]||(lT[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function hR(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function fR(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function mR(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||zu.slice(0),t=e.preferHDR!==void 0?e.preferHDR:fR(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function pR(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=mR(e,s);for(let _=n.length;_--;){let L=i[n[_]];d=L.channels[2]>0,c=Math.min(c,L.minHeight),h=Math.min(h,L.minFramerate),f=Math.min(f,L.minBitrate);let x=E.filter(w=>L.videoRanges[w]>0);x.length>0&&(u=!0,p=x)}c=q(c)?c:0,h=q(h)?h:0;let T=Math.max(1080,c),y=Math.max(30,h);return f=q(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((_,L)=>{let x=i[L];if(L===_)return _;if(x.minBitrate>t)return lr(L,`min bitrate of ${x.minBitrate} > current estimate of ${t}`),_;if(!x.hasDefaultAudio)return lr(L,"no renditions with default or auto-select sound found"),_;if(o&&L.indexOf(o.substring(0,4))%5!==0)return lr(L,`audio codec preference "${o}" not found`),_;if(a&&!l){if(!x.channels[a])return lr(L,`no renditions with ${a} channel sound found (channels options: ${Object.keys(x.channels)})`),_}else if((!o||l)&&d&&x.channels[2]===0)return lr(L,"no renditions with stereo sound found"),_;return x.minHeight>T?(lr(L,`min resolution of ${x.minHeight} > maximum of ${T}`),_):x.minFramerate>y?(lr(L,`min framerate of ${x.minFramerate} > maximum of ${y}`),_):p.some(w=>x.videoRanges[w]>0)?x.maxScore<m?(lr(L,`max score of ${x.maxScore} < selected max of ${m}`),_):_&&(qu(L)>=qu(_)||x.fragmentError>i[_].fragmentError)?_:(m=x.maxScore,L):(lr(L,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),_)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function lr(i,e){I.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function gR(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function vR(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function ji(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;r<e.length;r++){let s=e[r];if(Wn(i,s,t))return r}return-1}function Wn(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,characteristics:o,default:l}=i,d=i.forced;return(r===void 0||e.groupId===r)&&(s===void 0||e.name===s)&&(n===void 0||e.lang===n)&&(n===void 0||e.assocLang===a)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(o===void 0||ER(o,e.characteristics))&&(t===void 0||t(i,e))}function ER(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function Nn(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function bR(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=dT(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1});return c>-1?c:dT(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1})}function dT(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r<i.length;r++)if(t(i[r]))return r;return-1}var Vp=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,T=this.getBwEstimate(),y=s.levels,S=y[t.level],_=l.total||Math.max(l.loaded,Math.round(d*S.averageBitrate/8)),L=E?u-g:u;L<1&&E&&(L=Math.min(u,l.loaded*8/T));let x=E?l.loaded*1e3/L:0,w=x?(_-l.loaded)/x:_*8/T+f/1e3;if(w<=p)return;let M=x?x*8:T,k=Number.POSITIVE_INFINITY,D;for(D=t.level-1;D>c;D--){let B=y[D].maxBitrate;if(k=this.getTimeToLoadFrag(f/1e3,M,d*B,!y[D].details),k<p)break}if(k>=w||k>d*10)return;s.nextLoadLevel=s.nextAutoLevel=D,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let U=y[D].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>U&&this.resetEstimator(U),this.clearTimer(),I.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
1578
+ `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};Su.prototype.processLine=function(i){var e=i.indexOf(":"),t=Uk(i,e),r=t[0],s=t.length===2?dp(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case ps.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case ps.PART_INF:{ip(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case ps.SERVER_CONTROL:{ip(this.manifest,t),this.setHoldBack();break}case ps.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case ps.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case ps.VERSION:{ip(this.manifest,t);break}case ps.SESSION_DATA:{var o=Fk(t[1]),l=Ly(o);Object.assign(this.manifest.sessionData,l)}}};Su.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),r&&!e.hasOwnProperty(n)&&(e[n]=r*3),r&&e[n]<o&&(e[n]=o)}};var ip=function(i,e){var t=Ny(e[0].replace("#EXT-X-","")),r;Nk(e[1])?(r={},r=Object.assign(Ok(e[1]),r)):r=dp(e[1]),i[t]=r},Ny=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},dp=function(i){if(i.toLowerCase()==="yes"||i.toLowerCase()==="no")return i.toLowerCase()==="yes";var e=i.indexOf(":")!==-1?i:parseFloat(i);return isNaN(e)?i:e},Pk=function(i){var e={},t=i.split("=");if(t.length>1){var r=Ny(t[0]);e[r]=dp(t[1])}return e},Ok=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=Pk(s);t=Object.assign(n,t)}return t},Nk=function(i){return i.indexOf("=")>-1},Uk=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Fk=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d<l.length;d++)l[d]==="DATA-ID"&&(e["DATA-ID"]=l[1-d]),l[d]==="VALUE"&&(e.VALUE=l[1-d])}),{data:e}}},Bk=Su,$k={safeCall:Ck,safeIncrement:Qe,getComputedStyle:Dk,secondsToMs:Mk,assign:Object.assign,headersStringToObject:lp,cdnHeadersToRequestId:_u,extractHostnameAndDomain:io,extractHostname:gi,manifestParser:Bk,generateShortID:Sy,generateUUID:eo,now:tt.now},Hk=$k,Gk={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},Wk=Gk,Vk="mux-embed",Kk="5.2.0",qk="2.1",Xt={},wr=function(i){var e=arguments;typeof i=="string"?wr.hasOwnProperty(i)?Za.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),wr[i].apply(null,e)},0):Ge.warn("`"+i+"` is an unknown task"):typeof i=="function"?Za.default.setTimeout(function(){i(wr)},0):Ge.warn("`"+i+"` is invalid.")},Yk={loaded:tt.now(),NAME:Vk,VERSION:Kk,API_VERSION:qk,PLAYER_TRACKED:!1,monitor:function(i,e){return wk(wr,i,e)},destroyMonitor:function(i){var e=Es(rp(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ge.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=gs(i);Xt[t]?Xt[t].addHLSJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=gs(i);Xt[t]?Xt[t].addDashJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=gs(i);Xt[e]?Xt[e].removeHLSJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=gs(i);Xt[e]?Xt[e].removeDashJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){sp()&&e&&e.respectDoNotTrack&&Ge.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=gs(i);Xt[t]=new Lk(wr,t,e)},emit:function(i,e,t){var r=gs(i);Xt[r]?(Xt[r].emit(e,t),e==="destroy"&&delete Xt[r]):Ge.error("A monitor for `"+r+"` has not been initialized.")},checkDoNotTrack:sp,log:Ge,utils:Hk,events:Wk,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(wr,Yk);typeof Za.default!="undefined"&&typeof Za.default.addEventListener=="function"&&Za.default.addEventListener("pagehide",function(i){i.persisted||(wr.WINDOW_UNLOADING=!0)},!1);var xu=wr;function zk(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var PT={exports:{}};(function(i,e){(function(t){var r=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=o.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=o.normalizePath(c.path),o.buildURLFromParts(c)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var m=s.exec(f.path);f.netLoc=m[1],f.path=m[2]}f.netLoc&&!f.path&&(f.path="/");var p={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(p.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)p.path=f.path,h.params||(p.params=f.params,h.query||(p.query=f.query));else{var g=f.path,E=g.substring(0,g.lastIndexOf("/")+1)+h.path;p.path=o.normalizePath(E)}return p.path===null&&(p.path=u.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(p)},parseURL:function(l){var d=r.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};i.exports=o})()})(PT);var Fg=PT.exports;function Uy(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Uy(Object(t),!0).forEach(function(r){Qk(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Uy(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function jk(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function Xk(i){var e=jk(i,"string");return typeof e=="symbol"?e:String(e)}function Qk(i,e,t){return e=Xk(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ze(){return Ze=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},Ze.apply(this,arguments)}var q=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Zk=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=Jk},Jk=Number.MAX_SAFE_INTEGER||9007199254740991,v=function(i){return i.MEDIA_ATTACHING="hlsMediaAttaching",i.MEDIA_ATTACHED="hlsMediaAttached",i.MEDIA_DETACHING="hlsMediaDetaching",i.MEDIA_DETACHED="hlsMediaDetached",i.BUFFER_RESET="hlsBufferReset",i.BUFFER_CODECS="hlsBufferCodecs",i.BUFFER_CREATED="hlsBufferCreated",i.BUFFER_APPENDING="hlsBufferAppending",i.BUFFER_APPENDED="hlsBufferAppended",i.BUFFER_EOS="hlsBufferEos",i.BUFFER_FLUSHING="hlsBufferFlushing",i.BUFFER_FLUSHED="hlsBufferFlushed",i.MANIFEST_LOADING="hlsManifestLoading",i.MANIFEST_LOADED="hlsManifestLoaded",i.MANIFEST_PARSED="hlsManifestParsed",i.LEVEL_SWITCHING="hlsLevelSwitching",i.LEVEL_SWITCHED="hlsLevelSwitched",i.LEVEL_LOADING="hlsLevelLoading",i.LEVEL_LOADED="hlsLevelLoaded",i.LEVEL_UPDATED="hlsLevelUpdated",i.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",i.LEVELS_UPDATED="hlsLevelsUpdated",i.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",i.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",i.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",i.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",i.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",i.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",i.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",i.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",i.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",i.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",i.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",i.CUES_PARSED="hlsCuesParsed",i.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",i.INIT_PTS_FOUND="hlsInitPtsFound",i.FRAG_LOADING="hlsFragLoading",i.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",i.FRAG_LOADED="hlsFragLoaded",i.FRAG_DECRYPTED="hlsFragDecrypted",i.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",i.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",i.FRAG_PARSING_METADATA="hlsFragParsingMetadata",i.FRAG_PARSED="hlsFragParsed",i.FRAG_BUFFERED="hlsFragBuffered",i.FRAG_CHANGED="hlsFragChanged",i.FPS_DROP="hlsFpsDrop",i.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",i.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",i.ERROR="hlsError",i.DESTROYING="hlsDestroying",i.KEY_LOADING="hlsKeyLoading",i.KEY_LOADED="hlsKeyLoaded",i.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",i.BACK_BUFFER_REACHED="hlsBackBufferReached",i.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",i}({}),ie=function(i){return i.NETWORK_ERROR="networkError",i.MEDIA_ERROR="mediaError",i.KEY_SYSTEM_ERROR="keySystemError",i.MUX_ERROR="muxError",i.OTHER_ERROR="otherError",i}({}),C=function(i){return i.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",i.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",i.KEY_SYSTEM_NO_SESSION="keySystemNoSession",i.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",i.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",i.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",i.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",i.MANIFEST_LOAD_ERROR="manifestLoadError",i.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",i.MANIFEST_PARSING_ERROR="manifestParsingError",i.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",i.LEVEL_EMPTY_ERROR="levelEmptyError",i.LEVEL_LOAD_ERROR="levelLoadError",i.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",i.LEVEL_PARSING_ERROR="levelParsingError",i.LEVEL_SWITCH_ERROR="levelSwitchError",i.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",i.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",i.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",i.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",i.FRAG_LOAD_ERROR="fragLoadError",i.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",i.FRAG_DECRYPT_ERROR="fragDecryptError",i.FRAG_PARSING_ERROR="fragParsingError",i.FRAG_GAP="fragGap",i.REMUX_ALLOC_ERROR="remuxAllocError",i.KEY_LOAD_ERROR="keyLoadError",i.KEY_LOAD_TIMEOUT="keyLoadTimeOut",i.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",i.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",i.BUFFER_APPEND_ERROR="bufferAppendError",i.BUFFER_APPENDING_ERROR="bufferAppendingError",i.BUFFER_STALLED_ERROR="bufferStalledError",i.BUFFER_FULL_ERROR="bufferFullError",i.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",i.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",i.INTERNAL_EXCEPTION="internalException",i.INTERNAL_ABORTED="aborted",i.UNKNOWN="unknown",i}({}),_s=function(){},Rp={trace:_s,debug:_s,log:_s,warn:_s,info:_s,error:_s},so=Rp;function eI(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):_s}function tI(i,...e){e.forEach(function(t){so[t]=i[t]?i[t].bind(i):eI(t)})}function iI(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){tI(i,"debug","log","info","warn","error");try{so.log(`Debug logs enabled for "${e}" in hls.js version 1.5.8`)}catch{so=Rp}}else so=Rp}var I=so,rI=/^(\d+)x(\d+)$/,Fy=/(.+?)=(".*?"|.*?)(?:,|$)/g,We=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),Ze(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)r[s]=parseInt(t.slice(s*2,s*2+2),16);return r}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=rI.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(Fy.lastIndex=0;(t=Fy.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function sI(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function nI(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Gu=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){I.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=Ze(new We({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);q(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(q(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&q(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Kn=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},ke={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},Wu=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[ke.AUDIO]:null,[ke.VIDEO]:null,[ke.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Fg.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},no=class extends Wu{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Kn,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!q(this.programDateTime))return null;let e=q(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[ke.AUDIO]=null,e[ke.VIDEO]=null,e[ke.AUDIOVIDEO]=null}},wp=class extends Wu{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Kn,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},aI=10,Cp=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?q(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||aI}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Bg(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function oI(i){let e=Dp(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function lI(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function dI(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=Bg(a)):t=oI(a)}}return t}function Dp(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var qn=typeof self!="undefined"?self:void 0,Fe={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Ot={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function By(i){switch(i){case Ot.FAIRPLAY:return Fe.FAIRPLAY;case Ot.PLAYREADY:return Fe.PLAYREADY;case Ot.WIDEVINE:return Fe.WIDEVINE;case Ot.CLEARKEY:return Fe.CLEARKEY}}var OT={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function uI(i){if(i===OT.WIDEVINE)return Fe.WIDEVINE}function $y(i){switch(i){case Fe.FAIRPLAY:return Ot.FAIRPLAY;case Fe.PLAYREADY:return Ot.PLAYREADY;case Fe.WIDEVINE:return Ot.WIDEVINE;case Fe.CLEARKEY:return Ot.CLEARKEY}}function up(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Fe.FAIRPLAY,Fe.WIDEVINE,Fe.PLAYREADY,Fe.CLEARKEY].filter(s=>!!e[s]):[];return!r[Fe.WIDEVINE]&&t&&r.push(Fe.WIDEVINE),r}var NT=function(i){return qn!=null&&(i=qn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function cI(i,e,t,r){let s;switch(i){case Fe.FAIRPLAY:s=["cenc","sinf"];break;case Fe.WIDEVINE:case Fe.PLAYREADY:s=["cenc"];break;case Fe.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return hI(s,e,t,r)}function hI(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function xs(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var $g=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,UT=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,oo=(i,e)=>{let t=e,r=0;for(;$g(i,e);){r+=10;let s=mc(i,e+6);r+=s,UT(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},mc=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},fI=(i,e)=>$g(i,e)&&mc(i,e+6)+10<=i.length-e,Hg=i=>{let e=BT(i);for(let t=0;t<e.length;t++){let r=e[t];if(FT(r))return bI(r)}},FT=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",mI=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=mc(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},BT=i=>{let e=0,t=[];for(;$g(i,e);){let r=mc(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=mI(i.subarray(e)),a=pI(n);a&&t.push(a),e+=n.size+10}UT(i,e)&&(e+=10)}return t},pI=i=>i.type==="PRIV"?gI(i):i.type[0]==="W"?EI(i):vI(i),gI=i=>{if(i.size<2)return;let e=Xi(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},vI=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data.subarray(1));return{key:i.type,data:e}},EI=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data);return{key:i.type,data:e}},bI=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},Xi=(i,e=!1)=>{let t=yI();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l<r;){if(s=i[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},cp;function yI(){if(!navigator.userAgent.includes("PlayStation 4"))return!cp&&typeof self.TextDecoder!="undefined"&&(cp=new self.TextDecoder("utf-8")),cp}var Yi={hexDump:function(i){let e="";for(let t=0;t<i.length;t++){let r=i[t].toString(16);r.length<2&&(r="0"+r),e+=r}return e}},Vu=Math.pow(2,32)-1,TI=[].push,$T={video:1,audio:2,id3:3,text:4};function it(i){return String.fromCharCode.apply(null,i)}function HT(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function Z(i,e){let t=GT(i,e);return t<0?4294967296+t:t}function Hy(i,e){let t=Z(i,e);return t*=Math.pow(2,32),t+=Z(i,e+4),t}function GT(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function hp(i,e,t){i[e]=t>>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function _I(i){let e=i.byteLength;for(let t=0;t<e;){let r=Z(i,t);if(r>8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function ne(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=Z(i,s),a=it(i.subarray(s+4,s+8)),o=n>1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=ne(i.subarray(s+8,o),e.slice(1));l.length&&TI.apply(t,l)}s=o}return t}function AI(i){let e=[],t=i[0],r=8,s=Z(i,r);r+=4;let n=0,a=0;t===0?(n=Z(i,r),a=Z(i,r+4),r+=8):(n=Hy(i,r),a=Hy(i,r+8),r+=16),r+=2;let o=i.length+a,l=HT(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=Z(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return I.warn("SIDX has hierarchical references (not supported)"),null;let m=Z(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function WT(i){let e=[],t=ne(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=ne(n,["tkhd"])[0];if(a){let o=a[0],l=Z(a,o===0?12:20),d=ne(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=Z(d,o===0?12:20),c=ne(n,["mdia","hdlr"])[0];if(c){let h=it(c.subarray(8,12)),f={soun:ke.AUDIO,vide:ke.VIDEO}[h];if(f){let m=ne(n,["mdia","minf","stbl","stsd"])[0],p=SI(m);e[l]={timescale:u,type:f},e[f]=ft({timescale:u,id:l},p)}}}}}return ne(i,["moov","mvex","trex"]).forEach(s=>{let n=Z(s,4),a=e[n];a&&(a.default={duration:Z(s,12),flags:Z(s,20)})}),e}function SI(i){let e=i.subarray(8),t=e.subarray(86),r=it(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=ne(e,[r])[0].subarray(r==="enca"?28:78);ne(o,["sinf"]).forEach(d=>{let u=ne(d,["schm"])[0];if(u){let c=it(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=ne(d,["frma"])[0];h&&(s=it(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=ne(t,["avcC"])[0];s+="."+Lu(a[1])+Lu(a[2])+Lu(a[3]);break}case"mp4a":{let a=ne(e,[r])[0],o=ne(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=fp(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=fp(o,l);let u=o[l++];if(u===64)s+="."+Lu(u);else break;if(l+=12,o[l++]!==5)break;l=fp(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=ne(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=Z(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=ne(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+qi(o)+"."+qi(l);break}case"vp09":{let a=ne(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+qi(o)+"."+qi(l)+"."+qi(d);break}case"av01":{let a=ne(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3,E=1,T=1,y=1,S=0;s+="."+o+"."+qi(l)+d+"."+qi(h)+"."+f+"."+m+p+g+"."+qi(E)+"."+qi(T)+"."+qi(y)+"."+S;break}}return{codec:s,encrypted:n}}function fp(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function Lu(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function qi(i){return(i<10?"0":"")+i}function xI(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&ne(i,["moov","trak"]).forEach(s=>{let a=ne(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=ne(a,["enca"]),l=o.length>0;l||(o=ne(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);ne(u,["sinf"]).forEach(h=>{let f=VT(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(I.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Yi.hexDump(m)} -> ${Yi.hexDump(t)}`),f.set(t,8))}})})}),i}function VT(i){let e=ne(i,["schm"])[0];if(e){let t=it(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return ne(i,["schi","tenc"])[0]}return I.error("[eme] missing 'schm' box"),null}function LI(i,e){return ne(e,["moof","traf"]).reduce((t,r)=>{let s=ne(r,["tfdt"])[0],n=s[0],a=ne(r,["tfhd"]).reduce((o,l)=>{let d=Z(l,4),u=i[d];if(u){let c=Z(s,4);if(n===1){if(c===Vu)return I.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=Vu+1,c+=Z(s,8)}let h=u.timescale||9e4,f=c/h;if(q(f)&&(o===null||f<o))return f}return o},null);return a!==null&&q(a)&&(t===null||a<t)?a:t},null)}function kI(i,e){let t=0,r=0,s=0,n=ne(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=ne(o,["tfhd"])[0],d=Z(l,4),u=e[d];if(!u)continue;let c=u.default,h=Z(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=Z(l,12):f=Z(l,8));let m=u.timescale||9e4,p=ne(o,["trun"]);for(let g=0;g<p.length;g++){if(t=II(p[g]),!t&&f){let E=Z(p[g],4);t=f*E}u.type===ke.VIDEO?r+=t/m:u.type===ke.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=ne(i,["sidx"]);for(let u=0;u<d.length;u++){let c=AI(d[u]);if(c!=null&&c.references){a=Math.min(a,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,m)=>f+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&q(l))return l}return r||s}function II(i){let e=Z(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=Z(i,4);for(let n=0;n<s;n++){if(e&256){let a=Z(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function RI(i,e,t){ne(e,["moof","traf"]).forEach(r=>{ne(r,["tfhd"]).forEach(s=>{let n=Z(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;ne(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=Z(l,4);if(d===0)c-=u,c=Math.max(c,0),hp(l,4,c);else{c*=Math.pow(2,32),c+=Z(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(Vu+1)),f=Math.floor(c%(Vu+1));hp(l,4,h),hp(l,8,f)}}})})})}function wI(i){let e={valid:null,remainder:null},t=ne(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=xs(i,0,r.byteOffset-8),e.remainder=xs(i,r.byteOffset-8),e}function Zt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function Gy(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return ne(r,["moof"]).map(l=>{let d=l.byteOffset-8;ne(l,["traf"]).map(c=>{let h=ne(c,["tfdt"]).map(f=>{let m=f[0],p=Z(f,4);return m===1&&(p*=Math.pow(2,32),p+=Z(f,8)),p/s})[0];return h!==void 0&&(i=h),ne(c,["tfhd"]).map(f=>{let m=Z(f,4),p=Z(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,T=(p&8)!==0,y=0,S=(p&16)!==0,_=0,L=(p&32)!==0,x=8;m===n&&(g&&(x+=8),E&&(x+=4),T&&(y=Z(f,x),x+=4),S&&(_=Z(f,x),x+=4),L&&(x+=4),e.type==="video"&&(a=CI(e.codec)),ne(c,["trun"]).map(w=>{let M=w[0],k=Z(w,0)&16777215,D=(k&1)!==0,U=0,B=(k&4)!==0,X=(k&256)!==0,z=0,V=(k&512)!==0,se=0,ae=(k&1024)!==0,W=(k&2048)!==0,G=0,oe=Z(w,4),Q=8;D&&(U=Z(w,Q),Q+=4),B&&(Q+=4);let me=U+d;for(let Pe=0;Pe<oe;Pe++){if(X?(z=Z(w,Q),Q+=4):z=y,V?(se=Z(w,Q),Q+=4):se=_,ae&&(Q+=4),W&&(M===0?G=Z(w,Q):G=GT(w,Q),Q+=4),e.type===ke.VIDEO){let Be=0;for(;Be<se;){let Ke=Z(r,me);if(me+=4,DI(a,r[me])){let kt=r.subarray(me,me+Ke);KT(kt,a?2:1,i+G/s,t)}me+=Ke,Be+=Ke+4}}i+=z/s}}))})})}),t}function CI(i){if(!i)return!1;let e=i.indexOf("."),t=e<0?i:i.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function DI(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function KT(i,e,t,r){let s=qT(i),n=0;n+=e;let a=0,o=0,l=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(o<d)n+=o;else if(o>d){I.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=HT(s,u);if(u+=2,h===49){let f=Z(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,T=E?2+g*3:0,y=new Uint8Array(T);if(E){y[0]=p;for(let S=1;S<T;S++)y[S]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:y})}}}}}else if(a===5&&o>16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m<h;m++)f[m]=s[u++];r.push({payloadType:a,pts:t,uuid:c.join(""),userData:Xi(f),userDataBytes:f})}}}function qT(i){let e=i.byteLength,t=[],r=1;for(;r<e-2;)i[r]===0&&i[r+1]===0&&i[r+2]===3?(t.push(r+2),r+=2):r++;if(t.length===0)return i;let s=e-t.length,n=new Uint8Array(s),a=0;for(r=0;r<s;a++,r++)a===t[0]&&(a++,t.shift()),n[r]=i[a];return n}function MI(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;it(i.subarray(d,d+1))!=="\0";)t+=it(i.subarray(d,d+1)),d+=1;for(t+=it(i.subarray(d,d+1)),d+=1;it(i.subarray(d,d+1))!=="\0";)r+=it(i.subarray(d,d+1)),d+=1;r+=it(i.subarray(d,d+1)),d+=1,s=Z(i,12),n=Z(i,16),o=Z(i,20),l=Z(i,24),d=28}else if(e===1){d+=4,s=Z(i,d),d+=4;let c=Z(i,d);d+=4;let h=Z(i,d);for(d+=4,a=2**32*c+h,Zk(a)||(a=Number.MAX_SAFE_INTEGER,I.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=Z(i,d),d+=4,l=Z(i,d),d+=4;it(i.subarray(d,d+1))!=="\0";)t+=it(i.subarray(d,d+1)),d+=1;for(t+=it(i.subarray(d,d+1)),d+=1;it(i.subarray(d,d+1))!=="\0";)r+=it(i.subarray(d,d+1)),d+=1;r+=it(i.subarray(d,d+1)),d+=1}let u=i.subarray(d,i.byteLength);return{schemeIdUri:t,value:r,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:u}}function PI(i,...e){let t=e.length,r=8,s=t;for(;s--;)r+=e[s].byteLength;let n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s<t;s++)n.set(e[s],r),r+=e[s].byteLength;return n}function OI(i,e,t){if(i.byteLength!==16)throw new RangeError("Invalid system id");let r,s;if(e){r=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else r=0,s=new Uint8Array;let n;r>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),PI([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function NI(i){if(!(i instanceof ArrayBuffer)||i.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(i),r=t.getUint32(0);if(i.byteLength!==r&&r>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Yi.hexDump(new Uint8Array(i,12,16));let n=t.getUint32(28);if(e.version===0){if(r-32<n)return null;e.data=new Uint8Array(i,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(i,32+a*16,16))}return e}var ku={},lo=class i{static clearKeyUriToKeyIdMap(){ku={}}constructor(e,t,r,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Ot.FAIRPLAY:case Ot.WIDEVINE:case Ot.PLAYREADY:case Ot.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&I.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=UI(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=dI(this.uri);if(t)switch(this.keyFormat){case Ot.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Ot.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=OI(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=Bg(u).subarray(0,16);lI(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=ku[this.uri];if(!r){let s=Object.keys(ku).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),ku[this.uri]=r}this.keyId=r}return this}};function UI(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var YT=/\{\$([a-zA-Z0-9-_]+)\}/g;function Wy(i){return YT.test(i)}function Mt(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=Mp(i,n))}}function Mp(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(YT,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function Vy(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function FI(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function Ls(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function BI(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Ku={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function $I(i,e){let t=Ku[e];return!!t&&!!t[i.slice(0,4)]}function mp(i,e,t=!0){return!i.split(",").some(r=>!zT(r,e,t))}function zT(i,e,t=!0){var r;let s=Ls(t);return(r=s==null?void 0:s.isTypeSupported(uo(i,e)))!=null?r:!1}function uo(i,e){return`${e}/mp4;codecs="${i}"`}function Ky(i){if(i){let e=i.substring(0,4);return Ku.video[e]}return 2}function qu(i){return i.split(",").reduce((e,t)=>{let r=Ku.video[t];return r?(r*2+e)/(e?3:2):(Ku.audio[t]+e)/(e?2:1)},0)}var pp={};function HI(i,e=!0){if(pp[i])return pp[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(zT(t[r],"audio",e))return pp[i]=t[r],t[r];return i}var GI=/flac|opus/i;function Yu(i,e=!0){return i.replace(GI,t=>HI(t.toLowerCase(),e))}function qy(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function WI(i){let e=i.split(".");if(e.length>2){let t=e.shift()+".";return t+=parseInt(e.shift()).toString(16),t+=("000"+parseInt(e.shift()).toString(16)).slice(-4),t}return i}var Yy=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,zy=/#EXT-X-MEDIA:(.*)/g,VI=/^#EXT(?:INF|-X-TARGETDURATION):/m,jy=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),KI=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),As=class i{static findGroup(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.id===t)return s}}static resolve(e,t){return Fg.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return VI.test(e)}static parseMasterPlaylist(e,t){let r=Wy(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];Yy.lastIndex=0;let a;for(;(a=Yy.exec(e))!=null;)if(a[1]){var o;let d=new We(a[1]);Mt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=Mp(s,a[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:i.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),qI(d.CODECS,c),(o=c.unknownCodecs)!=null&&o.length||n.push(c),s.levels.push(c)}else if(a[3]){let d=a[3],u=a[4];switch(d){case"SESSION-DATA":{let c=new We(u);Mt(s,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=c);break}case"SESSION-KEY":{let c=Xy(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):I.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new We(u);Mt(s,c,["NAME","VALUE","QUERYPARAM"]),Vy(s,c,t)}break}case"CONTENT-STEERING":{let c=new We(u);Mt(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=Qy(u);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,r){let s,n={},a=r.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(zy.lastIndex=0;(s=zy.exec(e))!==null;){let d=new We(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Mt(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],T={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(T.assocLang=m),p&&(T.channels=p),g&&(T.characteristics=g),E&&(T.instreamId=E),c!=null&&c.length){let y=i.findGroup(c,T.groupId)||c[0];Zy(T,y,"audioCodec"),Zy(T,y,"textCodec")}h.push(T)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Cp(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new no(s,t),g,E,T,y=-1,S=!1,_=null;for(jy.lastIndex=0,o.m3u8=e,o.hasVariableRefs=Wy(e);(g=jy.exec(e))!==null;){S&&(S=!1,p=new no(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,_&&(p.setByteRange(_),_=null)));let M=g[1];if(M){p.duration=parseFloat(M);let k=(" "+g[2]).slice(1);p.title=k||null,p.tagList.push(k?["INF",M,k]:["INF",M])}else if(g[3]){if(q(p.duration)){p.start=h,T&&tT(p,T,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let k=(" "+g[3]).slice(1);p.relurl=Mp(o,k),Jy(p,m),m=p,h+=p.duration,u++,c=0,S=!0}}else if(g[4]){let k=(" "+g[4]).slice(1);m?p.setByteRange(k,m):p.setByteRange(k)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),y===-1&&(y=l.length);else{if(g=g[0].match(KI),!g){I.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let k=(" "+g[E]).slice(1),D=(" "+g[E+1]).slice(1),U=g[E+2]?(" "+g[E+2]).slice(1):"";switch(k){case"PLAYLIST-TYPE":o.type=D.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(D);break;case"SKIP":{let B=new We(D);Mt(o,B,["RECENTLY-REMOVED-DATERANGES"]);let X=B.decimalInteger("SKIPPED-SEGMENTS");if(q(X)){o.skippedSegments=X;for(let V=X;V--;)l.unshift(null);u+=X}let z=B.enumeratedString("RECENTLY-REMOVED-DATERANGES");z&&(o.recentlyRemovedDateranges=z.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(D),1);break;case"VERSION":o.version=parseInt(D);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(D||U)&&p.tagList.push(U?[D,U]:[D]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([k]);break;case"BITRATE":p.tagList.push([k,D]);break;case"DATERANGE":{let B=new We(D);Mt(o,B,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Mt(o,B,B.clientAttrs);let X=new Gu(B,o.dateRanges[B.ID]);X.isValid||o.skippedSegments?o.dateRanges[X.id]=X:I.warn(`Ignoring invalid DATERANGE tag: "${D}"`),p.tagList.push(["EXT-X-DATERANGE",D]);break}case"DEFINE":{{let B=new We(D);Mt(o,B,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in B?FI(o,B,a):Vy(o,B,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(D);break;case"KEY":{let B=Xy(D,t,o);if(B.isSupported()){if(B.method==="NONE"){T=void 0;break}T||(T={}),T[B.keyFormat]&&(T=Ze({},T)),T[B.keyFormat]=B}else I.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${D}"`);break}case"START":o.startTimeOffset=Qy(D);break;case"MAP":{let B=new We(D);if(Mt(o,B,["BYTERANGE","URI"]),p.duration){let X=new no(s,t);eT(X,B,r,T),d=X,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let X=p.byteRangeEndOffset;if(X){let z=p.byteRangeStartOffset;_=`${X-z}@${z}`}else _=null;eT(p,B,r,T),d=p,S=!0}break}case"SERVER-CONTROL":{let B=new We(D);o.canBlockReload=B.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=B.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&B.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=B.optionalFloat("PART-HOLD-BACK",0),o.holdBack=B.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let B=new We(D);o.partTarget=B.decimalFloatingPoint("PART-TARGET");break}case"PART":{let B=o.partList;B||(B=o.partList=[]);let X=c>0?B[B.length-1]:void 0,z=c++,V=new We(D);Mt(o,V,["BYTERANGE","URI"]);let se=new wp(V,p,t,z,X);B.push(se),p.duration+=se.duration;break}case"PRELOAD-HINT":{let B=new We(D);Mt(o,B,["URI"]),o.preloadHint=B;break}case"RENDITION-REPORT":{let B=new We(D);Mt(o,B,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(B);break}default:I.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(Jy(p,m),p.cc=f,o.fragmentHint=p,T&&tT(p,T,o));let L=l.length,x=l[0],w=l[L-1];if(h+=o.skippedSegments*o.targetduration,h>0&&L&&w){o.averagetargetduration=h/L;let M=w.sn;o.endSN=M!=="initSegment"?M:0,o.live||(w.endList=!0),x&&(o.startCC=x.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,y>0&&YI(l,y),o}};function Xy(i,e,t){var r,s;let n=new We(i);Mt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&I.error(`Invalid IV: ${n.IV}`);let c=o?As.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new lo(a,c,u,h,l)}function Qy(i){let t=new We(i).decimalFloatingPoint("TIME-OFFSET");return q(t)?t:null}function qI(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>$I(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function Zy(i,e,t){let r=e[t];r&&(i[t]=r)}function YI(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function Jy(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),q(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function eT(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function tT(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var ge={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},te={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function iT(i){let{type:e}=i;switch(e){case ge.AUDIO_TRACK:return te.AUDIO;case ge.SUBTITLE_TRACK:return te.SUBTITLE;default:return te.MAIN}}function gp(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Pp=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ge.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:ge.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ge.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ge.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){I.trace("[playlist-loader]: playlist request ongoing");return}I.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===ge.MANIFEST?n=r.manifestLoadPolicy.default:n=Ze({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),q((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===ge.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===ge.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===ge.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=Ze({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),As.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=gp(e,r),l=As.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=As.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(y=>!y.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(I.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new We({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=gp(e,r),c=0,h=q(l)?l:q(o)?o:0,f=iT(r),m=As.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===ge.MANIFEST){let p={attrs:new We({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.MANIFEST_PARSING_ERROR,fatal:t.type===ge.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===ge.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===ge.AUDIO_TRACK||e.type===ge.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);I.warn(`[playlist-loader]: ${a}`);let l=C.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case ge.MANIFEST:l=r?C.MANIFEST_LOAD_TIMEOUT:C.MANIFEST_LOAD_ERROR,d=!0;break;case ge.LEVEL:l=r?C.LEVEL_LOAD_TIMEOUT:C.LEVEL_LOAD_ERROR,d=!1;break;case ge.AUDIO_TRACK:l=r?C.AUDIO_TRACK_LOAD_TIMEOUT:C.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case ge.SUBTITLE_TRACK:l=r?C.SUBTITLE_TRACK_LOAD_TIMEOUT:C.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:ie.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=ft({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=gp(t,s),m=iT(s),p=typeof s.level=="number"&&m===te.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case ge.MANIFEST:case ge.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case ge.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case ge.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function jT(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function XT(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){I.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){I.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function Hn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function Op(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=jI(i.cues,e,t);for(let a=0;a<n.length;a++)(!r||r(n[a]))&&i.removeCue(n[a])}s==="disabled"&&(i.mode=s)}function zI(i,e){if(e<i[0].startTime)return 0;let t=i.length-1;if(e>i[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(e<i[n].startTime)s=n-1;else if(e>i[n].startTime&&r<t)r=n+1;else return n}return i[r].startTime-e<e-i[s].startTime?r:s}function jI(i,e,t){let r=[],s=zI(i,e);if(s>-1)for(let n=s,a=i.length;n<a;n++){let o=i[n];if(o.startTime>=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function Ou(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t];(r.kind==="subtitles"||r.kind==="captions")&&r.label&&e.push(i[t])}return e}var yi={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},XI=.25;function Np(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function rT(i,e,t,r,s){let n=new i(e,t,"");try{n.value=r,s&&(n.type=s)}catch{n=new i(e,t,JSON.stringify(s?ft({type:s},r):r))}return n}var Iu=(()=>{let i=Np();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function vp(i,e){return i.getTime()/1e3-e}function QI(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Up=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(Hn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let r=e[t];if(r.kind==="metadata"&&r.label==="id3")return jT(r,this.media),r}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:s}}}=this;if(!r&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Np();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===yi.emsg&&!r||!s)continue;let d=BT(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>Iu&&(c=Iu),c-u<=0&&(c=u+XI);for(let f=0;f<d.length;f++){let m=d[f];if(!FT(m)){this.updateId3CueEnds(u,l);let p=rT(a,u,c,m,l);p&&this.id3Track.addCue(p)}}}}}updateId3CueEnds(e,t){var r;let s=(r=this.id3Track)==null?void 0:r.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===Iu&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:r,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=u=>u.type===yi.audioId3&&l:s==="video"?d=u=>u.type===yi.emsg&&o:d=u=>u.type===yi.audioId3&&l||u.type===yi.emsg&&o,Op(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!q(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Np();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=vp(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=Iu,T=h.endDate;if(T)E=vp(T,l),g=!0;else if(h.endOnNext&&!g){let S=a.reduce((_,L)=>{if(L!==h.id){let x=n[L];if(x.class===h.class&&x.startDate>h.startDate&&(!_||h.startDate<_.startDate))return x}return _},null);S&&(E=vp(S.startDate,l),g=!0)}let y=Object.keys(h.attr);for(let S=0;S<y.length;S++){let _=y[S];if(!sI(_))continue;let L=p[_];if(L)g&&!m.durationKnown&&(L.endTime=E);else if(d){let x=h.attr[_];nI(_)&&(x=QI(x));let w=rT(d,f,E,{key:_,data:x},yi.dateRange);w&&(w.id=c,this.id3Track.addCue(w),p[_]=w)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Fp=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s,c=1;return d+Math.min(this.stallCount*c,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===C.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&I.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o<l&&o>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},Bp=["NONE","TYPE-0","TYPE-1",null];function ZI(i){return Bp.indexOf(i)>-1}var zu=["SDR","PQ","HLG"];function JI(i){return!!i&&zu.indexOf(i)>-1}var Nu={No:"",Yes:"YES",v2:"v2"};function sT(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?Nu.v2:Nu.Yes:Nu.No}var ju=class{constructor(e,t,r){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=r}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Mr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return nT(this._audioGroups,e)}hasSubtitleGroup(e){return nT(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function nT(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function Ep(i,e){let t=e.startPTS;if(q(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function QT(i,e,t,r,s,n){r-t<=0&&(I.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(q(d)){let g=Math.abs(d-t);q(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||h<i.startSN||h>i.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)Ep(p[f],p[f-1]);for(f=m;f<p.length-1;f++)Ep(p[f],p[f+1]);return i.fragmentHint&&Ep(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function eR(i,e){let t=null,r=i.fragments;for(let l=r.length-1;l>=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(rR(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),q(l.startPTS)&&q(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){I.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=tR(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){I.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),iR(i.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?QT(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):ZT(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function tR(i,e,t){let r=Ze({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Gu(e[s].attr,r[s]);n.isValid?r[s]=n:I.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function iR(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function rR(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d<r&&(c=e.fragments[d]=u),u&&c&&t(u,c)}}function ZT(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||$p(e,r[t].start)}function $p(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;r<t.length;r++)t[r].start+=e;i.fragmentHint&&(i.fragmentHint.start+=e)}}function sR(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments,s=4;if(r.length&&t*s>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function nR(i,e,t){if(!(i!=null&&i.details))return null;let r=i.details,s=r.fragments[e-r.startSN];return s||(s=r.fragmentHint,s&&s.sn===e)?s:e<r.startSN&&t&&t.sn===e?t:null}function aT(i,e,t){var r;return i!=null&&i.details?JT((r=i.details)==null?void 0:r.partList,e,t):null}function JT(i,e,t){if(i)for(let r=i.length;r--;){let s=i[r];if(s.index===t&&s.fragment.sn===e)return s}return null}function e_(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Xu(i){switch(i.details){case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_TIMEOUT:case C.LEVEL_LOAD_TIMEOUT:case C.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function oT(i,e){let t=Xu(e);return i.default[`${t?"timeout":"error"}Retry`]}function Gg(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function lT(i){return ft(ft({},i),{errorRetry:null,timeoutRetry:null})}function Qu(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(aR(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function aR(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var t_={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function oR(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!q(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<i.length;++n){let a=i[n];if(lR(e,t,a))return a}return null}function Zu(i,e,t=0,r=0){let s=null;if(i){s=e[i.sn-e[0].sn+1]||null;let a=i.endDTS-t;a>0&&a<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(s=e[0]);if(s&&(!i||i.level===s.level)&&Hp(t,r,s)===0)return s;let n=t_.search(e,Hp.bind(null,t,r));return n&&(n!==i||!s)?n:s}function Hp(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function lR(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function dR(i,e){return t_.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ct={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},vi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Gp=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=I.log.bind(I,"[info]:"),this.warn=I.warn.bind(I,"[warning]:"),this.error=I.error.bind(I,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===te.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case C.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:ct.DoNothing,flags:vi.None};return}case C.FRAG_GAP:case C.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ct.SendAlternateToPenaltyBox;return}case C.LEVEL_EMPTY_ERROR:case C.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===te.MAIN?t.level:n.loadLevel;t.details===C.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.SUBTITLE_LOAD_ERROR:case C.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===ge.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===ge.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ct.SendAlternateToPenaltyBox,t.errorAction.flags=vi.MoveAllAlternatesMatchingHost;return}}return;case C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case C.BUFFER_ADD_CODEC_ERROR:case C.REMUX_ALLOC_ERROR:case C.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case C.INTERNAL_EXCEPTION:case C.BUFFER_APPENDING_ERROR:case C.BUFFER_FULL_ERROR:case C.LEVEL_SWITCH_ERROR:case C.BUFFER_STALLED_ERROR:case C.BUFFER_SEEK_OVER_HOLE:case C.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ct.DoNothing,flags:vi.None};return}t.type===ie.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=oT(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(Qu(s,n,Xu(e),e.response))return{action:ct.RetryRequest,flags:vi.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=oT(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==C.FRAG_GAP&&s.fragmentError++,Qu(o,l,Xu(e),e.response)))return{action:ct.RetryRequest,flags:vi.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===C.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===te.AUDIO&&d===C.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:L})=>s.audioCodec!==L),y=e.sourceBufferName==="video"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR)&&c.some(({codecSet:L,audioCodec:x})=>s.codecSet!==L&&s.audioCodec===x),{type:S,groupId:_}=(a=e.context)!=null?a:{};for(let L=c.length;L--;){let x=(L+h)%c.length;if(x!==h&&x>=f&&x<=m&&c[x].loadError===0){var o,l;let w=c[x];if(d===C.FRAG_GAP&&e.frag){let M=c[x].details;if(M){let k=Zu(e.frag,M.fragments,e.frag.start);if(k!=null&&k.gap)continue}}else{if(S===ge.AUDIO_TRACK&&w.hasAudioGroup(_)||S===ge.SUBTITLE_TRACK&&w.hasSubtitleGroup(_))continue;if(p===te.AUDIO&&(o=s.audioGroups)!=null&&o.some(M=>w.hasAudioGroup(M))||p===te.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(M=>w.hasSubtitleGroup(M))||E&&s.audioCodec===w.audioCodec||!E&&s.audioCodec!==w.audioCodec||y&&s.codecSet===w.codecSet)continue}u=x;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ct.SendAlternateToPenaltyBox,flags:vi.None,nextAutoLevel:u}}return{action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ct.DoNothing:break;case ct.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==C.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ct.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case vi.None:this.switchLevel(e,a);break;case vi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Bp[Bp.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},co=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=I.log.bind(I,`${t}:`),this.warn=I.warn.bind(I,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a<s.length;a++){let o=s[a],l;try{l=new self.URL(o.URI,t.url).href}catch(d){I.warn(`Could not construct new URL for Rendition Report: ${d}`),l=o.URI||""}if(l===e){n=a;break}else l===e.substring(0,l.length)&&(n=a)}if(n!==-1){let a=s[n],o=parseInt(a["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(a["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1)}let d=r&&sT(r);return new ju(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&eR(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,T=s.endSN,y=s.lastPartIndex,S=y!==-1,_=E===T,L=g?0:y;S?(d=_?T+1:E,u=_?L:y+1):d=T+1;let x=s.age,w=x+s.ageHeader,M=Math.min(w-s.partTarget,s.targetduration*1.5);if(M>0){if(r&&M>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${M} with playlist age: ${s.age}`),M=0;else{let k=Math.floor(M/s.targetduration);if(d+=k,u!==void 0){let D=Math.round(M%s.targetduration/s.partTarget);u+=D}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${M} skip sn ${k} to part ${u}`)}s.tuneInGoal=M}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!_){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=sR(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+m<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=m);let p=this.requestScheduled-a;p=Math.max(0,p),this.log(`reload live playlist ${e} in ${Math.round(p)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=sT(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=Nu.No),new ju(r,s,n)}checkRetry(e){let t=e.details,r=Xu(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ct.RetryRequest||!s.resolved&&n===ct.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=Gg(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},Dr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Wp=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Dr(e),this.fast_=new Dr(t),this.defaultTTFB_=s,this.ttfb_=new Dr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new Dr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new Dr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new Dr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},i_={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},dT={};function uR(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&q(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function cR(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(i_);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:ft(ft({},n),{},{contentType:uo(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);q(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:uo(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=hR(l);return dT[d]||(dT[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function hR(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function fR(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function mR(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||zu.slice(0),t=e.preferHDR!==void 0?e.preferHDR:fR(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function pR(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=mR(e,s);for(let _=n.length;_--;){let L=i[n[_]];d=L.channels[2]>0,c=Math.min(c,L.minHeight),h=Math.min(h,L.minFramerate),f=Math.min(f,L.minBitrate);let x=E.filter(w=>L.videoRanges[w]>0);x.length>0&&(u=!0,p=x)}c=q(c)?c:0,h=q(h)?h:0;let T=Math.max(1080,c),y=Math.max(30,h);return f=q(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((_,L)=>{let x=i[L];if(L===_)return _;if(x.minBitrate>t)return lr(L,`min bitrate of ${x.minBitrate} > current estimate of ${t}`),_;if(!x.hasDefaultAudio)return lr(L,"no renditions with default or auto-select sound found"),_;if(o&&L.indexOf(o.substring(0,4))%5!==0)return lr(L,`audio codec preference "${o}" not found`),_;if(a&&!l){if(!x.channels[a])return lr(L,`no renditions with ${a} channel sound found (channels options: ${Object.keys(x.channels)})`),_}else if((!o||l)&&d&&x.channels[2]===0)return lr(L,"no renditions with stereo sound found"),_;return x.minHeight>T?(lr(L,`min resolution of ${x.minHeight} > maximum of ${T}`),_):x.minFramerate>y?(lr(L,`min framerate of ${x.minFramerate} > maximum of ${y}`),_):p.some(w=>x.videoRanges[w]>0)?x.maxScore<m?(lr(L,`max score of ${x.maxScore} < selected max of ${m}`),_):_&&(qu(L)>=qu(_)||x.fragmentError>i[_].fragmentError)?_:(m=x.maxScore,L):(lr(L,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),_)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function lr(i,e){I.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function gR(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function vR(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function ji(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;r<e.length;r++){let s=e[r];if(Wn(i,s,t))return r}return-1}function Wn(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,characteristics:o,default:l}=i,d=i.forced;return(r===void 0||e.groupId===r)&&(s===void 0||e.name===s)&&(n===void 0||e.lang===n)&&(n===void 0||e.assocLang===a)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(o===void 0||ER(o,e.characteristics))&&(t===void 0||t(i,e))}function ER(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function Nn(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function bR(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=uT(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1});return c>-1?c:uT(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1})}function uT(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r<i.length;r++)if(t(i[r]))return r;return-1}var Vp=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,T=this.getBwEstimate(),y=s.levels,S=y[t.level],_=l.total||Math.max(l.loaded,Math.round(d*S.averageBitrate/8)),L=E?u-g:u;L<1&&E&&(L=Math.min(u,l.loaded*8/T));let x=E?l.loaded*1e3/L:0,w=x?(_-l.loaded)/x:_*8/T+f/1e3;if(w<=p)return;let M=x?x*8:T,k=Number.POSITIVE_INFINITY,D;for(D=t.level-1;D>c;D--){let B=y[D].maxBitrate;if(k=this.getTimeToLoadFrag(f/1e3,M,d*B,!y[D].details),k<p)break}if(k>=w||k>d*10)return;s.nextLoadLevel=s.nextAutoLevel=D,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let U=y[D].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>U&&this.resetEstimator(U),this.clearTimer(),I.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
1579
1579
  Time to underbuffer: ${p.toFixed(3)} s
1580
1580
  Estimated load time for current fragment: ${w.toFixed(3)} s
1581
1581
  Estimated load time for down switch fragment: ${k.toFixed(3)} s
1582
1582
  TTFB estimate: ${g|0} ms
1583
1583
  Current BW estimate: ${q(T)?T|0:"Unknown"} bps
1584
1584
  New BW estimate: ${this.getBwEstimate()|0} bps
1585
- Switching to level ${D} @ ${U|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(I.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new Wp(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case C.BUFFER_ADD_CODEC_ERROR:case C.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case C.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;q(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===te.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==te.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return I.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,I.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(I.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let T=m[c],y=!!(T!=null&&(l=T.details)!=null&&l.live),S=g===-1||u===-1,_,L="SDR",x=(T==null?void 0:T.frameRate)||0,{audioPreference:w,videoPreference:M}=E,k=this.audioTracksByGroup||(this.audioTracksByGroup=gR(p));if(S){if(this.firstSelection!==-1)return this.firstSelection;let z=this.codecTiers||(this.codecTiers=vR(m,k,t,r)),V=pR(z,L,e,w,M),{codecSet:se,videoRanges:ae,minFramerate:W,minBitrate:G,preferHDR:oe}=V;_=se,L=oe?ae[ae.length-1]:ae[0],x=W,e=Math.max(e,G),I.log(`[abr] picked start tier ${JSON.stringify(V)}`)}else _=T==null?void 0:T.codecSet,L=T==null?void 0:T.videoRange;let D=f?f.duration:h?h.duration:0,U=this.bwEstimator.getEstimateTTFB()/1e3,B=[];for(let z=r;z>=t;z--){var X;let V=m[z],se=z>c;if(!V)continue;if(E.useMediaCapabilities&&!V.supportedResult&&!V.supportedPromise){let Pe=navigator.mediaCapabilities;typeof(Pe==null?void 0:Pe.decodingInfo)=="function"&&uR(V,k,L,x,e,w)?(V.supportedPromise=cR(V,k,Pe),V.supportedPromise.then(Be=>{if(!this.hls)return;V.supportedResult=Be;let Ke=this.hls.levels,Lt=Ke.indexOf(V);Be.error?I.warn(`[abr] MediaCapabilities decodingInfo error: "${Be.error}" for level ${Lt} ${JSON.stringify(Be)}`):Be.supported||(I.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${Lt} ${JSON.stringify(Be)}`),Lt>-1&&Ke.length>1&&(I.log(`[abr] Removing unsupported level ${Lt}`),this.hls.removeLevel(Lt)))})):V.supportedResult=t_}if(_&&V.codecSet!==_||L&&V.videoRange!==L||se&&x>V.frameRate||!se&&x>0&&x<V.frameRate||V.supportedResult&&!((X=V.supportedResult.decodingInfoResults)!=null&&X[0].smooth)){B.push(z);continue}let ae=V.details,W=(f?ae==null?void 0:ae.partTarget:ae==null?void 0:ae.averagetargetduration)||D,G;se?G=o*e:G=a*e;let oe=D&&s>=D*2&&n===0?m[z].averageBitrate:m[z].maxBitrate,Q=this.getTimeToLoadFrag(U,G,oe*W,ae===void 0);if(G>=oe&&(z===u||V.loadError===0&&V.fragmentError===0)&&(Q<=U||!q(Q)||y&&!this.bitrateTestDelay||Q<d)){let Pe=this.forcedAutoLevel;return z!==g&&(Pe===-1||Pe!==g)&&(B.length&&I.trace(`[abr] Skipped level(s) ${B.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[B[0]].codecs}" ${m[B[0]].videoRange}; not compatible with "${T.codecs}" ${L}`),I.info(`[abr] switch candidate:${c}->${z} adjustedbw(${Math.round(G)})-bitrate=${Math.round(G-oe)} ttfb:${U.toFixed(1)} avgDuration:${W.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${Q.toFixed(1)} firstSelection:${S} codecSet:${_} videoRange:${L} hls.loadLevel:${g}`)),S&&(this.firstSelection=z),z}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Kp=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},ht={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},qp=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=Un(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),Ru(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=Un(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u<s.length;u++){let c=s.start(u)-this.bufferPadding,h=s.end(u)+this.bufferPadding;if(d>=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(a<h&&o>c){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&Ru(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||Ru(t))}getState(e){let t=Un(e),r=this.fragments[t];return r?r.buffered?Ru(r)?ht.PARTIAL:ht.OK:ht.APPENDING:ht.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a<r.length;a++){if(s=r.start(a)-this.bufferPadding,n=r.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=Un(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=Un(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=Un(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function Ru(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function Un(i){return`${i.type}_${i.level}_${i.sn}`}var yR={length:0,start:()=>0,end:()=>0},Ue=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s<r.length;s++)if(t>=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,r)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,r){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end});let s=[];if(r)for(let d=0;d<e.length;d++){let u=s.length;if(u){let c=s[u-1].end;e[d].start-c<r?e[d].end>c&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let u=s[d].start,c=s[d].end;if(t+r>=u&&t<c)o=u,l=c,n=l-t;else if(t+r<u){a=u;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return I.log("failed to get media.buffered",t),yR}}},ho=class{constructor(e,t,r,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=wu(),this.buffering={audio:wu(),video:wu(),audiovideo:wu()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function wu(){return{start:0,executeStart:0,executeEnd:0,end:0}}function Uu(i,e){for(let r=0,s=i.length;r<s;r++){var t;if(((t=i[r])==null?void 0:t.cc)===e)return i[r]}return null}function TR(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function _R(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){I.log("No fragments to align");return}let s=Uu(t,r[0].cc);if(!s||s&&!s.startPTS){I.log("No frag in previous level to align on");return}return s}function uT(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function i_(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)uT(t[r],i);e.fragmentHint&&uT(e.fragmentHint,i),e.alignedSliding=!0}function AR(i,e,t){e&&(SR(i,t,e),!t.alignedSliding&&e&&Ju(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&QT(e,t))}function SR(i,e,t){if(TR(i,t,e)){let r=_R(t,e);r&&q(r.start)&&(I.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),i_(r.start,e))}}function Ju(i,e){if(!i.hasProgramDateTime||!e.hasProgramDateTime)return;let t=i.fragments,r=e.fragments;if(!t.length||!r.length)return;let s,n,a=Math.min(e.endCC,i.endCC);e.startCC<a&&i.startCC<a&&(s=Uu(r,a),n=Uu(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=Uu(t,s.cc)||t[Math.floor(t.length/2)]);let o=s.programDateTime,l=n.programDateTime;if(!o||!l)return;let d=(l-o)/1e3-(n.start-s.start);i_(d,i)}var cT=Math.pow(2,17),Yp=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let r=e.url;if(!r)return Promise.reject(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(fT(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=hT(e),c=oT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:cT};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ft({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(fT(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=hT(e,t),c=oT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:cT};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ft({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function hT(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(q(s)&&q(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function fT(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:ie.MEDIA_ERROR,details:C.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new bi(r)}var bi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},zp=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},jp=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function xR(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?xs(i,0,e-t):i}var Xp=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let T=f[m],y=f[T],S=f[y],_=f[E]*257^E*16843008;s[m]=_<<24|_>>>8,n[m]=_<<16|_>>>16,a[m]=_<<8|_>>>24,o[m]=_,_=S*16843009^y*65537^T*257^m*16843008,d[E]=_<<24|_>>>8,u[E]=_<<16|_>>>16,c[E]=_<<8|_>>>24,h[E]=_,m?(m=T^f[f[f[S^T]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;s<t.length&&r;)r=t[s]===this.key[s],s++;if(r)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),c=this.sBox,h=this.rcon,f=this.invSubMix,m=f[0],p=f[1],g=f[2],E=f[3],T,y;for(o=0;o<a;o++){if(o<n){T=d[o]=t[o];continue}y=T,o%n===0?(y=y<<8|y>>>24,y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255],y^=h[o/n|0]<<24):n>6&&o%n===4&&(y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255]),d[o]=T=(d[o-n]^y)>>>0}for(l=0;l<a;l++)o=a-l,l&3?y=d[o]:y=d[o-4],l<4||o<=4?u[l]=y:u[l]=m[c[y>>>24]]^p[c[y>>>16&255]]^g[c[y>>>8&255]]^E[c[y&255]],u[l]=u[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,r){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],u=o[2],c=o[3],h=this.uint8ArrayToUint32Array_(r),f=h[0],m=h[1],p=h[2],g=h[3],E=new Int32Array(e),T=new Int32Array(E.length),y,S,_,L,x,w,M,k,D,U,B,X,z,V,se=this.networkToHostOrderSwap;for(;t<E.length;){for(D=se(E[t]),U=se(E[t+1]),B=se(E[t+2]),X=se(E[t+3]),x=D^n[0],w=X^n[1],M=B^n[2],k=U^n[3],z=4,V=1;V<s;V++)y=l[x>>>24]^d[w>>16&255]^u[M>>8&255]^c[k&255]^n[z],S=l[w>>>24]^d[M>>16&255]^u[k>>8&255]^c[x&255]^n[z+1],_=l[M>>>24]^d[k>>16&255]^u[x>>8&255]^c[w&255]^n[z+2],L=l[k>>>24]^d[x>>16&255]^u[w>>8&255]^c[M&255]^n[z+3],x=y,w=S,M=_,k=L,z=z+4;y=a[x>>>24]<<24^a[w>>16&255]<<16^a[M>>8&255]<<8^a[k&255]^n[z],S=a[w>>>24]<<24^a[M>>16&255]<<16^a[k>>8&255]<<8^a[x&255]^n[z+1],_=a[M>>>24]<<24^a[k>>16&255]<<16^a[x>>8&255]<<8^a[w&255]^n[z+2],L=a[k>>>24]<<24^a[x>>16&255]<<16^a[w>>8&255]<<8^a[M&255]^n[z+3],T[t]=se(y^f),T[t+1]=se(L^m),T[t+2]=se(_^p),T[t+3]=se(S^g),f=D,m=U,p=B,g=X,t=t+4}return T.buffer}},LR=16,fo=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let r=self.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let r=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?xR(r):r}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,r){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,r);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)}softwareDecrypt(e,t,r){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Zt(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(r=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Xp),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=xs(o,-16).buffer,d||null}webCryptoDecrypt(e,t,r){let s=this.subtle;return(this.key!==t||!this.fastAesKey)&&(this.key=t,this.fastAesKey=new jp(s,t)),this.fastAesKey.expandKey().then(n=>s?(this.logOnce("WebCrypto AES decrypt"),new zp(s,new Uint8Array(r)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(I.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%LR;return r!==e.length&&(t=xs(e,0,r),this.remainderData=xs(e,r)),t}logOnce(e){this.logEnabled&&(I.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},kR={toString:function(i){let e="",t=i.length;for(let r=0;r<t;r++)e+=`[${i.start(r).toFixed(3)}-${i.end(r).toFixed(3)}]`;return e}},N={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},mo=class extends Kp{constructor(e,t,r,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=N.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=I.log.bind(I,`${s}:`),this.warn=I.warn.bind(I,`${s}:`),this.hls=e,this.fragmentLoader=new Yp(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new fo(e.config),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=N.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let r=t.partList;if(r!=null&&r.length){let n=r[r.length-1];return Ue.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}onMediaAttached(e,t){let r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),r.addEventListener("seeking",this.onvseeking),r.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===N.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:r,mediaBuffer:s,state:n}=this,a=r?r.currentTime:0,o=Ue.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${q(a)?a.toFixed(3):a}, state: ${n}`),this.state===N.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!o.len||u<o.start||d>o.end){let c=a>u;(a<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}r&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=N.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,r){this._loadFragForPlayback(e,t,r)}_loadFragForPlayback(e,t,r){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===N.FRAG_LOADING||!this.fragCurrent&&a===N.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=N.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===ht.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength);this.reduceMaxBufferLength(o)&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===ht.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=N.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===te.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?kR.toString(Ue.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==te.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=N.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=N.IDLE,o&&(!this.loadedmetadata&&e.type==te.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new ho(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=N.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===N.KEY_LOADING&&(this.state=N.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=N.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),q(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=N.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=nT(r,e.sn,c.index+1)||ZT(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===C.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==N.PARSING){!this.fragCurrent&&this.state!==N.STOPPED&&this.state!==N.ERROR&&(this.state=N.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?nT(o,n,a):null,d=l?l.fragment:nR(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==N.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Zt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!Ue.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ue.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return q(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ue.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart<a.end)return Ue.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,r;return e?r=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):r=t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,r=e||t.maxBufferLength;return t.maxMaxBufferLength>=r?(t.maxMaxBufferLength/=2,this.warn(`Reduce max buffer length to ${t.maxMaxBufferLength}s`),!0):!1}getAppendedFrag(e,t=te.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,te.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a)&&(o=this.getInitialLiveFragment(t,r),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=r[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let r=this.fragmentTracker.getState(e);return(r===ht.OK||r===ht.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&r<d.start)break;let u=d.loaded;u?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=u}return s}loadedEndOfParts(e,t){let r=e[e.length-1];return r&&t>r.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=oR(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=dR(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,d=s.maxFragLookUpTolerance,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Zu(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===ht.OK||m===ht.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn<o&&this.fragmentTracker.getState(g)!==ht.OK?h=g:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:r}=this;if(!r)return;let s=this.hls.liveSyncPosition,n=r.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&r.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),r.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),r.currentTime=s))}}alignPlaylists(e,t,r){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragments[0].start,a=!t,o=e.alignedSliding&&q(n);if(a||!o&&!n){let{fragPrevious:l}=this;AR(l,r,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r<t&&(r=-1),r===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&q(n)?(r=t+n,n<0&&(r+=e.totalduration),r=Math.min(Math.max(t,r),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${r}`),this.startPosition=r):e.live?r=this.hls.liveSyncPosition||t:this.startPosition=r=0,this.lastCurrentTime=r}this.nextLoadPosition=r}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==N.FRAG_LOADING_WAITING_RETRY)&&(this.state=N.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let r=t.frag;if(!r||r.type!==e||!this.levels)return;if(this.fragContextChanged(r)){var s;this.warn(`Frag load error must match current frag to retry ${r.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===C.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===ct.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Gg(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=N.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ct.RemoveAlternatePermanently&&(a.resolved=!0);else{I.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ct.SendAlternateToPenaltyBox?this.state=N.WAITING_LEVEL:this.state=N.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===N.PARSING||this.state===N.PARSED){let t=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,t),s=r&&r.len>.5;s&&this.reduceMaxBufferLength(r.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===te.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==N.STOPPED&&(this.state=N.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ue.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===N.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=N.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:XT(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=N.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},ec=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=IR(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function IR(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s<i.length;s++){let n=i[s];t.set(n,r),r+=n.length}return t}function RR(){return typeof __HLS_WORKER_BUNDLE__=="function"}function wR(){let i=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(i);return{worker:new self.Worker(e),objectURL:e}}function CR(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function zi(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var po=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=Zt(this.cachedData,e),this.cachedData=null);let r=oo(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?Hg(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&q(l))&&(this.basePTS=DR(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),r&&r.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let u=this.appendFrame(a,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=d}else fI(e,s)?(r=oo(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=xs(e,n);this.cachedData?this.cachedData=Zt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:zi(),id3Track:o,textTrack:zi()}}demuxSampleAes(e,t,r){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:zi(),id3Track:this._id3Track,textTrack:zi()}}destroy(){}},DR=(i,e,t)=>{if(q(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function MR(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,I.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function r_(i,e){return i[e]===255&&(i[e+1]&246)===240}function s_(i,e){return i[e+1]&1?7:9}function Wg(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function PR(i,e){return e+5<i.length}function tc(i,e){return e+1<i.length&&r_(i,e)}function OR(i,e){return PR(i,e)&&r_(i,e)&&Wg(i,e)<=i.length-e}function NR(i,e){if(tc(i,e)){let t=s_(i,e);if(e+t>=i.length)return!1;let r=Wg(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||tc(i,s)}return!1}function n_(i,e,t,r,s){if(!i.samplerate){let n=MR(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,I.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function a_(i){return 1024*9e4/i}function UR(i,e){let t=s_(i,e);if(e+t<=i.length){let r=Wg(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function o_(i,e,t,r,s){let n=a_(i.samplerate),a=r+s*n,o=UR(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Cu=null,FR=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],BR=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],$R=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],HR=[0,1,1,4];function l_(i,e,t,r,s){if(t+24>e.length)return;let n=d_(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function d_(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=FR[l*14+s-1]*1e3,c=BR[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=$R[t][r],m=HR[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(Cu===null){let y=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Cu=y?parseInt(y[1]):0}return!!Cu&&Cu<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function Vg(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function u_(i,e){return e+1<i.length&&Vg(i,e)}function GR(i,e){return Vg(i,e)&&4<=i.length-e}function c_(i,e){if(e+1<i.length&&Vg(i,e)){let r=d_(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||u_(i,n)}return!1}var Qp=class extends po{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=oo(e,0),r=(t==null?void 0:t.length)||0;if(c_(e,r))return!1;for(let s=e.length;r<s;r++)if(NR(e,r))return I.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return OR(e,t)}appendFrame(e,t,r){n_(e,this.observer,t,r,e.manifestCodec);let s=o_(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},WR=/\/emsg[-/]ID3/i,Zp=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,r,s){let n=this.videoTrack=zi("video",1),a=this.audioTrack=zi("audio",1),o=this.txtTrack=zi("text",1);if(this.id3Track=zi("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=GT(e);if(l.video){let{id:d,timescale:u,codec:c}=l.video;n.id=d,n.timescale=o.timescale=u,n.codec=c}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;a.id=d,a.timescale=u,a.codec=c}o.id=BT.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return _I(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Zt(this.remainderData,e));let o=wI(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=Hy(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return r.samples=Hy(e,t),{videoTrack:t,audioTrack:zi(),id3Track:s,textTrack:zi()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=ne(e.samples,["emsg"]);s&&s.forEach(n=>{let a=MI(n);if(WR.test(a.schemeIdUri)){let o=q(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:yi.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},h_=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<<l,s[0]=(a[0]&n[0])>>l,t=t?t<<o|s[0]:s[0],e+=1,r-=o}return t},Jp=class extends po{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,r){let s=f_(e,t,r,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=oo(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&Hg(t)!==void 0&&h_(e,r)<16}};function f_(i,e,t,r,s){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,T=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),y=1536/o*9e4,S=r+s*y,_=e.subarray(t,t+u);return i.config=T,i.channelCount=p,i.samplerate=o,i.samples.push({unit:_,pts:S}),u}var eg=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&I.log(e.pts+"/"+e.dts+":"+e.debug)}},ic=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&I.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<<t|this.readBits(t):r}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n<e;n++)r!==0&&(s=this.readEG(),r=(t+s+256)%256),t=r===0?t:r}readSPS(){let e=0,t=0,r=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),m=this.skipUEG.bind(this),p=this.skipScalingList.bind(this);l();let g=l();if(d(5),h(3),l(),m(),g===100||g===110||g===122||g===244||g===44||g===83||g===86||g===118||g===128){let L=u();if(L===3&&h(1),m(),m(),h(1),c())for(a=L!==3?8:12,o=0;o<a;o++)c()&&(o<6?p(16):p(64))}m();let E=u();if(E===0)u();else if(E===1)for(h(1),f(),f(),n=u(),o=0;o<n;o++)f();m(),h(1);let T=u(),y=u(),S=d(1);S===0&&h(1),h(1),c()&&(e=u(),t=u(),r=u(),s=u());let _=[1,1];if(c()&&c())switch(l()){case 1:_=[1,1];break;case 2:_=[12,11];break;case 3:_=[10,11];break;case 4:_=[16,11];break;case 5:_=[40,33];break;case 6:_=[24,11];break;case 7:_=[20,11];break;case 8:_=[32,11];break;case 9:_=[80,33];break;case 10:_=[18,11];break;case 11:_=[15,11];break;case 12:_=[64,33];break;case 13:_=[160,99];break;case 14:_=[4,3];break;case 15:_=[3,2];break;case 16:_=[2,1];break;case 255:{_=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((T+1)*16-e*2-t*2),height:(2-S)*(y+1)*16-(S?2:4)*(r+s),pixelRatio:_}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},tg=class extends eg{parseAVCPES(e,t,r,s,n){let a=this.parseAVCNALu(e,r.data),o=this.VideoSample,l,d=!1;r.data=null,o&&a.length&&!e.audFound&&(this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"")),a.forEach(u=>{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new ic(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,VT(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new ic(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let T=p.subarray(1,4),y="avc1.";for(let S=0;S<3;S++){let _=T[S].toString(16);_.length<2&&(_="0"+_),y+=_}e.codec=y}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o<r;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(d=o-s-1,c>=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Zt(f.data,t.subarray(0,d)),f.state=0))}o<r?(u=t[o]&31,c=o,h=u,s=0):s=-1}else s=0}if(c>=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Zt(f.data,t))}return e.naluState=s,a}},ig=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new fo(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)r.set(e.subarray(n,n+16),s);return r}getAvcDecryptedUnit(e,t){let r=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(r.subarray(s,s+16),n);return e}decryptAvcSample(e,t,r,s,n){let a=KT(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ut=188,rg=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new tg}static probe(e){let t=i.syncOffset(e);return t>0&&I.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ut*5,t-ut)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ut)if(e[l]===71&&(t-l===ut||e[l+ut]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ut*99,e.length-ut)+1)),n||(n=sg(e,l)===0),n&&o>1&&(a===0&&o>2||l+ut>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:BT[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,T=this._pmtId,y=e.length;if(this.remainderData&&(e=Zt(this.remainderData,e),y=e.length,this.remainderData=null),y<ut&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let S=Math.max(0,i.syncOffset(e));y-=(y-S)%ut,y<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,y,e.buffer.byteLength-y));let _=0;for(let x=S;x<y;x+=ut)if(e[x]===71){let w=!!(e[x+1]&64),M=sg(e,x),k=(e[x+3]&48)>>4,D;if(k>1){if(D=x+5+e[x+4],D===x+ut)continue}else D=x+4;switch(M){case u:w&&(c&&(n=Fn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(D,x+ut)),c.size+=x+ut-D);break;case h:if(w){if(m&&(n=Fn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(D,x+ut)),m.size+=x+ut-D);break;case f:w&&(p&&(n=Fn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(D,x+ut)),p.size+=x+ut-D);break;case 0:w&&(D+=e[D]+1),T=this._pmtId=VR(e,D);break;case T:{w&&(D+=e[D]+1);let U=KR(e,D,this.typeSupported,r);u=U.videoPid,u>0&&(a.pid=u,a.segmentCodec=U.segmentVideoCodec),h=U.audioPid,h>0&&(o.pid=h,o.segmentCodec=U.segmentAudioCodec),f=U.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(I.warn(`MPEG-TS PMT found at ${x} after unknown PID '${g}'. Backtracking to sync byte @${S} to parse all TS packets.`),g=null,x=S-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=M;break}}else _++;if(_>0){let x=new Error(`Found ${_} TS packet/s that do not start with 0x47`);this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:x,reason:x.message})}a.pesData=c,o.pesData=m,l.pesData=p;let L={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(L),L}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=Fn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=Fn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&I.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=Fn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new ig(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Zt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a<o-1&&!tc(n,a);a++);if(a!==r){let c,h=a<o-1;h?c=`AAC PES did not start with ADTS header,offset:${a}`:c="No ADTS header found in AAC PES";let f=new Error(c);if(I.warn(`parsing error: ${c}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,levelRetry:h,error:f,reason:c}),!h)return}n_(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=a_(e.samplerate);l=s.sample.pts+c}else{I.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=o_(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!tc(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){I.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(u_(r,a)){let l=l_(e,r,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseAC3PES(e,t){{let r=t.data,s=t.pts;if(s===void 0){I.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=f_(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){I.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=Ze({},t,{type:this._videoTrack?yi.emsg:yi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function sg(i,e){return((i[e+1]&31)<<8)+i[e+2]}function VR(i,e){return(i[e+10]&31)<<8|i[e+11]}function KR(i,e,t,r){let s={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},n=(i[e+1]&15)<<8|i[e+2],a=e+3+n-4,o=(i[e+10]&15)<<8|i[e+11];for(e+=12+o;e<a;){let l=sg(i,e),d=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){bp("ADTS AAC");break}case 15:s.audioPid===-1&&(s.audioPid=l);break;case 21:s.id3Pid===-1&&(s.id3Pid=l);break;case 219:if(!r){bp("H.264");break}case 27:s.videoPid===-1&&(s.videoPid=l,s.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?I.log("MPEG audio found, not supported in this browser"):s.audioPid===-1&&(s.audioPid=l,s.segmentAudioCodec="mp3");break;case 193:if(!r){bp("AC-3");break}case 129:t.ac3?s.audioPid===-1&&(s.audioPid=l,s.segmentAudioCodec="ac3"):I.log("AC-3 audio found, not supported in this browser");break;case 6:if(s.audioPid===-1&&d>0){let u=e+5,c=d;for(;c>2;){switch(i[u]){case 106:t.ac3!==!0?I.log("AC-3 audio found, not supported in this browser for now"):(s.audioPid=l,s.segmentAudioCodec="ac3");break}let f=i[u+1]+2;u+=f,c-=f}}break;case 194:case 135:I.warn("Unsupported EC-3 in M2TS found");break;case 36:I.warn("Unsupported HEVC in M2TS found");break}e+=d+5}return s}function bp(i){I.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function Fn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Zt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(I.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let m=t.byteLength;if(u)if(u>m){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var ng=class extends po{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=oo(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Hg(t)!==void 0&&h_(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(c_(e,r))return I.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return GR(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return l_(e,t,r,this.basePTS,this.frameIndex)}},rc=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},Cr=Math.pow(2,32)-1,rt=class i{static init(){i.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in i.types)i.types.hasOwnProperty(e)&&(i.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);i.HDLR_TYPES={video:t,audio:r};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);i.STTS=i.STSC=i.STCO=n,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);i.FTYP=i.box(i.types.ftyp,a,l,a,o),i.DINF=i.box(i.types.dinf,i.box(i.types.dref,s))}static box(e,...t){let r=8,s=t.length,n=s;for(;s--;)r+=t[s].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s<n;s++)a.set(t[s],r),r+=t[s].byteLength;return a}static hdlr(e){return i.box(i.types.hdlr,i.HDLR_TYPES[e])}static mdat(e){return i.box(i.types.mdat,e)}static mdhd(e,t){t*=e;let r=Math.floor(t/(Cr+1)),s=Math.floor(t%(Cr+1));return i.box(i.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(Cr+1)),s=Math.floor(t%(Cr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,r[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return i.box(i.types.sdtp,r)}static stbl(e){return i.box(i.types.stbl,i.stsd(e),i.box(i.types.stts,i.STTS),i.box(i.types.stsc,i.STSC),i.box(i.types.stsz,i.STSZ),i.box(i.types.stco,i.STCO))}static avc1(e){let t=[],r=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,r.push(a>>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(Cr+1)),o=Math.floor(r%(Cr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(Cr+1)),a=Math.floor(t%(Cr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=r[o],d=l.duration,u=l.size,c=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Zt(i.FTYP,t)}};rt.types=void 0;rt.HDLR_TYPES=void 0;rt.STTS=void 0;rt.STSC=void 0;rt.STCO=void 0;rt.STSZ=void 0;rt.VMHD=void 0;rt.SMHD=void 0;rt.STSD=void 0;rt.FTYP=void 0;rt.DINF=void 0;var m_=9e4;function Kg(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function qR(i,e,t=1,r=!1){return Kg(i,e,1/t,r)}function ro(i,e=!1){return Kg(i,1e3,1/m_,e)}function YR(i,e=1){return Kg(i,m_,1/e)}var zR=10*1e3,mT=1024,jR=1152,XR=1536,Bn=null,yp=null,Vn=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,Bn===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Bn=a?parseInt(a[1]):0}if(yp===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);yp=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){I.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){I.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){I.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Qt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&I.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,T=t.pid>-1,y=t.samples.length,S=e.samples.length>0,_=o&&y>0||y>1;if((!E||S)&&(!T||_)||this.ISGenerated||o){if(this.ISGenerated){var x,w,M,k;let X=this.videoTrackConfig;X&&(t.width!==X.width||t.height!==X.height||((x=t.pixelRatio)==null?void 0:x[0])!==((w=X.pixelRatio)==null?void 0:w[0])||((M=t.pixelRatio)==null?void 0:M[1])!==((k=X.pixelRatio)==null?void 0:k[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let D=this.isVideoContiguous,U=-1,B;if(_&&(U=QR(t.samples),!D&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,U>0){I.warn(`[mp4-remuxer]: Dropped ${U} out of ${y} video samples due to a missing keyframe`);let X=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(U),t.dropped+=U,g+=(t.samples[0].pts-X)/t.inputTimeScale,B=g}else U===-1&&(I.warn(`[mp4-remuxer]: No keyframe found out of ${y} video samples`),m=!1);if(this.ISGenerated){if(S&&_){let X=this.getVideoStartPts(t.samples),V=(Qt(e.samples[0].pts,X)-X)/t.inputTimeScale;p+=Math.max(0,V),g+=Math.max(0,-V)}if(S){if(e.samplerate||(I.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,T||_||l===te.AUDIO?g:void 0),_){let X=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(I.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,D,X)}}else _&&(d=this.remuxVideo(t,g,D,0));d&&(d.firstKeyFrame=U,d.independent=U!==-1,d.firstKeyFramePTS=B)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=p_(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=g_(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):rt.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:rt.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Qt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let W=t*n,G=a[0].pts-Qt(a[0].dts,a[0].pts);Bn&&u!==null&&Math.abs(W-G-u)<15e3?r=!0:u=W-G}let T=d.baseTime*n/d.timescale;for(let W=0;W<l;W++){let G=a[W];G.pts=Qt(G.pts-T,u),G.dts=Qt(G.dts-T,u),G.dts<a[W>0?W-1:W].dts&&(E=!0)}E&&a.sort(function(W,G){let oe=W.dts-G.dts,Q=W.pts-G.pts;return oe||Q}),f=a[0].dts,m=a[a.length-1].dts;let y=m-f,S=y?Math.round(y/(l-1)):h||e.inputTimeScale/30;if(r){let W=f-u,G=W>S,oe=W<-1;if((G||oe)&&(G?I.warn(`AVC: ${ro(W,!0)} ms (${W}dts) hole between fragments detected at ${t.toFixed(3)}`):I.warn(`AVC: ${ro(-W,!0)} ms (${W}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!oe||u>=a[0].pts||Bn)){f=u;let Q=a[0].pts-W;if(G)a[0].dts=f,a[0].pts=Q;else for(let me=0;me<a.length&&!(a[me].dts>Q);me++)a[me].dts-=W,a[me].pts-=W;I.log(`Video: Initial PTS/DTS adjusted: ${ro(Q,!0)}/${ro(f,!0)}, delta: ${ro(W,!0)} ms`)}}f=Math.max(0,f);let _=0,L=0,x=f;for(let W=0;W<l;W++){let G=a[W],oe=G.units,Q=oe.length,me=0;for(let Pe=0;Pe<Q;Pe++)me+=oe[Pe].data.length;L+=me,_+=Q,G.length=me,G.dts<x?(G.dts=x,x+=S/4|0||1):x=G.dts,p=Math.min(G.pts,p),g=Math.max(G.pts,g)}m=a[l-1].dts;let w=L+4*_+8,M;try{M=new Uint8Array(w)}catch(W){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:W,bytes:w,reason:`fail allocating video mdat ${w}`});return}let k=new DataView(M.buffer);k.setUint32(0,w),M.set(rt.types.mdat,4);let D=!1,U=Number.POSITIVE_INFINITY,B=Number.POSITIVE_INFINITY,X=Number.NEGATIVE_INFINITY,z=Number.NEGATIVE_INFINITY;for(let W=0;W<l;W++){let G=a[W],oe=G.units,Q=0;for(let Be=0,Ke=oe.length;Be<Ke;Be++){let Lt=oe[Be],vr=Lt.data,tn=Lt.data.byteLength;k.setUint32(c,tn),c+=4,M.set(vr,c),c+=tn,Q+=4+tn}let me;if(W<l-1)h=a[W+1].dts-G.dts,me=a[W+1].pts-G.pts;else{let Be=this.config,Ke=W>0?G.dts-a[W-1].dts:S;if(me=W>0?G.pts-a[W-1].pts:S,Be.stretchShortVideoTrack&&this.nextAudioPts!==null){let Lt=Math.floor(Be.maxBufferHole*n),vr=(s?p+s*n:this.nextAudioPts)-G.pts;vr>Lt?(h=vr-Ke,h<0?h=Ke:D=!0,I.log(`[mp4-remuxer]: It is approximately ${vr/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=Ke}else h=Ke}let Pe=Math.round(G.pts-G.dts);U=Math.min(U,h),X=Math.max(X,h),B=Math.min(B,me),z=Math.max(z,me),o.push(new sc(G.key,h,Q,Pe))}if(o.length){if(Bn){if(Bn<70){let W=o[0].flags;W.dependsOn=2,W.isNonSync=0}}else if(yp&&z-B<X-U&&S/X<.025&&o[0].cts===0){I.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let W=f;for(let G=0,oe=o.length;G<oe;G++){let Q=W+o[G].duration,me=W+o[G].cts;if(G<oe-1){let Pe=Q+o[G+1].cts;o[G].duration=Pe-me}else o[G].duration=G?o[G-1].duration:S;o[G].cts=0,W=Q}}}h=D||!h?S:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let V=rt.moof(e.sequenceNumber++,f,Ze({},e,{samples:o})),se="video",ae={data1:V,data2:M,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:se,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,ae}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return jR;case"ac3":return XR;default:return mT}}remuxAudio(e,t,r,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],m=n!==void 0,p=e.samples,g=h?0:8,E=this.nextAudioPts||-1,T=t*a,y=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(T-E)<9e3||Math.abs(Qt(p[0].pts-y,T)-E)<20*u),p.forEach(function(V){V.pts=Qt(V.pts-y,T)}),!r||E<0){if(p=p.filter(V=>V.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,T):E=p[0].pts}if(e.segmentCodec==="aac"){let V=this.config.maxAudioFramesDrift;for(let se=0,ae=E;se<p.length;se++){let W=p[se],G=W.pts,oe=G-ae,Q=Math.abs(1e3*oe/a);if(oe<=-V*u&&m)se===0&&(I.warn(`Audio frame @ ${(G/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*oe/a)} ms.`),this.nextAudioPts=E=ae=G);else if(oe>=V*u&&Q<zR&&m){let me=Math.round(oe/u);ae=G-me*u,ae<0&&(me--,ae+=u),se===0&&(this.nextAudioPts=E=ae),I.warn(`[mp4-remuxer]: Injecting ${me} audio frame @ ${(ae/a).toFixed(3)}s due to ${Math.round(1e3*oe/a)} ms gap.`);for(let Pe=0;Pe<me;Pe++){let Be=Math.max(ae,0),Ke=rc.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);Ke||(I.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),Ke=W.unit.subarray()),p.splice(se,0,{unit:Ke,pts:Be}),ae+=u,se++}}W.pts=ae,ae+=u}}let S=null,_=null,L,x=0,w=p.length;for(;w--;)x+=p[w].unit.byteLength;for(let V=0,se=p.length;V<se;V++){let ae=p[V],W=ae.unit,G=ae.pts;if(_!==null){let Q=f[V-1];Q.duration=Math.round((G-_)/l)}else if(r&&e.segmentCodec==="aac"&&(G=E),S=G,x>0){x+=g;try{L=new Uint8Array(x)}catch(Q){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:Q,bytes:x,reason:`fail allocating audio mdat ${x}`});return}h||(new DataView(L.buffer).setUint32(0,x),L.set(rt.types.mdat,4))}else return;L.set(W,g);let oe=W.byteLength;g+=oe,f.push(new sc(!0,d,oe,0)),_=G}let M=f.length;if(!M)return;let k=f[f.length-1];this.nextAudioPts=E=_+l*k.duration;let D=h?new Uint8Array(0):rt.moof(e.sequenceNumber++,S/l,Ze({},e,{samples:f}));e.samples=[];let U=S/a,B=E/a,z={data1:D,data2:L,startPTS:U,endPTS:B,startDTS:U,endDTS:B,type:"audio",hasAudio:!0,hasVideo:!1,nb:M};return this.isAudioContiguous=!0,z}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*mT,m=Math.ceil((h-c)/f),p=rc.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(I.warn("[mp4-remuxer]: remux empty Audio"),!p){I.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E<m;E++){let T=c+E*f;g.push({unit:p,pts:T,dts:T})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Qt(i,e){let t;if(e===null)return i;for(e<i?t=-8589934592:t=8589934592;Math.abs(i-e)>4294967296;)i+=t;return i}function QR(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function p_(i,e,t,r){let s=i.samples.length;if(!s)return;let n=i.inputTimeScale;for(let o=0;o<s;o++){let l=i.samples[o];l.pts=Qt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Qt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function g_(i,e,t){let r=i.samples.length;if(!r)return;let s=i.inputTimeScale;for(let a=0;a<r;a++){let o=i.samples[a];o.pts=Qt(o.pts-t.baseTime*s/t.timescale,e*s)/s}i.samples.sort((a,o)=>a.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var sc=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},ag=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(xI(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=GT(e);s.audio&&(t=pT(s.audio,ke.AUDIO)),s.video&&(r=pT(s.video,ke.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:I.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};q(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return I.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=kI(h,m),g=LI(m,h),E=g===null?n:g;(ZR(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&I.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let T=e?E-d.baseTime/d.timescale:u,y=T+p;RI(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=y:(I.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let S=!!m.audio,_=!!m.video,L="";S&&(L+="audio"),_&&(L+="video");let x={data1:h,startPTS:T,startDTS:T,endPTS:y,endDTS:y,type:L,hasAudio:S,hasVideo:_,nb:1,dropped:0};return c.audio=x.type==="audio"?x:void 0,c.video=x.type!=="audio"?x:void 0,c.initSegment=f,c.id3=p_(r,n,d,d),s.samples.length&&(c.text=g_(s,n,d)),c}};function ZR(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function pT(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===ke.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return Yu(t,!1);let r="mp4a.40.5";return I.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return I.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var ur;try{ur=self.performance.now.bind(self.performance)}catch{I.debug("Unable to use Performance API on this environment"),ur=qn==null?void 0:qn.Date.now}var Fu=[{demux:Zp,remux:ag},{demux:rg,remux:Vn},{demux:Qp,remux:Vn},{demux:ng,remux:Vn}];Fu.splice(2,0,{demux:Jp,remux:Vn});var nc=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=ur();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:T,initSegmentData:y}=l,S=JR(a,t);if(S&&S.method==="AES-128"){let w=this.getDecrypter();if(w.isSync()){let M=w.softwareDecrypt(a,S.key.buffer,S.iv.buffer);if(r.part>-1&&(M=w.flush()),!M)return n.executeEnd=ur(),Tp(r);a=new Uint8Array(M)}else return this.decryptionPromise=w.webCryptoDecrypt(a,S.key.buffer,S.iv.buffer).then(M=>{let k=this.push(M,null,r);return this.decryptionPromise=null,k}),this.decryptionPromise}let _=this.needsProbing(u,c);if(_){let w=this.configureTransmuxer(a);if(w)return I.warn(`[transmuxer] ${w.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:w,reason:w.message}),n.executeEnd=ur(),Tp(r)}(u||c||m||_)&&this.resetInitSegment(y,p,g,T,t),(u||m||_)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let L=this.transmux(a,S,f,h,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=ur(),L}flush(e){let t=e.transmuxing;t.executeStart=ur();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=ur(),[Tp(e)];let u=l.flush(o);return Bu(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;I.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=ur()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=Fu.length;h<f;h++){var o;if((o=Fu[h].demux)!=null&&o.probe(e)){a=Fu[h];break}}if(!a)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=a.remux,c=a.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(r,t,s,n)),(!l||!(l instanceof c))&&(this.demuxer=new c(r,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new fo(this.config)),e}};function JR(i,e){let t=null;return i.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var Tp=i=>({remuxResult:{},chunkMeta:i});function Bu(i){return"then"in i&&i.then instanceof Function}var og=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},lg=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},v_={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h<f;h++)m[h]=c[h].fn;return m},o.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0},o.prototype.emit=function(d,u,c,h,f,m){var p=t?t+d:d;if(!this._events[p])return!1;var g=this._events[p],E=arguments.length,T,y;if(g.fn){switch(g.once&&this.removeListener(d,g.fn,void 0,!0),E){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,u),!0;case 3:return g.fn.call(g.context,u,c),!0;case 4:return g.fn.call(g.context,u,c,h),!0;case 5:return g.fn.call(g.context,u,c,h,f),!0;case 6:return g.fn.call(g.context,u,c,h,f,m),!0}for(y=1,T=new Array(E-1);y<E;y++)T[y-1]=arguments[y];g.fn.apply(g.context,T)}else{var S=g.length,_;for(y=0;y<S;y++)switch(g[y].once&&this.removeListener(d,g[y].fn,void 0,!0),E){case 1:g[y].fn.call(g[y].context);break;case 2:g[y].fn.call(g[y].context,u);break;case 3:g[y].fn.call(g[y].context,u,c);break;case 4:g[y].fn.call(g[y].context,u,c,h);break;default:if(!T)for(_=1,T=new Array(E-1);_<E;_++)T[_-1]=arguments[_];g[y].fn.apply(g[y].context,T)}}return!0},o.prototype.on=function(d,u,c){return n(this,d,u,c,!1)},o.prototype.once=function(d,u,c){return n(this,d,u,c,!0)},o.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return a(this,f),this;var m=this._events[f];if(m.fn)m.fn===u&&(!h||m.once)&&(!c||m.context===c)&&a(this,f);else{for(var p=0,g=[],E=m.length;p<E;p++)(m[p].fn!==u||h&&!m[p].once||c&&m[p].context!==c)&&g.push(m[p]);g.length?this._events[f]=g.length===1?g[0]:g:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,i.exports=o})(v_);var ew=v_.exports,qg=zk(ew),ac=class{constructor(e,t,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=r,this.onFlush=s;let a=(u,c)=>{c=c||{},c.frag=this.frag,c.id=this.id,u===v.ERROR&&(this.error=c.error),this.hls.trigger(u,c)};this.observer=new qg,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=Ls(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')},d=navigator.vendor;if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||RR())){try{n.workerPath?(I.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=CR(n.workerPath)):(I.log(`injecting Web Worker for "${t}"`),this.workerContext=wR()),this.onwmsg=h=>this.onWorkerMessage(h);let{worker:c}=this.workerContext;c.addEventListener("message",this.onwmsg),c.onerror=h=>{let f=new Error(`${h.message} (${h.filename}:${h.lineno})`);n.enableWorker=!1,I.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:f})},c.postMessage({cmd:"init",typeSupported:l,vendor:d,id:t,config:JSON.stringify(n)})}catch(c){I.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.resetWorker(),this.error=null,this.transmuxer=new nc(this.observer,l,n,d,t)}return}this.transmuxer=new nc(this.observer,l,n,d,t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),T=!(g&&d.level===g.level),y=g?d.sn-g.sn:-1,S=this.part?d.part-this.part.index:-1,_=y===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),L=!T&&(y===1||y===0&&(S===1||_&&S<=0)),x=self.performance.now();(T||y||n.stats.parsing.start===0)&&(n.stats.parsing.start=x),a&&(S||!L)&&(a.stats.parsing.start=x);let w=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),M=new lg(E,L,l,T,m,w);if(!L||E||w){I.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
1585
+ Switching to level ${D} @ ${U|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(I.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new Wp(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case C.BUFFER_ADD_CODEC_ERROR:case C.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case C.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;q(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===te.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==te.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return I.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,I.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(I.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let T=m[c],y=!!(T!=null&&(l=T.details)!=null&&l.live),S=g===-1||u===-1,_,L="SDR",x=(T==null?void 0:T.frameRate)||0,{audioPreference:w,videoPreference:M}=E,k=this.audioTracksByGroup||(this.audioTracksByGroup=gR(p));if(S){if(this.firstSelection!==-1)return this.firstSelection;let z=this.codecTiers||(this.codecTiers=vR(m,k,t,r)),V=pR(z,L,e,w,M),{codecSet:se,videoRanges:ae,minFramerate:W,minBitrate:G,preferHDR:oe}=V;_=se,L=oe?ae[ae.length-1]:ae[0],x=W,e=Math.max(e,G),I.log(`[abr] picked start tier ${JSON.stringify(V)}`)}else _=T==null?void 0:T.codecSet,L=T==null?void 0:T.videoRange;let D=f?f.duration:h?h.duration:0,U=this.bwEstimator.getEstimateTTFB()/1e3,B=[];for(let z=r;z>=t;z--){var X;let V=m[z],se=z>c;if(!V)continue;if(E.useMediaCapabilities&&!V.supportedResult&&!V.supportedPromise){let Pe=navigator.mediaCapabilities;typeof(Pe==null?void 0:Pe.decodingInfo)=="function"&&uR(V,k,L,x,e,w)?(V.supportedPromise=cR(V,k,Pe),V.supportedPromise.then(Be=>{if(!this.hls)return;V.supportedResult=Be;let Ke=this.hls.levels,kt=Ke.indexOf(V);Be.error?I.warn(`[abr] MediaCapabilities decodingInfo error: "${Be.error}" for level ${kt} ${JSON.stringify(Be)}`):Be.supported||(I.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${kt} ${JSON.stringify(Be)}`),kt>-1&&Ke.length>1&&(I.log(`[abr] Removing unsupported level ${kt}`),this.hls.removeLevel(kt)))})):V.supportedResult=i_}if(_&&V.codecSet!==_||L&&V.videoRange!==L||se&&x>V.frameRate||!se&&x>0&&x<V.frameRate||V.supportedResult&&!((X=V.supportedResult.decodingInfoResults)!=null&&X[0].smooth)){B.push(z);continue}let ae=V.details,W=(f?ae==null?void 0:ae.partTarget:ae==null?void 0:ae.averagetargetduration)||D,G;se?G=o*e:G=a*e;let oe=D&&s>=D*2&&n===0?m[z].averageBitrate:m[z].maxBitrate,Q=this.getTimeToLoadFrag(U,G,oe*W,ae===void 0);if(G>=oe&&(z===u||V.loadError===0&&V.fragmentError===0)&&(Q<=U||!q(Q)||y&&!this.bitrateTestDelay||Q<d)){let Pe=this.forcedAutoLevel;return z!==g&&(Pe===-1||Pe!==g)&&(B.length&&I.trace(`[abr] Skipped level(s) ${B.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[B[0]].codecs}" ${m[B[0]].videoRange}; not compatible with "${T.codecs}" ${L}`),I.info(`[abr] switch candidate:${c}->${z} adjustedbw(${Math.round(G)})-bitrate=${Math.round(G-oe)} ttfb:${U.toFixed(1)} avgDuration:${W.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${Q.toFixed(1)} firstSelection:${S} codecSet:${_} videoRange:${L} hls.loadLevel:${g}`)),S&&(this.firstSelection=z),z}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Kp=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},ht={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},qp=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=Un(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),Ru(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=Un(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u<s.length;u++){let c=s.start(u)-this.bufferPadding,h=s.end(u)+this.bufferPadding;if(d>=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(a<h&&o>c){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&Ru(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||Ru(t))}getState(e){let t=Un(e),r=this.fragments[t];return r?r.buffered?Ru(r)?ht.PARTIAL:ht.OK:ht.APPENDING:ht.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a<r.length;a++){if(s=r.start(a)-this.bufferPadding,n=r.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=Un(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=Un(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=Un(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function Ru(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function Un(i){return`${i.type}_${i.level}_${i.sn}`}var yR={length:0,start:()=>0,end:()=>0},Ue=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s<r.length;s++)if(t>=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,r)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,r){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end});let s=[];if(r)for(let d=0;d<e.length;d++){let u=s.length;if(u){let c=s[u-1].end;e[d].start-c<r?e[d].end>c&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let u=s[d].start,c=s[d].end;if(t+r>=u&&t<c)o=u,l=c,n=l-t;else if(t+r<u){a=u;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return I.log("failed to get media.buffered",t),yR}}},ho=class{constructor(e,t,r,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=wu(),this.buffering={audio:wu(),video:wu(),audiovideo:wu()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function wu(){return{start:0,executeStart:0,executeEnd:0,end:0}}function Uu(i,e){for(let r=0,s=i.length;r<s;r++){var t;if(((t=i[r])==null?void 0:t.cc)===e)return i[r]}return null}function TR(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function _R(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){I.log("No fragments to align");return}let s=Uu(t,r[0].cc);if(!s||s&&!s.startPTS){I.log("No frag in previous level to align on");return}return s}function cT(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function r_(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)cT(t[r],i);e.fragmentHint&&cT(e.fragmentHint,i),e.alignedSliding=!0}function AR(i,e,t){e&&(SR(i,t,e),!t.alignedSliding&&e&&Ju(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&ZT(e,t))}function SR(i,e,t){if(TR(i,t,e)){let r=_R(t,e);r&&q(r.start)&&(I.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),r_(r.start,e))}}function Ju(i,e){if(!i.hasProgramDateTime||!e.hasProgramDateTime)return;let t=i.fragments,r=e.fragments;if(!t.length||!r.length)return;let s,n,a=Math.min(e.endCC,i.endCC);e.startCC<a&&i.startCC<a&&(s=Uu(r,a),n=Uu(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=Uu(t,s.cc)||t[Math.floor(t.length/2)]);let o=s.programDateTime,l=n.programDateTime;if(!o||!l)return;let d=(l-o)/1e3-(n.start-s.start);r_(d,i)}var hT=Math.pow(2,17),Yp=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let r=e.url;if(!r)return Promise.reject(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(mT(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=fT(e),c=lT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:hT};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ft({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(mT(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=fT(e,t),c=lT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:hT};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ft({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function fT(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(q(s)&&q(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function mT(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:ie.MEDIA_ERROR,details:C.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new bi(r)}var bi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},zp=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},jp=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function xR(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?xs(i,0,e-t):i}var Xp=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let T=f[m],y=f[T],S=f[y],_=f[E]*257^E*16843008;s[m]=_<<24|_>>>8,n[m]=_<<16|_>>>16,a[m]=_<<8|_>>>24,o[m]=_,_=S*16843009^y*65537^T*257^m*16843008,d[E]=_<<24|_>>>8,u[E]=_<<16|_>>>16,c[E]=_<<8|_>>>24,h[E]=_,m?(m=T^f[f[f[S^T]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;s<t.length&&r;)r=t[s]===this.key[s],s++;if(r)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),c=this.sBox,h=this.rcon,f=this.invSubMix,m=f[0],p=f[1],g=f[2],E=f[3],T,y;for(o=0;o<a;o++){if(o<n){T=d[o]=t[o];continue}y=T,o%n===0?(y=y<<8|y>>>24,y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255],y^=h[o/n|0]<<24):n>6&&o%n===4&&(y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255]),d[o]=T=(d[o-n]^y)>>>0}for(l=0;l<a;l++)o=a-l,l&3?y=d[o]:y=d[o-4],l<4||o<=4?u[l]=y:u[l]=m[c[y>>>24]]^p[c[y>>>16&255]]^g[c[y>>>8&255]]^E[c[y&255]],u[l]=u[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,r){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],u=o[2],c=o[3],h=this.uint8ArrayToUint32Array_(r),f=h[0],m=h[1],p=h[2],g=h[3],E=new Int32Array(e),T=new Int32Array(E.length),y,S,_,L,x,w,M,k,D,U,B,X,z,V,se=this.networkToHostOrderSwap;for(;t<E.length;){for(D=se(E[t]),U=se(E[t+1]),B=se(E[t+2]),X=se(E[t+3]),x=D^n[0],w=X^n[1],M=B^n[2],k=U^n[3],z=4,V=1;V<s;V++)y=l[x>>>24]^d[w>>16&255]^u[M>>8&255]^c[k&255]^n[z],S=l[w>>>24]^d[M>>16&255]^u[k>>8&255]^c[x&255]^n[z+1],_=l[M>>>24]^d[k>>16&255]^u[x>>8&255]^c[w&255]^n[z+2],L=l[k>>>24]^d[x>>16&255]^u[w>>8&255]^c[M&255]^n[z+3],x=y,w=S,M=_,k=L,z=z+4;y=a[x>>>24]<<24^a[w>>16&255]<<16^a[M>>8&255]<<8^a[k&255]^n[z],S=a[w>>>24]<<24^a[M>>16&255]<<16^a[k>>8&255]<<8^a[x&255]^n[z+1],_=a[M>>>24]<<24^a[k>>16&255]<<16^a[x>>8&255]<<8^a[w&255]^n[z+2],L=a[k>>>24]<<24^a[x>>16&255]<<16^a[w>>8&255]<<8^a[M&255]^n[z+3],T[t]=se(y^f),T[t+1]=se(L^m),T[t+2]=se(_^p),T[t+3]=se(S^g),f=D,m=U,p=B,g=X,t=t+4}return T.buffer}},LR=16,fo=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let r=self.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let r=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?xR(r):r}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,r){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,r);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)}softwareDecrypt(e,t,r){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Zt(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(r=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Xp),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=xs(o,-16).buffer,d||null}webCryptoDecrypt(e,t,r){let s=this.subtle;return(this.key!==t||!this.fastAesKey)&&(this.key=t,this.fastAesKey=new jp(s,t)),this.fastAesKey.expandKey().then(n=>s?(this.logOnce("WebCrypto AES decrypt"),new zp(s,new Uint8Array(r)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(I.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%LR;return r!==e.length&&(t=xs(e,0,r),this.remainderData=xs(e,r)),t}logOnce(e){this.logEnabled&&(I.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},kR={toString:function(i){let e="",t=i.length;for(let r=0;r<t;r++)e+=`[${i.start(r).toFixed(3)}-${i.end(r).toFixed(3)}]`;return e}},N={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},mo=class extends Kp{constructor(e,t,r,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=N.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=I.log.bind(I,`${s}:`),this.warn=I.warn.bind(I,`${s}:`),this.hls=e,this.fragmentLoader=new Yp(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new fo(e.config),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=N.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let r=t.partList;if(r!=null&&r.length){let n=r[r.length-1];return Ue.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}onMediaAttached(e,t){let r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),r.addEventListener("seeking",this.onvseeking),r.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===N.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:r,mediaBuffer:s,state:n}=this,a=r?r.currentTime:0,o=Ue.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${q(a)?a.toFixed(3):a}, state: ${n}`),this.state===N.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!o.len||u<o.start||d>o.end){let c=a>u;(a<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}r&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=N.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,r){this._loadFragForPlayback(e,t,r)}_loadFragForPlayback(e,t,r){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===N.FRAG_LOADING||!this.fragCurrent&&a===N.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=N.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===ht.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength);this.reduceMaxBufferLength(o)&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===ht.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=N.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===te.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?kR.toString(Ue.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==te.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=N.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=N.IDLE,o&&(!this.loadedmetadata&&e.type==te.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new ho(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=N.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===N.KEY_LOADING&&(this.state=N.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=N.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),q(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=N.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=aT(r,e.sn,c.index+1)||JT(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===C.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==N.PARSING){!this.fragCurrent&&this.state!==N.STOPPED&&this.state!==N.ERROR&&(this.state=N.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?aT(o,n,a):null,d=l?l.fragment:nR(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==N.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Zt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!Ue.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ue.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return q(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ue.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart<a.end)return Ue.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,r;return e?r=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):r=t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,r=e||t.maxBufferLength;return t.maxMaxBufferLength>=r?(t.maxMaxBufferLength/=2,this.warn(`Reduce max buffer length to ${t.maxMaxBufferLength}s`),!0):!1}getAppendedFrag(e,t=te.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,te.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a)&&(o=this.getInitialLiveFragment(t,r),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=r[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let r=this.fragmentTracker.getState(e);return(r===ht.OK||r===ht.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&r<d.start)break;let u=d.loaded;u?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=u}return s}loadedEndOfParts(e,t){let r=e[e.length-1];return r&&t>r.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=oR(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=dR(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,d=s.maxFragLookUpTolerance,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Zu(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===ht.OK||m===ht.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn<o&&this.fragmentTracker.getState(g)!==ht.OK?h=g:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:r}=this;if(!r)return;let s=this.hls.liveSyncPosition,n=r.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&r.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),r.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),r.currentTime=s))}}alignPlaylists(e,t,r){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragments[0].start,a=!t,o=e.alignedSliding&&q(n);if(a||!o&&!n){let{fragPrevious:l}=this;AR(l,r,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r<t&&(r=-1),r===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&q(n)?(r=t+n,n<0&&(r+=e.totalduration),r=Math.min(Math.max(t,r),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${r}`),this.startPosition=r):e.live?r=this.hls.liveSyncPosition||t:this.startPosition=r=0,this.lastCurrentTime=r}this.nextLoadPosition=r}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==N.FRAG_LOADING_WAITING_RETRY)&&(this.state=N.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let r=t.frag;if(!r||r.type!==e||!this.levels)return;if(this.fragContextChanged(r)){var s;this.warn(`Frag load error must match current frag to retry ${r.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===C.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===ct.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Gg(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=N.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ct.RemoveAlternatePermanently&&(a.resolved=!0);else{I.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ct.SendAlternateToPenaltyBox?this.state=N.WAITING_LEVEL:this.state=N.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===N.PARSING||this.state===N.PARSED){let t=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,t),s=r&&r.len>.5;s&&this.reduceMaxBufferLength(r.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===te.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==N.STOPPED&&(this.state=N.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ue.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===N.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=N.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:QT(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=N.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},ec=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=IR(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function IR(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s<i.length;s++){let n=i[s];t.set(n,r),r+=n.length}return t}function RR(){return typeof __HLS_WORKER_BUNDLE__=="function"}function wR(){let i=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(i);return{worker:new self.Worker(e),objectURL:e}}function CR(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function zi(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var po=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=Zt(this.cachedData,e),this.cachedData=null);let r=oo(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?Hg(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&q(l))&&(this.basePTS=DR(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),r&&r.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let u=this.appendFrame(a,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=d}else fI(e,s)?(r=oo(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=xs(e,n);this.cachedData?this.cachedData=Zt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:zi(),id3Track:o,textTrack:zi()}}demuxSampleAes(e,t,r){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:zi(),id3Track:this._id3Track,textTrack:zi()}}destroy(){}},DR=(i,e,t)=>{if(q(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function MR(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,I.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function s_(i,e){return i[e]===255&&(i[e+1]&246)===240}function n_(i,e){return i[e+1]&1?7:9}function Wg(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function PR(i,e){return e+5<i.length}function tc(i,e){return e+1<i.length&&s_(i,e)}function OR(i,e){return PR(i,e)&&s_(i,e)&&Wg(i,e)<=i.length-e}function NR(i,e){if(tc(i,e)){let t=n_(i,e);if(e+t>=i.length)return!1;let r=Wg(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||tc(i,s)}return!1}function a_(i,e,t,r,s){if(!i.samplerate){let n=MR(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,I.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function o_(i){return 1024*9e4/i}function UR(i,e){let t=n_(i,e);if(e+t<=i.length){let r=Wg(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function l_(i,e,t,r,s){let n=o_(i.samplerate),a=r+s*n,o=UR(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Cu=null,FR=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],BR=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],$R=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],HR=[0,1,1,4];function d_(i,e,t,r,s){if(t+24>e.length)return;let n=u_(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function u_(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=FR[l*14+s-1]*1e3,c=BR[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=$R[t][r],m=HR[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(Cu===null){let y=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Cu=y?parseInt(y[1]):0}return!!Cu&&Cu<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function Vg(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function c_(i,e){return e+1<i.length&&Vg(i,e)}function GR(i,e){return Vg(i,e)&&4<=i.length-e}function h_(i,e){if(e+1<i.length&&Vg(i,e)){let r=u_(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||c_(i,n)}return!1}var Qp=class extends po{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=oo(e,0),r=(t==null?void 0:t.length)||0;if(h_(e,r))return!1;for(let s=e.length;r<s;r++)if(NR(e,r))return I.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return OR(e,t)}appendFrame(e,t,r){a_(e,this.observer,t,r,e.manifestCodec);let s=l_(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},WR=/\/emsg[-/]ID3/i,Zp=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,r,s){let n=this.videoTrack=zi("video",1),a=this.audioTrack=zi("audio",1),o=this.txtTrack=zi("text",1);if(this.id3Track=zi("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=WT(e);if(l.video){let{id:d,timescale:u,codec:c}=l.video;n.id=d,n.timescale=o.timescale=u,n.codec=c}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;a.id=d,a.timescale=u,a.codec=c}o.id=$T.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return _I(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Zt(this.remainderData,e));let o=wI(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=Gy(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return r.samples=Gy(e,t),{videoTrack:t,audioTrack:zi(),id3Track:s,textTrack:zi()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=ne(e.samples,["emsg"]);s&&s.forEach(n=>{let a=MI(n);if(WR.test(a.schemeIdUri)){let o=q(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:yi.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},f_=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<<l,s[0]=(a[0]&n[0])>>l,t=t?t<<o|s[0]:s[0],e+=1,r-=o}return t},Jp=class extends po{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,r){let s=m_(e,t,r,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=oo(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&Hg(t)!==void 0&&f_(e,r)<16}};function m_(i,e,t,r,s){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,T=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),y=1536/o*9e4,S=r+s*y,_=e.subarray(t,t+u);return i.config=T,i.channelCount=p,i.samplerate=o,i.samples.push({unit:_,pts:S}),u}var eg=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&I.log(e.pts+"/"+e.dts+":"+e.debug)}},ic=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&I.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<<t|this.readBits(t):r}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n<e;n++)r!==0&&(s=this.readEG(),r=(t+s+256)%256),t=r===0?t:r}readSPS(){let e=0,t=0,r=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),m=this.skipUEG.bind(this),p=this.skipScalingList.bind(this);l();let g=l();if(d(5),h(3),l(),m(),g===100||g===110||g===122||g===244||g===44||g===83||g===86||g===118||g===128){let L=u();if(L===3&&h(1),m(),m(),h(1),c())for(a=L!==3?8:12,o=0;o<a;o++)c()&&(o<6?p(16):p(64))}m();let E=u();if(E===0)u();else if(E===1)for(h(1),f(),f(),n=u(),o=0;o<n;o++)f();m(),h(1);let T=u(),y=u(),S=d(1);S===0&&h(1),h(1),c()&&(e=u(),t=u(),r=u(),s=u());let _=[1,1];if(c()&&c())switch(l()){case 1:_=[1,1];break;case 2:_=[12,11];break;case 3:_=[10,11];break;case 4:_=[16,11];break;case 5:_=[40,33];break;case 6:_=[24,11];break;case 7:_=[20,11];break;case 8:_=[32,11];break;case 9:_=[80,33];break;case 10:_=[18,11];break;case 11:_=[15,11];break;case 12:_=[64,33];break;case 13:_=[160,99];break;case 14:_=[4,3];break;case 15:_=[3,2];break;case 16:_=[2,1];break;case 255:{_=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((T+1)*16-e*2-t*2),height:(2-S)*(y+1)*16-(S?2:4)*(r+s),pixelRatio:_}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},tg=class extends eg{parseAVCPES(e,t,r,s,n){let a=this.parseAVCNALu(e,r.data),o=this.VideoSample,l,d=!1;r.data=null,o&&a.length&&!e.audFound&&(this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"")),a.forEach(u=>{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new ic(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,KT(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new ic(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let T=p.subarray(1,4),y="avc1.";for(let S=0;S<3;S++){let _=T[S].toString(16);_.length<2&&(_="0"+_),y+=_}e.codec=y}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o<r;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(d=o-s-1,c>=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Zt(f.data,t.subarray(0,d)),f.state=0))}o<r?(u=t[o]&31,c=o,h=u,s=0):s=-1}else s=0}if(c>=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Zt(f.data,t))}return e.naluState=s,a}},ig=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new fo(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)r.set(e.subarray(n,n+16),s);return r}getAvcDecryptedUnit(e,t){let r=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(r.subarray(s,s+16),n);return e}decryptAvcSample(e,t,r,s,n){let a=qT(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ut=188,rg=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new tg}static probe(e){let t=i.syncOffset(e);return t>0&&I.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ut*5,t-ut)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ut)if(e[l]===71&&(t-l===ut||e[l+ut]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ut*99,e.length-ut)+1)),n||(n=sg(e,l)===0),n&&o>1&&(a===0&&o>2||l+ut>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:$T[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,T=this._pmtId,y=e.length;if(this.remainderData&&(e=Zt(this.remainderData,e),y=e.length,this.remainderData=null),y<ut&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let S=Math.max(0,i.syncOffset(e));y-=(y-S)%ut,y<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,y,e.buffer.byteLength-y));let _=0;for(let x=S;x<y;x+=ut)if(e[x]===71){let w=!!(e[x+1]&64),M=sg(e,x),k=(e[x+3]&48)>>4,D;if(k>1){if(D=x+5+e[x+4],D===x+ut)continue}else D=x+4;switch(M){case u:w&&(c&&(n=Fn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(D,x+ut)),c.size+=x+ut-D);break;case h:if(w){if(m&&(n=Fn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(D,x+ut)),m.size+=x+ut-D);break;case f:w&&(p&&(n=Fn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(D,x+ut)),p.size+=x+ut-D);break;case 0:w&&(D+=e[D]+1),T=this._pmtId=VR(e,D);break;case T:{w&&(D+=e[D]+1);let U=KR(e,D,this.typeSupported,r);u=U.videoPid,u>0&&(a.pid=u,a.segmentCodec=U.segmentVideoCodec),h=U.audioPid,h>0&&(o.pid=h,o.segmentCodec=U.segmentAudioCodec),f=U.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(I.warn(`MPEG-TS PMT found at ${x} after unknown PID '${g}'. Backtracking to sync byte @${S} to parse all TS packets.`),g=null,x=S-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=M;break}}else _++;if(_>0){let x=new Error(`Found ${_} TS packet/s that do not start with 0x47`);this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:x,reason:x.message})}a.pesData=c,o.pesData=m,l.pesData=p;let L={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(L),L}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=Fn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=Fn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&I.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=Fn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new ig(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Zt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a<o-1&&!tc(n,a);a++);if(a!==r){let c,h=a<o-1;h?c=`AAC PES did not start with ADTS header,offset:${a}`:c="No ADTS header found in AAC PES";let f=new Error(c);if(I.warn(`parsing error: ${c}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,levelRetry:h,error:f,reason:c}),!h)return}a_(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=o_(e.samplerate);l=s.sample.pts+c}else{I.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=l_(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!tc(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){I.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(c_(r,a)){let l=d_(e,r,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseAC3PES(e,t){{let r=t.data,s=t.pts;if(s===void 0){I.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=m_(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){I.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=Ze({},t,{type:this._videoTrack?yi.emsg:yi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function sg(i,e){return((i[e+1]&31)<<8)+i[e+2]}function VR(i,e){return(i[e+10]&31)<<8|i[e+11]}function KR(i,e,t,r){let s={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},n=(i[e+1]&15)<<8|i[e+2],a=e+3+n-4,o=(i[e+10]&15)<<8|i[e+11];for(e+=12+o;e<a;){let l=sg(i,e),d=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){bp("ADTS AAC");break}case 15:s.audioPid===-1&&(s.audioPid=l);break;case 21:s.id3Pid===-1&&(s.id3Pid=l);break;case 219:if(!r){bp("H.264");break}case 27:s.videoPid===-1&&(s.videoPid=l,s.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?I.log("MPEG audio found, not supported in this browser"):s.audioPid===-1&&(s.audioPid=l,s.segmentAudioCodec="mp3");break;case 193:if(!r){bp("AC-3");break}case 129:t.ac3?s.audioPid===-1&&(s.audioPid=l,s.segmentAudioCodec="ac3"):I.log("AC-3 audio found, not supported in this browser");break;case 6:if(s.audioPid===-1&&d>0){let u=e+5,c=d;for(;c>2;){switch(i[u]){case 106:t.ac3!==!0?I.log("AC-3 audio found, not supported in this browser for now"):(s.audioPid=l,s.segmentAudioCodec="ac3");break}let f=i[u+1]+2;u+=f,c-=f}}break;case 194:case 135:I.warn("Unsupported EC-3 in M2TS found");break;case 36:I.warn("Unsupported HEVC in M2TS found");break}e+=d+5}return s}function bp(i){I.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function Fn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Zt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(I.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let m=t.byteLength;if(u)if(u>m){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var ng=class extends po{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=oo(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Hg(t)!==void 0&&f_(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(h_(e,r))return I.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return GR(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return d_(e,t,r,this.basePTS,this.frameIndex)}},rc=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},Cr=Math.pow(2,32)-1,rt=class i{static init(){i.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in i.types)i.types.hasOwnProperty(e)&&(i.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);i.HDLR_TYPES={video:t,audio:r};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);i.STTS=i.STSC=i.STCO=n,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);i.FTYP=i.box(i.types.ftyp,a,l,a,o),i.DINF=i.box(i.types.dinf,i.box(i.types.dref,s))}static box(e,...t){let r=8,s=t.length,n=s;for(;s--;)r+=t[s].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s<n;s++)a.set(t[s],r),r+=t[s].byteLength;return a}static hdlr(e){return i.box(i.types.hdlr,i.HDLR_TYPES[e])}static mdat(e){return i.box(i.types.mdat,e)}static mdhd(e,t){t*=e;let r=Math.floor(t/(Cr+1)),s=Math.floor(t%(Cr+1));return i.box(i.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(Cr+1)),s=Math.floor(t%(Cr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,r[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return i.box(i.types.sdtp,r)}static stbl(e){return i.box(i.types.stbl,i.stsd(e),i.box(i.types.stts,i.STTS),i.box(i.types.stsc,i.STSC),i.box(i.types.stsz,i.STSZ),i.box(i.types.stco,i.STCO))}static avc1(e){let t=[],r=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,r.push(a>>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(Cr+1)),o=Math.floor(r%(Cr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(Cr+1)),a=Math.floor(t%(Cr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=r[o],d=l.duration,u=l.size,c=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Zt(i.FTYP,t)}};rt.types=void 0;rt.HDLR_TYPES=void 0;rt.STTS=void 0;rt.STSC=void 0;rt.STCO=void 0;rt.STSZ=void 0;rt.VMHD=void 0;rt.SMHD=void 0;rt.STSD=void 0;rt.FTYP=void 0;rt.DINF=void 0;var p_=9e4;function Kg(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function qR(i,e,t=1,r=!1){return Kg(i,e,1/t,r)}function ro(i,e=!1){return Kg(i,1e3,1/p_,e)}function YR(i,e=1){return Kg(i,p_,1/e)}var zR=10*1e3,pT=1024,jR=1152,XR=1536,Bn=null,yp=null,Vn=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,Bn===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Bn=a?parseInt(a[1]):0}if(yp===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);yp=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){I.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){I.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){I.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Qt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&I.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,T=t.pid>-1,y=t.samples.length,S=e.samples.length>0,_=o&&y>0||y>1;if((!E||S)&&(!T||_)||this.ISGenerated||o){if(this.ISGenerated){var x,w,M,k;let X=this.videoTrackConfig;X&&(t.width!==X.width||t.height!==X.height||((x=t.pixelRatio)==null?void 0:x[0])!==((w=X.pixelRatio)==null?void 0:w[0])||((M=t.pixelRatio)==null?void 0:M[1])!==((k=X.pixelRatio)==null?void 0:k[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let D=this.isVideoContiguous,U=-1,B;if(_&&(U=QR(t.samples),!D&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,U>0){I.warn(`[mp4-remuxer]: Dropped ${U} out of ${y} video samples due to a missing keyframe`);let X=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(U),t.dropped+=U,g+=(t.samples[0].pts-X)/t.inputTimeScale,B=g}else U===-1&&(I.warn(`[mp4-remuxer]: No keyframe found out of ${y} video samples`),m=!1);if(this.ISGenerated){if(S&&_){let X=this.getVideoStartPts(t.samples),V=(Qt(e.samples[0].pts,X)-X)/t.inputTimeScale;p+=Math.max(0,V),g+=Math.max(0,-V)}if(S){if(e.samplerate||(I.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,T||_||l===te.AUDIO?g:void 0),_){let X=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(I.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,D,X)}}else _&&(d=this.remuxVideo(t,g,D,0));d&&(d.firstKeyFrame=U,d.independent=U!==-1,d.firstKeyFramePTS=B)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=g_(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=v_(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):rt.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:rt.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Qt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let W=t*n,G=a[0].pts-Qt(a[0].dts,a[0].pts);Bn&&u!==null&&Math.abs(W-G-u)<15e3?r=!0:u=W-G}let T=d.baseTime*n/d.timescale;for(let W=0;W<l;W++){let G=a[W];G.pts=Qt(G.pts-T,u),G.dts=Qt(G.dts-T,u),G.dts<a[W>0?W-1:W].dts&&(E=!0)}E&&a.sort(function(W,G){let oe=W.dts-G.dts,Q=W.pts-G.pts;return oe||Q}),f=a[0].dts,m=a[a.length-1].dts;let y=m-f,S=y?Math.round(y/(l-1)):h||e.inputTimeScale/30;if(r){let W=f-u,G=W>S,oe=W<-1;if((G||oe)&&(G?I.warn(`AVC: ${ro(W,!0)} ms (${W}dts) hole between fragments detected at ${t.toFixed(3)}`):I.warn(`AVC: ${ro(-W,!0)} ms (${W}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!oe||u>=a[0].pts||Bn)){f=u;let Q=a[0].pts-W;if(G)a[0].dts=f,a[0].pts=Q;else for(let me=0;me<a.length&&!(a[me].dts>Q);me++)a[me].dts-=W,a[me].pts-=W;I.log(`Video: Initial PTS/DTS adjusted: ${ro(Q,!0)}/${ro(f,!0)}, delta: ${ro(W,!0)} ms`)}}f=Math.max(0,f);let _=0,L=0,x=f;for(let W=0;W<l;W++){let G=a[W],oe=G.units,Q=oe.length,me=0;for(let Pe=0;Pe<Q;Pe++)me+=oe[Pe].data.length;L+=me,_+=Q,G.length=me,G.dts<x?(G.dts=x,x+=S/4|0||1):x=G.dts,p=Math.min(G.pts,p),g=Math.max(G.pts,g)}m=a[l-1].dts;let w=L+4*_+8,M;try{M=new Uint8Array(w)}catch(W){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:W,bytes:w,reason:`fail allocating video mdat ${w}`});return}let k=new DataView(M.buffer);k.setUint32(0,w),M.set(rt.types.mdat,4);let D=!1,U=Number.POSITIVE_INFINITY,B=Number.POSITIVE_INFINITY,X=Number.NEGATIVE_INFINITY,z=Number.NEGATIVE_INFINITY;for(let W=0;W<l;W++){let G=a[W],oe=G.units,Q=0;for(let Be=0,Ke=oe.length;Be<Ke;Be++){let kt=oe[Be],vr=kt.data,tn=kt.data.byteLength;k.setUint32(c,tn),c+=4,M.set(vr,c),c+=tn,Q+=4+tn}let me;if(W<l-1)h=a[W+1].dts-G.dts,me=a[W+1].pts-G.pts;else{let Be=this.config,Ke=W>0?G.dts-a[W-1].dts:S;if(me=W>0?G.pts-a[W-1].pts:S,Be.stretchShortVideoTrack&&this.nextAudioPts!==null){let kt=Math.floor(Be.maxBufferHole*n),vr=(s?p+s*n:this.nextAudioPts)-G.pts;vr>kt?(h=vr-Ke,h<0?h=Ke:D=!0,I.log(`[mp4-remuxer]: It is approximately ${vr/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=Ke}else h=Ke}let Pe=Math.round(G.pts-G.dts);U=Math.min(U,h),X=Math.max(X,h),B=Math.min(B,me),z=Math.max(z,me),o.push(new sc(G.key,h,Q,Pe))}if(o.length){if(Bn){if(Bn<70){let W=o[0].flags;W.dependsOn=2,W.isNonSync=0}}else if(yp&&z-B<X-U&&S/X<.025&&o[0].cts===0){I.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let W=f;for(let G=0,oe=o.length;G<oe;G++){let Q=W+o[G].duration,me=W+o[G].cts;if(G<oe-1){let Pe=Q+o[G+1].cts;o[G].duration=Pe-me}else o[G].duration=G?o[G-1].duration:S;o[G].cts=0,W=Q}}}h=D||!h?S:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let V=rt.moof(e.sequenceNumber++,f,Ze({},e,{samples:o})),se="video",ae={data1:V,data2:M,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:se,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,ae}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return jR;case"ac3":return XR;default:return pT}}remuxAudio(e,t,r,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],m=n!==void 0,p=e.samples,g=h?0:8,E=this.nextAudioPts||-1,T=t*a,y=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(T-E)<9e3||Math.abs(Qt(p[0].pts-y,T)-E)<20*u),p.forEach(function(V){V.pts=Qt(V.pts-y,T)}),!r||E<0){if(p=p.filter(V=>V.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,T):E=p[0].pts}if(e.segmentCodec==="aac"){let V=this.config.maxAudioFramesDrift;for(let se=0,ae=E;se<p.length;se++){let W=p[se],G=W.pts,oe=G-ae,Q=Math.abs(1e3*oe/a);if(oe<=-V*u&&m)se===0&&(I.warn(`Audio frame @ ${(G/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*oe/a)} ms.`),this.nextAudioPts=E=ae=G);else if(oe>=V*u&&Q<zR&&m){let me=Math.round(oe/u);ae=G-me*u,ae<0&&(me--,ae+=u),se===0&&(this.nextAudioPts=E=ae),I.warn(`[mp4-remuxer]: Injecting ${me} audio frame @ ${(ae/a).toFixed(3)}s due to ${Math.round(1e3*oe/a)} ms gap.`);for(let Pe=0;Pe<me;Pe++){let Be=Math.max(ae,0),Ke=rc.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);Ke||(I.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),Ke=W.unit.subarray()),p.splice(se,0,{unit:Ke,pts:Be}),ae+=u,se++}}W.pts=ae,ae+=u}}let S=null,_=null,L,x=0,w=p.length;for(;w--;)x+=p[w].unit.byteLength;for(let V=0,se=p.length;V<se;V++){let ae=p[V],W=ae.unit,G=ae.pts;if(_!==null){let Q=f[V-1];Q.duration=Math.round((G-_)/l)}else if(r&&e.segmentCodec==="aac"&&(G=E),S=G,x>0){x+=g;try{L=new Uint8Array(x)}catch(Q){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:Q,bytes:x,reason:`fail allocating audio mdat ${x}`});return}h||(new DataView(L.buffer).setUint32(0,x),L.set(rt.types.mdat,4))}else return;L.set(W,g);let oe=W.byteLength;g+=oe,f.push(new sc(!0,d,oe,0)),_=G}let M=f.length;if(!M)return;let k=f[f.length-1];this.nextAudioPts=E=_+l*k.duration;let D=h?new Uint8Array(0):rt.moof(e.sequenceNumber++,S/l,Ze({},e,{samples:f}));e.samples=[];let U=S/a,B=E/a,z={data1:D,data2:L,startPTS:U,endPTS:B,startDTS:U,endDTS:B,type:"audio",hasAudio:!0,hasVideo:!1,nb:M};return this.isAudioContiguous=!0,z}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*pT,m=Math.ceil((h-c)/f),p=rc.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(I.warn("[mp4-remuxer]: remux empty Audio"),!p){I.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E<m;E++){let T=c+E*f;g.push({unit:p,pts:T,dts:T})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Qt(i,e){let t;if(e===null)return i;for(e<i?t=-8589934592:t=8589934592;Math.abs(i-e)>4294967296;)i+=t;return i}function QR(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function g_(i,e,t,r){let s=i.samples.length;if(!s)return;let n=i.inputTimeScale;for(let o=0;o<s;o++){let l=i.samples[o];l.pts=Qt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Qt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function v_(i,e,t){let r=i.samples.length;if(!r)return;let s=i.inputTimeScale;for(let a=0;a<r;a++){let o=i.samples[a];o.pts=Qt(o.pts-t.baseTime*s/t.timescale,e*s)/s}i.samples.sort((a,o)=>a.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var sc=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},ag=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(xI(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=WT(e);s.audio&&(t=gT(s.audio,ke.AUDIO)),s.video&&(r=gT(s.video,ke.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:I.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};q(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return I.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=kI(h,m),g=LI(m,h),E=g===null?n:g;(ZR(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&I.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let T=e?E-d.baseTime/d.timescale:u,y=T+p;RI(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=y:(I.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let S=!!m.audio,_=!!m.video,L="";S&&(L+="audio"),_&&(L+="video");let x={data1:h,startPTS:T,startDTS:T,endPTS:y,endDTS:y,type:L,hasAudio:S,hasVideo:_,nb:1,dropped:0};return c.audio=x.type==="audio"?x:void 0,c.video=x.type!=="audio"?x:void 0,c.initSegment=f,c.id3=g_(r,n,d,d),s.samples.length&&(c.text=v_(s,n,d)),c}};function ZR(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function gT(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===ke.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return Yu(t,!1);let r="mp4a.40.5";return I.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return I.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var ur;try{ur=self.performance.now.bind(self.performance)}catch{I.debug("Unable to use Performance API on this environment"),ur=qn==null?void 0:qn.Date.now}var Fu=[{demux:Zp,remux:ag},{demux:rg,remux:Vn},{demux:Qp,remux:Vn},{demux:ng,remux:Vn}];Fu.splice(2,0,{demux:Jp,remux:Vn});var nc=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=ur();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:T,initSegmentData:y}=l,S=JR(a,t);if(S&&S.method==="AES-128"){let w=this.getDecrypter();if(w.isSync()){let M=w.softwareDecrypt(a,S.key.buffer,S.iv.buffer);if(r.part>-1&&(M=w.flush()),!M)return n.executeEnd=ur(),Tp(r);a=new Uint8Array(M)}else return this.decryptionPromise=w.webCryptoDecrypt(a,S.key.buffer,S.iv.buffer).then(M=>{let k=this.push(M,null,r);return this.decryptionPromise=null,k}),this.decryptionPromise}let _=this.needsProbing(u,c);if(_){let w=this.configureTransmuxer(a);if(w)return I.warn(`[transmuxer] ${w.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:w,reason:w.message}),n.executeEnd=ur(),Tp(r)}(u||c||m||_)&&this.resetInitSegment(y,p,g,T,t),(u||m||_)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let L=this.transmux(a,S,f,h,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=ur(),L}flush(e){let t=e.transmuxing;t.executeStart=ur();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=ur(),[Tp(e)];let u=l.flush(o);return Bu(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;I.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=ur()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=Fu.length;h<f;h++){var o;if((o=Fu[h].demux)!=null&&o.probe(e)){a=Fu[h];break}}if(!a)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=a.remux,c=a.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(r,t,s,n)),(!l||!(l instanceof c))&&(this.demuxer=new c(r,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new fo(this.config)),e}};function JR(i,e){let t=null;return i.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var Tp=i=>({remuxResult:{},chunkMeta:i});function Bu(i){return"then"in i&&i.then instanceof Function}var og=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},lg=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},E_={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h<f;h++)m[h]=c[h].fn;return m},o.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0},o.prototype.emit=function(d,u,c,h,f,m){var p=t?t+d:d;if(!this._events[p])return!1;var g=this._events[p],E=arguments.length,T,y;if(g.fn){switch(g.once&&this.removeListener(d,g.fn,void 0,!0),E){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,u),!0;case 3:return g.fn.call(g.context,u,c),!0;case 4:return g.fn.call(g.context,u,c,h),!0;case 5:return g.fn.call(g.context,u,c,h,f),!0;case 6:return g.fn.call(g.context,u,c,h,f,m),!0}for(y=1,T=new Array(E-1);y<E;y++)T[y-1]=arguments[y];g.fn.apply(g.context,T)}else{var S=g.length,_;for(y=0;y<S;y++)switch(g[y].once&&this.removeListener(d,g[y].fn,void 0,!0),E){case 1:g[y].fn.call(g[y].context);break;case 2:g[y].fn.call(g[y].context,u);break;case 3:g[y].fn.call(g[y].context,u,c);break;case 4:g[y].fn.call(g[y].context,u,c,h);break;default:if(!T)for(_=1,T=new Array(E-1);_<E;_++)T[_-1]=arguments[_];g[y].fn.apply(g[y].context,T)}}return!0},o.prototype.on=function(d,u,c){return n(this,d,u,c,!1)},o.prototype.once=function(d,u,c){return n(this,d,u,c,!0)},o.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return a(this,f),this;var m=this._events[f];if(m.fn)m.fn===u&&(!h||m.once)&&(!c||m.context===c)&&a(this,f);else{for(var p=0,g=[],E=m.length;p<E;p++)(m[p].fn!==u||h&&!m[p].once||c&&m[p].context!==c)&&g.push(m[p]);g.length?this._events[f]=g.length===1?g[0]:g:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,i.exports=o})(E_);var ew=E_.exports,qg=zk(ew),ac=class{constructor(e,t,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=r,this.onFlush=s;let a=(u,c)=>{c=c||{},c.frag=this.frag,c.id=this.id,u===v.ERROR&&(this.error=c.error),this.hls.trigger(u,c)};this.observer=new qg,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=Ls(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')},d=navigator.vendor;if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||RR())){try{n.workerPath?(I.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=CR(n.workerPath)):(I.log(`injecting Web Worker for "${t}"`),this.workerContext=wR()),this.onwmsg=h=>this.onWorkerMessage(h);let{worker:c}=this.workerContext;c.addEventListener("message",this.onwmsg),c.onerror=h=>{let f=new Error(`${h.message} (${h.filename}:${h.lineno})`);n.enableWorker=!1,I.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:f})},c.postMessage({cmd:"init",typeSupported:l,vendor:d,id:t,config:JSON.stringify(n)})}catch(c){I.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.resetWorker(),this.error=null,this.transmuxer=new nc(this.observer,l,n,d,t)}return}this.transmuxer=new nc(this.observer,l,n,d,t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),T=!(g&&d.level===g.level),y=g?d.sn-g.sn:-1,S=this.part?d.part-this.part.index:-1,_=y===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),L=!T&&(y===1||y===0&&(S===1||_&&S<=0)),x=self.performance.now();(T||y||n.stats.parsing.start===0)&&(n.stats.parsing.start=x),a&&(S||!L)&&(a.stats.parsing.start=x);let w=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),M=new lg(E,L,l,T,m,w);if(!L||E||w){I.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
1586
1586
  discontinuity: ${E}
1587
1587
  trackSwitch: ${T}
1588
1588
  contiguous: ${L}
1589
1589
  accurateTimeOffset: ${l}
1590
1590
  timeOffset: ${m}
1591
- initSegmentChange: ${w}`);let k=new og(r,s,t,o,u);this.configureTransmuxer(k)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:M},e instanceof ArrayBuffer?[e]:[]);else if(f){let k=f.push(e,p,d,M);Bu(k)?(f.async=!0,k.then(D=>{this.handleTransmuxComplete(D)}).catch(D=>{this.transmuxerError(D,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(k))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);Bu(r)||t.async?(Bu(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data,r=this.hls;switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":I[t.data.logType]&&I[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function E_(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!Yn(i[t].attrs,e[t].attrs))return!1;return!0}function Yn(i,e,t){let r=i["STABLE-RENDITION-ID"];return r&&!t?r===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>i[s]!==e[s])}function dg(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var gT=100,ug=class extends mo{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",te.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===N.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=N.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(gT),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=N.IDLE):(this.loadedmetadata=!1,this.state=N.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case N.IDLE:this.doTickIdle();break;case N.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=N.WAITING_INIT_PTS}break}case N.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=N.IDLE}break}case N.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=N.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=Ue.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Hp(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=N.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=N.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=N.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,ke.AUDIO,te.AUDIO));let d=this.getFwdBufferInfo(l,te.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=N.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,te.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let _=this.getLoadPosition();u&&!Yn(c.attrs,u.attrs)&&(E=_),o.PTSKnown&&_<g&&(d.end>g||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&E<p[p.length-1].start)return;let T=this.getNextFragment(E,o),y=!1;if(T&&this.isLoopLoading(T,E)&&(y=!!T.gap,T=this.getNextFragmentLoopLoading(T,o,d,te.MAIN,m)),!T){this.bufferFlushed=!0;return}let S=h&&T.start>h.end+o.targetduration;if(S||!(h!=null&&h.len)&&d.len){let _=this.getAppendedFrag(T.start,te.MAIN);if(_===null||(y||(y=!!_.gap||!!S&&h.len===0),S&&!y||y&&d.nextStart&&d.nextStart<_.end))return}this.loadFragment(T,a,E)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(r=>new Mr(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(gT):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=N.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=N.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)Ju(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===N.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=N.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new ac(this.hls,te.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,T=new ho(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,T,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new ec,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=N.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==te.AUDIO){if(!this.loadedmetadata&&r.type===te.MAIN){let n=this.videoBuffer||this.media;n&&Ue.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,ft({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(te.AUDIO,t);break;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===ge.AUDIO_TRACK&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==ke.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ke.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===N.ENDED&&(this.state=N.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,te.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:T,endDTS:y}=h;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:g,endPTS:E,startDTS:T,endDTS:y}),l.setElementaryStreamInfo(ke.AUDIO,g,E,T,y),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=Ze({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=Ze({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===ht.NOT_LOADED||s===ht.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=N.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&Ju(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,ft({},e))}},cg=class extends co{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=ji(l,o,Nn);if(h>-1)n=o[h];else{let f=ji(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===ge.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&Wn(e,s,Nn))return s;let n=ji(e,this.tracksInGroup,Nn);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=bR(e,t.levels,r,a,Nn);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=ji(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,ft({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(!(this.selectDefaultTrack&&!s.default)&&(!e||Wn(e,s,Nn)))return r}if(e){let{name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(Wn({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,Nn))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE"]))return d}}return-1}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${r} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(v.AUDIO_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}},vT=500,hg=class extends mo{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",te.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=N.IDLE,this.setInterval(vT),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:r,success:s}=t;if(this.fragPrevious=r,this.state=N.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=r.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(r,n,te.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===te.MAIN){var r;(r=this.media)!=null&&r.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let r=t.frag;(r==null?void 0:r.type)===te.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==N.STOPPED&&(this.state=N.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&E_(this.levels,t)){this.levels=t.map(r=>new Mr(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Mr(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,te.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(vT)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[s];if(o>=n.length||o!==s||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(Ju(a,c),d=a.fragments[0].start):h&&(d=h.start,$p(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,$p(a,d))}}l.details=a,this.levelLastLoaded=l,!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===N.IDLE&&(Zu(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=N.IDLE})}}doTick(){if(!this.media){this.state=N.IDLE;return}if(this.state===N.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=Ue.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,te.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(o<m){let E=s.maxFragLookUpTolerance,T=o>m-E?0:E;p=Zu(g,h,Math.max(h[0].start,o),T),!p&&g&&g.start<h[0].start&&(p=h[0])}else p=h[f-1];if(!p)return;if(p=this.mapToInitFragWhenRequired(p),p.sn!=="initSegment"){let E=p.sn-u.startSN,T=h[E-1];T&&T.cc===p.cc&&this.fragmentTracker.getState(T)===ht.NOT_LOADED&&(p=T)}this.fragmentTracker.getState(p)===ht.NOT_LOADED&&this.loadFragment(p,r,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,r){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,r))}get mediaBufferTimeRanges(){return new fg(this.tracksBuffered[this.currentTrackId]||[])}},fg=class{constructor(e){this.buffered=void 0;let t=(r,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},mg=class extends co{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=Ou(this.media.textTracks);for(let n=0;n<r.length;n++)if(r[n].mode==="hidden")t=r[n];else if(r[n].mode==="showing"){t=r[n];break}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),Ou(this.media.textTracks).forEach(t=>{Hn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=ji(o,a);if(u>-1)n=a[u];else{let c=ji(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(r&&!n.default||!r&&!e)&&(!e||Wn(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE"]))return s}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(dg(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===ge.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let r=this.currentTrack;if(r&&Wn(e,r))return r;let s=ji(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=ji(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=Ou(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>dg(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!q(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},pg=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){I.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},ET=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,gg=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&I.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=BI(Ls(e.config.preferManagedMediaSource)),this.log=I.log.bind(I,t),this.warn=I.warn.bind(I,t),this.error=I.error.bind(I,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new pg(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=Ls(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,bT(r),tw(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&bT(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=Ky(l.codec,l.levelCodec),p=m==null?void 0:m.replace(ET,"$1"),g=Ky(u,c),E=(o=g)==null?void 0:o.replace(ET,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=Yu(g,this.appendSource));let T=`${h};codecs=${g}`;this.appendChangeType(a,T),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,T={execute:()=>{if(c.executeStart=self.performance.now(),g){let y=this.sourceBuffer[o];if(y){let S=E-y.timestampOffset;Math.abs(S)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${S}) sn: ${l.sn})`),y.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let y=self.performance.now();c.executeEnd=c.end=y,f.first===0&&(f.first=y),m&&m.first===0&&(m.first=y);let{sourceBuffer:S}=this,_={};for(let L in S)_[L]=Ue.getBuffered(S[L]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:_})},onError:y=>{let S={type:ie.MEDIA_ERROR,parent:l.type,details:C.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:y,err:y,fatal:!1};if(y.code===DOMException.QUOTA_EXCEEDED_ERR)S.details=C.BUFFER_FULL_ERROR;else{let _=++this.appendErrors[o];S.details=C.BUFFER_APPEND_ERROR,this.warn(`Failed ${_}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),_>=r.config.appendErrorMaxRetry&&(S.fatal=!0)}r.trigger(v.ERROR,S)}};s.append(T,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[ke.AUDIOVIDEO]?n.push("audiovideo"):(a[ke.AUDIO]&&n.push("audio"),a[ke.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(q(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(q(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=Ue.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${o} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:o})}}})}flushFrontBuffer(e,t,r){let{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach(a=>{let o=s[a];if(o){let l=Ue.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=q(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!q(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=Yu(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e;let t=((e=this.media)==null?void 0:e.firstChild)||this.media;return t==null?void 0:t.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=q(s.duration)?s.duration:1/0,u=q(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function bT(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function tw(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var yT={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},b_=function(e){let t=e;return yT.hasOwnProperty(e)&&(t=yT[e]),String.fromCharCode(t)},Ei=15,dr=100,iw={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},rw={17:2,18:4,21:6,22:8,23:10,19:13,20:15},sw={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},nw={25:2,26:4,29:6,30:8,31:10,27:13,28:15},aw=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],vg=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;I.log(`${this.time} [${e}] ${r}`)}}},Ts=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},oc=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let r=0;r<t.length;r++){let s=t[r];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},Eg=class{constructor(){this.uchar=" ",this.penState=new oc}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},bg=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new oc,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<dr;t++)this.chars.push(new Eg);this.logger=e}equals(e){for(let t=0;t<dr;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<dr;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<dr;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>dr&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=dr)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=b_(e);if(this.pos>=dr){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<dr;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let r=0;r<dr;r++){let s=this.chars[r].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},ao=class{constructor(e){this.rows=[],this.currRow=Ei-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<Ei;t++)this.rows.push(new bg(e));this.logger=e}reset(){for(let e=0;e<Ei;e++)this.rows[e].clear();this.currRow=Ei-1}equals(e){let t=!0;for(let r=0;r<Ei;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<Ei;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<Ei;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<Ei;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let r=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);r.setCursor(e.indent),e.color=r.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n<Ei;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?r="["+t.join(" | ")+"]":r=t.join(`
1592
- `)),r}getTextAndFormat(){return this.rows}},lc=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new ao(r),this.nonDisplayedMemory=new ao(r),this.lastOutputScreen=new ao(r),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},dc=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=_T(),this.logger=void 0;let s=this.logger=new vg;this.channels=[null,new lc(e,t,s),new lc(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){let r,s,n,a=!1;this.logger.time=e;for(let o=0;o<t.length;o+=2)if(s=t[o]&127,n=t[o+1]&127,!(s===0&&n===0)){if(this.logger.log(3,"["+Ts([t[o],t[o+1]])+"] -> ("+Ts([s,n])+")"),r=this.parseCmd(s,n),r||(r=this.parseMidrow(s,n)),r||(r=this.parsePAC(s,n)),r||(r=this.parseBackgroundAttributes(s,n)),!r&&(a=this.parseChars(s,n),a)){let l=this.currentChannel;l&&l>0?this.channels[l].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!r&&!a&&this.logger.log(2,"Couldn't parse cleaned data "+Ts([s,n])+" orig: "+Ts([t[o],t[o+1]]))}}parseCmd(e,t){let{cmdHistory:r}=this,s=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,n=(e===23||e===31)&&t>=33&&t<=35;if(!(s||n))return!1;if(TT(e,t,r))return $n(null,null,r),this.logger.log(3,"Repeated command ("+Ts([e,t])+") is dropped"),!0;let a=e===20||e===21||e===23?1:2,o=this.channels[a];return e===20||e===21||e===28||e===29?t===32?o.ccRCL():t===33?o.ccBS():t===34?o.ccAOF():t===35?o.ccAON():t===36?o.ccDER():t===37?o.ccRU(2):t===38?o.ccRU(3):t===39?o.ccRU(4):t===40?o.ccFON():t===41?o.ccRDC():t===42?o.ccTR():t===43?o.ccRTD():t===44?o.ccEDM():t===45?o.ccCR():t===46?o.ccENM():t===47&&o.ccEOC():o.ccTO(t-32),$n(e,t,r),this.currentChannel=a,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,"MIDROW ("+Ts([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=this.cmdHistory,n=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(e===16||e===24)&&t>=64&&t<=95;if(!(n||a))return!1;if(TT(e,t,s))return $n(null,null,s),!0;let o=e<=23?1:2;t>=64&&t<=95?r=o===1?iw[e]:sw[e]:r=o===1?rw[e]:nw[e];let l=this.channels[o];return l?(l.setPAC(this.interpretPAC(r,t)),$n(e,t,s),this.currentChannel=o,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,"Special char '"+b_(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);if(s){let a=Ts(s);this.logger.log(3,"Char codes = "+a.join(",")),$n(e,t,this.cmdHistory)}return s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=aw[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),$n(e,t,this.cmdHistory),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}this.cmdHistory=_T()}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let r=this.channels[t];r&&r.cueSplitAtTime(e)}}};function $n(i,e,t){t.a=i,t.b=e}function TT(i,e,t){return t.a===i&&t.b===e}function _T(){return{a:null,b:null}}var Gn=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Yg=function(){if(qn!=null&&qn.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)o[c]=u[c]}return o}function a(o,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,m=o,p=l,g=d,E=null,T="",y=!0,S="auto",_="start",L=50,x="middle",w=50,M="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(k){h=""+k}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(k){f=!!k}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(k){if(typeof k!="number")throw new TypeError("Start time must be set to a number.");m=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(k){if(typeof k!="number")throw new TypeError("End time must be set to a number.");p=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(k){g=""+k,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(k){E=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return T},set:function(k){let D=r(k);if(D===!1)throw new SyntaxError("An invalid or illegal string was specified.");T=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return y},set:function(k){y=!!k,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return S},set:function(k){if(typeof k!="number"&&k!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");S=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return _},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");_=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return L},set:function(k){if(k<0||k>100)throw new Error("Position must be between 0 and 100.");L=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return x},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");x=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return w},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");w=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return M},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");M=D,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),yg=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function y_(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var Tg=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s<r.length;++s)if(t===r[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1}};function T_(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var _g=new Yg(0,0,""),Du=_g.align==="middle"?"middle":"center";function ow(i,e,t){let r=i;function s(){let o=y_(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new Tg;T_(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",Du,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",Du,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",Du,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&_g.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",Du);let c=d.get("position","auto");c==="auto"&&_g.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function __(i){return i.replace(/<br(?: \/)?>/gi,`
1593
- `)}var Ag=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new yg,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=__(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
1591
+ initSegmentChange: ${w}`);let k=new og(r,s,t,o,u);this.configureTransmuxer(k)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:M},e instanceof ArrayBuffer?[e]:[]);else if(f){let k=f.push(e,p,d,M);Bu(k)?(f.async=!0,k.then(D=>{this.handleTransmuxComplete(D)}).catch(D=>{this.transmuxerError(D,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(k))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);Bu(r)||t.async?(Bu(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data,r=this.hls;switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":I[t.data.logType]&&I[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function b_(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!Yn(i[t].attrs,e[t].attrs))return!1;return!0}function Yn(i,e,t){let r=i["STABLE-RENDITION-ID"];return r&&!t?r===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>i[s]!==e[s])}function dg(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var vT=100,ug=class extends mo{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",te.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===N.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=N.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(vT),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=N.IDLE):(this.loadedmetadata=!1,this.state=N.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case N.IDLE:this.doTickIdle();break;case N.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=N.WAITING_INIT_PTS}break}case N.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=N.IDLE}break}case N.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=N.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=Ue.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Hp(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=N.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=N.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=N.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,ke.AUDIO,te.AUDIO));let d=this.getFwdBufferInfo(l,te.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=N.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,te.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let _=this.getLoadPosition();u&&!Yn(c.attrs,u.attrs)&&(E=_),o.PTSKnown&&_<g&&(d.end>g||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&E<p[p.length-1].start)return;let T=this.getNextFragment(E,o),y=!1;if(T&&this.isLoopLoading(T,E)&&(y=!!T.gap,T=this.getNextFragmentLoopLoading(T,o,d,te.MAIN,m)),!T){this.bufferFlushed=!0;return}let S=h&&T.start>h.end+o.targetduration;if(S||!(h!=null&&h.len)&&d.len){let _=this.getAppendedFrag(T.start,te.MAIN);if(_===null||(y||(y=!!_.gap||!!S&&h.len===0),S&&!y||y&&d.nextStart&&d.nextStart<_.end))return}this.loadFragment(T,a,E)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(r=>new Mr(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(vT):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=N.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=N.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)Ju(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===N.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=N.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new ac(this.hls,te.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,T=new ho(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,T,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new ec,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=N.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==te.AUDIO){if(!this.loadedmetadata&&r.type===te.MAIN){let n=this.videoBuffer||this.media;n&&Ue.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,ft({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(te.AUDIO,t);break;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===ge.AUDIO_TRACK&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==ke.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ke.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===N.ENDED&&(this.state=N.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,te.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:T,endDTS:y}=h;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:g,endPTS:E,startDTS:T,endDTS:y}),l.setElementaryStreamInfo(ke.AUDIO,g,E,T,y),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=Ze({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=Ze({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===ht.NOT_LOADED||s===ht.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=N.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&Ju(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,ft({},e))}},cg=class extends co{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=ji(l,o,Nn);if(h>-1)n=o[h];else{let f=ji(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===ge.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&Wn(e,s,Nn))return s;let n=ji(e,this.tracksInGroup,Nn);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=bR(e,t.levels,r,a,Nn);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=ji(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,ft({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(!(this.selectDefaultTrack&&!s.default)&&(!e||Wn(e,s,Nn)))return r}if(e){let{name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(Wn({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,Nn))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE"]))return d}}return-1}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${r} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(v.AUDIO_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}},ET=500,hg=class extends mo{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",te.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=N.IDLE,this.setInterval(ET),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:r,success:s}=t;if(this.fragPrevious=r,this.state=N.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=r.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(r,n,te.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===te.MAIN){var r;(r=this.media)!=null&&r.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let r=t.frag;(r==null?void 0:r.type)===te.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==N.STOPPED&&(this.state=N.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&b_(this.levels,t)){this.levels=t.map(r=>new Mr(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Mr(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,te.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(ET)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[s];if(o>=n.length||o!==s||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(Ju(a,c),d=a.fragments[0].start):h&&(d=h.start,$p(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,$p(a,d))}}l.details=a,this.levelLastLoaded=l,!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===N.IDLE&&(Zu(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=N.IDLE})}}doTick(){if(!this.media){this.state=N.IDLE;return}if(this.state===N.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=Ue.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,te.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(o<m){let E=s.maxFragLookUpTolerance,T=o>m-E?0:E;p=Zu(g,h,Math.max(h[0].start,o),T),!p&&g&&g.start<h[0].start&&(p=h[0])}else p=h[f-1];if(!p)return;if(p=this.mapToInitFragWhenRequired(p),p.sn!=="initSegment"){let E=p.sn-u.startSN,T=h[E-1];T&&T.cc===p.cc&&this.fragmentTracker.getState(T)===ht.NOT_LOADED&&(p=T)}this.fragmentTracker.getState(p)===ht.NOT_LOADED&&this.loadFragment(p,r,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,r){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,r))}get mediaBufferTimeRanges(){return new fg(this.tracksBuffered[this.currentTrackId]||[])}},fg=class{constructor(e){this.buffered=void 0;let t=(r,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},mg=class extends co{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=Ou(this.media.textTracks);for(let n=0;n<r.length;n++)if(r[n].mode==="hidden")t=r[n];else if(r[n].mode==="showing"){t=r[n];break}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),Ou(this.media.textTracks).forEach(t=>{Hn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=ji(o,a);if(u>-1)n=a[u];else{let c=ji(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(r&&!n.default||!r&&!e)&&(!e||Wn(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE"]))return s}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(dg(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===ge.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let r=this.currentTrack;if(r&&Wn(e,r))return r;let s=ji(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=ji(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=Ou(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>dg(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!q(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},pg=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){I.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},bT=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,gg=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&I.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=BI(Ls(e.config.preferManagedMediaSource)),this.log=I.log.bind(I,t),this.warn=I.warn.bind(I,t),this.error=I.error.bind(I,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new pg(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=Ls(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,yT(r),tw(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&yT(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=qy(l.codec,l.levelCodec),p=m==null?void 0:m.replace(bT,"$1"),g=qy(u,c),E=(o=g)==null?void 0:o.replace(bT,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=Yu(g,this.appendSource));let T=`${h};codecs=${g}`;this.appendChangeType(a,T),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,T={execute:()=>{if(c.executeStart=self.performance.now(),g){let y=this.sourceBuffer[o];if(y){let S=E-y.timestampOffset;Math.abs(S)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${S}) sn: ${l.sn})`),y.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let y=self.performance.now();c.executeEnd=c.end=y,f.first===0&&(f.first=y),m&&m.first===0&&(m.first=y);let{sourceBuffer:S}=this,_={};for(let L in S)_[L]=Ue.getBuffered(S[L]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:_})},onError:y=>{let S={type:ie.MEDIA_ERROR,parent:l.type,details:C.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:y,err:y,fatal:!1};if(y.code===DOMException.QUOTA_EXCEEDED_ERR)S.details=C.BUFFER_FULL_ERROR;else{let _=++this.appendErrors[o];S.details=C.BUFFER_APPEND_ERROR,this.warn(`Failed ${_}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),_>=r.config.appendErrorMaxRetry&&(S.fatal=!0)}r.trigger(v.ERROR,S)}};s.append(T,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[ke.AUDIOVIDEO]?n.push("audiovideo"):(a[ke.AUDIO]&&n.push("audio"),a[ke.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(q(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(q(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=Ue.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${o} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:o})}}})}flushFrontBuffer(e,t,r){let{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach(a=>{let o=s[a];if(o){let l=Ue.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=q(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!q(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=Yu(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e;let t=((e=this.media)==null?void 0:e.firstChild)||this.media;return t==null?void 0:t.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=q(s.duration)?s.duration:1/0,u=q(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function yT(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function tw(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var TT={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},y_=function(e){let t=e;return TT.hasOwnProperty(e)&&(t=TT[e]),String.fromCharCode(t)},Ei=15,dr=100,iw={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},rw={17:2,18:4,21:6,22:8,23:10,19:13,20:15},sw={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},nw={25:2,26:4,29:6,30:8,31:10,27:13,28:15},aw=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],vg=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;I.log(`${this.time} [${e}] ${r}`)}}},Ts=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},oc=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let r=0;r<t.length;r++){let s=t[r];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},Eg=class{constructor(){this.uchar=" ",this.penState=new oc}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},bg=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new oc,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<dr;t++)this.chars.push(new Eg);this.logger=e}equals(e){for(let t=0;t<dr;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<dr;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<dr;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>dr&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=dr)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=y_(e);if(this.pos>=dr){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<dr;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let r=0;r<dr;r++){let s=this.chars[r].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},ao=class{constructor(e){this.rows=[],this.currRow=Ei-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<Ei;t++)this.rows.push(new bg(e));this.logger=e}reset(){for(let e=0;e<Ei;e++)this.rows[e].clear();this.currRow=Ei-1}equals(e){let t=!0;for(let r=0;r<Ei;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<Ei;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<Ei;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<Ei;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let r=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);r.setCursor(e.indent),e.color=r.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n<Ei;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?r="["+t.join(" | ")+"]":r=t.join(`
1592
+ `)),r}getTextAndFormat(){return this.rows}},lc=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new ao(r),this.nonDisplayedMemory=new ao(r),this.lastOutputScreen=new ao(r),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},dc=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=AT(),this.logger=void 0;let s=this.logger=new vg;this.channels=[null,new lc(e,t,s),new lc(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){let r,s,n,a=!1;this.logger.time=e;for(let o=0;o<t.length;o+=2)if(s=t[o]&127,n=t[o+1]&127,!(s===0&&n===0)){if(this.logger.log(3,"["+Ts([t[o],t[o+1]])+"] -> ("+Ts([s,n])+")"),r=this.parseCmd(s,n),r||(r=this.parseMidrow(s,n)),r||(r=this.parsePAC(s,n)),r||(r=this.parseBackgroundAttributes(s,n)),!r&&(a=this.parseChars(s,n),a)){let l=this.currentChannel;l&&l>0?this.channels[l].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!r&&!a&&this.logger.log(2,"Couldn't parse cleaned data "+Ts([s,n])+" orig: "+Ts([t[o],t[o+1]]))}}parseCmd(e,t){let{cmdHistory:r}=this,s=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,n=(e===23||e===31)&&t>=33&&t<=35;if(!(s||n))return!1;if(_T(e,t,r))return $n(null,null,r),this.logger.log(3,"Repeated command ("+Ts([e,t])+") is dropped"),!0;let a=e===20||e===21||e===23?1:2,o=this.channels[a];return e===20||e===21||e===28||e===29?t===32?o.ccRCL():t===33?o.ccBS():t===34?o.ccAOF():t===35?o.ccAON():t===36?o.ccDER():t===37?o.ccRU(2):t===38?o.ccRU(3):t===39?o.ccRU(4):t===40?o.ccFON():t===41?o.ccRDC():t===42?o.ccTR():t===43?o.ccRTD():t===44?o.ccEDM():t===45?o.ccCR():t===46?o.ccENM():t===47&&o.ccEOC():o.ccTO(t-32),$n(e,t,r),this.currentChannel=a,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,"MIDROW ("+Ts([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=this.cmdHistory,n=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(e===16||e===24)&&t>=64&&t<=95;if(!(n||a))return!1;if(_T(e,t,s))return $n(null,null,s),!0;let o=e<=23?1:2;t>=64&&t<=95?r=o===1?iw[e]:sw[e]:r=o===1?rw[e]:nw[e];let l=this.channels[o];return l?(l.setPAC(this.interpretPAC(r,t)),$n(e,t,s),this.currentChannel=o,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,"Special char '"+y_(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);if(s){let a=Ts(s);this.logger.log(3,"Char codes = "+a.join(",")),$n(e,t,this.cmdHistory)}return s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=aw[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),$n(e,t,this.cmdHistory),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}this.cmdHistory=AT()}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let r=this.channels[t];r&&r.cueSplitAtTime(e)}}};function $n(i,e,t){t.a=i,t.b=e}function _T(i,e,t){return t.a===i&&t.b===e}function AT(){return{a:null,b:null}}var Gn=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Yg=function(){if(qn!=null&&qn.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)o[c]=u[c]}return o}function a(o,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,m=o,p=l,g=d,E=null,T="",y=!0,S="auto",_="start",L=50,x="middle",w=50,M="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(k){h=""+k}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(k){f=!!k}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(k){if(typeof k!="number")throw new TypeError("Start time must be set to a number.");m=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(k){if(typeof k!="number")throw new TypeError("End time must be set to a number.");p=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(k){g=""+k,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(k){E=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return T},set:function(k){let D=r(k);if(D===!1)throw new SyntaxError("An invalid or illegal string was specified.");T=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return y},set:function(k){y=!!k,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return S},set:function(k){if(typeof k!="number"&&k!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");S=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return _},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");_=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return L},set:function(k){if(k<0||k>100)throw new Error("Position must be between 0 and 100.");L=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return x},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");x=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return w},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");w=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return M},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");M=D,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),yg=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function T_(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var Tg=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s<r.length;++s)if(t===r[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1}};function __(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var _g=new Yg(0,0,""),Du=_g.align==="middle"?"middle":"center";function ow(i,e,t){let r=i;function s(){let o=T_(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new Tg;__(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",Du,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",Du,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",Du,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&_g.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",Du);let c=d.get("position","auto");c==="auto"&&_g.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function A_(i){return i.replace(/<br(?: \/)?>/gi,`
1593
+ `)}var Ag=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new yg,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=A_(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
1594
1594
  `;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
1595
- `&&++a,t.buffer=n.slice(a),o}function s(n){T_(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=r();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=r(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new Yg(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{ow(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1595
+ `&&++a,t.buffer=n.slice(a),o}function s(n){__(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=r();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=r(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new Yg(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{ow(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1596
1596
  `),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
1597
1597
 
1598
1598
  `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},lw=/\r\n|\n\r|\n|\r/g,_p=function(e,t,r=0){return e.slice(r,r+t.length)===t},dw=function(e){let t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!q(t)||!q(r)||!q(s)||!q(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},Ap=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function zg(i,e,t){return Ap(i.toString())+Ap(e.toString())+Ap(t)}var uw=function(e,t,r){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=r};function cw(i,e,t,r,s,n,a){let o=new Ag,l=Xi(new Uint8Array(i)).trim().replace(lw,`
1599
1599
  `).split(`
1600
1600
  `),d=[],u=e?YR(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],T=t.ccOffset,y=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?T=t.ccOffset=E.start:uw(t,r,y)),y){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}T=y-t.presentationOffset}let S=g.endTime-g.startTime,_=Qt((g.startTime+T-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(_,0),g.endTime=Math.max(_+S,0);let L=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(L)),g.id||(g.id=zg(g.startTime,g.endTime,L)),g.endTime>0&&d.push(g)},o.onparsingerror=function(g){m=g},o.onflush=function(){if(m){a(m);return}n(d)},l.forEach(g=>{if(p)if(_p(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{_p(E,"LOCAL:")?c=E.slice(6):_p(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=dw(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+`
1601
- `)}),o.flush()}var Sp="stpp.ttml.im1t",A_=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,S_=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,hw={left:"start",center:"center",right:"end",start:"start",end:"end"};function AT(i,e,t,r){let s=ne(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Xi(o)),a=qR(e.baseTime,1,e.timescale);try{n.forEach(o=>t(fw(o,a)))}catch(o){r(o)}}function fw(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=ST(xp(s,"styling","style")),d=ST(xp(s,"layout","region")),u=xp(s,"body","[begin]");return[].map.call(u,c=>{let h=x_(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=kp(c.getAttribute("begin"),a),m=kp(c.getAttribute("dur"),a),p=kp(c.getAttribute("end"),a);if(f===null)throw xT(c);if(p===null){if(m===null)throw xT(c);p=f+m}let g=new Yg(f-e,p-e,h);g.id=zg(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],T=l[c.getAttribute("style")],y=mw(E,T,l),{textAlign:S}=y;if(S){let _=hw[S];_&&(g.lineAlign=_),g.align=S}return Ze(g,y),g}).filter(c=>c!==null)}function xp(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function ST(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function x_(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
1602
- `:(n=r.childNodes)!=null&&n.length?x_(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function mw(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=Lp(e,r,l)||Lp(i,r,l)||Lp(s,r,l);return d&&(o[l]=d),o},{})}function Lp(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function xT(i){return new Error(`Could not parse ttml timestamp ${i}`)}function kp(i,e){if(!i)return null;let t=y_(i);return t===null&&(A_.test(i)?t=pw(i,e):S_.test(i)&&(t=gw(i,e))),t}function pw(i,e){let t=A_.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function gw(i,e){let t=S_.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var Sg=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=kT(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new Gn(this,"textTrack1"),t=new Gn(this,"textTrack2"),r=new Gn(this,"textTrack3"),s=new Gn(this,"textTrack4");this.cea608Parser1=new dc(1,e,t),this.cea608Parser2=new dc(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=vw(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s<r.textTracks.length;s++){let n=r.textTracks[s];if(LT(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:r,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)r[e]=o,Hn(r[e]),zT(r[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,r[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let r=t.label,s={_id:e,label:r,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,r){let s=this.media;if(s)return s.addTextTrack(e,t,r)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Hn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=kT(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;r<t.length;r++)Hn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===Sp);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(E_(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?Ou(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;h<o.length;h++)if(o[h]&&LT(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)Hn(u);else{let c=L_(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled")}u&&this.textTracks.push(u)}),o!=null&&o.length){let l=o.filter(d=>d!==null).map(d=>d.label);l.length&&I.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s,lastCc:n,lastSn:a,lastPartIndex:o}=this;if(!(!this.enabled||!r||!s)&&t.frag.type===te.MAIN){var l,d;let{cc:u,sn:c}=t.frag,h=(l=t==null||(d=t.part)==null?void 0:d.index)!=null?l:-1;c===a+1||c===a&&h===o+1||u===n||(r.reset(),s.reset()),this.lastCc=u,this.lastSn=c,this.lastPartIndex=h}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===te.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===Sp?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;AT(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{I.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Zt(r.initSegment.data,new Uint8Array(s)):s;cw(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),I.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||AT(t,this.initPTS[e.cc],()=>{r.textCodec=Sp,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>jT(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===te.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===te.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);r.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:r,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<r)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Op(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Op(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;n<r;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let u=3&a;(u===0||u===1)&&(t[u].push(o),t[u].push(l))}}return t}};function L_(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function LT(i,e){return!!i&&i.kind===L_(e)&&dg(e,i)}function vw(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function kT(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var xg=class i{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&q(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&I.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o<e.length;o+=1){let l=e[o];if((l.width>=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},Lg=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;I.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},Mu="[eme]",uc=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=I.debug.bind(I,Mu),this.log=I.log.bind(I,Mu),this.warn=I.warn.bind(I,Mu),this.error=I.error.bind(I,Mu),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Fe.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof Pt?o(c):o(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return OT===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=cI(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${Yi.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Yi.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Yi.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
1603
- } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=up(this.config),n=e.map(Fy).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=By(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Pt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=Fy(e.keyFormat),n=s?[s]:up(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=up(this.config)),e.length===0)throw new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),r===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[Fe.FAIRPLAY]){let u=it(new Uint8Array(r));try{let c=Bg(JSON.parse(u).sinf),h=WT(new Uint8Array(c));if(!h)return;s=h.subarray(8,24),n=Fe.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let u=NI(r);if(u===null)return;u.version===0&&u.systemId===PT.WIDEVINE&&u.data&&(s=u.data.subarray(8,24)),n=uI(u.systemId)}if(!n||!s)return;let a=Yi.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let u=0;u<l.length;u++){let c=l[u],h=c.decryptdata;if(h.pssh||!h.keyId)continue;let f=Yi.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(r),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(c,t,r,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:u,mediaKeys:c})=>{var h;this.throwIfDestroyed();let f=new lo("ISO-23001-7",a,(h=By(u))!=null?h:"");return f.pssh=new Uint8Array(r),f.keyId=s,this.attemptSetMediaKeys(u,c).then(()=>{this.throwIfDestroyed();let m=this.createMediaKeySessionContext({decryptdata:f,keySystem:u,mediaKeys:c});return this.generateRequestWithPreferredKeySession(m,t,r,"encrypted-event-no-match")})})),d.catch(u=>this.handleError(u))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new qg,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),u.emit("error",T)}):g==="license-release"?e.keySystem===Fe.FAIRPLAY&&(this.updateKeySession(e,Dp("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Yi.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${Yi.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:ft({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c<h;c++){var a,o;u=n[c];let f=(a=u.querySelector("name"))==null?void 0:a.textContent,m=(o=u.querySelector("value"))==null?void 0:o.textContent;f&&m&&e.setRequestHeader(f,m)}}let l=s.querySelector("Challenge"),d=l==null?void 0:l.textContent;if(!d)throw new Error("Cannot find <Challenge> in key message");return Dp(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Fe.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},lo.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};uc.CDMCleanupPromise=void 0;var Pt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},St;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(St||(St={}));var kg;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(kg||(kg={}));var Ss;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(Ss||(Ss={}));var Ew={[Ss.OBJECT]:["br","d","ot","tb"],[Ss.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[Ss.SESSION]:["cid","pr","sf","sid","st","v"],[Ss.STATUS]:["bs","rtp"]},go=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},cc=class{constructor(e){this.description=void 0,this.description=e}},bw="Dict";function yw(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function Tw(i,e,t,r){return new Error(`failed to ${i} "${yw(e)}" as ${t}`,{cause:r})}var IT="Bare Item",_w="Boolean",Aw="Byte Sequence",Sw="Decimal",xw="Integer";function Lw(i){return i<-999999999999999||999999999999999<i}var kw=/[\x00-\x1f\x7f]+/,Iw="Token",Rw="Key";function Qi(i,e,t){return Tw("serialize",i,e,t)}function ww(i){if(typeof i!="boolean")throw Qi(i,_w);return i?"?1":"?0"}function Cw(i){return btoa(String.fromCharCode(...i))}function Dw(i){if(ArrayBuffer.isView(i)===!1)throw Qi(i,Aw);return`:${Cw(i)}:`}function k_(i){if(Lw(i))throw Qi(i,xw);return i.toString()}function Mw(i){return`@${k_(i.getTime()/1e3)}`}function I_(i,e){if(i<0)return-I_(-i,e);let t=Math.pow(10,e);if(Math.abs(i*t%1-.5)<Number.EPSILON){let s=Math.floor(i*t);return(s%2===0?s:s+1)/t}else return Math.round(i*t)/t}function Pw(i){let e=I_(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Qi(i,Sw);let t=e.toString();return t.includes(".")?t:`${t}.0`}var Ow="String";function Nw(i){if(kw.test(i))throw Qi(i,Ow);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Uw(i){return i.description||i.toString().slice(7,-1)}function RT(i){let e=Uw(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Qi(e,Iw);return e}function Ig(i){switch(typeof i){case"number":if(!q(i))throw Qi(i,IT);return Number.isInteger(i)?k_(i):Pw(i);case"string":return Nw(i);case"symbol":return RT(i);case"boolean":return ww(i);case"object":if(i instanceof Date)return Mw(i);if(i instanceof Uint8Array)return Dw(i);if(i instanceof cc)return RT(i);default:throw Qi(i,IT)}}function Rg(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Qi(i,Rw);return i}function jg(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${Rg(e)}`:`;${Rg(e)}=${Ig(t)}`).join("")}function R_(i){return i instanceof go?`${Ig(i.value)}${jg(i.params)}`:Ig(i)}function Fw(i){return`(${i.value.map(R_).join(" ")})${jg(i.params)}`}function Bw(i,e={whitespace:!0}){if(typeof i!="object")throw Qi(i,bw);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof go||(n=new go(n));let a=Rg(s);return n.value===!0?a+=jg(n.params):(a+="=",Array.isArray(n.value)?a+=Fw(n):a+=R_(n)),a}).join(`,${r}`)}function $w(i,e){return Bw(i,e)}var Hw=i=>i==="ot"||i==="sf"||i==="st",Gw=i=>typeof i=="number"?q(i):i!=null&&i!==""&&i!==!1;function Ww(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function Vw(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var $u=i=>Math.round(i),Kw=(i,e)=>(e!=null&&e.baseUrl&&(i=Ww(i,e.baseUrl)),encodeURIComponent(i)),Pu=i=>$u(i/100)*100,qw={br:$u,d:$u,bl:Pu,dl:Pu,mtp:Pu,nor:Kw,rtp:Pu,tb:$u};function Yw(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=Ze({},qw,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||Gw(o)&&(Hw(a)&&typeof o=="string"&&(o=new cc(o)),t[a]=o))}),t}function w_(i,e={}){return i?$w(Yw(i,e),Ze({whitespace:!1},e)):""}function zw(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(Ew).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||Ss.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=w_(o,e),n),{})}function jw(i,e,t){return Ze(i,zw(e,t))}var Xw="CMCD";function Qw(i,e={}){if(!i)return"";let t=w_(i,e);return`${Xw}=${encodeURIComponent(t)}`}var wT=/CMCD=[^&#]+/;function Zw(i,e,t){let r=Qw(e,t);if(!r)return i;if(wT.test(i))return i.replace(wT,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var wg=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:St.MANIFEST,su:!this.initialized})}catch(n){I.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===St.VIDEO||o===St.AUDIO||o==St.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){I.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||Vw(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:kg.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Ze(t,this.createData());let r=t.ot===St.INIT||t.ot===St.VIDEO||t.ot===St.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),jw(e.headers,t)):e.url=Zw(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return St.TIMED_TEXT;if(e.sn==="initSegment")return St.INIT;if(t==="audio")return St.AUDIO;if(t==="main")return this.hls.audioTracks.length?St.VIDEO:St.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===St.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===St.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ue.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},Jw=3e5,Cg=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=I.log.bind(I,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===ct.SendAlternateToPenaltyBox&&r.flags===vi.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||I.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>Jw&&delete r[n]});for(let n=0;n<e.length;n++){let a=e[n];if(a in r)continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,JT(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===ge.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===ge.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return r}clonePathways(e){let t=this.levels;if(!t)return;let r={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new We(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=C_(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Mr({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g<u.audioGroups.length;g++)p.addGroupId("audio",`${u.audioGroups[g]}_clone_${a}`);if(u.subtitleGroups)for(let g=1;g<u.subtitleGroups.length;g++)p.addGroupId("text",`${u.subtitleGroups[g]}_clone_${a}`);return p});t.push(...d),CT(this.audioTracks,r,l,a),CT(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,r=t.loader;this.loader&&this.loader.destroy(),this.loader=new r(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let T={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,T),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function CT(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=Ze({},a);return o.details=void 0,o.attrs=new We(o.attrs),o.url=o.attrs.URI=C_(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function C_(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var eC=/^age:\s*[\d.]+\s*$/im,hc=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Kn,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null,this.stats=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!this.stats.aborted)return n(r,t.url)}).catch(a=>(r.open("GET",t.url,!0),n(r,t.url))).then(()=>{this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&q(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};Qu(l,d,!1,u)?this.retry(l):(I.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){var e;let t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry,r=this.stats.retry;if(Qu(t,r,!0))this.retry(t);else{var s;I.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);let n=this.callbacks;n&&(this.abortInternal(),n.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=Gg(e,r.retry),r.retry++,I.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&eC.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function tC(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var iC=/(\d+)-(\d+)\/(\d+)/,fc=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||aC,this.controller=new self.AbortController,this.stats=new Kn}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=rC(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&q(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new Dg(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=nC(c.headers)||s.total,a&&q(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!q(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new ec,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<s||a.dataLength?(a.push(u),a.dataLength>=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function rC(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Ze({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function sC(i){let e=iC.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function nC(i){let e=i.get("Content-Range");if(e){let r=sC(e);if(q(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function aC(i,e){return new self.Request(i.url,e)}var Dg=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},oC=/\s/,lC={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<r.rows.length;h++)if(n=r.rows[h],o=!0,l=0,d="",!n.isEmpty()){var c;for(let p=0;p<n.chars.length;p++)oC.test(n.chars[p].uchar)&&o?l++:(d+=n.chars[p].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=__(d.trim()),m=zg(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>jT(i,h))),s}},dC={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},D_=ft(ft({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:hc,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Vp,bufferController:gg,capLevelController:xg,errorController:Gp,fpsController:Lg,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:OT,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:dC},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},uC()),{},{subtitleStreamController:hg,subtitleTrackController:mg,timelineController:Sg,audioStreamController:ug,audioTrackController:cg,emeController:uc,cmcdController:wg,contentSteeringController:Cg});function uC(){return{cueHandler:lC,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function cC(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=Mg(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&I.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),ft(ft({},t),e)}function Mg(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(Mg):Object.keys(i).reduce((e,t)=>(e[t]=Mg(i[t]),e),{}):i}function hC(i){let e=i.loader;e!==fc&&e!==hc?(I.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):tC()&&(i.loader=fc,i.progressive=!0,i.enableSoftwareAES=!0,I.log("[config]: Progressive streaming enabled, using FetchLoader"))}var Ip,Pg=class extends co{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(Ip||(Ip=/chrome|firefox/i.test(navigator.userAgent)),Ip&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=Yu(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=WI(p));let{width:g,height:E,unknownCodecs:T}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),T!=null&&T.length||m&&!mp(m,"audio",r)||p&&!mp(p,"video",r))return;let{CODECS:y,"FRAME-RATE":S,"HDCP-LEVEL":_,"PATHWAY-ID":L,RESOLUTION:x,"VIDEO-RANGE":w}=f,k=`${`${L||"."}-`}${u.bitrate}-${x}-${S}-${y}-${w}-${_}`;if(n[k])if(n[k].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let D=a[k]+=1;u.attrs["PATHWAY-ID"]=new Array(D+1).join(".");let U=new Mr(u);n[k]=U,s.push(U)}else n[k].addGroupId("audio",f.AUDIO),n[k].addGroupId("text",f.SUBTITLES);else{let D=new Mr(u);n[k]=D,a[k]=1,s.push(D)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&JI(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||mp(p.audioCodec,"audio",m)),DT(a)}t.subtitles&&(o=t.subtitles,DT(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return zu.indexOf(m.videoRange)-zu.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=Vy(m.videoCodec),E=Vy(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=qu(m.codecSet),E=qu(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;m<d.length;m++)if(d[m].pathwayId===l[0].pathwayId){u=d[m];break}}this._levels=l;for(let m=0;m<l.length;m++)if(l[m]===u){var c;this._firstLevel=m;let p=u.bitrate,g=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${p}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let E=Math.min(p,this.hls.config.abrEwmaDefaultEstimateMax);E>g&&g===D_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===ge.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===te.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));JT(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function DT(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var Og=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=C.KEY_LOAD_ERROR,r,s,n){return new bi({type:ie.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(r==="initSegment"||a.sn==="initSegment"||r<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:T}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[T])return o(this.createKeyLoadError(g,C.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,ft({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function M_(){return self.SourceBuffer||self.WebKitSourceBuffer}function P_(){if(!Ls())return!1;let e=M_();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function fC(){if(!P_())return!1;let i=Ls();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(uo(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(uo(e,"audio"))))}function mC(){var i;let e=M_();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var pC=250,Hu=2,gC=.1,vC=.05,Ng=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;I.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!Ue.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ue.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>Hu,E=!c||t&&t.start<=a||c-a>Hu&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,T=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,S=(T==null||(h=T.details)==null?void 0:h.live)?T.details.targetduration*2:Hu,_=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=S||_)){s.paused||this._trySkipBufferHole(_);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=pC&&(this._reportStall(u),!this.media))return;let p=Ue.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-a<r.maxBufferHole)&&t>r.highBufferWatchdogPeriod*1e3&&(I.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);I.warn(n.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=Ue.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,te.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,te.MAIN);if(m){let p=!1,g=m.end;for(;g<o;){let E=h.getPartialFragment(g);if(E)g+=E.duration;else{p=!0;break}}if(p)return 0}}}let c=Math.max(o+vC,n+gC);if(I.warn(`skipping hole, adjusting currentTime from ${n} to ${c}`),this.moved=!0,this.stalled=null,s.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${c}`);r.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return c}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:r,nudgeRetry:s}=this;if(r===null)return;let n=r.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);I.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);I.error(a.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},EC=100,Ug=class extends mo{constructor(e,t,r){super(e,t,r,"[stream-controller]",te.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(v.ERROR,this.onError,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(v.ERROR,this.onError,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:r}=this;if(this.stopLoad(),this.setInterval(EC),this.level=-1,!this.startFragRequested){let s=r.startLevel;s===-1&&(r.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=N.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=N.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case N.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=N.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=N.IDLE;break}break}case N.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=N.IDLE}}break}this.state===N.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=N.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===N.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=N.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==ht.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?ke.AUDIO:ke.VIDEO,E=(g===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,te.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,te.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===ht.NOT_LOADED||s===ht.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,te.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?r=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:r=0}else r=0;let a=this.getBufferedFrag(t.currentTime+r);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,u=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case N.KEY_LOADING:case N.FRAG_LOADING:case N.FRAG_LOADING_WAITING_RETRY:case N.PARSING:case N.PARSED:this.state=N.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let r=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),r.addEventListener("playing",this.onvplaying),r.addEventListener("seeked",this.onvseeked),this.gapController=new Ng(this.config,r,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;q(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let r=this.getMainFwdBufferInfo();if(r===null||r.len===0){this.warn(`Main forward buffer length on "seeked" event ${r?r.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(v.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let r=!1,s=!1;t.levels.forEach(n=>{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!mC(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==N.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=N.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===N.FRAG_LOADING||this.state===N.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===N.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=N.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new ac(this.hls,te.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new ho(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==te.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===N.PARSED&&(this.state=N.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(te.MAIN,t);break;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===ge.LEVEL&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!Ue.getBuffered(e).length){let r=this.state!==N.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=N.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==ke.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,te.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t<r){if(e.seeking){this.log(`could not seek to ${r}, already seeking at ${t}`);return}let s=Ue.getBuffered(e),a=(s.length?s.start(0):0)-r;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),r+=a,this.startPosition=r),this.log(`seek to target start position ${r} from current time ${t}`),e.currentTime=r}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(r=>{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=N.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,m){if(m!=null&&m.tracks){let y=l.initSegment||l;this._bufferInitSegment(u,m.tracks,y,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:r,tracks:m.tracks})}let E=m.initPTS,T=m.timescale;q(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:T},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:T}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],T=l.sn===p.startSN,y=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:S,endPTS:_,startDTS:L,endDTS:x}=c;if(d)d.elementaryStreams[c.type]={startPTS:S,endPTS:_,startDTS:L,endDTS:x};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!y&&(this.couldBacktrack=!0),c.dropped&&c.independent){let w=this.getMainFwdBufferInfo(),M=(w?w.end:this.getLoadPosition())+this.config.maxBufferHole,k=c.firstKeyFramePTS?c.firstKeyFramePTS:S;if(!T&&M<k-this.config.maxBufferHole&&!y){this.backtrack(l);return}else y&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,_,l.start,x,!0)}else T&&S>Hu&&(l.gap=!0);l.setElementaryStreamInfo(c.type,S,_,L,x),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,T||y)}else if(T||y)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:T,startDTS:y,endDTS:S}=g;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:E,endPTS:T,startDTS:y,endDTS:S}),l.setElementaryStreamInfo(ke.AUDIO,E,T,y,S),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5"),n.metadata.channelCount!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")),l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,te.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=N.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ue.isBuffered(e,r)?t=this.getAppendedFrag(r):Ue.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&q(t)&&q(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},vo=class i{static get version(){return"1.5.8"}static isMSESupported(){return P_()}static isSupported(){return fC()}static getMediaSource(){return Ls()}static get Events(){return v}static get ErrorTypes(){return ie}static get ErrorDetails(){return C}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:D_}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new qg,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,iI(e.debug||!1,"Hls instance");let t=this.config=cC(i.DefaultConfig,e);this.userConfig=e,t.progressive&&hC(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new Pp(this),m=new Up(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Pg(this,g),T=new qp(this),y=new Og(this.config),S=this.streamController=new Ug(this,T,y);c.setStreamController(S),h.setStreamController(S);let _=[f,E,S];g&&_.splice(1,0,g),this.networkControllers=_;let L=[d,u,c,h,m,T];this.audioTrackController=this.createController(t.audioTrackController,_);let x=t.audioStreamController;x&&_.push(new x(this,T,y)),this.subtitleTrackController=this.createController(t.subtitleTrackController,_);let w=t.subtitleStreamController;w&&_.push(new w(this,T,y)),this.createController(t.timelineController,L),y.emeController=this.emeController=this.createController(t.emeController,L),this.cmcdController=this.createController(t.cmcdController,L),this.latencyController=this.createController(Fp,L),this.coreComponents=L,_.push(l);let M=l.onErrorOut;typeof M=="function"&&this.on(v.ERROR,M,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(I.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){I.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){I.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){I.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=Fg.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,I.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){I.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){I.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){I.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){I.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){I.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){I.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){I.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){I.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){I.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(I.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){ZI(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s<r;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};vo.defaultConfig=void 0;var Ve=vo,Pr=class Eo extends Error{constructor(e,t=Eo.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=Eo.MEDIA_ERR_NETWORK&&t<=Eo.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=Eo.defaultMessages[this.code])!=null?n:"")}};Pr.MEDIA_ERR_ABORTED=1,Pr.MEDIA_ERR_NETWORK=2,Pr.MEDIA_ERR_DECODE=3,Pr.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Pr.MEDIA_ERR_ENCRYPTED=5,Pr.MEDIA_ERR_CUSTOM=100,Pr.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var Et=Pr,bC=i=>i==null,H_=(i,e)=>bC(e)?!1:i in e,Qg={ANY:"any",MUTED:"muted"},ye={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Jt={MSE:"mse",NATIVE:"native"},pc={HEADER:"header",QUERY:"query",NONE:"none"},zn=Object.values(pc),Or={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Zg={HLS:Or.M3U8},QF=Object.keys(Zg),ZF=[...Object.values(Or),"hls","HLS"];var kt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function yC(i,e,t){e&&t>e&&(t=e);for(let r=0;r<i.length;r++)if(i.start(r)<=t&&i.end(r)>=t)return!0;return!1}var TC=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},vc=i=>{let e=i.type;if(e){let r=e.toUpperCase();return H_(r,Zg)?Zg[r]:e}let{src:t}=i;return t?_C(t):""},G_=i=>i==="VOD"?ye.ON_DEMAND:ye.LIVE,W_=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,_C=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return H_(r,Or)?Or[r]:""},AC=Object.values(Qg),O_=i=>typeof i=="boolean"||typeof i=="string"&&AC.includes(i),SC=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=O_(r)?r:!!r,o=()=>{s||kt(e,"playing",()=>{s=!0},{once:!0})};if(o(),kt(e,"loadstart",()=>{s=!1,o(),Xg(e,a)},{once:!0}),kt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=!Number.isFinite(e.duration)),Xg(e,a)},{once:!0}),t&&t.once(Ve.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&kt(e,"play",()=>{e.preload==="metadata"?t.once(Ve.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=O_(l)?l:!!l,Xg(e,a))}},Xg=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case Qg.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case Qg.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},xC=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return kt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function LC(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Ve.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(Ve.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(Ve.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(Ve.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Ve.Events.BUFFER_FLUSHING,h),c||e.trigger(Ve.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(Ve.Events.DESTROYING,l)}function kC(i,e){e.on(Ve.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:u,name:c,type:h})=>u==(l==null?void 0:l.lang)&&c===a.label&&h.toLowerCase()===a.kind);Ec(i,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u})=>l==n.language&&d===n.label&&u.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Ve.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(Ve.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=i.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Ve.Events.MANIFEST_LOADED,r),e.once(Ve.Events.MEDIA_ATTACHED,r)}function Ec(i,e,t,r,s){let n=document.createElement("track");return n.kind=e,n.label=t,r&&(n.srclang=r),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),i.append(n),n.track}function V_(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}var yo="cuepoints",e0=Object.freeze({label:yo}),t0=(i,{label:e=yo}=e0)=>{var t;return(t=Array.from(i.querySelectorAll("track")).find(r=>r.track.label===e&&r.track.kind==="metadata"))==null?void 0:t.track};async function i0(i,e,t=e0){let r=t0(i,t);if(!r){let{label:s=yo}=t;r=Ec(i,"metadata",s),r.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))}return r.mode!=="hidden"&&(r.mode="hidden"),[...e].sort(({time:s},{time:n})=>n-s).forEach(({time:s,value:n})=>{var a,o;let l=Array.prototype.findIndex.call(r==null?void 0:r.cues,f=>f.startTime>=s),d=(a=r==null?void 0:r.cues)==null?void 0:a[l],u=d?d.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,c=(o=r==null?void 0:r.cues)==null?void 0:o[l-1];c&&(c.endTime=s);let h=new VTTCue(s,u,JSON.stringify(n!=null?n:null));r.addCue(h)}),r}var K_=i=>({time:i.startTime,value:JSON.parse(i.text)});function q_(i,e={label:yo}){let t=t0(i,e);return t!=null&&t.cues?Array.from(t.cues,r=>K_(r)):[]}function r0(i,e={label:yo}){var t,r;let s=t0(i,e);if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return K_(a)}async function IC(i,e=e0){return new Promise(t=>{kt(i,"loadstart",async()=>{let r=await i0(i,[],e);kt(i,"cuechange",()=>{let s=r0(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Y_(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function z_(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var RC=async i=>fetch(i).then(e=>e.text()).then(e=>{let t=e.split(`
1601
+ `)}),o.flush()}var Sp="stpp.ttml.im1t",S_=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,x_=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,hw={left:"start",center:"center",right:"end",start:"start",end:"end"};function ST(i,e,t,r){let s=ne(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Xi(o)),a=qR(e.baseTime,1,e.timescale);try{n.forEach(o=>t(fw(o,a)))}catch(o){r(o)}}function fw(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=xT(xp(s,"styling","style")),d=xT(xp(s,"layout","region")),u=xp(s,"body","[begin]");return[].map.call(u,c=>{let h=L_(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=kp(c.getAttribute("begin"),a),m=kp(c.getAttribute("dur"),a),p=kp(c.getAttribute("end"),a);if(f===null)throw LT(c);if(p===null){if(m===null)throw LT(c);p=f+m}let g=new Yg(f-e,p-e,h);g.id=zg(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],T=l[c.getAttribute("style")],y=mw(E,T,l),{textAlign:S}=y;if(S){let _=hw[S];_&&(g.lineAlign=_),g.align=S}return Ze(g,y),g}).filter(c=>c!==null)}function xp(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function xT(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function L_(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
1602
+ `:(n=r.childNodes)!=null&&n.length?L_(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function mw(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=Lp(e,r,l)||Lp(i,r,l)||Lp(s,r,l);return d&&(o[l]=d),o},{})}function Lp(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function LT(i){return new Error(`Could not parse ttml timestamp ${i}`)}function kp(i,e){if(!i)return null;let t=T_(i);return t===null&&(S_.test(i)?t=pw(i,e):x_.test(i)&&(t=gw(i,e))),t}function pw(i,e){let t=S_.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function gw(i,e){let t=x_.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var Sg=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=IT(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new Gn(this,"textTrack1"),t=new Gn(this,"textTrack2"),r=new Gn(this,"textTrack3"),s=new Gn(this,"textTrack4");this.cea608Parser1=new dc(1,e,t),this.cea608Parser2=new dc(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=vw(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s<r.textTracks.length;s++){let n=r.textTracks[s];if(kT(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:r,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)r[e]=o,Hn(r[e]),jT(r[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,r[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let r=t.label,s={_id:e,label:r,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,r){let s=this.media;if(s)return s.addTextTrack(e,t,r)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Hn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=IT(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;r<t.length;r++)Hn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===Sp);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(b_(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?Ou(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;h<o.length;h++)if(o[h]&&kT(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)Hn(u);else{let c=k_(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled")}u&&this.textTracks.push(u)}),o!=null&&o.length){let l=o.filter(d=>d!==null).map(d=>d.label);l.length&&I.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s,lastCc:n,lastSn:a,lastPartIndex:o}=this;if(!(!this.enabled||!r||!s)&&t.frag.type===te.MAIN){var l,d;let{cc:u,sn:c}=t.frag,h=(l=t==null||(d=t.part)==null?void 0:d.index)!=null?l:-1;c===a+1||c===a&&h===o+1||u===n||(r.reset(),s.reset()),this.lastCc=u,this.lastSn=c,this.lastPartIndex=h}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===te.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===Sp?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;ST(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{I.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Zt(r.initSegment.data,new Uint8Array(s)):s;cw(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),I.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||ST(t,this.initPTS[e.cc],()=>{r.textCodec=Sp,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>XT(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===te.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===te.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);r.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:r,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<r)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Op(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Op(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;n<r;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let u=3&a;(u===0||u===1)&&(t[u].push(o),t[u].push(l))}}return t}};function k_(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function kT(i,e){return!!i&&i.kind===k_(e)&&dg(e,i)}function vw(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function IT(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var xg=class i{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&q(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&I.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o<e.length;o+=1){let l=e[o];if((l.width>=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},Lg=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;I.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},Mu="[eme]",uc=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=I.debug.bind(I,Mu),this.log=I.log.bind(I,Mu),this.warn=I.warn.bind(I,Mu),this.error=I.error.bind(I,Mu),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Fe.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof Pt?o(c):o(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return NT===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=cI(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${Yi.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Yi.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Yi.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
1603
+ } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=up(this.config),n=e.map(By).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=$y(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Pt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=By(e.keyFormat),n=s?[s]:up(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=up(this.config)),e.length===0)throw new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),r===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[Fe.FAIRPLAY]){let u=it(new Uint8Array(r));try{let c=Bg(JSON.parse(u).sinf),h=VT(new Uint8Array(c));if(!h)return;s=h.subarray(8,24),n=Fe.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let u=NI(r);if(u===null)return;u.version===0&&u.systemId===OT.WIDEVINE&&u.data&&(s=u.data.subarray(8,24)),n=uI(u.systemId)}if(!n||!s)return;let a=Yi.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let u=0;u<l.length;u++){let c=l[u],h=c.decryptdata;if(h.pssh||!h.keyId)continue;let f=Yi.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(r),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(c,t,r,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:u,mediaKeys:c})=>{var h;this.throwIfDestroyed();let f=new lo("ISO-23001-7",a,(h=$y(u))!=null?h:"");return f.pssh=new Uint8Array(r),f.keyId=s,this.attemptSetMediaKeys(u,c).then(()=>{this.throwIfDestroyed();let m=this.createMediaKeySessionContext({decryptdata:f,keySystem:u,mediaKeys:c});return this.generateRequestWithPreferredKeySession(m,t,r,"encrypted-event-no-match")})})),d.catch(u=>this.handleError(u))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new qg,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),u.emit("error",T)}):g==="license-release"?e.keySystem===Fe.FAIRPLAY&&(this.updateKeySession(e,Dp("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Yi.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${Yi.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:ft({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c<h;c++){var a,o;u=n[c];let f=(a=u.querySelector("name"))==null?void 0:a.textContent,m=(o=u.querySelector("value"))==null?void 0:o.textContent;f&&m&&e.setRequestHeader(f,m)}}let l=s.querySelector("Challenge"),d=l==null?void 0:l.textContent;if(!d)throw new Error("Cannot find <Challenge> in key message");return Dp(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Pt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Fe.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},lo.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};uc.CDMCleanupPromise=void 0;var Pt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},St;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(St||(St={}));var kg;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(kg||(kg={}));var Ss;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(Ss||(Ss={}));var Ew={[Ss.OBJECT]:["br","d","ot","tb"],[Ss.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[Ss.SESSION]:["cid","pr","sf","sid","st","v"],[Ss.STATUS]:["bs","rtp"]},go=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},cc=class{constructor(e){this.description=void 0,this.description=e}},bw="Dict";function yw(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function Tw(i,e,t,r){return new Error(`failed to ${i} "${yw(e)}" as ${t}`,{cause:r})}var RT="Bare Item",_w="Boolean",Aw="Byte Sequence",Sw="Decimal",xw="Integer";function Lw(i){return i<-999999999999999||999999999999999<i}var kw=/[\x00-\x1f\x7f]+/,Iw="Token",Rw="Key";function Qi(i,e,t){return Tw("serialize",i,e,t)}function ww(i){if(typeof i!="boolean")throw Qi(i,_w);return i?"?1":"?0"}function Cw(i){return btoa(String.fromCharCode(...i))}function Dw(i){if(ArrayBuffer.isView(i)===!1)throw Qi(i,Aw);return`:${Cw(i)}:`}function I_(i){if(Lw(i))throw Qi(i,xw);return i.toString()}function Mw(i){return`@${I_(i.getTime()/1e3)}`}function R_(i,e){if(i<0)return-R_(-i,e);let t=Math.pow(10,e);if(Math.abs(i*t%1-.5)<Number.EPSILON){let s=Math.floor(i*t);return(s%2===0?s:s+1)/t}else return Math.round(i*t)/t}function Pw(i){let e=R_(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Qi(i,Sw);let t=e.toString();return t.includes(".")?t:`${t}.0`}var Ow="String";function Nw(i){if(kw.test(i))throw Qi(i,Ow);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Uw(i){return i.description||i.toString().slice(7,-1)}function wT(i){let e=Uw(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Qi(e,Iw);return e}function Ig(i){switch(typeof i){case"number":if(!q(i))throw Qi(i,RT);return Number.isInteger(i)?I_(i):Pw(i);case"string":return Nw(i);case"symbol":return wT(i);case"boolean":return ww(i);case"object":if(i instanceof Date)return Mw(i);if(i instanceof Uint8Array)return Dw(i);if(i instanceof cc)return wT(i);default:throw Qi(i,RT)}}function Rg(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Qi(i,Rw);return i}function jg(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${Rg(e)}`:`;${Rg(e)}=${Ig(t)}`).join("")}function w_(i){return i instanceof go?`${Ig(i.value)}${jg(i.params)}`:Ig(i)}function Fw(i){return`(${i.value.map(w_).join(" ")})${jg(i.params)}`}function Bw(i,e={whitespace:!0}){if(typeof i!="object")throw Qi(i,bw);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof go||(n=new go(n));let a=Rg(s);return n.value===!0?a+=jg(n.params):(a+="=",Array.isArray(n.value)?a+=Fw(n):a+=w_(n)),a}).join(`,${r}`)}function $w(i,e){return Bw(i,e)}var Hw=i=>i==="ot"||i==="sf"||i==="st",Gw=i=>typeof i=="number"?q(i):i!=null&&i!==""&&i!==!1;function Ww(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function Vw(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var $u=i=>Math.round(i),Kw=(i,e)=>(e!=null&&e.baseUrl&&(i=Ww(i,e.baseUrl)),encodeURIComponent(i)),Pu=i=>$u(i/100)*100,qw={br:$u,d:$u,bl:Pu,dl:Pu,mtp:Pu,nor:Kw,rtp:Pu,tb:$u};function Yw(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=Ze({},qw,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||Gw(o)&&(Hw(a)&&typeof o=="string"&&(o=new cc(o)),t[a]=o))}),t}function C_(i,e={}){return i?$w(Yw(i,e),Ze({whitespace:!1},e)):""}function zw(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(Ew).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||Ss.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=C_(o,e),n),{})}function jw(i,e,t){return Ze(i,zw(e,t))}var Xw="CMCD";function Qw(i,e={}){if(!i)return"";let t=C_(i,e);return`${Xw}=${encodeURIComponent(t)}`}var CT=/CMCD=[^&#]+/;function Zw(i,e,t){let r=Qw(e,t);if(!r)return i;if(CT.test(i))return i.replace(CT,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var wg=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:St.MANIFEST,su:!this.initialized})}catch(n){I.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===St.VIDEO||o===St.AUDIO||o==St.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){I.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||Vw(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:kg.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Ze(t,this.createData());let r=t.ot===St.INIT||t.ot===St.VIDEO||t.ot===St.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),jw(e.headers,t)):e.url=Zw(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return St.TIMED_TEXT;if(e.sn==="initSegment")return St.INIT;if(t==="audio")return St.AUDIO;if(t==="main")return this.hls.audioTracks.length?St.VIDEO:St.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===St.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===St.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ue.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},Jw=3e5,Cg=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=I.log.bind(I,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===ct.SendAlternateToPenaltyBox&&r.flags===vi.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||I.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>Jw&&delete r[n]});for(let n=0;n<e.length;n++){let a=e[n];if(a in r)continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,e_(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===ge.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===ge.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return r}clonePathways(e){let t=this.levels;if(!t)return;let r={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new We(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=D_(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Mr({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g<u.audioGroups.length;g++)p.addGroupId("audio",`${u.audioGroups[g]}_clone_${a}`);if(u.subtitleGroups)for(let g=1;g<u.subtitleGroups.length;g++)p.addGroupId("text",`${u.subtitleGroups[g]}_clone_${a}`);return p});t.push(...d),DT(this.audioTracks,r,l,a),DT(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,r=t.loader;this.loader&&this.loader.destroy(),this.loader=new r(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let T={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,T),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function DT(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=Ze({},a);return o.details=void 0,o.attrs=new We(o.attrs),o.url=o.attrs.URI=D_(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function D_(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var eC=/^age:\s*[\d.]+\s*$/im,hc=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Kn,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null,this.stats=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!this.stats.aborted)return n(r,t.url)}).catch(a=>(r.open("GET",t.url,!0),n(r,t.url))).then(()=>{this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&q(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};Qu(l,d,!1,u)?this.retry(l):(I.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){var e;let t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry,r=this.stats.retry;if(Qu(t,r,!0))this.retry(t);else{var s;I.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);let n=this.callbacks;n&&(this.abortInternal(),n.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=Gg(e,r.retry),r.retry++,I.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&eC.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function tC(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var iC=/(\d+)-(\d+)\/(\d+)/,fc=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||aC,this.controller=new self.AbortController,this.stats=new Kn}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=rC(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&q(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new Dg(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=nC(c.headers)||s.total,a&&q(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!q(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new ec,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<s||a.dataLength?(a.push(u),a.dataLength>=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function rC(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Ze({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function sC(i){let e=iC.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function nC(i){let e=i.get("Content-Range");if(e){let r=sC(e);if(q(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function aC(i,e){return new self.Request(i.url,e)}var Dg=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},oC=/\s/,lC={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<r.rows.length;h++)if(n=r.rows[h],o=!0,l=0,d="",!n.isEmpty()){var c;for(let p=0;p<n.chars.length;p++)oC.test(n.chars[p].uchar)&&o?l++:(d+=n.chars[p].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=A_(d.trim()),m=zg(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>XT(i,h))),s}},dC={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},M_=ft(ft({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:hc,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Vp,bufferController:gg,capLevelController:xg,errorController:Gp,fpsController:Lg,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:NT,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:dC},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},uC()),{},{subtitleStreamController:hg,subtitleTrackController:mg,timelineController:Sg,audioStreamController:ug,audioTrackController:cg,emeController:uc,cmcdController:wg,contentSteeringController:Cg});function uC(){return{cueHandler:lC,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function cC(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=Mg(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&I.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),ft(ft({},t),e)}function Mg(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(Mg):Object.keys(i).reduce((e,t)=>(e[t]=Mg(i[t]),e),{}):i}function hC(i){let e=i.loader;e!==fc&&e!==hc?(I.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):tC()&&(i.loader=fc,i.progressive=!0,i.enableSoftwareAES=!0,I.log("[config]: Progressive streaming enabled, using FetchLoader"))}var Ip,Pg=class extends co{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(Ip||(Ip=/chrome|firefox/i.test(navigator.userAgent)),Ip&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=Yu(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=WI(p));let{width:g,height:E,unknownCodecs:T}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),T!=null&&T.length||m&&!mp(m,"audio",r)||p&&!mp(p,"video",r))return;let{CODECS:y,"FRAME-RATE":S,"HDCP-LEVEL":_,"PATHWAY-ID":L,RESOLUTION:x,"VIDEO-RANGE":w}=f,k=`${`${L||"."}-`}${u.bitrate}-${x}-${S}-${y}-${w}-${_}`;if(n[k])if(n[k].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let D=a[k]+=1;u.attrs["PATHWAY-ID"]=new Array(D+1).join(".");let U=new Mr(u);n[k]=U,s.push(U)}else n[k].addGroupId("audio",f.AUDIO),n[k].addGroupId("text",f.SUBTITLES);else{let D=new Mr(u);n[k]=D,a[k]=1,s.push(D)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&JI(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||mp(p.audioCodec,"audio",m)),MT(a)}t.subtitles&&(o=t.subtitles,MT(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return zu.indexOf(m.videoRange)-zu.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=Ky(m.videoCodec),E=Ky(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=qu(m.codecSet),E=qu(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;m<d.length;m++)if(d[m].pathwayId===l[0].pathwayId){u=d[m];break}}this._levels=l;for(let m=0;m<l.length;m++)if(l[m]===u){var c;this._firstLevel=m;let p=u.bitrate,g=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${p}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let E=Math.min(p,this.hls.config.abrEwmaDefaultEstimateMax);E>g&&g===M_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===ge.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===te.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));e_(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function MT(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var Og=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=C.KEY_LOAD_ERROR,r,s,n){return new bi({type:ie.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(r==="initSegment"||a.sn==="initSegment"||r<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:T}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[T])return o(this.createKeyLoadError(g,C.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,ft({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function P_(){return self.SourceBuffer||self.WebKitSourceBuffer}function O_(){if(!Ls())return!1;let e=P_();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function fC(){if(!O_())return!1;let i=Ls();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(uo(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(uo(e,"audio"))))}function mC(){var i;let e=P_();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var pC=250,Hu=2,gC=.1,vC=.05,Ng=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;I.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!Ue.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ue.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>Hu,E=!c||t&&t.start<=a||c-a>Hu&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,T=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,S=(T==null||(h=T.details)==null?void 0:h.live)?T.details.targetduration*2:Hu,_=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=S||_)){s.paused||this._trySkipBufferHole(_);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=pC&&(this._reportStall(u),!this.media))return;let p=Ue.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-a<r.maxBufferHole)&&t>r.highBufferWatchdogPeriod*1e3&&(I.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);I.warn(n.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=Ue.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,te.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,te.MAIN);if(m){let p=!1,g=m.end;for(;g<o;){let E=h.getPartialFragment(g);if(E)g+=E.duration;else{p=!0;break}}if(p)return 0}}}let c=Math.max(o+vC,n+gC);if(I.warn(`skipping hole, adjusting currentTime from ${n} to ${c}`),this.moved=!0,this.stalled=null,s.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${c}`);r.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return c}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:r,nudgeRetry:s}=this;if(r===null)return;let n=r.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);I.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);I.error(a.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},EC=100,Ug=class extends mo{constructor(e,t,r){super(e,t,r,"[stream-controller]",te.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(v.ERROR,this.onError,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(v.ERROR,this.onError,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:r}=this;if(this.stopLoad(),this.setInterval(EC),this.level=-1,!this.startFragRequested){let s=r.startLevel;s===-1&&(r.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=N.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=N.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case N.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=N.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=N.IDLE;break}break}case N.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=N.IDLE}}break}this.state===N.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=N.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===N.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=N.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==ht.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?ke.AUDIO:ke.VIDEO,E=(g===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,te.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,te.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===ht.NOT_LOADED||s===ht.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,te.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?r=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:r=0}else r=0;let a=this.getBufferedFrag(t.currentTime+r);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,u=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case N.KEY_LOADING:case N.FRAG_LOADING:case N.FRAG_LOADING_WAITING_RETRY:case N.PARSING:case N.PARSED:this.state=N.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let r=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),r.addEventListener("playing",this.onvplaying),r.addEventListener("seeked",this.onvseeked),this.gapController=new Ng(this.config,r,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;q(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let r=this.getMainFwdBufferInfo();if(r===null||r.len===0){this.warn(`Main forward buffer length on "seeked" event ${r?r.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(v.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let r=!1,s=!1;t.levels.forEach(n=>{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!mC(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==N.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=N.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===N.FRAG_LOADING||this.state===N.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===N.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=N.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new ac(this.hls,te.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new ho(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==te.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===N.PARSED&&(this.state=N.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(te.MAIN,t);break;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===ge.LEVEL&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!Ue.getBuffered(e).length){let r=this.state!==N.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=N.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==ke.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,te.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t<r){if(e.seeking){this.log(`could not seek to ${r}, already seeking at ${t}`);return}let s=Ue.getBuffered(e),a=(s.length?s.start(0):0)-r;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),r+=a,this.startPosition=r),this.log(`seek to target start position ${r} from current time ${t}`),e.currentTime=r}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(r=>{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=N.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,m){if(m!=null&&m.tracks){let y=l.initSegment||l;this._bufferInitSegment(u,m.tracks,y,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:r,tracks:m.tracks})}let E=m.initPTS,T=m.timescale;q(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:T},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:T}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],T=l.sn===p.startSN,y=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:S,endPTS:_,startDTS:L,endDTS:x}=c;if(d)d.elementaryStreams[c.type]={startPTS:S,endPTS:_,startDTS:L,endDTS:x};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!y&&(this.couldBacktrack=!0),c.dropped&&c.independent){let w=this.getMainFwdBufferInfo(),M=(w?w.end:this.getLoadPosition())+this.config.maxBufferHole,k=c.firstKeyFramePTS?c.firstKeyFramePTS:S;if(!T&&M<k-this.config.maxBufferHole&&!y){this.backtrack(l);return}else y&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,_,l.start,x,!0)}else T&&S>Hu&&(l.gap=!0);l.setElementaryStreamInfo(c.type,S,_,L,x),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,T||y)}else if(T||y)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:T,startDTS:y,endDTS:S}=g;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:E,endPTS:T,startDTS:y,endDTS:S}),l.setElementaryStreamInfo(ke.AUDIO,E,T,y,S),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5"),n.metadata.channelCount!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")),l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,te.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=N.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ue.isBuffered(e,r)?t=this.getAppendedFrag(r):Ue.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&q(t)&&q(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},vo=class i{static get version(){return"1.5.8"}static isMSESupported(){return O_()}static isSupported(){return fC()}static getMediaSource(){return Ls()}static get Events(){return v}static get ErrorTypes(){return ie}static get ErrorDetails(){return C}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:M_}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new qg,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,iI(e.debug||!1,"Hls instance");let t=this.config=cC(i.DefaultConfig,e);this.userConfig=e,t.progressive&&hC(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new Pp(this),m=new Up(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Pg(this,g),T=new qp(this),y=new Og(this.config),S=this.streamController=new Ug(this,T,y);c.setStreamController(S),h.setStreamController(S);let _=[f,E,S];g&&_.splice(1,0,g),this.networkControllers=_;let L=[d,u,c,h,m,T];this.audioTrackController=this.createController(t.audioTrackController,_);let x=t.audioStreamController;x&&_.push(new x(this,T,y)),this.subtitleTrackController=this.createController(t.subtitleTrackController,_);let w=t.subtitleStreamController;w&&_.push(new w(this,T,y)),this.createController(t.timelineController,L),y.emeController=this.emeController=this.createController(t.emeController,L),this.cmcdController=this.createController(t.cmcdController,L),this.latencyController=this.createController(Fp,L),this.coreComponents=L,_.push(l);let M=l.onErrorOut;typeof M=="function"&&this.on(v.ERROR,M,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(I.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){I.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){I.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){I.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=Fg.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,I.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){I.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){I.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){I.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){I.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){I.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){I.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){I.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){I.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){I.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(I.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){ZI(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s<r;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};vo.defaultConfig=void 0;var Ve=vo,Pr=class Eo extends Error{constructor(e,t=Eo.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=Eo.MEDIA_ERR_NETWORK&&t<=Eo.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=Eo.defaultMessages[this.code])!=null?n:"")}};Pr.MEDIA_ERR_ABORTED=1,Pr.MEDIA_ERR_NETWORK=2,Pr.MEDIA_ERR_DECODE=3,Pr.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Pr.MEDIA_ERR_ENCRYPTED=5,Pr.MEDIA_ERR_CUSTOM=100,Pr.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var Et=Pr,bC=i=>i==null,H_=(i,e)=>bC(e)?!1:i in e,Zg={ANY:"any",MUTED:"muted"},ye={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Jt={MSE:"mse",NATIVE:"native"},pc={HEADER:"header",QUERY:"query",NONE:"none"},zn=Object.values(pc),Or={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Jg={HLS:Or.M3U8},QF=Object.keys(Jg),ZF=[...Object.values(Or),"hls","HLS"];var xt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function yC(i,e,t){e&&t>e&&(t=e);for(let r=0;r<i.length;r++)if(i.start(r)<=t&&i.end(r)>=t)return!0;return!1}var TC=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},vc=i=>{let e=i.type;if(e){let r=e.toUpperCase();return H_(r,Jg)?Jg[r]:e}let{src:t}=i;return t?_C(t):""},G_=i=>i==="VOD"?ye.ON_DEMAND:ye.LIVE,W_=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,_C=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return H_(r,Or)?Or[r]:""},AC=Object.values(Zg),N_=i=>typeof i=="boolean"||typeof i=="string"&&AC.includes(i),SC=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=N_(r)?r:!!r,o=()=>{s||xt(e,"playing",()=>{s=!0},{once:!0})};if(o(),xt(e,"loadstart",()=>{s=!1,o(),Xg(e,a)},{once:!0}),xt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=!Number.isFinite(e.duration)),Xg(e,a)},{once:!0}),t&&t.once(Ve.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&xt(e,"play",()=>{e.preload==="metadata"?t.once(Ve.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=N_(l)?l:!!l,Xg(e,a))}},Xg=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case Zg.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case Zg.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},xC=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return xt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function LC(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Ve.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(Ve.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(Ve.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(Ve.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Ve.Events.BUFFER_FLUSHING,h),c||e.trigger(Ve.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(Ve.Events.DESTROYING,l)}function kC(i,e){e.on(Ve.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:u,name:c,type:h})=>u==(l==null?void 0:l.lang)&&c===a.label&&h.toLowerCase()===a.kind);Ec(i,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u})=>l==n.language&&d===n.label&&u.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Ve.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(Ve.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=i.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Ve.Events.MANIFEST_LOADED,r),e.once(Ve.Events.MEDIA_ATTACHED,r)}function Ec(i,e,t,r,s){let n=document.createElement("track");return n.kind=e,n.label=t,r&&(n.srclang=r),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),i.append(n),n.track}function V_(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}var yo="cuepoints",t0=Object.freeze({label:yo}),i0=(i,{label:e=yo}=t0)=>{var t;return(t=Array.from(i.querySelectorAll("track")).find(r=>r.track.label===e&&r.track.kind==="metadata"))==null?void 0:t.track};async function r0(i,e,t=t0){let r=i0(i,t);if(!r){let{label:s=yo}=t;r=Ec(i,"metadata",s),r.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))}return r.mode!=="hidden"&&(r.mode="hidden"),[...e].sort(({time:s},{time:n})=>n-s).forEach(({time:s,value:n})=>{var a,o;let l=Array.prototype.findIndex.call(r==null?void 0:r.cues,f=>f.startTime>=s),d=(a=r==null?void 0:r.cues)==null?void 0:a[l],u=d?d.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,c=(o=r==null?void 0:r.cues)==null?void 0:o[l-1];c&&(c.endTime=s);let h=new VTTCue(s,u,JSON.stringify(n!=null?n:null));r.addCue(h)}),r}var K_=i=>({time:i.startTime,value:JSON.parse(i.text)});function q_(i,e={label:yo}){let t=i0(i,e);return t!=null&&t.cues?Array.from(t.cues,r=>K_(r)):[]}function s0(i,e={label:yo}){var t,r;let s=i0(i,e);if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return K_(a)}async function IC(i,e=t0){return new Promise(t=>{xt(i,"loadstart",async()=>{let r=await r0(i,[],e);xt(i,"cuechange",()=>{let s=s0(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Y_(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function z_(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var RC=async i=>fetch(i).then(e=>e.text()).then(e=>{let t=e.split(`
1604
1604
  `).find((r,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.text()).then(r=>r.split(`
1605
- `))}),wC=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=G_(s),a=W_(s),o;if(n===ye.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},CC=async(i,e)=>{if(e===Or.MP4)return{streamType:ye.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Or.M3U8){let t=await RC(i);return wC(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},N_=async(i,e,t=vc({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await CC(i,t);((r=vt.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=vt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=vt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},DC=i=>{var e;let t=i.type,r=G_(t),s=W_(t),n,a=!!((e=i.partList)!=null&&e.length);return r===ye.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},MC=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=DC(i);if(c===ye.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=vt.get(e))!=null?o:{}).seekable=p}((l=vt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=vt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=vt.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},U_,F_,PC=(F_=(U_=globalThis==null?void 0:globalThis.navigator)==null?void 0:U_.userAgent)!=null?F_:"",OC=PC.toLowerCase().indexOf("android")!==-1,vt=new WeakMap,j_="mux.com",B_,$_,X_=($_=(B_=Ve).isSupported)==null?void 0:$_.call(B_),NC=OC,Q_=()=>xu.utils.now(),UC=xu.utils.generateUUID,To=({playbackId:i,customDomain:e=j_,maxResolution:t,minResolution:r,renditionOrder:s,tokens:{playback:n}={},extraSourceParams:a={}}={})=>{if(!i)return;let[o,l=""]=TC(i),d=new URL(`https://stream.${e}/${o}.m3u8${l}`);return n||d.searchParams.has("token")?(d.searchParams.forEach((u,c)=>{c!="token"&&d.searchParams.delete(c)}),n&&d.searchParams.set("token",n)):(t&&d.searchParams.set("max_resolution",t),r&&(d.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&d.searchParams.set("rendition_order",s),Object.entries(a).forEach(([u,c])=>{c!=null&&d.searchParams.set(u,c)})),d.toString()},FC=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},BC=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},$C=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:nA(i)&&(r=(t=FC(i.playbackId))!=null?t:BC(i.src))!=null?r:i.src},Z_=i=>{var e;return(e=vt.get(i))==null?void 0:e.error},gc=i=>{var e,t;return(t=(e=vt.get(i))==null?void 0:e.streamType)!=null?t:ye.UNKNOWN},J_=i=>{var e,t;return(t=(e=vt.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},bo=i=>{var e,t;return(t=(e=vt.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},eA=i=>{var e;let t=(e=vt.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=bo(i);return r.length?r.end(r.length-1)-t:Number.NaN},s0=.034,HC=(i,e,t=s0)=>Math.abs(i-e)<=t,tA=(i,e,t=s0)=>i>e||HC(i,e,t),GC=(i,e=s0)=>i.paused&&tA(i.currentTime,i.duration,e),iA=(i,e)=>{var t,r,s;if(!e)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTime<i.duration-(n.targetduration+.5))return!1;let o=a[a.length-1];if(i.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=i.buffered.start(i.buffered.length-1),u=i.buffered.end(i.buffered.length-1);return l>d&&l<u},n0=(i,e)=>i.ended||i.loop?i.ended:e&&iA(i,e)?!0:GC(i),rA=(i,e,t)=>{a0(e,t);let{metadata:r={}}=i,{view_session_id:s=UC()}=r,n=$C(i);r.view_session_id=s,r.video_id=n,i.metadata=r,vt.set(e,{});let a=WC(i,e);KC(i,e,a),qC(i,e,a),IC(e);let o=SC(i,e,a),l=xC(i,e,a);return{engine:a,setAutoplay:o,setPreload:l}},a0=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",oA),i.removeEventListener("error",Jg),i.removeEventListener("durationchange",aA),vt.delete(i),i.dispatchEvent(new Event("teardown")))};function sA(i,e){var t;let r=vc(i);if(r!==Or.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Jt.MSE,o=n===Jt.NATIVE;return s&&(o||!(X_&&(a||NC)))}var WC=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=vc(i)===Or.M3U8,d=sA(i,e);if(l&&!d&&X_){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=VC(r),h=a!==pc.NONE?{useHeaders:a===pc.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Ve({debug:t,startPosition:s,cmcd:h,xhrSetup:(f,m)=>{var p,g;if(a&&a!==pc.QUERY)return;let E=new URL(m);if(!E.searchParams.has("CMCD"))return;let T=((g=(p=E.searchParams.get("CMCD"))==null?void 0:p.split(","))!=null?g:[]).filter(y=>y.startsWith("sid")||y.startsWith("cid")).join(",");E.searchParams.set("CMCD",T),f.open("GET",E)},...u,...c,...o})}},VC=i=>i===ye.LIVE?{backBufferLength:8}:{},nA=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(j_)||!!t&&s.includes(t.toLocaleLowerCase())},KC=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=nA(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;xu.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Ve:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},qC=(i,e,t)=>{var r;let s=sA(i,e),{src:n}=i,a=()=>{e.ended||!n0(e,t)||(iA(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},o,l,d=()=>{var u,c;let h=(u=bo(e))==null?void 0:u.start(0),f=(c=bo(e))==null?void 0:c.end(0);(l!==f||o!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),o=h,l=f};if(kt(e,"durationchange",d),e&&s){let u=vc(i);if(typeof n=="string"){let c=()=>{if(gc(e)!==ye.LIVE||Number.isFinite(e.duration))return;let h=setInterval(d,1e3);e.addEventListener("teardown",()=>{clearInterval(h)},{once:!0}),kt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(h)})};e.preload==="none"?kt(e,"loadstart",()=>{N_(n,e,u).then(c)}):N_(n,e,u).then(c),e.setAttribute("src",n),i.startTime&&(((r=vt.get(e))!=null?r:{}).startTime=i.startTime,e.addEventListener("durationchange",aA,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",oA),e.addEventListener("error",Jg),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(c=>{c.remove()})},{once:!0}),kt(e,"pause",a),kt(e,"seeked",a),kt(e,"play",()=>{e.ended||tA(e.currentTime,e.duration)&&(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(Ve.Events.LEVEL_LOADED,(u,c)=>{MC(c.details,e,t),d(),gc(e)===ye.LIVE&&!Number.isFinite(e.duration)&&(t.on(Ve.Events.LEVEL_UPDATED,d),kt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Ve.Events.LEVELS_UPDATED,d)}))}),t.on(Ve.Events.ERROR,(u,c)=>{let h={[Ve.ErrorTypes.NETWORK_ERROR]:Et.MEDIA_ERR_NETWORK,[Ve.ErrorTypes.MEDIA_ERROR]:Et.MEDIA_ERR_DECODE},f=new Et("",h[c.type]);f.fatal=c.fatal,f.data=c,e.dispatchEvent(new CustomEvent("error",{detail:f}))}),e.addEventListener("error",Jg),kt(e,"waiting",a),LC(i,t),kC(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function aA(i){var e;let t=i.target,r=(e=vt.get(t))==null?void 0:e.startTime;if(r&&yC(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function oA(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new Et(t,r);if(e.src&&(r!==Et.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function Jg(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof Et))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=vt.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var YC=Object.defineProperty,zC=Object.getPrototypeOf,jC=Reflect.get,XC=(i,e,t)=>e in i?YC(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Me=(i,e,t)=>(XC(i,typeof e!="symbol"?e+"":e,t),t),w0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},R=(i,e,t)=>(w0(i,e,"read from private field"),t?t.call(i):e.get(i)),j=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},J=(i,e,t,r)=>(w0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ze=(i,e,t)=>(w0(i,e,"access private method"),t),o0=(i,e,t)=>jC(zC(i),t,e),Mc=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Mc{}globalThis.DocumentFragment=i}var C0=class extends Mc{},QC=class extends Mc{},ZC={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(C0)}},bc,JC=class{constructor(i,e={}){j(this,bc,void 0),J(this,bc,e==null?void 0:e.detail)}get detail(){return R(this,bc)}initCustomEvent(){}};bc=new WeakMap;function eD(i,e){return new C0}var pA={document:{createElement:eD},DocumentFragment,customElements:ZC,CustomEvent:JC,EventTarget:Mc,HTMLElement:C0,HTMLVideoElement:QC},gA=typeof window=="undefined"||typeof globalThis.customElements=="undefined",l0=gA?pA:globalThis,e5=gA?pA.document:globalThis.document,tD=()=>{try{return"0.18.0"}catch{}return"UNKNOWN"},iD=tD(),rD=()=>iD,Pc=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],lA,h0=(lA=globalThis.document)==null?void 0:lA.createElement("template");h0&&(h0.innerHTML=`
1605
+ `))}),wC=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=G_(s),a=W_(s),o;if(n===ye.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},CC=async(i,e)=>{if(e===Or.MP4)return{streamType:ye.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Or.M3U8){let t=await RC(i);return wC(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},Qg=async(i,e,t=vc({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await CC(i,t);((r=vt.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=vt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=vt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},DC=i=>{var e;let t=i.type,r=G_(t),s=W_(t),n,a=!!((e=i.partList)!=null&&e.length);return r===ye.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},MC=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=DC(i);if(c===ye.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=vt.get(e))!=null?o:{}).seekable=p}((l=vt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=vt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=vt.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},U_,F_,PC=(F_=(U_=globalThis==null?void 0:globalThis.navigator)==null?void 0:U_.userAgent)!=null?F_:"",OC=PC.toLowerCase().indexOf("android")!==-1,vt=new WeakMap,j_="mux.com",B_,$_,X_=($_=(B_=Ve).isSupported)==null?void 0:$_.call(B_),NC=OC,Q_=()=>xu.utils.now(),UC=xu.utils.generateUUID,To=({playbackId:i,customDomain:e=j_,maxResolution:t,minResolution:r,renditionOrder:s,tokens:{playback:n}={},extraSourceParams:a={}}={})=>{if(!i)return;let[o,l=""]=TC(i),d=new URL(`https://stream.${e}/${o}.m3u8${l}`);return n||d.searchParams.has("token")?(d.searchParams.forEach((u,c)=>{c!="token"&&d.searchParams.delete(c)}),n&&d.searchParams.set("token",n)):(t&&d.searchParams.set("max_resolution",t),r&&(d.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&d.searchParams.set("rendition_order",s),Object.entries(a).forEach(([u,c])=>{c!=null&&d.searchParams.set(u,c)})),d.toString()},FC=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},BC=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},$C=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:nA(i)&&(r=(t=FC(i.playbackId))!=null?t:BC(i.src))!=null?r:i.src},Z_=i=>{var e;return(e=vt.get(i))==null?void 0:e.error},gc=i=>{var e,t;return(t=(e=vt.get(i))==null?void 0:e.streamType)!=null?t:ye.UNKNOWN},J_=i=>{var e,t;return(t=(e=vt.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},bo=i=>{var e,t;return(t=(e=vt.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},eA=i=>{var e;let t=(e=vt.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=bo(i);return r.length?r.end(r.length-1)-t:Number.NaN},n0=.034,HC=(i,e,t=n0)=>Math.abs(i-e)<=t,tA=(i,e,t=n0)=>i>e||HC(i,e,t),GC=(i,e=n0)=>i.paused&&tA(i.currentTime,i.duration,e),iA=(i,e)=>{var t,r,s;if(!e)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTime<i.duration-(n.targetduration+.5))return!1;let o=a[a.length-1];if(i.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=i.buffered.start(i.buffered.length-1),u=i.buffered.end(i.buffered.length-1);return l>d&&l<u},a0=(i,e)=>i.ended||i.loop?i.ended:e&&iA(i,e)?!0:GC(i),rA=(i,e,t)=>{o0(e,t);let{metadata:r={}}=i,{view_session_id:s=UC()}=r,n=$C(i);r.view_session_id=s,r.video_id=n,i.metadata=r,vt.set(e,{});let a=WC(i,e),o=xC(i,e,a);KC(i,e,a),qC(i,e,a),IC(e);let l=SC(i,e,a);return{engine:a,setAutoplay:l,setPreload:o}},o0=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",oA),i.removeEventListener("error",e0),i.removeEventListener("durationchange",aA),vt.delete(i),i.dispatchEvent(new Event("teardown")))};function sA(i,e){var t;let r=vc(i);if(r!==Or.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Jt.MSE,o=n===Jt.NATIVE;return s&&(o||!(X_&&(a||NC)))}var WC=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=vc(i)===Or.M3U8,d=sA(i,e);if(l&&!d&&X_){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=VC(r),h=a!==pc.NONE?{useHeaders:a===pc.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Ve({debug:t,startPosition:s,cmcd:h,xhrSetup:(f,m)=>{var p,g;if(a&&a!==pc.QUERY)return;let E=new URL(m);if(!E.searchParams.has("CMCD"))return;let T=((g=(p=E.searchParams.get("CMCD"))==null?void 0:p.split(","))!=null?g:[]).filter(y=>y.startsWith("sid")||y.startsWith("cid")).join(",");E.searchParams.set("CMCD",T),f.open("GET",E)},...u,...c,...o})}},VC=i=>i===ye.LIVE?{backBufferLength:8}:{},nA=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(j_)||!!t&&s.includes(t.toLocaleLowerCase())},KC=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=nA(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;xu.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Ve:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},qC=(i,e,t)=>{var r;let s=sA(i,e),{src:n}=i,a=()=>{e.ended||!a0(e,t)||(iA(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},o,l,d=()=>{var u,c;let h=(u=bo(e))==null?void 0:u.start(0),f=(c=bo(e))==null?void 0:c.end(0);(l!==f||o!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),o=h,l=f};if(xt(e,"durationchange",d),e&&s){let u=vc(i);if(typeof n=="string"){let c=()=>{if(gc(e)!==ye.LIVE||Number.isFinite(e.duration))return;let h=setInterval(d,1e3);e.addEventListener("teardown",()=>{clearInterval(h)},{once:!0}),xt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(h)})};if(e.preload==="none"){let h=()=>{Qg(n,e,u).then(c),e.removeEventListener("loadedmetadata",f)},f=()=>{Qg(n,e,u).then(c),e.removeEventListener("play",h)};xt(e,"play",h,{once:!0}),xt(e,"loadedmetadata",f,{once:!0})}else Qg(n,e,u).then(c);e.setAttribute("src",n),i.startTime&&(((r=vt.get(e))!=null?r:{}).startTime=i.startTime,e.addEventListener("durationchange",aA,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",oA),e.addEventListener("error",e0),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(c=>{c.remove()})},{once:!0}),xt(e,"pause",a),xt(e,"seeked",a),xt(e,"play",()=>{e.ended||tA(e.currentTime,e.duration)&&(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(Ve.Events.LEVEL_LOADED,(u,c)=>{MC(c.details,e,t),d(),gc(e)===ye.LIVE&&!Number.isFinite(e.duration)&&(t.on(Ve.Events.LEVEL_UPDATED,d),xt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Ve.Events.LEVELS_UPDATED,d)}))}),t.on(Ve.Events.ERROR,(u,c)=>{let h={[Ve.ErrorTypes.NETWORK_ERROR]:Et.MEDIA_ERR_NETWORK,[Ve.ErrorTypes.MEDIA_ERROR]:Et.MEDIA_ERR_DECODE},f=new Et("",h[c.type]);f.fatal=c.fatal,f.data=c,e.dispatchEvent(new CustomEvent("error",{detail:f}))}),e.addEventListener("error",e0),xt(e,"waiting",a),LC(i,t),kC(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function aA(i){var e;let t=i.target,r=(e=vt.get(t))==null?void 0:e.startTime;if(r&&yC(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function oA(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new Et(t,r);if(e.src&&(r!==Et.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function e0(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof Et))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=vt.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var YC=Object.defineProperty,zC=Object.getPrototypeOf,jC=Reflect.get,XC=(i,e,t)=>e in i?YC(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Me=(i,e,t)=>(XC(i,typeof e!="symbol"?e+"":e,t),t),C0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},R=(i,e,t)=>(C0(i,e,"read from private field"),t?t.call(i):e.get(i)),j=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},J=(i,e,t,r)=>(C0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ze=(i,e,t)=>(C0(i,e,"access private method"),t),l0=(i,e,t)=>jC(zC(i),t,e),Mc=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Mc{}globalThis.DocumentFragment=i}var D0=class extends Mc{},QC=class extends Mc{},ZC={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(D0)}},bc,JC=class{constructor(i,e={}){j(this,bc,void 0),J(this,bc,e==null?void 0:e.detail)}get detail(){return R(this,bc)}initCustomEvent(){}};bc=new WeakMap;function eD(i,e){return new D0}var pA={document:{createElement:eD},DocumentFragment,customElements:ZC,CustomEvent:JC,EventTarget:Mc,HTMLElement:D0,HTMLVideoElement:QC},gA=typeof window=="undefined"||typeof globalThis.customElements=="undefined",d0=gA?pA:globalThis,e5=gA?pA.document:globalThis.document,tD=()=>{try{return"0.18.1"}catch{}return"UNKNOWN"},iD=tD(),rD=()=>iD,Pc=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],lA,f0=(lA=globalThis.document)==null?void 0:lA.createElement("template");f0&&(f0.innerHTML=`
1606
1606
  <style>
1607
1607
  :host {
1608
1608
  display: inline-flex;
@@ -1617,7 +1617,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1617
1617
  </style>
1618
1618
  <slot name="media"></slot>
1619
1619
  <slot></slot>
1620
- `);var dA,f0=(dA=globalThis.document)==null?void 0:dA.createElement("template");f0&&(f0.innerHTML=`
1620
+ `);var dA,m0=(dA=globalThis.document)==null?void 0:dA.createElement("template");m0&&(m0.innerHTML=`
1621
1621
  <style>
1622
1622
  :host {
1623
1623
  display: inline-block;
@@ -1640,8 +1640,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1640
1640
  </style>
1641
1641
  <slot name="media"></slot>
1642
1642
  <slot></slot>
1643
- `);var vA=(i,{tag:e,is:t})=>{var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,T;let y=(r=globalThis.document)==null?void 0:r.createElement(e,{is:t}),S=y?sD(y):[];return s=class extends i{constructor(){super(),j(this,c),j(this,f),j(this,p),j(this,E),j(this,l,void 0),j(this,d,void 0),j(this,u,new Map),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0)))}static get observedAttributes(){var _,L,x;return ze(_=s,a,o).call(_),[...(x=(L=y==null?void 0:y.constructor)==null?void 0:L.observedAttributes)!=null?x:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var _,L,x;return(x=(L=(_=R(this,d))!=null?_:this.shadowRoot.querySelector(e))!=null?L:this.querySelector(":scope > [slot=media]"))!=null?x:this.querySelector(e)}set nativeEl(_){J(this,d,_)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(_){this.toggleAttribute("muted",!!_)}get src(){return this.getAttribute("src")}set src(_){this.setAttribute("src",`${_}`)}get preload(){var _,L;return(L=this.getAttribute("preload"))!=null?L:(_=this.nativeEl)==null?void 0:_.preload}set preload(_){this.setAttribute("preload",`${_}`)}init(){var _,L;if(!this.nativeEl){let x=document.createElement(e,{is:t});x.part=e,this.shadowRoot.querySelector('slot[name="media"]').append(x)}this.nativeEl.muted=this.hasAttribute("muted");for(let x of S)ze(this,p,g).call(this,x);this.shadowRoot.addEventListener("slotchange",this);for(let x of this.constructor.Events)(L=(_=this.shadowRoot).addEventListener)==null||L.call(_,x,this,!0)}handleEvent(_){if(_.type==="slotchange"){ze(this,f,m).call(this);return}_.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(_.type,{detail:_.detail}))}attributeChangedCallback(_,L,x){ze(this,c,h).call(this),ze(this,E,T).call(this,_,L,x)}connectedCallback(){ze(this,c,h).call(this)}},n=new WeakMap,a=new WeakSet,o=function(){if(R(this,n))return;J(this,n,!0);let _=new Set(this.observedAttributes);_.delete("muted");for(let L of S)if(!(L in this.prototype))if(typeof y[L]=="function")this.prototype[L]=function(...x){return ze(this,c,h).call(this),this.call?this.call(L,...x):this.nativeEl[L].apply(this.nativeEl,x)};else{let x={get(){var w,M,k;ze(this,c,h).call(this);let D=L.toLowerCase();if(_.has(D)){let U=this.getAttribute(D);return U===null?!1:U===""?!0:U}return(k=(w=this.get)==null?void 0:w.call(this,L))!=null?k:(M=this.nativeEl)==null?void 0:M[L]}};L!==L.toUpperCase()&&(x.set=function(w){ze(this,c,h).call(this);let M=L.toLowerCase();if(_.has(M)){w===!0||w===!1||w==null?this.toggleAttribute(M,!!w):this.setAttribute(M,w);return}if(this.set){this.set(L,w);return}this.nativeEl[L]=w}),Object.defineProperty(this.prototype,L,x)}},l=new WeakMap,d=new WeakMap,u=new WeakMap,c=new WeakSet,h=function(){R(this,l)||(J(this,l,!0),this.init())},f=new WeakSet,m=function(){let _=new Map(R(this,u));this.shadowRoot.querySelector("slot:not([name])").assignedElements().filter(L=>["track","source"].includes(L.localName)).forEach(L=>{var x,w;_.delete(L);let M=R(this,u).get(L);M||(M=L.cloneNode(),R(this,u).set(L,M)),(w=(x=this.nativeEl).append)==null||w.call(x,M),M.localName==="track"&&M.default&&(M.kind==="chapters"||M.kind==="metadata")&&M.track.mode==="disabled"&&(M.track.mode="hidden")}),_.forEach(L=>L.remove())},p=new WeakSet,g=function(_){if(Object.prototype.hasOwnProperty.call(this,_)){let L=this[_];delete this[_],this[_]=L}},E=new WeakSet,T=function(_,L,x){var w,M,k,D,U,B;["id","class"].includes(_)||!s.observedAttributes.includes(_)&&this.constructor.observedAttributes.includes(_)||(x===null?(M=(w=this.nativeEl).removeAttribute)==null||M.call(w,_):((D=(k=this.nativeEl).getAttribute)==null?void 0:D.call(k,_))!=x&&((B=(U=this.nativeEl).setAttribute)==null||B.call(U,_,x)))},j(s,a),Me(s,"Events",Pc),Me(s,"template",e.endsWith("audio")?h0:f0),j(s,n,void 0),s};function sD(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}var d0=globalThis.document?vA(HTMLElement,{tag:"video"}):class{},i5=globalThis.document?vA(HTMLElement,{tag:"audio"}):class{},Hs=new WeakMap,u0=class extends Error{},nD=class extends Error{},aD=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function oD(i){EA()?bA()?i(chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>i(chrome.cast.isAvailable)):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>i(chrome.cast.isAvailable))}}function lD(){return globalThis.chrome}function dD(){let i="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if(globalThis.chrome.cast||document.querySelector(`script[src="${i}"]`))return;let e=document.createElement("script");e.src=i,document.head.append(e)}function EA(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable}function bA(){return typeof cast!="undefined"&&cast.framework}function Gs(){if(bA())return cast.framework.CastContext.getInstance()}function D0(){var i;return(i=Gs())==null?void 0:i.getCurrentSession()}function M0(){var i;return(i=D0())==null?void 0:i.getSessionObj().media[0]}function uD(i){return new Promise((e,t)=>{M0().editTracksInfo(i,e,t)})}function cD(i){return new Promise((e,t)=>{M0().getStatus(i,e,t)})}function yA(i){return Gs().setOptions({...TA(),...i})}function TA(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var yc=new aD,Fr=new WeakSet,st;oD(i=>{i&&!st&&(st=cast.framework,Gs().addEventListener(st.CastContextEventType.CAST_STATE_CHANGED,e=>{yc.forEach(t=>{var r,s;return(s=(r=Hs.get(t)).onCastStateChanged)==null?void 0:s.call(r,e)})}),Gs().addEventListener(st.CastContextEventType.SESSION_STATE_CHANGED,e=>{yc.forEach(t=>{var r,s;return(s=(r=Hs.get(t)).onSessionStateChanged)==null?void 0:s.call(r,e)})}),yc.forEach(e=>{var t,r;return(r=(t=Hs.get(e)).init)==null?void 0:r.call(t)}))});var uA=0,xe,Tc,ei,Nr,Jn,jn,$s,m0,Ur,ks,p0,cA,Cc,g0,v0,_A,_c,E0,b0,hA,Ac,c0,hD=class extends EventTarget{constructor(i){super(),j(this,Ur),j(this,p0),j(this,Cc),j(this,v0),j(this,_c),j(this,b0),j(this,Ac),j(this,xe,void 0),j(this,Tc,void 0),j(this,ei,void 0),j(this,Nr,void 0),j(this,Jn,"disconnected"),j(this,jn,!1),j(this,$s,new Set),j(this,m0,new WeakMap),J(this,xe,i),yc.add(this),Hs.set(this,{init:()=>ze(this,_c,E0).call(this),onCastStateChanged:()=>ze(this,Cc,g0).call(this),onSessionStateChanged:()=>ze(this,v0,_A).call(this),getCastPlayer:()=>R(this,Ur,ks)}),ze(this,_c,E0).call(this)}get state(){return R(this,Jn)}async watchAvailability(i){if(R(this,xe).disableRemotePlayback)throw new u0("disableRemotePlayback attribute is present.");return R(this,m0).set(i,++uA),R(this,$s).add(i),uA}async cancelWatchAvailability(i){if(R(this,xe).disableRemotePlayback)throw new u0("disableRemotePlayback attribute is present.");i?R(this,$s).delete(i):R(this,$s).clear()}async prompt(){var i,e;if(R(this,xe).disableRemotePlayback)throw new u0("disableRemotePlayback attribute is present.");if(!EA())throw new nD("The RemotePlayback API is disabled on this platform.");let t=Fr.has(R(this,xe));Fr.add(R(this,xe)),yA(R(this,xe).castOptions),Object.entries(R(this,Nr)).forEach(([r,s])=>{R(this,ei).controller.addEventListener(r,s)});try{await Gs().requestSession()}catch(r){if(r==="cancel"){t||Fr.delete(R(this,xe));return}throw new Error(r)}(e=(i=Hs.get(R(this,xe)))==null?void 0:i.loadOnPrompt)==null||e.call(i)}};xe=new WeakMap,Tc=new WeakMap,ei=new WeakMap,Nr=new WeakMap,Jn=new WeakMap,jn=new WeakMap,$s=new WeakMap,m0=new WeakMap,Ur=new WeakSet,ks=function(){if(Fr.has(R(this,xe)))return R(this,ei)},p0=new WeakSet,cA=function(){Fr.has(R(this,xe))&&(Object.entries(R(this,Nr)).forEach(([i,e])=>{R(this,ei).controller.removeEventListener(i,e)}),Fr.delete(R(this,xe)),R(this,xe).muted=R(this,ei).isMuted,R(this,xe).currentTime=R(this,ei).savedPlayerState.currentTime,R(this,ei).savedPlayerState.isPaused===!1&&R(this,xe).play())},Cc=new WeakSet,g0=function(){let i=Gs().getCastState();if(Fr.has(R(this,xe))&&i==="CONNECTING"&&(J(this,Jn,"connecting"),this.dispatchEvent(new Event("connecting"))),!R(this,jn)&&i!=null&&i.includes("CONNECT")){J(this,jn,!0);for(let e of R(this,$s))e(!0)}else if(R(this,jn)&&(!i||i==="NO_DEVICES_AVAILABLE")){J(this,jn,!1);for(let e of R(this,$s))e(!1)}},v0=new WeakSet,_A=async function(){var i;let{SESSION_RESUMED:e}=st.SessionState;if(Gs().getSessionState()===e&&R(this,xe).castSrc===((i=M0())==null?void 0:i.media.contentId)){Fr.add(R(this,xe)),Object.entries(R(this,Nr)).forEach(([t,r])=>{R(this,ei).controller.addEventListener(t,r)});try{await cD(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}R(this,Nr)[st.RemotePlayerEventType.IS_PAUSED_CHANGED](),R(this,Nr)[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},_c=new WeakSet,E0=function(){!st||R(this,Tc)||(J(this,Tc,!0),yA(R(this,xe).castOptions),R(this,xe).textTracks.addEventListener("change",()=>ze(this,Ac,c0).call(this)),ze(this,Cc,g0).call(this),J(this,ei,new st.RemotePlayer),new st.RemotePlayerController(R(this,ei)),J(this,Nr,{[st.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(J(this,Jn,"connected"),this.dispatchEvent(new Event("connect"))):(ze(this,p0,cA).call(this),J(this,Jn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[st.RemotePlayerEventType.DURATION_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("durationchange"))},[st.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=R(this,Ur,ks))!=null&&i.isMediaLoaded&&R(this,xe).dispatchEvent(new Event("timeupdate"))},[st.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("resize"))},[st.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event(this.paused?"pause":"play"))},[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=R(this,Ur,ks))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&R(this,xe).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=R(this,Ur,ks))==null?void 0:e.playerState]))},[st.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=R(this,Ur,ks))!=null&&i.isMediaLoaded&&(await Promise.resolve(),ze(this,b0,hA).call(this))}}))},b0=new WeakSet,hA=function(){ze(this,Ac,c0).call(this)},Ac=new WeakSet,c0=async function(){var i,e,t,r,s;if(!R(this,Ur,ks))return;let n=((e=(i=R(this,ei).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...R(this,xe).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=D0())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await uD(h)}catch(h){console.error(h)}};var fD=i=>{var e,t,r,s,n,a,o,l,d;return t=class extends i{constructor(){super(...arguments),j(this,a),j(this,l),j(this,r,{paused:!1}),j(this,s,TA()),j(this,n,void 0)}get remote(){return R(this,n)?R(this,n):lD()?(dD(),Hs.set(this,{loadOnPrompt:()=>ze(this,l,d).call(this)}),J(this,n,new hD(this))):super.remote}attributeChangedCallback(u,c,h){if(super.attributeChangedCallback(u,c,h),u==="cast-receiver"&&h){R(this,s).receiverApplicationId=h;return}if(R(this,a,o))switch(u){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var u,c;if(!R(this,a,o))return super.load();let h=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),f=[...this.querySelectorAll("track")].filter(({kind:E,src:T})=>T&&(E==="subtitles"||E==="captions")),m=[],p=0;f.length&&(h.tracks=f.map(E=>{let T=++p;m.length===0&&E.track.mode==="showing"&&m.push(T);let y=new chrome.cast.media.Track(T,chrome.cast.media.TrackType.TEXT);return y.trackContentId=E.src,y.trackContentType="text/vtt",y.subtype=E.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,y.name=E.label,y.language=E.srclang,y})),this.castStreamType==="live"?h.streamType=chrome.cast.media.StreamType.LIVE:h.streamType=chrome.cast.media.StreamType.BUFFERED,h.metadata=new chrome.cast.media.GenericMediaMetadata,h.metadata.title=this.title,h.metadata.images=[{url:this.poster}];let g=new chrome.cast.media.LoadRequest(h);g.currentTime=(u=super.currentTime)!=null?u:0,g.autoplay=!R(this,r).paused,g.activeTrackIds=m,await((c=D0())==null?void 0:c.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var u;if(R(this,a,o)){R(this,a,o).isPaused&&((u=R(this,a,o).controller)==null||u.playOrPause());return}return super.play()}pause(){var u;if(R(this,a,o)){R(this,a,o).isPaused||(u=R(this,a,o).controller)==null||u.playOrPause();return}super.pause()}get castOptions(){return R(this,s)}get castReceiver(){var u;return(u=this.getAttribute("cast-receiver"))!=null?u:void 0}set castReceiver(u){this.castReceiver!=u&&this.setAttribute("cast-receiver",`${u}`)}get castSrc(){var u,c,h;return(h=(c=this.getAttribute("cast-src"))!=null?c:(u=this.querySelector("source"))==null?void 0:u.src)!=null?h:this.currentSrc}set castSrc(u){this.castSrc!=u&&this.setAttribute("cast-src",`${u}`)}get castContentType(){var u;return(u=this.getAttribute("cast-content-type"))!=null?u:void 0}set castContentType(u){this.setAttribute("cast-content-type",`${u}`)}get castStreamType(){var u,c;return(c=(u=this.getAttribute("cast-stream-type"))!=null?u:this.streamType)!=null?c:void 0}set castStreamType(u){this.setAttribute("cast-stream-type",`${u}`)}get readyState(){if(R(this,a,o))switch(R(this,a,o).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return R(this,a,o)?R(this,a,o).isPaused:super.paused}get muted(){var u;return R(this,a,o)?(u=R(this,a,o))==null?void 0:u.isMuted:super.muted}set muted(u){var c;if(R(this,a,o)){(u&&!R(this,a,o).isMuted||!u&&R(this,a,o).isMuted)&&((c=R(this,a,o).controller)==null||c.muteOrUnmute());return}super.muted=u}get volume(){var u,c;return R(this,a,o)?(c=(u=R(this,a,o))==null?void 0:u.volumeLevel)!=null?c:1:super.volume}set volume(u){var c;if(R(this,a,o)){R(this,a,o).volumeLevel=+u,(c=R(this,a,o).controller)==null||c.setVolumeLevel();return}super.volume=u}get duration(){var u,c,h;return R(this,a,o)&&(u=R(this,a,o))!=null&&u.isMediaLoaded?(h=(c=R(this,a,o))==null?void 0:c.duration)!=null?h:NaN:super.duration}get currentTime(){var u,c,h;return R(this,a,o)&&(u=R(this,a,o))!=null&&u.isMediaLoaded?(h=(c=R(this,a,o))==null?void 0:c.currentTime)!=null?h:0:super.currentTime}set currentTime(u){var c;if(R(this,a,o)){R(this,a,o).currentTime=u,(c=R(this,a,o).controller)==null||c.seek();return}super.currentTime=u}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakSet,o=function(){var u,c;return(c=(u=Hs.get(this.remote))==null?void 0:u.getCastPlayer)==null?void 0:c.call(u)},l=new WeakSet,d=async function(){R(this,r).paused=o0(t.prototype,this,"paused"),o0(t.prototype,this,"pause").call(this),this.muted=o0(t.prototype,this,"muted");try{await this.load()}catch(u){console.error(u)}},Me(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},Oc=class extends Event{constructor(i,e){super(i),Me(this,"track"),this.track=e.track}},y0=new WeakMap;function K(i){var e;return(e=y0.get(i))!=null?e:mD(i,{})}function mD(i,e){let t=y0.get(i);return t||y0.set(i,t={}),Object.assign(t,e)}function T0(i,e){let t=i.videoTracks;K(e).media=i,K(e).renditionSet||(K(e).renditionSet=new Set);let r=K(t).trackSet;r.add(e);let s=r.size-1;s in A0.prototype||Object.defineProperty(A0.prototype,s,{get(){return[...K(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Oc("addtrack",{track:e}))})}function _0(i){var e;let t=(e=K(i).media)==null?void 0:e.videoTracks;t&&(K(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Oc("removetrack",{track:i}))}))}function pD(i){var e;let t=(e=K(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(K(t).changeRequested)return;K(t).changeRequested=!0,queueMicrotask(()=>{delete K(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Is,Rs,ws,Xn,_o,A0=class extends EventTarget{constructor(){super(),j(this,Xn),j(this,Is,void 0),j(this,Rs,void 0),j(this,ws,void 0),K(this).trackSet=new Set}[Symbol.iterator](){return R(this,Xn,_o).values()}get length(){return R(this,Xn,_o).size}getTrackById(i){var e;return(e=[...R(this,Xn,_o)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...R(this,Xn,_o)].findIndex(i=>i.selected)}get onaddtrack(){return R(this,Is)}set onaddtrack(i){R(this,Is)&&(this.removeEventListener("addtrack",R(this,Is)),J(this,Is,void 0)),typeof i=="function"&&(J(this,Is,i),this.addEventListener("addtrack",i))}get onremovetrack(){return R(this,Rs)}set onremovetrack(i){R(this,Rs)&&(this.removeEventListener("removetrack",R(this,Rs)),J(this,Rs,void 0)),typeof i=="function"&&(J(this,Rs,i),this.addEventListener("removetrack",i))}get onchange(){return R(this,ws)}set onchange(i){R(this,ws)&&(this.removeEventListener("change",R(this,ws)),J(this,ws,void 0)),typeof i=="function"&&(J(this,ws,i),this.addEventListener("change",i))}};Is=new WeakMap,Rs=new WeakMap,ws=new WeakMap,Xn=new WeakSet,_o=function(){return K(this).trackSet};var Nc=class extends Event{constructor(i,e){super(i),Me(this,"rendition"),this.rendition=e.rendition}};function gD(i,e){let t=K(i).media.videoRenditions;K(e).media=K(i).media,K(e).track=i;let r=K(i).renditionSet;r.add(e);let s=r.size-1;s in S0.prototype||Object.defineProperty(S0.prototype,s,{get(){return Qn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new Nc("addrendition",{rendition:e}))})}function vD(i){let e=K(i).media.videoRenditions,t=K(i).track;K(t).renditionSet.delete(i),queueMicrotask(()=>{K(i).track.selected&&e.dispatchEvent(new Nc("removerendition",{rendition:i}))})}function ED(i){let e=K(i).media.videoRenditions;!e||K(e).changeRequested||(K(e).changeRequested=!0,queueMicrotask(()=>{delete K(e).changeRequested,K(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function Qn(i){return[...K(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...K(e).renditionSet])}var Cs,Ds,Ms,S0=class extends EventTarget{constructor(){super(...arguments),j(this,Cs,void 0),j(this,Ds,void 0),j(this,Ms,void 0)}[Symbol.iterator](){return Qn(this).values()}get length(){return Qn(this).length}getRenditionById(i){var e;return(e=Qn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Qn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Qn(this).entries())t.selected=e===i}get onaddrendition(){return R(this,Cs)}set onaddrendition(i){R(this,Cs)&&(this.removeEventListener("addrendition",R(this,Cs)),J(this,Cs,void 0)),typeof i=="function"&&(J(this,Cs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return R(this,Ds)}set onremoverendition(i){R(this,Ds)&&(this.removeEventListener("removerendition",R(this,Ds)),J(this,Ds,void 0)),typeof i=="function"&&(J(this,Ds,i),this.addEventListener("removerendition",i))}get onchange(){return R(this,Ms)}set onchange(i){R(this,Ms)&&(this.removeEventListener("change",R(this,Ms)),J(this,Ms,void 0)),typeof i=="function"&&(J(this,Ms,i),this.addEventListener("change",i))}};Cs=new WeakMap,Ds=new WeakMap,Ms=new WeakMap;var Ao,bD=class{constructor(){Me(this,"src"),Me(this,"id"),Me(this,"width"),Me(this,"height"),Me(this,"bitrate"),Me(this,"frameRate"),Me(this,"codec"),j(this,Ao,!1)}get selected(){return R(this,Ao)}set selected(i){R(this,Ao)!==i&&(J(this,Ao,i),ED(this))}};Ao=new WeakMap;var So,AA=class{constructor(){Me(this,"id"),Me(this,"kind"),Me(this,"label",""),Me(this,"language",""),Me(this,"sourceBuffer"),j(this,So,!1)}addRendition(i,e,t,r,s,n){let a=new bD;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,gD(this,a),a}removeRendition(i){vD(i)}get selected(){return R(this,So)}set selected(i){R(this,So)!==i&&(J(this,So,i),i===!0&&pD(this))}};So=new WeakMap;function yD(i,e){let t=K(i).media.audioRenditions;K(e).media=K(i).media,K(e).track=i;let r=K(i).renditionSet;r.add(e);let s=r.size-1;s in x0.prototype||Object.defineProperty(x0.prototype,s,{get(){return Zn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new Nc("addrendition",{rendition:e}))})}function TD(i){let e=K(i).media.audioRenditions,t=K(i).track;K(t).renditionSet.delete(i),queueMicrotask(()=>{K(i).track.enabled&&e.dispatchEvent(new Nc("removerendition",{rendition:i}))})}function _D(i){let e=K(i).media.audioRenditions;!e||K(e).changeRequested||(K(e).changeRequested=!0,queueMicrotask(()=>{delete K(e).changeRequested,K(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Zn(i){return[...K(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...K(e).renditionSet])}var Ps,Os,Ns,x0=class extends EventTarget{constructor(){super(...arguments),j(this,Ps,void 0),j(this,Os,void 0),j(this,Ns,void 0)}[Symbol.iterator](){return Zn(this).values()}get length(){return Zn(this).length}getRenditionById(i){var e;return(e=Zn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Zn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Zn(this).entries())t.selected=e===i}get onaddrendition(){return R(this,Ps)}set onaddrendition(i){R(this,Ps)&&(this.removeEventListener("addrendition",R(this,Ps)),J(this,Ps,void 0)),typeof i=="function"&&(J(this,Ps,i),this.addEventListener("addrendition",i))}get onremoverendition(){return R(this,Os)}set onremoverendition(i){R(this,Os)&&(this.removeEventListener("removerendition",R(this,Os)),J(this,Os,void 0)),typeof i=="function"&&(J(this,Os,i),this.addEventListener("removerendition",i))}get onchange(){return R(this,Ns)}set onchange(i){R(this,Ns)&&(this.removeEventListener("change",R(this,Ns)),J(this,Ns,void 0)),typeof i=="function"&&(J(this,Ns,i),this.addEventListener("change",i))}};Ps=new WeakMap,Os=new WeakMap,Ns=new WeakMap;var xo,AD=class{constructor(){Me(this,"src"),Me(this,"id"),Me(this,"bitrate"),Me(this,"codec"),j(this,xo,!1)}get selected(){return R(this,xo)}set selected(i){R(this,xo)!==i&&(J(this,xo,i),_D(this))}};xo=new WeakMap;function L0(i,e){let t=i.audioTracks;K(e).media=i,K(e).renditionSet||(K(e).renditionSet=new Set);let r=K(t).trackSet;r.add(e);let s=r.size-1;s in I0.prototype||Object.defineProperty(I0.prototype,s,{get(){return[...K(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Oc("addtrack",{track:e}))})}function k0(i){var e;let t=(e=K(i).media)==null?void 0:e.audioTracks;t&&(K(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Oc("removetrack",{track:i}))}))}function SD(i){let e=K(i).media.audioTracks;!e||K(e).changeRequested||(K(e).changeRequested=!0,queueMicrotask(()=>{delete K(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var Us,Fs,Bs,Lo,Sc,I0=class extends EventTarget{constructor(){super(),j(this,Lo),j(this,Us,void 0),j(this,Fs,void 0),j(this,Bs,void 0),K(this).trackSet=new Set}[Symbol.iterator](){return R(this,Lo,Sc).values()}get length(){return R(this,Lo,Sc).size}getTrackById(i){var e;return(e=[...R(this,Lo,Sc)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return R(this,Us)}set onaddtrack(i){R(this,Us)&&(this.removeEventListener("addtrack",R(this,Us)),J(this,Us,void 0)),typeof i=="function"&&(J(this,Us,i),this.addEventListener("addtrack",i))}get onremovetrack(){return R(this,Fs)}set onremovetrack(i){R(this,Fs)&&(this.removeEventListener("removetrack",R(this,Fs)),J(this,Fs,void 0)),typeof i=="function"&&(J(this,Fs,i),this.addEventListener("removetrack",i))}get onchange(){return R(this,Bs)}set onchange(i){R(this,Bs)&&(this.removeEventListener("change",R(this,Bs)),J(this,Bs,void 0)),typeof i=="function"&&(J(this,Bs,i),this.addEventListener("change",i))}};Us=new WeakMap,Fs=new WeakMap,Bs=new WeakMap,Lo=new WeakSet,Sc=function(){return K(this).trackSet};var ko,SA=class{constructor(){Me(this,"id"),Me(this,"kind"),Me(this,"label",""),Me(this,"language",""),Me(this,"sourceBuffer"),j(this,ko,!1)}addRendition(i,e,t){let r=new AD;return r.src=i,r.codec=e,r.bitrate=t,yD(this,r),r}removeRendition(i){TD(i)}get enabled(){return R(this,ko)}set enabled(i){R(this,ko)!==i&&(J(this,ko,i),SD(this))}};ko=new WeakMap;var fA=Dc(globalThis.HTMLMediaElement,"video"),mA=Dc(globalThis.HTMLMediaElement,"audio");function xD(i){if(!(i!=null&&i.prototype))return i;let e=Dc(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return LD(this)}});let t=Dc(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return kD(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new AA;return l.kind=n,l.label=a,l.language=o,T0(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=_0),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new SA;return l.kind=n,l.label=a,l.language=o,L0(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=k0),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=K(n).videoRenditions;return a||(a=new S0,K(a).media=n,K(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=K(n).audioRenditions;return a||(a=new x0,K(a).media=n,K(n).audioRenditions=a),a};return i}function Dc(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function LD(i){var e;let t=K(i).videoTracks;if(!t&&(t=new A0,K(i).videoTracks=t,fA)){let r=fA.call((e=i.nativeEl)!=null?e:i);for(let s of r)T0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof AA)){for(let n of r)_0(n);return}T0(i,s.track)}),r.addEventListener("removetrack",s=>{_0(s.track)})}return t}function kD(i){var e;let t=K(i).audioTracks;if(!t&&(t=new I0,K(i).audioTracks=t,mA)){let r=mA.call((e=i.nativeEl)!=null?e:i);for(let s of r)L0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof SA)){for(let n of r)k0(n);return}L0(i,s.track)}),r.addEventListener("removetrack",s=>{k0(s.track)})}return t}Pc.push("castchange","entercast","leavecast");var O={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},ID=Object.values(O),RD=rD(),wD="mux-video",Zi,Io,xc,Ro,Lc,kc,Ic,Rc,wo,wc,CD=class extends d0{constructor(){super(),j(this,wo),j(this,Zi,void 0),j(this,Io,void 0),j(this,xc,void 0),j(this,Ro,{}),j(this,Lc,void 0),j(this,kc,void 0),j(this,Ic,void 0),j(this,Rc,void 0),J(this,xc,Q_())}static get observedAttributes(){var i;return[...ID,...(i=d0.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(O.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?zn.includes(i)?this.setAttribute(O.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(O.PREFER_CMCD))}get playerInitTime(){return R(this,xc)}get playerSoftwareName(){var i;return(i=R(this,Ic))!=null?i:wD}set playerSoftwareName(i){J(this,Ic,i)}get playerSoftwareVersion(){var i;return(i=R(this,kc))!=null?i:RD}set playerSoftwareVersion(i){J(this,kc,i)}get _hls(){var i;return(i=R(this,Zi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=Z_(this.nativeEl))!=null?i:null}get errorTranslator(){return R(this,Rc)}set errorTranslator(i){J(this,Rc,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(O.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(O.TYPE,i):this.removeAttribute(O.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(O.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(O.DEBUG,""):this.removeAttribute(O.DEBUG))}get disableTracking(){return this.hasAttribute(O.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(O.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(O.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(O.DISABLE_COOKIES,""):this.removeAttribute(O.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(O.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(O.START_TIME):this.setAttribute(O.START_TIME,`${i}`))}get playbackId(){var i;return(i=this.getAttribute(O.PLAYBACK_ID))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(O.PLAYBACK_ID,i):this.removeAttribute(O.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(O.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(O.MAX_RESOLUTION,i):this.removeAttribute(O.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(O.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(O.MIN_RESOLUTION,i):this.removeAttribute(O.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(O.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(O.RENDITION_ORDER,i):this.removeAttribute(O.RENDITION_ORDER))}get customDomain(){var i;return(i=this.getAttribute(O.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(O.CUSTOM_DOMAIN,i):this.removeAttribute(O.CUSTOM_DOMAIN))}get ended(){return n0(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(O.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(O.ENV_KEY,i):this.removeAttribute(O.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(O.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(O.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(O.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(O.STREAM_TYPE))!=null?i:gc(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(O.STREAM_TYPE,i):this.removeAttribute(O.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(O.TARGET_LIVE_WINDOW)?+this.getAttribute(O.TARGET_LIVE_WINDOW):J_(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(O.TARGET_LIVE_WINDOW):this.setAttribute(O.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(O.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return eA(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(O.LIVE_EDGE_OFFSET))return+this.getAttribute(O.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(O.LIVE_EDGE_OFFSET):this.setAttribute(O.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return bo(this.nativeEl)}async addCuePoints(i){return i0(this.nativeEl,i)}get activeCuePoint(){return r0(this.nativeEl)}get cuePoints(){return q_(this.nativeEl)}getStartDate(){return Y_(this.nativeEl,this._hls)}get currentPdt(){return z_(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(O.PREFER_PLAYBACK);if(i===Jt.MSE||i===Jt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Jt.MSE||i===Jt.NATIVE?this.setAttribute(O.PREFER_PLAYBACK,i):this.removeAttribute(O.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![O.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...R(this,Ro)}}set metadata(i){J(this,Ro,i!=null?i:{}),this.mux&&this.mux.emit("hb",R(this,Ro))}get _hlsConfig(){return R(this,Lc)}set _hlsConfig(i){J(this,Lc,i)}load(){J(this,Zi,rA(this,this.nativeEl,R(this,Zi)))}unload(){a0(this.nativeEl,R(this,Zi)),J(this,Zi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(d0.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case O.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case O.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?ze(this,wo,wc).call(this):n&&!a?this.unload():n&&a&&(this.unload(),ze(this,wo,wc).call(this));break}case"autoplay":if(t===e)break;(r=R(this,Zi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=R(this,Zi))==null||s.setPreload(t);break;case O.PLAYBACK_ID:this.src=To(this);break;case O.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case O.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case O.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case O.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!R(this,Zi)&&ze(this,wo,wc).call(this)}disconnectedCallback(){this.unload()}};Zi=new WeakMap,Io=new WeakMap,xc=new WeakMap,Ro=new WeakMap,Lc=new WeakMap,kc=new WeakMap,Ic=new WeakMap,Rc=new WeakMap,wo=new WeakSet,wc=async function(){R(this,Io)||(await J(this,Io,Promise.resolve()),J(this,Io,null),this.load())};var R0=class extends fD(xD(CD)){};l0.customElements.get("mux-video")||(l0.customElements.define("mux-video",R0),l0.MuxVideoElement=R0);var xA=R0;var DD="en",Ws={code:DD};var LA="en";function ce(i,e=!0){var s,n;let t=e&&(n=(s=Ws)==null?void 0:s[i])!=null?n:i,r=e?Ws.code:LA;return new P0(t,r)}var P0=class{constructor(e,t=(r=>(r=Ws.code)!=null?r:LA)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,r)=>{var s;return(s=e[r])!=null?s:""})}toString(){return this.message}};function kA(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Uc(t)}: ${r}; `)}),e?e.trim():void 0}function Uc(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Fc(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Ji(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function O0(i){let e=MD(i).toString();return e?"?"+e:""}function MD(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}function Br(i){let e=(i!=null?i:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}var N0=(i,e)=>!i||!e?!1:i.contains(e)?!0:N0(i,e.getRootNode().host);var IA="mux.com",PD=()=>{try{return"2.5.0"}catch{}return"UNKNOWN"},OD=PD(),$c=()=>OD,RA=(i,{token:e,customDomain:t=IA,thumbnailTime:r}={})=>{let s=e==null?r:void 0,{aud:n}=Br(e);if(!(e&&n!=="t"))return`https://image.${t}/${i}/thumbnail.webp${O0({token:e,time:s})}`},wA=(i,{token:e,customDomain:t=IA}={})=>{let{aud:r}=Br(e);if(!(e&&r!=="s"))return`https://image.${t}/${i}/storyboard.vtt${O0({token:e,format:"webp"})}`},Co=i=>{if(i){if([ye.LIVE,ye.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return ye.LIVE}};var ND={crossorigin:"crossOrigin",playsinline:"playsInline"};function CA(i){var e;return(e=ND[i])!=null?e:Fc(i)}var Vs,Ks,It,Bc=class{constructor(e,t){Xe(this,Vs,void 0);Xe(this,Ks,void 0);Xe(this,It,[]);Wt(this,Vs,e),Wt(this,Ks,t)}[Symbol.iterator](){return Ee(this,It).values()}get length(){return Ee(this,It).length}get value(){var e;return(e=Ee(this,It).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Wt(this,It,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Ee(this,It)[e]}values(){return Ee(this,It).values()}keys(){return Ee(this,It).keys()}forEach(e){Ee(this,It).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||Ee(this,It).push(s)}),!(this.value===""&&!((t=Ee(this,Vs))!=null&&t.hasAttribute(`${Ee(this,Ks)}`)))&&((r=Ee(this,Vs))==null||r.setAttribute(`${Ee(this,Ks)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{Ee(this,It).splice(Ee(this,It).indexOf(r),1)}),(t=Ee(this,Vs))==null||t.setAttribute(`${Ee(this,Ks)}`,`${this.value}`)}contains(e){return Ee(this,It).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};Vs=new WeakMap,Ks=new WeakMap,It=new WeakMap;var DA=`[mux-player ${$c()}]`;function $r(...i){console.warn(DA,...i)}function ti(...i){console.error(DA,...i)}function U0(i){var t;let e=(t=i.message)!=null?t:"";if(i.context&&(e+=` ${i.context}`),i.file){let r="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${ce("Read more: ")}
1644
- ${r}${i.file}`}$r(e)}var xt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},qs={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},PA=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),UD=Pc.filter(i=>i!=="error"),FD=Object.values(xt).filter(i=>![xt.PLAYSINLINE].includes(i)),BD=Object.values(qs);function OA(i){i.querySelectorAll(":scope > track").forEach(e=>{var t;(t=i.media)==null||t.append(e.cloneNode())}),UD.forEach(e=>{var t;(t=i.media)==null||t.addEventListener(e,r=>{i.dispatchEvent(new Event(r.type))})})}var F0=class extends $e.HTMLElement{static get observedAttributes(){return[...FD,...BD]}constructor(){super(),this.querySelectorAll(":scope > track").forEach(r=>{var s;(s=this.media)==null||s.append(r.cloneNode())});let e=r=>{for(let s of r)s.type==="childList"&&(s.removedNodes.forEach(n=>{var o,l;let a=(o=this.media)==null?void 0:o.querySelector(`track[src="${n.src}"]`);a&&((l=this.media)==null||l.removeChild(a))}),s.addedNodes.forEach(n=>{var a;(a=this.media)==null||a.append(n.cloneNode())}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,r){var s,n;switch(e){case qs.MUTED:{this.media&&(this.media.muted=r!=null,this.media.defaultMuted=r!=null);return}case qs.VOLUME:{let a=(s=Ji(r))!=null?s:1;this.media&&(this.media.volume=a);return}case qs.PLAYBACKRATE:{let a=(n=Ji(r))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:PA}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:PA}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=Ji(this.getAttribute(qs.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(qs.PLAYBACKRATE,`${e}`):this.removeAttribute(qs.PLAYBACKRATE)}get crossOrigin(){return Do(this,xt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(xt.CROSSORIGIN,`${e}`)}get autoplay(){return Do(this,xt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(xt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(xt.AUTOPLAY)}get loop(){return Do(this,xt.LOOP)!=null}set loop(e){e?this.setAttribute(xt.LOOP,""):this.removeAttribute(xt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return Do(this,xt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(xt.MUTED,""):this.removeAttribute(xt.MUTED)}get playsInline(){return Do(this,xt.PLAYSINLINE)!=null}set playsInline(e){ti("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(xt.PRELOAD,e):this.removeAttribute(xt.PRELOAD)}};function Do(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}var B0=F0;var $D=Object.defineProperty,HD=(i,e,t)=>e in i?$D(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,GD=(i,e,t)=>(HD(i,typeof e!="symbol"?e+"":e,t),t),$A=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},de=(i,e,t)=>($A(i,e,"read from private field"),t?t.call(i):e.get(i)),er=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},cr=(i,e,t,r)=>($A(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ea,Hc,Ys,Mo,Hr,Gr,Wr,zs,ta,Gc,Ti,NA=1,UA=0,WD=1,VD={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},hr=class extends A.DocumentFragment{constructor(e,t,r=VD){var s;super(),er(this,ea,void 0),er(this,Hc,void 0),this.append(e.content.cloneNode(!0)),cr(this,ea,HA(this)),cr(this,Hc,r),(s=r.createCallback)==null||s.call(r,this,de(this,ea),t),r.processCallback(this,de(this,ea),t)}update(e){de(this,Hc).processCallback(this,de(this,ea),e)}};ea=new WeakMap;Hc=new WeakMap;var HA=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new $0;for([t,r]of BA(s.value))if(!t)n.append(r);else{let a=new Rt(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===NA&&!(s instanceof HTMLTemplateElement))HA(s,e);else if(s.nodeType===NA||s.data.includes("{{")){let n=[];if(s.data)for([t,r]of BA(s.data))if(!t)n.push(new Text(r));else{let a=new fr(i);n.push(a),e.push([r,a])}else if(s instanceof HTMLTemplateElement){let a=new Po(i,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},FA={},BA=i=>{let e="",t=0,r=FA[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([UA,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([WD,e.trim()]),e="",s++):e+=n||"";return e&&r.push([UA,(t>0?"{{":"")+e]),FA[i]=r},KD=11,Wc=class{get value(){return""}set value(e){}toString(){return this.value}},GA=new WeakMap,$0=class{constructor(){er(this,Ys,[])}[Symbol.iterator](){return de(this,Ys).values()}get length(){return de(this,Ys).length}item(e){return de(this,Ys)[e]}append(...e){for(let t of e)t instanceof Rt&&GA.set(t,this),de(this,Ys).push(t)}toString(){return de(this,Ys).join("")}};Ys=new WeakMap;var Rt=class extends Wc{constructor(e,t,r){super(),er(this,zs),er(this,Mo,""),er(this,Hr,void 0),er(this,Gr,void 0),er(this,Wr,void 0),cr(this,Hr,e),cr(this,Gr,t),cr(this,Wr,r)}get attributeName(){return de(this,Gr)}get attributeNamespace(){return de(this,Wr)}get element(){return de(this,Hr)}get value(){return de(this,Mo)}set value(e){de(this,Mo)!==e&&(cr(this,Mo,e),!de(this,zs,ta)||de(this,zs,ta).length===1?e==null?de(this,Hr).removeAttributeNS(de(this,Wr),de(this,Gr)):de(this,Hr).setAttributeNS(de(this,Wr),de(this,Gr),e):de(this,Hr).setAttributeNS(de(this,Wr),de(this,Gr),de(this,zs,ta)))}get booleanValue(){return de(this,Hr).hasAttributeNS(de(this,Wr),de(this,Gr))}set booleanValue(e){if(!de(this,zs,ta)||de(this,zs,ta).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};Mo=new WeakMap;Hr=new WeakMap;Gr=new WeakMap;Wr=new WeakMap;zs=new WeakSet;ta=function(){return GA.get(this)};var fr=class extends Wc{constructor(e,t){super(),er(this,Gc,void 0),er(this,Ti,void 0),cr(this,Gc,e),cr(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return de(this,Ti)}get parentNode(){return de(this,Gc)}get nextSibling(){return de(this,Ti)[de(this,Ti).length-1].nextSibling}get previousSibling(){return de(this,Ti)[0].previousSibling}get value(){return de(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===KD?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),cr(this,Ti,qD(de(this,Ti)[0].parentNode,de(this,Ti),t,this.nextSibling))}};Gc=new WeakMap;Ti=new WeakMap;var Po=class extends fr{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),GD(this,"directive"),this.expression=s,this.template=t,this.directive=r}};function qD(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)r=t[--d,--l];if(s==d)for(;s<l;)i.insertBefore(t[s++],r);if(s==l)for(;s<d;)i.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:r,n==o?n=a:s<l&&t[s]==a?(i.replaceChild(o,n),n=a):i.insertBefore(o,n);for(;n!=r;)a=n.nextSibling,i.removeChild(n),n=a}return t}var WA={string:i=>String(i)},Kc=class{constructor(e){this.template=e,this.state=void 0}},js=new WeakMap,Xs=new WeakMap,H0={partial:(i,e)=>{e[i.expression]=new Kc(i.template)},if:(i,e)=>{var t;if(KA(i.expression,e))if(js.get(i)!==i.template){js.set(i,i.template);let r=new hr(i.template,e,qc);i.replace(r),Xs.set(i,r)}else(t=Xs.get(i))==null||t.update(e);else i.replace(""),js.delete(i),Xs.delete(i)}},YD=Object.keys(H0),qc={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof Po){if(!a.directive){let l=YD.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=H0[a.directive])==null||r.call(H0,a,t);continue}let o=KA(n,t);if(o instanceof Kc){js.get(a)!==o.template?(js.set(a,o.template),o=new hr(o.template,o.state,qc),a.value=o,Xs.set(a,o)):(s=Xs.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,js.delete(a),Xs.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,js.delete(a),Xs.delete(a))}}},VA={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>i<e,"<=":(i,e)=>i<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=WA[e])==null?void 0:t.call(WA,i)}};function zD(i){return jD(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function KA(i,e={}){var t,r,s,n,a,o,l;let d=zD(i);if(d.length===0||d.some(({type:u})=>!u))return Oo(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return Oo(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let m=(s=h[f])==null?void 0:s.token,p=(n=h[f+1])==null?void 0:n.token,g=(a=h[f+2])==null?void 0:a.token;m&&p==="="&&(c[m]=No(g,e))}return u}if(d.length===1)return Vc(d[0])?No(d[0].token,e):Oo(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=VA[u];if(!c||!Vc(d[1]))return Oo(i);let h=No(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=VA[u];if(!c||!Vc(d[0])||!Vc(d[2]))return Oo(i);let h=No(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=No(d[2].token,e);return c(h,f)}}function Oo(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function Vc({type:i}){return["number","boolean","string","param"].includes(i)}function No(i,e){let t=i[0],r=i.slice(-1);return i==="true"||i==="false"?i==="true":t===r&&["'",'"'].includes(t)?i.slice(1,-1):zo(i)?parseFloat(i):e[i]}function jD(i,e){let t,r,s,n=[];for(;i;){s=null,t=i.length;for(let a in e)r=e[a].exec(i),r&&r.index<t&&(s={token:r[0],type:a,matches:r.slice(1)},t=r.index);t&&n.push({token:i.substr(0,t),type:void 0}),s&&n.push(s),i=i.substr(t+(s?s.token.length:0))}return n}var XD=Object.defineProperty,QD=(i,e,t)=>e in i?XD(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Fo=(i,e,t)=>(QD(i,typeof e!="symbol"?e+"":e,t),t),Y0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},V0=(i,e,t)=>(Y0(i,e,"read from private field"),t?t.call(i):e.get(i)),Uo=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Qs=(i,e,t,r)=>(Y0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),G0=(i,e,t)=>(Y0(i,e,"access private method"),t),ia,Yc,ra,K0,qA,zc,q0,W0={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},YA=P.createElement("template");YA.innerHTML=`
1643
+ `);var vA=(i,{tag:e,is:t})=>{var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,T;let y=(r=globalThis.document)==null?void 0:r.createElement(e,{is:t}),S=y?sD(y):[];return s=class extends i{constructor(){super(),j(this,c),j(this,f),j(this,p),j(this,E),j(this,l,void 0),j(this,d,void 0),j(this,u,new Map),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0)))}static get observedAttributes(){var _,L,x;return ze(_=s,a,o).call(_),[...(x=(L=y==null?void 0:y.constructor)==null?void 0:L.observedAttributes)!=null?x:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var _,L,x;return(x=(L=(_=R(this,d))!=null?_:this.shadowRoot.querySelector(e))!=null?L:this.querySelector(":scope > [slot=media]"))!=null?x:this.querySelector(e)}set nativeEl(_){J(this,d,_)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(_){this.toggleAttribute("muted",!!_)}get src(){return this.getAttribute("src")}set src(_){this.setAttribute("src",`${_}`)}get preload(){var _,L;return(L=this.getAttribute("preload"))!=null?L:(_=this.nativeEl)==null?void 0:_.preload}set preload(_){this.setAttribute("preload",`${_}`)}init(){var _,L;if(!this.nativeEl){let x=document.createElement(e,{is:t});x.part=e,this.shadowRoot.querySelector('slot[name="media"]').append(x)}this.nativeEl.muted=this.hasAttribute("muted");for(let x of S)ze(this,p,g).call(this,x);this.shadowRoot.addEventListener("slotchange",this);for(let x of this.constructor.Events)(L=(_=this.shadowRoot).addEventListener)==null||L.call(_,x,this,!0)}handleEvent(_){if(_.type==="slotchange"){ze(this,f,m).call(this);return}_.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(_.type,{detail:_.detail}))}attributeChangedCallback(_,L,x){ze(this,c,h).call(this),ze(this,E,T).call(this,_,L,x)}connectedCallback(){ze(this,c,h).call(this)}},n=new WeakMap,a=new WeakSet,o=function(){if(R(this,n))return;J(this,n,!0);let _=new Set(this.observedAttributes);_.delete("muted");for(let L of S)if(!(L in this.prototype))if(typeof y[L]=="function")this.prototype[L]=function(...x){return ze(this,c,h).call(this),this.call?this.call(L,...x):this.nativeEl[L].apply(this.nativeEl,x)};else{let x={get(){var w,M,k;ze(this,c,h).call(this);let D=L.toLowerCase();if(_.has(D)){let U=this.getAttribute(D);return U===null?!1:U===""?!0:U}return(k=(w=this.get)==null?void 0:w.call(this,L))!=null?k:(M=this.nativeEl)==null?void 0:M[L]}};L!==L.toUpperCase()&&(x.set=function(w){ze(this,c,h).call(this);let M=L.toLowerCase();if(_.has(M)){w===!0||w===!1||w==null?this.toggleAttribute(M,!!w):this.setAttribute(M,w);return}if(this.set){this.set(L,w);return}this.nativeEl[L]=w}),Object.defineProperty(this.prototype,L,x)}},l=new WeakMap,d=new WeakMap,u=new WeakMap,c=new WeakSet,h=function(){R(this,l)||(J(this,l,!0),this.init())},f=new WeakSet,m=function(){let _=new Map(R(this,u));this.shadowRoot.querySelector("slot:not([name])").assignedElements().filter(L=>["track","source"].includes(L.localName)).forEach(L=>{var x,w;_.delete(L);let M=R(this,u).get(L);M||(M=L.cloneNode(),R(this,u).set(L,M)),(w=(x=this.nativeEl).append)==null||w.call(x,M),M.localName==="track"&&M.default&&(M.kind==="chapters"||M.kind==="metadata")&&M.track.mode==="disabled"&&(M.track.mode="hidden")}),_.forEach(L=>L.remove())},p=new WeakSet,g=function(_){if(Object.prototype.hasOwnProperty.call(this,_)){let L=this[_];delete this[_],this[_]=L}},E=new WeakSet,T=function(_,L,x){var w,M,k,D,U,B;["id","class"].includes(_)||!s.observedAttributes.includes(_)&&this.constructor.observedAttributes.includes(_)||(x===null?(M=(w=this.nativeEl).removeAttribute)==null||M.call(w,_):((D=(k=this.nativeEl).getAttribute)==null?void 0:D.call(k,_))!=x&&((B=(U=this.nativeEl).setAttribute)==null||B.call(U,_,x)))},j(s,a),Me(s,"Events",Pc),Me(s,"template",e.endsWith("audio")?f0:m0),j(s,n,void 0),s};function sD(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}var u0=globalThis.document?vA(HTMLElement,{tag:"video"}):class{},i5=globalThis.document?vA(HTMLElement,{tag:"audio"}):class{},Hs=new WeakMap,c0=class extends Error{},nD=class extends Error{},aD=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function oD(i){EA()?bA()?i(chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>i(chrome.cast.isAvailable)):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>i(chrome.cast.isAvailable))}}function lD(){return globalThis.chrome}function dD(){let i="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if(globalThis.chrome.cast||document.querySelector(`script[src="${i}"]`))return;let e=document.createElement("script");e.src=i,document.head.append(e)}function EA(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable}function bA(){return typeof cast!="undefined"&&cast.framework}function Gs(){if(bA())return cast.framework.CastContext.getInstance()}function M0(){var i;return(i=Gs())==null?void 0:i.getCurrentSession()}function P0(){var i;return(i=M0())==null?void 0:i.getSessionObj().media[0]}function uD(i){return new Promise((e,t)=>{P0().editTracksInfo(i,e,t)})}function cD(i){return new Promise((e,t)=>{P0().getStatus(i,e,t)})}function yA(i){return Gs().setOptions({...TA(),...i})}function TA(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var yc=new aD,Fr=new WeakSet,st;oD(i=>{i&&!st&&(st=cast.framework,Gs().addEventListener(st.CastContextEventType.CAST_STATE_CHANGED,e=>{yc.forEach(t=>{var r,s;return(s=(r=Hs.get(t)).onCastStateChanged)==null?void 0:s.call(r,e)})}),Gs().addEventListener(st.CastContextEventType.SESSION_STATE_CHANGED,e=>{yc.forEach(t=>{var r,s;return(s=(r=Hs.get(t)).onSessionStateChanged)==null?void 0:s.call(r,e)})}),yc.forEach(e=>{var t,r;return(r=(t=Hs.get(e)).init)==null?void 0:r.call(t)}))});var uA=0,xe,Tc,ei,Nr,Jn,jn,$s,p0,Ur,ks,g0,cA,Cc,v0,E0,_A,_c,b0,y0,hA,Ac,h0,hD=class extends EventTarget{constructor(i){super(),j(this,Ur),j(this,g0),j(this,Cc),j(this,E0),j(this,_c),j(this,y0),j(this,Ac),j(this,xe,void 0),j(this,Tc,void 0),j(this,ei,void 0),j(this,Nr,void 0),j(this,Jn,"disconnected"),j(this,jn,!1),j(this,$s,new Set),j(this,p0,new WeakMap),J(this,xe,i),yc.add(this),Hs.set(this,{init:()=>ze(this,_c,b0).call(this),onCastStateChanged:()=>ze(this,Cc,v0).call(this),onSessionStateChanged:()=>ze(this,E0,_A).call(this),getCastPlayer:()=>R(this,Ur,ks)}),ze(this,_c,b0).call(this)}get state(){return R(this,Jn)}async watchAvailability(i){if(R(this,xe).disableRemotePlayback)throw new c0("disableRemotePlayback attribute is present.");return R(this,p0).set(i,++uA),R(this,$s).add(i),uA}async cancelWatchAvailability(i){if(R(this,xe).disableRemotePlayback)throw new c0("disableRemotePlayback attribute is present.");i?R(this,$s).delete(i):R(this,$s).clear()}async prompt(){var i,e;if(R(this,xe).disableRemotePlayback)throw new c0("disableRemotePlayback attribute is present.");if(!EA())throw new nD("The RemotePlayback API is disabled on this platform.");let t=Fr.has(R(this,xe));Fr.add(R(this,xe)),yA(R(this,xe).castOptions),Object.entries(R(this,Nr)).forEach(([r,s])=>{R(this,ei).controller.addEventListener(r,s)});try{await Gs().requestSession()}catch(r){if(r==="cancel"){t||Fr.delete(R(this,xe));return}throw new Error(r)}(e=(i=Hs.get(R(this,xe)))==null?void 0:i.loadOnPrompt)==null||e.call(i)}};xe=new WeakMap,Tc=new WeakMap,ei=new WeakMap,Nr=new WeakMap,Jn=new WeakMap,jn=new WeakMap,$s=new WeakMap,p0=new WeakMap,Ur=new WeakSet,ks=function(){if(Fr.has(R(this,xe)))return R(this,ei)},g0=new WeakSet,cA=function(){Fr.has(R(this,xe))&&(Object.entries(R(this,Nr)).forEach(([i,e])=>{R(this,ei).controller.removeEventListener(i,e)}),Fr.delete(R(this,xe)),R(this,xe).muted=R(this,ei).isMuted,R(this,xe).currentTime=R(this,ei).savedPlayerState.currentTime,R(this,ei).savedPlayerState.isPaused===!1&&R(this,xe).play())},Cc=new WeakSet,v0=function(){let i=Gs().getCastState();if(Fr.has(R(this,xe))&&i==="CONNECTING"&&(J(this,Jn,"connecting"),this.dispatchEvent(new Event("connecting"))),!R(this,jn)&&i!=null&&i.includes("CONNECT")){J(this,jn,!0);for(let e of R(this,$s))e(!0)}else if(R(this,jn)&&(!i||i==="NO_DEVICES_AVAILABLE")){J(this,jn,!1);for(let e of R(this,$s))e(!1)}},E0=new WeakSet,_A=async function(){var i;let{SESSION_RESUMED:e}=st.SessionState;if(Gs().getSessionState()===e&&R(this,xe).castSrc===((i=P0())==null?void 0:i.media.contentId)){Fr.add(R(this,xe)),Object.entries(R(this,Nr)).forEach(([t,r])=>{R(this,ei).controller.addEventListener(t,r)});try{await cD(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}R(this,Nr)[st.RemotePlayerEventType.IS_PAUSED_CHANGED](),R(this,Nr)[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},_c=new WeakSet,b0=function(){!st||R(this,Tc)||(J(this,Tc,!0),yA(R(this,xe).castOptions),R(this,xe).textTracks.addEventListener("change",()=>ze(this,Ac,h0).call(this)),ze(this,Cc,v0).call(this),J(this,ei,new st.RemotePlayer),new st.RemotePlayerController(R(this,ei)),J(this,Nr,{[st.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(J(this,Jn,"connected"),this.dispatchEvent(new Event("connect"))):(ze(this,g0,cA).call(this),J(this,Jn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[st.RemotePlayerEventType.DURATION_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("durationchange"))},[st.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=R(this,Ur,ks))!=null&&i.isMediaLoaded&&R(this,xe).dispatchEvent(new Event("timeupdate"))},[st.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("resize"))},[st.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event(this.paused?"pause":"play"))},[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=R(this,Ur,ks))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&R(this,xe).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=R(this,Ur,ks))==null?void 0:e.playerState]))},[st.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=R(this,Ur,ks))!=null&&i.isMediaLoaded&&(await Promise.resolve(),ze(this,y0,hA).call(this))}}))},y0=new WeakSet,hA=function(){ze(this,Ac,h0).call(this)},Ac=new WeakSet,h0=async function(){var i,e,t,r,s;if(!R(this,Ur,ks))return;let n=((e=(i=R(this,ei).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...R(this,xe).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=M0())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await uD(h)}catch(h){console.error(h)}};var fD=i=>{var e,t,r,s,n,a,o,l,d;return t=class extends i{constructor(){super(...arguments),j(this,a),j(this,l),j(this,r,{paused:!1}),j(this,s,TA()),j(this,n,void 0)}get remote(){return R(this,n)?R(this,n):lD()?(dD(),Hs.set(this,{loadOnPrompt:()=>ze(this,l,d).call(this)}),J(this,n,new hD(this))):super.remote}attributeChangedCallback(u,c,h){if(super.attributeChangedCallback(u,c,h),u==="cast-receiver"&&h){R(this,s).receiverApplicationId=h;return}if(R(this,a,o))switch(u){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var u,c;if(!R(this,a,o))return super.load();let h=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),f=[...this.querySelectorAll("track")].filter(({kind:E,src:T})=>T&&(E==="subtitles"||E==="captions")),m=[],p=0;f.length&&(h.tracks=f.map(E=>{let T=++p;m.length===0&&E.track.mode==="showing"&&m.push(T);let y=new chrome.cast.media.Track(T,chrome.cast.media.TrackType.TEXT);return y.trackContentId=E.src,y.trackContentType="text/vtt",y.subtype=E.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,y.name=E.label,y.language=E.srclang,y})),this.castStreamType==="live"?h.streamType=chrome.cast.media.StreamType.LIVE:h.streamType=chrome.cast.media.StreamType.BUFFERED,h.metadata=new chrome.cast.media.GenericMediaMetadata,h.metadata.title=this.title,h.metadata.images=[{url:this.poster}];let g=new chrome.cast.media.LoadRequest(h);g.currentTime=(u=super.currentTime)!=null?u:0,g.autoplay=!R(this,r).paused,g.activeTrackIds=m,await((c=M0())==null?void 0:c.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var u;if(R(this,a,o)){R(this,a,o).isPaused&&((u=R(this,a,o).controller)==null||u.playOrPause());return}return super.play()}pause(){var u;if(R(this,a,o)){R(this,a,o).isPaused||(u=R(this,a,o).controller)==null||u.playOrPause();return}super.pause()}get castOptions(){return R(this,s)}get castReceiver(){var u;return(u=this.getAttribute("cast-receiver"))!=null?u:void 0}set castReceiver(u){this.castReceiver!=u&&this.setAttribute("cast-receiver",`${u}`)}get castSrc(){var u,c,h;return(h=(c=this.getAttribute("cast-src"))!=null?c:(u=this.querySelector("source"))==null?void 0:u.src)!=null?h:this.currentSrc}set castSrc(u){this.castSrc!=u&&this.setAttribute("cast-src",`${u}`)}get castContentType(){var u;return(u=this.getAttribute("cast-content-type"))!=null?u:void 0}set castContentType(u){this.setAttribute("cast-content-type",`${u}`)}get castStreamType(){var u,c;return(c=(u=this.getAttribute("cast-stream-type"))!=null?u:this.streamType)!=null?c:void 0}set castStreamType(u){this.setAttribute("cast-stream-type",`${u}`)}get readyState(){if(R(this,a,o))switch(R(this,a,o).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return R(this,a,o)?R(this,a,o).isPaused:super.paused}get muted(){var u;return R(this,a,o)?(u=R(this,a,o))==null?void 0:u.isMuted:super.muted}set muted(u){var c;if(R(this,a,o)){(u&&!R(this,a,o).isMuted||!u&&R(this,a,o).isMuted)&&((c=R(this,a,o).controller)==null||c.muteOrUnmute());return}super.muted=u}get volume(){var u,c;return R(this,a,o)?(c=(u=R(this,a,o))==null?void 0:u.volumeLevel)!=null?c:1:super.volume}set volume(u){var c;if(R(this,a,o)){R(this,a,o).volumeLevel=+u,(c=R(this,a,o).controller)==null||c.setVolumeLevel();return}super.volume=u}get duration(){var u,c,h;return R(this,a,o)&&(u=R(this,a,o))!=null&&u.isMediaLoaded?(h=(c=R(this,a,o))==null?void 0:c.duration)!=null?h:NaN:super.duration}get currentTime(){var u,c,h;return R(this,a,o)&&(u=R(this,a,o))!=null&&u.isMediaLoaded?(h=(c=R(this,a,o))==null?void 0:c.currentTime)!=null?h:0:super.currentTime}set currentTime(u){var c;if(R(this,a,o)){R(this,a,o).currentTime=u,(c=R(this,a,o).controller)==null||c.seek();return}super.currentTime=u}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakSet,o=function(){var u,c;return(c=(u=Hs.get(this.remote))==null?void 0:u.getCastPlayer)==null?void 0:c.call(u)},l=new WeakSet,d=async function(){R(this,r).paused=l0(t.prototype,this,"paused"),l0(t.prototype,this,"pause").call(this),this.muted=l0(t.prototype,this,"muted");try{await this.load()}catch(u){console.error(u)}},Me(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},Oc=class extends Event{constructor(i,e){super(i),Me(this,"track"),this.track=e.track}},T0=new WeakMap;function K(i){var e;return(e=T0.get(i))!=null?e:mD(i,{})}function mD(i,e){let t=T0.get(i);return t||T0.set(i,t={}),Object.assign(t,e)}function _0(i,e){let t=i.videoTracks;K(e).media=i,K(e).renditionSet||(K(e).renditionSet=new Set);let r=K(t).trackSet;r.add(e);let s=r.size-1;s in S0.prototype||Object.defineProperty(S0.prototype,s,{get(){return[...K(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Oc("addtrack",{track:e}))})}function A0(i){var e;let t=(e=K(i).media)==null?void 0:e.videoTracks;t&&(K(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Oc("removetrack",{track:i}))}))}function pD(i){var e;let t=(e=K(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(K(t).changeRequested)return;K(t).changeRequested=!0,queueMicrotask(()=>{delete K(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Is,Rs,ws,Xn,_o,S0=class extends EventTarget{constructor(){super(),j(this,Xn),j(this,Is,void 0),j(this,Rs,void 0),j(this,ws,void 0),K(this).trackSet=new Set}[Symbol.iterator](){return R(this,Xn,_o).values()}get length(){return R(this,Xn,_o).size}getTrackById(i){var e;return(e=[...R(this,Xn,_o)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...R(this,Xn,_o)].findIndex(i=>i.selected)}get onaddtrack(){return R(this,Is)}set onaddtrack(i){R(this,Is)&&(this.removeEventListener("addtrack",R(this,Is)),J(this,Is,void 0)),typeof i=="function"&&(J(this,Is,i),this.addEventListener("addtrack",i))}get onremovetrack(){return R(this,Rs)}set onremovetrack(i){R(this,Rs)&&(this.removeEventListener("removetrack",R(this,Rs)),J(this,Rs,void 0)),typeof i=="function"&&(J(this,Rs,i),this.addEventListener("removetrack",i))}get onchange(){return R(this,ws)}set onchange(i){R(this,ws)&&(this.removeEventListener("change",R(this,ws)),J(this,ws,void 0)),typeof i=="function"&&(J(this,ws,i),this.addEventListener("change",i))}};Is=new WeakMap,Rs=new WeakMap,ws=new WeakMap,Xn=new WeakSet,_o=function(){return K(this).trackSet};var Nc=class extends Event{constructor(i,e){super(i),Me(this,"rendition"),this.rendition=e.rendition}};function gD(i,e){let t=K(i).media.videoRenditions;K(e).media=K(i).media,K(e).track=i;let r=K(i).renditionSet;r.add(e);let s=r.size-1;s in x0.prototype||Object.defineProperty(x0.prototype,s,{get(){return Qn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new Nc("addrendition",{rendition:e}))})}function vD(i){let e=K(i).media.videoRenditions,t=K(i).track;K(t).renditionSet.delete(i),queueMicrotask(()=>{K(i).track.selected&&e.dispatchEvent(new Nc("removerendition",{rendition:i}))})}function ED(i){let e=K(i).media.videoRenditions;!e||K(e).changeRequested||(K(e).changeRequested=!0,queueMicrotask(()=>{delete K(e).changeRequested,K(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function Qn(i){return[...K(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...K(e).renditionSet])}var Cs,Ds,Ms,x0=class extends EventTarget{constructor(){super(...arguments),j(this,Cs,void 0),j(this,Ds,void 0),j(this,Ms,void 0)}[Symbol.iterator](){return Qn(this).values()}get length(){return Qn(this).length}getRenditionById(i){var e;return(e=Qn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Qn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Qn(this).entries())t.selected=e===i}get onaddrendition(){return R(this,Cs)}set onaddrendition(i){R(this,Cs)&&(this.removeEventListener("addrendition",R(this,Cs)),J(this,Cs,void 0)),typeof i=="function"&&(J(this,Cs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return R(this,Ds)}set onremoverendition(i){R(this,Ds)&&(this.removeEventListener("removerendition",R(this,Ds)),J(this,Ds,void 0)),typeof i=="function"&&(J(this,Ds,i),this.addEventListener("removerendition",i))}get onchange(){return R(this,Ms)}set onchange(i){R(this,Ms)&&(this.removeEventListener("change",R(this,Ms)),J(this,Ms,void 0)),typeof i=="function"&&(J(this,Ms,i),this.addEventListener("change",i))}};Cs=new WeakMap,Ds=new WeakMap,Ms=new WeakMap;var Ao,bD=class{constructor(){Me(this,"src"),Me(this,"id"),Me(this,"width"),Me(this,"height"),Me(this,"bitrate"),Me(this,"frameRate"),Me(this,"codec"),j(this,Ao,!1)}get selected(){return R(this,Ao)}set selected(i){R(this,Ao)!==i&&(J(this,Ao,i),ED(this))}};Ao=new WeakMap;var So,AA=class{constructor(){Me(this,"id"),Me(this,"kind"),Me(this,"label",""),Me(this,"language",""),Me(this,"sourceBuffer"),j(this,So,!1)}addRendition(i,e,t,r,s,n){let a=new bD;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,gD(this,a),a}removeRendition(i){vD(i)}get selected(){return R(this,So)}set selected(i){R(this,So)!==i&&(J(this,So,i),i===!0&&pD(this))}};So=new WeakMap;function yD(i,e){let t=K(i).media.audioRenditions;K(e).media=K(i).media,K(e).track=i;let r=K(i).renditionSet;r.add(e);let s=r.size-1;s in L0.prototype||Object.defineProperty(L0.prototype,s,{get(){return Zn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new Nc("addrendition",{rendition:e}))})}function TD(i){let e=K(i).media.audioRenditions,t=K(i).track;K(t).renditionSet.delete(i),queueMicrotask(()=>{K(i).track.enabled&&e.dispatchEvent(new Nc("removerendition",{rendition:i}))})}function _D(i){let e=K(i).media.audioRenditions;!e||K(e).changeRequested||(K(e).changeRequested=!0,queueMicrotask(()=>{delete K(e).changeRequested,K(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Zn(i){return[...K(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...K(e).renditionSet])}var Ps,Os,Ns,L0=class extends EventTarget{constructor(){super(...arguments),j(this,Ps,void 0),j(this,Os,void 0),j(this,Ns,void 0)}[Symbol.iterator](){return Zn(this).values()}get length(){return Zn(this).length}getRenditionById(i){var e;return(e=Zn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Zn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Zn(this).entries())t.selected=e===i}get onaddrendition(){return R(this,Ps)}set onaddrendition(i){R(this,Ps)&&(this.removeEventListener("addrendition",R(this,Ps)),J(this,Ps,void 0)),typeof i=="function"&&(J(this,Ps,i),this.addEventListener("addrendition",i))}get onremoverendition(){return R(this,Os)}set onremoverendition(i){R(this,Os)&&(this.removeEventListener("removerendition",R(this,Os)),J(this,Os,void 0)),typeof i=="function"&&(J(this,Os,i),this.addEventListener("removerendition",i))}get onchange(){return R(this,Ns)}set onchange(i){R(this,Ns)&&(this.removeEventListener("change",R(this,Ns)),J(this,Ns,void 0)),typeof i=="function"&&(J(this,Ns,i),this.addEventListener("change",i))}};Ps=new WeakMap,Os=new WeakMap,Ns=new WeakMap;var xo,AD=class{constructor(){Me(this,"src"),Me(this,"id"),Me(this,"bitrate"),Me(this,"codec"),j(this,xo,!1)}get selected(){return R(this,xo)}set selected(i){R(this,xo)!==i&&(J(this,xo,i),_D(this))}};xo=new WeakMap;function k0(i,e){let t=i.audioTracks;K(e).media=i,K(e).renditionSet||(K(e).renditionSet=new Set);let r=K(t).trackSet;r.add(e);let s=r.size-1;s in R0.prototype||Object.defineProperty(R0.prototype,s,{get(){return[...K(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Oc("addtrack",{track:e}))})}function I0(i){var e;let t=(e=K(i).media)==null?void 0:e.audioTracks;t&&(K(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Oc("removetrack",{track:i}))}))}function SD(i){let e=K(i).media.audioTracks;!e||K(e).changeRequested||(K(e).changeRequested=!0,queueMicrotask(()=>{delete K(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var Us,Fs,Bs,Lo,Sc,R0=class extends EventTarget{constructor(){super(),j(this,Lo),j(this,Us,void 0),j(this,Fs,void 0),j(this,Bs,void 0),K(this).trackSet=new Set}[Symbol.iterator](){return R(this,Lo,Sc).values()}get length(){return R(this,Lo,Sc).size}getTrackById(i){var e;return(e=[...R(this,Lo,Sc)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return R(this,Us)}set onaddtrack(i){R(this,Us)&&(this.removeEventListener("addtrack",R(this,Us)),J(this,Us,void 0)),typeof i=="function"&&(J(this,Us,i),this.addEventListener("addtrack",i))}get onremovetrack(){return R(this,Fs)}set onremovetrack(i){R(this,Fs)&&(this.removeEventListener("removetrack",R(this,Fs)),J(this,Fs,void 0)),typeof i=="function"&&(J(this,Fs,i),this.addEventListener("removetrack",i))}get onchange(){return R(this,Bs)}set onchange(i){R(this,Bs)&&(this.removeEventListener("change",R(this,Bs)),J(this,Bs,void 0)),typeof i=="function"&&(J(this,Bs,i),this.addEventListener("change",i))}};Us=new WeakMap,Fs=new WeakMap,Bs=new WeakMap,Lo=new WeakSet,Sc=function(){return K(this).trackSet};var ko,SA=class{constructor(){Me(this,"id"),Me(this,"kind"),Me(this,"label",""),Me(this,"language",""),Me(this,"sourceBuffer"),j(this,ko,!1)}addRendition(i,e,t){let r=new AD;return r.src=i,r.codec=e,r.bitrate=t,yD(this,r),r}removeRendition(i){TD(i)}get enabled(){return R(this,ko)}set enabled(i){R(this,ko)!==i&&(J(this,ko,i),SD(this))}};ko=new WeakMap;var fA=Dc(globalThis.HTMLMediaElement,"video"),mA=Dc(globalThis.HTMLMediaElement,"audio");function xD(i){if(!(i!=null&&i.prototype))return i;let e=Dc(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return LD(this)}});let t=Dc(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return kD(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new AA;return l.kind=n,l.label=a,l.language=o,_0(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=A0),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new SA;return l.kind=n,l.label=a,l.language=o,k0(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=I0),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=K(n).videoRenditions;return a||(a=new x0,K(a).media=n,K(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=K(n).audioRenditions;return a||(a=new L0,K(a).media=n,K(n).audioRenditions=a),a};return i}function Dc(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function LD(i){var e;let t=K(i).videoTracks;if(!t&&(t=new S0,K(i).videoTracks=t,fA)){let r=fA.call((e=i.nativeEl)!=null?e:i);for(let s of r)_0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof AA)){for(let n of r)A0(n);return}_0(i,s.track)}),r.addEventListener("removetrack",s=>{A0(s.track)})}return t}function kD(i){var e;let t=K(i).audioTracks;if(!t&&(t=new R0,K(i).audioTracks=t,mA)){let r=mA.call((e=i.nativeEl)!=null?e:i);for(let s of r)k0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof SA)){for(let n of r)I0(n);return}k0(i,s.track)}),r.addEventListener("removetrack",s=>{I0(s.track)})}return t}Pc.push("castchange","entercast","leavecast");var O={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},ID=Object.values(O),RD=rD(),wD="mux-video",Zi,Io,xc,Ro,Lc,kc,Ic,Rc,wo,wc,CD=class extends u0{constructor(){super(),j(this,wo),j(this,Zi,void 0),j(this,Io,void 0),j(this,xc,void 0),j(this,Ro,{}),j(this,Lc,void 0),j(this,kc,void 0),j(this,Ic,void 0),j(this,Rc,void 0),J(this,xc,Q_())}static get observedAttributes(){var i;return[...ID,...(i=u0.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(O.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?zn.includes(i)?this.setAttribute(O.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(O.PREFER_CMCD))}get playerInitTime(){return R(this,xc)}get playerSoftwareName(){var i;return(i=R(this,Ic))!=null?i:wD}set playerSoftwareName(i){J(this,Ic,i)}get playerSoftwareVersion(){var i;return(i=R(this,kc))!=null?i:RD}set playerSoftwareVersion(i){J(this,kc,i)}get _hls(){var i;return(i=R(this,Zi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=Z_(this.nativeEl))!=null?i:null}get errorTranslator(){return R(this,Rc)}set errorTranslator(i){J(this,Rc,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(O.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(O.TYPE,i):this.removeAttribute(O.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(O.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(O.DEBUG,""):this.removeAttribute(O.DEBUG))}get disableTracking(){return this.hasAttribute(O.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(O.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(O.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(O.DISABLE_COOKIES,""):this.removeAttribute(O.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(O.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(O.START_TIME):this.setAttribute(O.START_TIME,`${i}`))}get playbackId(){var i;return(i=this.getAttribute(O.PLAYBACK_ID))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(O.PLAYBACK_ID,i):this.removeAttribute(O.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(O.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(O.MAX_RESOLUTION,i):this.removeAttribute(O.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(O.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(O.MIN_RESOLUTION,i):this.removeAttribute(O.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(O.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(O.RENDITION_ORDER,i):this.removeAttribute(O.RENDITION_ORDER))}get customDomain(){var i;return(i=this.getAttribute(O.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(O.CUSTOM_DOMAIN,i):this.removeAttribute(O.CUSTOM_DOMAIN))}get ended(){return a0(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(O.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(O.ENV_KEY,i):this.removeAttribute(O.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(O.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(O.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(O.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(O.STREAM_TYPE))!=null?i:gc(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(O.STREAM_TYPE,i):this.removeAttribute(O.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(O.TARGET_LIVE_WINDOW)?+this.getAttribute(O.TARGET_LIVE_WINDOW):J_(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(O.TARGET_LIVE_WINDOW):this.setAttribute(O.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(O.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return eA(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(O.LIVE_EDGE_OFFSET))return+this.getAttribute(O.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(O.LIVE_EDGE_OFFSET):this.setAttribute(O.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return bo(this.nativeEl)}async addCuePoints(i){return r0(this.nativeEl,i)}get activeCuePoint(){return s0(this.nativeEl)}get cuePoints(){return q_(this.nativeEl)}getStartDate(){return Y_(this.nativeEl,this._hls)}get currentPdt(){return z_(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(O.PREFER_PLAYBACK);if(i===Jt.MSE||i===Jt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Jt.MSE||i===Jt.NATIVE?this.setAttribute(O.PREFER_PLAYBACK,i):this.removeAttribute(O.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![O.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...R(this,Ro)}}set metadata(i){J(this,Ro,i!=null?i:{}),this.mux&&this.mux.emit("hb",R(this,Ro))}get _hlsConfig(){return R(this,Lc)}set _hlsConfig(i){J(this,Lc,i)}load(){J(this,Zi,rA(this,this.nativeEl,R(this,Zi)))}unload(){o0(this.nativeEl,R(this,Zi)),J(this,Zi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(u0.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case O.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case O.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?ze(this,wo,wc).call(this):n&&!a?this.unload():n&&a&&(this.unload(),ze(this,wo,wc).call(this));break}case"autoplay":if(t===e)break;(r=R(this,Zi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=R(this,Zi))==null||s.setPreload(t);break;case O.PLAYBACK_ID:this.src=To(this);break;case O.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case O.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case O.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case O.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!R(this,Zi)&&ze(this,wo,wc).call(this)}disconnectedCallback(){this.unload()}};Zi=new WeakMap,Io=new WeakMap,xc=new WeakMap,Ro=new WeakMap,Lc=new WeakMap,kc=new WeakMap,Ic=new WeakMap,Rc=new WeakMap,wo=new WeakSet,wc=async function(){R(this,Io)||(await J(this,Io,Promise.resolve()),J(this,Io,null),this.load())};var w0=class extends fD(xD(CD)){};d0.customElements.get("mux-video")||(d0.customElements.define("mux-video",w0),d0.MuxVideoElement=w0);var xA=w0;var DD="en",Ws={code:DD};var LA="en";function ce(i,e=!0){var s,n;let t=e&&(n=(s=Ws)==null?void 0:s[i])!=null?n:i,r=e?Ws.code:LA;return new O0(t,r)}var O0=class{constructor(e,t=(r=>(r=Ws.code)!=null?r:LA)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,r)=>{var s;return(s=e[r])!=null?s:""})}toString(){return this.message}};function kA(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Uc(t)}: ${r}; `)}),e?e.trim():void 0}function Uc(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Fc(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Ji(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function N0(i){let e=MD(i).toString();return e?"?"+e:""}function MD(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}function Br(i){let e=(i!=null?i:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}var U0=(i,e)=>!i||!e?!1:i.contains(e)?!0:U0(i,e.getRootNode().host);var IA="mux.com",PD=()=>{try{return"2.6.0"}catch{}return"UNKNOWN"},OD=PD(),$c=()=>OD,RA=(i,{token:e,customDomain:t=IA,thumbnailTime:r}={})=>{let s=e==null?r:void 0,{aud:n}=Br(e);if(!(e&&n!=="t"))return`https://image.${t}/${i}/thumbnail.webp${N0({token:e,time:s})}`},wA=(i,{token:e,customDomain:t=IA}={})=>{let{aud:r}=Br(e);if(!(e&&r!=="s"))return`https://image.${t}/${i}/storyboard.vtt${N0({token:e,format:"webp"})}`},Co=i=>{if(i){if([ye.LIVE,ye.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return ye.LIVE}};var ND={crossorigin:"crossOrigin",playsinline:"playsInline"};function CA(i){var e;return(e=ND[i])!=null?e:Fc(i)}var Vs,Ks,It,Bc=class{constructor(e,t){Xe(this,Vs,void 0);Xe(this,Ks,void 0);Xe(this,It,[]);Wt(this,Vs,e),Wt(this,Ks,t)}[Symbol.iterator](){return Ee(this,It).values()}get length(){return Ee(this,It).length}get value(){var e;return(e=Ee(this,It).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Wt(this,It,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Ee(this,It)[e]}values(){return Ee(this,It).values()}keys(){return Ee(this,It).keys()}forEach(e){Ee(this,It).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||Ee(this,It).push(s)}),!(this.value===""&&!((t=Ee(this,Vs))!=null&&t.hasAttribute(`${Ee(this,Ks)}`)))&&((r=Ee(this,Vs))==null||r.setAttribute(`${Ee(this,Ks)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{Ee(this,It).splice(Ee(this,It).indexOf(r),1)}),(t=Ee(this,Vs))==null||t.setAttribute(`${Ee(this,Ks)}`,`${this.value}`)}contains(e){return Ee(this,It).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};Vs=new WeakMap,Ks=new WeakMap,It=new WeakMap;var DA=`[mux-player ${$c()}]`;function $r(...i){console.warn(DA,...i)}function ti(...i){console.error(DA,...i)}function F0(i){var t;let e=(t=i.message)!=null?t:"";if(i.context&&(e+=` ${i.context}`),i.file){let r="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${ce("Read more: ")}
1644
+ ${r}${i.file}`}$r(e)}var Lt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},qs={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},PA=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),UD=Pc.filter(i=>i!=="error"),FD=Object.values(Lt).filter(i=>![Lt.PLAYSINLINE].includes(i)),BD=Object.values(qs);function OA(i){i.querySelectorAll(":scope > track").forEach(e=>{var t;(t=i.media)==null||t.append(e.cloneNode())}),UD.forEach(e=>{var t;(t=i.media)==null||t.addEventListener(e,r=>{i.dispatchEvent(new Event(r.type))})})}var B0=class extends $e.HTMLElement{static get observedAttributes(){return[...FD,...BD]}constructor(){super(),this.querySelectorAll(":scope > track").forEach(r=>{var s;(s=this.media)==null||s.append(r.cloneNode())});let e=r=>{for(let s of r)s.type==="childList"&&(s.removedNodes.forEach(n=>{var o,l;let a=(o=this.media)==null?void 0:o.querySelector(`track[src="${n.src}"]`);a&&((l=this.media)==null||l.removeChild(a))}),s.addedNodes.forEach(n=>{var a;(a=this.media)==null||a.append(n.cloneNode())}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,r){var s,n;switch(e){case qs.MUTED:{this.media&&(this.media.muted=r!=null,this.media.defaultMuted=r!=null);return}case qs.VOLUME:{let a=(s=Ji(r))!=null?s:1;this.media&&(this.media.volume=a);return}case qs.PLAYBACKRATE:{let a=(n=Ji(r))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:PA}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:PA}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=Ji(this.getAttribute(qs.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(qs.PLAYBACKRATE,`${e}`):this.removeAttribute(qs.PLAYBACKRATE)}get crossOrigin(){return Do(this,Lt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Lt.CROSSORIGIN,`${e}`)}get autoplay(){return Do(this,Lt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Lt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Lt.AUTOPLAY)}get loop(){return Do(this,Lt.LOOP)!=null}set loop(e){e?this.setAttribute(Lt.LOOP,""):this.removeAttribute(Lt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return Do(this,Lt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Lt.MUTED,""):this.removeAttribute(Lt.MUTED)}get playsInline(){return Do(this,Lt.PLAYSINLINE)!=null}set playsInline(e){ti("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Lt.PRELOAD,e):this.removeAttribute(Lt.PRELOAD)}};function Do(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}var $0=B0;var $D=Object.defineProperty,HD=(i,e,t)=>e in i?$D(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,GD=(i,e,t)=>(HD(i,typeof e!="symbol"?e+"":e,t),t),$A=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},de=(i,e,t)=>($A(i,e,"read from private field"),t?t.call(i):e.get(i)),er=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},cr=(i,e,t,r)=>($A(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ea,Hc,Ys,Mo,Hr,Gr,Wr,zs,ta,Gc,Ti,NA=1,UA=0,WD=1,VD={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},hr=class extends A.DocumentFragment{constructor(e,t,r=VD){var s;super(),er(this,ea,void 0),er(this,Hc,void 0),this.append(e.content.cloneNode(!0)),cr(this,ea,HA(this)),cr(this,Hc,r),(s=r.createCallback)==null||s.call(r,this,de(this,ea),t),r.processCallback(this,de(this,ea),t)}update(e){de(this,Hc).processCallback(this,de(this,ea),e)}};ea=new WeakMap;Hc=new WeakMap;var HA=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new H0;for([t,r]of BA(s.value))if(!t)n.append(r);else{let a=new Rt(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===NA&&!(s instanceof HTMLTemplateElement))HA(s,e);else if(s.nodeType===NA||s.data.includes("{{")){let n=[];if(s.data)for([t,r]of BA(s.data))if(!t)n.push(new Text(r));else{let a=new fr(i);n.push(a),e.push([r,a])}else if(s instanceof HTMLTemplateElement){let a=new Po(i,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},FA={},BA=i=>{let e="",t=0,r=FA[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([UA,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([WD,e.trim()]),e="",s++):e+=n||"";return e&&r.push([UA,(t>0?"{{":"")+e]),FA[i]=r},KD=11,Wc=class{get value(){return""}set value(e){}toString(){return this.value}},GA=new WeakMap,H0=class{constructor(){er(this,Ys,[])}[Symbol.iterator](){return de(this,Ys).values()}get length(){return de(this,Ys).length}item(e){return de(this,Ys)[e]}append(...e){for(let t of e)t instanceof Rt&&GA.set(t,this),de(this,Ys).push(t)}toString(){return de(this,Ys).join("")}};Ys=new WeakMap;var Rt=class extends Wc{constructor(e,t,r){super(),er(this,zs),er(this,Mo,""),er(this,Hr,void 0),er(this,Gr,void 0),er(this,Wr,void 0),cr(this,Hr,e),cr(this,Gr,t),cr(this,Wr,r)}get attributeName(){return de(this,Gr)}get attributeNamespace(){return de(this,Wr)}get element(){return de(this,Hr)}get value(){return de(this,Mo)}set value(e){de(this,Mo)!==e&&(cr(this,Mo,e),!de(this,zs,ta)||de(this,zs,ta).length===1?e==null?de(this,Hr).removeAttributeNS(de(this,Wr),de(this,Gr)):de(this,Hr).setAttributeNS(de(this,Wr),de(this,Gr),e):de(this,Hr).setAttributeNS(de(this,Wr),de(this,Gr),de(this,zs,ta)))}get booleanValue(){return de(this,Hr).hasAttributeNS(de(this,Wr),de(this,Gr))}set booleanValue(e){if(!de(this,zs,ta)||de(this,zs,ta).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};Mo=new WeakMap;Hr=new WeakMap;Gr=new WeakMap;Wr=new WeakMap;zs=new WeakSet;ta=function(){return GA.get(this)};var fr=class extends Wc{constructor(e,t){super(),er(this,Gc,void 0),er(this,Ti,void 0),cr(this,Gc,e),cr(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return de(this,Ti)}get parentNode(){return de(this,Gc)}get nextSibling(){return de(this,Ti)[de(this,Ti).length-1].nextSibling}get previousSibling(){return de(this,Ti)[0].previousSibling}get value(){return de(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===KD?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),cr(this,Ti,qD(de(this,Ti)[0].parentNode,de(this,Ti),t,this.nextSibling))}};Gc=new WeakMap;Ti=new WeakMap;var Po=class extends fr{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),GD(this,"directive"),this.expression=s,this.template=t,this.directive=r}};function qD(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)r=t[--d,--l];if(s==d)for(;s<l;)i.insertBefore(t[s++],r);if(s==l)for(;s<d;)i.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:r,n==o?n=a:s<l&&t[s]==a?(i.replaceChild(o,n),n=a):i.insertBefore(o,n);for(;n!=r;)a=n.nextSibling,i.removeChild(n),n=a}return t}var WA={string:i=>String(i)},Kc=class{constructor(e){this.template=e,this.state=void 0}},js=new WeakMap,Xs=new WeakMap,G0={partial:(i,e)=>{e[i.expression]=new Kc(i.template)},if:(i,e)=>{var t;if(KA(i.expression,e))if(js.get(i)!==i.template){js.set(i,i.template);let r=new hr(i.template,e,qc);i.replace(r),Xs.set(i,r)}else(t=Xs.get(i))==null||t.update(e);else i.replace(""),js.delete(i),Xs.delete(i)}},YD=Object.keys(G0),qc={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof Po){if(!a.directive){let l=YD.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=G0[a.directive])==null||r.call(G0,a,t);continue}let o=KA(n,t);if(o instanceof Kc){js.get(a)!==o.template?(js.set(a,o.template),o=new hr(o.template,o.state,qc),a.value=o,Xs.set(a,o)):(s=Xs.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,js.delete(a),Xs.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,js.delete(a),Xs.delete(a))}}},VA={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>i<e,"<=":(i,e)=>i<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=WA[e])==null?void 0:t.call(WA,i)}};function zD(i){return jD(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function KA(i,e={}){var t,r,s,n,a,o,l;let d=zD(i);if(d.length===0||d.some(({type:u})=>!u))return Oo(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return Oo(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let m=(s=h[f])==null?void 0:s.token,p=(n=h[f+1])==null?void 0:n.token,g=(a=h[f+2])==null?void 0:a.token;m&&p==="="&&(c[m]=No(g,e))}return u}if(d.length===1)return Vc(d[0])?No(d[0].token,e):Oo(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=VA[u];if(!c||!Vc(d[1]))return Oo(i);let h=No(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=VA[u];if(!c||!Vc(d[0])||!Vc(d[2]))return Oo(i);let h=No(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=No(d[2].token,e);return c(h,f)}}function Oo(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function Vc({type:i}){return["number","boolean","string","param"].includes(i)}function No(i,e){let t=i[0],r=i.slice(-1);return i==="true"||i==="false"?i==="true":t===r&&["'",'"'].includes(t)?i.slice(1,-1):zo(i)?parseFloat(i):e[i]}function jD(i,e){let t,r,s,n=[];for(;i;){s=null,t=i.length;for(let a in e)r=e[a].exec(i),r&&r.index<t&&(s={token:r[0],type:a,matches:r.slice(1)},t=r.index);t&&n.push({token:i.substr(0,t),type:void 0}),s&&n.push(s),i=i.substr(t+(s?s.token.length:0))}return n}var XD=Object.defineProperty,QD=(i,e,t)=>e in i?XD(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Fo=(i,e,t)=>(QD(i,typeof e!="symbol"?e+"":e,t),t),z0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},K0=(i,e,t)=>(z0(i,e,"read from private field"),t?t.call(i):e.get(i)),Uo=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Qs=(i,e,t,r)=>(z0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),W0=(i,e,t)=>(z0(i,e,"access private method"),t),ia,Yc,ra,q0,qA,zc,Y0,V0={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},YA=P.createElement("template");YA.innerHTML=`
1645
1645
  <style>
1646
1646
  :host {
1647
1647
  display: inline-block;
@@ -1665,7 +1665,7 @@ ${r}${i.file}`}$r(e)}var xt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:
1665
1665
  display: none;
1666
1666
  }
1667
1667
  </style>
1668
- `;var Vr=class extends A.HTMLElement{constructor(){super(),Uo(this,K0),Uo(this,zc),Fo(this,"renderRoot"),Fo(this,"renderer"),Uo(this,ia,void 0),Uo(this,Yc,void 0),Uo(this,ra,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(W0[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(tr.BREAKPOINTS_COMPUTED,this.render),G0(this,K0,qA).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=V0(this,ia))!=null?e:this.constructor.template}set template(e){Qs(this,ra,null),Qs(this,ia,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>W0[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=W0[a.name])!=null?r:vv(a.name),{value:l}=a;l!=null?(zo(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&G0(this,zc,q0).call(this)}connectedCallback(){G0(this,zc,q0).call(this)}createRenderer(){this.template&&this.template!==V0(this,Yc)&&(Qs(this,Yc,this.template),this.renderer=new hr(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(YA.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};ia=new WeakMap;Yc=new WeakMap;ra=new WeakMap;K0=new WeakSet;qA=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};zc=new WeakSet;q0=function(){var i;let e=this.getAttribute("template");if(!e||e===V0(this,ra))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){Qs(this,ra,e),Qs(this,ia,r),this.createRenderer();return}ZD(e)&&(Qs(this,ra,e),JD(e).then(s=>{let n=P.createElement("template");n.innerHTML=s,Qs(this,ia,n),this.createRenderer()}).catch(console.error))};Fo(Vr,"template");Fo(Vr,"observedAttributes",["template"]);Fo(Vr,"processor",qc);function ZD(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function JD(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}A.customElements.get("media-theme")||A.customElements.define("media-theme",Vr);var zA=`:host {
1668
+ `;var Vr=class extends A.HTMLElement{constructor(){super(),Uo(this,q0),Uo(this,zc),Fo(this,"renderRoot"),Fo(this,"renderer"),Uo(this,ia,void 0),Uo(this,Yc,void 0),Uo(this,ra,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(V0[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(tr.BREAKPOINTS_COMPUTED,this.render),W0(this,q0,qA).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=K0(this,ia))!=null?e:this.constructor.template}set template(e){Qs(this,ra,null),Qs(this,ia,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>V0[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=V0[a.name])!=null?r:Ev(a.name),{value:l}=a;l!=null?(zo(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&W0(this,zc,Y0).call(this)}connectedCallback(){W0(this,zc,Y0).call(this)}createRenderer(){this.template&&this.template!==K0(this,Yc)&&(Qs(this,Yc,this.template),this.renderer=new hr(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(YA.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};ia=new WeakMap;Yc=new WeakMap;ra=new WeakMap;q0=new WeakSet;qA=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};zc=new WeakSet;Y0=function(){var i;let e=this.getAttribute("template");if(!e||e===K0(this,ra))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){Qs(this,ra,e),Qs(this,ia,r),this.createRenderer();return}ZD(e)&&(Qs(this,ra,e),JD(e).then(s=>{let n=P.createElement("template");n.innerHTML=s,Qs(this,ia,n),this.createRenderer()}).catch(console.error))};Fo(Vr,"template");Fo(Vr,"observedAttributes",["template"]);Fo(Vr,"processor",qc);function ZD(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function JD(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}A.customElements.get("media-theme")||A.customElements.define("media-theme",Vr);var zA=`:host {
1669
1669
  --media-control-display: var(--controls);
1670
1670
  --media-loading-indicator-display: var(--loading-indicator);
1671
1671
  --media-dialog-display: var(--dialog);
@@ -1872,9 +1872,9 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1872
1872
  <div class="dialog">
1873
1873
  <slot></slot>
1874
1874
  </div>
1875
- `;var Kr=class extends $e.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),jA(this)}close(){this.hasAttribute("open")&&(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),tM(this))}attributeChangedCallback(t,r,s){t==="open"&&r!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&jA(this)}};Kr.styles=XA,Kr.template=QA,Kr.observedAttributes=["open"];function jA(i){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(i.dispatchEvent(e),e.defaultPrevented)return;let t=i.querySelector("[autofocus]:not([disabled])");!t&&i.tabIndex>=0&&(t=i),t||(t=ZA(i.shadowRoot)),i._previouslyFocusedElement=Ft.activeElement,Ft.activeElement instanceof HTMLElement&&Ft.activeElement.blur(),i.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function ZA(i){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let r=i==null?void 0:i.querySelector(t.join(", "));if(!r&&"attachShadow"in Element.prototype){let s=(i==null?void 0:i.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(r=ZA(s[n].shadowRoot),r));n++);}return r}function tM(i){i._previouslyFocusedElement instanceof HTMLElement&&i._previouslyFocusedElement.focus()}$e.customElements.get("media-dialog")||($e.customElements.define("media-dialog",Kr),$e.MediaDialog=Kr);var z0=Kr;var JA=Ft.createElement("template");JA.innerHTML=`
1875
+ `;var Kr=class extends $e.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),jA(this)}close(){this.hasAttribute("open")&&(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),tM(this))}attributeChangedCallback(t,r,s){t==="open"&&r!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&jA(this)}};Kr.styles=XA,Kr.template=QA,Kr.observedAttributes=["open"];function jA(i){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(i.dispatchEvent(e),e.defaultPrevented)return;let t=i.querySelector("[autofocus]:not([disabled])");!t&&i.tabIndex>=0&&(t=i),t||(t=ZA(i.shadowRoot)),i._previouslyFocusedElement=Ft.activeElement,Ft.activeElement instanceof HTMLElement&&Ft.activeElement.blur(),i.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function ZA(i){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let r=i==null?void 0:i.querySelector(t.join(", "));if(!r&&"attachShadow"in Element.prototype){let s=(i==null?void 0:i.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(r=ZA(s[n].shadowRoot),r));n++);}return r}function tM(i){i._previouslyFocusedElement instanceof HTMLElement&&i._previouslyFocusedElement.focus()}$e.customElements.get("media-dialog")||($e.customElements.define("media-dialog",Kr),$e.MediaDialog=Kr);var j0=Kr;var JA=Ft.createElement("template");JA.innerHTML=`
1876
1876
  <style>
1877
- ${z0.styles}
1877
+ ${j0.styles}
1878
1878
 
1879
1879
  .close {
1880
1880
  background: none;
@@ -1903,7 +1903,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1903
1903
  </svg>
1904
1904
  </button>
1905
1905
  </slot>
1906
- `;var Bo=class extends z0{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};Bo.template=JA;$e.customElements.get("mxp-dialog")||($e.customElements.define("mxp-dialog",Bo),$e.MxpDialog=Bo);var $o=new WeakMap,X0=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=$o.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=$o.get(this.element);t&&t.delete(this.type)}}static for(e){$o.has(e.element)||$o.set(e.element,new Map);let t=e.attributeName.slice(2),r=$o.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function iM(i,e){return i instanceof Rt&&i.attributeName.startsWith("on")?(X0.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function rM(i,e){return e instanceof jc&&i instanceof fr?(e.renderInto(i),!0):!1}function sM(i,e){return e instanceof DocumentFragment&&i instanceof fr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function nM(i,e){if(i instanceof Rt){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function aM(i,e){if(i instanceof Rt&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function oM(i,e){if(typeof e=="boolean"&&i instanceof Rt){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function lM(i,e){return e===!1&&i instanceof fr?(i.replace(""),!0):!1}function dM(i,e){aM(i,e)||oM(i,e)||iM(i,e)||lM(i,e)||rM(i,e)||sM(i,e)||nM(i,e)}var j0=new Map,e1=new WeakMap,t1=new WeakMap,jc=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(j0.has(this.stringsKey))return j0.get(this.stringsKey);{let e=Ft.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),j0.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(e1.get(e)!==t){e1.set(e,t);let n=new hr(t,this.values,this.processor);t1.set(e,n),e instanceof fr?e.replace(...n.children):e.appendChild(n);return}let r=t1.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},uM={processCallback(i,e,t){var r;if(t){for(let[s,n]of e)if(s in t){let a=(r=t[s])!=null?r:"";dM(n,a)}}}};function mr(i,...e){return new jc(i,e,uM)}function i1(i,e){i.renderInto(e)}var r1=i=>mr`
1906
+ `;var Bo=class extends j0{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};Bo.template=JA;$e.customElements.get("mxp-dialog")||($e.customElements.define("mxp-dialog",Bo),$e.MxpDialog=Bo);var $o=new WeakMap,Q0=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=$o.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=$o.get(this.element);t&&t.delete(this.type)}}static for(e){$o.has(e.element)||$o.set(e.element,new Map);let t=e.attributeName.slice(2),r=$o.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function iM(i,e){return i instanceof Rt&&i.attributeName.startsWith("on")?(Q0.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function rM(i,e){return e instanceof jc&&i instanceof fr?(e.renderInto(i),!0):!1}function sM(i,e){return e instanceof DocumentFragment&&i instanceof fr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function nM(i,e){if(i instanceof Rt){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function aM(i,e){if(i instanceof Rt&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function oM(i,e){if(typeof e=="boolean"&&i instanceof Rt){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function lM(i,e){return e===!1&&i instanceof fr?(i.replace(""),!0):!1}function dM(i,e){aM(i,e)||oM(i,e)||iM(i,e)||lM(i,e)||rM(i,e)||sM(i,e)||nM(i,e)}var X0=new Map,e1=new WeakMap,t1=new WeakMap,jc=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(X0.has(this.stringsKey))return X0.get(this.stringsKey);{let e=Ft.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),X0.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(e1.get(e)!==t){e1.set(e,t);let n=new hr(t,this.values,this.processor);t1.set(e,n),e instanceof fr?e.replace(...n.children):e.appendChild(n);return}let r=t1.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},uM={processCallback(i,e,t){var r;if(t){for(let[s,n]of e)if(s in t){let a=(r=t[s])!=null?r:"";dM(n,a)}}}};function mr(i,...e){return new jc(i,e,uM)}function i1(i,e){i.renderInto(e)}var r1=i=>mr`
1907
1907
  <style>
1908
1908
  ${zA}
1909
1909
  </style>
@@ -2974,7 +2974,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2974
2974
  <slot></slot>
2975
2975
  </media-controller>
2976
2976
  </template>
2977
- `;var Q0=Ft.createElement("template");"innerHTML"in Q0&&(Q0.innerHTML=s1);var n1,a1,Qc=class extends Vr{};Qc.template=(a1=(n1=Q0.content)==null?void 0:n1.children)==null?void 0:a1[0];$e.customElements.get("media-theme-gerwig")||$e.customElements.define("media-theme-gerwig",Qc);var gM="gerwig";var pr={SRC:"src",POSTER:"poster"},$={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref"},Z0=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function vM(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute($.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:EM(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute($.NOHOTKEYS),hotKeys:i.getAttribute($.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,renditionOrder:i.renditionOrder,metadata:i.metadata,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(O.TARGET_LIVE_WINDOW),streamType:Co(i.getAttribute(O.STREAM_TYPE)),primaryColor:i.getAttribute($.PRIMARY_COLOR),secondaryColor:i.getAttribute($.SECONDARY_COLOR),accentColor:i.getAttribute($.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:bM(i),playbackRates:i.getAttribute($.PLAYBACK_RATES),customDomain:(r=i.getAttribute(O.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute($.TITLE),novolumepref:i.hasAttribute($.NO_VOLUME_PREF),...e,extraSourceParams:i.extraSourceParams}}function EM(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=$e.customElements.get(e);if(n!=null&&n.template)return n.template}}function bM(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function o1(i){let e=i.hasAttribute($.TITLE)?{video_title:i.getAttribute($.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var yM=Object.values(O),TM=Object.values(pr),_M=Object.values($),AM=$c(),SM="mux-player",l1={dialog:void 0,isDialogOpen:!1},xM={redundant_streams:!0},Go,Wo,qr,Vo,en,gr,Js,Zc,d1,Ko,J0,Yr,sa,Jc,u1,eh,c1,th,h1,ih,f1,Ho=class extends B0{constructor(){super();Xe(this,gr);Xe(this,Zc);Xe(this,Ko);Xe(this,Yr);Xe(this,Jc);Xe(this,eh);Xe(this,th);Xe(this,ih);Xe(this,Go,!1);Xe(this,Wo,{});Xe(this,qr,!0);Xe(this,Vo,new Bc(this,"hotkeys"));Xe(this,en,{...l1,onCloseErrorDialog:()=>Je(this,Ko,J0).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{N0(this,Ft.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),Je(this,Zc,d1).call(this),this.isConnected&&Je(this,gr,Js).call(this)}static get observedAttributes(){var t;return[...(t=B0.observedAttributes)!=null?t:[],...TM,...yM,..._M]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=o1(this))}attributeChangedCallback(t,r,s){switch(Je(this,gr,Js).call(this),super.attributeChangedCallback(t,r,s),t){case $.HOTKEYS:Ee(this,Vo).value=s;break;case $.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&$r(ce("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case $.THUMBNAIL_TOKEN:{let{aud:a}=Br(s);s&&a!=="t"&&$r(ce("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case $.STORYBOARD_TOKEN:{let{aud:a}=Br(s);s&&a!=="s"&&$r(ce("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case O.PLAYBACK_ID:{s!=null&&s.includes("?token")&&ti(ce("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case O.STREAM_TYPE:s&&![ye.LIVE,ye.ON_DEMAND,ye.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:U0({file:"invalid-stream-type.md",message:ce("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===ye.LIVE?this.getAttribute($.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[O.PLAYBACK_ID,pr.SRC,$.PLAYBACK_TOKEN].includes(t)&&r!==s&&Wt(this,en,{...Ee(this,en),...l1}),Je(this,Yr,sa).call(this,{[CA(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(O.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?zn.includes(t)?this.setAttribute(O.PREFER_CMCD,t):$r(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(O.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute($.THEME))!=null?t:gM}set theme(t){this.setAttribute($.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(Z0.includes(s))continue;let n=t.getAttribute(s);r[Fc(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Je(this,gr,Js).call(this);let r={...this.themeProps,...t};for(let a in r){if(Z0.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Uc(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Uc(a),o)}}get playbackId(){var t;return(t=this.getAttribute(O.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(O.PLAYBACK_ID,t):this.removeAttribute(O.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Zs(this,pr.SRC))!=null?t:void 0:(r=this.getAttribute(pr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(pr.SRC,t):this.removeAttribute(pr.SRC)}get poster(){var r;let t=this.getAttribute(pr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return RA(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(r=this.thumbnailTime)!=null?r:this.startTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(pr.POSTER,t):this.removeAttribute(pr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute($.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute($.STORYBOARD_SRC,t):this.removeAttribute($.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[ye.LIVE,ye.UNKNOWN].includes(this.streamType)))return wA(this.playbackId,{customDomain:this.customDomain,token:this.tokens.storyboard})}get audio(){return this.hasAttribute($.AUDIO)}set audio(t){if(!t){this.removeAttribute($.AUDIO);return}this.setAttribute($.AUDIO,"")}get hotkeys(){return Ee(this,Vo)}get nohotkeys(){return this.hasAttribute($.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute($.NOHOTKEYS);return}this.setAttribute($.NOHOTKEYS,"")}get thumbnailTime(){return Ji(this.getAttribute($.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute($.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute($.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute($.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Zs(this,$.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute($.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute($.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute($.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute($.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute($.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute($.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute($.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute($.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute($.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute($.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute($.PLAYBACK_RATES))return this.getAttribute($.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute($.PLAYBACK_RATES);return}this.setAttribute($.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Ji(this.getAttribute($.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute($.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Ji(this.getAttribute($.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute($.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute($.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute($.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute($.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return Ji(this.getAttribute($.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute($.DEFAULT_DURATION):this.setAttribute($.DEFAULT_DURATION,`${t}`)}get playerSoftwareName(){var t;return(t=this.getAttribute(O.PLAYER_SOFTWARE_NAME))!=null?t:SM}get playerSoftwareVersion(){var t;return(t=this.getAttribute(O.PLAYER_SOFTWARE_VERSION))!=null?t:AM}get beaconCollectionDomain(){var t;return(t=this.getAttribute(O.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(O.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(O.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(O.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(O.MAX_RESOLUTION,t):this.removeAttribute(O.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(O.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(O.MIN_RESOLUTION,t):this.removeAttribute(O.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(O.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(O.RENDITION_ORDER,t):this.removeAttribute(O.RENDITION_ORDER))}get extraSourceParams(){return this.hasAttribute($.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute($.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):xM}set extraSourceParams(t){t==null?this.removeAttribute($.EXTRA_SOURCE_PARAMS):this.setAttribute($.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(O.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(O.CUSTOM_DOMAIN,t):this.removeAttribute(O.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Zs(this,O.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(O.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute($.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute($.NO_VOLUME_PREF,""):this.removeAttribute($.NO_VOLUME_PREF)}get debug(){return Zs(this,O.DEBUG)!=null}set debug(t){t?this.setAttribute(O.DEBUG,""):this.removeAttribute(O.DEBUG)}get disableTracking(){return Zs(this,O.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(O.DISABLE_TRACKING,!!t)}get disableCookies(){return Zs(this,O.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(O.DISABLE_COOKIES,""):this.removeAttribute(O.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(O.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:ye.UNKNOWN}set streamType(t){this.setAttribute(O.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute($.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute($.DEFAULT_STREAM_TYPE))!=null?s:ye.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute($.DEFAULT_STREAM_TYPE,t):this.removeAttribute($.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute($.TARGET_LIVE_WINDOW)?+this.getAttribute($.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute($.TARGET_LIVE_WINDOW):this.setAttribute($.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Ji(Zs(this,O.START_TIME))}set startTime(t){this.setAttribute(O.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(O.PREFER_PLAYBACK);if(t===Jt.MSE||t===Jt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Jt.MSE||t===Jt.NATIVE?this.setAttribute(O.PREFER_PLAYBACK,t):this.removeAttribute(O.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Je(this,gr,Js).call(this),!this.media){ti("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...o1(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Je(this,gr,Js).call(this),!this.media){ti("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Je(this,gr,Js).call(this),!this.media){ti("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute($.PLAYBACK_TOKEN),r=this.getAttribute($.THUMBNAIL_TOKEN),s=this.getAttribute($.STORYBOARD_TOKEN);return{...Ee(this,Wo),...t!=null?{playback:t}:{},...r!=null?{thumbnail:r}:{},...s!=null?{storyboard:s}:{}}}set tokens(t){Wt(this,Wo,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute($.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute($.PLAYBACK_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute($.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute($.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute($.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute($.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return Ec(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return V_(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};Go=new WeakMap,Wo=new WeakMap,qr=new WeakMap,Vo=new WeakMap,en=new WeakMap,gr=new WeakSet,Js=function(){var t,r,s;if(!Ee(this,Go)){Wt(this,Go,!0),Je(this,Yr,sa).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof $e.HTMLElement))throw""}catch{ti("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof xA))throw""}catch{ti("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Ih))throw""}catch{ti("<media-controller> failed to upgrade!")}OA(this),Je(this,Jc,u1).call(this),Je(this,eh,c1).call(this),Je(this,th,h1).call(this),Wt(this,qr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(fe.USER_INACTIVE))!=null?r:!0),Je(this,ih,f1).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>{Je(this,Yr,sa).call(this)})}},Zc=new WeakSet,d1=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Ko=new WeakSet,J0=function(t){Object.assign(Ee(this,en),t),Je(this,Yr,sa).call(this)},Yr=new WeakSet,sa=function(t={}){i1(r1(vM(this,{...Ee(this,en),...t})),this.shadowRoot)},Jc=new WeakSet,u1=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(Z0.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},eh=new WeakSet,c1=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof Et||(n=new Et(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){$r(n),n.data&&$r(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=Xc(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&U0(o),ti(n),n.data&&ti(`${n.name} data:`,n.data),Je(this,Ko,J0).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof Et))return s;let{devlog:n}=Xc((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new Et(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},th=new WeakSet,h1=function(){var r,s,n,a;let t=()=>Je(this,Yr,sa).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},ih=new WeakSet,f1=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===ye.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(`
2977
+ `;var Z0=Ft.createElement("template");"innerHTML"in Z0&&(Z0.innerHTML=s1);var n1,a1,Qc=class extends Vr{};Qc.template=(a1=(n1=Z0.content)==null?void 0:n1.children)==null?void 0:a1[0];$e.customElements.get("media-theme-gerwig")||$e.customElements.define("media-theme-gerwig",Qc);var gM="gerwig";var pr={SRC:"src",POSTER:"poster"},$={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref"},J0=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function vM(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute($.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:EM(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute($.NOHOTKEYS),hotKeys:i.getAttribute($.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,renditionOrder:i.renditionOrder,metadata:i.metadata,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(O.TARGET_LIVE_WINDOW),streamType:Co(i.getAttribute(O.STREAM_TYPE)),primaryColor:i.getAttribute($.PRIMARY_COLOR),secondaryColor:i.getAttribute($.SECONDARY_COLOR),accentColor:i.getAttribute($.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:bM(i),playbackRates:i.getAttribute($.PLAYBACK_RATES),customDomain:(r=i.getAttribute(O.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute($.TITLE),novolumepref:i.hasAttribute($.NO_VOLUME_PREF),...e,extraSourceParams:i.extraSourceParams}}function EM(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=$e.customElements.get(e);if(n!=null&&n.template)return n.template}}function bM(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function o1(i){let e=i.hasAttribute($.TITLE)?{video_title:i.getAttribute($.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var yM=Object.values(O),TM=Object.values(pr),_M=Object.values($),AM=$c(),SM="mux-player",l1={dialog:void 0,isDialogOpen:!1},xM={redundant_streams:!0},Go,Wo,qr,Vo,en,gr,Js,Zc,d1,Ko,ev,Yr,sa,Jc,u1,eh,c1,th,h1,ih,f1,Ho=class extends $0{constructor(){super();Xe(this,gr);Xe(this,Zc);Xe(this,Ko);Xe(this,Yr);Xe(this,Jc);Xe(this,eh);Xe(this,th);Xe(this,ih);Xe(this,Go,!1);Xe(this,Wo,{});Xe(this,qr,!0);Xe(this,Vo,new Bc(this,"hotkeys"));Xe(this,en,{...l1,onCloseErrorDialog:()=>Je(this,Ko,ev).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{U0(this,Ft.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),Je(this,Zc,d1).call(this),this.isConnected&&Je(this,gr,Js).call(this)}static get observedAttributes(){var t;return[...(t=$0.observedAttributes)!=null?t:[],...TM,...yM,..._M]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=o1(this))}attributeChangedCallback(t,r,s){switch(Je(this,gr,Js).call(this),super.attributeChangedCallback(t,r,s),t){case $.HOTKEYS:Ee(this,Vo).value=s;break;case $.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&$r(ce("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case $.THUMBNAIL_TOKEN:{let{aud:a}=Br(s);s&&a!=="t"&&$r(ce("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case $.STORYBOARD_TOKEN:{let{aud:a}=Br(s);s&&a!=="s"&&$r(ce("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case O.PLAYBACK_ID:{s!=null&&s.includes("?token")&&ti(ce("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case O.STREAM_TYPE:s&&![ye.LIVE,ye.ON_DEMAND,ye.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:F0({file:"invalid-stream-type.md",message:ce("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===ye.LIVE?this.getAttribute($.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[O.PLAYBACK_ID,pr.SRC,$.PLAYBACK_TOKEN].includes(t)&&r!==s&&Wt(this,en,{...Ee(this,en),...l1}),Je(this,Yr,sa).call(this,{[CA(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(O.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?zn.includes(t)?this.setAttribute(O.PREFER_CMCD,t):$r(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(O.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute($.THEME))!=null?t:gM}set theme(t){this.setAttribute($.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(J0.includes(s))continue;let n=t.getAttribute(s);r[Fc(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Je(this,gr,Js).call(this);let r={...this.themeProps,...t};for(let a in r){if(J0.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Uc(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Uc(a),o)}}get playbackId(){var t;return(t=this.getAttribute(O.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(O.PLAYBACK_ID,t):this.removeAttribute(O.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Zs(this,pr.SRC))!=null?t:void 0:(r=this.getAttribute(pr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(pr.SRC,t):this.removeAttribute(pr.SRC)}get poster(){var r;let t=this.getAttribute(pr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return RA(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(r=this.thumbnailTime)!=null?r:this.startTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(pr.POSTER,t):this.removeAttribute(pr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute($.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute($.STORYBOARD_SRC,t):this.removeAttribute($.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[ye.LIVE,ye.UNKNOWN].includes(this.streamType)))return wA(this.playbackId,{customDomain:this.customDomain,token:this.tokens.storyboard})}get audio(){return this.hasAttribute($.AUDIO)}set audio(t){if(!t){this.removeAttribute($.AUDIO);return}this.setAttribute($.AUDIO,"")}get hotkeys(){return Ee(this,Vo)}get nohotkeys(){return this.hasAttribute($.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute($.NOHOTKEYS);return}this.setAttribute($.NOHOTKEYS,"")}get thumbnailTime(){return Ji(this.getAttribute($.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute($.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute($.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute($.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Zs(this,$.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute($.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute($.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute($.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute($.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute($.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute($.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute($.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute($.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute($.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute($.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute($.PLAYBACK_RATES))return this.getAttribute($.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute($.PLAYBACK_RATES);return}this.setAttribute($.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Ji(this.getAttribute($.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute($.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Ji(this.getAttribute($.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute($.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute($.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute($.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute($.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return Ji(this.getAttribute($.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute($.DEFAULT_DURATION):this.setAttribute($.DEFAULT_DURATION,`${t}`)}get playerSoftwareName(){var t;return(t=this.getAttribute(O.PLAYER_SOFTWARE_NAME))!=null?t:SM}get playerSoftwareVersion(){var t;return(t=this.getAttribute(O.PLAYER_SOFTWARE_VERSION))!=null?t:AM}get beaconCollectionDomain(){var t;return(t=this.getAttribute(O.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(O.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(O.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(O.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(O.MAX_RESOLUTION,t):this.removeAttribute(O.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(O.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(O.MIN_RESOLUTION,t):this.removeAttribute(O.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(O.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(O.RENDITION_ORDER,t):this.removeAttribute(O.RENDITION_ORDER))}get extraSourceParams(){return this.hasAttribute($.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute($.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):xM}set extraSourceParams(t){t==null?this.removeAttribute($.EXTRA_SOURCE_PARAMS):this.setAttribute($.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(O.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(O.CUSTOM_DOMAIN,t):this.removeAttribute(O.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Zs(this,O.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(O.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute($.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute($.NO_VOLUME_PREF,""):this.removeAttribute($.NO_VOLUME_PREF)}get debug(){return Zs(this,O.DEBUG)!=null}set debug(t){t?this.setAttribute(O.DEBUG,""):this.removeAttribute(O.DEBUG)}get disableTracking(){return Zs(this,O.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(O.DISABLE_TRACKING,!!t)}get disableCookies(){return Zs(this,O.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(O.DISABLE_COOKIES,""):this.removeAttribute(O.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(O.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:ye.UNKNOWN}set streamType(t){this.setAttribute(O.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute($.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute($.DEFAULT_STREAM_TYPE))!=null?s:ye.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute($.DEFAULT_STREAM_TYPE,t):this.removeAttribute($.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute($.TARGET_LIVE_WINDOW)?+this.getAttribute($.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute($.TARGET_LIVE_WINDOW):this.setAttribute($.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Ji(Zs(this,O.START_TIME))}set startTime(t){this.setAttribute(O.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(O.PREFER_PLAYBACK);if(t===Jt.MSE||t===Jt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Jt.MSE||t===Jt.NATIVE?this.setAttribute(O.PREFER_PLAYBACK,t):this.removeAttribute(O.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Je(this,gr,Js).call(this),!this.media){ti("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...o1(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Je(this,gr,Js).call(this),!this.media){ti("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Je(this,gr,Js).call(this),!this.media){ti("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute($.PLAYBACK_TOKEN),r=this.getAttribute($.THUMBNAIL_TOKEN),s=this.getAttribute($.STORYBOARD_TOKEN);return{...Ee(this,Wo),...t!=null?{playback:t}:{},...r!=null?{thumbnail:r}:{},...s!=null?{storyboard:s}:{}}}set tokens(t){Wt(this,Wo,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute($.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute($.PLAYBACK_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute($.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute($.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute($.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute($.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return Ec(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return V_(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};Go=new WeakMap,Wo=new WeakMap,qr=new WeakMap,Vo=new WeakMap,en=new WeakMap,gr=new WeakSet,Js=function(){var t,r,s;if(!Ee(this,Go)){Wt(this,Go,!0),Je(this,Yr,sa).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof $e.HTMLElement))throw""}catch{ti("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof xA))throw""}catch{ti("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Ih))throw""}catch{ti("<media-controller> failed to upgrade!")}OA(this),Je(this,Jc,u1).call(this),Je(this,eh,c1).call(this),Je(this,th,h1).call(this),Wt(this,qr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(fe.USER_INACTIVE))!=null?r:!0),Je(this,ih,f1).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>{Je(this,Yr,sa).call(this)})}},Zc=new WeakSet,d1=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Ko=new WeakSet,ev=function(t){Object.assign(Ee(this,en),t),Je(this,Yr,sa).call(this)},Yr=new WeakSet,sa=function(t={}){i1(r1(vM(this,{...Ee(this,en),...t})),this.shadowRoot)},Jc=new WeakSet,u1=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(J0.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},eh=new WeakSet,c1=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof Et||(n=new Et(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){$r(n),n.data&&$r(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=Xc(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&F0(o),ti(n),n.data&&ti(`${n.name} data:`,n.data),Je(this,Ko,ev).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof Et))return s;let{devlog:n}=Xc((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new Et(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},th=new WeakSet,h1=function(){var r,s,n,a;let t=()=>Je(this,Yr,sa).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},ih=new WeakSet,f1=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===ye.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(`
2978
2978
  `).length,E=-3;this.streamType===ye.LIVE&&(E=-2);let T=E-g;if(p.line===T&&!f)return;s.has(p)||s.set(p,p.line),p.line=T}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(fe.USER_INACTIVE))!=null?h:!1)},l=()=>{var f,m;let h=Array.from(((m=(f=this.mediaController)==null?void 0:f.media)==null?void 0:m.textTracks)||[]).filter(p=>["subtitles","captions"].includes(p.kind)&&p.mode==="showing")[0];h!==r&&(r==null||r.removeEventListener("cuechange",o)),r=h,r==null||r.addEventListener("cuechange",o),a(r,Ee(this,qr))};l(),(d=this.textTracks)==null||d.addEventListener("change",l),(u=this.textTracks)==null||u.addEventListener("addtrack",l),this.addEventListener("userinactivechange",()=>{var h,f;let c=(f=(h=this.mediaController)==null?void 0:h.hasAttribute(fe.USER_INACTIVE))!=null?f:!0;Ee(this,qr)!==c&&(Wt(this,qr,c),a(r,Ee(this,qr)))})};function Zs(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}$e.customElements.get("mux-player")||($e.customElements.define("mux-player",Ho),$e.MuxPlayerElement=Ho);var H8=Ho;})();
2979
2979
  /*! Bundled license information:
2980
2980