PageSourceSearch

https://www.hume.ai/_next/static/chunks/962b8720bf8685c7.js?dpl=dpl_DLkUY89o8xWzSEAWgeg6WuR62v1s

js hume.ai collected 2026-09-24 09:42:50 UTC 179,811 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,721440,e=>{"use strict";var t=e.i(271645),i=e.i(802316),s=e.i(953760);function a(e){return!(0,i.isString)(e)&&"width"in e&&"height"in e&&(0,i.isNumber)(e.width)&&(0,i.isNumber)(e.height)}let n="undefined"==typeof document,r=n?"":navigator?.userAgent.toLowerCase()||"",o=!n&&/iphone|ipad|ipod|ios|crios|fxios/i.test(r),h=!n&&/(iphone|ipod)/gi.test(navigator?.platform||""),d=!n&&!!window.chrome,l=!n&&(!!window.safari||o);function u(){return!n&&!(0,i.isUndefined)(window.screen.orientation)&&!(0,i.isUndefined)(window.screen.orientation.lock)&&(0,i.isFunction)(screen.orientation.unlock)}function c(e,t){return!n&&(e||(e=document.createElement("audio")),e.canPlayType(t).length>0)}function p(e,t){return!n&&(e||(e=document.createElement("video")),e.canPlayType(t).length>0)}function m(e){return!n&&(e||(e=document.createElement("video")),e.canPlayType("application/vnd.apple.mpegurl").length>0)}function g(e){return!n&&!!document.pictureInPictureEnabled&&!e?.disablePictureInPicture}function f(e){return!n&&(0,i.isFunction)(e?.webkitSupportsPresentationMode)&&(0,i.isFunction)(e?.webkitSetPresentationMode)}async function y(){let e=document.createElement("video");return e.volume=.5,await (0,i.waitTimeout)(0),.5===e.volume}function v(){if(n)return!1;let e=n?void 0:window?.ManagedMediaSource??window?.MediaSource??window?.WebKitMediaSource;if((0,i.isUndefined)(e))return!1;let t=e&&(0,i.isFunction)(e.isTypeSupported)&&e.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),s=n?void 0:window?.SourceBuffer??window?.WebKitSourceBuffer,a=(0,i.isUndefined)(s)||!(0,i.isUndefined)(s.prototype)&&(0,i.isFunction)(s.prototype.appendBuffer)&&(0,i.isFunction)(s.prototype.remove);return!!t&&!!a}class b{#e;get length(){return this.#e.length}constructor(e,t){(0,i.isArray)(e)?this.#e=e:(0,i.isUndefined)(e)||(0,i.isUndefined)(t)?this.#e=[]:this.#e=[[e,t]]}start(e){return this.#e[e][0]??1/0}end(e){return this.#e[e][1]??1/0}}function w(e){if(!e.length)return null;let t=e.start(0);for(let i=1;i<e.length;i++){let s=e.start(i);s<t&&(t=s)}return t}function k(e){if(!e.length)return null;let t=e.end(0);for(let i=1;i<e.length;i++){let s=e.end(i);s>t&&(t=s)}return t}let T=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx|flac)($|\?)/i,S=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp3","audio/webm","audio/flac","audio/m4a","audio/m4b","audio/mp4a","audio/mp4"]),$=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,C=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),x=/\.(m3u8)($|\?)/i,P=/\.(mpd)($|\?)/i,A=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]),E=new Set(["application/dash+xml"]);function q({src:e,type:t}){return(0,i.isString)(e)?T.test(e)||S.has(t)||e.startsWith("blob:")&&"audio/object"===t:"audio/object"===t}function M(e){return(0,i.isString)(e.src)?$.test(e.src)||C.has(e.type)||e.src.startsWith("blob:")&&"video/object"===e.type||I(e)&&(n||m()):"video/object"===e.type}function I({src:e,type:t}){return(0,i.isString)(e)&&x.test(e)||A.has(t)}function D({src:e,type:t}){return(0,i.isString)(e)&&P.test(e)||E.has(t)}function L(e){return(0,i.isString)(e.src)&&(q(e)||M(e)||I(e))}function R(e,t){let i=new URL(e);for(let e of Object.keys(t))i.searchParams.set(e,t[e]+"");return i.toString()}function V(e,t="preconnect"){if(n)return!1;let s=document.querySelector(`link[href="${e}"]`);if(!(0,i.isNull)(s))return!0;let a=document.createElement("link");return a.rel=t,a.href=e,a.crossOrigin="true",document.head.append(a),!0}let O={};function F(e){if(O[e])return O[e].promise;let t=(0,i.deferredPromise)(),s=document.querySelector(`script[src="${e}"]`);if(!(0,i.isNull)(s))return t.resolve(),t.promise;O[e]=t;let a=document.createElement("script");return a.src=e,a.onload=()=>{t.resolve(),delete O[e]},a.onerror=()=>{t.reject(),delete O[e]},setTimeout(()=>document.head.append(a),0),t.promise}function N(e){return"use-credentials"===e?"include":(0,i.isString)(e)?"same-origin":void 0}function U({title:e,src:t,download:s}){let a=(0,i.isBoolean)(s)||""===s?t.src:(0,i.isString)(s)?s:s?.url;return!function({url:e,src:t,download:s}){return(0,i.isString)(e)&&(s&&!0!==s||q(t)||M(t))}({url:a,src:t,download:s})?null:{url:a,name:!(0,i.isBoolean)(s)&&!(0,i.isString)(s)&&s?.filename||e.toLowerCase()||"media"}}let B={crossOrigin:Symbol(0),readyState:Symbol(0),updateActiveCues:Symbol(0),canLoad:Symbol(0),onModeChange:Symbol(0),native:Symbol(0),nativeHLS:Symbol(0)};function K(e,t){return t>=e.startTime&&t<e.endTime}function G(e,t,s){let a=null,n=(0,i.getScope)();function r(){let r=(0,i.isString)(t)?[t]:t,o=e.toArray().find(e=>r.includes(e.kind)&&"showing"===e.mode);if(o!==a){if(!o){s(null),a=null;return}2==o.readyState?s(o):(s(null),(0,i.scoped)(()=>{let e=(0,i.listenEvent)(o,"load",()=>{s(o),e()},{once:!0})},n)),a=o}}return r(),(0,i.listenEvent)(e,"mode-change",r)}class Q extends i.EventsTarget{static createId(e){return`vds-${e.type}-${e.kind}-${e.src??e.label??"?"}`}src;content;type;encoding;id="";label="";language="";kind;default=!1;#t=!1;#i=0;#s="disabled";#a={};#n=[];#r=[];#o=[];[B.readyState]=0;[B.crossOrigin];[B.onModeChange]=null;[B.native]=null;get metadata(){return this.#a}get regions(){return this.#n}get cues(){return this.#r}get activeCues(){return this.#o}get readyState(){return this[B.readyState]}get mode(){return this.#s}set mode(e){this.setMode(e)}constructor(e){for(const t of(super(),Object.keys(e)))this[t]=e[t];
1this.type||(this.type="vtt"),!n&&e.content?this.#h(e):e.src||(this[B.readyState]=2)}addCue(e,t){let s=0,a=this.#r.length;for(s=0;s<a&&!(e.endTime<=this.#r[s].startTime);s++);s===a?this.#r.push(e):this.#r.splice(s,0,e),e instanceof TextTrackCue||this[B.native]?.track.addCue(e),this.dispatchEvent(new i.DOMEvent("add-cue",{detail:e,trigger:t})),K(e,this.#i)&&this[B.updateActiveCues](this.#i,t)}removeCue(e,t){let s=this.#r.indexOf(e);if(s>=0){let a=this.#o.includes(e);this.#r.splice(s,1),this[B.native]?.track.removeCue(e),this.dispatchEvent(new i.DOMEvent("remove-cue",{detail:e,trigger:t})),a&&this[B.updateActiveCues](this.#i,t)}}setMode(e,t){this.#s!==e&&(this.#s=e,"disabled"===e?(this.#o=[],this.#d()):2===this.readyState?this[B.updateActiveCues](this.#i,t):this.#l(),this.dispatchEvent(new i.DOMEvent("mode-change",{detail:this,trigger:t})),this[B.onModeChange]?.())}[B.updateActiveCues](e,t){if(this.#i=e,"disabled"===this.mode||!this.#r.length)return;let i=[];for(let t=0,s=this.#r.length;t<s;t++){let s=this.#r[t];K(s,e)&&i.push(s)}let s=i.length!==this.#o.length;if(!s){for(let e=0;e<i.length;e++)if(!this.#o.includes(i[e])){s=!0;break}}this.#o=i,s&&this.#d(t)}[B.canLoad](){this.#t=!0,"disabled"!==this.#s&&this.#l()}#h(t){e.A(704004).then(({parseText:e,VTTCue:s,VTTRegion:a})=>{(0,i.isString)(t.content)&&"json"!==t.type?e(t.content,{type:t.type}).then(({cues:e,regions:t})=>{this.#r=e,this.#n=t,this.#u()}):(this.#c(t.content,s,a),3!==this.readyState&&this.#u())})}async #l(){if(this.#t&&!(this[B.readyState]>0)){if(this[B.readyState]=1,this.dispatchEvent(new i.DOMEvent("load-start")),!this.src)return void this.#u();try{let{parseResponse:t,VTTCue:i,VTTRegion:s}=await e.A(704004),a=this[B.crossOrigin]?.(),n=fetch(this.src,{headers:"json"===this.type?{"Content-Type":"application/json"}:void 0,credentials:N(a)});if("json"===this.type)this.#c(await (await n).text(),i,s);else{let{errors:e,metadata:i,regions:s,cues:a}
1=await t(n,{type:this.type,encoding:this.encoding});if(e[0]?.code===0)throw e[0];this.#a=i,this.#n=s,this.#r=a}this.#u()}catch(e){this.#p(e)}}}#u(){if(this[B.readyState]=2,!this.src||"vtt"!==this.type){let e=this[B.native];if(e&&!e.managed)for(let t of this.#r)e.track.addCue(t)}let e=new i.DOMEvent("load");this[B.updateActiveCues](this.#i,e),this.dispatchEvent(e)}#p(e){this[B.readyState]=3,this.dispatchEvent(new i.DOMEvent("error",{detail:e}))}#c(e,t,s){try{var a,n,r;let o,h,d,{regions:l,cues:u}=(a=e,n=t,r=s,o=(0,i.isString)(a)?JSON.parse(a):a,h=[],d=[],o.regions&&r&&(h=o.regions.map(e=>Object.assign(new r,e))),(o.cues||(0,i.isArray)(o))&&(d=((0,i.isArray)(o)?o:o.cues).filter(e=>(0,i.isNumber)(e.startTime)&&(0,i.isNumber)(e.endTime)).map(e=>Object.assign(new n(0,0,""),e))),{regions:h,cues:d});this.#n=l,this.#r=u}catch(e){this.#p(e)}}#d(e){this.dispatchEvent(new i.DOMEvent("cue-change",{trigger:e}))}}let H=/captions|subtitles/;function W(e){return H.test(e.kind)}let j=new i.State({artist:"",artwork:null,audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,audioGain:null,buffered:new b,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:u(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,get iOSControl
1s(){return h&&"video"===this.mediaType&&(!this.playsInline||!i.fscreen.fullscreenEnabled&&this.fullscreen)},get nativeControls(){return this.controls||this.iOSControls},controlsVisible:!1,get controlsHidden(){return!this.controlsVisible},crossOrigin:null,ended:!1,error:null,fullscreen:!1,get loop(){return this.providedLoop||this.userPrefersLoop},logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new b,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,canSetAudioGain:!1,seekable:new b,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(W).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.ended?this.duration:this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get duration(){return this.seekableWindow},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return"unknown"!==this.providedViewType?this.providedViewType:this.inferredViewType},get streamType(){return"unknown"!==this.providedStreamType?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){return Math.max(w(this.buffered)??0,this.clipStartTime)},get bufferedEnd(){let e=k(this.buffered)??0;return Math.min(this.seekableEnd,Math.max(0,e-this.clipStartTime))},get bufferedWindow(){return Math.max(0,this.bufferedEnd-this.bufferedStart)}
1,get seekableStart(){if(this.isLiveDVR&&this.liveDVRWindow>0)return Math.max(0,this.seekableEnd-this.liveDVRWindow);return Math.max(w(this.seekable)??0,this.clipStartTime)},get seekableEnd(){if(this.providedDuration>0)return this.providedDuration;let e=this.liveSyncPosition>0?this.liveSyncPosition:this.canPlay?k(this.seekable)??1/0:0;return this.clipEndTime>0?Math.min(this.clipEndTime,e):e},get seekableWindow(){let e=this.seekableEnd-this.seekableStart;return isNaN(e)?1/0:Math.max(0,e)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return"airplay"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},get isGoogleCastConnected(){return"google-cast"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.duration)&&(!this.isLiveDVR||this.duration>=this.liveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.duration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,this.seekableEnd-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},get isLiveDVR(){return/:dvr/.test(this.streamType)},get liveDVRWindow(){return Math.max(this.inferredLiveDVRWindow,this.minLiveDVRWindow)},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedLoop:!1,userPrefersLoop:!1,providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null,inferredLiveDVRWindow:0,savedState:null}),z=new Set(["autoPlayError","autoPlaying","buffered","canPlay","error","paused","played","playing","seekable","seeking","waiting"]),_=new Set([...z,"ended","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","inferredLiveDVRWindow","liveSyncPosition","realCurrentTime","savedState","started","userBehindLiveEdge"]);function X(e,t=!1){let s=t?z:_;j.reset(e,e=>s.has(e)),(0,i.tick)()}function Y(e,t){let i=e+t.clipStartTime(),s=Math.floor(e)===Math.floor(t.seekableStart()),a=Math.floor(i)===Math.floor(t.seekableEnd());return s?t.seekableStart():a?t.seekableEnd():t.isLiveDVR()&&t.liveDVRWindow()>0&&i<t.seekableEnd()-t.liveDVRWindow()?t.bufferedStart():Math.min(Math.max(t.seekableStart()+.1,i),t.seekableEnd()-.1)}let J=(0,i.createContext)();function Z(){return(0,i.useContext)(J)}class ee{#m=null;#g=null;#f=-1;#y;constructor(e){this.#y=e}setTarget(e){this.#m=e}getPlayer(e){return this.#g||(e??this.#m)?.dispatchEvent(new i.DOMEvent("find-media-player",{detail:e=>void(this.#g=e),bubbles:!0,composed:!0})),this.#g}setPlayer(e){this.#g=e}startLoading(e){this.#v("media-start-loading",e)}startLoadingPoster(e){this.#v("media-poster-start-loading",e)}requestAirPlay(e){this.#v("media-airplay-request",e)}requestGoogleCast(e){this.#v("media-google-cast-request",e)}play(e){this.#v("media-play-request",e)}pause(e){this.#v("media-pause-request",e)}mute(e){this.#v("media-mute-request",e)}unmute(e){this.#v("media-unmute-request",e)}enterFullscreen(e,t){this.#v("media-enter-fullscreen-request",t,e)}exitFullscreen(e,t){this.#v("media-exit-fullscreen-request",t,e)}lockScreenOrientation(e,t){this.#v("media-orientation-lock-request",t,e)}unlockScreenOrientation(e){this.#v("media-orientation-unlock-request",e)}enterPictureInPicture(e){this.#v("media-enter-pip-request",e)}exitPictureInPicture(e){this.#v("media-exit-pip-request",e)}seeking(e,t){this.#v("media-seeking-request",t,e)}seek(e,t){this.#v("media-seek-request",t,e)}seekToLiveEdge(e){this.#v("media-live-edge-request",e)}changeDuration(e,t){this.#v("media-duration-change-request",t,e)}changeClipStart(e,t){this.#v("media-clip-start-change-request",t,e)}changeClipEnd(e,t){this.#v("media-clip-end-change-request",t,e)}changeVolume(e,t){this.#v("media-volume-change-request",t,Math.max(0,Math.min(1,e)))}changeAudioTrack(e,t){this.#v("media-audio-track-change-request",t,e)}changeQuality(e,t){this.#v("media-quality-change-request",t,e)}requestAutoQuality(e){this.changeQuality(-1,e)}changeTextTrackMode(e,t,i){this.#v("media-text-track-change-request",i,{index:e,mode:t})}changePlaybackRate(e,t){this.#v("media-rate-change-request",t,e)}changeAudioGain(e,t){this.#v("media-audio-gain-change-request",t,e)}
1resumeControls(e){this.#v("media-resume-controls-request",e)}pauseControls(e){this.#v("media-pause-controls-request",e)}togglePaused(e){let t=this.getPlayer(e?.target);t&&(t.state.paused?this.play(e):this.pause(e))}toggleControls(e){let t=this.getPlayer(e?.target);t&&(t.controls.showing?t.controls.hide(0,e):t.controls.show(0,e))}toggleMuted(e){let t=this.getPlayer(e?.target);t&&(t.state.muted?this.unmute(e):this.mute(e))}toggleFullscreen(e,t){let i=this.getPlayer(t?.target);i&&(i.state.fullscreen?this.exitFullscreen(e,t):this.enterFullscreen(e,t))}togglePictureInPicture(e){let t=this.getPlayer(e?.target);t&&(t.state.pictureInPicture?this.exitPictureInPicture(e):this.enterPictureInPicture(e))}showCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=this.#f;i[s]&&W(i[s])||(s=-1),-1===s&&(s=i.findIndex(e=>W(e)&&e.default)),-1===s&&(s=i.findIndex(e=>W(e))),s>=0&&this.changeTextTrackMode(s,"showing",e),this.#f=-1}disableCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=t.state.textTrack;if(s){let t=i.indexOf(s);this.changeTextTrackMode(t,"disabled",e),this.#f=t}}toggleCaptions(e){let t=this.getPlayer(e?.target);t&&(t.state.textTrack?this.disableCaptions():this.showCaptions())}userPrefersLoopChange(e,t){this.#v("media-user-loop-change-request",t,e)}#v(e,t,s){let a=new i.DOMEvent(e,{bubbles:!0,composed:!0,cancelable:!0,detail:s,trigger:t}),n=t?.target||null;n&&n instanceof i.Component&&(n=n.el),n=!n||n===document||n===window||n===document.body||this.#g?.el&&n instanceof Node&&!this.#g.el.contains(n)?this.#m??this.getPlayer()?.el:n??this.#m,this.#g&&("media-play-request"!==e||this.#g.state.canLoad)?this.#g.canPlayQueue.enqueue(e,()=>n?.dispatchEvent(a)):n?.dispatchEvent(a)}#b(e){}}class et{playerId="vds-player";mediaId=null;#w={volume:null,muted:null,audioGain:null,time:null,lang:null,captions:null,rate:null,quality:null};async getVolume(){return this.#w.volume}async setVolume(e){this.#w.volume=e,this.save()}async getMuted(){return this.#w.muted}async setMuted(e){this.#w.muted=e,this.save()}async getTime(){return this.#w.time}async setTime(e,t){let i=e<0;this.#w.time=i?null:e,i||t?this.saveTime():this.saveTimeThrottled()}async getLang(){return this.#w.lang}async setLang(e){this.#w.lang=e,this.save()}async getCaptions(){return this.#w.captions}async setCaptions(e){this.#w.captions=e,this.save()}async getPlaybackRate(){return this.#w.rate}async setPlaybackRate(e){this.#w.rate=e,this.save()}async getAudioGain(){return this.#w.audioGain}async setAudioGain(e){this.#w.audioGain=e,this.save()}async getVideoQuality(){return this.#w.quality}async setVideoQuality(e){this.#w.quality=e,this.save()}onChange(e,t,i="vds-player"){let s=i?localStorage.getItem(i):null,a=t?localStorage.getItem(t):null;this.playerId=i,this.mediaId=t,this.#w={volume:null,muted:null,audioGain:null,lang:null,captions:null,rate:null,quality:null,...s?JSON.parse(s):{},time:a?+a:null}}save(){if(n||!this.playerId)return;let e=JSON.stringify({...this.#w,time:void 0});localStorage.setItem(this.playerId,e)}saveTimeThrottled=(0,i.functionThrottle)(this.saveTime.bind(this),1e3);saveTime(){if(n||!this.mediaId)return;let e=(this.#w.time??0).toString();localStorage.setItem(this.mediaId,e)}}let ei={add:Symbol(0),remove:Symbol(0),reset:Symbol(0),select:Symbol(0),readonly:Symbol(0),setReadonly:Symbol(0),onReset:Symbol(0),onRemove:Symbol(0),onUserSelect:Symbol(0)};class es extends i.EventsTarget{items=[];[ei.readonly]=!1;get length(){return this.items.length}get readonly(){return this[ei.readonly]}indexOf(e){return this.items.indexOf(e)}getById(e){return""===e?null:this.items.find(t=>t.id===e)??null}toArray(){return[...this.items]}[Symbol.iterator](){return this.items.values()}[ei.add](e,t){let s=this.items.length;""+s in this||Object.defineProperty(this,s,{get(){return this.items[s]}}),this.items.includes(e)||(this.items.push(e),this.dispatchEvent(new i.DOMEvent("add",{detail:e,trigger:t})))}[ei.remove](e,t){let s=this.items.indexOf(e);s>=0&&(this[ei.onRemove]?.(e,t),this.items.splice(s,1),this.dispatchEvent(new i.DOMEvent("remove",{detail:e,trigger:t})))}[ei.reset](e){for(let t of[...this.items])this[ei.remove](t,e);this.items=[],this[ei.setReadonly](!1,e),this[ei.onReset]?.()}[ei.setReadonly](e,t){this[ei.readonly]!==e&&(this[ei.readonly]=e,this.dispatchEvent(new i.DOMEvent("readonly-change",{detail:e,trigger:t})))}}let ea=Symbol(0);class en extends es{get selected(){return this.items.find(e=>e.selected)??null}get selectedIndex(){return this.items.findIndex(e=>e.selected)}[ei.onRemove](e,t){this[ei.select](e,!1,t)}[ei.add](e,t){e[ea]=!1,Object.defineProperty(e,"selected",{get(){return this[ea]},set:t=>
1{this.readonly||(this[ei.onUserSelect]?.(),this[ei.select](e,t))}}),super[ei.add](e,t)}[ei.select](e,t,s){if(t===e?.[ea])return;let a=this.selected;e&&(e[ea]=t),(t?a!==e:a===e)&&(a&&(a[ea]=!1),this.dispatchEvent(new i.DOMEvent("change",{detail:{prev:a,current:this.selected},trigger:s})))}}class er extends en{}function eo(e,t=2){return Number(e.toFixed(t))}function eh(e){return String(e).split(".")[1]?.length??0}function ed(e,t,i){return Math.max(e,Math.min(i,t))}function el(e,t){let s=t.composedPath()[0];return(0,i.isDOMNode)(s)&&e.contains(s)}let eu=new Set;if(!n){let e=function(){for(let e of eu)try{e()}catch(e){}window.requestAnimationFrame(e)};e()}function ec(e,t,i){e.hasAttribute(t)||e.setAttribute(t,i)}function ep(e,t){if(!(e.hasAttribute("aria-label")||e.hasAttribute("data-no-label"))){if(!(0,i.isFunction)(t))return void(0,i.setAttribute)(e,"aria-label",t);n?s():(0,i.effect)(s)}function s(){(0,i.setAttribute)(e,"aria-label",t())}}function em(e){let t=getComputedStyle(e);return"none"!==t.display&&parseInt(t.opacity)>0}function eg(e,t){var i;return i=()=>t(!!e&&("checkVisibility"in e?e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):em(e))),eu.add(i),()=>eu.delete(i)}function ef(e,t,i){for(;t;)if(t===e)return!0;else if(i?.(t))break;else t=t.parentElement;return!1}function ey(e,t){return new i.EventsController(e).add("pointerup",e=>{0!==e.button||e.defaultPrevented||t(e)}).add("keydown",e=>{(0,i.isKeyboardClick)(e)&&t(e)})}function ev(e){return(0,i.isTouchEvent)(e)&&(e.touches.length>1||e.changedTouches.length>1)}function eb(e){if(n)return e();let t=(0,i.getScope)(),s=window.requestAnimationFrame(()=>{(0,i.scoped)(e,t),s=-1});return()=>void window.cancelAnimationFrame(s)}function ew(e,t,a,{offsetVarName:n,xOffset:r,yOffset:o,...h}){if(!e)return;let d=a.replace(" ","-").replace("-center","");if((0,i.setStyle)(e,"visibility",t?null:"hidden"),!t)return;let l=a.includes("top");return(0,s.autoUpdate)(t,e,()=>{(0,s.computePosition)(t,e,{placement:d,middleware:[...h.middleware??[],(0,s.flip)({fallbackAxisSideDirection:"start",crossAxis:!1}),(0,s.shift)()],...h}).then(({x:t,y:i,middlewareData:s})=>{let h,d,u=!!s.flip?.index;l=a.includes(u?"bottom":"top"),e.setAttribute("data-placement",u?a.startsWith("top")?a.replace("top","bottom"):a.replace("bottom","top"):a),Object.assign(e.style,{top:`calc(${i+"px"} + ${(h=o?o+"px":`var(--${n}-y-offset, 0px)`,l?`calc(-1 * ${h})`:h)})`,left:`calc(${t+"px"} + ${(d=r?r+"px":`var(--${n}-x-offset, 0px)`,a.includes("left")?`calc(-1 * ${d})`:d)})`})})})}function ek(e){return e instanceof HTMLElement}class eT{priority=0;#k=!0;#T=null;#S=null;#$=new Set;canRender(e,t){return!!t}attach(e){this.#T=e,e&&(e.textTracks.onchange=this.#C.bind(this))}addTrack(e){this.#$.add(e),this.#x(e)}removeTrack(e){e[B.native]?.remove?.(),e[B.native]=null,this.#$.delete(e)}changeTrack(e){let t=e?.[B.native];t&&"showing"!==t.track.mode&&(t.track.mode="showing"),this.#S=e}setDisplay(e){this.#k=e,this.#C()}detach(){for(let e of(this.#T&&(this.#T.textTracks.onchange=null),this.#$))this.removeTrack(e);this.#$.clear(),this.#T=null,this.#S=null}#x(e){if(!this.#T)return;let t=e[B.native]??=this.#P(e);ek(t)&&(this.#T.append(t),t.track.mode=t.default?"showing":"disabled")}#P(e){let t=document.createElement("track"),i=e.default||"showing"===e.mode,s=e.src&&"vtt"===e.type;return t.id=e.id,t.src=s?e.src:"",t.label=e.label,t.kind=e.kind,t.default=i,e.language&&(t.srclang=e.language),i&&!s&&this.#A(e,t.track),t}#A(e,t){if(!(e.src&&"vtt"===e.type||t.cues?.length))for(let i of e.cues)t.addCue(i)}#C(e){for(let t of this.#$){let i=t[B.native];if(!i)continue;if(!this.#k){i.track.mode=i.managed?"hidden":"disabled";continue}let s="showing"===i.track.mode;s&&this.#A(t,i.track),t.setMode(s?"showing":"disabled",e)}}}class eS{#T=null;#E;#q=[];#M;#I=!1;#D=null;#L=null;constructor(e){this.#M=e;const t=e.textTracks;this.#E=t,(0,i.effect)(this.#R.bind(this)),(0,i.onDispose)(this.#V.bind(this)),new i.EventsController(t).add("add",this.#O.bind(this)).add("remove",this.#F.bind(this)).add("mode-change",this.#N.bind(this))}#R(){let{nativeControls:e}=this.#M.$state;this.#I=e(),this.#N()}add(e){this.#q.push(e),(0,i.untrack)(this.#N.bind(this))}
1remove(e){e.detach(),this.#q.splice(this.#q.indexOf(e),1),(0,i.untrack)(this.#N.bind(this))}attachVideo(e){requestAnimationFrame(()=>{if(this.#T=e,e)for(let t of(this.#D=new eT,this.#D.attach(e),this.#E))this.#U(t);this.#N()})}#U(e){W(e)&&this.#D?.addTrack(e)}#B(e){W(e)&&this.#D?.removeTrack(e)}#O(e){this.#U(e.detail)}#F(e){this.#B(e.detail)}#N(){let e=this.#E.selected;if(this.#T&&(this.#I||e?.[B.nativeHLS])){this.#L?.changeTrack(null),this.#D?.setDisplay(!0),this.#D?.changeTrack(e);return}if(this.#D?.setDisplay(!1),this.#D?.changeTrack(null),!e)return void this.#L?.changeTrack(null);let t=this.#q.sort((e,t)=>e.priority-t.priority).find(t=>t.canRender(e,this.#T));this.#L!==t&&(this.#L?.detach(),t?.attach(this.#T),this.#L=t??null),t?.changeTrack(e)}#V(){this.#D?.detach(),this.#D=null,this.#L?.detach(),this.#L=null}}class e$ extends es{#t=!1;#K={};#G=null;#Q=null;[B.crossOrigin];constructor(){super()}get selected(){return this.items.find(e=>"showing"===e.mode&&W(e))??null}get selectedIndex(){let e=this.selected;return e?this.indexOf(e):-1}get preferredLang(){return this.#Q}set preferredLang(e){this.#Q=e,this.#H(e)}add(e,t){let i=e instanceof Q?e:new Q(e),s="captions"===e.kind||"subtitles"===e.kind?"captions":e.kind;return this.#K[s]&&e.default&&delete e.default,i.addEventListener("mode-change",this.#W),this[ei.add](i,t),i[B.crossOrigin]=this[B.crossOrigin],this.#t&&i[B.canLoad](),e.default&&(this.#K[s]=i),this.#j(),this}remove(e,t){if(this.#z=e,this.items.includes(e))return e===this.#K[e.kind]&&delete this.#K[e.kind],e.mode="disabled",e[B.onModeChange]=null,e.removeEventListener("mode-change",this.#W),this[ei.remove](e,t),this.#z=null,this}clear(e){for(let t of[...this.items])this.remove(t,e);return this}getByKind(e){let t=Array.isArray(e)?e:[e];return this.items.filter(e=>t.includes(e.kind))}[B.canLoad](){if(!this.#t){for(let e of this.items)e[B.canLoad]();this.#t=!0,this.#j()}}#j=(0,i.functionDebounce)(async()=>{if(!this.#t)return;!this.#Q&&this.#G&&(this.#Q=await this.#G.getLang());let e=await this.#G?.getCaptions();for(let t of[["captions","subtitles"],"chapters","descriptions","metadata"]){let s=this.getByKind(t);if(s.find(e=>"showing"===e.mode))continue;let a=this.#Q?s.find(e=>e.language===this.#Q):null,n=(0,i.isArray)(t)?this.#K[t.find(e=>this.#K[e])||""]:this.#K[t],r=a??n,o=r&&W(r);r&&(!o||!1!==e)&&(r.mode="showing",o&&this.#_(r))}},300);#z=null;#W=this.#X.bind(this);#X(e){let t=e.detail;if(this.#G&&W(t)&&t!==this.#z&&this.#_(t),"showing"===t.mode){let e=W(t)?["captions","subtitles"]:[t.kind];for(let i of this.items)"showing"===i.mode&&i!=t&&e.includes(i.kind)&&(i.mode="disabled")}this.dispatchEvent(new i.DOMEvent("mode-change",{detail:e.detail,trigger:e}))}#_(e){"disabled"!==e.mode&&this.#H(e.language),this.#G?.setCaptions?.("showing"===e.mode)}#H(e){this.#G?.setLang?.(this.#Q=e)}setStorage(e){this.#G=e}}let eC={setAuto:Symbol(0),enableAuto:Symbol(0)};class ex extends en{#Y=!1;switch="current";get auto(){return this.#Y||this.readonly}[eC.enableAuto];[ei.onUserSelect](){this[eC.setAuto](!1)}[ei.onReset](e){this[eC.enableAuto]=void 0,this[eC.setAuto](!1,e)}autoSelect(e){this.readonly||this.#Y||!this[eC.enableAuto]||(this[eC.enableAuto]?.(e),this[eC.setAuto](!0,e))}getBySrc(e){return this.items.find(t=>t.src===e)}[eC.setAuto](e,t){this.#Y!==e&&(this.#Y=e,this.dispatchEvent(new i.DOMEvent("auto-change",{detail:e,trigger:t})))}}function eP(e,t){return[...e].sort(t?eE:eA)}function eA(e,t){return e.height===t.height?(e.bitrate??0)-(t.bitrate??0):e.height-t.height}function eE(e,t){return t.height===e.height?(t.bitrate??0)-(e.bitrate??0):t.height-e.height}class eq extends i.ViewController{}let eM=new Set(["Shift","Alt","Meta","Ctrl"]),eI='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';class eD extends eq{#M;constructor(e){super(),this.#M=e}onConnect(){(0,i.effect)(this.#J.bind(this))}#J(){let{keyDisabled:e,keyTarget:t}=this.$props;if(e())return;let s="player"===t()?this.el:document,a=(0,i.signal)(!1);s===this.el?new i.EventsController(this.el).add("focusin",()=>a.set(!0)).add("focusout",e=>{this.el.contains(e.target)||a.set(!1)}):((0,i.peek)(a)||a.set(document.querySelector("[data-media-player]")===this.el),(0,i.listenEvent)(document,"focusin",e=>{let t=e.composedPath().find(e=>e instanceof Element&&"media-player"===e.localName);void 0!==t&&a.set(this.el===t)})),(0,i.effect)(()=>{a()&&new i.EventsController(s).add("keyup",this.#Z.bind(this)).add("keydown",this.#ee.bind(this)).add("keydown",this.#et.bind(this),{capture:!0})})}#Z(e){let t=document.activeElement;
1if(!e.key||!this.$state.canSeek()||t?.matches(eI))return;let{method:s,value:a}=this.#ei(e);if(!(0,i.isString)(a)&&!(0,i.isArray)(a)){a?.onKeyUp?.({event:e,player:this.#M.player,remote:this.#M.remote}),a?.callback?.(e,this.#M.remote);return}if(s?.startsWith("seek")&&(e.preventDefault(),e.stopPropagation(),this.#es?(this.#ea(e,"seekForward"===s),this.#es=null):(this.#M.remote.seek(this.#en,e),this.#en=void 0)),s?.startsWith("volume")){let t=this.el.querySelector("[data-media-volume-slider]");t?.dispatchEvent(new KeyboardEvent("keyup",{key:"volumeUp"===s?"Up":"Down",shiftKey:e.shiftKey,trigger:e}))}}#ee(e){if(!e.key||eM.has(e.key))return;let t=document.activeElement;if(t?.matches(eI)||(0,i.isKeyboardClick)(e)&&t?.matches('button, [role="button"]'))return;let{method:s,value:a}=this.#ei(e),n=!e.metaKey&&/^[0-9]$/.test(e.key);if(!(0,i.isString)(a)&&!(0,i.isArray)(a)&&!n){a?.onKeyDown?.({event:e,player:this.#M.player,remote:this.#M.remote}),a?.callback?.(e,this.#M.remote);return}if(!s&&n&&!function(e){for(let t of eM)if(e[t.toLowerCase()+"Key"])return!0;return!1}(e)){e.preventDefault(),e.stopPropagation(),this.#M.remote.seek(this.$state.duration()/10*Number(e.key),e);return}if(s){switch(e.preventDefault(),e.stopPropagation(),s){case"seekForward":case"seekBackward":this.#er(e,s,"seekForward"===s);break;case"volumeUp":case"volumeDown":let t=this.el.querySelector("[data-media-volume-slider]");if(t)t.dispatchEvent(new KeyboardEvent("keydown",{key:"volumeUp"===s?"Up":"Down",shiftKey:e.shiftKey,trigger:e}));else{let t=e.shiftKey?.1:.05;this.#M.remote.changeVolume(this.$state.volume()+("volumeUp"===s?+t:-t),e)}break;case"toggleFullscreen":this.#M.remote.toggleFullscreen("prefer-media",e);break;case"speedUp":case"slowDown":let i=this.$state.playbackRate();this.#M.remote.changePlaybackRate(Math.max(.25,Math.min(2,i+("speedUp"===s?.25:-.25))),e);break;default:this.#M.remote[s]?.(e)}this.$state.lastKeyboardAction.set({action:s,event:e})}}#et(e){var t,i;i=t=e.target,(!n&&i instanceof HTMLAudioElement||!n&&t instanceof HTMLVideoElement)&&this.#ei(e).method&&e.preventDefault()}#ei(e){let t={...this.$props.keyShortcuts(),...this.#M.ariaKeys},s=Object.keys(t).find(s=>{let a=t[s],n=(0,i.isArray)(a)?a.join(" "):(0,i.isString)(a)?a:a?.keys,r=((0,i.isArray)(n)?n:n?.split(" "))?.map(e=>e.replace(/Shift\+(\d)/g,(e,t)=>eL[t-1]).replace(/Control/g,"Ctrl").split("+"));return r?.some(t=>{let i=new Set(t.filter(e=>eM.has(e)));for(let t of eM){let s=t.toLowerCase()+"Key";if(!i.has(t)&&e[s])return!1}return t.every(t=>eM.has(t)?e[t.toLowerCase()+"Key"]:e.key===t.replace("Space"," "))})});return{method:s,value:s?t[s]:null}}#en;#eo(e,t){let i=e.shiftKey?10:5;return this.#en=Math.max(0,Math.min((this.#en??this.$state.currentTime())+("seekForward"===t?+i:-i),this.$state.duration()))}#es=null;#ea(e,t){this.#es?.dispatchEvent(new KeyboardEvent(e.type,{key:t?"Right":"Left",shiftKey:e.shiftKey,trigger:e}))}#er(e,t,i){this.$state.canSeek()&&(this.#es||(this.#es=this.el.querySelector("[data-media-time-slider]")),this.#es?this.#ea(e,i):this.#M.remote.seeking(this.#eo(e,t),e))}}let eL=["!","@","#","$","%","^","&","*","(",")"];class eR extends i.ViewController{#eh;constructor(e){super(),this.#eh=e}onAttach(e){let{$props:t,ariaKeys:s}=Z(),a=e.getAttribute("aria-keyshortcuts");if(a){s[this.#eh]=a,n||(0,i.onDispose)(()=>{delete s[this.#eh]});return}let r=t.keyShortcuts()[this.#eh];if(r){let t=(0,i.isArray)(r)?r.join(" "):(0,i.isString)(r)?r:r?.keys;e.setAttribute("aria-keyshortcuts",(0,i.isArray)(t)?t.join(" "):t)}}}class eV extends eq{#ed=-2;#el=!1;#eu=(0,i.signal)(!1);#ec=(0,i.signal)(!1);#ep=null;#em=(0,i.signal)(!0);defaultDelay=2e3;get canIdle(){return this.#em()}set canIdle(e){this.#em.set(e)}get hideOnMouseLeave(){let{hideControlsOnMouseLeave:e}=this.$props;return this.#eu()||e()}set hideOnMouseLeave(e){this.#eu.set(e)}get showing(){return this.$state.controlsVisible()}show(e=0,t){this.#eg(),this.#el||this.#ef(!0,e,t)}hide(e=this.defaultDelay,t){this.#eg(),this.#el||this.#ef(!1,e,t)}pause(e){this.#el=!0,this.#eg(),this.#ef(!0,0,e)}resume(e){this.#el=!1,this.$state.paused()||this.#ef(!1,this.defaultDelay,e)}onConnect(){(0,i.effect)(this.#ey.bind(this))}#ey(){let{viewType:e}=this.$state;if(!this.el||!this.#em())return;
1if("audio"===e())return void this.show();(0,i.effect)(this.#ev.bind(this)),(0,i.effect)(this.#eb.bind(this));let t=this.#ew.bind(this),s=this.#ek.bind(this),a=this.#eT.bind(this);new i.EventsController(this.el).add("can-play",e=>this.show(0,e)).add("play",t).add("pause",s).add("end",a).add("auto-play-fail",s)}#ev(){if(!this.el)return;let{started:e,pointer:t,paused:s}=this.$state;if(!e()||"fine"!==t())return;let a=new i.EventsController(this.el),n=this.hideOnMouseLeave;n&&this.#ec()||(0,i.effect)(()=>{s()||a.add("pointermove",this.#eS.bind(this))}),n&&a.add("mouseenter",this.#e$.bind(this)).add("mouseleave",this.#eC.bind(this))}#eb(){let{paused:e,started:t,autoPlayError:s}=this.$state;if(e()||s()&&!t())return;let a=this.#eS.bind(this);(0,i.effect)(()=>{if(!this.el)return;let e=this.$state.pointer(),t=new i.EventsController(this.el);for(let i of["coarse"===e?"touchend":"pointerup","keydown"])t.add(i,a,{passive:!1})})}#ew(e){e.triggers.hasType("ended")||(this.show(0,e),this.hide(void 0,e))}#ek(e){this.show(0,e)}#eT(e){let{loop:t}=this.$state;t()&&this.hide(0,e)}#e$(e){this.#ec.set(!1),this.show(0,e),this.hide(void 0,e)}#eC(e){this.#ec.set(!0),this.hide(0,e)}#eg(){window.clearTimeout(this.#ed),this.#ed=-1}#eS(e){e.MEDIA_GESTURE||this.#el||ev(e)||((0,i.isKeyboardEvent)(e)&&("Escape"===e.key?(this.el?.focus(),this.#ep=null):this.#ep&&(e.preventDefault(),requestAnimationFrame(()=>{this.#ep?.focus(),this.#ep=null}))),this.show(0,e),this.hide(this.defaultDelay,e))}#ef(e,t,i){0===t?this.#C(e,i):this.#ed=window.setTimeout(()=>{this.scope&&this.#C(e&&!this.#el,i)},t)}#C(e,t){this.$state.controlsVisible()!==e&&(this.$state.controlsVisible.set(e),!e&&document.activeElement&&this.el?.contains(document.activeElement)&&(this.#ep=document.activeElement,requestAnimationFrame(()=>{this.el?.focus({preventScroll:!0})}
1)),this.dispatch("controls-change",{detail:e,trigger:t}))}}let eO=i.fscreen.fullscreenEnabled;class eF extends i.ViewController{#ex=!1;#eP=!1;get active(){return this.#eP}get supported(){return eO}onConnect(){new i.EventsController(i.fscreen).add("fullscreenchange",this.#C.bind(this)).add("fullscreenerror",this.#eA.bind(this)),(0,i.onDispose)(this.#eE.bind(this))}async #eE(){eO&&await this.exit()}#C(e){let t=eN(this.el);t!==this.#eP&&(t||(this.#ex=!1),this.#eP=t,this.dispatch("fullscreen-change",{detail:t,trigger:e}))}#eA(e){this.#ex&&(this.dispatch("fullscreen-error",{detail:null,trigger:e}),this.#ex=!1)}async enter(){try{if(this.#ex=!0,!this.el||eN(this.el))return;return eU(),i.fscreen.requestFullscreen(this.el)}catch(e){throw this.#ex=!1,e}}async exit(){if(this.el&&eN(this.el))return eU(),i.fscreen.exitFullscreen()}}function eN(e){if(i.fscreen.fullscreenElement===e)return!0;try{return e.matches(i.fscreen.fullscreenPseudoClass)}catch(e){return!1}}function eU(){if(!eO)throw Error("[vidstack] no fullscreen API")}class eB extends i.ViewController{#eq=(0,i.signal)(this.#eM());#eI=(0,i.signal)(!1);#eD;get type(){return this.#eq()}get locked(){return this.#eI()}get portrait(){return this.#eq().startsWith("portrait")}get landscape(){return this.#eq().startsWith("landscape")}static supported=u();get supported(){return eB.supported}onConnect(){if(this.supported)(0,i.listenEvent)(screen.orientation,"change",this.#eL.bind(this));else{let e=window.matchMedia("(orientation: landscape)");e.onchange=this.#eL.bind(this),(0,i.onDispose)(()=>e.onchange=null)}(0,i.onDispose)(this.#eE.bind(this))}async #eE(){this.supported&&this.#eI()&&await this.unlock()}#eL(e){this.#eq.set(this.#eM()),this.dispatch("orientation-change",{detail:{orientation:(0,i.peek)(this.#eq),lock:this.#eD},trigger:e})}async lock(e){(0,i.peek)(this.#eI)||this.#eD===e||(this.#eR(),await screen.orientation.lock(e),this.#eI.set(!0),this.#eD=e)}async unlock(){(0,i.peek)(this.#eI)&&(this.#eR(),this.#eD=void 0,await screen.orientation.unlock(),this.#eI.set(!1))}#eR(){if(!this.supported)throw Error("[vidstack] no orientation API")}#eM(){return n?"portrait-primary":this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}}class eK{name="audio";target;canPlay(e){return!!q(e)&&(n||!(0,i.isString)(e.src)||"?"===e.type||c(this.target,e.type))}mediaType(){return"audio"}async load(t){if(n)throw Error("[vidstack] can not load audio provider server-side");return new(await e.A(211112)).AudioProvider(this.target,t)}}class eG{name="video";target;canPlay(e){return!!M(e)&&(n||!(0,i.isString)(e.src)||"?"===e.type||p(this.target,e.type))}mediaType(){return"video"}async load(e){if(n)throw Error("[vidstack] can not load video provider server-side");return new(await Promise.resolve().then(function(){return ti})).VideoProvider(this.target,e)}}class eQ extends eG{static supported=v();name="hls";canPlay(e){return eQ.supported&&I(e)}async load(t){if(n)throw Error("[vidstack] can not load hls provider server-side");return new(await e.A(780249)).HLSProvider(this.target,t)}}let eH=null,eW=[],ej=[];function ez(){return eH??=new AudioContext}function e_(){eH&&0===eW.length&&0===ej.length&&eH.close().then(()=>{eH=null})}class eX{#M;#C;#eV=null;#eO=null;get currentGain(){return this.#eV?.gain?.value??null}get supported(){return!0}constructor(e,t){this.#M=e,this.#C=t}setGain(e){let t=this.currentGain;if(e!==this.currentGain){var i,s;let a;if(1===e&&1!==t)return void this.removeGain();if(!this.#eV){let e,t;this.#eV=((t=(e=ez()).createGain()).connect(e.destination),eW.push(t),t),this.#eO&&this.#eO.connect(this.#eV)}this.#eO||(this.#eO=(i=this.#M,s=this.#eV,a=ez().createMediaElementSource(i),s&&a.connect(s),ej.push(a),a)),this.#eV.gain.value=e,this.#C(e)}}removeGain(){this.#eV&&(this.#eO&&this.#eO.connect(ez().destination),this.#eF(),this.#C(null))}destroy(){this.#eN(),this.#eF()}#eN(){if(this.#eO)try{var e;let t;e=this.#eO,t=ej.indexOf(e),-1!==t&&(ej.splice(t,1),e.disconnect(),e_())}catch(e){}finally{this.#eO=null}}#eF(){if(this.#eV)try{var e;let t;e=this.#eV,t=eW.indexOf(e),-1!==t&&(eW.splice(t,1),e.disconnect(),e_())}catch(e){}finally{this.#eV=null}}}let eY=["focus","blur","visibilitychange","pageshow","pagehide"];class eJ{#eU=(0,i.signal)(eZ());#eB=(0,i.signal)(n?"visible":document.visibilityState);#eK;connect(){let e=new i.EventsController(window),t=this.#eG.bind(this);for(let i of eY)e.add(i,t);l&&e.add("beforeunload",e=>{this.#eK=setTimeout(()=>{e.defaultPrevented||e.returnValue.length>0||(this.#eU.set("hidden"),this.#eB.set("hidden"))},0)})}get pageState(){return this.#eU()}get visibility(){return this.#eB()}#eG(e){l&&window.clearTimeout(this.#eK),("blur"!==e.type||"active"===this.#eU())&&(this.#eU.set(eZ(e)),this.#eB.set("hidden"==document.visibilityState?"hidden":"visible"))}}function eZ(e){return n||e?.type==="blur"||"hidden"===document.visibilityState?"hidden":document.hasFocus()?"active":"passive"}class e0{#eQ;#eH;constructor(e){this.#eH=e}start(){(0,i.isUndefined)(this.#eQ)&&this.#eW()}stop(){(0,i.isNumber)(this.#eQ)&&window.cancelAnimationFrame(this.#eQ),this.#eQ=void 0}#eW(){this.#eQ=window.requestAnimationFrame(()=>{(0,i.isUndefined)(this.#eQ)||(this.#eH(),this.#eW())})}}class e1{#ej;#ez;#e_=!1;#eX=!1;#eY=!1;#eJ=new e0(this.#eZ.bind(this));#e0=new eJ;#e1;get #M(){return this.#ej.media}constructor(e,t){this.#ej=e,this.#ez=t,this.#e1=new i.EventsController(e.media),this.#e2(),this.#e0.connect(),(0,i.effect)(this.#e3.bind(this)),(0,i.onDispose)(this.#e5.bind(this))}#e5(){this.#eX=!1,this.#eY=!1,this.#eJ.stop(),this.#e1.abort(),this.#e4?.clear()}#e6=0;#e7=-1;#eZ(){let e=this.#M.currentTime;l&&e-this.#e7<.35||this.#e6===e||(this.#e9(e),this.#e6=e)}#e2(){this.#e8("loadstart",this.#te),this.#e8("abort",this.#tt),this.#e8("emptied",this.#ti),this.#e8("error",this.#eA),this.#e8("volumechange",this.#ts)}#ta(){this.#eX||(this.#e8("loadeddata",this.#tn),this.#e8("loadedmetadata",this.#tr),this.#e8("canplay",this.#to),this.#e8("canplaythrough",this.#th),this.#e8("durationchange",this.#td),this.#e8("play",this.#ew),this.#e8("progress",this.#tl),this.#e8("stalled",this.#tu),this.#e8("suspend",this.#tc),this.#e8("ratechange",this.#tp),this.#eX=!0)}#tm(){this.#eY||(this.#e8("pause",this.#ek),this.#e8("playing",this.#tg),this.#e8("seeked",this.#tf),this.#e8("seeking",this.#ty),this.#e8("ended",this.#tv),this.#e8("waiting",this.#tb),this.#eY=!0)}#e4=void 0;#tw=void 0;#e8(e,t){this.#e1.add(e,t.bind(this))}#tk(e){}#e9(e,t){let i=Math.min(e,this.#ez.$state.seekableEnd());this.#ez.notify("time-change",i,t)}#te(e){3===this.#M.networkState?this.#tt(e):(this.#ta(),this.#ez.notify("load-start",void 0,e))}#tt(e){this.#ez.notify("abort",void 0,e)}#ti(){this.#ez.notify("emptied",void 0,event)}#tn(e){this.#ez.notify("loaded-data",void 0,e)}#tr(e){this.#e6=0,this.#e7=-1,this.#tm(),this.#ez.notify("loaded-metadata",void 0,e),(o||l&&I(this.#ez.$state.source()))&&this.#ez.delegate.ready(this.#tT(),e)}#tT(){return{provider:(0,i.peek)(this.#ez.$provider),duration:this.#M.duration,buffered:this.#M.buffered,seekable:this.#M.seekable}}#ew(e){this.#ez.$state.canPlay&&this.#ez.notify("play",void 0,e)}#ek(e){(1!==this.#M.readyState||this.#e_)&&(this.#e_=!1,this.#eJ.stop(),this.#ez.notify("pause",void 0,e))}#to(e){this.#ez.delegate.ready(this.#tT(),e)}#th(e){this.#ez.$state.started()||this.#ez.notify("can-play-through",this.#tT(),e)}#tg(e){this.#M.paused||(this.#e_=!1,this.#ez.notify("playing",void 0,e),this.#eJ.start())}#tu(e){this.#ez.notify("stalled",void 0,e),this.#M.readyState<3&&(this.#e_=!0,this.#ez.notify("waiting",void 0,e))}#tb(e){this.#M.readyState<3&&(this.#e_=!0,this.#ez.notify("waiting",void 0,e))}#tv(e){this.#eJ.stop(),this.#e9(this.#M.duration,e),this.#ez.notify("end",void 0,e),this.#ez.$state.loop()&&(0,i.isNil)(this.#M.controls)&&
1(this.#M.controls=!1)}#e3(){let e=this.#ez.$state.paused(),t="hidden"===this.#e0.visibility;(e||t)&&(0,i.listenEvent)(this.#M,"timeupdate",this.#tS.bind(this))}#tS(e){this.#e9(this.#M.currentTime,e)}#td(e){this.#ez.$state.ended()&&this.#e9(this.#M.duration,e),this.#ez.notify("duration-change",this.#M.duration,e)}#ts(e){let t={volume:this.#M.volume,muted:this.#M.muted};this.#ez.notify("volume-change",t,e)}#tf(e){this.#e7=this.#M.currentTime,this.#e9(this.#M.currentTime,e),this.#ez.notify("seeked",this.#M.currentTime,e),Math.trunc(this.#M.currentTime)===Math.trunc(this.#M.duration)&&eh(this.#M.duration)>eh(this.#M.currentTime)&&(this.#e9(this.#M.duration,e),this.#M.ended||this.#ez.player.dispatch(new i.DOMEvent("media-play-request",{trigger:e})))}#ty(e){this.#ez.notify("seeking",this.#M.currentTime,e)}#tl(e){let t={buffered:this.#M.buffered,seekable:this.#M.seekable};this.#ez.notify("progress",t,e)}#tc(e){this.#ez.notify("suspend",void 0,e)}#tp(e){this.#ez.notify("rate-change",this.#M.playbackRate,e)}#eA(e){let t=this.#M.error;if(!t)return;let i={message:t.message,code:t.code,mediaError:t};this.#ez.notify("error",i,e)}}class e2{#ej;#ez;get #t$(){return this.#ej.media.audioTracks}constructor(e,t){this.#ej=e,this.#ez=t,this.#t$.onaddtrack=this.#tC.bind(this),this.#t$.onremovetrack=this.#tx.bind(this),this.#t$.onchange=this.#tP.bind(this),(0,i.listenEvent)(this.#ez.audioTracks,"change",this.#tA.bind(this))}#tC(e){let t=e.track;if(""===t.label)return;let i={id:t.id.toString()||`native-audio-${this.#ez.audioTracks.length}`,label:t.label,language:t.language,kind:t.kind,selected:!1};this.#ez.audioTracks[ei.add](i,e),t.enabled&&(i.selected=!0)}#tx(e){let t=this.#ez.audioTracks.getById(e.track.id);t&&this.#ez.audioTracks[ei.remove](t,e)}#tP(e){let t=this.#tE();if(!t)return;let i=this.#ez.audioTracks.getById(t.id);i&&this.#ez.audioTracks[ei.select](i,!0,e)}#tE(){return Array.from(this.#t$).find(e=>e.enabled)}#tA(e){let{current:t}=e.detail;if(!t)return;let i=this.#t$.getTrackById(t.id);if(i){let e=this.#tE();e&&(e.enabled=!1),i.enabled=!0}}}class e3{constructor(e,t){this.media=e,this.ctx=t,this.audioGain=new eX(e,e=>{this.ctx.notify("audio-gain-change",e)})}scope=(0,i.createScope)();currentSrc=null;audioGain;setup(){new e1(this,this.ctx),"audioTracks"in this.media&&new e2(this,this.ctx),(0,i.onDispose)(()=>{for(let e of(this.audioGain.destroy(),this.media.srcObject=null,this.media.removeAttribute("src"),this.media.querySelectorAll("source")))e.remove();this.media.load()})}get type(){return""}setPlaybackRate(e){this.media.playbackRate=e}async play(){return this.media.play()}async pause(){return this.media.pause()}setMuted(e){this.media.muted=e}setVolume(e){this.media.volume=e}setCurrentTime(e){this.media.currentTime=e}setPlaysInline(e){(0,i.setAttribute)(this.media,"playsinline",e)}async loadSource({src:e,type:t},s){(this.media.preload=s||"",!n&&void 0!==window.MediaStream&&e instanceof window.MediaStream)?(this.removeSource(),this.media.srcObject=e):(this.media.srcObject=null,(0,i.isString)(e)?"?"!==t?this.appendSource({src:e,type:t}):(this.removeSource(),this.media.src=this.#tq(e)):(this.removeSource(),this.media.src=window.URL.createObjectURL(e))),this.media.load(),this.currentSrc={src:e,type:t}}appendSource(e,t){let s=this.media.querySelector("source[data-vds]"),a=s??document.createElement("source");(0,i.setAttribute)(a,"src",this.#tq(e.src)),(0,i.setAttribute)(a,"type","?"!==e.type?e.type:t),(0,i.setAttribute)(a,"data-vds",""),s||this.media.append(a)}removeSource(){this.media.querySelector("source[data-vds]")?.remove()}#tq(e){let{clipStartTime:t,clipEndTime:i}=this.ctx.$state,s=t(),a=i();return s>0&&a>0?`${e}#t=${s},${a}`:s>0?`${e}#t=${s}`:a>0?`${e}#t=0,${a}`:e}}class e5{#M;#ez;#eU;#tM=(0,i.signal)(!1);get supported(){return this.#tM()}constructor(e,t){this.#M=e,this.#ez=t,this.#tI()}#tI(){!n&&this.#M?.remote&&this.canPrompt&&(this.#M.remote.watchAvailability(e=>{this.#tM.set(e)}).catch(()=>{this.#tM.set(!1)}),(0,i.effect)(this.#tD.bind(this)))}#tD(){if(!this.#tM())return;let e=this.#tL.bind(this);e(),(0,i.listenEvent)(this.#M,"playing",e);let t=new i.EventsController(this.#M.remote);for(let i of["connecting","connect","disconnect"])t.add(i,e)}async prompt(){if(!this.supported)throw Error("Not supported on this platform.");return"airplay"===this.type&&this.#M.webkitShowPlaybackTargetPicker?this.#M.webkitShowPlaybackTargetPicker():this.#M.remote.prompt()}#tL(e){let t=this.#M.remote.state;if(t===this.#eU)return;
1let i={type:this.type,state:t};this.#ez.notify("remote-playback-change",i,e),this.#eU=t}}class e4 extends e5{type="airplay";get canPrompt(){return"WebKitPlaybackTargetAvailabilityEvent"in window}}class e6{#T;#ez;constructor(e,t){this.#T=e,this.#ez=t,e.textTracks.onaddtrack=this.#O.bind(this),(0,i.onDispose)(this.#e5.bind(this))}#O(e){var t,i;let s=e.track;if(!s||(t=this.#T,i=s,Array.from(t.children).find(e=>e.track===i)))return;let a=new Q({id:s.id,kind:s.kind,label:s.label??"",language:s.language,type:"vtt"});a[B.native]={track:s},a[B.readyState]=2,a[B.nativeHLS]=!0;let n=0,r=e=>{if(s.cues)for(let t=n;t<s.cues.length;t++)a.addCue(s.cues[t],e),n++};r(e),s.oncuechange=r,this.#ez.textTracks.add(a,e),a.setMode(s.mode,e)}#e5(){for(let e of(this.#T.textTracks.onaddtrack=null,this.#ez.textTracks)){let t=e[B.native]?.track;t?.oncuechange&&(t.oncuechange=null)}}}class e7{#T;#M;constructor(e,t){this.#T=e,this.#M=t,new i.EventsController(e).add("enterpictureinpicture",this.#tR.bind(this)).add("leavepictureinpicture",this.#tV.bind(this))}get active(){return document.pictureInPictureElement===this.#T}get supported(){return g(this.#T)}async enter(){return this.#T.requestPictureInPicture()}exit(){return document.exitPictureInPicture()}#tR(e){this.#C(!0,e)}#tV(e){this.#C(!1,e)}#C=(e,t)=>{this.#M.notify("picture-in-picture-change",e,t)}}class e9{#T;#M;#s="inline";get mode(){return this.#s}constructor(e,t){this.#T=e,this.#M=t,(0,i.listenEvent)(e,"webkitpresentationmodechanged",this.#tO.bind(this))}get supported(){return f(this.#T)}async setPresentationMode(e){this.#s!==e&&this.#T.webkitSetPresentationMode(e)}#tO(e){let t=this.#s;this.#s=this.#T.webkitPresentationMode,this.#M.player?.dispatch(new i.DOMEvent("video-presentation-change",{detail:this.#s,trigger:e})),["fullscreen","picture-in-picture"].forEach(i=>{(this.#s===i||t===i)&&this.#M.notify(`${i}-change`,this.#s===i,e)})}}class e8{#tF;get active(){return"fullscreen"===this.#tF.mode}get supported(){return this.#tF.supported}constructor(e){this.#tF=e}async enter(){this.#tF.setPresentationMode("fullscreen")}async exit(){this.#tF.setPresentationMode("inline")}}class te{#tF;get active(){return"picture-in-picture"===this.#tF.mode}get supported(){return this.#tF.supported}constructor(e){this.#tF=e}async enter(){this.#tF.setPresentationMode("picture-in-picture")}async exit(){this.#tF.setPresentationMode("inline")}}class tt extends e3{$$PROVIDER_TYPE="VIDEO";get type(){return"video"}airPlay;fullscreen;pictureInPicture;constructor(e,t){super(e,t),(0,i.scoped)(()=>{if(this.airPlay=new e4(e,t),f(e)){let i=new e9(e,t);this.fullscreen=new e8(i),this.pictureInPicture=new te(i)}else g(e)&&(this.pictureInPicture=new e7(e,t))},this.scope)}setup(){super.setup(),m(this.video)&&new e6(this.video,this.ctx),this.ctx.textRenderers.attachVideo(this.video),(0,i.onDispose)(()=>{this.ctx.textRenderers.attachVideo(null)}),"video"===this.type&&this.ctx.notify("provider-setup",this)}get video(){return this.media}}var ti=Object.freeze({__proto__:null,VideoProvider:tt});function ts(e){try{return new Intl.DisplayNames(navigator.languages,{type:"language"}).of(e)??null}catch(e){return null}}class ta{#T;#ez;#tN=null;#tU=new Set;#tB=null;config={};get instance(){return this.#tN}constructor(e,t){this.#T=e,this.#ez=t}setup(e){this.#tN=e().create();let t=this.#tK.bind(this);for(let i of Object.values(e.events))this.#tN.on(i,t);for(let t of(this.#tN.on(e.events.ERROR,this.#eA.bind(this)),this.#tU))t(this.#tN);this.#ez.player.dispatch("dash-instance",{detail:this.#tN}),this.#tN.initialize(this.#T,void 0,!1),this.#tN.updateSettings({streaming:{text:{defaultEnabled:!1,dispatchForManualRendering:!0},buffer:{fastSwitchEnabled:!0}},...this.config}),this.#tN.on(e.events.FRAGMENT_LOADING_STARTED,this.#tG.bind(this)),this.#tN.on(e.events.FRAGMENT_LOADING_COMPLETED,this.#tQ.bind(this)),this.#tN.on(e.events.MANIFEST_LOADED,this.#tH.bind(this)),this.#tN.on(e.events.QUALITY_CHANGE_RENDERED,this.#tW.bind(this)),this.#tN.on(e.events.TEXT_TRACKS_ADDED,this.#tj.bind(this)),this.#tN.on(e.events.TRACK_CHANGE_RENDERED,this.#tz.bind(this)),this.#ez.qualities[eC.enableAuto]=this.#t_.bind(this),(0,i.listenEvent)(this.#ez.qualities,"change",this.#tX.bind(this)),(0,i.listenEvent)(this.#ez.audioTracks,"change",this.#tY.bind(this)),this.#tB=(0,i.effect)(this.#tJ.bind(this))}#tZ(e){let t;return new i.DOMEvent((t=e.type,`dash-${(0,i.camelToKebabCase)(t)}`),{detail:e})}#tJ(){if(!this.#ez.$state.live())return;let e=new e0(this.#t0.bind(this));return e.start(),e.stop.bind(e)}#t0(){if(!this.#tN)return;let e=this.#tN.duration()-this.#tN.time();this.#ez.$state.liveSyncPosition.set(isNaN(e)?1/0:e)}#tK(e){this.#ez.player?.dispatch(this.#tZ(e))}#t1=null;#t2={};#t3(e){let t=this.#t1?.[B.native],i=(t?.track).cues;if(!t||!i)return;let s=this.#t1.id,a=this.#t2[s]??0,n=this.#tZ(e);for(let e=a;
1e<i.length;e++){let t=i[e];t.positionAlign||(t.positionAlign="auto"),this.#t1.addCue(t,n)}this.#t2[s]=i.length}#tj(e){if(!this.#tN)return;let t=e.tracks,i=[...this.#T.textTracks].filter(e=>"manualMode"in e),s=this.#tZ(e);for(let e=0;e<i.length;e++){let a=t[e],n=i[e],r=new Q({id:`dash-${a.kind}-${e}`,label:a?.label??a.labels.find(e=>e.text)?.text??(a?.lang&&ts(a.lang))??a?.lang??void 0,language:a.lang??void 0,kind:a.kind,default:a.defaultTrack});r[B.native]={managed:!0,track:n},r[B.readyState]=2,r[B.onModeChange]=()=>{this.#tN&&("showing"===r.mode?(this.#tN.setTextTrack(e),this.#t1=r):(this.#tN.setTextTrack(-1),this.#t1=null))},this.#ez.textTracks.add(r,s)}}#tz(e){let{mediaType:t,newMediaInfo:i}=e;if("audio"===t){let t=this.#ez.audioTracks.getById(`dash-audio-${i.index}`);if(t){let i=this.#tZ(e);this.#ez.audioTracks[ei.select](t,!0,i)}}}#tW(e){if("video"!==e.mediaType)return;let t=this.#ez.qualities[e.newQuality];if(t){let i=this.#tZ(e);this.#ez.qualities[ei.select](t,!0,i)}}#tH(e){if(this.#ez.$state.canPlay()||!this.#tN)return;let{type:t,mediaPresentationDuration:s}=e.data,a=this.#tZ(e);this.#ez.notify("stream-type-change","static"!==t?"live":"on-demand",a),this.#ez.notify("duration-change",s,a),this.#ez.qualities[eC.setAuto](!0,a);let n=this.#tN.getVideoElement(),r=this.#tN.getTracksForTypeFromManifest("video",e.data),o=[...new Set(r.map(e=>e.mimeType))].find(e=>e&&p(n,e)),h=r.filter(e=>o===e.mimeType)[0],d=this.#tN.getTracksForTypeFromManifest("audio",e.data),l=[...new Set(d.map(e=>e.mimeType))].find(e=>e&&c(n,e));if(d=d.filter(e=>l===e.mimeType),h.bitrateList.forEach((e,t)=>{let i={id:e.id?.toString()??`dash-bitrate-${t}`,width:e.width??0,height:e.height??0,bitrate:e.bandwidth??0,codec:h.codec,index:t};this.#ez.qualities[ei.add](i,a)}),(0,i.isNumber)(h.index)){let e=this.#ez.qualities[h.index];e&&this.#ez.qualities[ei.select](e,!0,a)}d.forEach((e,t)=>{let i=e.labels.find(e=>navigator.languages.some(t=>e.lang&&t.toLowerCase().startsWith(e.lang.toLowerCase())))||e.labels[0],s={id:`dash-audio-${e?.index}`,label:i?.text??(e.lang&&ts(e.lang))??e.lang??"",language:e.lang??"",kind:"main",mimeType:e.mimeType,codec:e.codec,index:t};this.#ez.audioTracks[ei.add](s,a)}),n.dispatchEvent(new i.DOMEvent("canplay",{trigger:a}))}#eA(e){let{type:t,error:i}=e;27===i.code?this.#t5(i):this.#t4(i)}#tG(){this.#t6>=0&&this.#t7()}#tQ(e){"text"===e.mediaType&&requestAnimationFrame(this.#t3.bind(this,e))}#t6=-1;#t5(e){this.#t7(),this.#tN?.play(),this.#t6=window.setTimeout(()=>{this.#t6=-1,this.#t4(e)},5e3)}#t7(){clearTimeout(this.#t6),this.#t6=-1}#t4(e){this.#ez.notify("error",{message:e.message??"",code:1,error:e})}#t_(){this.#t9("video",!0);let{qualities:e}=this.#ez;this.#tN?.setQualityFor("video",e.selectedIndex,!0)}#t9(e,t){this.#tN?.updateSettings({streaming:{abr:{autoSwitchBitrate:{[e]:t}}}})}#tX(){let{qualities:e}=this.#ez;this.#tN&&!e.auto&&e.selected&&(this.#t9("video",!1),this.#tN.setQualityFor("video",e.selectedIndex,"current"===e.switch),d&&(this.#T.currentTime=this.#T.currentTime))}#tY(){if(!this.#tN)return;let{audioTracks:e}=this.#ez,t=this.#tN.getTracksFor("audio").find(t=>e.selected&&e.selected.id===`dash-audio-${t.index}`);t&&this.#tN.setCurrentTrack(t)}#t8(){this.#t7(),this.#t1=null,this.#t2={}}onInstance(e){return this.#tU.add(e),()=>this.#tU.delete(e)}loadSource(e){this.#t8(),(0,i.isString)(e.src)&&this.#tN?.attachSource(e.src)}destroy(){this.#t8(),this.#tN?.destroy(),this.#tN=null,this.#tB?.(),this.#tB=null}}function tn(e){return e instanceof Error?e:Error("string"==typeof e?e:JSON.stringify(e))}function tr(e,t){if(!e)throw Error("Assertion failed.")}class to{#ie;#ez;#eH;constructor(e,t,i){this.#ie=e,this.#ez=t,this.#eH=i,this.#it()}async #it(){let e={onLoadStart:this.#te.bind(this),onLoaded:this.#ii.bind(this),onLoadError:this.#is.bind(this)},t=await td(this.#ie,e);return((0,i.isUndefined)(t)&&!(0,i.isString)(this.#ie)&&(t=await th(this.#ie,e)),t)?window.dashjs.supportsMediaSource()?t:(this.#ez.player.dispatch(new i.DOMEvent("dash-unsupported")),this.#ez.notify("error",{message:"[vidstack] `dash.js` is not supported in this environment",code:4}),null):null}
1#te(){this.#ez.player.dispatch(new i.DOMEvent("dash-lib-load-start"))}#ii(e){this.#ez.player.dispatch(new i.DOMEvent("dash-lib-loaded",{detail:e})),this.#eH(e)}#is(e){let t=tn(e);this.#ez.player.dispatch(new i.DOMEvent("dash-lib-load-error",{detail:t})),this.#ez.notify("error",{message:t.message,code:4,error:t})}}async function th(e,t={}){if(!(0,i.isUndefined)(e)){var s;if(t.onLoadStart?.(),(s=e)&&s.prototype&&s.prototype!==Function)return t.onLoaded?.(e),e;if(tl(e)){let i=e.MediaPlayer;return t.onLoaded?.(i),i}try{let i=(await e())?.default;if(tl(i))return t.onLoaded?.(i.MediaPlayer),i.MediaPlayer;if(i)t.onLoaded?.(i);else throw Error("");return i}catch(e){t.onLoadError?.(e)}}}async function td(e,t={}){if((0,i.isString)(e)){t.onLoadStart?.();try{if(await F(e),!(0,i.isFunction)(window.dashjs.MediaPlayer))throw Error("");let s=window.dashjs.MediaPlayer;return t.onLoaded?.(s),s}catch(e){t.onLoadError?.(e)}}}function tl(e){return e&&"MediaPlayer"in e}class tu extends tt{$$PROVIDER_TYPE="DASH";#ia=null;#ir=new ta(this.video,this.ctx);get ctor(){return this.#ia}get instance(){return this.#ir.instance}static supported=v();get type(){return"dash"}get canLiveSync(){return!0}#io="https://cdn.jsdelivr.net/npm/[email protected]/dist/dash.all.min.js";get config(){return this.#ir.config}set config(e){this.#ir.config=e}get library(){return this.#io}set library(e){this.#io=e}preconnect(){(0,i.isString)(this.#io)&&V(this.#io)}setup(){super.setup(),new to(this.#io,this.ctx,e=>{this.#ia=e,this.#ir.setup(e),this.ctx.notify("provider-setup",this);let t=(0,i.peek)(this.ctx.$state.source);t&&this.loadSource(t)})}async loadSource(e,t){(0,i.isString)(e.src)?(this.media.preload=t||"",this.appendSource(e,"application/x-mpegurl"),this.#ir.loadSource(e),this.currentSrc=e):this.removeSource()}onInstance(e){let t=this.#ir.instance;return t&&e(t),this.#ir.onInstance(e)}destroy(){this.#ir.destroy()}}var tc=Object.freeze({__proto__:null,DASHProvider:tu});class tp extends eG{static supported=v();name="dash";canPlay(e){return tp.supported&&D(e)}async load(e){if(n)throw Error("[vidstack] can not load dash provider server-side");return new(await Promise.resolve().then(function(){return tc})).DASHProvider(this.target,e)}}class tm{name="vimeo";target;preconnect(){for(let e of["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"])V(e)}canPlay(e){return(0,i.isString)(e.src)&&"video/vimeo"===e.type}mediaType(){return"video"}async load(t){if(n)throw Error("[vidstack] can not load vimeo provider server-side");return new(await e.A(916600)).VimeoProvider(this.target,t)}async loadPoster(t,s,a){let{resolveVimeoVideoId:n,getVimeoVideoInfo:r}=await e.A(658485);if(!(0,i.isString)(t.src))return null;let{videoId:o,hash:h}=n(t.src);return o?r(o,a,h).then(e=>e?e.poster:null):null}}class tg{name="youtube";target;preconnect(){for(let e of["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"])V(e)}canPlay(e){return(0,i.isString)(e.src)&&"video/youtube"===e.type}mediaType(){return"video"}async load(t){if(n)throw Error("[vidstack] can not load youtube provider server-side");return new(await e.A(289921)).YouTubeProvider(this.target,t)}async loadPoster(t,s,a){let{findYouTubePoster:n,resolveYouTubeVideoId:r}=await e.A(301019),o=(0,i.isString)(t.src)&&r(t.src);return o?n(o,a):null}}function tf(e,t){let i=String(e),s=i.length;if(s<t){let i="0".repeat(t-s);return`${i}${e}`}return i}function ty(e){let t=Math.trunc(e/3600),i=Math.trunc(e%3600/60);return{hours:t,minutes:i,seconds:Math.trunc(e%60),fraction:Number((e-Math.trunc(e)).toPrecision(3))}}function tv(e,{padHrs:t=null,padMins:s=null,showHrs:a=!1,showMs:n=!1}={}){let{hours:r,minutes:o,seconds:h,fraction:d}=ty(e),l=t?tf(r,2):r,u=s||(0,i.isNull)(s)&&e>=3600?tf(o,2):o,c=tf(h,2),p=n&&d>0?`.${String(d).replace(/^0?\./,"")}`:"",m=`${u}:${c}${p}`;return r>0||a?`${l}:${m}`:m}function tb(e){let t=[],{hours:i,minutes:s,seconds:a}=ty(e);return i>0&&t.push(`${i} hour`),s>0&&t.push(`${s} min`),(a>0||0===t.length)&&t.push(`${a} sec`),t.join(" ")}let tw=Symbol(0),tk=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInl
1ine","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],tT={artist:"",artwork:null,autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:{togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},storage:null};class tS extends eq{#eq;#eH;constructor(e,t){super(),this.#eq=e,this.#eH=t}async onAttach(e){if(n)return;let t=this.$props[this.#eq]();if("eager"===t)requestAnimationFrame(this.#eH);else if("idle"===t)(0,i.waitIdlePeriod)(this.#eH);else if("visible"===t){let t,s=new IntersectionObserver(e=>{this.scope&&e[0].isIntersecting&&(t?.(),t=void 0,this.#eH())});s.observe(e),t=(0,i.onDispose)(()=>s.disconnect())}}}class t${#ih;#M;constructor(e,t){this.#ih=e,this.#M=t}notify(e,...t){n||this.#ih(new i.DOMEvent(e,{detail:t?.[0],trigger:t?.[1]}))}async ready(e,t){if(!n)return(0,i.untrack)(async()=>{let{logger:s}=this.#M,{autoPlay:a,canPlay:n,started:r,duration:o,seekable:h,buffered:d,remotePlaybackInfo:l,playsInline:u,savedState:c,source:p}=this.#M.$state;if(n())return;let m={duration:e?.duration??o(),seekable:e?.seekable??h(),buffered:e?.buffered??d(),provider:this.#M.$provider()};this.notify("can-play",m,t),(0,i.tick)();let g=this.#M.$provider(),{storage:f,qualities:y}=this.#M,{muted:v,volume:b,clipStartTime:w,playbackRate:k}=this.#M.$props;await f?.onLoad?.(p());let T=c()?.currentTime,S=c()?.paused,$=await f?.getTime(),C=T??$??w(),x=!1===S||!0!==S&&!r()&&a();if(g){g.setVolume(await f?.getVolume()??b()),g.setMuted(v()||!!await f?.getMuted());let e=await f?.getAudioGain()??1;e>1&&g.audioGain?.setGain?.(e),g.setPlaybackRate?.(await f?.getPlaybackRate()??k()),g.setPlaysInline?.(u()),C>0&&g.setCurrentTime(C)}let P=await f?.getVideoQuality();if(P&&y.length){let e=null,t=1/0;for(let i of y){let s=Math.abs(P.width-i.width)+Math.abs(P.height-i.height)+(P.bitrate?Math.abs(P.bitrate-(i.bitrate??0)):0);s<t&&(e=i,t=s)}e&&(e.selected=!0)}n()&&x?await this.#id(t):$&&$>0&&this.notify("started",void 0,t),l.set(null)})}async #id(e){let{player:t,$state:{autoPlaying:s,muted:a}}=this.#M;s.set(!0);let n=new i.DOMEvent("auto-play-attempt",{trigger:e});try{await t.play(n)}catch(e){}}}class tC{#il=new Map;enqueue(e,t){this.#il.set(e,t)}serve(e){let t=this.peek(e);return this.#il.delete(e),t}peek(e){return this.#il.get(e)}delete(e){this.#il.delete(e)}clear(){this.#il.clear()}}class tx{#iu=!1;#ic=(0,i.deferredPromise)();#il=new Map;get size(){return this.#il.size}get isServing(){return this.#iu}async waitForFlush(){this.#iu||await this.#ic.promise}enqueue(e,t){this.#iu?t():(this.#il.delete(e),this.#il.set(e,t))}serve(e){this.#il.get(e)?.(),this.#il.delete(e)}start(){this.#ip(),this.#iu=!0,this.#il.size>0&&this.#ip()}stop(){this.#iu=!1}reset(){this.stop(),this.#il.clear(),this.#im()}#ip(){for(let e of this.#il.keys())this.serve(e);this.#im()}#im(){this.#ic.resolve(),this.#ic=(0,i.deferredPromise)()}}function tP(e){return()=>e()?"true":"false"}class tA extends eq{#ig;#iy;#M;controls;#iv;#ib;#iw;#ik=new tx;constructor(e,t,i){super(),this.#ig=e,this.#iy=t,this.#M=i,this.#iw=i.$provider,this.controls=new eV,this.#iv=new eF,this.#ib=new eB}onAttach(){this.listen("fullscreen-change",this.#iT.bind(this))}onConnect(e){let t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),s=new i.EventsController(e),a=this.#iS.bind(this);for(let e of t)e.startsWith("media-")&&s.add(e,a);this.#i$(),(0,i.effect)(this.#iC.bind(this)),(0,i.effect)(this.#ix.bind(this)),(0,i.effect)(this.#iP.bind(this)),(0,i.effect)(this.#iA.bind(this)),(0,i.effect)(this.#iE.bind(this)),(0,i.effect)(this.#iq.bind(this)),(0,i.effect)(this.#iM.bind(this))}onDestroy(){try{let e=this.createEvent("destroy"),{pictureInPicture:t,fullscreen:i}=this.$state;i()&&this.exitFullscreen("prefer-media",e),t()&&this.exitPictureInPicture(e)}catch(e){}this.#ik.reset()}#i$(){let{load:e}=this.$props,{canLoad:t}=this.$state;if("play"!==e()||t())return;let i=this.listen("media-play-request",e=>{this.#iI(e),i()})}#iC(){let e=this.#iw(),t=this.$state.canPlay();return e&&t&&this.#ik.start(),()=>{this.#ik.stop()}}#iS(e){e.stopPropagation(),e.defaultPrevented||this[e.type]&&((0,i.peek)(this.#iw)?this[e.type](e):this.#ik.enqueue(e.type,()=>{(0,i.peek)(this.#iw)&&this[e.type](e)}))}async play(e){if(n)return;let{canPlay:t,paused:s,autoPlaying:a}=this.$state;if(this.#iI(e)||!(0,i.peek)(s))return;e&&this.#iy.queue.enqueue("media-play-request",e);let r=(0,i.peek)(a);try{let e=(0,i.peek)(this.#iw);return tE(e,(0,i.peek)(t)),function(e){if("undefined"!=typeof window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&e)throw Error("[vidstack] autoplay blocked")}(r),await e.play()}catch(i){let t=this.createEvent("play-fail",{detail:tn(i),trigger:e});throw t.autoPlay=r,this.#ig.handle(t),i}}#iI(e){let{load:t}=this.$props,{canLoad:i}=this.$state;if("play"===t()&&!i()){let t=this.createEvent("media-start-loading",{trigger:e});return this.dispatchEvent(t),this.#ik.enqueue("media-play-request",async()=>{try{await this.play(t)}catch(e){}}),!0}return!1}async pause(e){if(n)return;let{canPlay:t,paused:s}=this.$state;if(!(0,i.peek)(s)){e&&this.#iy.queue.enqueue("media-pause-request",e);try{let e=(0,i.peek)(this.#iw);return tE(e,(0,i.peek)(t)),await e.pause()}catch(e){throw this.#iy.queue.delete("media-pause-request"),e}}}setAudioGain(e,t){let{audioGain:i,canSetAudioGain:s}=this.$state;if(i()===e)return;let a=this.#iw();if(!a?.audioGain||!s())throw Error("[vidstack] audio gain api not available");t&&this.#iy.queue.enqueue("media-audio-gain-change-request",t),a.audioGain.setGain(e)}seekToLiveEdge(e){if(n)return;let{canPlay:t,live:s,liveEdge:a,canSeek:r,liveSyncPosition:o,seekableEnd:h,userBehindLiveEdge:d}=this.$state;if(d.set(!1),(0,i.peek)(()=>
1!s()||a()||!r()))return;let l=(0,i.peek)(this.#iw);tE(l,(0,i.peek)(t)),e&&this.#iy.queue.enqueue("media-seek-request",e);let u=h()-2;l.setCurrentTime(Math.min(u,o()??u))}#iD=!1;async enterFullscreen(e="prefer-media",t){if(n)return;let s=this.#iL(e);if(tq(e,s),!s.active)return(0,i.peek)(this.$state.pictureInPicture)&&(this.#iD=!0,await this.exitPictureInPicture(t)),t&&this.#iy.queue.enqueue("media-enter-fullscreen-request",t),s.enter()}async exitFullscreen(e="prefer-media",t){if(n)return;let s=this.#iL(e);if(tq(e,s),s.active){t&&this.#iy.queue.enqueue("media-exit-fullscreen-request",t);try{let e=await s.exit();return this.#iD&&(0,i.peek)(this.$state.canPictureInPicture)&&await this.enterPictureInPicture(),e}finally{this.#iD=!1}}}#iL(e){let t=(0,i.peek)(this.#iw);return"prefer-media"===e&&this.#iv.supported||"media"===e?this.#iv:t?.fullscreen}async enterPictureInPicture(e){if(!n&&(this.#iR(),!this.$state.pictureInPicture()))return e&&this.#iy.queue.enqueue("media-enter-pip-request",e),await this.#iw().pictureInPicture.enter()}async exitPictureInPicture(e){if(!n&&(this.#iR(),this.$state.pictureInPicture()))return e&&this.#iy.queue.enqueue("media-exit-pip-request",e),await this.#iw().pictureInPicture.exit()}#iR(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}#ix(){this.controls.defaultDelay=this.$props.controlsDelay()}#iP(){let{canSetAudioGain:e}=this.$state,t=!!this.#iw()?.audioGain?.supported;e.set(t)}#iA(){let{canAirPlay:e}=this.$state,t=!!this.#iw()?.airPlay?.supported;e.set(t)}#iE(){let{canGoogleCast:e,source:t}=this.$state,i=d&&!o&&L(t());e.set(i)}#iq(){let{canFullscreen:e}=this.$state,t=this.#iv.supported||!!this.#iw()?.fullscreen?.supported;e.set(t)}#iM(){let{canPictureInPicture:e}=this.$state,t=!!this.#iw()?.pictureInPicture?.supported;e.set(t)}async "media-airplay-request"(e){try{await this.requestAirPlay(e)}catch(e){}}async requestAirPlay(e){try{let t=this.#iw()?.airPlay;if(!t?.supported)throw Error("No AirPlay adapter.");return e&&this.#iy.queue.enqueue("media-airplay-request",e),await t.prompt()}catch(e){throw this.#iy.queue.delete("media-airplay-request"),e}}async "media-google-cast-request"(e){try{await this.requestGoogleCast(e)}catch(e){}}#iV;async requestGoogleCast(t){try{let{canGoogleCast:s}=this.$state;if(!(0,i.peek)(s)){let e=Error("Cast not available.");throw e.code="CAST_NOT_AVAILABLE",e}if(V("https://www.gstatic.com"),!this.#iV){let t=await e.A(8413).then(function(e){return e.loader});this.#iV=new t.GoogleCastLoader}await this.#iV.prompt(this.#M),t&&this.#iy.queue.enqueue("media-google-cast-request",t);let a="disconnected"!==(0,i.peek)(this.$state.remotePlaybackState);a&&this.$state.savedState.set({paused:(0,i.peek)(this.$state.paused),currentTime:(0,i.peek)(this.$state.currentTime)}),this.$state.remotePlaybackLoader.set(a?this.#iV:null)}catch(e){throw this.#iy.queue.delete("media-google-cast-request"),e}}"media-clip-start-change-request"(e){let{clipStartTime:t}=this.$state;t.set(e.detail)}"media-clip-end-change-request"(e){let{clipEndTime:t}=this.$state;t.set(e.detail),this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-duration-change-request"(e){let{providedDuration:t,clipEndTime:i}=this.$state;t.set(e.detail),0>=i()&&this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-audio-track-change-request"(e){let{logger:t,audioTracks:i}=this.#M;if(i.readonly)return;let s=i[e.detail];if(s){let t=e.type;this.#iy.queue.enqueue(t,e),s.selected=!0}}async "media-enter-fullscreen-request"(e){try{await this.enterFullscreen(e.detail,e)}catch(t){this.#iO(t,e)}}async "media-exit-fullscreen-request"(e){try{await this.exitFullscreen(e.detail,e)}catch(t){this.#iO(t,e)}}async #iT(e){let t=(0,i.peek)(this.$props.fullscreenOrientation),s=e.detail;if(!(0,i.isUndefined)(t)&&"none"!==t&&this.#ib.supported)if(s){if(this.#ib.locked)return;this.dispatch("media-orientation-lock-request",{detail:t,trigger:e})}else this.#ib.locked&&this.dispatch("media-orientation-unlock-request",{trigger:e})}#iO(e,t){this.#ig.handle(this.createEvent("fullscreen-error",{detail:tn(e)}))}async "media-orientation-lock-request"(e){let t=e.type;try{this.#iy.queue.enqueue(t,e),await this.#ib.lock(e.detail)}catch(e){this.#iy.queue.delete(t)}}async "media-orientation-unlock-request"(e){let t=e.type;try{this.#iy.queue.enqueue(t,e),await this.#ib.unlock()}catch(e){this.#iy.queue.delete(t)}}async "media-enter-pip-request"(e){try{await this.enterPictureInPicture(e)}catch(t){this.#iF(t,e)}}async "media-exit-pip-request"(e){try{await this.exitPictureInPicture(e)}catch(t){this.#iF(t,e)}}#iF(e,t){this.#ig.handle(this.createEvent("picture-in-picture-error",{detail:tn(e)}))}"media-live-edge-request"(e){let{live:t,liveEdge:i,canSeek:s}=this.$state;if(!(!t()||i())&&s()){this.#iy.queue.enqueue("media-seek-request",e);try{this.seekToLiveEdge()}catch(e){this.#iy.queue.delete("media-seek-request")}}}async "media-loop-request"(e){try{this.#iy.looping=!0,this.#iy.replaying=!0,await this.play(e)}catch(e){this.#iy.looping=!1}}"media-user-loop-change-request"(e){this.$state.userPrefersLoop.set(e.detail)}
1async "media-pause-request"(e){if(!this.$state.paused())try{await this.pause(e)}catch(e){}}async "media-play-request"(e){if(this.$state.paused())try{await this.play(e)}catch(e){}}"media-rate-change-request"(e){let{playbackRate:t,canSetPlaybackRate:i}=this.$state;if(t()===e.detail||!i())return;let s=this.#iw();s?.setPlaybackRate&&(this.#iy.queue.enqueue("media-rate-change-request",e),s.setPlaybackRate(e.detail))}"media-audio-gain-change-request"(e){try{this.setAudioGain(e.detail,e)}catch(e){}}"media-quality-change-request"(e){let{qualities:t,storage:i,logger:s}=this.#M;if(t.readonly)return;this.#iy.queue.enqueue("media-quality-change-request",e);let a=e.detail;if(a<0)t.autoSelect(e),e.isOriginTrusted&&i?.setVideoQuality?.(null);else{let s=t[a];s&&(s.selected=!0,e.isOriginTrusted&&i?.setVideoQuality?.({id:s.id,width:s.width,height:s.height,bitrate:s.bitrate}))}}"media-pause-controls-request"(e){let t=e.type;this.#iy.queue.enqueue(t,e),this.controls.pause(e)}"media-resume-controls-request"(e){let t=e.type;this.#iy.queue.enqueue(t,e),this.controls.resume(e)}"media-seek-request"(e){let{canSeek:t,ended:i,live:s,seekableEnd:a,userBehindLiveEdge:n}=this.$state,r=e.detail;i()&&(this.#iy.replaying=!0);let o=e.type;this.#iy.seeking=!1,this.#iy.queue.delete(o);let h=Y(r,this.$state);Number.isFinite(h)&&t()&&(this.#iy.queue.enqueue(o,e),this.#iw().setCurrentTime(h),s()&&e.isOriginTrusted&&Math.abs(a()-h)>=2&&n.set(!0))}"media-seeking-request"(e){let t=e.type;this.#iy.queue.enqueue(t,e),this.$state.seeking.set(!0),this.#iy.seeking=!0}"media-start-loading"(e){if(this.$state.canLoad())return;let t=e.type;this.#iy.queue.enqueue(t,e),this.#ig.handle(this.createEvent("can-load"))}"media-poster-start-loading"(e){if(this.$state.canLoadPoster())return;let t=e.type;this.#iy.queue.enqueue(t,e),this.#ig.handle(this.createEvent("can-load-poster"))}"media-text-track-change-request"(e){let{index:t,mode:i}=e.detail,s=this.#M.textTracks[t];if(s){let t=e.type;this.#iy.queue.enqueue(t,e),s.setMode(i,e)}}"media-mute-request"(e){if(this.$state.muted())return;let t=e.type;this.#iy.queue.enqueue(t,e),this.#iw().setMuted(!0)}"media-unmute-request"(e){let{muted:t,volume:i}=this.$state;if(!t())return;let s=e.type;this.#iy.queue.enqueue(s,e),this.#M.$provider().setMuted(!1),0===i()&&(this.#iy.queue.enqueue(s,e),this.#iw().setVolume(.25))}"media-volume-change-request"(e){let{muted:t,volume:i}=this.$state,s=e.detail;if(i()===s)return;let a=e.type;this.#iy.queue.enqueue(a,e),this.#iw().setVolume(s),s>0&&t()&&(this.#iy.queue.enqueue(a,e),this.#iw().setMuted(!1))}#iN(e,t,i){}}function tE(e,t){if(!e||!t)throw Error("[vidstack] media not ready")}function tq(e,t){if(!t?.supported)throw Error("[vidstack] no fullscreen support")}class tM{seeking=!1;looping=!1;replaying=!1;queue=new tC}let tI=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);class tD extends eq{#iy;#M;#iU=new Map;#iB=!1;#iK=[];#iG=[-1,-1];#iQ=!1;#iH;constructor(e,t){super(),this.#iy=e,this.#M=t}onAttach(e){e.setAttribute("aria-busy","true"),new i.EventsController(this).add("fullscreen-change",this["fullscreen-change"].bind(this)).add("fullscreen-error",this["fullscreen-error"].bind(this)).add("orientation-change",this["orientation-change"].bind(this))}onConnect(e){(0,i.effect)(this.#iW.bind(this)),this.#ij(),this.#iz(),this.#i_(),this.#iX(),(0,i.onDispose)(this.#iY.bind(this))}onDestroy(){let{audioTracks:e,qualities:t,textTracks:i}=this.#M;e[ei.reset](),t[ei.reset](),i[ei.reset](),this.#iJ()}handle(e){if(!this.scope)return;let t=e.type;(0,i.untrack)(()=>this[e.type]?.(e)),n||(tI.has(t)&&this.#iU.set(t,e),this.dispatch(e))}#iZ=!1;#iX(){this.#iZ&&(requestAnimationFrame(()=>{this.scope&&this.#M.remote.play(new i.DOMEvent("dom-connect"))}),this.#iZ=!1)}#iY(){this.#iZ||(this.#iZ=!this.$state.paused(),this.#M.$provider()?.pause())}#i0(){this.#i1(),this.#iB=!1,this.#iy.replaying=!1,this.#iy.looping=!1,this.#iQ=!1,this.#iH=void 0,this.#iU.clear()}#i2(e,t){let i=this.#iy.queue.serve(e);
1i&&(t.request=i,t.triggers.add(i))}#ij(){this.#i3(),this.#i5();let e=this.#M.textTracks;new i.EventsController(e).add("add",this.#i3.bind(this)).add("remove",this.#i3.bind(this)).add("mode-change",this.#i5.bind(this))}#iz(){let e=this.#M.qualities;new i.EventsController(e).add("add",this.#i4.bind(this)).add("remove",this.#i4.bind(this)).add("change",this.#tW.bind(this)).add("auto-change",this.#i6.bind(this)).add("readonly-change",this.#i7.bind(this))}#i_(){let e=this.#M.audioTracks;new i.EventsController(e).add("add",this.#i9.bind(this)).add("remove",this.#i9.bind(this)).add("change",this.#i8.bind(this))}#i3(e){let{textTracks:t}=this.$state;t.set(this.#M.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:t(),trigger:e})}#i5(e){e&&this.#i2("media-text-track-change-request",e);let t=this.#M.textTracks.selected,{textTrack:i}=this.$state;i()!==t&&(i.set(t),this.dispatch("text-track-change",{detail:t,trigger:e}))}#i9(e){let{audioTracks:t}=this.$state;t.set(this.#M.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:t(),trigger:e})}#i8(e){let{audioTrack:t}=this.$state;t.set(this.#M.audioTracks.selected),e&&this.#i2("media-audio-track-change-request",e),this.dispatch("audio-track-change",{detail:t(),trigger:e})}#i4(e){let{qualities:t}=this.$state;t.set(this.#M.qualities.toArray()),this.dispatch("qualities-change",{detail:t(),trigger:e})}#tW(e){let{quality:t}=this.$state;t.set(this.#M.qualities.selected),e&&this.#i2("media-quality-change-request",e),this.dispatch("quality-change",{detail:t(),trigger:e})}#i6(){let{qualities:e}=this.#M,t=e.auto;this.$state.autoQuality.set(t),t||this.#iJ()}#se=null;#st(){this.#iJ(),this.#se=(0,i.effect)(()=>{let{qualities:e}=this.#M,{mediaWidth:t,mediaHeight:s}=this.$state,a=t(),n=s();if(0===a||0===n)return;let r=null,o=1/0;for(let t of e){let e=Math.abs(t.width-a)+Math.abs(t.height-n);e<o&&(o=e,r=t)}r&&e[ei.select](r,!0,new i.DOMEvent("resize",{detail:{width:a,height:n}}))})}#iJ(){this.#se?.(),this.#se=null}#i7(){this.$state.canSetQuality.set(!this.#M.qualities.readonly)}#iW(){let{canSetVolume:e,isGoogleCastConnected:t}=this.$state;t()?e.set(!1):y().then(e.set)}"provider-change"(e){let t=this.#M.$provider(),i=e.detail;t?.type!==i?.type&&(t?.destroy?.(),t?.scope?.dispose(),this.#M.$provider.set(e.detail),t&&null===e.detail&&this.#si(e))}"provider-loader-change"(e){}"auto-play"(e){this.$state.autoPlayError.set(null)}"auto-play-fail"(e){this.$state.autoPlayError.set(e.detail),this.#i0()}"can-load"(e){this.$state.canLoad.set(!0),this.#iU.set("can-load",e),this.#M.textTracks[B.canLoad](),this.#i2("media-start-loading",e)}"can-load-poster"(e){this.$state.canLoadPoster.set(!0),this.#iU.set("can-load-poster",e),this.#i2("media-poster-start-loading",e)}"media-type-change"(e){let t=this.#iU.get("source-change");t&&e.triggers.add(t);let i=this.$state.viewType();this.$state.mediaType.set(e.detail);let s=this.$state.providedViewType(),a="unknown"===s?e.detail:s;i!==a&&(n?this.$state.inferredViewType.set(a):setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(e.detail),this.dispatch("view-type-change",{detail:a,trigger:e}))})},0))}"stream-type-change"(e){let t=this.#iU.get("source-change");t&&e.triggers.add(t);let{streamType:i,inferredStreamType:s}=this.$state;s.set(e.detail),e.detail=i()}"rate-change"(e){let{storage:t}=this.#M,{canPlay:i}=this.$state;this.$state.playbackRate.set(e.detail),this.#i2("media-rate-change-request",e),i()&&t?.setPlaybackRate?.(e.detail)}"remote-playback-change"(e){let{remotePlaybackState:t,remotePlaybackType:i}=this.$state,{type:s,state:a}=e.detail,n="connected"===a;i.set(s),t.set(a);let r="airplay"===s?"media-airplay-request":"media-google-cast-request";if(n)this.#i2(r,e);else{let t=this.#iy.queue.peek(r);t&&(e.request=t,e.triggers.add(t))}}"sources-change"(e){let t=this.$state.sources(),i=e.detail;this.$state.sources.set(i),this.#ss(t,i,e)}#ss(e,t,i){let{qualities:s}=this.#M,n=!1,r=!1;for(let n of e)if(a(n)&&!t.some(e=>e.src===n.src)){let e=s.getBySrc(n.src);e&&(s[ei.remove](e,i),r=!0)}for(let e of(r&&!s.length&&(this.$state.savedState.set(null),s[ei.reset](i)),t)){if(!a(e)||s.getBySrc(e.src))continue;let t={id:e.id??e.height+"p",bitrate:null,codec:null,...e,selected:!1};s[ei.add](t,i),n=!0}n&&!s[eC.enableAuto]&&(this.#st(),s[eC.enableAuto]=this.#st.bind(this),s[eC.setAuto](!0,i))}"source-change"(e){e.isQualityChange=e.originEvent?.type==="quality-change";let t=e.detail;this.#si(e,e.isQualityChange),this.#iU.set(e.type,e),this.$state.source.set(t),this.el?.setAttribute("aria-busy","true")}#si(e,t=!1){let{audioTracks:i,qualities:s}=this.#M;
1if(!t){this.#iK=[],this.#iG=[-1,-1],i[ei.reset](e),s[ei.reset](e),X(this.$state,t),this.#i0();return}X(this.$state,t),this.#i0()}abort(e){let t=this.#iU.get("source-change");t&&e.triggers.add(t);let i=this.#iU.get("can-load");i&&!e.triggers.hasType("can-load")&&e.triggers.add(i)}"load-start"(e){let t=this.#iU.get("source-change");t&&e.triggers.add(t)}error(e){this.$state.error.set(e.detail);let t=this.#iU.get("abort");t&&e.triggers.add(t)}"loaded-metadata"(e){let t=this.#iU.get("load-start");t&&e.triggers.add(t)}"loaded-data"(e){let t=this.#iU.get("load-start");t&&e.triggers.add(t)}"can-play"(e){let t=this.#iU.get("loaded-metadata");t&&e.triggers.add(t),this.#sa(e.detail),this.el?.setAttribute("aria-busy","false")}"can-play-through"(e){this.#sa(e.detail);let t=this.#iU.get("can-play");t&&e.triggers.add(t)}#sa(e){let{seekable:t,buffered:i,intrinsicDuration:s,canPlay:a}=this.$state;a.set(!0),i.set(e.buffered),t.set(e.seekable);let n=k(e.seekable)??1/0;s.set(n)}"duration-change"(e){let{live:t,intrinsicDuration:i,providedDuration:s,clipEndTime:a,ended:n}=this.$state,r=e.detail;if(!t()){let t=Number.isNaN(r)?0:r;i.set(t),n()&&this.#sn(e)}(s()>0||a()>0)&&e.stopImmediatePropagation()}progress(e){let{buffered:t,seekable:i}=this.$state,{buffered:s,seekable:a}=e.detail,n=k(s),r=s.length!==t().length,o=n!==k(t()),h=k(a),d=a.length!==i().length,l=h!==k(i());(r||o)&&t.set(s),(d||l)&&i.set(a)}play(e){let{paused:t,autoPlayError:i,ended:s,autoPlaying:a,playsInline:n,pointer:r,muted:o,viewType:h,live:d,userBehindLiveEdge:l}=this.$state;if(this.#sr(),!t())return void e.stopImmediatePropagation();e.autoPlay=a();let u=this.#iU.get("waiting");u&&e.triggers.add(u),this.#i2("media-play-request",e),this.#iU.set("play",e),t.set(!1),i.set(null),e.autoPlay&&(this.handle(this.createEvent("auto-play",{detail:{muted:o()},trigger:e})),a.set(!1)),(s()||this.#iy.replaying)&&(this.#iy.replaying=!1,s.set(!1),this.handle(this.createEvent("replay",{trigger:e}))),n()||"video"!==h()||"coarse"!==r()||this.#M.remote.enterFullscreen("prefer-media",e),d()&&!l()&&this.#M.remote.seekToLiveEdge(e)}#sr(e){if(!(0,i.peek)(this.#M.$provider))return;let{ended:t,seekableStart:s,clipEndTime:a,currentTime:n,realCurrentTime:r,duration:o}=this.$state,h=t()||r()<s()||a()>0&&r()>=a()||.1>Math.abs(n()-o());return h&&this.dispatch("media-seek-request",{detail:s(),trigger:e}),h}"play-fail"(e){let{muted:t,autoPlaying:i}=this.$state,s=this.#iU.get("play");s&&e.triggers.add(s),this.#i2("media-play-request",e);let{paused:a,playing:n}=this.$state;a.set(!0),n.set(!1),this.#i0(),this.#iU.set("play-fail",e),e.autoPlay&&(this.handle(this.createEvent("auto-play-fail",{detail:{muted:t(),error:e.detail},trigger:e})),i.set(!1))}playing(e){let t=this.#iU.get("play"),i=this.#iU.get("seeked");t?e.triggers.add(t):i&&e.triggers.add(i),setTimeout(()=>this.#i0(),0);let{paused:s,playing:a,live:n,liveSyncPosition:r,seekableEnd:o,started:h,currentTime:d,seeking:l,ended:u}=this.$state;if(s.set(!1),a.set(!0),l.set(!1),u.set(!1),this.#iy.looping){this.#iy.looping=!1;return}if(n()&&!h()&&0===d()){let e=r()??o()-2;Number.isFinite(e)&&this.#M.$provider().setCurrentTime(e)}this.started(e)}started(e){let{started:t}=this.$state;t()||(t.set(!0),this.handle(this.createEvent("started",{trigger:e})))}pause(e){this.el?.isConnected||(this.#iZ=!0),this.#i2("media-pause-request",e);let t=this.#iU.get("seeked");t&&e.triggers.add(t);let{paused:i,playing:s}=this.$state;i.set(!0),s.set(!1),this.#iB&&setTimeout(()=>{this.handle(this.createEvent("end",{trigger:e})),this.#iB=!1},0),this.#i0()}"time-change"(e){if(this.#iy.looping)return void e.stopImmediatePropagation();let{waiting:t,played:i,clipEndTime:s,realCurrentTime:a,currentTime:n}=this.$state,r=e.detail,o=s();for(let i of(a.set(r),this.#so(),t.set(!1),this.#M.textTracks))i[B.updateActiveCues](r,e);o>0&&r>=o&&(this.#iB=!0,this.dispatch("media-pause-request",{trigger:e})),this.#sh(),this.dispatch("time-update",{detail:{currentTime:n(),played:i()},trigger:e})}#so(){var e,t,i;let s,a,{currentTime:n,played:r,paused:o}=this.$state;o()||(this.#iG=(e=this.#iK,t=this.#iG,i=n(),s=t[0],a=t[1],i<s?[i,-1]:i===s?t:-1===s?(t[0]=i,t):(i>s&&(t[1]=i,-1===a&&e.push(t)),!function(e){if(e.length<=1)return;e.sort((e,t)=>
1e[0]-t[0]);let t=[],i=e[0];for(let s=1;s<e.length;s++){let a=e[s];i[1]>=a[0]-1?i=[i[0],Math.max(i[1],a[1])]:(t.push(i),i=a)}t.push(i)}(e),t)),r.set(new b(this.#iK)))}#sn(e){let{clipStartTime:t,clipEndTime:i,duration:s}=this.$state;t()>0||i()>0||this.handle(this.createEvent("time-change",{detail:s(),trigger:e}))}#sh(){let{storage:e}=this.#M,{canPlay:t,realCurrentTime:i}=this.$state;t()&&e?.setTime?.(i())}"audio-gain-change"(e){let{storage:t}=this.#M,{canPlay:i,audioGain:s}=this.$state;s.set(e.detail),this.#i2("media-audio-gain-change-request",e),i()&&t?.setAudioGain?.(s())}"volume-change"(e){let{storage:t}=this.#M,{volume:i,muted:s,canPlay:a}=this.$state,n=e.detail;i.set(n.volume),s.set(n.muted||0===n.volume),this.#i2("media-volume-change-request",e),this.#i2(n.muted?"media-mute-request":"media-unmute-request",e),a()&&(t?.setVolume?.(i()),t?.setMuted?.(s()))}seeking=(0,i.functionThrottle)(e=>{let{seeking:t,realCurrentTime:i,paused:s}=this.$state;t.set(!0),i.set(e.detail),this.#i2("media-seeking-request",e),s()&&(this.#iH=e,this.#sd()),this.#iG=[-1,-1]},150,{leading:!0});seeked(e){let{seeking:t,currentTime:i,realCurrentTime:s,paused:a,seekableEnd:n,ended:r,live:o}=this.$state;if(this.#iy.seeking)t.set(!0),e.stopImmediatePropagation();else if(t()){let i=this.#iU.get("waiting");i&&e.triggers.add(i);let n=this.#iU.get("seeking");n&&!e.triggers.has(n)&&e.triggers.add(n),a()&&this.#i1(),t.set(!1),s.set(e.detail),this.#i2("media-seek-request",e);let r=e?.originEvent;!r?.isTrusted||r instanceof MessageEvent||/seek/.test(r.type)||this.started(e)}o()||(Math.floor(i())!==Math.floor(n())?r.set(!1):this.end(e))}waiting(e){this.#iQ||this.#iy.seeking||(e.stopImmediatePropagation(),this.#iH=e,this.#sd())}#sd=(0,i.functionDebounce)(()=>{if(!this.#iH)return;this.#iQ=!0;let{waiting:e,playing:t}=this.$state;e.set(!0),t.set(!1);let i=this.createEvent("waiting",{trigger:this.#iH});this.#iU.set("waiting",i),this.dispatch(i),this.#iH=void 0,this.#iQ=!1},300);end(e){let{loop:t,ended:i}=this.$state;if(!(!t()&&i())){if(t())return void setTimeout(()=>{requestAnimationFrame(()=>{this.#sr(e),this.dispatch("media-loop-request",{trigger:e})})},10);setTimeout(()=>this.#tv(e),0)}}#tv(e){let{storage:t}=this.#M,{paused:i,seeking:s,ended:a,duration:n}=this.$state;this.#sn(e),i()||this.dispatch("pause",{trigger:e}),s()&&this.dispatch("seeked",{detail:n(),trigger:e}),a.set(!0),this.#i0(),t?.setTime?.(n(),!0),this.dispatch("ended",{trigger:e})}#i1(){this.#sd.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(e){let t=e.detail;this.$state.fullscreen.set(t),this.#i2(t?"media-enter-fullscreen-request":"media-exit-fullscreen-request",e)}"fullscreen-error"(e){this.#i2("media-enter-fullscreen-request",e),this.#i2("media-exit-fullscreen-request",e)}"orientation-change"(e){let t=e.detail.lock;this.#i2(t?"media-orientation-lock-request":"media-orientation-unlock-request",e)}"picture-in-picture-change"(e){let t=e.detail;this.$state.pictureInPicture.set(t),this.#i2(t?"media-enter-pip-request":"media-exit-pip-request",e)}"picture-in-picture-error"(e){this.#i2("media-enter-pip-request",e),this.#i2("media-exit-pip-request",e)}"title-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredTitle.set(e.detail))}"poster-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredPoster.set(e.detail))}}class tL extends eq{onSetup(){if(this.#ey(),!n)for(let e of[this.#sl,this.#su,this.#sc,this.#sp,this.#R,this.#sm,this.#sg,this.#sf,this.#sy,this.#sv,this.#sb,this.#sw,this.#sk,this.#sT,this.#sS])(0,i.effect)(e.bind(this))}#ey(){let e={duration:"providedDuration",loop:"providedLoop",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},t=new Set(["currentTime","paused","playbackRate","volume"]);for(let i of Object.keys(this.$props))t.has(i)||this.$state[e[i]??i]?.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||0===this.$props.volume())}#sT(){let{viewType:e,streamType:t,title:i,poster:s,loop:a}=this.$props,n=this.$state;n.providedPoster.set(s()),n.providedStreamType.set(t()),n.providedViewType.set(e()),n.providedTitle.set(i()),n.providedLoop.set(a())}
1#s$(){}#sl(){let{artist:e,artwork:t}=this.$props;this.$state.artist.set(e()),this.$state.artwork.set(t())}#sS(){let{title:e}=this.$state;this.dispatch("title-change",{detail:e()})}#su(){let e=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(e),this.dispatch("auto-play-change",{detail:e})}#sb(){let e=this.$state.loop();this.dispatch("loop-change",{detail:e})}#R(){let e=this.$props.controls();this.$state.controls.set(e)}#sk(){let{poster:e}=this.$state;this.dispatch("poster-change",{detail:e()})}#sm(){let e=this.$props.crossOrigin()??this.$props.crossorigin();this.$state.crossOrigin.set(!0===e?"":e)}#sg(){let{duration:e}=this.$props;this.dispatch("media-duration-change-request",{detail:e()})}#sw(){let e=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(e),this.dispatch("plays-inline-change",{detail:e})}#sc(){let{clipStartTime:e}=this.$props;this.dispatch("media-clip-start-change-request",{detail:e()})}#sp(){let{clipEndTime:e}=this.$props;this.dispatch("media-clip-end-change-request",{detail:e()})}#sf(){this.dispatch("live-change",{detail:this.$state.live()})}#sv(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}#sy(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}}let tR=["play","pause","seekforward","seekbackward","seekto"];class tV extends eq{onConnect(){(0,i.effect)(this.#sC.bind(this)),(0,i.effect)(this.#sx.bind(this));let e=this.#sP.bind(this);for(let t of tR)navigator.mediaSession.setActionHandler(t,e);(0,i.onDispose)(this.#eE.bind(this))}#eE(){for(let e of tR)navigator.mediaSession.setActionHandler(e,null)}#sC(){let{title:e,artist:t,artwork:i,poster:s}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:e(),artist:t(),artwork:i()??[{src:s()}]})}#sx(){let{canPlay:e,paused:t}=this.$state;navigator.mediaSession.playbackState=e()?t()?"paused":"playing":"none"}#sP(e){let t=new i.DOMEvent("media-session-action",{detail:e});switch(e.action){case"play":this.dispatch("media-play-request",{trigger:t});break;case"pause":this.dispatch("media-pause-request",{trigger:t});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:(0,i.isNumber)(e.seekTime)?e.seekTime:this.$state.currentTime()+(e.seekOffset??("seekforward"===e.action?10:-10)),trigger:t})}}}let tO=(0,i.signal)(!1);n||((0,i.listenEvent)(document,"pointerdown",()=>{tO.set(!1)}),(0,i.listenEvent)(document,"keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||tO.set(!0)}));class tF extends i.ViewController{#sA=(0,i.signal)(!1);onConnect(e){(0,i.effect)(()=>{let t=new i.EventsController(e);if(!tO()){this.#sA.set(!1),tN(e,!1),t.add("pointerenter",this.#sE.bind(this)).add("pointerleave",this.#sq.bind(this));return}let s=document.activeElement===e;this.#sA.set(s),tN(e,s),t.add("focus",this.#sM.bind(this)).add("blur",this.#sI.bind(this))})}focused(){return this.#sA()}#sM(){this.#sA.set(!0),tN(this.el,!0)}#sI(){this.#sA.set(!1),tN(this.el,!1)}#sE(){tU(this.el,!0)}#sq(){tU(this.el,!1)}}function tN(e,t){(0,i.setAttribute)(e,"data-focus",t),(0,i.setAttribute)(e,"data-hocus",t)}function tU(e,t){(0,i.setAttribute)(e,"data-hocus",t),(0,i.setAttribute)(e,"data-hover",t)}class tB extends i.Component{static props=tT;static state=j;#M;#ig;#sD;canPlayQueue=new tx;remoteControl;get #ej(){return this.#M.$provider()}get #sL(){return this.$props}constructor(){super(),new tL;const e={player:this,qualities:new ex,audioTracks:new er,storage:null,$provider:(0,i.signal)(null),$providerSetup:(0,i.signal)(!1),$props:this.$props,$state:this.$state};e.remote=this.remoteControl=new ee(void 0),e.remote.setPlayer(this),e.textTracks=new e$,e.textTracks[B.crossOrigin]=this.$state.crossOrigin,e.textRenderers=new eS(e),e.ariaKeys={},this.#M=e,(0,i.provideContext)(J,e),this.orientation=new eB,new tF,new eD(e);const t=new tM;this.#ig=new tD(t,e),this.#sD=new tA(this.#ig,t,e),e.delegate=new t$(this.#ig.handle.bind(this.#ig),e),e.notify=e.delegate.notify.bind(e.delegate),"undefined"!=typeof navigator&&"mediaSession"in navigator&&new tV,new tS("load",this.startLoading.bind(this)),new tS("posterLoad",this.startLoadingPoster.bind(this))}onSetup(){this.#sR(),(0,i.effect)(this.#sV.bind(this)),(0,i.effect)(this.#sO.bind(this)),(0,i.effect)(this.#eb.bind(this)),(0,i.effect)(this.#sF.bind(this)),(0,i.effect)(this.#sN.bind(this)),(0,i.effect)(this.#sw.bind(this)),(0,i.effect)(this.#sU.bind(this))}onAttach(e){e.setAttribute("data-media-player",""),ec(e,"tabindex","0"),ec(e,"role","regi
1on"),(0,i.effect)(this.#sB.bind(this)),n?this.#sS():(0,i.effect)(this.#sS.bind(this)),n?this.#sK():(0,i.effect)(this.#sK.bind(this)),(0,i.listenEvent)(e,"find-media-player",this.#sG.bind(this))}onConnect(e){h&&(0,i.setAttribute)(e,"data-iphone","");let t=window.matchMedia("(pointer: coarse)");this.#sQ(t),t.onchange=this.#sQ.bind(this);let s=new ResizeObserver((0,i.animationFrameThrottle)(this.#sH.bind(this)));s.observe(e),(0,i.effect)(this.#sH.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),(0,i.onDispose)(()=>{s.disconnect(),t.onchange=null})}onDestroy(){this.#M.player=null,this.canPlayQueue.reset()}#sW=!1;#sS(){let e=this.$el,{title:t,live:s,viewType:a,providedTitle:r}=this.$state,o=s(),h=(0,i.uppercaseFirstChar)(a()),d="Unknown"!==h?`${o?"Live ":""}${h}`:o?"Live":"Media",l=t();(0,i.setAttribute)(this.el,"aria-label",`${d} Player`+(l?` - ${l}`:"")),!n&&e?.hasAttribute("title")&&(this.#sW=!0,e?.removeAttribute("title"))}#sK(){let e=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(e),(0,i.setAttribute)(this.el,"data-orientation",e),this.#sH()}#sV(){this.$state.canPlay()&&this.#ej?this.canPlayQueue.start():this.canPlayQueue.stop()}#sR(){if(tB[tw])return void this.setAttributes(tB[tw]);let e={"data-load":function(){return this.$props.load()},"data-captions":function(){let e=this.$state.textTrack();return!!e&&W(e)},"data-ios-controls":function(){return this.$state.iOSControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){let{canLoad:e,canPlay:t,waiting:i}=this.$state;return e()&&(!t()||i())},"data-error":function(){let{error:e}=this.$state;return!!e()},"data-autoplay-error":function(){let{autoPlayError:e}=this.$state;return!!e()}},t={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(let s of tk)e["data-"+(t[s]??(0,i.camelToKebabCase)(s))]=function(){return this.$state[s]()};delete e.title,tB[tw]=e,this.setAttributes(e)}#sG(e){e.detail(this)}#sH(){if(n||!this.el)return;let e=this.el.clientWidth,t=this.el.clientHeight;this.$state.width.set(e),this.$state.height.set(t),(0,i.setStyle)(this.el,"--player-width",e+"px"),(0,i.setStyle)(this.el,"--player-height",t+"px")}#sQ(e){if(n)return;let t=e.matches?"coarse":"fine";(0,i.setAttribute)(this.el,"data-pointer",t),this.$state.pointer.set(t),this.#sH()}get provider(){return this.#ej}get controls(){return this.#sD.controls}set controls(e){this.#sL.controls.set(e)}orientation;get title(){return(0,i.peek)(this.$state.title)}set title(e){if(this.#sW){this.#sW=!1;return}this.#sL.title.set(e)}get qualities(){return this.#M.qualities}get audioTracks(){return this.#M.audioTracks}get textTracks(){return this.#M.textTracks}get textRenderers(){return this.#M.textRenderers}get duration(){return this.$state.duration()}set duration(e){this.#sL.duration.set(e)}get paused(){return(0,i.peek)(this.$state.paused)}set paused(e){this.#sj(e)}#eb(){this.#sj(this.$props.paused())}#sj(e){e?this.canPlayQueue.enqueue("paused",()=>this.#sD.pause()):this.canPlayQueue.enqueue("paused",()=>this.#sD.play())}get muted(){return(0,i.peek)(this.$state.muted)}set muted(e){this.#sz(e)}#sO(){this.#sz(this.$props.muted())}#sz(e){this.canPlayQueue.enqueue("muted",()=>{this.#ej&&this.#ej.setMuted(e)})}get currentTime(){return(0,i.peek)(this.$state.currentTime)}set currentTime(e){this.#s_(e)}#sN(){this.#s_(this.$props.currentTime())}#s_(e){this.canPlayQueue.enqueue("currentTime",()=>{let{currentTime:t}=this.$state;e!==(0,i.peek)(t)&&(0,i.peek)(()=>{if(!this.#ej)return;let t=Y(e,this.$state);Number.isFinite(t)&&this.#ej.setCurrentTime(t)})})}get volume(){return(0,i.peek)(this.$state.volume)}set volume(e){this.#sX(e)}#sF(){this.#sX(this.$props.volume())}#sX(e){let t=ed(0,e,1);this.canPlayQueue.enqueue("volume",()=>{this.#ej&&this.#ej.setVolume(t)})}get playbackRate(){return(0,i.peek)(this.$state.playbackRate)}set playbackRate(e){this.#sY(e)}#sU(){this.#sY(this.$props.playbackRate())}#sY(e){this.canPlayQueue.enqueue("rate",()=>{this.#ej&&this.#ej.setPlaybackRate?.(e)})}
1#sw(){this.#sJ(this.$props.playsInline())}#sJ(e){this.canPlayQueue.enqueue("playsinline",()=>{this.#ej&&this.#ej.setPlaysInline?.(e)})}#sB(){let e=this.$props.storage(),t=(0,i.isString)(e)?new et:e;if(t?.onChange){let{source:s}=this.$state,a=(0,i.isString)(e)?e:this.el?.id,n=(0,i.computed)(this.#sZ.bind(this));(0,i.effect)(()=>t.onChange(s(),n(),a||void 0))}this.#M.storage=t,this.#M.textTracks.setStorage(t),(0,i.onDispose)(()=>{t?.onDestroy?.(),this.#M.storage=null,this.#M.textTracks.setStorage(null)})}#sZ(){let{clipStartTime:e,clipEndTime:t}=this.$props,{source:i}=this.$state,s=i();return s.src?`${s.src}:${e()}:${t()}`:null}async play(e){return this.#sD.play(e)}async pause(e){return this.#sD.pause(e)}async enterFullscreen(e,t){return this.#sD.enterFullscreen(e,t)}async exitFullscreen(e,t){return this.#sD.exitFullscreen(e,t)}enterPictureInPicture(e){return this.#sD.enterPictureInPicture(e)}exitPictureInPicture(e){return this.#sD.exitPictureInPicture(e)}seekToLiveEdge(e){this.#sD.seekToLiveEdge(e)}startLoading(e){this.#M.notify("can-load",void 0,e)}startLoadingPoster(e){this.#M.notify("can-load-poster",void 0,e)}requestAirPlay(e){return this.#sD.requestAirPlay(e)}requestGoogleCast(e){return this.#sD.requestGoogleCast(e)}setAudioGain(e,t){return this.#sD.setAudioGain(e,t)}destroy(){super.destroy(),this.#M.remote.setPlayer(null),this.dispatch("destroy")}}let tK=tB.prototype;(0,i.prop)(tK,"canPlayQueue"),(0,i.prop)(tK,"remoteControl"),(0,i.prop)(tK,"provider"),(0,i.prop)(tK,"controls"),(0,i.prop)(tK,"orientation"),(0,i.prop)(tK,"title"),(0,i.prop)(tK,"qualities"),(0,i.prop)(tK,"audioTracks"),(0,i.prop)(tK,"textTracks"),(0,i.prop)(tK,"textRenderers"),(0,i.prop)(tK,"duration"),(0,i.prop)(tK,"paused"),(0,i.prop)(tK,"muted"),(0,i.prop)(tK,"currentTime"),(0,i.prop)(tK,"volume"),(0,i.prop)(tK,"playbackRate"),(0,i.method)(tK,"play"),(0,i.method)(tK,"pause"),(0,i.method)(tK,"enterFullscreen"),(0,i.method)(tK,"exitFullscreen"),(0,i.method)(tK,"enterPictureInPicture"),(0,i.method)(tK,"exitPictureInPicture"),(0,i.method)(tK,"seekToLiveEdge"),(0,i.method)(tK,"startLoading"),(0,i.method)(tK,"startLoadingPoster"),(0,i.method)(tK,"requestAirPlay"),(0,i.method)(tK,"requestGoogleCast"),(0,i.method)(tK,"setAudioGain");let tG=new Map;class tQ{#s0=!1;#s1;#s2;#M;#s3;constructor(e,t,s,a=[]){this.#s2=e,this.#M=t,this.#s3=s;const n=new tp,r=new eQ,o=new eG,h=new eK,d=[new tg,new tm];this.#s1=(0,i.computed)(()=>{let e=t.$state.remotePlaybackLoader(),i=t.$props.preferNativeHLS()?[o,h,n,r,...d,...a]:[r,o,h,n,...d,...a];return e?[e,...i]:i});const{$state:l}=t;for(const e of(l.sources.set(tH(t.$props.src())),l.sources())){const i=this.#s1().find(t=>t.canPlay(e));if(!i)continue;const s=i.mediaType(e);t.$state.source.set(e),t.$state.mediaType.set(s),t.$state.inferredViewType.set(s),this.#s3.set(i),this.#s0=!0;break}}connect(){let e=this.#s3();this.#s0&&(this.#s5(this.#M.$state.source(),e),this.#s4(e),this.#s0=!1),(0,i.effect)(this.#s6.bind(this)),(0,i.effect)(this.#s7.bind(this)),(0,i.effect)(this.#s9.bind(this)),(0,i.effect)(this.#s8.bind(this)),(0,i.effect)(this.#ae.bind(this))}#s6(){this.#M.notify("sources-change",[...tH(this.#M.$props.src()),...this.#s2()])}#s7(){let{$state:e}=this.#M,t=e.sources(),s=(0,i.peek)(e.source),a=this.#at(s,t);if(t[0]?.src&&!a.src&&!a.type){let{crossOrigin:s}=e,a=N(s()),n=new AbortController;return Promise.all(t.map(e=>(0,i.isString)(e.src)&&"?"===e.type?fetch(e.src,{method:"HEAD",credentials:a,signal:n.signal}).then(t=>(e.type=t.headers.get("content-type")||"??",tG.set(e.src,e.type),e)).catch(()=>e):e)).then(t=>{if(n.signal.aborted)return;let s=this.#at((0,i.peek)(e.source),t);(0,i.tick)(),s.src||this.#M.notify("error",{message:"Failed to load resource.",code:4})}),()=>n.abort()}(0,i.tick)()}#at(e,t){let s={src:"",type:""},n=null,r=new i.DOMEvent("sources-change",{detail:{sources:t}}),o=this.#s1(),{started:h,paused:d,currentTime:l,quality:u,savedState:c}=this.#M.$state;for(let e of t){let t=o.find(t=>t.canPlay(e));if(t){s=e,n=t;break}}if(a(s)){let e=u(),a=t.find(t=>t.src===e?.src);(0,i.peek)(h)?c.set({paused:(0,i.peek)(d),currentTime:(0,i.peek)(l)}):c.set(null),a&&(s=a,r=new i.DOMEvent("quality-change",{detail:{quality:e}}))}return tj(e,s)||this.#s5(s,n,r),n!==(0,i.peek)(this.#s3)&&this.#s4(n,r),s}#s5(e,t,i){this.#M.notify("source-change",e,i),this.#M.notify("media-type-change",t?.mediaType(e)||"unknown",i)}#s4(e,t){this.#M.$providerSetup.set(!1),this.#M.notify("provider-change",null,t),e&&(0,i.peek)(()=>e.preconnect?.(this.#M)),this.#s3.set(e),this.#M.notify("provider-loader-change",e,t)}#s9(){let e=this.#M.$provider();if(!(!e||(0,i.peek)(this.#M.$providerSetup))){if(this.#M.$state.canLoad()){(0,i.scoped)(()=>e.setup(),e.scope),this.#M.$providerSetup.set(!0);return}(0,i.peek)(()=>e.preconnect?.())}}#s8(){if(!this.#M.$providerSetup())return;let e=this.#M.$provider(),t=this.#M.$state.source(),s=(0,i.peek)(this.#M.$state.crossOrigin),a=(0,i.peek)(this.#M.$props.preferNativeHLS);if(!tj(e?.currentSrc,t)){if(this.#M.$state.canLoad()){let n=new AbortController;if(I(t))(a||!v())&&(function e(t,i){return fetch(t,i).then(e=>e.text()).then(s=>{let a,n=(a=s.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g))?a[0].split("\n")[1].trim():null;if(n)return e(/^https?:/.test(n)?n:new URL(n,t).href,i);let r=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(s)?"on-demand":"live";return"live"===r&&function(e){for(let t of e.split("\n"))if(t.startsWith("#EXT-X-TARGETDURATION")){let e=parseFloat(t.split(":")[1]);if(!isNaN(e))return e}return -1}(s)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(s)||s.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":r})})(t.src,{credentials:N(s),signal:n.signal}).then(e=>{this.#M.notify("stream-type-change",e)}).catch(i.noop);else if(D(t))fetch(t.src,{credentials:N(s),signal:n.signal}).then(e=>e.text()).then(e=>/type="static"/.test(e)?"on-demand":"live").then(e=>{this.#M.notify("stream-type-change",e)}).catch(i.noop);else this.#M.notify("stream-type-change","on-demand");return(0,i.peek)(()=>{let s=(0,i.peek)(this.#M.$state.preload);
1return e?.loadSource(t,s).catch(e=>{})}),()=>n.abort()}try{(0,i.isString)(t.src)&&V(new URL(t.src).origin)}catch(e){}}}#ae(){let e=this.#s3(),{providedPoster:t,source:s,canLoadPoster:a}=this.#M.$state;if(!e||!e.loadPoster||!s()||!a()||t())return;let n=new AbortController,r=new i.DOMEvent("source-change",{detail:s});return e.loadPoster(s(),this.#M,n).then(e=>{this.#M.notify("poster-change",e||"",r)}).catch(()=>{this.#M.notify("poster-change","",r)}),()=>{n.abort()}}}function tH(e){return((0,i.isArray)(e)?e:[e]).map(e=>(0,i.isString)(e)?{src:e,type:tW(e)}:{...e,type:tW(e.src,e.type)})}function tW(e,t){if((0,i.isString)(t)&&t.length)return t;if((0,i.isString)(e)&&tG.has(e))return tG.get(e);if(!t&&I({src:e,type:""}))return"application/x-mpegurl";if(!t&&D({src:e,type:""}))return"application/dash+xml";if(!(0,i.isString)(e)||e.startsWith("blob:"))return"video/object";else if(e.includes("youtube")||e.includes("youtu.be"))return"video/youtube";else if(e.includes("vimeo")&&!e.includes("progressive_redirect")&&!e.includes(".m3u8"))return"video/vimeo";return"?"}function tj(e,t){return e?.src===t?.src&&e?.type===t?.type}class tz{#ai;#M;#as=[];constructor(e,t){this.#ai=e,this.#M=t,(0,i.effect)(this.#aa.bind(this))}#aa(){let e=this.#ai();for(let t of this.#as)if(!e.some(e=>e.id===t.id)){let e=t.id&&this.#M.textTracks.getById(t.id);e&&this.#M.textTracks.remove(e)}for(let t of e){let e=t.id||Q.createId(t);this.#M.textTracks.getById(e)||(t.id=e,this.#M.textTracks.add(t))}this.#as=e}}class t_ extends i.Component{static props={loaders:[]};static state=new i.State({loader:null});#M;#an;#s2=(0,i.signal)([]);#ai=(0,i.signal)([]);#s3=null;onSetup(){this.#M=Z(),this.#an=new tQ(this.#s2,this.#M,this.$state.loader,this.$props.loaders())}onAttach(e){e.setAttribute("data-media-provider","")}onConnect(e){this.#an.connect(),new tz(this.#ai,this.#M);let t=new ResizeObserver((0,i.animationFrameThrottle)(this.#sH.bind(this)));t.observe(e);let s=new MutationObserver(this.#ar.bind(this));s.observe(e,{attributes:!0,childList:!0}),this.#sH(),this.#ar(),(0,i.onDispose)(()=>{t.disconnect(),s.disconnect()})}#ao=-1;load(e){e?.setAttribute("aria-hidden","true"),window.cancelAnimationFrame(this.#ao),this.#ao=requestAnimationFrame(()=>this.#ah(e)),(0,i.onDispose)(()=>{window.cancelAnimationFrame(this.#ao)})}#ah(e){if(!this.scope)return;let t=this.$state.loader(),{$provider:s}=this.#M;this.#s3===t&&t?.target===e&&(0,i.peek)(s)||(this.#ad(),this.#s3=t,t&&(t.target=e||null),t&&e&&t.load(this.#M).then(e=>{this.scope&&(0,i.peek)(this.$state.loader)===t&&this.#M.notify("provider-change",e)}))}onDestroy(){this.#s3=null,this.#ad()}#ad(){this.#M?.notify("provider-change",null)}#sH(){if(!this.el)return;let{player:e,$state:t}=this.#M,s=this.el.offsetWidth,a=this.el.offsetHeight;e&&(t.mediaWidth.set(s),t.mediaHeight.set(a),e.el&&((0,i.setStyle)(e.el,"--media-width",s+"px"),(0,i.setStyle)(e.el,"--media-height",a+"px")))}#ar(){let e=[],t=[];for(let s of this.el.children)if(!s.hasAttribute("data-vds")){if(s instanceof HTMLSourceElement){let t={id:s.id,src:s.src,type:s.type};for(let e of["id","src","width","height","bitrate","codec"]){let a=s.getAttribute(`data-${e}`);(0,i.isString)(a)&&(t[e]=/id|src|codec/.test(e)?a:Number(a))}e.push(t)}else if(s instanceof HTMLTrackElement){let e={src:s.src,kind:s.track.kind,language:s.srclang,label:s.label,default:s.default,type:s.getAttribute("data-type")};t.push({id:s.id||Q.createId(e),...e})}}this.#s2.set(e),this.#ai.set(t),(0,i.tick)()}}let tX=t_.prototype;(0,i.method)(tX,"load");class tY extends i.Component{static props={translations:null};static state=new i.State({label:null,busy:!1});#M;#al=!1;onSetup(){this.#M=Z()}onAttach(e){e.style.display="contents"}onConnect(e){e.setAttribute("data-media-announcer",""),ec(e,"role","status"),ec(e,"aria-live","polite");let{busy:t}=this.$state;this.setAttributes({"aria-busy":()=>t()?"true":null}),this.#al=!0,(0,i.effect)(this.#eb.bind(this)),(0,i.effect)(this.#sF.bind(this)),(0,i.effect)(this.#au.bind(this)),(0,i.effect)(this.#ac.bind(this)),(0,i.effect)(this.#ap.bind(this)),(0,i.effect)(this.#am.bind(this)),(0,i.effect)(this.#ag.bind(this)),(0,i.tick)(),this.#al=!1}#eb(){let{paused:e}=this.#M.$state;this.#af(e()?"Pause":"Play")}#ac(){let{fullscreen:e}=this.#M.$state;this.#af(e()?"Enter Fullscreen":"Exit Fullscreen")}#ap(){let{pictureInPicture:e}=this.#M.$state;this.#af(e()?"Enter PiP":"Exit PiP")}#au(){let{textTrack:e}=this.#M.$state;this.#af(e()?"Closed-Captions On":"Closed-Captions Off")}#sF(){let{muted:e,volume:t,audioGain:i}=this.#M.$state;this.#af(e()||0===t()?"Mute":`${Math.round(t()*(i()??1)*100)}% ${this.#ay("Volume")}`)}#av=-1;#ab=-1;#am(){let{seeking:e,currentTime:t}=this.#M.$state,s=e();this.#av>0?(window.clearTimeout(this.#ab),this.#ab=window.setTimeout(()=>{if(!this.scope)return;let e=(0,i.peek)(t),s=Math.abs(e-this.#av);if(s>=1){let t=e>=this.#av,i=tb(s);this.#af(`${this.#ay(t?"Seek Forward":"Seek Backward")} ${i}`)}this.#av=-1,this.#ab=-1},300)):s&&(this.#av=(0,i.peek)(t))}#ay(e){let{translations:t}=this.$props;return t?.()?.[e||""]??e}#ag(){let{label:e,busy:t}=this.$state,s=this.#ay(e());if(this.#al)return;t.set(!0);let a=window.setTimeout(()=>void t.set(!1),150);return this.el&&(0,i.setAttribute)(this.el,"aria-label",s),(0,i.isString)(s)&&this.dispatch("change",{detail:s}),()=>window.clearTimeout(a)}#af(e){let{label:t}=this.$state;t.set(e)}}class tJ extends i.Component{static props={hideDelay:2e3,hideOnMouseLeave:!1};#M;onSetup(){this.#M=Z(),(0,i.effect)(this.#aw.bind(this))}onAttach(e){let{pictureInPicture:t,fullscreen:s}=this.#M.$state;(0,i.setStyle)(e,"pointer-events","none"),ec(e,"role","group"),this.setAttributes({"data-visible":this.#ak.bind(this),"data-fullscreen":s,"data-pip":t}),(0,i.effect)(()=>{this.dispatch("change",{detail:this.#ak()})}),(0,i.effect)(this.#aT.bind(this)),(0,i.effect)(()=>{let t=s();for(let s of["top","right","bottom","left"])(0,i.setStyle)(e,`padding-${s}`,t&&`env(safe-area-inset-${s})`)})}#aT(){if(!this.el)return;let{nativeControls:e}=this.#M.$state,t=e();(0,i.setAttribute)(this.el,"aria-hidden",t?"true":null),(0,i.setStyle)(this.el,"display",t?"none":null)}#aw(){let{controls:e}=this.#M.player,{hideDelay:t,hideOnMouseLeave:i}=this.$props;e.defaultDelay=2e3===t()?this.#M.$props.controlsDelay():t(),e.hideOnMouseLeave=i()}#ak(){let{controlsVisible:e}=this.#M.$state;return e()}}class tZ extends i.Component{onAttach(e){e.style.pointerEvents||(0,i.setStyle)(e,"pointer-events","auto")}}class t0 extends i.ViewController{#aS;constructor(e){super(),this.#aS=e,(0,i.effect)(this.#a$.bind(this))}onDestroy(){this.#aC?.(),this.#aC=null}#a$(){let e=this.#aS.trigger();if(!e)return void this.hide();let t=this.show.bind(this),i=this.hide.bind(this);this.#aS.listen(e,t,i)}#ax=-1;#aP=-1;#aC=null;show(e){this.#aA(),window.cancelAnimationFrame(this.#aP),this.#aP=-1,this.#aC?.(),this.#aC=null,this.#ax=window.setTimeout(()=>{this.#ax=-1;let t=this.#aS.content();t&&t.style.removeProperty("display"),(0,i.peek)(()=>this.#aS.onChange(!0,e))},this.#aS.showDelay?.()??0)}hide(e){this.#aA(),(0,i.peek)(()=>this.#aS.onChange(!1,e)),this.#aP=requestAnimationFrame(()=>{this.#aA(),this.#aP=-1;let e=this.#aS.content();if(e){let t=()=>{e.style.display="none",this.#aC=null};if("none"!==getComputedStyle(e).animationName){this.#aC?.();let s=(0,i.listenEvent)(e,"animationend",t,{once:!0});this.#aC=s}else t()}})}#aA(){window.clearTimeout(this.#ax),this.#ax=-1}}let t1=(0,i.createContext)(),t2=0;class t3 extends i.Component{static props={showDelay:700};#eQ=`media-tooltip-${++t2}`;#aE=(0,i.signal)(null);#aq=(0,i.signal)(null);#aM=(0,i.signal)(!1);constructor(){super(),new tF;const{showDelay:e}=this.$props;new t0({trigger:this.#aE,content:this.#aq,showDelay:e,listen(e,t,s){(0,i.effect)(()=>{tO()&&(0,i.listenEvent)(e,"focus",t),(0,i.listenEvent)(e,"blur",s)}),new i.EventsController(e).add("touchstart",e=>e.preventDefault(),{passive:!1}).add("mouseenter",t).add("mouseleave",s)},onChange:this.#aI.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onSetup(){(0,i.provideContext)(t1,{trigger:this.#aE,content:this.#aq,showing:this.#aM,attachTrigger:this.#aD.bind(this),detachTrigger:this.#aL.bind(this),attachContent:this.#aR.bind(this),detachContent:this.#aV.bind(this)})}#aD(e){this.#aE.set(e);let t=e.getAttribute("data-media-tooltip");t&&this.el?.setAttribute(`data-media-${t}-tooltip`,""),(0,i.setAttribute)(e,"data-describedby",this.#eQ)}#aL(e){e.removeAttribute("data-describedby"),e.removeAttribute("aria-describedby"),this.#aE.set(null)}#aR(e){e.setAttribute("id",this.#eQ),e.style.display="none",ec(e,"role","tooltip"),this.#aq.set(e)}#aV(e){e.removeAttribute("id"),e.removeAttribute("role"),this.#aq.set(null)}#aI(e){let t=this.#aE(),s=this.#aq();for(let a of(t&&(0,i.setAttribute)(t,"aria-describedby",e?this.#eQ:null),[this.el,t,s]))a&&(0,i.setAttribute)(a,"data-visible",e);this.#aM.set(e)}}class t5 extends i.Component{constructor(){super(),new tF}onConnect(e){(0,i.onDispose)(eb(()=>{if(!this.connectScope)return;
1this.#aO();let e=(0,i.useContext)(t1);(0,i.onDispose)(()=>{let t=this.#aF();t&&e.detachTrigger(t)})}))}#aO(){let e=this.#aF(),t=(0,i.useContext)(t1);e&&t.attachTrigger(e)}#aF(){let e=this.el.firstElementChild;return e?.localName==="button"||e?.getAttribute("role")==="button"?e:this.el}}class t4 extends i.Component{static props={placement:"top center",offset:0,alignOffset:0};constructor(){super(),new tF;const{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){this.#aO(e),Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){this.#aO(e);let t=(0,i.useContext)(t1);(0,i.onDispose)(()=>t.detachContent(e)),(0,i.onDispose)(eb(()=>{this.connectScope&&(0,i.effect)(this.#aN.bind(this))}))}#aO(e){(0,i.useContext)(t1).attachContent(e)}#aN(){let{showing:e}=(0,i.useContext)(t1);if(!e())return;let{placement:t,offset:s,alignOffset:a}=this.$props;return ew(this.el,this.#aU(),t(),{offsetVarName:"media-tooltip",xOffset:a(),yOffset:s()})}#aU(){return(0,i.useContext)(t1).trigger()}}class t6 extends i.ViewController{static props={disabled:!1};#aS;constructor(e){super(),this.#aS=e,new tF,e.keyShortcut&&new eR(e.keyShortcut)}onSetup(){let{disabled:e}=this.$props;this.setAttributes({"data-pressed":this.#aS.isPresssed,"aria-pressed":this.#aB.bind(this),"aria-disabled":()=>e()?"true":null})}onAttach(e){ec(e,"tabindex","0"),ec(e,"role","button"),ec(e,"type","button")}onConnect(e){let t=ey(e,this.#aK.bind(this));for(let e of["click","touchstart"])t.add(e,this.#aG.bind(this),{passive:!0})}#aB(){return(0,i.ariaBool)(this.#aS.isPresssed())}#aQ(e){(0,i.isWriteSignal)(this.#aS.isPresssed)&&this.#aS.isPresssed.set(e=>!e)}#aK(e){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),(this.#aS.onPress??this.#aQ).call(this,e)}#aG(e){this.$props.disabled()&&(e.preventDefault(),e.stopImmediatePropagation())}}class t7 extends i.Component{static props={disabled:!1,defaultPressed:!1};#aH=(0,i.signal)(!1);get pressed(){return this.#aH()}constructor(){super(),new t6({isPresssed:this.#aH})}}let t9=t7.prototype;(0,i.prop)(t9,"pressed");class t8 extends i.Component{static props=t6.props;#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z();let{canAirPlay:e,isAirPlayConnected:t}=this.#M.$state;this.setAttributes({"data-active":t,"data-supported":e,"data-state":this.#az.bind(this),"aria-hidden":tP(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","airplay"),ep(e,this.#a_.bind(this))}#aj(e){this.#M.remote.requestAirPlay(e)}#aW(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"airplay"===e()&&"disconnected"!==t()}#az(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"airplay"===e()&&t()}#a_(){let{remotePlaybackState:e}=this.#M.$state;return`AirPlay ${e()}`}}class ie extends i.Component{static props=t6.props;#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z();let{canGoogleCast:e,isGoogleCastConnected:t}=this.#M.$state;this.setAttributes({"data-active":t,"data-supported":e,"data-state":this.#az.bind(this),"aria-hidden":tP(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","google-cast"),ep(e,this.#a_.bind(this))}#aj(e){this.#M.remote.requestGoogleCast(e)}#aW(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"google-cast"===e()&&"disconnected"!==t()}#az(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#M.$state;return"google-cast"===e()&&t()}#a_(){let{remotePlaybackState:e}=this.#M.$state;return`Google Cast ${e()}`}}class it extends i.Component{static props=t6.props;#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),keyShortcut:"togglePaused",onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z();let{paused:e,ended:t}=this.#M.$state;this.setAttributes({"data-paused":e,"data-ended":t})}onAttach(e){e.setAttribute("data-media-tooltip","play"),ep(e,"Play")}#aj(e){let t=this.#M.remote;this.#aW()?t.pause(e):t.play(e)}#aW(){let{paused:e}=this.#M.$state;return!e()}}class ii extends i.Component{static props=t6.props;#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),keyShortcut:"toggleCaptions",onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z(),this.setAttributes({"data-active":this.#aW.bind(this),"data-supported":()=>!this.#aX(),"aria-hidden":tP(this.#aX.bind(this))})}onAttach(e){e.setAttribute("data-media-tooltip","caption"),ep(e,"Captions")}#aj(e){this.#M.remote.toggleCaptions(e)}#aW(){let{textTrack:e}=this.#M.$state,t=e();return!!t&&W(t)}#aX(){let{hasCaptions:e}=this.#M.$state;return!e()}}class is extends i.Component{static props={...t6.props,target:"prefer-media"};#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),keyShortcut:"toggleFullscreen",onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z();let{fullscreen:e}=this.#M.$state,t=this.#aY.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":tP(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","fullscreen"),ep(e,"Fullscreen")}#aj(e){let t=this.#M.remote,i=this.$props.target();this.#aW()?t.exitFullscreen(i,e):t.enterFullscreen(i,e)}#aW(){let{fullscreen:e}=this.#M.$state;return e()}#aY(){let{canFullscreen:e}=this.#M.$state;return e()}}class ia extends i.Component{static props=t6.props;#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),keyShortcut:"toggleMuted",onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z(),this.setAttributes({"data-muted":this.#aW.bind(this),"data-state":this.#az.bind(this)})}onAttach(e){e.setAttribute("data-media-mute-button",""),e.setAttribute("data-media-tooltip","mute"),ep(e,"Mute")}#aj(e){let t=this.#M.remote;this.#aW()?t.unmute(e):t.mute(e)}#aW(){let{muted:e,volume:t}=this.#M.$state;return e()||0===t()}#az(){let{muted:e,volume:t}=this.#M.$state,i=t();return e()||0===i?"muted":i>=.5?"high":i<.5?"low":void 0}}class ir extends i.Component{static props=t6.props;#M;constructor(){super(),new t6({isPresssed:this.#aW.bind(this),keyShortcut:"togglePictureInPicture",onPress:this.#aj.bind(this)})}onSetup(){this.#M=Z();let{pictureInPicture:e}=this.#M.$state,t=this.#aY.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":tP(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","pip"),ep(e,"PiP")}#aj(e){let t=this.#M.remote;this.#aW()?t.exitPictureInPicture(e):t.enterPictureInPicture(e)}#aW(){let{pictureInPicture:e}=this.#M.$state;return e()}#aY(){let{canPictureInPicture:e}=this.#M.$state;return e()}}class io extends i.Component{static props={disabled:!1,seconds:30};#M;constructor(){super(),new tF}onSetup(){this.#M=Z();let{seeking:e}=this.#M.$state,{seconds:t}=this.$props,i=this.#aY.bind(this);this.setAttributes({seconds:t,"data-seeking":e,"data-supported":i,"aria-hidden":tP(()=>!i())})}onAttach(e){ec(e,"tabindex","0"),ec(e,"role","button"),ec(e,"type","button"),e.setAttribute("data-media-tooltip","seek"),ep(e,this.#a_.bind(this))}onConnect(e){ey(e,this.#aj.bind(this))}#aY(){let{canSeek:e}=this.#M.$state;return e()}#a_(){let{seconds:e}=this.$props;return`Seek ${e()>0?"forward":"backward"} ${e()} seconds`}#aj(e){let{seconds:t,disabled:i}=this.$props;if(i())return;let{currentTime:s}=this.#M.$state,a=s()+t();this.#M.remote.seek(a,e)}}class ih extends i.Component{static props={disabled:!1};#M;constructor(){super(),new tF}onSetup(){this.#M=Z();let{disabled:e}=this.$props,{live:t,liveEdge:i}=this.#M.$state,s=()=>!t();this.setAttributes({"data-edge":i,"data-hidden":s,"aria-disabled":tP(()=>e()||i()),"aria-hidden":tP(s)})}onAttach(e){ec(e,"tabindex","0"),ec(e,"role","button"),ec(e,"type","button"),e.setAttribute("data-media-tooltip","live")}onConnect(e){ey(e,this.#aj.bind(this))}#aj(e){let{disabled:t}=this.$props,{liveEdge:i}=this.#M.$state;t()||i()||this.#M.remote.seekToLiveEdge(e)}}let id=new i.State({min:0,max:100,value:0,step:1,pointerValue:0,focused:!1,dragging:!1,pointing:!1,hidden:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return il(this.min,this.max,this.value)},get fillPercent(){return 100*this.fillRate},get pointerRate(){return il(this.min,this.max,this.pointerValue)},get pointerPercent(){return 100*this.pointerRate}});function il(e,t,i){let s=t-e;return s>0?(i-e)/s:0}class iu extends i.ViewController{#ey;#aJ;constructor(e){super(),this.#ey=e}onConnect(e){this.#aJ=new IntersectionObserver(e=>{this.#ey.callback?.(e,this.#aJ)},this.#ey),this.#aJ.observe(e),(0,i.onDispose)(this.#eE.bind(this))}#eE(){this.#aJ?.disconnect(),this.#aJ=void 0}}let ic=(0,i.createContext)(),ip=(0,i.createContext)(),im={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};class ig extends i.ViewController{#aS;#M;#aJ;constructor(e,t){super(),this.#aS=e,this.#M=t}onSetup(){(0,i.hasProvidedContext)(ip)&&(this.#aJ=(0,i.useContext)(ip))}onConnect(e){(0,i.effect)(this.#aZ.bind(this,e)),(0,i.effect)(this.#a0.bind(this,e)),this.#aS.swipeGesture&&(0,i.effect)(this.#a1.bind(this))}#a1(){let{pointer:e}=this.#M.$state;if("coarse"!==e()||!this.#aS.swipeGesture()){this.#ej=null;return}this.#ej=this.#M.player.el?.querySelector("media-provider,[data-media-provider]"),this.#ej&&new i.EventsController(this.#ej).add("touchstart",this.#a2.bind(this),{passive:!0}).add("touchmove",this.#a3.bind(this),{passive:!1})}#ej=null;#a5=null;#a4=null;#a2(e){this.#a5=e.touches[0]}#a3(e){if((0,i.isNull)(this.#a5)||ev(e))return;let t=e.touches[0],s=t.clientX-this.#a5.clientX,a=t.clientY-this.#a5.clientY,n=this.$state.dragging();!n&&Math.abs(a)>5||!n&&(e.preventDefault(),Math.abs(s)>20&&(this.#a5=t,this.#a4=this.$state.value(),this.#a6(this.#a4,e)))}#aZ(e){let{hidden:t}=this.$props;(0,i.listenEvent)(e,"focus",this.#sM.bind(this)),t()||this.#aS.isDisabled()||new i.EventsController(e).add("keyup",this.#Z.bind(this)).add("keydown",this.#ee.bind(this)).add("pointerenter",this.#sE.bind(this)).add("pointermove",this.#a
17.bind(this)).add("pointerleave",this.#sq.bind(this)).add("pointerdown",this.#a9.bind(this))}#a0(e){!this.#aS.isDisabled()&&this.$state.dragging()&&new i.EventsController(document).add("pointerup",this.#a8.bind(this),{capture:!0}).add("pointermove",this.#ne.bind(this)).add("touchmove",this.#nt.bind(this),{passive:!1})}#sM(){this.#ni(this.$state.value())}#ns(e,t){let{value:i,min:s,max:a,dragging:n}=this.$state,r=Math.max(s(),Math.min(e,a()));i.set(r);let o=this.createEvent("value-change",{detail:r,trigger:t});if(this.dispatch(o),this.#aS.onValueChange?.(o),n()){let e=this.createEvent("drag-value-change",{detail:r,trigger:t});this.dispatch(e),this.#aS.onDragValueChange?.(e)}}#ni(e,t){let{pointerValue:i,dragging:s}=this.$state;i.set(e),this.dispatch("pointer-value-change",{detail:e,trigger:t}),s()&&this.#ns(e,t)}#na(e){var t,s,a,n;let r,o,h=this.el.getBoundingClientRect(),{min:d,max:l}=this.$state;if("vertical"===this.$props.orientation()){let{bottom:t,height:i}=h;o=(t-e.clientY)/i}else if(this.#a5&&(0,i.isNumber)(this.#a4)){let{width:t}=this.#ej.getBoundingClientRect(),i=(e.clientX-this.#a5.clientX)/t,s=l()-d(),a=s*Math.abs(i);o=(i<0?this.#a4-a:this.#a4+a)/s}else{let{left:t,width:i}=h;o=(e.clientX-t)/i}return Math.max(d(),Math.min(l(),this.#aS.roundValue((t=d(),s=l(),a=o,r=(n=this.#aS.getStep())*Math.round((s-t)*ed(0,a,1)/n),t+r))))}#sE(e){this.$state.pointing.set(!0)}#a7(e){let{dragging:t}=this.$state;t()||this.#ni(this.#na(e),e)}#sq(e){this.$state.pointing.set(!1)}#a9(e){if(0!==e.button)return;let t=this.#na(e);this.#a6(t,e),this.#ni(t,e)}#a6(e,t){let{dragging:i}=this.$state;if(i())return;i.set(!0),this.#M.remote.pauseControls(t);let s=this.createEvent("drag-start",{detail:e,trigger:t});this.dispatch(s),this.#aS.onDragStart?.(s),this.#aJ?.onDragStart?.()}#nn(e,t){let{dragging:i}=this.$state;if(!i())return;i.set(!1),this.#M.remote.resumeControls(t);let s=this.createEvent("drag-end",{detail:e,trigger:t});this.dispatch(s),this.#aS.onDragEnd?.(s),this.#a5=null,this.#a4=null,this.#aJ?.onDragEnd?.()}#nr;#no=!1;#ee(e){if(!Object.keys(im).includes(e.key))return;let{key:t}=e,s=this.#nh(e);if(!(0,i.isNull)(s)){this.#ni(s,e),this.#ns(s,e);return}let a=this.#nd(e);this.#no||(this.#no=t===this.#nr,!this.$state.dragging()&&this.#no&&this.#a6(a,e)),this.#ni(a,e),this.#nr=t}#Z(e){if(!Object.keys(im).includes(e.key)||!(0,i.isNull)(this.#nh(e)))return;let t=this.#no?this.$state.pointerValue():this.#nd(e);this.#ns(t,e),this.#nn(t,e),this.#nr="",this.#no=!1}#nh(e){let t=e.key,{min:i,max:s}=this.$state;return"Home"===t||"PageUp"===t?i():"End"===t||"PageDown"===t?s():!e.metaKey&&/^[0-9]$/.test(t)?(s()-i())/10*Number(t):null}#nd(e){let{key:t,shiftKey:i}=e;e.preventDefault(),e.stopPropagation();let{shiftKeyMultiplier:s}=this.$props,{min:a,max:n,value:r,pointerValue:o}=this.$state,h=this.#aS.getStep(),d=this.#aS.getKeyStep(),l=i?d*s():d,u=Number(im[t]),c=this.#no?o():this.#aS.getValue?.()??r();return Math.max(a(),Math.min(n(),Number(((c+l*u)/h*h).toFixed(3))))}#a8(e){if(0!==e.button)return;e.preventDefault(),e.stopImmediatePropagation();let t=this.#na(e);this.#ni(t,e),this.#nn(t,e)}#nt(e){e.preventDefault()}#ne=(0,i.functionThrottle)(e=>{this.#ni(this.#na(e),e)},20,{leading:!0})}let iy=(0,i.createContext)(()=>({}));class iv extends i.ViewController{static props={hidden:!1,disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};#M;#aS;#nl=(0,i.signal)(!0);#nu=(0,i.signal)(!0);constructor(e){super(),this.#aS=e}onSetup(){this.#M=Z();let e=new tF;e.attach(this),this.$state.focused=e.focused.bind(e),(0,i.hasProvidedContext)(iy)||(0,i.provideContext)(iy,{default:"value"}),(0,i.provideContext)(ic,{orientation:this.$props.orientation,disabled:this.#aS.isDisabled,preview:(0,i.signal)(null)}),(0,i.effect)(this.#nc.bind(this)),(0,i.effect)(this.#np.bind(this)),(0,i.effect)(this.#nm.bind(this)),this.#ng(),new ig(this.#aS,this.#M).attach(this),new iu({callback:this.#nf.bind(this)}).attach(this)}onAttach(e){ec(e,"role","slider"),ec(e,"tabindex","0"),ec(e,"autocomplete","off"),n?this.#ny():(0,i.effect)(this.#ny.bind(this))}onConnect(e){(0,i.onDispose)(eg(e,this.#nl.set)),(0,i.effect)(this.#nv.bind(this))}#nf(e){this.#nu.set(e[0].isIntersecting)}#nv(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#nl()||!this.#nu.bind(this))}#nc(){let{dragging:e,value:t,min:s,max:a}=this.$state;if(!(0,i.peek)(e)){var n,r;t.set((n=s(),r=a(),ed(n,eo(t(),eh(this.#aS.getStep())),r)))}}#np(){this.$state.step.set(this.#aS.getStep())}#nm(){if(!this.#aS.isDisabled())return;let{dragging:e,pointing:t}=this.$state;e.set(!1),t.set(!1)}#nb(){return(0,i.ariaBool)(this.#aS.isDisabled())}#ng(){let{orientation:e}=this.$props,{dragging:t,active:i,pointing:s}=this.$state;
1this.setAttributes({"data-dragging":t,"data-pointing":s,"data-active":i,"aria-disabled":this.#nb.bind(this),"aria-valuemin":this.#aS.aria.valueMin??this.$state.min,"aria-valuemax":this.#aS.aria.valueMax??this.$state.max,"aria-valuenow":this.#aS.aria.valueNow,"aria-valuetext":this.#aS.aria.valueText,"aria-orientation":e})}#ny(){let{fillPercent:e,pointerPercent:t}=this.$state;this.#nw(eo(e(),3),eo(t(),3))}#nw=(0,i.animationFrameThrottle)((e,t)=>{this.el?.style.setProperty("--slider-fill",e+"%"),this.el?.style.setProperty("--slider-pointer",t+"%")})}class ib extends i.Component{static props={...iv.props,min:0,max:100,value:0};static state=id;constructor(){super(),new iv({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.$props.disabled,aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)}})}onSetup(){(0,i.effect)(this.#nc.bind(this)),(0,i.effect)(this.#nS.bind(this))}#nk(){let{value:e}=this.$state;return Math.round(e())}#nT(){let{value:e,max:t}=this.$state;return eo(e()/t()*100,2)+"%"}#nc(){let{value:e}=this.$props;this.$state.value.set(e())}#nS(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}}let iw=new Map,ik=new Map;class iT{#M;#n$;#nC;$images=(0,i.signal)([]);static create(e,t){return new iT(e,t,Z())}constructor(e,t,s){this.#n$=e,this.#nC=t,this.#M=s,(0,i.effect)(this.#nx.bind(this))}#nx(){let{canLoad:t}=this.#M.$state;if(!t())return;let s=this.#n$();if(s){if((0,i.isString)(s)&&iw.has(s)){let e=iw.get(s);if(iw.delete(s),iw.set(s,e),iw.size>99){let e=iw.keys().next().value;iw.delete(e)}this.$images.set(iw.get(s))}else if((0,i.isString)(s)){let t=this.#nC(),a=s+"::"+t;if(!ik.has(a)){let n=new Promise(async(a,n)=>{try{let r=await fetch(s,{credentials:N(t)});if("application/json"===r.headers.get("content-type")){let e=await r.json();if((0,i.isArray)(e))if(e[0]&&"text"in e[0])a(this.#nP(e));else{for(let t=0;t<e.length;t++){let s=e[t];tr((0,i.isObject)(s),!1),tr("url"in s&&(0,i.isString)(s.url),!1),tr("startTime"in s&&(0,i.isNumber)(s.startTime),!1)}a(e)}else a(this.#nA(e));return}e.A(704004).then(async({parseResponse:e})=>{try{let{cues:t}=await e(r);a(this.#nP(t))}catch(e){n(e)}})}catch(e){n(e)}}).then(e=>(iw.set(a,e),e)).catch(e=>{this.#eA(s,e)}).finally(()=>{(0,i.isString)(a)&&ik.delete(a)});ik.set(a,n)}ik.get(a)?.then(e=>{this.$images.set(e||[])})}else if((0,i.isArray)(s))try{this.$images.set(this.#nE(s))}catch(e){this.#eA(s,e)}else try{this.$images.set(this.#nA(s))}catch(e){this.#eA(s,e)}return()=>{this.$images.set([])}}}#nE(e){let t=this.#nq();return e.map((e,s)=>(tr(e.url&&(0,i.isString)(e.url)),tr("startTime"in e&&(0,i.isNumber)(e.startTime)),{...e,url:(0,i.isString)(e.url)?this.#nM(e.url,t):e.url}))}#nA(e){tr((0,i.isString)(e.url)),tr((0,i.isArray)(e.tiles)&&e.tiles?.length);let t=new URL(e.url),s=[],a="tile_width"in e?e.tile_width:e.tileWidth,n="tile_height"in e?e.tile_height:e.tileHeight;for(let i of e.tiles)s.push({url:t,startTime:"start"in i?i.start:i.startTime,width:a,height:n,coords:{x:i.x,y:i.y}});return s}#nP(e){for(let t=0;t<e.length;t++){let s=e[t];tr("startTime"in s&&(0,i.isNumber)(s.startTime)),tr("text"in s&&(0,i.isString)(s.text))}let t=[],s=this.#nq();for(let a of e){let[e,n]=a.text.split("#"),r=this.#nI(n);t.push({url:this.#nM(e,s),startTime:a.startTime,endTime:a.endTime,width:r?.w,height:r?.h,coords:r&&(0,i.isNumber)(r.x)&&(0,i.isNumber)(r.y)?{x:r.x,y:r.y}:void 0})}return t}#nq(){let e=(0,i.peek)(this.#n$);return(0,i.isString)(e)&&/^https?:/.test(e)?e:location.href}#nM(e,t){return/^https?:/.test(e)?new URL(e):new URL(e,t)}#nI(e){if(!e)return{};let[t,i]=e.split("="),s=i?.split(","),a={};if(!t||!s)return null;for(let e=0;e<t.length;e++){let i=+s[e];isNaN(i)||(a[t[e]]=i)}return a}#eA(e,t){}}class iS extends i.Component{static props={src:null,time:0,crossOrigin:null};static state=new i.State({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});media;#s3;#nD=[];onSetup(){this.media=Z(),this.#s3=iT.create(this.$props.src,this.$state.crossOrigin),this.#sm(),this.setAttributes({"data-loading":this.#nL.bind(this),"data-error":this.#nR.bind(this),"data-hidden":this.$state.hidden,"aria-hidden":tP(this.$state.hidden)})}onConnect(e){(0,i.effect)(this.#nV.bind(this)),(0,i.effect)(this.#nv.bind(this)),(0,i.effect)(this.#sm.bind(this)),(0,i.effect)(this.#te.bind(this)),(0,i.effect)(this.#nO.bind(this)),(0,i.effect)(this.#nF.bind(this))}#nV(){let e=this.$state.img();e&&new i.EventsController(e).add("load",this.#ii.bind(this)).add("error",this.#eA.bind(this))}#sm(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.media.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#te(){let{src:e,loading:t,error:i}=this.$state;return e()&&(t.set(!0),i.set(null)),()=>{this.#nN(),t.set(!1),i.set(null)}}#ii(){let{loading:e,error:t}=this.$state;this.#nF(),e.set(!1),t.set(null)}#eA(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}#nL(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#nR(){let{error:e}=this.$state;return!(0,i.isNull)(e())}#nv(){let{hidden:e}=this.$state,{duration:t}=this.media.$state,i=this.#s3.$images();e.set(this.#nR()||!Number.isFinite(t())||0===i.length)}getTime(){return this.$props.time()}#nO(){let e=this.#s3.$images();if(!e.length)return;
1let t=this.getTime(),{src:i,activeThumbnail:s}=this.$state,a=-1,n=null;for(let i=e.length-1;i>=0;i--){let s=e[i];if(t>=s.startTime&&(!s.endTime||t<s.endTime)){a=i;break}}e[a]&&(n=e[a]),s.set(n),i.set(n?.url.href||"")}#nF(){if(!this.scope||this.$state.hidden())return;let e=this.el,t=this.$state.img(),i=this.$state.activeThumbnail();if(!t||!i||!e)return;let s=i.width??t.naturalWidth,a=i?.height??t.naturalHeight,{maxWidth:n,maxHeight:r,minWidth:o,minHeight:h,width:d,height:l}=getComputedStyle(this.el);"100%"===o&&(o=parseFloat(d)+""),"100%"===h&&(h=parseFloat(l)+"");let u=Math.max(parseInt(o)/s,parseInt(h)/a),c=Math.min(Math.max(parseInt(o),parseInt(n))/s,Math.max(parseInt(h),parseInt(r))/a),p=!isNaN(c)&&c<1?c:u>1?u:1;this.#nU(e,"--thumbnail-width",`${s*p}px`),this.#nU(e,"--thumbnail-height",`${a*p}px`),this.#nU(e,"--thumbnail-aspect-ratio",String(eo(s/a,5))),this.#nU(t,"width",`${t.naturalWidth*p}px`),this.#nU(t,"height",`${t.naturalHeight*p}px`),this.#nU(t,"transform",i.coords?`translate(-${i.coords.x*p}px, -${i.coords.y*p}px)`:""),this.#nU(t,"max-width","none")}#nU(e,t,i){e.style.setProperty(t,i),this.#nD.push(()=>e.style.removeProperty(t))}#nN(){for(let e of this.#nD)e();this.#nD=[]}}class i$ extends iS{#nB;onAttach(e){this.#nB=(0,i.useState)(ib.state)}getTime(){let{duration:e,clipStartTime:t}=this.media.$state;return t()+this.#nB.pointerRate()*e()}}class iC extends i.Component{static props={src:null,crossOrigin:null};static state=new i.State({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});#M;#nB;get video(){return this.$state.video()}onSetup(){this.#M=Z(),this.#nB=(0,i.useState)(ib.state),this.#sm(),this.setAttributes({"data-loading":this.#nL.bind(this),"data-hidden":this.$state.hidden,"data-error":this.#nR.bind(this),"aria-hidden":tP(this.$state.hidden)})}onAttach(e){(0,i.effect)(this.#nK.bind(this)),(0,i.effect)(this.#nG.bind(this)),(0,i.effect)(this.#sm.bind(this)),(0,i.effect)(this.#nv.bind(this)),(0,i.effect)(this.#nQ.bind(this)),(0,i.effect)(this.#nH.bind(this))}#nK(){let e=this.$state.video();e&&(e.readyState>=2&&this.#to(),new i.EventsController(e).add("canplay",this.#to.bind(this)).add("error",this.#eA.bind(this)))}#nG(){let{src:e}=this.$state,{canLoad:t}=this.#M.$state;e.set(t()?this.$props.src():null)}#sm(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.#M.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#nL(){let{canPlay:e,hidden:t}=this.$state;return!e()&&!t()}#nR(){let{error:e}=this.$state;return!(0,i.isNull)(e)}#nv(){let{src:e,hidden:t}=this.$state,{canLoad:i,duration:s}=this.#M.$state;t.set(i()&&(!e()||this.#nR()||!Number.isFinite(s())))}#nQ(){let{src:e,canPlay:t,error:i}=this.$state;e(),t.set(!1),i.set(null)}#to(e){let{canPlay:t,error:i}=this.$state;t.set(!0),i.set(null),this.dispatch("can-play",{trigger:e})}#eA(e){let{canPlay:t,error:i}=this.$state;t.set(!1),i.set(e),this.dispatch("error",{trigger:e})}#nH(){let{video:e,canPlay:t}=this.$state,{duration:i}=this.#M.$state,{pointerRate:s}=this.#nB,a=e();t()&&a&&Number.isFinite(i())&&Number.isFinite(s())&&(a.currentTime=s()*i())}}let ix=iC.prototype;(0,i.prop)(ix,"video");class iP extends i.Component{static props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};#nW;#nj;#nB;onSetup(){this.#nB=(0,i.useState)(ib.state),this.#nW=(0,i.useContext)(iy),this.#nj=(0,i.computed)(this.getValueText.bind(this))}getValueText(){let{type:e,format:t,decimalPlaces:i,padHours:s,padMinutes:a,showHours:n,showMs:r}=this.$props,{value:o,pointerValue:h,min:d,max:l}=this.#nB,u=t?.()??this.#nW.default,c="current"===e()?o():h();if("percent"===u){let e=c/(l()-d())*100;return(this.#nW.percent??eo)(e,i())+"%"}return"time"===u?(this.#nW.time??tv)(c,{padHrs:s(),padMins:a(),showHrs:n(),showMs:r()}):(this.#nW.value?.(c)??c.toFixed(2))+""}}let iA=iP.prototype;(0,i.method)(iA,"getValueText");class iE extends i.Component{static props={offset:0,noClamp:!1};#nB;onSetup(){this.#nB=(0,i.useContext)(ic);let{active:e}=(0,i.useState)(ib.state);this.setAttributes({"data-visible":e})}onAttach(e){Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){let{preview:t}=this.#nB;t.set(e),(0,i.onDispose)(()=>t.set(null)),(0,i.effect)(this.#nz.bind(this));let s=new ResizeObserver(this.#nz.bind(this));s.observe(e),(0,i.onDispose)(()=>s.disconnect())}#nz=(0,i.animationFrameThrottle)(()=>{let{disabled:e,orientation:t}=this.#nB;if(e())return;let i=this.el,{offset:s,noClamp:a}=this.$props;i&&iq(i,{clamp:!a(),offset:s(),orientation:t()})})}function iq(e,{clamp:t,offset:i,orientation:s}){let a=getComputedStyle(e),n=parseFloat(a.width),r=parseFloat(a.height),o={top:null,right:null,bottom:null,left:null};if(o["horizontal"===s?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${i}px))`,"horizontal"===s){let e=n/2;if(t){let t=`max(0px, calc(var(--slider-pointer) - ${e}px))`,i=`calc(100% - ${n}px)`;
1o.left=`min(${t}, ${i})`}else o.left=`calc(var(--slider-pointer) - ${e}px)`}else{let e=r/2;if(t){let t=`max(${e}px, calc(var(--slider-pointer) - ${e}px))`,i=`calc(100% - ${r}px)`;o.bottom=`min(${t}, ${i})`}else o.bottom=`calc(var(--slider-pointer) - ${e}px)`}Object.assign(e.style,o)}class iM extends i.Component{static props={...iv.props,keyStep:5,shiftKeyMultiplier:2};static state=id;#M;onSetup(){this.#M=Z();let{audioGain:e}=this.#M.$state;(0,i.provideContext)(iy,{default:"percent",value:t=>(t*(e()??1)).toFixed(2),percent:t=>Math.round(t*(e()??1))}),new iv({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#n_.bind(this),aria:{valueMax:this.#nX.bind(this),valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,i.effect)(this.#sF.bind(this))}onAttach(e){e.setAttribute("data-media-volume-slider",""),ec(e,"aria-label","Volume");let{canSetVolume:t}=this.#M.$state;this.setAttributes({"data-supported":t,"aria-hidden":tP(()=>!t())})}#nk(){let{value:e}=this.$state,{audioGain:t}=this.#M.$state;return Math.round(e()*(t()??1))}#nT(){let{value:e,max:t}=this.$state,{audioGain:i}=this.#M.$state;return eo(e()/t()*(i()??1)*100,2)+"%"}#nX(){let{audioGain:e}=this.#M.$state;return this.$state.max()*(e()??1)}#n_(){let{disabled:e}=this.$props,{canSetVolume:t}=this.#M.$state;return e()||!t()}#sF(){let{muted:e,volume:t}=this.#M.$state,i=e()?0:100*t();this.$state.value.set(i),this.dispatch("value-change",{detail:i})}#nZ=(0,i.functionThrottle)(this.#ts.bind(this),25);#ts(e){if(!e.trigger)return;let t=eo(e.detail/100,3);this.#M.remote.changeVolume(t,e)}#nJ(e){this.#nZ(e)}#nY(e){this.#nZ(e)}}class iI extends i.Component{static props={...iv.props,step:25,keyStep:25,shiftKeyMultiplier:2,min:0,max:300};static state=id;#M;onSetup(){this.#M=Z(),(0,i.provideContext)(iy,{default:"percent",percent:(e,t)=>eo(this.$state.value(),t)+"%"}),new iv({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,i.effect)(this.#nS.bind(this)),(0,i.effect)(this.#n0.bind(this))}onAttach(e){e.setAttribute("data-media-audio-gain-slider",""),ec(e,"aria-label","Audio Boost");let{canSetAudioGain:t}=this.#M.$state;this.setAttributes({"data-supported":t,"aria-hidden":tP(()=>!t())})}#nk(){let{value:e}=this.$state;return Math.round(e())}#nT(){let{value:e}=this.$state;return e()+"%"}#nS(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}#n0(){let{audioGain:e}=this.#M.$state,t=((e()??1)-1)*100;this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#n_(){let{disabled:e}=this.$props,{canSetAudioGain:t}=this.#M.$state;return e()||!t()}#n1(e){if(!e.trigger)return;let t=eo(1+e.detail/100,2);this.#M.remote.changeAudioGain(t,e)}#nJ(e){this.#n1(e)}#nY(e){this.#n1(e)}}class iD extends i.Component{static props={...iv.props,step:.25,keyStep:.25,shiftKeyMultiplier:2,min:0,max:2};static state=id;#M;onSetup(){this.#M=Z(),new iv({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:this.#n2,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,i.effect)(this.#nS.bind(this)),(0,i.effect)(this.#sU.bind(this))}onAttach(e){e.setAttribute("data-media-speed-slider",""),ec(e,"aria-label","Speed");let{canSetPlaybackRate:t}=this.#M.$state;this.setAttributes({"data-supported":t,"aria-hidden":tP(()=>!t())})}#nk(){let{value:e}=this.$state;return e()}#nT(){let{value:e}=this.$state;return e()+"x"}#nS(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}#sU(){let{playbackRate:e}=this.#M.$state,t=e();this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#n2(e){return eo(e,2)}#n_(){let{disabled:e}=this.$props,{canSetPlaybackRate:t}=this.#M.$state;return e()||!t()}#n3=(0,i.functionThrottle)(this.#n5.bind(this),25);#n5(e){if(!e.trigger)return;let t=e.detail;this.#M.remote.changePlaybackRate(t,e)}#nJ(e){this.#n3(e)}#nY(e){this.#n3(e)}}class iL extends i.Component{static props={...iv.props,step:1,keyStep:1,shiftKeyMultiplier:1};static state=id;#M;#n4=(0,i.computed)(()=>{let{qualities:e}=this.#M.$state;return eP(e())});onSetup(){this.#M=Z(),new iv({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragValueChange:this.#nY.bind(this),onValueChange:this.#nJ.bind(this)}).attach(this),(0,i.effect)(this.#n6.bind(this)),(0,i.effect)(this.#n7.bind(this))}onAttach(e){e.setAttribute("data-media-quality-slider",""),ec(e,"aria-label","Video Quality");let{qualities:t,canSetQuality:s}=this.#M.$state,a=(0,i.computed)(()=>s()&&t().length>0);this.setAttributes({"data-supported":a,"aria-hidden":tP(()=>!a())})}#nk(){let{value:e}=this.$state;return e()}#nT(){let{quality:e}=this.#M.$state;if(!e())return"";let{height:t,bitrate:i}=e(),s=i&&i>0?`${(i/1e6).toFixed(2)} Mbps`:null;return t?`${t}p${s?` (${s})`:""}`:"Auto"}#n6(){let e=this.#n4();this.$state.max.set(Math.max(0,e.length-1))}#n7(){let{quality:e}=this.#M.$state,t=Math.max(0,this.#n4().indexOf(e()));this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#n_(){let{disabled:e}=this.$props,{canSetQuality:t,qualities:i}=this.#M.$state;return e()||i().length<=1||!t()}
1#n9=(0,i.functionThrottle)(this.#tW.bind(this),25);#tW(e){if(!e.trigger)return;let{qualities:t}=this.#M,s=(0,i.peek)(this.#n4)[e.detail];this.#M.remote.changeQuality(t.indexOf(s),e)}#nJ(e){this.#n9(e)}#nY(e){this.#n9(e)}}class iR extends i.Component{static props={...iv.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100};static state=id;#M;#n8;#re=(0,i.signal)(null);constructor(){super();const{noSwipeGesture:e}=this.$props;new iv({swipeGesture:()=>!e(),getValue:this.#rt.bind(this),getStep:this.#ri.bind(this),getKeyStep:this.#rs.bind(this),roundValue:this.#n2,isDisabled:this.#n_.bind(this),aria:{valueNow:this.#nk.bind(this),valueText:this.#nT.bind(this)},onDragStart:this.#ra.bind(this),onDragValueChange:this.#nY.bind(this),onDragEnd:this.#rn.bind(this),onValueChange:this.#nJ.bind(this)})}onSetup(){this.#M=Z(),(0,i.provideContext)(iy,{default:"time",value:this.#rr.bind(this),time:this.#ro.bind(this)}),this.setAttributes({"data-chapters":this.#rh.bind(this)}),this.setStyles({"--slider-progress":this.#rd.bind(this)}),(0,i.effect)(this.#sN.bind(this)),(0,i.effect)(this.#rl.bind(this))}onAttach(e){e.setAttribute("data-media-time-slider",""),ec(e,"aria-label","Seek")}onConnect(e){(0,i.effect)(this.#ru.bind(this)),G(this.#M.textTracks,"chapters",this.#re.set)}#rd(){let{bufferedEnd:e,duration:t}=this.#M.$state;return eo(100*Math.min(e()/Math.max(t(),1),1),3)+"%"}#rh(){let{duration:e}=this.#M.$state;return this.#re()?.cues.length&&Number.isFinite(e())&&e()>0}#rl(){this.#n8=(0,i.functionThrottle)(this.#er.bind(this),this.$props.seekingRequestThrottle())}#sN(){if(this.$state.hidden())return;let{value:e,dragging:t}=this.$state,s=this.#rt();(0,i.peek)(t)||(e.set(s),this.dispatch("value-change",{detail:s}))}#ru(){let e=this.#M.player.el,{preview:t}=(0,i.useContext)(ic);e&&t()&&(0,i.setAttribute)(e,"data-preview",this.$state.active())}#er(e,t){this.#M.remote.seeking(e,t)}#rc(e,t,i){this.#n8.cancel();let{live:s}=this.#M.$state;s()&&t>=99?this.#M.remote.seekToLiveEdge(i):this.#M.remote.seek(e,i)}#rp=!1;#ra(e){let{pauseWhileDragging:t}=this.$props;if(t()){let{paused:t}=this.#M.$state;this.#rp=!t(),this.#M.remote.pause(e)}}#nY(e){this.#n8(this.#rm(e.detail),e)}#rn(e){let{seeking:t}=this.#M.$state;(0,i.peek)(t)||this.#er(this.#rm(e.detail),e);let s=e.detail;this.#rc(this.#rm(s),s,e);let{pauseWhileDragging:a}=this.$props;a()&&this.#rp&&(this.#M.remote.play(e),this.#rp=!1)}#nJ(e){let{dragging:t}=this.$state;!t()&&e.trigger&&this.#rn(e)}#rt(){let{currentTime:e}=this.#M.$state;return this.#rg(e())}#ri(){let e=this.$props.step()/this.#M.$state.duration()*100;return Number.isFinite(e)?e:1}#rs(){let e=this.$props.keyStep()/this.#M.$state.duration()*100;return Number.isFinite(e)?e:1}#n2(e){return eo(e,3)}#n_(){let{disabled:e}=this.$props,{canSeek:t}=this.#M.$state;return e()||!t()}#nk(){let{value:e}=this.$state;return Math.round(e())}#nT(){let e=this.#rm(this.$state.value()),{duration:t}=this.#M.$state;return Number.isFinite(e)?`${tb(e)} out of ${tb(t())}`:"live"}#rm(e){let{duration:t}=this.#M.$state;return eo(e/100*t(),5)}#rg(e){let{liveEdge:t,duration:i}=this.#M.$state,s=Math.max(0,Math.min(1,t()?1:Math.min(e,i())/i()));return Number.isNaN(s)?0:Number.isFinite(s)?100*s:100}#rr(e){let t=this.#rm(e),{live:i,duration:s}=this.#M.$state;return Number.isFinite(t)?(i()?t-s():t).toFixed(0):"LIVE"}#ro(e,t){let i=this.#rm(e),{live:s,duration:a}=this.#M.$state,n=s()?i-a():i;return Number.isFinite(i)?`${n<0?"-":""}${tv(Math.abs(n),t)}`:"LIVE"}}class iV extends i.Component{static props={disabled:!1};#M;#rf;#ry;#rv=null;#rb=[];#rw=(0,i.signal)(null);#rk=(0,i.signal)([]);#rT=(0,i.signal)(-1);#rS=(0,i.signal)(-1);#r$=0;get cues(){return this.#rk()}get activeCue(){return this.#rk()[this.#rT()]||null}get activePointerCue(){return this.#rk()[this.#rS()]||null}onSetup(){this.#M=Z(),this.#rf=(0,i.useState)(iR.state)}onAttach(e){G(this.#M.textTracks,"chapters",this.#rC.bind(this)),(0,i.effect)(this.#rx.bind(this))}onConnect(){(0,i.onDispose)(()=>this.#t8.bind(this))}onDestroy(){this.#rC(null)}setRefs(e){if(this.#rb=e,this.#ry?.dispose(),1===this.#rb.length){let e=this.#rb[0];e.style.width="100%",e.style.setProperty("--chapter-fill","var(--slider-fill)"),e.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.#rb.length>0&&(0,i.scoped)(()=>this.#rP(),this.#ry=(0,i.createScope)())}#rC(e){(0,i.peek)(this.#rw)!==e&&(this.#t8(),this.#rw.set(e))}#t8(){this.#rb=[],this.#rk.set([]),this.#rT.set(-1),this.#rS.set(-1),this.#r$=0,this.#ry?.dispose()}#rP(){this.#rb.length&&(0,i.effect)(this.#rA.bind(this))}#rA(){let{hidden:e}=this.#rf;e()||((0,i.effect)(this.#rE.bind(this)),(0,i.effect)(this.#rq.bind(this)),(0,i.effect)(this.#rM.bind(this)),(0,i.effect)(this.#rI.bind(this)))}#rE(){let e=this.#rk();if(!e.length)return;let t,{seekableStart:i,seekableEnd:s}=this.#M.$state,a=i(),n=(s()||e[e.length-1].endTime)-a,r=100;for(let i=0;i<e.length;i++)if(t=e[i],this.#rb[i]){let s=i===e.length-1?r:eo((t.endTime-Math.max(a,t.startTime))/n*100,3);this.#rb[i].style.width=s+"%",r-=s}}#rq(){let{liveEdge:e,seekableStart:t,seekableEnd:s}=this.#M.$state,{fillPercent:a,value:n}=this.#rf,r=this.#rk(),o=e(),h=(0,i.peek)(this.#rT),d=r[h],l=o?this.#rk.length-1:this.#rD(d&&d.startTime/s()*100<=(0,i.peek)(n)?h:0,a());
1o||!d?this.#rL(0,r.length,100):l>h?this.#rL(h,l,100):l<h&&this.#rL(l+1,h+1,0);let u=o?100:this.#rR(r[l],a(),t(),this.#rV(r));this.#rO(this.#rb[l],u),this.#rT.set(l)}#rM(){let{hidden:e,pointerPercent:t}=this.#rf;if(e())return void this.#rS.set(-1);let i=this.#rD(0,t());this.#rS.set(i)}#rL(e,t,i){for(let s=e;s<t;s++)this.#rO(this.#rb[s],i)}#rO(e,t){e&&(e.style.setProperty("--chapter-fill",t+"%"),(0,i.setAttribute)(e,"data-active",t>0&&t<100),(0,i.setAttribute)(e,"data-ended",100===t))}#rD(e,t){let i=0,s=this.#rk();if(0===t)return 0;if(100===t)return s.length-1;let{seekableStart:a}=this.#M.$state,n=a(),r=this.#rV(s);for(let a=e;a<s.length;a++)if((i=this.#rR(s[a],t,n,r))>=0&&i<100)return a;return 0}#rI(){this.#rF(this.#rN())}#rF=(0,i.animationFrameThrottle)(e=>{let t,i=this.#rk(),{seekableStart:s}=this.#M.$state,a=s(),n=this.#rV(i);for(let s=this.#r$;s<this.#rb.length;s++)if(t=this.#rR(i[s],e,a,n),this.#rb[s]?.style.setProperty("--chapter-progress",t+"%"),t<100){this.#r$=s;break}});#rN=(0,i.computed)(this.#rU.bind(this));#rU(){let{bufferedEnd:e,duration:t}=this.#M.$state;return 100*eo(Math.min(e()/Math.max(t(),1),1),3)}#rV(e){let{seekableEnd:t}=this.#M.$state,i=t();return Number.isFinite(i)?i:e[e.length-1]?.endTime||0}#rR(e,t,i,s){if(!e||0===this.#rk().length)return 0;let a=s-i,n=Math.max(0,e.startTime-i),r=Math.min(s,e.endTime)-i,o=n/a,h=100*o,d=100*Math.min(1,o+(r-n)/a);return Math.max(0,eo(t>=d?100:(t-h)/(d-h)*100,3))}#rB(e){let t=[],{seekableStart:i,seekableEnd:s,duration:a}=this.#M.$state,n=i(),r=s(),o=(e=e.filter(e=>e.startTime<=r&&e.endTime>=n))[0];o&&o.startTime>n&&t.push(new window.VTTCue(n,o.startTime,""));for(let i=0;i<e.length-1;i++){let s=e[i],a=e[i+1];if(t.push(s),a){let e=a.startTime-s.endTime;e>0&&t.push(new window.VTTCue(s.endTime,s.endTime+e,""))}}let h=e[e.length-1];if(h){t.push(h);let e=a();e>=0&&e-h.endTime>1&&t.push(new window.VTTCue(h.endTime,a(),""))}return t}#rx(){let{source:e}=this.#M.$state;e(),this.#tz()}#tz(){if(!this.scope)return;let{disabled:e}=this.$props;if(e()){this.#rk.set([]),this.#rT.set(0),this.#r$=0;return}let t=this.#rw();if(t){let e=this.#rK.bind(this);e(),new i.EventsController(t).add("add-cue",e).add("remove-cue",e),(0,i.effect)(this.#rG.bind(this))}return this.#rv=this.#rQ(),this.#rv&&(0,i.effect)(this.#rH.bind(this)),()=>{this.#rv&&(this.#rv.textContent="",this.#rv=null)}}#rG(){this.#M.$state.duration(),this.#rK()}#rK=(0,i.functionDebounce)(()=>{let e=(0,i.peek)(this.#rw);this.scope&&e&&e.cues.length&&(this.#rk.set(this.#rB(e.cues)),this.#rT.set(0),this.#r$=0)},150,!0);#rH(){let e=this.activePointerCue||this.activeCue;this.#rv&&(this.#rv.textContent=e?.text||"")}#rW(){let e=this.el;for(;e&&"slider"!==e.getAttribute("role");)e=e.parentElement;return e}#rQ(){let e=this.#rW();return e?e.querySelector('[data-part="chapter-title"]'):null}}let iO=iV.prototype;(0,i.prop)(iO,"cues"),(0,i.prop)(iO,"activeCue"),(0,i.prop)(iO,"activePointerCue"),(0,i.method)(iO,"setRefs");let iF=(0,i.createContext)(),iN=["a[href]","[tabindex]","input","select","button"].map(e=>`${e}:not([aria-hidden='true'])`).join(","),iU=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);class iB{#rj=-1;#rz=null;#r_=[];#aS;get items(){return this.#r_}constructor(e){this.#aS=e}attachMenu(e){(0,i.listenEvent)(e,"focus",this.#sM.bind(this)),this.#rz=e,(0,i.onDispose)(()=>{this.#rz=null})}listen(){this.#rz&&(this.update(),new i.EventsController(this.#rz).add("keyup",this.#Z.bind(this)).add("keydown",this.#ee.bind(this)),(0,i.onDispose)(()=>{this.#rj=-1,this.#r_=[]}))}update(){this.#rj=0,this.#r_=this.#rX()}scroll(e=this.#rY()){let t=this.#r_[e];t&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{!function(e,t={}){var s={scrollMode:"if-needed",block:"center",inline:"center",...t};for(let{el:t,top:a,left:n}of(0,i.r)(e,s))t.scroll({top:a,left:n,behavior:s.behavior})}(t,{behavior:"smooth",boundary:e=>!e.hasAttribute("data-root")})})})}focusActive(e=!0){let t=this.#rY();this.#rJ(t>=0?t:0,e)}#rJ(e,t=!0){this.#rj=e,this.#r_[e]?(this.#r_[e].focus({preventScroll:!0}),t&&this.scroll(e)):this.#rz?.focus({preventScroll:!0})}#rY(){return this.#r_.findIndex(e=>document.activeElement===e||"menuitemradio"===e.getAttribute("role")&&"true"===e.getAttribute("aria-checked"))}#sM(){this.#rj>=0||(this.update(),this.focusActive())}#rZ(e){let t=e.target;if((0,i.wasEnterKeyPressed)(e)&&t instanceof Element){let e=t.getAttribute("role");return!/a|input|select|button/.test(t.localName)&&!e}return iU.has(e.key)}#Z(e){this.#rZ(e)&&(e.stopPropagation(),e.preventDefault())}#ee(e){if(this.#rZ(e))switch(e.stopPropagation(),e.preventDefault(),e.key){case"Escape":this.#aS.closeMenu(e);break;case"Tab":this.#rJ(this.#r0(e.shiftKey?-1:1));break;case"ArrowUp":this.#rJ(this.#r0(-1));break;case"ArrowDown":this.#rJ(this.#r0(1));break;case"Home":case"PageUp":this.#rJ(0);break;case"End":case"PageDown":this.#rJ(this.#r_.length-1)}}#r0(e){let t=this.#rj;do t=(t+e+this.#r_.length)%this.#r_.length;while(this.#r_[t]?.offsetParent===null)return t}#rX(){if(!this.#rz)return[];let e=this.#rz.querySelectorAll(iN),t=[],i=e=>"menu"===e.getAttribute("role");for(let s of e)ek(s)&&null!==s.offsetParent&&ef(this.#rz,s,i)&&t.pu
1sh(s);return t}}var iK=Object.defineProperty,iG=Object.getOwnPropertyDescriptor,iQ=(e,t,i,s)=>{for(var a,n=iG(t,i),r=e.length-1;r>=0;r--)(a=e[r])&&(n=a(t,i,n)||n);return n&&iK(t,i,n),n};let iH=0;class iW extends i.Component{static props={showDelay:0};#M;#r1;#r2;#r3=(0,i.signal)(!1);#r5=(0,i.signal)(!1);#aE=(0,i.signal)(null);#aq=(0,i.signal)(null);#r4;#r6=new Set;#r7=null;#r9;#r8;#oe=!1;#ot=(0,i.signal)(!1);#oi=new Set;get triggerElement(){return this.#aE()}get contentElement(){return this.#aq()}get isSubmenu(){return!!this.#r4}constructor(){super();const{showDelay:e}=this.$props;this.#r9=new t0({trigger:this.#aE,content:this.#aq,showDelay:e,listen:(e,t,i)=>{ey(e,e=>{this.#r3()?i(e):t(e)});let s=this.#os();s&&ey(s,e=>{e.stopPropagation(),i(e)})},onChange:this.#oa.bind(this)})}onSetup(){this.#M=Z();let e=++iH;this.#r1=`media-menu-${e}`,this.#r2=`media-menu-button-${e}`,this.#r8=new iB({closeMenu:this.close.bind(this)}),(0,i.hasProvidedContext)(iF)&&(this.#r4=(0,i.useContext)(iF)),this.#on(),this.setAttributes({"data-open":this.#r3,"data-root":!this.isSubmenu,"data-submenu":this.isSubmenu,"data-disabled":this.#n_.bind(this)}),(0,i.provideContext)(iF,{button:this.#aE,content:this.#aq,expanded:this.#r3,hint:(0,i.signal)(""),submenu:!!this.#r4,disable:this.#or.bind(this),attachMenuButton:this.#oo.bind(this),attachMenuItems:this.#oh.bind(this),attachObserver:this.#od.bind(this),disableMenuButton:this.#ol.bind(this),addSubmenu:this.#ou.bind(this),onTransitionEvent:e=>{this.#oi.add(e),(0,i.onDispose)(()=>{this.#oi.delete(e)})}})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){(0,i.effect)(this.#oc.bind(this)),this.isSubmenu&&this.#r4?.addSubmenu(this)}onDestroy(){this.#aE.set(null),this.#aq.set(null),this.#r7=null,this.#oi.clear()}#on(){let e=-1,t=(0,i.hasProvidedContext)(ip)?(0,i.useContext)(ip):null;(0,i.provideContext)(ip,{onDragStart:()=>{t?.onDragStart?.(),window.clearTimeout(e),e=-1,this.#oe=!0},onDragEnd:()=>{t?.onDragEnd?.(),e=window.setTimeout(()=>{this.#oe=!1,e=-1},300)}})}#oc(){let e=this.#op();this.isSubmenu||this.#sH(),this.#om(e),e&&((0,i.effect)(()=>{let{height:e}=this.#M.$state,t=this.#aq();t&&(0,i.setStyle)(t,"--player-height",e()+"px")}),this.#r8.listen(),this.listen("pointerup",this.#og.bind(this)),(0,i.listenEvent)(window,"pointerup",this.#of.bind(this)))}#oo(e){let t=e.el,s=this.isSubmenu,a=tP(this.#n_.bind(this));ec(t,"tabindex",s?"-1":"0"),ec(t,"role",s?"menuitem":"button"),(0,i.setAttribute)(t,"id",this.#r2),(0,i.setAttribute)(t,"aria-haspopup","menu"),(0,i.setAttribute)(t,"aria-expanded","false"),(0,i.setAttribute)(t,"data-root",!this.isSubmenu),(0,i.setAttribute)(t,"data-submenu",this.isSubmenu);let r=()=>{(0,i.setAttribute)(t,"data-open",this.#r3()),(0,i.setAttribute)(t,"aria-disabled",a())};n?r():(0,i.effect)(r),this.#aE.set(t),(0,i.onDispose)(()=>{this.#aE.set(null)})}#oh(e){let t=e.el;t.style.setProperty("display","none"),(0,i.setAttribute)(t,"id",this.#r1),ec(t,"role","menu"),ec(t,"tabindex","-1"),(0,i.setAttribute)(t,"data-root",!this.isSubmenu),(0,i.setAttribute)(t,"data-submenu",this.isSubmenu),this.#aq.set(t),(0,i.onDispose)(()=>this.#aq.set(null));let s=()=>(0,i.setAttribute)(t,"data-open",this.#r3());n?s():(0,i.effect)(s),this.#r8.attachMenu(t),this.#om(!1);let a=this.#oy.bind(this);this.isSubmenu?this.#r4?.onTransitionEvent(a):(e.listen("transitionstart",a),e.listen("transitionend",a),e.listen("animationend",this.#sH),e.listen("vds-menu-resize",this.#sH))}#od(e){this.#r7=e}#om(e){let t=(0,i.peek)(this.#aq);t&&(0,i.setAttribute)(t,"aria-hidden",(0,i.ariaBool)(!e))}#ol(e){this.#ot.set(e)}#ov=!1;#oa(e,t){if(this.#ov=(0,i.isKeyboardEvent)(t),t?.stopPropagation(),this.#r3()===e)return;if(this.#n_()){e&&this.#r9.hide(t);return}this.el?.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));let s=this.#aE(),a=this.#aq();if(s&&((0,i.setAttribute)(s,"aria-controls",e&&this.#r1),(0,i.setAttribute)(s,"aria-expanded",(0,i.ariaBool)(e))),a&&(0,i.setAttribute)(a,"aria-labelledby",e&&this.#r2),this.#r3.set(e),this.#ob(t),(0,i.tick)(),this.#ov)for(let t of(e?a?.focus():s?.focus(),[this.el,a]))t&&t.setAttribute("data-keyboard","");else for(let e of[this.el,a])e&&e.removeAttribute("data-keyboard");if(this.dispatch(e?"open":"close",{trigger:t}),e)this.isSubmenu||this.#M.activeMenu===this||(this.#M.activeMenu?.close(t),this.#M.activeMenu=this),this.#r7?.onOpen?.(t);else{if(this.isSubmenu)for(let e of this.#r6)e.close(t);else this.#M.activeMenu=null;this.#r7?.onClose?.(t)}e&&requestAnimationFrame(this.#ow.bind(this))}
1#ow(){this.#ok||this.#oT||(this.#r8.update(),requestAnimationFrame(()=>{this.#ov?this.#r8.focusActive():this.#r8.scroll()}))}#op(){return!this.#n_()&&this.#r3()}#n_(){return this.#r5()||this.#ot()}#or(e){this.#r5.set(e)}#og(e){let t=this.#aq();this.#oe||t&&el(t,e)||e.stopPropagation()}#of(e){let t=this.#aq();this.#oe||t&&el(t,e)||this.close(e)}#os(){let e=this.el?.querySelector('[data-part="close-target"]');return this.el&&e&&ef(this.el,e,e=>"menu"===e.getAttribute("role"))?e:null}#ob(e){this.isSubmenu||(this.#r3()?this.#M.remote.pauseControls(e):this.#M.remote.resumeControls(e))}#ou(e){this.#r6.add(e),new i.EventsController(e).add("open",this.#oS).add("close",this.#o$),(0,i.onDispose)(this.#oC)}#oC=this.#ox.bind(this);#ox(e){this.#r6.delete(e)}#oT=!1;#oS=this.#oP.bind(this);#oP(e){this.#oT=!0;let t=this.#aq();for(let t of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","true"),this.#r6))if(t!==e.target)for(let e of[t.el,t.triggerElement])e?.setAttribute("aria-hidden","true");if(t){let i=e.target.el;for(let e of t.children)e.contains(i)?e.setAttribute("data-open",""):e!==i&&e.setAttribute("data-hidden","")}}#o$=this.#oA.bind(this);#oA(e){this.#oT=!1;let t=this.#aq();for(let e of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","false"),this.#r6))for(let t of[e.el,e.triggerElement])t?.setAttribute("aria-hidden","false");if(t)for(let e of t.children)e.removeAttribute("data-open"),e.removeAttribute("data-hidden")}#sH=(0,i.animationFrameThrottle)(()=>{let e=(0,i.peek)(this.#aq);if(!e||n)return;let t=0,s=getComputedStyle(e),a=[...e.children];for(let e of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])t+=parseFloat(s[e])||0;for(let e of a)if(ek(e)&&"contents"===e.style.display)a.push(...e.children);else if(3===e.nodeType)t+=parseFloat(getComputedStyle(e).fontSize);else if(ek(e)){if(!em(e))continue;let i=getComputedStyle(e);t+=e.offsetHeight+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0)}(0,i.setStyle)(e,"--menu-height",t+"px")});#ok=!1;#oy(e){let t=this.#aq();for(let s of(t&&"height"===e.propertyName&&(this.#ok="transitionstart"===e.type,(0,i.setAttribute)(t,"data-transition",this.#ok?"height":null),this.#r3()&&this.#ow()),this.#oi))s(e)}open(e){(0,i.peek)(this.#r3)||(this.#r9.show(e),(0,i.tick)())}close(e){(0,i.peek)(this.#r3)&&(this.#r9.hide(e),(0,i.tick)())}}iQ([i.prop],iW.prototype,"triggerElement"),iQ([i.prop],iW.prototype,"contentElement"),iQ([i.prop],iW.prototype,"isSubmenu"),iQ([i.method],iW.prototype,"open"),iQ([i.method],iW.prototype,"close");class ij extends i.Component{static props={disabled:!1};#oE;#oq=(0,i.signal)(null);get expanded(){return this.#oE?.expanded()??!1}constructor(){super(),new tF}onSetup(){this.#oE=(0,i.useContext)(iF)}onAttach(e){this.#oE.attachMenuButton(this),(0,i.effect)(this.#nm.bind(this)),ec(e,"type","button")}onConnect(e){(0,i.effect)(this.#oM.bind(this)),this.#ar();let t=new MutationObserver(this.#ar.bind(this));t.observe(e,{attributeFilter:["data-part"],childList:!0,subtree:!0}),(0,i.onDispose)(()=>t.disconnect()),ey(e,e=>{this.dispatch("select",{trigger:e})})}#nm(){this.#oE.disableMenuButton(this.$props.disabled())}#oM(){let e=this.#oq();e&&(0,i.effect)(()=>{let t=this.#oE.hint();t&&(e.textContent=t)})}#ar(){let e=this.el?.querySelector('[data-part="hint"]');this.#oq.set(e??null)}}let iz=ij.prototype;(0,i.prop)(iz,"expanded");class i_ extends ij{}class iX extends i.Component{static props={container:null,disabled:!1};#m=null;#M;onSetup(){this.#M=Z(),(0,i.provideContext)(iY,{attach:this.#oI.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){}onDestroy(){this.#m?.remove(),this.#m=null}#oI(e){this.#oD(!1),this.#m=e,eb(()=>{eb(()=>{this.connectScope&&(0,i.effect)(this.#nm.bind(this))})})}#nm(){let{fullscreen:e}=this.#M.$state,{disabled:t}=this.$props;this.#oD("fullscreen"===t()?!e():!t())}#oD(e){if(!this.#m)return;let t=this.#oL(this.$props.container());if(!t)return;let s=this.#m.parentElement===t;(0,i.setAttribute)(this.#m,"data-portal",e),e?s||(this.#m.remove(),t.append(this.#m)):s&&this.#m.parentElement===t&&(this.#m.remove(),this.el?.append(this.#m))}#oL(e){return ek(e)?e:e?document.querySelector(e):document.body}}let iY=(0,i.createContext)();class iJ extends i.Component{static props={placement:null,offset:0,alignOffset:0};#oE;constructor(){super(),new tF;const{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){if(this.#oE=(0,i.useContext)(iF),this.#oE.attachMenuItems(this),(0,i.hasProvidedContext)(iY)){let t=(0,i.useContext)(iY);t&&((0,i.provideContext)(iY,null),t.attach(e),(0,i.onDispose)(()=>t.attach(null)))}}onConnect(e){(0,i.effect)(this.#aN.bind(this))}#aN(){let{expanded:e}=this.#oE;if(!this.el||!e())return;let t=this.$props.placement();if(!t)return;Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});let{offset:s,alignOffset:a}=this.$props;(0,i.onDispose)(ew(this.el,this.#aF(),t,{offsetVarName:"media-menu",xOffset:a(),yOffset:s()})),(0,i.onDispose)(this.#oR.bind(this))}#oR(){this.el&&(this.el.removeAttribute("style"),this.el.style.display="none")}#aF(){return this.#oE.button()}}let iZ=(0,i.createContext)();class i0 extends i.ViewController{#oV=new Set;#oO=(0,i.signal)("");#ir=null;onValueChange;get values(){return Array.from(this.#oV).map(e=>e.value())}get value(){return this.#oO()}set value(e){this.#C(e)}onSetup(){(0,i.provideContext)(iZ,{add:this.#oF.bind(this),remove:this.#oN.bind(this)})}onAttach(e){(0,i.hasProvidedContext)(iF)||ec(e,"role","radiogroup"),this.setAttributes({value:this.#oO})}onDestroy(){this.#oV.clear()}#oF(e){this.#oV.has(e)||(this.#oV.add(e),e.onCheck=this.#oU,e.check(e.value()===this.#oO()))}#oN(e){e.onCheck=null,this.#oV.delete(e)}#oU=this.#C.bind(this);#C(e,t){let s=(0,i.peek)(this.#oO);if(!e||e===s)return;let a=this.#oB(s),n=this.#oB(e);a?.check(!1,t),n?.check(!0,t),this.#oO.set(e),this.onValueChange?.(e,t)}#oB(e){for(let t of this.#oV)if(e===(0,i.peek)(t.value))return t;return null}}class i1 extends i.Component{static props={value:""};#ir;get values(){return this.#ir.values}get value(){return this.#ir.value}set value(e){this.#ir.value=e}constructor(){super(),this.#ir=new i0,this.#ir.onValueChange=this.#nJ.bind(this)}onSetup(){n?this.#nc():(0,i.effect)(this.#nc.bind(this))}#nc(){this.#ir.value=this.$props.value()}#nJ(e,t){let i=this.createEvent("change",{detail:e,trigger:t});this.dispatch(i)}}let i2=i1.prototype;(0,i.prop)(i2,"values"),(0,i.prop)(i2,"value");class i3 extends i.Component{static props={value:""};#oK=(0,i.signal)(!1);#ir={value:this.$props.value,check:this.#oG.bind(this),onCheck:null};get checked(){return this.#oK()}constructor(){super(),new tF}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.#oK,"aria-checked":tP(this.#oK)})}onAttach(e){let t=(0,i.hasProvidedContext)(iF);ec(e,"tabindex",t?"-1":"0"),ec(e,"role",t?"menuitemradio":"radio"),(0,i.effect)(this.#nc.bind(this))}onConnect(e){this.#oQ(),ey(e,this.#aj.bind(this)),(0,i.onDispose)(this.#eE.bind(this))}#eE(){(0,i.scoped)(()=>{(0,i.useContext)(iZ).remove(this.#ir)},this.connectScope)}#oQ(){(0,i.useContext)(iZ).add(this.#ir)}#nc(){let{value:e}=this.$props,t=e();(0,i.peek)(this.#oK)&&this.#ir.onCheck?.(t)}#aj(e){(0,i.peek)(this.#oK)||(this.#C(!0,e),this.#oH(e),this.#ir.onCheck?.((0,i.peek)(this.$props.value),e))}#oG(e,t){(0,i.peek)(this.#oK)!==e&&this.#C(e,t)}#C(e,t){this.#oK.set(e),this.dispatch("change",{detail:e,trigger:t})}#oH(e){this.dispatch("select",{trigger:e})}}let i5=i3.prototype;(0,i.prop)(i5,"checked");class i4 extends i.Component{static props={disabled:!1,event:void 0,action:void 0};#M;#ej=null;onSetup(){this.#M=Z();let{event:e,action:t}=this.$props;this.setAttributes({event:e,action:t})}onAttach(e){e.setAttribute("data-media-gesture",""),e.style.setProperty("pointer-events","none")}onConnect(e){this.#ej=this.#M.player.el?.querySelector("[data-media-provider]"),(0,i.effect)(this.#oW.bind(this))}#oW(){let e=this.$props.event(),t=this.$props.disabled();this.#ej&&e&&!t&&(/^dbl/.test(e)&&(e=e.split(/^dbl/)[1]),("pointerup"===e||"pointerdown"===e)&&"coarse"===this.#M.$state.pointer()&&(e="pointerup"===e?"touchend":"touchstart"),(0,i.listenEvent)(this.#ej,e,this.#oj.bind(this),{passive:!1}))}#oz=0;#o_=-1;#oj(e){if(this.$props.disabled()||(0,i.isPointerEvent)(e)&&(0!==e.button||this.#M.activeMenu)||(0,i.isTouchEvent)(e)&&this.#M.activeMenu||ev(e)||!this.#oX(e))return;e.MEDIA_GESTURE=!0,e.preventDefault();let t=(0,i.peek)(this.$props.event);if(t?.startsWith("dbl")){if(1===this.#oz){queueMicrotask(()=>this.#oY(e)),clearTimeout(this.#o_),this.#oz=0;return}}else 0===this.#oz&&setTimeout(()=>{1===this.#oz&&this.#oY(e)},250);
10===this.#oz&&(this.#o_=window.setTimeout(()=>{this.#oz=0},275)),this.#oz++}#oY(e){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.#oJ()&&this.#oZ((0,i.peek)(this.$props.action),e),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}#oX(e){if(!this.el)return!1;if((0,i.isPointerEvent)(e)||(0,i.isMouseEvent)(e)||(0,i.isTouchEvent)(e)){let t=(0,i.isTouchEvent)(e)?e.changedTouches[0]??e.touches[0]:void 0,s=t?.clientX??e.clientX,a=t?.clientY??e.clientY,n=this.el.getBoundingClientRect(),r=a>=n.top&&a<=n.bottom&&s>=n.left&&s<=n.right;return e.type.includes("leave")?!r:r}return!0}#oJ(){return Array.from(this.#M.player.el.querySelectorAll("[data-media-gesture][data-triggered]")).sort((e,t)=>getComputedStyle(t).zIndex-getComputedStyle(e).zIndex)[0]===this.el}#oZ(e,t){if(!e)return;let s=new i.DOMEvent("will-trigger",{detail:e,cancelable:!0,trigger:t});if(this.dispatchEvent(s),s.defaultPrevented)return;let[a,n]=e.replace(/:([a-z])/,"-$1").split(":");e.includes(":fullscreen")?this.#M.remote.toggleFullscreen("prefer-media",t):e.includes("seek:")?this.#M.remote.seek((0,i.peek)(this.#M.$state.currentTime)+(+n||0),t):this.#M.remote[(0,i.kebabToCamelCase)(a)](t),this.dispatch("trigger",{detail:e,trigger:t})}}class i6{priority=10;#S=null;#o0;#e1;constructor(e){this.#o0=e}attach(){}canRender(){return!0}detach(){this.#e1?.abort(),this.#e1=void 0,this.#o0.reset(),this.#S=null}changeTrack(e){e&&this.#S!==e&&(this.#e1?.abort(),this.#e1=new i.EventsController(e),e.readyState<2?(this.#o0.reset(),this.#e1.add("load",()=>this.#o1(e),{once:!0})):this.#o1(e),this.#e1.add("add-cue",e=>{this.#o0.addCue(e.detail)}).add("remove-cue",e=>{this.#o0.removeCue(e.detail)}),this.#S=e)}#o1(e){this.#o0.changeTrack({cues:[...e.cues],regions:[...e.regions]})}}class i7 extends i.Component{static props={textDir:"ltr",exampleText:"Captions look like this."};#M;static lib=(0,i.signal)(null);onSetup(){this.#M=Z(),this.setAttributes({"aria-hidden":tP(this.#aX.bind(this))})}onAttach(e){e.style.setProperty("pointer-events","none")}onConnect(t){i7.lib()||e.A(704004).then(e=>i7.lib.set(e)),(0,i.effect)(this.#o2.bind(this))}#aX(){let{textTrack:e,remotePlaybackState:t,iOSControls:i}=this.#M.$state,s=e();return i()||"connected"===t()||!s||!W(s)}#o2(){if(!i7.lib())return;let{viewType:e}=this.#M.$state;return"audio"===e()?this.#o3():this.#o5()}#o3(){return(0,i.effect)(this.#tz.bind(this)),this.#o4(null),()=>{this.el.textContent=""}}#tz(){if(this.#aX())return;this.#o6();let{textTrack:e}=this.#M.$state;(0,i.listenEvent)(e(),"cue-change",this.#o6.bind(this)),(0,i.effect)(this.#o7.bind(this))}#o6(){this.el.textContent="",this.#o9>=0&&this.#o8();let{realCurrentTime:e,textTrack:t}=this.#M.$state,{renderVTTCueString:s}=i7.lib(),a=(0,i.peek)(e);for(let e of(0,i.peek)(t).activeCues){let t=this.#he(),i=this.#ht();i.innerHTML=s(e,a),t.append(i),this.el.append(i)}}#o7(){let{realCurrentTime:e}=this.#M.$state,{updateTimedVTTCueNodes:t}=i7.lib();t(this.el,e())}#o5(){let{CaptionsRenderer:e}=i7.lib(),t=new e(this.el),s=new i6(t);return this.#M.textRenderers.add(s),(0,i.effect)(this.#hi.bind(this,t)),(0,i.effect)(this.#hs.bind(this,t)),this.#o4(t),()=>{this.el.textContent="",this.#M.textRenderers.remove(s),t.destroy()}}#hi(e){e.dir=this.$props.textDir()}#hs(e){if(this.#aX())return;let{realCurrentTime:t,textTrack:i}=this.#M.$state;e.currentTime=t(),this.#o9>=0&&i()?.activeCues[0]&&this.#o8()}#o4(e){let t=this.#M.player;if(!t)return;let s=this.#ha.bind(this,e);(0,i.listenEvent)(t,"vds-font-change",s)}#ha(e){if(this.#o9>=0)return void this.#hn();let{textTrack:t}=this.#M.$state;t()?.activeCues[0]?e?.update(!0):this.#hr()}#hr(){let e=this.#he();(0,i.setAttribute)(e,"data-example","");let t=this.#ht();(0,i.setAttribute)(t,"data-example",""),t.textContent=this.$props.exampleText(),e?.append(t),this.el?.append(e),this.el?.setAttribute("data-example",""),this.#hn()}#o9=-1;#hn(){window.clearTimeout(this.#o9),this.#o9=window.setTimeout(this.#o8.bind(this),2500)}#o8(){this.el?.removeAttribute("data-example"),this.el?.querySelector("[data-example]")&&(this.el.textContent=""),this.#o9=-1}#he(){let e=document.createElement("div");return(0,i.setAttribute)(e,"data-part","cue-display"),e}#ht(){let e=document.createElement("div");return(0,i.setAttribute)(e,"data-part","cue"),e}}class i9 extends i.Component{static props={src:null,alt:null,crossOrigin:null};static state=new i.State({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});#M;onSetup(){this.#M=Z(),this.#nG(),this.#ho(),this.#sm(),this.#nv()}onAttach(e){e.style.setProperty("pointer-events","none"),(0,i.effect)(this.#nV.bind(this)),(0,i.effect)(this.#nG.bind(this)),(0,i.effect)(this.#ho.bind(this)),(0,i.effect)(this.#sm.bind(this)),(0,i.effect)(this.#nv.bind(this));let{started:t}=this.#M.$state;this.setAttributes({"data-visible":()=>!t()&&!this.$state.hidden(),"data-loading":this.#nL.bind(this),"data-error":this.#nR.bind(this),"data-hidden":this.$state.hidden})}onConnect(e){(0,i.effect)(this.#hh.bind(this)),(0,i.effect)(this.#te.bind(this))}#nR(){let{error:e}=this.$state;return!(0,i.isNull)(e())}#hh(){let{canLoadPoster:e,poster:t}=this.#M.$state;!e()&&t()&&V(t(),"preconnect")}#nv(){let{src:e}=this.$props,{poster:t,nativeControls:s}=this.#M.$state;this.el&&(0,i.setAttribute)(this.el,"display",s()?"none":null),this.$state.hidden.set(this.#nR()||!(e()||t())||s())}#nL(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#nV(){let e=this.$state.img();e&&(new i.EventsController(e).add("load",this.#hd.bind(this)).add("error",this.#eA.bind(this)),e.complete&&this.#hd())}#hl="";#nG(){let{poster:e}=this.#M.$props,{canLoadPoster:t,providedPoster:i,inferredPoster:s}=this.#M.$state,a=this.$props.src()||"",n=a||e()||s();this.#hl===i()&&i.set(a),this.$state.src.set(t()&&n.length?n:null),this.#hl=a}#ho(){let{src:e}=this.$props,{alt:t}=this.$state,{poster:i}=this.#M.$state;t.set(e()||i()?this.$props.alt():null)}#sm(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i,poster:s}=this.#M.$state,a=null!==e()?e():i();t.set(/ytimg\.com|vimeo/.test(s()||"")?null:!0===a?"anonymous":a)}#te(){let{loading:e,error:t}
1=this.$state,{canLoadPoster:i,poster:s}=this.#M.$state;e.set(i()&&!!s()),t.set(null)}#hd(){let{loading:e,error:t}=this.$state;e.set(!1),t.set(null)}#eA(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}}class i8 extends i.Component{static props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1,hidden:!1};static state=new i.State({timeText:"",hidden:!1});#M;#hu=(0,i.signal)(null);#nl=(0,i.signal)(!0);#nu=(0,i.signal)(!0);onSetup(){this.#M=Z(),this.#hc();let{type:e}=this.$props;this.setAttributes({"data-type":e,"data-remainder":this.#hp.bind(this)}),new iu({callback:this.#nf.bind(this)}).attach(this)}onAttach(e){e.hasAttribute("role")||(0,i.effect)(this.#hm.bind(this)),(0,i.effect)(this.#hc.bind(this))}onConnect(e){(0,i.onDispose)(eg(e,this.#nl.set)),(0,i.effect)(this.#nv.bind(this)),(0,i.effect)(this.#hg.bind(this))}#nf(e){this.#nu.set(e[0].isIntersecting)}#nv(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#nl()||!this.#nu())}#hg(){this.$props.toggle()?this.el&&ey(this.el,this.#hf.bind(this)):this.#hu.set(null)}#hc(){let{hidden:e,timeText:t}=this.$state,{duration:i}=this.#M.$state;if(e())return;let{type:s,padHours:a,padMinutes:n,showHours:r}=this.$props,o=this.#hy(s()),h=i(),d=this.#hp();if(!Number.isFinite(o+h))return void t.set("LIVE");let l=tv(d?Math.max(0,h-o):o,{padHrs:a(),padMins:n(),showHrs:r()});t.set((d?"-":"")+l)}#hm(){if(!this.el)return;let{toggle:e}=this.$props;(0,i.setAttribute)(this.el,"role",e()?"timer":null),(0,i.setAttribute)(this.el,"tabindex",e()?0:null)}#hy(e){let{bufferedEnd:t,duration:i,currentTime:s}=this.#M.$state;switch(e){case"buffered":return t();case"duration":return i();default:return s()}}#hp(){return this.$props.remainder()&&!1!==this.#hu()}#hf(e){(e.preventDefault(),null===this.#hu())?this.#hu.set(!this.$props.remainder()):this.#hu.set(e=>!e)}}class se extends tB{}class st extends t_{}class si extends tY{}class ss extends tJ{}class sa extends tZ{}class sn extends t7{}class sr extends ii{}class so extends is{}class sh extends ih{}class sd extends ia{}class sl extends ir{}class su extends it{}class sc extends t8{}class sp extends ie{}class sm extends io{}class sg extends t3{}class sf extends t5{}class sy extends t4{}class sv extends ib{}class sb extends iR{}class sw extends iM{}class sk extends iI{}class sT extends iD{}class sS extends iL{}class s$ extends i${}class sC extends iP{}class sx extends iC{}class sP extends iE{}class sA extends iV{}class sE extends iW{}class sq extends ij{}class sM extends iJ{}class sI extends i_{}class sD extends i1{}class sL extends i3{}class sR extends i7{}class sV extends i4{}class sO extends i9{}class sF extends iS{}class sN extends i8{}let sU=t.forwardRef((e,i)=>{let{children:s,...a}=e,n=t.Children.toArray(s),r=n.find(sG);if(r){let e=r.props.children,s=n.map(i=>i!==r?i:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return t.createElement(sB,{...a,ref:i},t.isValidElement(e)?t.cloneElement(e,void 0,s):null)}return t.createElement(sB,{...a,ref:i},s)});sU.displayName="Slot";let sB=t.forwardRef((e,s)=>{let{children:a,...n}=e;return t.isValidElement(a)?t.cloneElement(a,{...function(e,t){let i={...t};for(let s in t){let a=e[s],n=t[s];/^on[A-Z]/.test(s)?a&&n?i[s]=(...e)=>{n(...e),a(...e)}:a&&(i[s]=a):"style"===s?i[s]={...a,...n}:"className"===s&&(i[s]=[a,n].filter(Boolean).join(" "))}return{...e,...i}}(n,a.props),ref:s?(0,i.composeRefs)(s,a.ref):a.ref}):t.Children.count(a)>1?t.Children.only(null):null});sB.displayName="SlotClone";let sK=({children:e})=>t.createElement(t.Fragment,null,e);function sG(e){return t.isValidElement(e)&&e.type===sK}let sQ=["button","div","span","img","video","audio"].reduce((e,i)=>{let s=t.forwardRef((e,s)=>{let{asChild:a,...n}=e,r=a?sU:i;return t.createElement(r,{...n,ref:s})});return s.displayName=`Primitive.${i}`,{...e,[i]:s}},{});function sH(e){return e?.$$PROVIDER_TYPE==="REMOTION"}function sW(e){return e?.type==="video/remotion"}let sj=sv.state.record,sz=Object.keys(sj).reduce((e,t)=>({...e,[t]:()=>sj[t]}),{});function s_(e,t){let s=(0,i.useStateContext)(id);return(0,i.useSignal)((t?.current?.$state||s||sz)[e])}let sX=se.state.record,sY=Object.keys(sX).reduce((e,t)=>
1({...e,[t]:()=>sX[t]}),{});function sJ(e,t){let s=(0,i.useStateContext)(j);return(0,i.useSignal)((t?.current?.$state||s||sY)[e])}e.s(["AirPlayButtonInstance",()=>sc,"AudioGainSliderInstance",()=>sk,"CaptionButtonInstance",()=>sr,"CaptionsInstance",()=>sR,"ControlsGroupInstance",()=>sa,"ControlsInstance",()=>ss,"FullscreenButtonInstance",()=>so,"GestureInstance",()=>sV,"GoogleCastButtonInstance",()=>sp,"HTMLAirPlayAdapter",()=>e4,"HTMLMediaProvider",()=>e3,"IS_CHROME",()=>d,"IS_IOS",()=>o,"IS_SERVER",()=>n,"ListSymbol",()=>ei,"LiveButtonInstance",()=>sh,"MediaAnnouncerInstance",()=>si,"MediaPlayerInstance",()=>se,"MediaProviderInstance",()=>st,"MenuButtonInstance",()=>sq,"MenuInstance",()=>sE,"MenuItemInstance",()=>sI,"MenuItemsInstance",()=>sM,"MuteButtonInstance",()=>sd,"PIPButtonInstance",()=>sl,"PlayButtonInstance",()=>su,"PosterInstance",()=>sO,"Primitive",()=>sQ,"QualitySliderInstance",()=>sS,"QualitySymbol",()=>eC,"RAFLoop",()=>e0,"RadioGroupController",()=>i0,"RadioGroupInstance",()=>sD,"RadioInstance",()=>sL,"SeekButtonInstance",()=>sm,"SliderChaptersInstance",()=>sA,"SliderInstance",()=>sv,"SliderPreviewInstance",()=>sP,"SliderThumbnailInstance",()=>s$,"SliderValueInstance",()=>sC,"SliderVideoInstance",()=>sx,"SpeedSliderInstance",()=>sT,"TextTrack",()=>Q,"TextTrackSymbol",()=>B,"ThumbnailInstance",()=>sF,"ThumbnailsLoader",()=>iT,"TimeInstance",()=>sN,"TimeRange",()=>b,"TimeSliderInstance",()=>sb,"ToggleButtonInstance",()=>sn,"TooltipContentInstance",()=>sy,"TooltipInstance",()=>sg,"TooltipTriggerInstance",()=>sf,"VideoProvider",()=>tt,"VolumeSliderInstance",()=>sw,"appendParamsToURL",()=>R,"canGoogleCastSrc",()=>L,"coerceToError",()=>tn,"formatSpokenTime",()=>tb,"formatTime",()=>tv,"getDownloadFile",()=>U,"isHLSSupported",()=>v,"isRemotionProvider",()=>sH,"isRemotionSrc",()=>sW,"isTrackCaptionKind",()=>W,"loadScript",()=>F,"mediaContext",()=>J,"mediaState",()=>j,"menuContext",()=>iF,"preconnect",()=>V,"sortVideoQualities",()=>eP,"updateSliderPreviewPlacement",()=>iq,"useMediaContext",()=>Z,"useMediaState",()=>sJ,"useSliderState",()=>s_,"watchActiveTextTrack",()=>G])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.