@clickview/curator 1.101.0-rc.4 → 1.101.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +475 -475
- package/dist/Assets/js/dist/scripts/{Bs1Y6-vh.chunk.js → -OUl3n-W.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{Bs1Y6-vh.chunk.js.map → -OUl3n-W.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/5FGdlWcH.chunk.js +9 -0
- package/dist/Assets/js/dist/scripts/5FGdlWcH.chunk.js.map +1 -0
- package/dist/Assets/js/dist/scripts/B0UOCPE6.chunk.js +2 -0
- package/dist/Assets/js/dist/scripts/{r-zw-56e.chunk.js.map → B0UOCPE6.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{Ds6WvphR2.chunk.js → BD2aIccu2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{Ds6WvphR2.chunk.js.map → BD2aIccu2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{BwpzKPd12.chunk.js → BJJeLngO2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{BwpzKPd12.chunk.js.map → BJJeLngO2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{CaG8Cjey2.chunk.js → BKQIzKcF2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CaG8Cjey2.chunk.js.map → BKQIzKcF2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{BEw27Jf3.chunk.js → BOrAaHLK.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{BEw27Jf3.chunk.js.map → BOrAaHLK.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/BSMzg7zU.chunk.js.map +1 -1
- package/dist/Assets/js/dist/scripts/{CO69n5GB2.chunk.js → BUWsFXQp2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CO69n5GB2.chunk.js.map → BUWsFXQp2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{BZU4ADoQ2.chunk.js → C1xOGHlL2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{BZU4ADoQ2.chunk.js.map → C1xOGHlL2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{CbaobIxf2.chunk.js → CAo_C8em2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CbaobIxf2.chunk.js.map → CAo_C8em2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{D_e7ctVq.chunk.js → COH92JF5.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{D_e7ctVq.chunk.js.map → COH92JF5.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{CJpr073K.chunk.js → CR-5nCWm.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CJpr073K.chunk.js.map → CR-5nCWm.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{CqhZ98rZ2.chunk.js → CW1ea_Kx2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CqhZ98rZ2.chunk.js.map → CW1ea_Kx2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{DPA1azNU2.chunk.js → Cbwl04yH2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{DPA1azNU2.chunk.js.map → Cbwl04yH2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{DsHVJvUP.chunk.js → CpqMUVVi.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{DsHVJvUP.chunk.js.map → CpqMUVVi.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{I_gdFDV7.chunk.js → CqZqlJSF.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{I_gdFDV7.chunk.js.map → CqZqlJSF.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{CofA9RRF.chunk.js → CzCUe0Ej.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CofA9RRF.chunk.js.map → CzCUe0Ej.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{DhN_Jc2z.chunk.js → DTUkmChD.chunk.js} +3 -3
- package/dist/Assets/js/dist/scripts/{DhN_Jc2z.chunk.js.map → DTUkmChD.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{C8YkY0we.chunk.js → DW7-la-i.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{C8YkY0we.chunk.js.map → DW7-la-i.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{ecehd0o7.chunk.js → Dhnl-PB5.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{ecehd0o7.chunk.js.map → Dhnl-PB5.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{jdQzplq1.chunk.js → DuU4GBw5.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{jdQzplq1.chunk.js.map → DuU4GBw5.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{CvMpxc4j2.chunk.js → LmwQmHZz2.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{CvMpxc4j2.chunk.js.map → LmwQmHZz2.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{app-D2seXuq-.js → app-DHtN6XkT.js} +3 -3
- package/dist/Assets/js/dist/scripts/{app-D2seXuq-.js.map → app-DHtN6XkT.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{DUsXdKYh.chunk.js → eKSK4iyn.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{DUsXdKYh.chunk.js.map → eKSK4iyn.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{BdXsbiX1.chunk.js → esASf9N4.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/{BdXsbiX1.chunk.js.map → esASf9N4.chunk.js.map} +1 -1
- package/dist/Assets/js/dist/scripts/{De-ohgjE.chunk.js → x1pOfdJd.chunk.js} +2 -2
- package/dist/Assets/js/dist/scripts/x1pOfdJd.chunk.js.map +1 -0
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/package.json +1 -1
- package/dist/Assets/js/dist/scripts/C7Rwn3_U.chunk.js +0 -9
- package/dist/Assets/js/dist/scripts/C7Rwn3_U.chunk.js.map +0 -1
- package/dist/Assets/js/dist/scripts/De-ohgjE.chunk.js.map +0 -1
- package/dist/Assets/js/dist/scripts/r-zw-56e.chunk.js +0 -2
|
@@ -229,7 +229,7 @@ ${$f(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),
|
|
|
229
229
|
fill='currentColor'
|
|
230
230
|
/>
|
|
231
231
|
</svg>
|
|
232
|
-
`,Mh=class extends kh{constructor(e,t){super(e,t)}createEl(){let e=Ah.prototype.createEl.call(this,`button`,{className:this.buildCSSClass()},{type:`button`,title:this.controlText_});return e.innerHTML=jh,this.createControlTextEl(e),e}handleClick(e){e.stopPropagation(),e.preventDefault(),this.options_?.onClick&&this.options_.onClick()}buildCSSClass(){return`cv-remove-video-button`}};X.registerComponent(`removeVideoButton`,Mh),Mh.prototype.controlText_=`Remove from watch history`;var Nh=function(e){return e.Default=`play`,e.Hover=`hover`,e}({}),Ph=X.getPlugin(`plugin`),Fh=`cv-preview-mode`,Ih=`cv-force-16-9`,Lh=class extends Ph{constructor(e,t){super(e),this.hasSeeked=!1,this.buttonAdded=!1,this.mode=null,this.defaultDisplayMode=`normal`,this.onQualityReady=null,t?.defaultDisplayMode&&(this.defaultDisplayMode=t.defaultDisplayMode),t?.startTime&&(this.startTime=t.startTime),this.onSeek=this.onSeek.bind(this),this.player.one(`seeking`,this.onSeek)}onSeek(){this.hasSeeked=!0}dispose(){this.cleanupQualityListener(),this.player.off(`seeking`,this.onSeek),super.dispose()}getMode(){return this.mode}isHovering(){return this.mode===`hover`}setPlayerMode(e,t,n){this.player.trigger(`flushprogress`);let r=this.mode;if(this.mode=e,e===`hover`){this.buttonAdded||this.addButtons(t,n),this.player.addClass(Fh),this.applyAspectRatioFix(),this.enableSubtitles(),this.mute(),this.setLowQuality(),this.removeActivityTimeout(),this.player.trigger(`resize`);return}r===`hover`&&(this.applyDefaultModeLayout(),this.player.removeClass(Fh),this.player.removeClass(Ih),this.disableSubtitles(),this.unmute(),this.cleanupQualityListener(),this.restorePreviousQuality(),this.restoreActivityTimeout(),this.player.trigger(`resize`),this.hasSeeked||=(this.player.currentTime(this.startTime??0),!1))}applyDefaultModeLayout(){let e=this.player.usingPlugin?.(`theatreModePlugin`);this.defaultDisplayMode===`theatre`?(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!0),this.player.fill(!0)):(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!1),this.player.fluid(!0))}applyAspectRatioFix(){let e=()=>{let e=this.player.videoWidth(),t=this.player.videoHeight();if(e>0&&t>0){let n=e/t;Math.abs(n-16/9)<.01||this.player.addClass(Ih)}};this.player.readyState()>=1?e():this.player.one(`loadedmetadata`,e)}addButtons(e,t){let n=new Eh(this.player),r=new Oh(this.player,{onClickHandler:e}),i=new Mh(this.player,{onClick:t});t&&s.isFunction(t)&&this.player.addChild(i),this.player.addChild(n),this.player.addChild(r),this.buttonAdded=!0}enableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().previewModeSubtitles())}disableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().applyUserPreferences())}mute(){this.player.ready(()=>{this.player.persistVolumePlugin().disable(),this.player.muted(!0)})}unmute(){this.player.ready(()=>{this.player.persistVolumePlugin().applyUserPreferences(),this.player.persistVolumePlugin().enable()})}setLowQuality(){this.player.dataLoaded(()=>{this.mode===`hover`&&(this.player.persistQualitySettingsPlugin().disable(),this.cleanupQualityListener(),this.onQualityReady=()=>{this.mode===`hover`&&this.player.qualityManager().selectLowest()},this.player.on(`quality-levels-changed`,this.onQualityReady),this.player.qualityManager().selectLowest())})}cleanupQualityListener(){this.onQualityReady&&=(this.player.off(`quality-levels-changed`,this.onQualityReady),null)}restorePreviousQuality(){this.player.dataLoaded(()=>{this.player.persistQualitySettingsPlugin().applyUserPreferences(),this.player.persistQualitySettingsPlugin().enable()})}removeActivityTimeout(){this.player.cache_.inactivityTimeout=this.player.options_.inactivityTimeout,this.player.options_.inactivityTimeout=0}restoreActivityTimeout(){this.player.options_.inactivityTimeout=this.player.cache_.inactivityTimeout}};X.registerPlugin(`playerModePlugin`,Lh);function Rh(e,t){for(let n of e)if(n.quality<=t)return n;return e[e.length-1]}var zh=`cv-persisttest`,Q={hasLocalStorage:()=>{try{return window.localStorage.setItem(zh,`cv-player-storage-test`),window.localStorage.removeItem(zh),!0}catch{return!1}},get:e=>window.localStorage.getItem(e),set:(e,t)=>{window.localStorage.setItem(e,t)},remove:e=>{window.localStorage.removeItem(e)}},Bh=`cvplayer-playback-quality:v2`,Vh=`cvplayer-localcache-playback-quality:v2`,Hh=`cvplayer-dash-playback-quality:v1`,Uh=`auto`,Wh=480*60*1e3;function Gh(e){return e?Vh:Bh}var Kh={hasStoredPreference(){return Q.hasLocalStorage()?!!(Q.get(`cvplayer-playback-quality:v2`)||Q.get(`cvplayer-localcache-playback-quality:v2`)||Q.get(`cvplayer-dash-playback-quality:v1`)):!1},storeProgressive(e,t){Q.hasLocalStorage()&&Q.set(Gh(t),e.toString())},resolveProgressive(e,t=!1){let n=t?e?.playbackQualityLocalCache:e?.playbackQuality,r=(Q.hasLocalStorage()?Q.get(Gh(t)):null)||n||e?.playbackQualityFallback;if(!r)return null;let i=parseInt(r);return isNaN(i)?null:i},resolveDash(){if(!Q.hasLocalStorage())return Uh;let e=Q.get(Hh);if(!e)return Uh;try{let t=JSON.parse(e);if(typeof t?.quality==`number`&&typeof t?.expiresAt==`number`&&t.expiresAt>Date.now())return t.quality}catch{}return Uh},storeDashLock(e){if(!Q.hasLocalStorage())return;let t={quality:e,expiresAt:Date.now()+Wh};Q.set(Hh,JSON.stringify(t))},clearDashLock(){Q.hasLocalStorage()&&Q.remove(Hh)}};function qh(e,t){let n=e.currentTime(),r=!e.paused(),i=e.hasStarted();e.src(t);let a=()=>{e.off(`error`,o),e.currentTime()!==n&&e.currentTime(n),r&&e.play()?.catch(()=>void 0),i&&e.hasStarted(!0)},o=()=>e.off(`loadedmetadata`,a);e.one(`loadedmetadata`,a),e.one(`error`,o)}var Jh=`application/dash+xml`,Yh={sortFilesByQuality(e){return{...e,progressive:[...e.progressive].sort((e,t)=>t.quality-e.quality)}},getSignedDashUrl(e,t){let n=e.manifests?.dashUrl;if(n)return`${n}?viewKey=${t}`},getDashSource(e,t,n){let r=Yh.getSignedDashUrl(e,t);if(r)return{src:r,type:Jh,useBandwidthFromLocalStorage:!n}},getDefaultProgressiveFile(e,t,n){let r=n?.playbackQuality??Kh.resolveProgressive(t,!!n);return r===null?e.progressive[0]:Rh(e.progressive,r)},planSources(e){let t=Yh.getDashSource(e.files,e.viewKey,e.activeLocalCache),n=Yh.getDefaultProgressiveFile(e.files,e.settings,e.activeLocalCache),r=[];return t&&r.push(t),n&&r.push({src:n.url,type:n.mimeType}),{sources:r,defaultFile:n}},applyFile(e,t){qh(e,{src:t.url,type:t.mimeType})}};function Xh(e){return Qh(e)?.BANDWIDTH}function Zh(e){return Qh(e)?.CODECS}function Qh(e){return(e.tech?.(!0))?.vhs?.playlistController_?.mediaTypes_?.AUDIO?.activePlaylistLoader?.media?.()?.attributes}function $h(e){let t=e.isFullscreen?.()??!1,n=e.usingPlugin?.(`playerModePlugin`)?e.playerModePlugin()?.isHovering?.()??!1:!1,r=e.usingPlugin?.(`theatreModePlugin`)?e.theatreModePlugin()?.getTheatreMode?.()??!1:!1;return t?`fullscreen`:n?`hover`:r?`theatre`:`default`}var eg=`segment-metadata`,tg={getTrack(e){return nh.getTrack(e,`metadata`,eg)??null},isTrack(e){return e?.kind===`metadata`&&e.label===eg},getOnScreenSegment(e){let t=tg.getTrack(e);if(!t?.cues?.length)return null;let n=t.activeCues;return n?.length?n[n.length-1].value??null:null}};function ng(e){return tg.getOnScreenSegment(e)?.codecs||(e.tech?.(!0))?.vhs?.playlists?.media?.()?.attributes?.CODECS}var rg=1e3*60*60*8,ig=class{constructor(e){this.options=e,this.initialize()}logStream(){let e=`v:${this.options.videoId}`,t=this.getPlayerMetrics();p.cacheExists(e)||(this.collectionApiClient.log({type:_.WebPlayerStream,actionContext:this.getActionContext(),data:{...this.getAnalyticsData(),player:t},eventVersion:g.V3}),p&&p.cacheSet(e,null,300))}logVideoProgress(e,t,n){let r=this.getAnalyticsData(),i=this.getPlayerMetrics(),a=n?_.PreviewStreamProgress:_.StreamProgress,o=e.map(e=>({type:a,actionContext:this.getActionContext(),data:{...r,player:i,progress:e},eventVersion:g.V2}));for(let e of t)o.push({type:_.StreamBuffering,actionContext:this.getActionContext(),data:{...r,player:i,buffering:e},eventVersion:g.V2});this.collectionApiClient.log(o)}logUserAction(e,t){let n={...this.getAnalyticsData(),...e},r={...this.getActionContext(),...t};this.collectionApiClient.log({type:t.actionType,data:n,actionContext:r,eventVersion:t.eventVersion||g.V2})}getAnalyticsData(){let e={video:{id:this.options.videoId},flags:{isUsingLocalCache:this.options.isUsingLocalCache,isQualityUserPreference:Kh.hasStoredPreference(),isAutoQuality:this.options.player.qualityManager?.()?.isAuto()??!1},...this.options.additionalAnalyticsData||{}};this.options.shareId&&(e.video.shareId=this.options.shareId);let t=this.getEntityType();return t===S.Interactive?e.interactive={id:+this.options.mediaId}:t===S.Clip&&(e.clip={id:+this.options.mediaId}),e}initialize(){this.setupCollectionApiClient(),O.lockWindowSession(this.options.userId,rg),this.options.player.one(`dispose`,()=>O.unlockWindowSession(this.options.userId))}setupCollectionApiClient(){this.collectionApiClient=new D({productName:`player.web`,productVersion:this.options.productVersion,regionName:this.options.regionName,collectionApiUrls:this.options.collectionApiUrls,collectionApiClientId:this.options.collectionApiClientId,getUser:()=>this.getCurrentUser(),shouldLog:k.shouldLog,formatData:k.formatData})}async getCurrentUser(){return{id:this.options.userId,customerId:this.options.customerId,sessionId:this.options.authSessionId}}getActionContext(){return{entity:this.getEntityType(),location:this.getLocationContext(),productArea:void 0,descriptor:this.options.isEmbedded?T.Embedded:void 0,workflowPhase:void 0}}getEntityType(){switch(this.options.mediaType){case`MasterVideo`:return S.Video;case`MasterInteractive`:return S.Interactive;case`MasterClip`:return S.Clip}}getLocationContext(){switch(this.options.playerType){case`player`:return m.Player;case`interactive-player`:return m.InteractivePlayer;case`create-clip-player`:return m.CreateClipPlayer}}getPlayerMetrics(){let e=this.options.player,t=e.qualityManager?.()?.getActive();return{mode:$h(e),width:e.currentWidth(),height:e.currentHeight(),quality:t?.quality?.toString(),qualityLabel:t?.displayName,preset:t?.preset,tech:e.techName_,playbackType:e.currentType?.()===`application/dash+xml`?`dash`:`progressive`,videoCodec:ng(e),audioBitrate:Xh(e),audioCodec:Zh(e)}}},ag=class extends Error{constructor(e,t){super(t?.title||`Ajax error`),this.url=e,this.response=t}},og=new class{constructor(){this.tokens={gateway:null}}async get(e,t){return await this.parseResponse(await fetch(e,{method:`GET`,mode:`cors`,headers:this.getHeaders(t)}))}async delete(e,t){await fetch(e,{method:`DELETE`,headers:this.getHeaders(t)})}async post(e,t,n,r=!0){let i=await fetch(e,{method:`POST`,headers:this.getHeaders(n),body:t,mode:`cors`});if(r)return await this.parseResponse(i)}async put(e,t,n,r=!0){let i=await fetch(e,{method:`PUT`,headers:this.getHeaders(n),body:t,mode:`cors`});if(r)return await this.parseResponse(i)}setToken(e,t){this.tokens[e]=t}hasToken(e){return!!this.tokens[e]}getHeaders(e={}){let t={"Content-Type":`application/json`};return this.tokens[e.tokenName]&&(t.authorization=`Bearer ${this.tokens[e.tokenName]}`),t}async parseResponse(e){if(e.status===404)return null;if(!e.ok){let t;try{t=await e.json()}catch{throw new ag(e.url)}finally{throw new ag(e.url,t)}}return await e.json()}},sg=n(t(((e,t)=>{function n(e){if(e&&typeof e==`object`){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(typeof e==`number`)return o[e];var n=String(e),a=r[n.toLowerCase()];if(a)return a;var a=i[n.toLowerCase()];if(a)return a;if(n.length===1)return n.charCodeAt(0)}n.isEventKey=function(e,t){if(e&&typeof e==`object`){var n=e.which||e.keyCode||e.charCode;if(n==null)return!1;if(typeof t==`string`){var a=r[t.toLowerCase()];if(a)return a===n;var a=i[t.toLowerCase()];if(a)return a===n}else if(typeof t==`number`)return t===n;return!1}},e=t.exports=n;var r=e.code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(a=97;a<123;a++)r[String.fromCharCode(a)]=a-32;for(var a=48;a<58;a++)r[a-48]=a;for(a=1;a<13;a++)r[`f`+a]=a+111;for(a=0;a<10;a++)r[`numpad `+a]=a+96;var o=e.names=e.title={};for(a in r)o[r[a]]=a;for(var s in i)r[s]=i[s]}))());function cg(e){document[e.fsApi_.fullscreenEnabled]&&(e.isFullscreen()?e.exitFullscreen():e.requestFullscreen())}function lg(e){let t=e.theatreModePlugin().getTheatreMode();e.theatreModePlugin().toggleTheatreMode(!t,{shouldLog:!0})}function ug(e){let t=e.volume(),n=e.lastVolume_();if(t===0){let t=n<.1?.1:n;e.volume(t),e.muted(!1)}else e.muted(!e.muted())}function dg(e){e.paused()?e.play():e.pause()}function fg(e,t){e.currentTime(e.currentTime()+t)}function pg(e,t){t>0&&e.muted()&&e.muted(!1),e.volume(e.volume()+t)}function mg(e){let t=e.target;return t.tagName.toLowerCase()===`video`||!![`video-js`,`vjs-tech`].find(e=>t.classList.contains(e))}var hg={f:cg,m:ug,k:dg,space:dg,t:lg,left:e=>fg(e,-5),right:e=>fg(e,5),j:e=>fg(e,-10),l:e=>fg(e,10),up:e=>pg(e,.05),down:e=>pg(e,-.05)};function gg(e,t,n){if(e.ctrlKey||e.metaKey||e.altKey)return;let r=(0,sg.default)(e),i=[`up`,`down`].includes(r);if(i&&!e.shiftKey||!i&&e.shiftKey||r===`t`&&!n.allowTheatreMode||r===`f`&&!n.allowFullscreen||!hg[r])return;hg[r](t,e);let a=mg(e),o=[`space`].includes(r);(a||o)&&(e.preventDefault(),e.stopPropagation())}var _g=function(e){return e.PhysicallyChapteredVideo=`physically-chaptered-video`,e}({}),vg={name:`@clickview/player`,version:`1.54.0-rc.2`,description:`ClickView Player`,main:`dist/player-app.js`,type:`module`,scripts:{"type-check":`tsc --noEmit`,"build-app":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.app.ts`,"build-styles":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.styles.ts`,build:`npm run type-check && npm run build-player && npm run build-interactive-player`,"build-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.player.config.ts`,"build-interactive-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.interactive-player.config.ts`,"build-font":`cross-env NODE_ENV=development npm run start`,test:`jest`,"test-watch":`jest --watch`,"test-harness":`npm run build && node ../../../node_modules/vite/bin/vite.js --config vite.test-harness.config.ts`},repository:{type:`git`,url:`https://gitlab.cvinternal.net/front-end/clickview`},author:`Matt Trengrove, Cameron Hill, Shale Kuzmanovski`,license:`ISC`,devDependencies:{"@clickview/player-font":`0.0.17`,"@types/chromecast-caf-sender":`1.0.3`,"@types/cropperjs":`1.3.0`,"@types/draft-js":`0.10.44`,"@types/node-polyglot":`0.4.34`,"@types/react-draft-wysiwyg":`1.13.1`,"@types/signalr-no-jquery":`0.1.3`,"@types/simplebar":`5.1.1`,"@types/video.js":`7.3.58`,jest:`29.6.4`,"ts-jest":`29.1.1`,"vite-plugin-mkcert":`1.17.12`},dependencies:{"@microsoft/signalr":`5.0.2`,"@types/react-canvas-draw":`1.2.1`,cropperjs:`1.5.6`,"draft-convert":`2.1.10`,"draft-js":`0.11.7`,keycode:`2.2.0`,"node-polyglot":`2.3.0`,"react-canvas-draw":`1.2.1`,"react-draft-wysiwyg":`1.15.0`,"react-textarea-autosize":`8.3.2`,"signalr-no-jquery":`0.2.0`,simplebar:`5.3.0`,"simplebar-react":`2.3.0`,"video.js":`8.20.0`}},yg=class{constructor(e){this.controller=null,this.logger=X.log.createLogger(`quality`),this.player=e}setController(e){this.controller?.dispose(),this.controller=e,this.notifyLevelsChanged(),e?.getSelected()&&this.notifyQualityChanged(`system`)}getController(){return this.controller}getLevels(){return this.controller?.getLevels()??[]}getSelected(){return this.controller?.getSelected()??null}getActive(){return this.controller?.getActive()??null}select(e,t){this.controller?.select(e,t)}selectPreferred(e){let t=Rh(this.getLevels(),e);t&&this.select(t.id)}selectLowest(){let e=this.getLevels(),t=e[e.length-1];t&&this.select(t.id)}supportsAuto(){return this.controller?.supportsAuto()??!1}isAuto(){return this.controller?.isAuto()??!1}selectAuto(e){this.controller?.selectAuto(e)}notifyLevelsChanged(){let e=this.getLevels();this.logger.debug(`Levels changed: ${e.map(e=>e.displayName).join(`, `)||`none`}`),this.player.trigger(`quality-levels-changed`),this.player.trigger(`cv-updatecog`),this.player.trigger(`resizemenus`)}notifyQualityChanged(e){let t=this.getSelected();this.logger.debug(`Quality changed to ${t?.displayName??`none`} (origin: ${e})`),this.player.trigger(`quality-changed`,{origin:e}),this.player.trigger(`cv-quality-change`,t?.id)}dispose(){this.controller?.dispose(),this.controller=null}},bg=new WeakMap;function xg(){let e=bg.get(this);if(e)return e;let t=new yg(this);return bg.set(this,t),this.one(`dispose`,()=>{t.dispose(),bg.delete(this)}),t}X.registerPlugin(`qualityManager`,xg);var Sg={SMALL:450,MEDIUM:650},Cg=X.getPlugin(`plugin`),wg=class extends Cg{constructor(e,t){super(e),this.options=t,this.configureMenuDimensions=this.configureMenuDimensions.bind(this),this.initialize()}initialize(){this.player.ready(this.configureMenuDimensions),this.player.one(`play`,this.configureMenuDimensions),this.player.on(`resize`,this.configureMenuDimensions),this.player.on(`fullscreenchange`,this.configureMenuDimensions),this.player.on(`resizemenus`,this.configureMenuDimensions),this.player.on(`ready`,this.configureMenuDimensions)}dispose(){this.player.off(`resize`,this.configureMenuDimensions),this.player.off(`fullscreenchange`,this.configureMenuDimensions),this.player.off(`resizemenus`,this.configureMenuDimensions),this.player.off(`ready`,this.configureMenuDimensions),super.dispose()}configureMenuDimensions(){let e=e=>{if(this.options.mobile)return;let t=this.player.getChild(`collapserator`),n=t.getChild(`volumePanel`),r=t.children_.indexOf(n);t.removeChild(n),t.addChild(`volumePanel`,{inline:e,playerOptions:this.player.options_.playerOptions},r),this.player.trigger(`volumechange`)},t=this.player.isFullscreen();if(t&&!this.options.mobile){let t=this.player.whiteboardModePlugin().side;if(e(t!==`top`),t===`left`||t===`right`||t===`top`){let e=this.player.currentWidth();this.player.el().querySelectorAll(`.vjs-menu`).forEach(t=>{t.style.paddingTop=null,t.style.marginBottom=null,t.style.width=`calc(${e}px - 4em)`});return}}t||e(!0);let n=this.player.currentWidth(),r=this.player.currentHeight()/n*100,i=this.player.el().querySelector(`.cv-collapsorator`),a=this.player.el().querySelectorAll(`.vjs-menu`),o=i&&i.offsetHeight;if(!o){this.player.one(`play`,this.configureMenuDimensions);return}this.options.seekBarName===`CreateClipSeekBar`&&(o+=22),!(!a||!a.length)&&a.forEach(e=>{!t&&this.options.overflowControls?e.style.paddingTop=`80%`:e.style.paddingTop=`calc(${r}% - ${o}px)`,e.style.marginBottom=`${o}px`,e.style.width=null,e.querySelector(`.vjs-menu-content`)&&(n<=Sg.SMALL?this.player.addClass(`cv-player-small`):this.player.removeClass(`cv-player-small`))})}};X.registerPlugin(`configureMenuDimensionsPlugin`,wg);var Tg=X.getPlugin(`plugin`),Eg=`cvplayer-volume`,Dg=`cvplayer-mute`,Og=class extends Tg{constructor(e){super(e),this.enabled=!0,this.player.ready(()=>this.initialize())}initialize(){if(this.player.options_.mobile){this.removeVolumeControl();return}Q.hasLocalStorage()&&(this.saveVolumeState=this.saveVolumeState.bind(this),this.player.on(`volumechange`,this.saveVolumeState),this.applyUserPreferences())}applyUserPreferences(){let e=Q.get(Eg),t=Q.get(Dg);e&&this.player.volume(+e),t&&this.player.muted(t===`true`)}saveVolumeState(){this.enabled&&(Q.set(Eg,this.player.volume().toString()),Q.set(Dg,this.player.muted().toString()))}removeVolumeControl(){this.player.volume(1);let e=this.player.getChild(`collapserator`),t=e.getChild(`volumePanel`);e.removeChild(t)}enable(){this.enabled=!0}disable(){this.enabled=!1}dispose(){this.player.off(`volumechange`,this.saveVolumeState),super.dispose()}};X.registerPlugin(`persistVolumePlugin`,Og);var kg=X.getPlugin(`plugin`),Ag=`cvplayer-playback-rate`,jg=class extends kg{constructor(e,t){super(e),this.options=t,this.player.dataLoaded(()=>this.initialize())}initialize(){if(!Q.hasLocalStorage())return;this.savePlaybackRate=this.savePlaybackRate.bind(this),this.player.on(`ratechange`,this.savePlaybackRate),this.one(`dispose`,()=>{this.player.off(`ratechange`,this.savePlaybackRate)});let e=+Q.get(Ag);this.player.playbackRates()?.some(t=>t===e)&&this.player.playbackRate(e)}savePlaybackRate(){let e=this.player.playbackRate().toString();this.setDefaultPlaybackRate(+e),Q.set(Ag,e),this.options.analyticsService?.logUserAction({rate:e},{actionType:_.Select,workflowPhase:v.Complete,descriptor:y.ChangeSpeed,entity:S.PlaybackSpeed,eventVersion:g.V3})}setDefaultPlaybackRate(e){this.player.defaultPlaybackRate(e)}setPlaybackRateWithoutPersisting(e){this.player.off(`ratechange`,this.savePlaybackRate),this.player.playbackRate(e),this.setDefaultPlaybackRate(e),this.player.on(`ratechange`,this.savePlaybackRate)}};X.registerPlugin(`persistPlaybackRatePlugin`,jg);var Mg=X.getPlugin(`plugin`),Ng=class extends Mg{constructor(e){super(e),this.fullscreenBecauseOfRotate=!1,this.player.supportsFullScreen()&&(this.onRotate=this.onRotate.bind(this),this.onFullscreenChange=this.onFullscreenChange.bind(this),this.player.ready(()=>this.initialize()))}initialize(){this.player.on(`fullscreenchange`,this.onFullscreenChange),window.addEventListener(`orientationchange`,this.onRotate)}dispose(){this.player.off(`fullscreenchange`,this.onFullscreenChange),window.removeEventListener(`orientationchange`,this.onRotate)}onFullscreenChange(){this.player.isFullscreen()||(this.fullscreenBecauseOfRotate=!1)}onRotate(){let e=this.getAngle();if(e!==90&&e!==-90&&e!==270){this.fullscreenBecauseOfRotate&&this.player.isFullscreen()&&this.player.exitFullscreen();return}this.player.requestFullscreen(),this.fullscreenBecauseOfRotate=!0}getAngle(){return typeof window.screen?.orientation?.angle==`number`?window.screen.orientation.angle:0}};X.registerPlugin(`fullscreenOnRotatePlugin`,Ng);var Pg=`
|
|
232
|
+
`,Mh=class extends kh{constructor(e,t){super(e,t)}createEl(){let e=Ah.prototype.createEl.call(this,`button`,{className:this.buildCSSClass()},{type:`button`,title:this.controlText_});return e.innerHTML=jh,this.createControlTextEl(e),e}handleClick(e){e.stopPropagation(),e.preventDefault(),this.options_?.onClick&&this.options_.onClick()}buildCSSClass(){return`cv-remove-video-button`}};X.registerComponent(`removeVideoButton`,Mh),Mh.prototype.controlText_=`Remove from watch history`;var Nh=function(e){return e.Default=`play`,e.Hover=`hover`,e}({}),Ph=X.getPlugin(`plugin`),Fh=`cv-preview-mode`,Ih=`cv-force-16-9`,Lh=class extends Ph{constructor(e,t){super(e),this.hasSeeked=!1,this.buttonAdded=!1,this.mode=null,this.defaultDisplayMode=`normal`,this.onQualityReady=null,t?.defaultDisplayMode&&(this.defaultDisplayMode=t.defaultDisplayMode),t?.startTime&&(this.startTime=t.startTime),this.onSeek=this.onSeek.bind(this),this.player.one(`seeking`,this.onSeek)}onSeek(){this.hasSeeked=!0}dispose(){this.cleanupQualityListener(),this.player.off(`seeking`,this.onSeek),super.dispose()}getMode(){return this.mode}isHovering(){return this.mode===`hover`}setPlayerMode(e,t,n){this.player.trigger(`flushprogress`);let r=this.mode;if(this.mode=e,e===`hover`){this.buttonAdded||this.addButtons(t,n),this.player.addClass(Fh),this.applyAspectRatioFix(),this.enableSubtitles(),this.mute(),this.setLowQuality(),this.removeActivityTimeout(),this.player.trigger(`resize`);return}r===`hover`&&(this.applyDefaultModeLayout(),this.player.removeClass(Fh),this.player.removeClass(Ih),this.disableSubtitles(),this.unmute(),this.cleanupQualityListener(),this.restorePreviousQuality(),this.restoreActivityTimeout(),this.player.trigger(`resize`),this.hasSeeked||=(this.player.currentTime(this.startTime??0),!1))}applyDefaultModeLayout(){let e=this.player.usingPlugin?.(`theatreModePlugin`);this.defaultDisplayMode===`theatre`?(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!0),this.player.fill(!0)):(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!1),this.player.fluid(!0))}applyAspectRatioFix(){let e=()=>{let e=this.player.videoWidth(),t=this.player.videoHeight();if(e>0&&t>0){let n=e/t;Math.abs(n-16/9)<.01||this.player.addClass(Ih)}};this.player.readyState()>=1?e():this.player.one(`loadedmetadata`,e)}addButtons(e,t){let n=new Eh(this.player),r=new Oh(this.player,{onClickHandler:e}),i=new Mh(this.player,{onClick:t});t&&s.isFunction(t)&&this.player.addChild(i),this.player.addChild(n),this.player.addChild(r),this.buttonAdded=!0}enableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().previewModeSubtitles())}disableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().applyUserPreferences())}mute(){this.player.ready(()=>{this.player.persistVolumePlugin().disable(),this.player.muted(!0)})}unmute(){this.player.ready(()=>{this.player.persistVolumePlugin().applyUserPreferences(),this.player.persistVolumePlugin().enable()})}setLowQuality(){this.player.dataLoaded(()=>{this.mode===`hover`&&(this.player.persistQualitySettingsPlugin().disable(),this.cleanupQualityListener(),this.onQualityReady=()=>{this.mode===`hover`&&this.player.qualityManager().selectLowest()},this.player.on(`quality-levels-changed`,this.onQualityReady),this.player.qualityManager().selectLowest())})}cleanupQualityListener(){this.onQualityReady&&=(this.player.off(`quality-levels-changed`,this.onQualityReady),null)}restorePreviousQuality(){this.player.dataLoaded(()=>{this.player.persistQualitySettingsPlugin().applyUserPreferences(),this.player.persistQualitySettingsPlugin().enable()})}removeActivityTimeout(){this.player.cache_.inactivityTimeout=this.player.options_.inactivityTimeout,this.player.options_.inactivityTimeout=0}restoreActivityTimeout(){this.player.options_.inactivityTimeout=this.player.cache_.inactivityTimeout}};X.registerPlugin(`playerModePlugin`,Lh);function Rh(e,t){for(let n of e)if(n.quality<=t)return n;return e[e.length-1]}var zh=`cv-persisttest`,Q={hasLocalStorage:()=>{try{return window.localStorage.setItem(zh,`cv-player-storage-test`),window.localStorage.removeItem(zh),!0}catch{return!1}},get:e=>window.localStorage.getItem(e),set:(e,t)=>{window.localStorage.setItem(e,t)},remove:e=>{window.localStorage.removeItem(e)}},Bh=`cvplayer-playback-quality:v2`,Vh=`cvplayer-localcache-playback-quality:v2`,Hh=`cvplayer-dash-playback-quality:v1`,Uh=`auto`,Wh=480*60*1e3;function Gh(e){return e?Vh:Bh}var Kh={hasStoredPreference(){return Q.hasLocalStorage()?!!(Q.get(`cvplayer-playback-quality:v2`)||Q.get(`cvplayer-localcache-playback-quality:v2`)||Q.get(`cvplayer-dash-playback-quality:v1`)):!1},storeProgressive(e,t){Q.hasLocalStorage()&&Q.set(Gh(t),e.toString())},resolveProgressive(e,t=!1){let n=t?e?.playbackQualityLocalCache:e?.playbackQuality,r=(Q.hasLocalStorage()?Q.get(Gh(t)):null)||n||e?.playbackQualityFallback;if(!r)return null;let i=parseInt(r);return isNaN(i)?null:i},resolveDash(){if(!Q.hasLocalStorage())return Uh;let e=Q.get(Hh);if(!e)return Uh;try{let t=JSON.parse(e);if(typeof t?.quality==`number`&&typeof t?.expiresAt==`number`&&t.expiresAt>Date.now())return t.quality}catch{}return Uh},storeDashLock(e){if(!Q.hasLocalStorage())return;let t={quality:e,expiresAt:Date.now()+Wh};Q.set(Hh,JSON.stringify(t))},clearDashLock(){Q.hasLocalStorage()&&Q.remove(Hh)}};function qh(e,t){let n=e.currentTime(),r=!e.paused(),i=e.hasStarted();e.src(t);let a=()=>{e.off(`error`,o),e.currentTime()!==n&&e.currentTime(n),r&&e.play()?.catch(()=>void 0),i&&e.hasStarted(!0)},o=()=>e.off(`loadedmetadata`,a);e.one(`loadedmetadata`,a),e.one(`error`,o)}var Jh=`application/dash+xml`,Yh={sortFilesByQuality(e){return{...e,progressive:[...e.progressive].sort((e,t)=>t.quality-e.quality)}},getSignedDashUrl(e,t){let n=e.manifests?.dashUrl;if(n)return`${n}?viewKey=${t}`},getDashSource(e,t,n){let r=Yh.getSignedDashUrl(e,t);if(r)return{src:r,type:Jh,useBandwidthFromLocalStorage:!n}},getDefaultProgressiveFile(e,t,n){let r=n?.playbackQuality??Kh.resolveProgressive(t,!!n);return r===null?e.progressive[0]:Rh(e.progressive,r)},planSources(e){let t=Yh.getDashSource(e.files,e.viewKey,e.activeLocalCache),n=Yh.getDefaultProgressiveFile(e.files,e.settings,e.activeLocalCache),r=[];return t&&r.push(t),n&&r.push({src:n.url,type:n.mimeType}),{sources:r,defaultFile:n}},applyFile(e,t){qh(e,{src:t.url,type:t.mimeType})}};function Xh(e){return Qh(e)?.BANDWIDTH}function Zh(e){return Qh(e)?.CODECS}function Qh(e){return(e.tech?.(!0))?.vhs?.playlistController_?.mediaTypes_?.AUDIO?.activePlaylistLoader?.media?.()?.attributes}function $h(e){let t=e.isFullscreen?.()??!1,n=e.usingPlugin?.(`playerModePlugin`)?e.playerModePlugin()?.isHovering?.()??!1:!1,r=e.usingPlugin?.(`theatreModePlugin`)?e.theatreModePlugin()?.getTheatreMode?.()??!1:!1;return t?`fullscreen`:n?`hover`:r?`theatre`:`default`}var eg=`segment-metadata`,tg={getTrack(e){return nh.getTrack(e,`metadata`,eg)??null},isTrack(e){return e?.kind===`metadata`&&e.label===eg},getOnScreenSegment(e){let t=tg.getTrack(e);if(!t?.cues?.length)return null;let n=t.activeCues;return n?.length?n[n.length-1].value??null:null}};function ng(e){return tg.getOnScreenSegment(e)?.codecs||(e.tech?.(!0))?.vhs?.playlists?.media?.()?.attributes?.CODECS}var rg=1e3*60*60*8,ig=class{constructor(e){this.options=e,this.initialize()}logStream(){let e=`v:${this.options.videoId}`,t=this.getPlayerMetrics();p.cacheExists(e)||(this.collectionApiClient.log({type:_.WebPlayerStream,actionContext:this.getActionContext(),data:{...this.getAnalyticsData(),player:t},eventVersion:g.V3}),p&&p.cacheSet(e,null,300))}logVideoProgress(e,t,n){let r=this.getAnalyticsData(),i=this.getPlayerMetrics(),a=n?_.PreviewStreamProgress:_.StreamProgress,o=e.map(e=>({type:a,actionContext:this.getActionContext(),data:{...r,player:i,progress:e},eventVersion:g.V2}));for(let e of t)o.push({type:_.StreamBuffering,actionContext:this.getActionContext(),data:{...r,player:i,buffering:e},eventVersion:g.V2});this.collectionApiClient.log(o)}logUserAction(e,t){let n={...this.getAnalyticsData(),...e},r={...this.getActionContext(),...t};this.collectionApiClient.log({type:t.actionType,data:n,actionContext:r,eventVersion:t.eventVersion||g.V2})}getAnalyticsData(){let e={video:{id:this.options.videoId},flags:{isUsingLocalCache:this.options.isUsingLocalCache,isQualityUserPreference:Kh.hasStoredPreference(),isAutoQuality:this.options.player.qualityManager?.()?.isAuto()??!1},...this.options.additionalAnalyticsData||{}};this.options.shareId&&(e.video.shareId=this.options.shareId);let t=this.getEntityType();return t===S.Interactive?e.interactive={id:+this.options.mediaId}:t===S.Clip&&(e.clip={id:+this.options.mediaId}),e}initialize(){this.setupCollectionApiClient(),O.lockWindowSession(this.options.userId,rg),this.options.player.one(`dispose`,()=>O.unlockWindowSession(this.options.userId))}setupCollectionApiClient(){this.collectionApiClient=new D({productName:`player.web`,productVersion:this.options.productVersion,regionName:this.options.regionName,collectionApiUrls:this.options.collectionApiUrls,collectionApiClientId:this.options.collectionApiClientId,getUser:()=>this.getCurrentUser(),shouldLog:k.shouldLog,formatData:k.formatData})}async getCurrentUser(){return{id:this.options.userId,customerId:this.options.customerId,sessionId:this.options.authSessionId}}getActionContext(){return{entity:this.getEntityType(),location:this.getLocationContext(),productArea:void 0,descriptor:this.options.isEmbedded?T.Embedded:void 0,workflowPhase:void 0}}getEntityType(){switch(this.options.mediaType){case`MasterVideo`:return S.Video;case`MasterInteractive`:return S.Interactive;case`MasterClip`:return S.Clip}}getLocationContext(){switch(this.options.playerType){case`player`:return m.Player;case`interactive-player`:return m.InteractivePlayer;case`create-clip-player`:return m.CreateClipPlayer}}getPlayerMetrics(){let e=this.options.player,t=e.qualityManager?.()?.getActive();return{mode:$h(e),width:e.currentWidth(),height:e.currentHeight(),quality:t?.quality?.toString(),qualityLabel:t?.displayName,preset:t?.preset,tech:e.techName_,playbackType:e.currentType?.()===`application/dash+xml`?`dash`:`progressive`,videoCodec:ng(e),audioBitrate:Xh(e),audioCodec:Zh(e)}}},ag=class extends Error{constructor(e,t){super(t?.title||`Ajax error`),this.url=e,this.response=t}},og=new class{constructor(){this.tokens={gateway:null}}async get(e,t){return await this.parseResponse(await fetch(e,{method:`GET`,mode:`cors`,headers:this.getHeaders(t)}))}async delete(e,t){await fetch(e,{method:`DELETE`,headers:this.getHeaders(t)})}async post(e,t,n,r=!0){let i=await fetch(e,{method:`POST`,headers:this.getHeaders(n),body:t,mode:`cors`});if(r)return await this.parseResponse(i)}async put(e,t,n,r=!0){let i=await fetch(e,{method:`PUT`,headers:this.getHeaders(n),body:t,mode:`cors`});if(r)return await this.parseResponse(i)}setToken(e,t){this.tokens[e]=t}hasToken(e){return!!this.tokens[e]}getHeaders(e={}){let t={"Content-Type":`application/json`};return this.tokens[e.tokenName]&&(t.authorization=`Bearer ${this.tokens[e.tokenName]}`),t}async parseResponse(e){if(e.status===404)return null;if(!e.ok){let t;try{t=await e.json()}catch{throw new ag(e.url)}finally{throw new ag(e.url,t)}}return await e.json()}},sg=n(t(((e,t)=>{function n(e){if(e&&typeof e==`object`){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(typeof e==`number`)return o[e];var n=String(e),a=r[n.toLowerCase()];if(a)return a;var a=i[n.toLowerCase()];if(a)return a;if(n.length===1)return n.charCodeAt(0)}n.isEventKey=function(e,t){if(e&&typeof e==`object`){var n=e.which||e.keyCode||e.charCode;if(n==null)return!1;if(typeof t==`string`){var a=r[t.toLowerCase()];if(a)return a===n;var a=i[t.toLowerCase()];if(a)return a===n}else if(typeof t==`number`)return t===n;return!1}},e=t.exports=n;var r=e.code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(a=97;a<123;a++)r[String.fromCharCode(a)]=a-32;for(var a=48;a<58;a++)r[a-48]=a;for(a=1;a<13;a++)r[`f`+a]=a+111;for(a=0;a<10;a++)r[`numpad `+a]=a+96;var o=e.names=e.title={};for(a in r)o[r[a]]=a;for(var s in i)r[s]=i[s]}))());function cg(e){document[e.fsApi_.fullscreenEnabled]&&(e.isFullscreen()?e.exitFullscreen():e.requestFullscreen())}function lg(e){let t=e.theatreModePlugin().getTheatreMode();e.theatreModePlugin().toggleTheatreMode(!t,{shouldLog:!0})}function ug(e){let t=e.volume(),n=e.lastVolume_();if(t===0){let t=n<.1?.1:n;e.volume(t),e.muted(!1)}else e.muted(!e.muted())}function dg(e){e.paused()?e.play():e.pause()}function fg(e,t){e.currentTime(e.currentTime()+t)}function pg(e,t){t>0&&e.muted()&&e.muted(!1),e.volume(e.volume()+t)}function mg(e){let t=e.target;return t.tagName.toLowerCase()===`video`||!![`video-js`,`vjs-tech`].find(e=>t.classList.contains(e))}var hg={f:cg,m:ug,k:dg,space:dg,t:lg,left:e=>fg(e,-5),right:e=>fg(e,5),j:e=>fg(e,-10),l:e=>fg(e,10),up:e=>pg(e,.05),down:e=>pg(e,-.05)};function gg(e,t,n){if(e.ctrlKey||e.metaKey||e.altKey)return;let r=(0,sg.default)(e),i=[`up`,`down`].includes(r);if(i&&!e.shiftKey||!i&&e.shiftKey||r===`t`&&!n.allowTheatreMode||r===`f`&&!n.allowFullscreen||!hg[r])return;hg[r](t,e);let a=mg(e),o=[`space`].includes(r);(a||o)&&(e.preventDefault(),e.stopPropagation())}var _g=function(e){return e.PhysicallyChapteredVideo=`physically-chaptered-video`,e}({}),vg={name:`@clickview/player`,version:`1.54.0-rc.3`,description:`ClickView Player`,main:`dist/player-app.js`,type:`module`,scripts:{"type-check":`tsc --noEmit`,"build-app":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.app.ts`,"build-styles":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.styles.ts`,build:`npm run type-check && npm run build-player && npm run build-interactive-player`,"build-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.player.config.ts`,"build-interactive-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.interactive-player.config.ts`,"build-font":`cross-env NODE_ENV=development npm run start`,test:`jest`,"test-watch":`jest --watch`,"test-harness":`npm run build && node ../../../node_modules/vite/bin/vite.js --config vite.test-harness.config.ts`},repository:{type:`git`,url:`https://gitlab.cvinternal.net/front-end/clickview`},author:`Matt Trengrove, Cameron Hill, Shale Kuzmanovski`,license:`ISC`,devDependencies:{"@clickview/player-font":`0.0.17`,"@types/chromecast-caf-sender":`1.0.3`,"@types/cropperjs":`1.3.0`,"@types/draft-js":`0.10.44`,"@types/node-polyglot":`0.4.34`,"@types/react-draft-wysiwyg":`1.13.1`,"@types/signalr-no-jquery":`0.1.3`,"@types/simplebar":`5.1.1`,"@types/video.js":`7.3.58`,jest:`29.6.4`,"ts-jest":`29.1.1`,"vite-plugin-mkcert":`1.17.12`},dependencies:{"@microsoft/signalr":`5.0.2`,"@types/react-canvas-draw":`1.2.1`,cropperjs:`1.5.6`,"draft-convert":`2.1.10`,"draft-js":`0.11.7`,keycode:`2.2.0`,"node-polyglot":`2.3.0`,"react-canvas-draw":`1.2.1`,"react-draft-wysiwyg":`1.15.0`,"react-textarea-autosize":`8.3.2`,"signalr-no-jquery":`0.2.0`,simplebar:`5.3.0`,"simplebar-react":`2.3.0`,"video.js":`8.20.0`}},yg=class{constructor(e){this.controller=null,this.logger=X.log.createLogger(`quality`),this.player=e}setController(e){this.controller?.dispose(),this.controller=e,this.notifyLevelsChanged(),e?.getSelected()&&this.notifyQualityChanged(`system`)}getController(){return this.controller}getLevels(){return this.controller?.getLevels()??[]}getSelected(){return this.controller?.getSelected()??null}getActive(){return this.controller?.getActive()??null}select(e,t){this.controller?.select(e,t)}selectPreferred(e){let t=Rh(this.getLevels(),e);t&&this.select(t.id)}selectLowest(){let e=this.getLevels(),t=e[e.length-1];t&&this.select(t.id)}supportsAuto(){return this.controller?.supportsAuto()??!1}isAuto(){return this.controller?.isAuto()??!1}selectAuto(e){this.controller?.selectAuto(e)}notifyLevelsChanged(){let e=this.getLevels();this.logger.debug(`Levels changed: ${e.map(e=>e.displayName).join(`, `)||`none`}`),this.player.trigger(`quality-levels-changed`),this.player.trigger(`cv-updatecog`),this.player.trigger(`resizemenus`)}notifyQualityChanged(e){let t=this.getSelected();this.logger.debug(`Quality changed to ${t?.displayName??`none`} (origin: ${e})`),this.player.trigger(`quality-changed`,{origin:e}),this.player.trigger(`cv-quality-change`,t?.id)}dispose(){this.controller?.dispose(),this.controller=null}},bg=new WeakMap;function xg(){let e=bg.get(this);if(e)return e;let t=new yg(this);return bg.set(this,t),this.one(`dispose`,()=>{t.dispose(),bg.delete(this)}),t}X.registerPlugin(`qualityManager`,xg);var Sg={SMALL:450,MEDIUM:650},Cg=X.getPlugin(`plugin`),wg=class extends Cg{constructor(e,t){super(e),this.options=t,this.configureMenuDimensions=this.configureMenuDimensions.bind(this),this.initialize()}initialize(){this.player.ready(this.configureMenuDimensions),this.player.one(`play`,this.configureMenuDimensions),this.player.on(`resize`,this.configureMenuDimensions),this.player.on(`fullscreenchange`,this.configureMenuDimensions),this.player.on(`resizemenus`,this.configureMenuDimensions),this.player.on(`ready`,this.configureMenuDimensions)}dispose(){this.player.off(`resize`,this.configureMenuDimensions),this.player.off(`fullscreenchange`,this.configureMenuDimensions),this.player.off(`resizemenus`,this.configureMenuDimensions),this.player.off(`ready`,this.configureMenuDimensions),super.dispose()}configureMenuDimensions(){let e=e=>{if(this.options.mobile)return;let t=this.player.getChild(`collapserator`),n=t.getChild(`volumePanel`),r=t.children_.indexOf(n);t.removeChild(n),t.addChild(`volumePanel`,{inline:e,playerOptions:this.player.options_.playerOptions},r),this.player.trigger(`volumechange`)},t=this.player.isFullscreen();if(t&&!this.options.mobile){let t=this.player.whiteboardModePlugin().side;if(e(t!==`top`),t===`left`||t===`right`||t===`top`){let e=this.player.currentWidth();this.player.el().querySelectorAll(`.vjs-menu`).forEach(t=>{t.style.paddingTop=null,t.style.marginBottom=null,t.style.width=`calc(${e}px - 4em)`});return}}t||e(!0);let n=this.player.currentWidth(),r=this.player.currentHeight()/n*100,i=this.player.el().querySelector(`.cv-collapsorator`),a=this.player.el().querySelectorAll(`.vjs-menu`),o=i&&i.offsetHeight;if(!o){this.player.one(`play`,this.configureMenuDimensions);return}this.options.seekBarName===`CreateClipSeekBar`&&(o+=22),!(!a||!a.length)&&a.forEach(e=>{!t&&this.options.overflowControls?e.style.paddingTop=`80%`:e.style.paddingTop=`calc(${r}% - ${o}px)`,e.style.marginBottom=`${o}px`,e.style.width=null,e.querySelector(`.vjs-menu-content`)&&(n<=Sg.SMALL?this.player.addClass(`cv-player-small`):this.player.removeClass(`cv-player-small`))})}};X.registerPlugin(`configureMenuDimensionsPlugin`,wg);var Tg=X.getPlugin(`plugin`),Eg=`cvplayer-volume`,Dg=`cvplayer-mute`,Og=class extends Tg{constructor(e){super(e),this.enabled=!0,this.player.ready(()=>this.initialize())}initialize(){if(this.player.options_.mobile){this.removeVolumeControl();return}Q.hasLocalStorage()&&(this.saveVolumeState=this.saveVolumeState.bind(this),this.player.on(`volumechange`,this.saveVolumeState),this.applyUserPreferences())}applyUserPreferences(){let e=Q.get(Eg),t=Q.get(Dg);e&&this.player.volume(+e),t&&this.player.muted(t===`true`)}saveVolumeState(){this.enabled&&(Q.set(Eg,this.player.volume().toString()),Q.set(Dg,this.player.muted().toString()))}removeVolumeControl(){this.player.volume(1);let e=this.player.getChild(`collapserator`),t=e.getChild(`volumePanel`);e.removeChild(t)}enable(){this.enabled=!0}disable(){this.enabled=!1}dispose(){this.player.off(`volumechange`,this.saveVolumeState),super.dispose()}};X.registerPlugin(`persistVolumePlugin`,Og);var kg=X.getPlugin(`plugin`),Ag=`cvplayer-playback-rate`,jg=class extends kg{constructor(e,t){super(e),this.options=t,this.player.dataLoaded(()=>this.initialize())}initialize(){if(!Q.hasLocalStorage())return;this.savePlaybackRate=this.savePlaybackRate.bind(this),this.player.on(`ratechange`,this.savePlaybackRate),this.one(`dispose`,()=>{this.player.off(`ratechange`,this.savePlaybackRate)});let e=+Q.get(Ag);this.player.playbackRates()?.some(t=>t===e)&&this.player.playbackRate(e)}savePlaybackRate(){let e=this.player.playbackRate().toString();this.setDefaultPlaybackRate(+e),Q.set(Ag,e),this.options.analyticsService?.logUserAction({rate:e},{actionType:_.Select,workflowPhase:v.Complete,descriptor:y.ChangeSpeed,entity:S.PlaybackSpeed,eventVersion:g.V3})}setDefaultPlaybackRate(e){this.player.defaultPlaybackRate(e)}setPlaybackRateWithoutPersisting(e){this.player.off(`ratechange`,this.savePlaybackRate),this.player.playbackRate(e),this.setDefaultPlaybackRate(e),this.player.on(`ratechange`,this.savePlaybackRate)}};X.registerPlugin(`persistPlaybackRatePlugin`,jg);var Mg=X.getPlugin(`plugin`),Ng=class extends Mg{constructor(e){super(e),this.fullscreenBecauseOfRotate=!1,this.player.supportsFullScreen()&&(this.onRotate=this.onRotate.bind(this),this.onFullscreenChange=this.onFullscreenChange.bind(this),this.player.ready(()=>this.initialize()))}initialize(){this.player.on(`fullscreenchange`,this.onFullscreenChange),window.addEventListener(`orientationchange`,this.onRotate)}dispose(){this.player.off(`fullscreenchange`,this.onFullscreenChange),window.removeEventListener(`orientationchange`,this.onRotate)}onFullscreenChange(){this.player.isFullscreen()||(this.fullscreenBecauseOfRotate=!1)}onRotate(){let e=this.getAngle();if(e!==90&&e!==-90&&e!==270){this.fullscreenBecauseOfRotate&&this.player.isFullscreen()&&this.player.exitFullscreen();return}this.player.requestFullscreen(),this.fullscreenBecauseOfRotate=!0}getAngle(){return typeof window.screen?.orientation?.angle==`number`?window.screen.orientation.angle:0}};X.registerPlugin(`fullscreenOnRotatePlugin`,Ng);var Pg=`
|
|
233
233
|
<svg viewBox="0 0 2420 383">
|
|
234
234
|
<title>ClickView Logo</title>
|
|
235
235
|
<path fill="#f8981d" d="M317.302 140.594c38.928 22.475 38.928 78.663 0 101.137L87.93 374.159c-51.737 29.87-109.635-28.028-79.764-79.765l42.745-74.035a58.39 58.39 0 0 0 0-58.392L8.165 87.929C-21.705 36.193 36.193-21.705 87.93 8.165z"/>
|
|
@@ -243,7 +243,7 @@ ${$f(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),
|
|
|
243
243
|
${n?`+`:``}${e*10}s
|
|
244
244
|
</div>
|
|
245
245
|
</div>
|
|
246
|
-
`,window.clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(()=>{this.removeText()},t)}removeText(){this.el_.className=this.buildCSSClass(),this.el_.innerHTML=``}};X.registerComponent(`TouchControls`,Bg);var Vg=X.getPlugin(`plugin`),Hg=300,Ug=class extends Vg{constructor(e){super(e),this.doubleTouchCount=0,this.seekStartTime=0,this.directionModifier=0,this.bindFunctions(),this.player.ready(()=>this.initialize())}bindFunctions(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.reBindEventListeners=this.reBindEventListeners.bind(this),this.unBindEventListeners=this.unBindEventListeners.bind(this)}initialize(){this.player.addChild(`TouchControls`),this.touchControls=this.player.getChild(`TouchControls`),this.player.on(`ready`,this.reBindEventListeners),this.one(`dispose`,()=>{this.player.off(`ready`,this.reBindEventListeners)}),this.reBindEventListeners()}reBindEventListeners(){this.unBindEventListeners(),this.tech=this.player.tech(!0),this.tech.name()===`Html5`&&(this.tech.on(`touchstart`,this.onTouchStart),this.tech.on(`touchend`,this.onTouchEnd))}unBindEventListeners(){this.tech&&this.tech.name()===`Html5`&&(this.tech.off(`touchstart`,this.onTouchStart),this.tech.off(`touchend`,this.onTouchEnd))}dispose(){super.dispose(),this.unBindEventListeners()}onTouchStart(e){this.touchStartTime=e.timeStamp,this.userActive=this.player.userActive()}onTouchEnd(e){if(e.changedTouches.length){if(e.timeStamp-this.lastTouchTime<Hg){this.onDoubleTouch(e),this.lastTouchTime=e.timeStamp;return}if(this.resetProperties(),this.lastTouchTime=e.timeStamp,e.timeStamp-this.touchStartTime<Hg){window.setTimeout(()=>{this.doubleTouchCount||(this.player.paused()?this.player.play():this.userActive&&this.player.pause())},Hg);return}}}resetProperties(){this.doubleTouchCount=0,this.seekStartTime=0,this.directionModifier=0}onDoubleTouch(e){let t=this.player.el().getBoundingClientRect(),n=t.left+t.width/2;if(this.doubleTouchCount===0&&(this.seekStartTime=this.player.currentTime(),e.changedTouches[0].pageX<n?this.directionModifier=-1:this.directionModifier=1),this.doubleTouchCount++,this.directionModifier<0){if(this.doubleTouchCount*10>this.seekStartTime+10)return;this.touchControls.setUi(-this.doubleTouchCount,Hg*3),this.player.currentTime(this.player.currentTime()-10);return}let r=this.player.duration()-this.seekStartTime;this.doubleTouchCount*10>r+10||(this.touchControls.setUi(this.doubleTouchCount,Hg*3),this.player.currentTime(this.player.currentTime()+10))}};X.registerPlugin(`touchControls`,Ug);var Wg=new Set([`segment`,`segment-media-initialization`,`segment-key`,`dash-sidx`]),Gg=`urn:clickview:dash:extensions:2026`;function Kg(e){let t=new Map;if(!e)return t;let n=new DOMParser().parseFromString(e,`text/xml`);return Array.from(n.getElementsByTagName(`Representation`)).forEach(e=>{let n=e.getAttribute(`id`),r=e.getAttributeNS(Gg,`qualityLabel`),i=parseInt(e.getAttributeNS(Gg,`qualityTier`));!n||!r||isNaN(i)||t.set(n,{quality:i,displayName:r})}),t}var qg=class{constructor(e,t){this.levels=[],this.manifestProfiles=new Map,this.autoEnabled=!0,this.lockedId=null,this.onScreenId=null,this.metadataTrack=null,this.player=e,this.notifier=t,this.onLevelsUpdated=this.onLevelsUpdated.bind(this),this.onSelectionChanged=this.onSelectionChanged.bind(this),this.onCueChange=this.onCueChange.bind(this),this.onTrackAdded=this.onTrackAdded.bind(this),this.onTrackRemoved=this.onTrackRemoved.bind(this),this.trackList=this.player.textTracks(),this.trackList.addEventListener(`addtrack`,this.onTrackAdded),this.trackList.addEventListener(`removetrack`,this.onTrackRemoved),this.bindMetadataTrack(tg.getTrack(this.player));let n=this.getQualityLevelList();n&&(n.on(`addqualitylevel`,this.onLevelsUpdated),n.on(`removequalitylevel`,this.onLevelsUpdated),n.on(`change`,this.onSelectionChanged),this.rebuildLevels())}getLevels(){return this.levels}getSelected(){return this.lockedId===null?this.getActive():this.levels.find(e=>e.id===this.lockedId)??null}getActive(){let e=tg.getOnScreenSegment(this.player)?.playlist??this.getDownloadingListLevel()?.id;return e===void 0?null:this.levels.find(t=>t.id===e)??null}select(e,t){let n=this.getListLevels(),r=n.find(t=>t.id===e);if(!r)return;let i=!this.autoEnabled&&this.lockedId===e&&n.every(t=>t.enabled===(t.id===e));this.autoEnabled=!1,this.lockedId=e,!(i&&!t?.force)&&(this.applyEnabledFlags(n,r,()=>!1),this.notifier.notifyQualityChanged(t?.origin??`system`))}supportsAuto(){return!0}isAuto(){return this.autoEnabled}selectAuto(e){this.autoEnabled||(this.autoEnabled=!0,this.lockedId=null,this.applyEnabledFlags(this.getListLevels(),this.getDownloadingListLevel(),()=>!0),this.notifier.notifyQualityChanged(e?.origin??`system`))}applyEnabledFlags(e,t,n){e.forEach(e=>{e!==t&&(e.enabled=n(e))}),t&&(t.enabled=!1,t.enabled=!0)}getDownloadingListLevel(){let e=this.getQualityLevelList();return e&&e.selectedIndex>=0?e[e.selectedIndex]:null}bindMetadataTrack(e){e!==this.metadataTrack&&(this.metadataTrack?.removeEventListener(`cuechange`,this.onCueChange),this.metadataTrack=e,this.onScreenId=null,this.metadataTrack?.addEventListener(`cuechange`,this.onCueChange))}onTrackAdded(e){tg.isTrack(e.track)&&this.bindMetadataTrack(e.track)}onTrackRemoved(e){e.track===this.metadataTrack&&this.bindMetadataTrack(null)}onCueChange(){let e=tg.getOnScreenSegment(this.player)?.playlist??null;e!==this.onScreenId&&(this.onScreenId=e,this.notifier.notifyQualityChanged(`system`))}onLevelsUpdated(){this.rebuildLevels(),this.notifier.notifyLevelsChanged()}onSelectionChanged(){this.notifier.notifyQualityChanged(`system`)}rebuildLevels(){this.refreshManifestProfiles();let e=this.getManifestIdsByLevelId(),t=[];this.getListLevels().forEach(n=>{let r=this.toQualityLevel(n,e.get(n.id));r&&t.push(r)}),this.levels=t.sort((e,t)=>t.quality-e.quality)}toQualityLevel(e,t){let n=t===void 0?void 0:this.manifestProfiles.get(t),r=n?.quality??e.height;return r===void 0?null:{id:e.id,quality:r,displayName:n?.displayName??`${r}p`,preset:t,width:e.width,height:e.height,bitrate:e.bitrate,frameRate:e.frameRate}}refreshManifestProfiles(){let e=this.player.tech(!0)?.vhs?.playlists?.mainXml_;e!==this.parsedManifestXml&&(this.parsedManifestXml=e,this.manifestProfiles=Kg(e))}getManifestIdsByLevelId(){let e=new Map;return(this.player.tech(!0)?.vhs?.representations?.()??[]).forEach(t=>{let n=t.playlist?.attributes?.NAME;n!==void 0&&e.set(t.id,n)}),e}getListLevels(){let e=this.getQualityLevelList();return e?Array.from(e):[]}getQualityLevelList(){return this.player.qualityLevels?.()??null}dispose(){this.trackList.removeEventListener(`addtrack`,this.onTrackAdded),this.trackList.removeEventListener(`removetrack`,this.onTrackRemoved),this.bindMetadataTrack(null);let e=this.getQualityLevelList();e&&(e.off(`addqualitylevel`,this.onLevelsUpdated),e.off(`removequalitylevel`,this.onLevelsUpdated),e.off(`change`,this.onSelectionChanged))}},Jg=class{constructor(e,t,n,r){this.player=e,this.notifier=t,this.files=n,this.currentProfile=r}getLevels(){return this.files.map(e=>({id:e.profile,quality:e.quality,displayName:e.label??`${e.quality}p`,preset:e.profile}))}getSelected(){return this.getLevels().find(e=>e.id===this.currentProfile)??null}getActive(){return this.getSelected()}select(e,t){if(e===this.currentProfile&&!t?.force)return;let n=this.files.find(t=>t.profile===e);n&&(this.currentProfile=n.profile,Yh.applyFile(this.player,n),this.notifier.notifyQualityChanged(t?.origin??`system`))}supportsAuto(){return!1}isAuto(){return!1}selectAuto(){}repopulate(e){let t=this.currentProfile;this.files=e;let n=this.files.find(e=>e.profile===t)??this.files[0];this.currentProfile=n?.profile??null,n&&Yh.applyFile(this.player,n),this.notifier.notifyLevelsChanged()}dispose(){}},Yg=X.getPlugin(`plugin`),Xg=class extends Yg{constructor(e,t){super(e),this.options=t,this.files=Yh.sortFilesByQuality(t.files),this.player.ready(()=>this.initialize())}async initialize(){this.onLoadStart=this.onLoadStart.bind(this),this.onLocalCacheChanged=this.onLocalCacheChanged.bind(this),this.onXhrHooksReady=this.onXhrHooksReady.bind(this),this.onVhsRequest=this.onVhsRequest.bind(this);let e=this.getLocalCachePlugin();if(this.player.on(`loadstart`,this.onLoadStart),this.player.on(`xhr-hooks-ready`,this.onXhrHooksReady),this.player.one(`playing`,()=>this.hasPlayed=!0),e?.on(`localcachechanged`,this.onLocalCacheChanged),this.activeLocalCache=e?await e.getActiveLocalCache():null,!this.player)return;let{sources:t,defaultFile:n}=Yh.planSources({files:this.files,viewKey:this.options.viewKey,settings:this.options.settings,activeLocalCache:this.activeLocalCache});n&&(this.defaultProfile=n.profile),this.player.src(t)}repopulateSources(e){if(this.files=Yh.sortFilesByQuality(e),this.activeMode===`progressive`){this.getProgressiveController()?.repopulate(this.files.progressive);return}let t=Yh.getDashSource(this.files,this.options.viewKey,this.activeLocalCache);if(t){qh(this.player,t);return}let n=Yh.getDefaultProgressiveFile(this.files,this.options.settings);this.applyProgressiveFile(n)}hasPendingFallback(){return this.activeMode===`dash`&&!this.hasPlayed&&this.files.progressive.length>0}onLoadStart(){let e=this.player.currentType()===`application/dash+xml`?`dash`:`progressive`;if(e===this.activeMode)return;this.activeMode=e;let t=this.player.qualityManager();if(e===`dash`){t.setController(new qg(this.player,t));return}t.setController(new Jg(this.player,t,this.files.progressive,this.defaultProfile))}onXhrHooksReady(){this.player.tech(!0)?.vhs?.xhr.onRequest(this.onVhsRequest)}onVhsRequest(e){return this.activeLocalCache&&Wg.has(e.requestType)&&(e.uri=this.activeLocalCache.getUrl(e.uri)),e}onLocalCacheChanged(e,t){let n=t?.localCache??null;if(this.activeLocalCache=n,!this.activeMode)return;if(this.activeMode===`dash`){let e=Yh.getDashSource(this.files,this.options.viewKey,n);e&&qh(this.player,e);return}let r=this.player.qualityManager(),i=(n?.playbackQuality?Rh(r.getLevels(),n.playbackQuality):null)??r.getSelected();i&&r.select(i.id,{force:!0})}applyProgressiveFile(e){this.defaultProfile=e.profile,Yh.applyFile(this.player,e)}getProgressiveController(){let e=this.player.qualityManager().getController();return e instanceof Jg?e:null}getLocalCachePlugin(){return this.player.usingPlugin(`localCache`)?this.player.localCache():null}dispose(){this.player.off(`loadstart`,this.onLoadStart),this.player.off(`xhr-hooks-ready`,this.onXhrHooksReady),this.getLocalCachePlugin()?.off(`localcachechanged`,this.onLocalCacheChanged),super.dispose()}};X.registerPlugin(`mediaSources`,Xg);var Zg=class e{static getProxyUrl(t,n){return n?e.unwrapProxyUrl(n)===null?t+`cache?file=`+encodeURIComponent(n):n:null}static getOriginalUrl(t){return e.unwrapProxyUrl(t)??t}static unwrapProxyUrl(e){if(!e)return null;let t;try{t=new URL(e)}catch{return null}return t.pathname.endsWith(`/cache`)&&t.searchParams.get(`file`)||null}},Qg=class{constructor(e){this.name=e.name,this.playbackProfile=e.playbackProfile,this.playbackQuality=e.playbackQuality,this.address=new URL(e.httpsAddress)}getUrl(e){return Zg.getProxyUrl(this.address,e)}async ping(){let e=new AbortController,t=setTimeout(()=>e.abort(),1e3);try{let n=await(await fetch(this.address+`ping`,{method:`GET`,mode:`cors`,signal:e.signal})).text();return clearTimeout(t),n===`PONG`}catch{return!1}}},$g=class{constructor(e){this.player=e,this.logger=X.log.createLogger(`localcache`)}async setSource(e,t){if(e?.type===`application/dash+xml`){t(null,e);return}if(this.player.localCache&&e?.src!==void 0){let t=await this.player.localCache().getActiveLocalCache();t!==null&&(this.logger.debug(`Using Local Cache`,t),e.src=t.getUrl(e.src))}t(null,e)}};X.use(`*`,e=>new $g(e));var e_=`<?xml version="1.0" encoding="UTF-8"?><svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.9"><g id="Local-Cache" transform="translate(2.000000, 2.000000)"><rect id="Rectangle" fill="#FFFFFF" x="0" y="2.4" width="18.8" height="15.2"></rect><ellipse id="Oval" fill="#FFFFFF" cx="9.4" cy="2.4" rx="9.4" ry="2.4"></ellipse><ellipse id="Oval-Copy" fill="#FFFFFF" cx="9.4" cy="17.6" rx="9.4" ry="2.4"></ellipse><g id="Logo/Circle" transform="translate(2.500000, 3.000000)"><circle id="Oval" fill="#FFFFFF" cx="7" cy="7" r="7"></circle><polygon id="Fill-1" fill="#F8981D" points="4.66666667 2.33333333 4.66666667 11.4245258 10.0383286 6.87866667"></polygon></g></g></g></svg>`,t_=X.getComponent(`Component`),n_=class extends t_{constructor(e,t){super(e,t),this.hide(),this.onLocalCacheChange=this.onLocalCacheChange.bind(this),e.ready(()=>{this.initialize()})}createEl(){return super.createEl(`div`,{className:`vjs-local-cache-indicator`,innerHTML:`<div class="vjs-local-cache-indicator-icon">${e_}</div>`},{title:`Streaming from ClickView Local Cache`})}initialize(){this.localCachePlugin=this.player_.localCache(),this.localCachePlugin&&(this.localCachePlugin.on(`localcachechanged`,this.onLocalCacheChange),this.player_.on(`dispose`,()=>{this.localCachePlugin.off(`localcachechanged`,this.onLocalCacheChange)}),this.onLocalCacheChange())}async onLocalCacheChange(){await this.localCachePlugin.getActiveLocalCache()?this.show():this.hide()}};X.registerComponent(`localCacheIndicator`,n_);var r_=X.getPlugin(`plugin`),i_=class extends r_{constructor(e,t){if(super(e),this.logger_=X.log.createLogger(`localcache`),t===void 0)throw Error(`no options defined`);this.localCaches_=t.localCacheAddresses.map(e=>new Qg(e)),this.player.ready(()=>{this.initialize(),t.enabled&&this.enable()})}get isEnabled(){return this.enabled_}enable(){this.enabled_=!0,this.resetActiveLocalCache()}disable(){this.enabled_=!1}getActiveLocalCache(){return this.enabled_?this.activeLocalCache_:null}resetActiveLocalCache(){this.clearActiveLocalCache(),this.activeLocalCache_=this.getActiveLocalCacheInternal()}clearActiveLocalCache(){this.activeLocalCache_&&(this.activeLocalCache_=null,this.onLocalCacheChange(null))}removeLocalCache(e){this.localCaches_=this.localCaches_.filter(t=>t!==e)}dispose(){super.dispose()}initialize(){this.player.controlBar.addChild(`localCacheIndicator`)}async handleNetworkError(){let e=await this.getActiveLocalCache();return e&&await e.ping()&&this.removeLocalCache(e),this.resetActiveLocalCache(),await this.getActiveLocalCache(),!0}async getActiveLocalCacheInternal(){let e=[],t=async t=>{await t.ping()&&e.push(t)};if(await Promise.all(this.localCaches_.map(e=>t(e))),e.length>0){let t=e[0];return this.onLocalCacheChange(t),t}return null}onLocalCacheChange(e){this.logger_.debug(`Local Cache changed`,e),this.trigger(`localcachechanged`,{localCache:e})}};X.registerPlugin(`localCache`,i_);var a_=9e5,o_=X.getPlugin(`plugin`),s_=class extends o_{constructor(e,t){super(e),this.playerApi=t.playerApi,this.fileToken=t.fileToken,this.logger=X.log.createLogger(`video-signature-expiry-plugin`),this.bindErrorHandlers()}bindErrorHandlers(){this.onError=this.onError.bind(this),this.player.on(`error`,this.onError)}dispose(){this.player.off(`error`,this.onError),super.dispose()}async onError(){let e=this.player.error();if(!e||this.player.usingPlugin(`mediaSources`)&&this.player.mediaSources().hasPendingFallback())return;let t=e.code;if(!(t!==MediaError.MEDIA_ERR_NETWORK&&t!==MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED)){if(await this.player.localCache().getActiveLocalCache()){this.callErrorHandler(()=>this.player.localCache().handleNetworkError());return}this.callErrorHandler(()=>this.handleVideoSignatureExpiry())}}async handleVideoSignatureExpiry(){if(!this.playerApi||!this.fileToken||this.refetchedSourcesTimestamp+a_>Date.now())return!1;this.refetchedSourcesTimestamp=Date.now();let e=null;try{this.logger.debug(`Detected expired mp4 urls, attempting to refetch`);let t=`${this.playerApi.origin}/api/files?fileToken=${this.fileToken}`;e=await og.get(t)}catch{return this.logger.error(`Failed to refetch expired mp4 urls`),!1}return this.logger.debug(`Mp4 urls successfully refetched`),this.player.mediaSources().repopulateSources(e),this.fileToken=e.fileToken,!0}async callErrorHandler(e){let t=this.player.currentTime(),n=!this.player.paused(),r=()=>{this.player.currentTime(t),n&&this.player.play(),this.player.error(null)};this.player.one(`loadedmetadata`,r),!await e()&&this.player.off(`loadedmetadata`,r)}};X.registerPlugin(`handleNetworkErrors`,s_);var c_=X.getPlugin(`plugin`),l_=`cvplayer-show-subtitles`,u_=`cvplayer-selected-language`,d_=`cvplayer-subtitle-size`,f_=class extends c_{constructor(e,t){super(e),this.options=t;let n=this.player.textTrackSettings;this.defaultSubtitleSize=n.getSizeSetting(),this.initialize()}initialize(){this.applyUserPreferences=this.applyUserPreferences.bind(this),this.player.textTracks().length&&(this.applyUserPreferences(),this.bindEventListeners())}applyUserPreferences(){let e=!!this.options.showSubtitles,t=this.safeGet(l_);if(t===`true`&&(e=!0),t===`false`&&(e=!1),e){let e=this.guessWhichTrack();e&&(e.mode=`showing`,this.player.trigger(`cv:languageselected`))}else this.hideSubtitles();let n=this.safeGet(d_);n||=this.options.subtitleSize??this.defaultSubtitleSize,this.player.options_.mobile&&(n=`medium`),this.player.textTrackSettings.setSizeSetting(n)}safeGet(e){if(Q.hasLocalStorage())return Q.get(e)}onSelectedLanguageChange(){let e=this.player.textTracks();for(let t=0;t<e.length;t++){let n=e[t];if(n.kind===`subtitles`&&n.mode===`showing`){Q.set(l_,`true`),Q.set(u_,n.language),this.options.analyticsService?.logUserAction({language:n.language},{actionType:_.Select,entity:S.Subtitle,workflowPhase:v.Complete,descriptor:b.On});return}}Q.set(l_,`false`),Q.remove(u_),this.options.analyticsService?.logUserAction({language:``},{actionType:_.Select,entity:S.Subtitle,workflowPhase:v.Complete,descriptor:b.Off,eventVersion:g.V3})}bindEventListeners(){Q.hasLocalStorage()&&(this.onSelectedLanguageChange=this.onSelectedLanguageChange.bind(this),this.onChangeSubtitleSize=this.onChangeSubtitleSize.bind(this),this.player.on(`cv:languageselected`,this.onSelectedLanguageChange),this.player.on(`changesubtitlesize`,this.onChangeSubtitleSize),this.one(`dispose`,()=>{this.player.off(`cv:languageselected`,this.onSelectedLanguageChange),this.player.off(`changesubtitlesize`,this.onChangeSubtitleSize)}))}onChangeSubtitleSize(){let e=this.player.textTrackSettings;if(!e)return;let t=e.getSizeSetting();Q.set(d_,t)}guessWhichTrack(){let e=this.safeGet(u_)||window.navigator.language,{language:t,country:n}=this.getLanguageParts(e),r,i,a=this.player.textTracks();for(let e=0;e<a.length;e++){let o=a[e];if(o.kind!==`subtitles`)continue;let{language:s,country:c}=this.getLanguageParts(o.language);if(s===t&&(r=o,c||(i=o),c===n))return r}return i||r||null}getLanguageParts(e){let t=e.toLowerCase().split(`-`);return{language:t[0],country:t[1]}}hideSubtitles(){let e=this.player.textTracks();for(let t=0;t<e.length;t++){let n=e[t];if(n.kind!==`subtitles`)return;n.mode=`disabled`}}previewModeSubtitles(){let e=this.guessWhichTrack();e&&(e.mode=`showing`),this.player.off(`changesubtitlesize`,this.onChangeSubtitleSize),this.player.textTrackSettings.setSizeSetting(`large`),this.player.on(`changesubtitlesize`,this.onChangeSubtitleSize)}};X.registerPlugin(`persistSubtitleSettingsPlugin`,f_);var p_=X.getPlugin(`plugin`),m_=class extends p_{constructor(e,t){super(e),this.enabled=!0,this.options=t,this.player.ready(()=>this.initialize())}async initialize(){this.onQualityChanged=this.onQualityChanged.bind(this),this.onQualityLevelsChanged=this.onQualityLevelsChanged.bind(this),this.player.on(`quality-changed`,this.onQualityChanged),this.player.on(`quality-levels-changed`,this.onQualityLevelsChanged),await this.onQualityLevelsChanged()}disable(){this.enabled=!1}enable(){this.enabled=!0}async applyUserPreferences(){let e=this.player.qualityManager(),t=await this.getActiveLocalCache(),n=t?t.playbackQuality??Kh.resolveProgressive(this.options,!0):null;if(e.supportsAuto()){if(n){e.selectPreferred(n);return}let t=Kh.resolveDash();if(t===`auto`){e.selectAuto();return}e.selectPreferred(t);return}let r=n??Kh.resolveProgressive(this.options,!!t);r&&e.selectPreferred(r)}async onQualityLevelsChanged(){this.enabled&&await this.applyUserPreferences()}async onQualityChanged(e,t){if(!this.enabled||t?.origin!==`user`)return;let n=this.player.qualityManager(),r=n.isAuto()?Uh:n.getSelected()?.quality;r&&(await this.persistQualitySelection(r),this.logQualitySelection(r))}async persistQualitySelection(e){if(this.player.qualityManager().supportsAuto()){e===`auto`?Kh.clearDashLock():Kh.storeDashLock(e);return}e!==`auto`&&Kh.storeProgressive(e,await this.isLocalCacheActive())}logQualitySelection(e){this.options.analyticsService.logUserAction({quality:e.toString(),playerMode:$h(this.player),playerWidth:this.player.currentWidth(),playerHeight:this.player.currentHeight(),isQualityUserPreference:Kh.hasStoredPreference()},{actionType:_.Select,workflowPhase:v.Complete,descriptor:y.ChangeResolution,entity:S.Resolution,eventVersion:g.V3})}async isLocalCacheActive(){return!!await this.getActiveLocalCache()}getActiveLocalCache(){return this.player.usingPlugin(`localCache`)?this.player.localCache().getActiveLocalCache():Promise.resolve(null)}dispose(){this.player.off(`quality-changed`,this.onQualityChanged),this.player.off(`quality-levels-changed`,this.onQualityLevelsChanged),super.dispose()}};X.registerPlugin(`persistQualitySettingsPlugin`,m_);var h_=X.getComponent(`Component`),g_=class extends h_{constructor(e,t){super(e,t)}createEl(){return X.dom.createEl(`div`,{className:`cv-progress-reporter-item`})}update(){let e=this.options_.event,t=this.player_.duration(),n=(e.end.time-e.start.time)/t;this.el_.style.width=n*100+`%`;let r=e.start.time/t;this.el_.style.left=r*100+`%`}},__=class extends h_{constructor(...e){super(...e),this.events_=[]}update(){let e=this.children();for(let t=e.length;t>0;t--)this.removeChild(e[t]);this.events_.forEach(e=>{let t=new g_(this.player(),{event:e});this.addChild(t),t.update()})}addEvents(e){this.events_.push(...e),this.update()}createEl(){return X.dom.createEl(`div`,{className:`cv-progress-reporter-display`})}},v_=X.getPlugin(`plugin`),y_=5e3,b_=200,x_=`ArrowUpArrowUpArrowDownArrowDownArrowLeftArrowRightArrowLeftArrowRightba`,S_={PLAY:`play`,PLAYING:`playing`,PAUSE:`pause`,SEEKING:`seeking`,SEEK_START:`seekstart`,SEEK_END:`seekend`,ENDED:`ended`,PAUSED_SEEK:`pausedseek`,TIME_UPDATE:`timeupdate`,WAITING:`waiting`,SEEKED:`seeked`},C_=class extends v_{constructor(e,t){super(e,t),this.eventBuffer=[],this.latestTime=0,this.lastPlayingTime=0,this.isPlaying=!1,this.isSeeking=!1,this.hasEnded=!1,this.isBrowserSeeking=!1,this.hasPlayed=!1,this.bufferingStartTime=null,this.bufferingStartContext=null,this.completedBufferingEvents=[],this.shouldLogPlayOnTimeUpdate=!1,this.options=t,this.player.ready(()=>this.initialize())}initialize(){this.validateOptions(),this.bindListeners(),this.startInterval(),this.addEasterEgg()}validateOptions(){if(typeof this.options.onFlush!=`function`)throw Error(`Please provide the onFlush option`)}bindListeners(){let e={[S_.PLAY]:()=>this.onPlay(),[S_.PAUSE]:()=>this.onPause(),[S_.TIME_UPDATE]:()=>this.onTimeUpdate(),[S_.SEEKING]:()=>this.onSeeking(),[S_.ENDED]:()=>this.onEnded(),[S_.PLAYING]:()=>this.onPlaying(),[S_.WAITING]:()=>this.onWaiting(),[S_.SEEKED]:()=>this.onSeeked()},t=Object.keys(e);t.forEach(t=>this.player.on(t,e[t])),this.one(`dispose`,()=>{t.forEach(t=>this.player.off(t,e[t]))}),this.flushBuffer=this.flushBuffer.bind(this),this.player.on(`flushprogress`,this.flushBuffer)}startInterval(){let e=this.options.interval||y_;this.interval=window.setInterval(()=>this.flushBuffer(),e),this.player.one(`dispose`,()=>window.clearInterval(this.interval))}addEasterEgg(){let e=``,t,n=n=>{e+=n.key,e===x_&&this.addDisplay(),window.clearTimeout(t),t=window.setTimeout(()=>{e=``},500)},r=!1,i,a=()=>{r=!0,i=window.setTimeout(()=>{r&&this.addDisplay()},1e4)};function o(){r=!1,window.clearTimeout(i)}this.player.el().addEventListener(`keyup`,n);let s=this.player.getChild(`Collapserator`).getChild(`PlayToggle`);s.on(`touchstart`,a),s.on(`touchend`,o),this.player.one(`dispose`,()=>{this.player?.el()?.removeEventListener(`keyup`,n),s.off(`touchstart`,a),s.off(`touchend`,o)})}addDisplay(){this.progressReporterDisplay||(this.progressReporterDisplay=new __(this.player),this.player.addChild(this.progressReporterDisplay),this.player.options_.inactivityTimeout=0,this.player.one(`dispose`,()=>{this.progressReporterDisplay=void 0}))}onPlay(){if(this.isPlaying=!0,this.isSeeking){this.logEvent(S_.SEEK_END),this.isSeeking=!1;return}if(this.hasEnded){this.shouldLogPlayOnTimeUpdate=!0,this.hasEnded=!1;return}this.logEvent(S_.PLAY)}onPause(){this.isSeeking||(this.pauseTimeout=window.setTimeout(()=>{this.isPlaying=!1,this.completeBufferingEvent(),this.logEvent(S_.PAUSE),delete this.pauseTimeout},50))}onTimeUpdate(){this.shouldLogPlayOnTimeUpdate&&(this.shouldLogPlayOnTimeUpdate=!1,this.logEvent(S_.PLAY)),!(!this.isPlaying||this.isSeeking)&&this.logEvent(S_.PLAYING)}onSeeking(){this.isBrowserSeeking=!0,this.pauseTimeout&&(this.latestTime=this.previousLatestTime,window.clearTimeout(this.pauseTimeout),delete this.pauseTimeout),this.isPlaying||this.logEvent(S_.PAUSED_SEEK),!(this.isSeeking||!this.isPlaying)&&(this.isSeeking=!0,this.logEvent(S_.SEEK_START))}onEnded(){this.hasEnded=!0,this.logEvent(S_.ENDED)}onPlaying(){this.isSeeking=!1,this.isPlaying=!0,this.hasPlayed=!0,this.completeBufferingEvent()}onWaiting(){this.startBufferingTracking()}onSeeked(){this.isBrowserSeeking=!1}startBufferingTracking(){this.bufferingStartTime===null&&(this.bufferingStartTime=performance.now(),this.bufferingStartContext={currentTime:Math.round(this.player.currentTime()*1e3)/1e3,type:this.getBufferingType(),bufferedAhead:Math.round(this.getBufferedAhead()*1e3)/1e3})}getBufferingType(){return this.hasPlayed?this.isBrowserSeeking?`seek`:`stall`:`initial`}completeBufferingEvent(){if(this.bufferingStartTime===null||this.bufferingStartContext===null)return;let e=performance.now()-this.bufferingStartTime;(this.bufferingStartContext.type!==`seek`||e>b_)&&this.completedBufferingEvents.push({duration:Math.round(e)/1e3,...this.bufferingStartContext}),this.bufferingStartTime=null,this.bufferingStartContext=null}getBufferedAhead(){let e=this.player.currentTime(),t=this.player.buffered();for(let n=0;n<t.length;n++)if(t.start(n)<=e&&e<=t.end(n))return t.end(n)-e;return 0}logEvent(e){if(!this.player)return;let t=this.player.currentTime();e===S_.SEEK_START&&(t=this.latestTime),this.previousLatestTime=this.latestTime,this.latestTime=this.player.currentTime(),this.eventBuffer.push({time:t,type:e})}shouldUseCarriedOverTime(e){return this.lastPlayingTime&&(e===S_.PLAYING||e===S_.PLAY)}shouldSaveCarriedOverTime(e){return e===S_.PLAYING||e===S_.PAUSE}shouldClearCarriedOverTime(e){return e===S_.ENDED||e===S_.PAUSED_SEEK}flushBuffer(){let e=this.buildEventPairs(),t=this.collectBufferingStats();if(!e.length&&!t.length)return;let n=!e.length||this.validateEvents(e)?e:[];this.options.onFlush(n,t),this.player?.trigger(`progressflush`),this.progressReporterDisplay?.addEvents(n)}buildEventPairs(){let e=[],t={};for(;this.eventBuffer.length;){let n=this.eventBuffer.shift();if(this.shouldClearCarriedOverTime(n.type)){delete this.lastPlayingTime;continue}if(!t.start){this.shouldUseCarriedOverTime(n.type)&&(n.time=this.lastPlayingTime,delete this.lastPlayingTime),t.start=n;continue}n.type===S_.PLAYING&&this.eventBuffer.length>0||(this.shouldSaveCarriedOverTime(n.type)&&(this.lastPlayingTime=n.time),t.end=n,e.push(t),t={})}return this.eventBuffer=[],e}collectBufferingStats(){let e=this.completedBufferingEvents;return this.completedBufferingEvents=[],e}validateEvents(e){let t=0;e.forEach(e=>{t+=e.end.time-e.start.time});let n=this.options.interval||y_;return n/=1e3,n+=.5,n*=this.player.playbackRate(),t<n}dispose(){this.player.off(`flushprogress`,this.flushBuffer),this.flushBuffer(),super.dispose()}};X.registerPlugin(`progressReporterPlugin`,C_);var w_=X.getComponent(`Component`),T_=class extends w_{createEl(){return X.dom.createEl(`span`,{innerHTML:`<span class="vjs-icon-placeholder"></span>`,className:`cv-drag-handle vjs-control vjs-button`},{})}},E_=[`top`,`left`,`right`,`bottom`],D_={top:`Top`,left:`Left`,right:`Right`,bottom:`Bottom`},O_=X.getComponent(`Component`),k_=class extends O_{constructor(e,t){super(e,t),this.bindEventListeners()}createEl(){return super.createEl(`div`,{},{class:`cv-drop-target cv-drop-${this.options_.side}`})}bindEventListeners(){let e=this.el(),t=e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,this.addClass(`cv-drag-over`)},n=e=>{e.preventDefault(),this.removeClass(`cv-drag-over`),this.player_.whiteboardModePlugin().setWhiteboardMode(this.options_.side)},r=()=>{this.removeClass(`cv-drag-over`)};e.addEventListener(`dragover`,t),e.addEventListener(`drop`,n),e.addEventListener(`dragleave`,r),this.on(`dispose`,()=>{e.removeEventListener(`dragover`,t),e.removeEventListener(`drop`,n),e.removeEventListener(`dragleave`,r)})}},A_=class extends O_{constructor(e,t){super(e,t),this.addChildren()}addChildren(){E_.forEach(e=>{this.addChild(new k_(this.player_,{side:e}))})}},j_=X.getComponent(`MenuItem`),M_=class extends j_{constructor(e,t){super(e,t)}handleClick(){this.player_.whiteboardModePlugin().setWhiteboardMode(this.options_.side)}},N_=X.getComponent(`MenuButton`),P_=class extends N_{constructor(...e){super(...e),this.alwaysCollapsed=!0,this.isCollapsed=!1,this.isCollabsible=!0}createItems(){let e=this.player_.whiteboardModePlugin().side,t=[new Gm(this.player_,{label:`Video Controls`})];return E_.forEach(n=>{t.push(new M_(this.player_,{side:n,label:D_[n],selectable:!0,multiSelectable:!1,selected:n===e}))}),t}buildWrapperCSSClass(){return`cv-menu-small cv-has-left-icons ${super.buildWrapperCSSClass()}`}getCollabsibleName(){return`Video Controls`}getCollabsibleValue(){return D_[this.player_.whiteboardModePlugin().side]}showInCollabsibleMenu(){return this.player_.whiteboardModePlugin().isEnabled()?this.player_.isFullscreen():!1}showCollapsibleMenu(){N_.prototype.handleClick.apply(this)}},F_=`cv-whiteboard-side`,I_=X.getPlugin(`plugin`),L_=class extends I_{constructor(e){super(e),this.side=`bottom`,this.enabled=!0,this.player.ready(()=>{this.initialize()})}initialize(){if(!this.player.options_.mobile){if(Q.hasLocalStorage()){let e=Q.get(F_);e&&(this.side=e)}this.initCollapserator(),this.initDragTargets(),this.initFullscreenListener()}}initCollapserator(){if(this.player.viewTranscriptPlugin?.().isTranscriptOn())return;let e=this.player.getChild(`collapserator`);this.dragHandle=new T_(this.player),this.button=new P_(this.player),e.addChild(this.dragHandle),e.addChild(this.button),this.player.trigger(`cv-updatecog`);let t=()=>{this.player.isFullscreen()&&e.el().setAttribute(`draggable`,`true`)},n=()=>{this.player.isFullscreen()&&e.el().setAttribute(`draggable`,`false`)},r=e=>{this.player.isFullscreen()&&(this.player.addClass(`cv-dragging`),e.dataTransfer.setData(`text/plain`,`handle`))},i=()=>{this.player.isFullscreen()&&(this.player.removeClass(`cv-dragging`),e.el().setAttribute(`draggable`,`false`))};this.dragHandle.el().addEventListener(`mousedown`,t),this.dragHandle.el().addEventListener(`mouseup`,n),e.el().addEventListener(`dragstart`,r),e.el().addEventListener(`dragend`,i),this.on(`dispose`,()=>{this.dragHandle.el().removeEventListener(`mousedown`,t),this.dragHandle.el().removeEventListener(`mouseup`,n),e.el().removeEventListener(`dragstart`,r),e.el().removeEventListener(`dragend`,i)})}initDragTargets(){this.player.addChild(new A_(this.player))}initFullscreenListener(){this.update=this.update.bind(this),this.player.on(`fullscreenchange`,this.update),this.player.on(`cv-transcript-toggle`,this.update),this.one(`dispose`,()=>{this.player.off(`fullscreenchange`,this.update)})}setWhiteboardMode(e){this.side=e,this.button.update(),Q.hasLocalStorage()&&Q.set(F_,e),this.player.trigger(`cv-whiteboard-change`),this.update()}setEnabled(e){this.enabled=e,this.update()}isEnabled(){return this.enabled}getSide(){return this.isEnabled()?this.side:`bottom`}update(){if(this.player.removeClass(`cv-whiteboard-top`),this.player.removeClass(`cv-whiteboard-left`),this.player.removeClass(`cv-whiteboard-right`),X.dom.removeClass(window.document.documentElement,`cv-whiteboard-html-font-size`),this.player.trigger(`resizemenus`),this.player.trigger(`cv-updatecog`),!this.isEnabled()){this.dragHandle?.hide();return}this.dragHandle?.show();let e=this.getSide();!this.player.isFullscreen()||e===`bottom`||(this.player.addClass(`cv-whiteboard-${e}`),X.dom.addClass(window.document.documentElement,`cv-whiteboard-html-font-size`))}};X.registerPlugin(`whiteboardModePlugin`,L_);var R_=X.getPlugin(`plugin`),z_=[`subtitles`,`captions`],B_=class extends R_{constructor(e){super(e)}deferMenu(){let e={subtitles:this.buildSubtitles(),qualities:this.buildQualities(),playbackSpeeds:this.buildPlaybackSpeeds()};this.player.trigger(`cv-defer-menus`,e)}buildSubtitles(){let e=[],t=!1,n=this.player.textTracks();for(let r=0;r<n.length;r++){let i=n[r];if(!z_.includes(i.kind))continue;let a=i.mode===`showing`;e.unshift({id:i.label,name:i.label,selected:a}),a&&(t=!0)}return e.push({id:null,name:`Off`,selected:!t}),e}buildQualities(){let e=this.player.qualityManager(),t=e.getSelected()?.id,n=e.isAuto();return(e.supportsAuto()?[{id:Uh,name:`Auto`,selected:n}]:[]).concat(e.getLevels().map(e=>({id:e.id,name:e.displayName,selected:!n&&e.id===t})))}buildPlaybackSpeeds(){let e=this.player.playbackRate();return this.player.options_.playbackRates.map(t=>({id:t,name:t+`x`+(t===1?` (Normal)`:``),selected:e===t}))}};X.registerPlugin(`deferMenusPlugin`,B_);var V_=`No skipping ahead!`,H_=`PreventScrubbingTooltip`,U_=1e3,W_=X.getComponent(`Component`),G_=`cv-prevent-scrubbing-tooltip-show`,K_=`cv-prevent-scrubbing-tooltip-remove-transition`,q_=class extends W_{constructor(...e){super(...e),this.isShowing=!1}buildCSSClass(){return`cv-prevent-scrubbing-tooltip ${super.buildCSSClass()}`}createEl(e,t,n){return super.createEl(e,{...t,className:this.buildCSSClass(),innerText:V_},n)}show(){this.isShowing||=(this.player_.userActive(!0),this.addClass(G_),!0)}hide(e=!1){this.isShowing&&=(e&&(this.addClass(K_),window.requestAnimationFrame(()=>{this.removeClass(K_)})),this.player_.userActive(!1),this.removeClass(G_),!1)}};X.registerComponent(H_,q_);var J_=X.getPlugin(`plugin`),Y_=1.25,X_=class extends J_{constructor(e,t){super(e),this.originalPlaybackRates=[],this.isEnabled=!1,this.isPreviewing=!1;let{furthestVisitedTime:n=0,isEnabled:r=!1}=t??{};this.playerCurrentTimeFn=this.player.currentTime.bind(e),this.player.currentTime=this.currentTime.bind(this),this.onTimeUpdate=this.onTimeUpdate.bind(this),this.furthestVisitedTime=n,this.isEnabled=r,r&&this.enable()}dispose(){this.player.currentTime=this.playerCurrentTimeFn,this.isEnabled&&(this.disable(),super.dispose())}togglePreview(e){if(e){if(this.configurePreview(),this.isEnabled)return;this.enable(),this.isPreviewing=!0}else this.disable(),this.isPreviewing=!1}configurePreview(){this.player.currentTime(0),this.furthestVisitedTime=0}enable(){this.player.on(`timeupdate`,this.onTimeUpdate),this.getProgressControl().addChild(H_),this.isEnabled=!0,this.setLimitedPlaybackRates()}disable(){this.player.off(`timeupdate`,this.onTimeUpdate),this.getProgressControl().removeChild(this.getPreventScrubbingTooltip()),this.isEnabled=!1,this.restorePlaybackRates()}setLimitedPlaybackRates(){this.originalPlaybackRates=this.player.playbackRates();let e=this.originalPlaybackRates.filter(e=>e<=Y_);this.player.playbackRates(e),this.player.playbackRate()>Y_&&this.player.persistPlaybackRatePlugin?.().setPlaybackRateWithoutPersisting(1),this.player.trigger(`resizemenus`)}restorePlaybackRates(){this.player.playbackRates(this.originalPlaybackRates),this.player.trigger(`resizemenus`)}getProgressControl(){return this.player.controlBar.getChild(`progressControl`)}onTimeUpdate(){let e=this.playerCurrentTimeFn();e>this.furthestVisitedTime&&(this.furthestVisitedTime=e)}currentTime(e,...t){if(typeof e!=`number`)return this.playerCurrentTimeFn(e,...t);if(!this.isEnabled){this.playerCurrentTimeFn(e,...t);return}let n=this.getPreventScrubbingTooltip(),r=this.getSeekBar()?.getChild(`MouseTimeDisplay`);if(e>this.furthestVisitedTime){n.show(),ih(n.hide,U_,!1,n)(),r?.hide(),this.playerCurrentTimeFn(this.furthestVisitedTime,...t);return}r?.show(),n.hide(!0),this.playerCurrentTimeFn(e,...t)}getPreventScrubbingTooltip(){return this.getProgressControl().getChild(H_)}getSeekBar(){return this.player.controlBar.getChild(`ProgressControl`)?.getChild(`SeekBar`)}};X.registerPlugin(`preventScrubbingPlugin`,X_);var Z_=X.getComponent(`Component`),Q_=X.getComponent(`ClickableComponent`),$_=`
|
|
246
|
+
`,window.clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(()=>{this.removeText()},t)}removeText(){this.el_.className=this.buildCSSClass(),this.el_.innerHTML=``}};X.registerComponent(`TouchControls`,Bg);var Vg=X.getPlugin(`plugin`),Hg=300,Ug=class extends Vg{constructor(e){super(e),this.doubleTouchCount=0,this.seekStartTime=0,this.directionModifier=0,this.bindFunctions(),this.player.ready(()=>this.initialize())}bindFunctions(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.reBindEventListeners=this.reBindEventListeners.bind(this),this.unBindEventListeners=this.unBindEventListeners.bind(this)}initialize(){this.player.addChild(`TouchControls`),this.touchControls=this.player.getChild(`TouchControls`),this.player.on(`ready`,this.reBindEventListeners),this.one(`dispose`,()=>{this.player.off(`ready`,this.reBindEventListeners)}),this.reBindEventListeners()}reBindEventListeners(){this.unBindEventListeners(),this.tech=this.player.tech(!0),this.tech.name()===`Html5`&&(this.tech.on(`touchstart`,this.onTouchStart),this.tech.on(`touchend`,this.onTouchEnd))}unBindEventListeners(){this.tech&&this.tech.name()===`Html5`&&(this.tech.off(`touchstart`,this.onTouchStart),this.tech.off(`touchend`,this.onTouchEnd))}dispose(){super.dispose(),this.unBindEventListeners()}onTouchStart(e){this.touchStartTime=e.timeStamp,this.userActive=this.player.userActive()}onTouchEnd(e){if(e.changedTouches.length){if(e.timeStamp-this.lastTouchTime<Hg){this.onDoubleTouch(e),this.lastTouchTime=e.timeStamp;return}if(this.resetProperties(),this.lastTouchTime=e.timeStamp,e.timeStamp-this.touchStartTime<Hg){window.setTimeout(()=>{this.doubleTouchCount||(this.player.paused()?this.player.play():this.userActive&&this.player.pause())},Hg);return}}}resetProperties(){this.doubleTouchCount=0,this.seekStartTime=0,this.directionModifier=0}onDoubleTouch(e){let t=this.player.el().getBoundingClientRect(),n=t.left+t.width/2;if(this.doubleTouchCount===0&&(this.seekStartTime=this.player.currentTime(),e.changedTouches[0].pageX<n?this.directionModifier=-1:this.directionModifier=1),this.doubleTouchCount++,this.directionModifier<0){if(this.doubleTouchCount*10>this.seekStartTime+10)return;this.touchControls.setUi(-this.doubleTouchCount,Hg*3),this.player.currentTime(this.player.currentTime()-10);return}let r=this.player.duration()-this.seekStartTime;this.doubleTouchCount*10>r+10||(this.touchControls.setUi(this.doubleTouchCount,Hg*3),this.player.currentTime(this.player.currentTime()+10))}};X.registerPlugin(`touchControls`,Ug);var Wg=new Set([`segment`,`segment-media-initialization`,`segment-key`,`dash-sidx`]),Gg=`urn:clickview:dash:extensions:2026`;function Kg(e){let t=new Map;if(!e)return t;let n=new DOMParser().parseFromString(e,`text/xml`);return Array.from(n.getElementsByTagName(`Representation`)).forEach(e=>{let n=e.getAttribute(`id`),r=e.getAttributeNS(Gg,`qualityLabel`),i=parseInt(e.getAttributeNS(Gg,`qualityTier`));!n||!r||isNaN(i)||t.set(n,{quality:i,displayName:r})}),t}var qg=class{constructor(e,t){this.levels=[],this.manifestProfiles=new Map,this.autoEnabled=!0,this.lockedId=null,this.onScreenId=null,this.metadataTrack=null,this.player=e,this.notifier=t,this.onLevelsUpdated=this.onLevelsUpdated.bind(this),this.onSelectionChanged=this.onSelectionChanged.bind(this),this.onCueChange=this.onCueChange.bind(this),this.onTrackAdded=this.onTrackAdded.bind(this),this.onTrackRemoved=this.onTrackRemoved.bind(this),this.trackList=this.player.textTracks(),this.trackList.addEventListener(`addtrack`,this.onTrackAdded),this.trackList.addEventListener(`removetrack`,this.onTrackRemoved),this.bindMetadataTrack(tg.getTrack(this.player));let n=this.getQualityLevelList();n&&(n.on(`addqualitylevel`,this.onLevelsUpdated),n.on(`removequalitylevel`,this.onLevelsUpdated),n.on(`change`,this.onSelectionChanged),this.rebuildLevels())}getLevels(){return this.levels}getSelected(){return this.lockedId===null?this.getActive():this.levels.find(e=>e.id===this.lockedId)??null}getActive(){let e=tg.getOnScreenSegment(this.player)?.playlist??this.getDownloadingListLevel()?.id;return e===void 0?null:this.levels.find(t=>t.id===e)??null}select(e,t){let n=this.getListLevels(),r=n.find(t=>t.id===e);if(!r)return;let i=!this.autoEnabled&&this.lockedId===e&&n.every(t=>t.enabled===(t.id===e));this.autoEnabled=!1,this.lockedId=e,!(i&&!t?.force)&&(this.applyEnabledFlags(n,r,()=>!1,!0),this.notifier.notifyQualityChanged(t?.origin??`system`))}supportsAuto(){return!0}isAuto(){return this.autoEnabled}selectAuto(e){this.autoEnabled||(this.autoEnabled=!0,this.lockedId=null,this.applyEnabledFlags(this.getListLevels(),this.getDownloadingListLevel(),()=>!0,!1),this.notifier.notifyQualityChanged(e?.origin??`system`))}applyEnabledFlags(e,t,n,r){let i=this.getPlaylistController();i&&(i.waitingForFastQualityPlaylistReceived_=!1),e.forEach(e=>{e!==t&&(e.enabled=n(e))}),t&&(i&&(i.waitingForFastQualityPlaylistReceived_=r),t.enabled=!1,t.enabled=!0,i&&(i.waitingForFastQualityPlaylistReceived_=!1))}getPlaylistController(){let e=this.player.tech(!0)?.vhs?.playlistController_;return e&&`waitingForFastQualityPlaylistReceived_`in e?e:null}getDownloadingListLevel(){let e=this.getQualityLevelList();return e&&e.selectedIndex>=0?e[e.selectedIndex]:null}bindMetadataTrack(e){e!==this.metadataTrack&&(this.metadataTrack?.removeEventListener(`cuechange`,this.onCueChange),this.metadataTrack=e,this.onScreenId=null,this.metadataTrack?.addEventListener(`cuechange`,this.onCueChange))}onTrackAdded(e){tg.isTrack(e.track)&&this.bindMetadataTrack(e.track)}onTrackRemoved(e){e.track===this.metadataTrack&&this.bindMetadataTrack(null)}onCueChange(){let e=tg.getOnScreenSegment(this.player)?.playlist??null;e!==this.onScreenId&&(this.onScreenId=e,this.notifier.notifyQualityChanged(`system`))}onLevelsUpdated(){this.rebuildLevels(),this.notifier.notifyLevelsChanged()}onSelectionChanged(){this.notifier.notifyQualityChanged(`system`)}rebuildLevels(){this.refreshManifestProfiles();let e=this.getManifestIdsByLevelId(),t=[];this.getListLevels().forEach(n=>{let r=this.toQualityLevel(n,e.get(n.id));r&&t.push(r)}),this.levels=t.sort((e,t)=>t.quality-e.quality)}toQualityLevel(e,t){let n=t===void 0?void 0:this.manifestProfiles.get(t),r=n?.quality??e.height;return r===void 0?null:{id:e.id,quality:r,displayName:n?.displayName??`${r}p`,preset:t,width:e.width,height:e.height,bitrate:e.bitrate,frameRate:e.frameRate}}refreshManifestProfiles(){let e=this.player.tech(!0)?.vhs?.playlists?.mainXml_;e!==this.parsedManifestXml&&(this.parsedManifestXml=e,this.manifestProfiles=Kg(e))}getManifestIdsByLevelId(){let e=new Map;return(this.player.tech(!0)?.vhs?.representations?.()??[]).forEach(t=>{let n=t.playlist?.attributes?.NAME;n!==void 0&&e.set(t.id,n)}),e}getListLevels(){let e=this.getQualityLevelList();return e?Array.from(e):[]}getQualityLevelList(){return this.player.qualityLevels?.()??null}dispose(){this.trackList.removeEventListener(`addtrack`,this.onTrackAdded),this.trackList.removeEventListener(`removetrack`,this.onTrackRemoved),this.bindMetadataTrack(null);let e=this.getQualityLevelList();e&&(e.off(`addqualitylevel`,this.onLevelsUpdated),e.off(`removequalitylevel`,this.onLevelsUpdated),e.off(`change`,this.onSelectionChanged))}},Jg=class{constructor(e,t,n,r){this.player=e,this.notifier=t,this.files=n,this.currentProfile=r}getLevels(){return this.files.map(e=>({id:e.profile,quality:e.quality,displayName:e.label??`${e.quality}p`,preset:e.profile}))}getSelected(){return this.getLevels().find(e=>e.id===this.currentProfile)??null}getActive(){return this.getSelected()}select(e,t){if(e===this.currentProfile&&!t?.force)return;let n=this.files.find(t=>t.profile===e);n&&(this.currentProfile=n.profile,Yh.applyFile(this.player,n),this.notifier.notifyQualityChanged(t?.origin??`system`))}supportsAuto(){return!1}isAuto(){return!1}selectAuto(){}repopulate(e){let t=this.currentProfile;this.files=e;let n=this.files.find(e=>e.profile===t)??this.files[0];this.currentProfile=n?.profile??null,n&&Yh.applyFile(this.player,n),this.notifier.notifyLevelsChanged()}dispose(){}},Yg=X.getPlugin(`plugin`),Xg=class extends Yg{constructor(e,t){super(e),this.options=t,this.files=Yh.sortFilesByQuality(t.files),this.player.ready(()=>this.initialize())}async initialize(){this.onLoadStart=this.onLoadStart.bind(this),this.onLocalCacheChanged=this.onLocalCacheChanged.bind(this),this.onXhrHooksReady=this.onXhrHooksReady.bind(this),this.onVhsRequest=this.onVhsRequest.bind(this);let e=this.getLocalCachePlugin();if(this.player.on(`loadstart`,this.onLoadStart),this.player.on(`xhr-hooks-ready`,this.onXhrHooksReady),this.player.one(`playing`,()=>this.hasPlayed=!0),e?.on(`localcachechanged`,this.onLocalCacheChanged),this.activeLocalCache=e?await e.getActiveLocalCache():null,!this.player)return;let{sources:t,defaultFile:n}=Yh.planSources({files:this.files,viewKey:this.options.viewKey,settings:this.options.settings,activeLocalCache:this.activeLocalCache});n&&(this.defaultProfile=n.profile),this.player.src(t)}repopulateSources(e){if(this.files=Yh.sortFilesByQuality(e),this.activeMode===`progressive`){this.getProgressiveController()?.repopulate(this.files.progressive);return}let t=Yh.getDashSource(this.files,this.options.viewKey,this.activeLocalCache);if(t){qh(this.player,t);return}let n=Yh.getDefaultProgressiveFile(this.files,this.options.settings);this.applyProgressiveFile(n)}hasPendingFallback(){return this.activeMode===`dash`&&!this.hasPlayed&&this.files.progressive.length>0}onLoadStart(){let e=this.player.currentType()===`application/dash+xml`?`dash`:`progressive`;if(e===this.activeMode)return;this.activeMode=e;let t=this.player.qualityManager();if(e===`dash`){t.setController(new qg(this.player,t));return}t.setController(new Jg(this.player,t,this.files.progressive,this.defaultProfile))}onXhrHooksReady(){this.player.tech(!0)?.vhs?.xhr.onRequest(this.onVhsRequest)}onVhsRequest(e){return this.activeLocalCache&&Wg.has(e.requestType)&&(e.uri=this.activeLocalCache.getUrl(e.uri)),e}onLocalCacheChanged(e,t){let n=t?.localCache??null;if(this.activeLocalCache=n,!this.activeMode)return;if(this.activeMode===`dash`){let e=Yh.getDashSource(this.files,this.options.viewKey,n);e&&qh(this.player,e);return}let r=this.player.qualityManager(),i=(n?.playbackQuality?Rh(r.getLevels(),n.playbackQuality):null)??r.getSelected();i&&r.select(i.id,{force:!0})}applyProgressiveFile(e){this.defaultProfile=e.profile,Yh.applyFile(this.player,e)}getProgressiveController(){let e=this.player.qualityManager().getController();return e instanceof Jg?e:null}getLocalCachePlugin(){return this.player.usingPlugin(`localCache`)?this.player.localCache():null}dispose(){this.player.off(`loadstart`,this.onLoadStart),this.player.off(`xhr-hooks-ready`,this.onXhrHooksReady),this.getLocalCachePlugin()?.off(`localcachechanged`,this.onLocalCacheChanged),super.dispose()}};X.registerPlugin(`mediaSources`,Xg);var Zg=class e{static getProxyUrl(t,n){return n?e.unwrapProxyUrl(n)===null?t+`cache?file=`+encodeURIComponent(n):n:null}static getOriginalUrl(t){return e.unwrapProxyUrl(t)??t}static unwrapProxyUrl(e){if(!e)return null;let t;try{t=new URL(e)}catch{return null}return t.pathname.endsWith(`/cache`)&&t.searchParams.get(`file`)||null}},Qg=class{constructor(e){this.name=e.name,this.playbackProfile=e.playbackProfile,this.playbackQuality=e.playbackQuality,this.address=new URL(e.httpsAddress)}getUrl(e){return Zg.getProxyUrl(this.address,e)}async ping(){let e=new AbortController,t=setTimeout(()=>e.abort(),1e3);try{let n=await(await fetch(this.address+`ping`,{method:`GET`,mode:`cors`,signal:e.signal})).text();return clearTimeout(t),n===`PONG`}catch{return!1}}},$g=class{constructor(e){this.player=e,this.logger=X.log.createLogger(`localcache`)}async setSource(e,t){if(e?.type===`application/dash+xml`){t(null,e);return}if(this.player.localCache&&e?.src!==void 0){let t=await this.player.localCache().getActiveLocalCache();t!==null&&(this.logger.debug(`Using Local Cache`,t),e.src=t.getUrl(e.src))}t(null,e)}};X.use(`*`,e=>new $g(e));var e_=`<?xml version="1.0" encoding="UTF-8"?><svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.9"><g id="Local-Cache" transform="translate(2.000000, 2.000000)"><rect id="Rectangle" fill="#FFFFFF" x="0" y="2.4" width="18.8" height="15.2"></rect><ellipse id="Oval" fill="#FFFFFF" cx="9.4" cy="2.4" rx="9.4" ry="2.4"></ellipse><ellipse id="Oval-Copy" fill="#FFFFFF" cx="9.4" cy="17.6" rx="9.4" ry="2.4"></ellipse><g id="Logo/Circle" transform="translate(2.500000, 3.000000)"><circle id="Oval" fill="#FFFFFF" cx="7" cy="7" r="7"></circle><polygon id="Fill-1" fill="#F8981D" points="4.66666667 2.33333333 4.66666667 11.4245258 10.0383286 6.87866667"></polygon></g></g></g></svg>`,t_=X.getComponent(`Component`),n_=class extends t_{constructor(e,t){super(e,t),this.hide(),this.onLocalCacheChange=this.onLocalCacheChange.bind(this),e.ready(()=>{this.initialize()})}createEl(){return super.createEl(`div`,{className:`vjs-local-cache-indicator`,innerHTML:`<div class="vjs-local-cache-indicator-icon">${e_}</div>`},{title:`Streaming from ClickView Local Cache`})}initialize(){this.localCachePlugin=this.player_.localCache(),this.localCachePlugin&&(this.localCachePlugin.on(`localcachechanged`,this.onLocalCacheChange),this.player_.on(`dispose`,()=>{this.localCachePlugin.off(`localcachechanged`,this.onLocalCacheChange)}),this.onLocalCacheChange())}async onLocalCacheChange(){await this.localCachePlugin.getActiveLocalCache()?this.show():this.hide()}};X.registerComponent(`localCacheIndicator`,n_);var r_=X.getPlugin(`plugin`),i_=class extends r_{constructor(e,t){if(super(e),this.logger_=X.log.createLogger(`localcache`),t===void 0)throw Error(`no options defined`);this.localCaches_=t.localCacheAddresses.map(e=>new Qg(e)),this.player.ready(()=>{this.initialize(),t.enabled&&this.enable()})}get isEnabled(){return this.enabled_}enable(){this.enabled_=!0,this.resetActiveLocalCache()}disable(){this.enabled_=!1}getActiveLocalCache(){return this.enabled_?this.activeLocalCache_:null}resetActiveLocalCache(){this.clearActiveLocalCache(),this.activeLocalCache_=this.getActiveLocalCacheInternal()}clearActiveLocalCache(){this.activeLocalCache_&&(this.activeLocalCache_=null,this.onLocalCacheChange(null))}removeLocalCache(e){this.localCaches_=this.localCaches_.filter(t=>t!==e)}dispose(){super.dispose()}initialize(){this.player.controlBar.addChild(`localCacheIndicator`)}async handleNetworkError(){let e=await this.getActiveLocalCache();return e&&await e.ping()&&this.removeLocalCache(e),this.resetActiveLocalCache(),await this.getActiveLocalCache(),!0}async getActiveLocalCacheInternal(){let e=[],t=async t=>{await t.ping()&&e.push(t)};if(await Promise.all(this.localCaches_.map(e=>t(e))),e.length>0){let t=e[0];return this.onLocalCacheChange(t),t}return null}onLocalCacheChange(e){this.logger_.debug(`Local Cache changed`,e),this.trigger(`localcachechanged`,{localCache:e})}};X.registerPlugin(`localCache`,i_);var a_=9e5,o_=X.getPlugin(`plugin`),s_=class extends o_{constructor(e,t){super(e),this.playerApi=t.playerApi,this.fileToken=t.fileToken,this.logger=X.log.createLogger(`video-signature-expiry-plugin`),this.bindErrorHandlers()}bindErrorHandlers(){this.onError=this.onError.bind(this),this.player.on(`error`,this.onError)}dispose(){this.player.off(`error`,this.onError),super.dispose()}async onError(){let e=this.player.error();if(!e||this.player.usingPlugin(`mediaSources`)&&this.player.mediaSources().hasPendingFallback())return;let t=e.code;if(!(t!==MediaError.MEDIA_ERR_NETWORK&&t!==MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED)){if(await this.player.localCache().getActiveLocalCache()){this.callErrorHandler(()=>this.player.localCache().handleNetworkError());return}this.callErrorHandler(()=>this.handleVideoSignatureExpiry())}}async handleVideoSignatureExpiry(){if(!this.playerApi||!this.fileToken||this.refetchedSourcesTimestamp+a_>Date.now())return!1;this.refetchedSourcesTimestamp=Date.now();let e=null;try{this.logger.debug(`Detected expired mp4 urls, attempting to refetch`);let t=`${this.playerApi.origin}/api/files?fileToken=${this.fileToken}`;e=await og.get(t)}catch{return this.logger.error(`Failed to refetch expired mp4 urls`),!1}return this.logger.debug(`Mp4 urls successfully refetched`),this.player.mediaSources().repopulateSources(e),this.fileToken=e.fileToken,!0}async callErrorHandler(e){let t=this.player.currentTime(),n=!this.player.paused(),r=()=>{this.player.currentTime(t),n&&this.player.play(),this.player.error(null)};this.player.one(`loadedmetadata`,r),!await e()&&this.player.off(`loadedmetadata`,r)}};X.registerPlugin(`handleNetworkErrors`,s_);var c_=X.getPlugin(`plugin`),l_=`cvplayer-show-subtitles`,u_=`cvplayer-selected-language`,d_=`cvplayer-subtitle-size`,f_=class extends c_{constructor(e,t){super(e),this.options=t;let n=this.player.textTrackSettings;this.defaultSubtitleSize=n.getSizeSetting(),this.initialize()}initialize(){this.applyUserPreferences=this.applyUserPreferences.bind(this),this.player.textTracks().length&&(this.applyUserPreferences(),this.bindEventListeners())}applyUserPreferences(){let e=!!this.options.showSubtitles,t=this.safeGet(l_);if(t===`true`&&(e=!0),t===`false`&&(e=!1),e){let e=this.guessWhichTrack();e&&(e.mode=`showing`,this.player.trigger(`cv:languageselected`))}else this.hideSubtitles();let n=this.safeGet(d_);n||=this.options.subtitleSize??this.defaultSubtitleSize,this.player.options_.mobile&&(n=`medium`),this.player.textTrackSettings.setSizeSetting(n)}safeGet(e){if(Q.hasLocalStorage())return Q.get(e)}onSelectedLanguageChange(){let e=this.player.textTracks();for(let t=0;t<e.length;t++){let n=e[t];if(n.kind===`subtitles`&&n.mode===`showing`){Q.set(l_,`true`),Q.set(u_,n.language),this.options.analyticsService?.logUserAction({language:n.language},{actionType:_.Select,entity:S.Subtitle,workflowPhase:v.Complete,descriptor:b.On});return}}Q.set(l_,`false`),Q.remove(u_),this.options.analyticsService?.logUserAction({language:``},{actionType:_.Select,entity:S.Subtitle,workflowPhase:v.Complete,descriptor:b.Off,eventVersion:g.V3})}bindEventListeners(){Q.hasLocalStorage()&&(this.onSelectedLanguageChange=this.onSelectedLanguageChange.bind(this),this.onChangeSubtitleSize=this.onChangeSubtitleSize.bind(this),this.player.on(`cv:languageselected`,this.onSelectedLanguageChange),this.player.on(`changesubtitlesize`,this.onChangeSubtitleSize),this.one(`dispose`,()=>{this.player.off(`cv:languageselected`,this.onSelectedLanguageChange),this.player.off(`changesubtitlesize`,this.onChangeSubtitleSize)}))}onChangeSubtitleSize(){let e=this.player.textTrackSettings;if(!e)return;let t=e.getSizeSetting();Q.set(d_,t)}guessWhichTrack(){let e=this.safeGet(u_)||window.navigator.language,{language:t,country:n}=this.getLanguageParts(e),r,i,a=this.player.textTracks();for(let e=0;e<a.length;e++){let o=a[e];if(o.kind!==`subtitles`)continue;let{language:s,country:c}=this.getLanguageParts(o.language);if(s===t&&(r=o,c||(i=o),c===n))return r}return i||r||null}getLanguageParts(e){let t=e.toLowerCase().split(`-`);return{language:t[0],country:t[1]}}hideSubtitles(){let e=this.player.textTracks();for(let t=0;t<e.length;t++){let n=e[t];if(n.kind!==`subtitles`)return;n.mode=`disabled`}}previewModeSubtitles(){let e=this.guessWhichTrack();e&&(e.mode=`showing`),this.player.off(`changesubtitlesize`,this.onChangeSubtitleSize),this.player.textTrackSettings.setSizeSetting(`large`),this.player.on(`changesubtitlesize`,this.onChangeSubtitleSize)}};X.registerPlugin(`persistSubtitleSettingsPlugin`,f_);var p_=X.getPlugin(`plugin`),m_=class extends p_{constructor(e,t){super(e),this.enabled=!0,this.options=t,this.player.ready(()=>this.initialize())}async initialize(){this.onQualityChanged=this.onQualityChanged.bind(this),this.onQualityLevelsChanged=this.onQualityLevelsChanged.bind(this),this.player.on(`quality-changed`,this.onQualityChanged),this.player.on(`quality-levels-changed`,this.onQualityLevelsChanged),await this.onQualityLevelsChanged()}disable(){this.enabled=!1}enable(){this.enabled=!0}async applyUserPreferences(){let e=this.player.qualityManager(),t=await this.getActiveLocalCache(),n=t?t.playbackQuality??Kh.resolveProgressive(this.options,!0):null;if(e.supportsAuto()){if(n){e.selectPreferred(n);return}let t=Kh.resolveDash();if(t===`auto`){e.selectAuto();return}e.selectPreferred(t);return}let r=n??Kh.resolveProgressive(this.options,!!t);r&&e.selectPreferred(r)}async onQualityLevelsChanged(){this.enabled&&await this.applyUserPreferences()}async onQualityChanged(e,t){if(!this.enabled||t?.origin!==`user`)return;let n=this.player.qualityManager(),r=n.isAuto()?Uh:n.getSelected()?.quality;r&&(await this.persistQualitySelection(r),this.logQualitySelection(r))}async persistQualitySelection(e){if(this.player.qualityManager().supportsAuto()){e===`auto`?Kh.clearDashLock():Kh.storeDashLock(e);return}e!==`auto`&&Kh.storeProgressive(e,await this.isLocalCacheActive())}logQualitySelection(e){this.options.analyticsService.logUserAction({quality:e.toString(),playerMode:$h(this.player),playerWidth:this.player.currentWidth(),playerHeight:this.player.currentHeight(),isQualityUserPreference:Kh.hasStoredPreference()},{actionType:_.Select,workflowPhase:v.Complete,descriptor:y.ChangeResolution,entity:S.Resolution,eventVersion:g.V3})}async isLocalCacheActive(){return!!await this.getActiveLocalCache()}getActiveLocalCache(){return this.player.usingPlugin(`localCache`)?this.player.localCache().getActiveLocalCache():Promise.resolve(null)}dispose(){this.player.off(`quality-changed`,this.onQualityChanged),this.player.off(`quality-levels-changed`,this.onQualityLevelsChanged),super.dispose()}};X.registerPlugin(`persistQualitySettingsPlugin`,m_);var h_=X.getComponent(`Component`),g_=class extends h_{constructor(e,t){super(e,t)}createEl(){return X.dom.createEl(`div`,{className:`cv-progress-reporter-item`})}update(){let e=this.options_.event,t=this.player_.duration(),n=(e.end.time-e.start.time)/t;this.el_.style.width=n*100+`%`;let r=e.start.time/t;this.el_.style.left=r*100+`%`}},__=class extends h_{constructor(...e){super(...e),this.events_=[]}update(){let e=this.children();for(let t=e.length;t>0;t--)this.removeChild(e[t]);this.events_.forEach(e=>{let t=new g_(this.player(),{event:e});this.addChild(t),t.update()})}addEvents(e){this.events_.push(...e),this.update()}createEl(){return X.dom.createEl(`div`,{className:`cv-progress-reporter-display`})}},v_=X.getPlugin(`plugin`),y_=5e3,b_=200,x_=`ArrowUpArrowUpArrowDownArrowDownArrowLeftArrowRightArrowLeftArrowRightba`,S_={PLAY:`play`,PLAYING:`playing`,PAUSE:`pause`,SEEKING:`seeking`,SEEK_START:`seekstart`,SEEK_END:`seekend`,ENDED:`ended`,PAUSED_SEEK:`pausedseek`,TIME_UPDATE:`timeupdate`,WAITING:`waiting`,SEEKED:`seeked`},C_=class extends v_{constructor(e,t){super(e,t),this.eventBuffer=[],this.latestTime=0,this.lastPlayingTime=0,this.isPlaying=!1,this.isSeeking=!1,this.hasEnded=!1,this.isBrowserSeeking=!1,this.hasPlayed=!1,this.bufferingStartTime=null,this.bufferingStartContext=null,this.completedBufferingEvents=[],this.shouldLogPlayOnTimeUpdate=!1,this.options=t,this.player.ready(()=>this.initialize())}initialize(){this.validateOptions(),this.bindListeners(),this.startInterval(),this.addEasterEgg()}validateOptions(){if(typeof this.options.onFlush!=`function`)throw Error(`Please provide the onFlush option`)}bindListeners(){let e={[S_.PLAY]:()=>this.onPlay(),[S_.PAUSE]:()=>this.onPause(),[S_.TIME_UPDATE]:()=>this.onTimeUpdate(),[S_.SEEKING]:()=>this.onSeeking(),[S_.ENDED]:()=>this.onEnded(),[S_.PLAYING]:()=>this.onPlaying(),[S_.WAITING]:()=>this.onWaiting(),[S_.SEEKED]:()=>this.onSeeked()},t=Object.keys(e);t.forEach(t=>this.player.on(t,e[t])),this.one(`dispose`,()=>{t.forEach(t=>this.player.off(t,e[t]))}),this.flushBuffer=this.flushBuffer.bind(this),this.player.on(`flushprogress`,this.flushBuffer)}startInterval(){let e=this.options.interval||y_;this.interval=window.setInterval(()=>this.flushBuffer(),e),this.player.one(`dispose`,()=>window.clearInterval(this.interval))}addEasterEgg(){let e=``,t,n=n=>{e+=n.key,e===x_&&this.addDisplay(),window.clearTimeout(t),t=window.setTimeout(()=>{e=``},500)},r=!1,i,a=()=>{r=!0,i=window.setTimeout(()=>{r&&this.addDisplay()},1e4)};function o(){r=!1,window.clearTimeout(i)}this.player.el().addEventListener(`keyup`,n);let s=this.player.getChild(`Collapserator`).getChild(`PlayToggle`);s.on(`touchstart`,a),s.on(`touchend`,o),this.player.one(`dispose`,()=>{this.player?.el()?.removeEventListener(`keyup`,n),s.off(`touchstart`,a),s.off(`touchend`,o)})}addDisplay(){this.progressReporterDisplay||(this.progressReporterDisplay=new __(this.player),this.player.addChild(this.progressReporterDisplay),this.player.options_.inactivityTimeout=0,this.player.one(`dispose`,()=>{this.progressReporterDisplay=void 0}))}onPlay(){if(this.isPlaying=!0,this.isSeeking){this.logEvent(S_.SEEK_END),this.isSeeking=!1;return}if(this.hasEnded){this.shouldLogPlayOnTimeUpdate=!0,this.hasEnded=!1;return}this.logEvent(S_.PLAY)}onPause(){this.isSeeking||(this.pauseTimeout=window.setTimeout(()=>{this.isPlaying=!1,this.completeBufferingEvent(),this.logEvent(S_.PAUSE),delete this.pauseTimeout},50))}onTimeUpdate(){this.shouldLogPlayOnTimeUpdate&&(this.shouldLogPlayOnTimeUpdate=!1,this.logEvent(S_.PLAY)),!(!this.isPlaying||this.isSeeking)&&this.logEvent(S_.PLAYING)}onSeeking(){this.isBrowserSeeking=!0,this.pauseTimeout&&(this.latestTime=this.previousLatestTime,window.clearTimeout(this.pauseTimeout),delete this.pauseTimeout),this.isPlaying||this.logEvent(S_.PAUSED_SEEK),!(this.isSeeking||!this.isPlaying)&&(this.isSeeking=!0,this.logEvent(S_.SEEK_START))}onEnded(){this.hasEnded=!0,this.logEvent(S_.ENDED)}onPlaying(){this.isSeeking=!1,this.isPlaying=!0,this.hasPlayed=!0,this.completeBufferingEvent()}onWaiting(){this.startBufferingTracking()}onSeeked(){this.isBrowserSeeking=!1}startBufferingTracking(){this.bufferingStartTime===null&&(this.bufferingStartTime=performance.now(),this.bufferingStartContext={currentTime:Math.round(this.player.currentTime()*1e3)/1e3,type:this.getBufferingType(),bufferedAhead:Math.round(this.getBufferedAhead()*1e3)/1e3})}getBufferingType(){return this.hasPlayed?this.isBrowserSeeking?`seek`:`stall`:`initial`}completeBufferingEvent(){if(this.bufferingStartTime===null||this.bufferingStartContext===null)return;let e=performance.now()-this.bufferingStartTime;(this.bufferingStartContext.type!==`seek`||e>b_)&&this.completedBufferingEvents.push({duration:Math.round(e)/1e3,...this.bufferingStartContext}),this.bufferingStartTime=null,this.bufferingStartContext=null}getBufferedAhead(){let e=this.player.currentTime(),t=this.player.buffered();for(let n=0;n<t.length;n++)if(t.start(n)<=e&&e<=t.end(n))return t.end(n)-e;return 0}logEvent(e){if(!this.player)return;let t=this.player.currentTime();e===S_.SEEK_START&&(t=this.latestTime),this.previousLatestTime=this.latestTime,this.latestTime=this.player.currentTime(),this.eventBuffer.push({time:t,type:e})}shouldUseCarriedOverTime(e){return this.lastPlayingTime&&(e===S_.PLAYING||e===S_.PLAY)}shouldSaveCarriedOverTime(e){return e===S_.PLAYING||e===S_.PAUSE}shouldClearCarriedOverTime(e){return e===S_.ENDED||e===S_.PAUSED_SEEK}flushBuffer(){let e=this.buildEventPairs(),t=this.collectBufferingStats();if(!e.length&&!t.length)return;let n=!e.length||this.validateEvents(e)?e:[];this.options.onFlush(n,t),this.player?.trigger(`progressflush`),this.progressReporterDisplay?.addEvents(n)}buildEventPairs(){let e=[],t={};for(;this.eventBuffer.length;){let n=this.eventBuffer.shift();if(this.shouldClearCarriedOverTime(n.type)){delete this.lastPlayingTime;continue}if(!t.start){this.shouldUseCarriedOverTime(n.type)&&(n.time=this.lastPlayingTime,delete this.lastPlayingTime),t.start=n;continue}n.type===S_.PLAYING&&this.eventBuffer.length>0||(this.shouldSaveCarriedOverTime(n.type)&&(this.lastPlayingTime=n.time),t.end=n,e.push(t),t={})}return this.eventBuffer=[],e}collectBufferingStats(){let e=this.completedBufferingEvents;return this.completedBufferingEvents=[],e}validateEvents(e){let t=0;e.forEach(e=>{t+=e.end.time-e.start.time});let n=this.options.interval||y_;return n/=1e3,n+=.5,n*=this.player.playbackRate(),t<n}dispose(){this.player.off(`flushprogress`,this.flushBuffer),this.flushBuffer(),super.dispose()}};X.registerPlugin(`progressReporterPlugin`,C_);var w_=X.getComponent(`Component`),T_=class extends w_{createEl(){return X.dom.createEl(`span`,{innerHTML:`<span class="vjs-icon-placeholder"></span>`,className:`cv-drag-handle vjs-control vjs-button`},{})}},E_=[`top`,`left`,`right`,`bottom`],D_={top:`Top`,left:`Left`,right:`Right`,bottom:`Bottom`},O_=X.getComponent(`Component`),k_=class extends O_{constructor(e,t){super(e,t),this.bindEventListeners()}createEl(){return super.createEl(`div`,{},{class:`cv-drop-target cv-drop-${this.options_.side}`})}bindEventListeners(){let e=this.el(),t=e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,this.addClass(`cv-drag-over`)},n=e=>{e.preventDefault(),this.removeClass(`cv-drag-over`),this.player_.whiteboardModePlugin().setWhiteboardMode(this.options_.side)},r=()=>{this.removeClass(`cv-drag-over`)};e.addEventListener(`dragover`,t),e.addEventListener(`drop`,n),e.addEventListener(`dragleave`,r),this.on(`dispose`,()=>{e.removeEventListener(`dragover`,t),e.removeEventListener(`drop`,n),e.removeEventListener(`dragleave`,r)})}},A_=class extends O_{constructor(e,t){super(e,t),this.addChildren()}addChildren(){E_.forEach(e=>{this.addChild(new k_(this.player_,{side:e}))})}},j_=X.getComponent(`MenuItem`),M_=class extends j_{constructor(e,t){super(e,t)}handleClick(){this.player_.whiteboardModePlugin().setWhiteboardMode(this.options_.side)}},N_=X.getComponent(`MenuButton`),P_=class extends N_{constructor(...e){super(...e),this.alwaysCollapsed=!0,this.isCollapsed=!1,this.isCollabsible=!0}createItems(){let e=this.player_.whiteboardModePlugin().side,t=[new Gm(this.player_,{label:`Video Controls`})];return E_.forEach(n=>{t.push(new M_(this.player_,{side:n,label:D_[n],selectable:!0,multiSelectable:!1,selected:n===e}))}),t}buildWrapperCSSClass(){return`cv-menu-small cv-has-left-icons ${super.buildWrapperCSSClass()}`}getCollabsibleName(){return`Video Controls`}getCollabsibleValue(){return D_[this.player_.whiteboardModePlugin().side]}showInCollabsibleMenu(){return this.player_.whiteboardModePlugin().isEnabled()?this.player_.isFullscreen():!1}showCollapsibleMenu(){N_.prototype.handleClick.apply(this)}},F_=`cv-whiteboard-side`,I_=X.getPlugin(`plugin`),L_=class extends I_{constructor(e){super(e),this.side=`bottom`,this.enabled=!0,this.player.ready(()=>{this.initialize()})}initialize(){if(!this.player.options_.mobile){if(Q.hasLocalStorage()){let e=Q.get(F_);e&&(this.side=e)}this.initCollapserator(),this.initDragTargets(),this.initFullscreenListener()}}initCollapserator(){if(this.player.viewTranscriptPlugin?.().isTranscriptOn())return;let e=this.player.getChild(`collapserator`);this.dragHandle=new T_(this.player),this.button=new P_(this.player),e.addChild(this.dragHandle),e.addChild(this.button),this.player.trigger(`cv-updatecog`);let t=()=>{this.player.isFullscreen()&&e.el().setAttribute(`draggable`,`true`)},n=()=>{this.player.isFullscreen()&&e.el().setAttribute(`draggable`,`false`)},r=e=>{this.player.isFullscreen()&&(this.player.addClass(`cv-dragging`),e.dataTransfer.setData(`text/plain`,`handle`))},i=()=>{this.player.isFullscreen()&&(this.player.removeClass(`cv-dragging`),e.el().setAttribute(`draggable`,`false`))};this.dragHandle.el().addEventListener(`mousedown`,t),this.dragHandle.el().addEventListener(`mouseup`,n),e.el().addEventListener(`dragstart`,r),e.el().addEventListener(`dragend`,i),this.on(`dispose`,()=>{this.dragHandle.el().removeEventListener(`mousedown`,t),this.dragHandle.el().removeEventListener(`mouseup`,n),e.el().removeEventListener(`dragstart`,r),e.el().removeEventListener(`dragend`,i)})}initDragTargets(){this.player.addChild(new A_(this.player))}initFullscreenListener(){this.update=this.update.bind(this),this.player.on(`fullscreenchange`,this.update),this.player.on(`cv-transcript-toggle`,this.update),this.one(`dispose`,()=>{this.player.off(`fullscreenchange`,this.update)})}setWhiteboardMode(e){this.side=e,this.button.update(),Q.hasLocalStorage()&&Q.set(F_,e),this.player.trigger(`cv-whiteboard-change`),this.update()}setEnabled(e){this.enabled=e,this.update()}isEnabled(){return this.enabled}getSide(){return this.isEnabled()?this.side:`bottom`}update(){if(this.player.removeClass(`cv-whiteboard-top`),this.player.removeClass(`cv-whiteboard-left`),this.player.removeClass(`cv-whiteboard-right`),X.dom.removeClass(window.document.documentElement,`cv-whiteboard-html-font-size`),this.player.trigger(`resizemenus`),this.player.trigger(`cv-updatecog`),!this.isEnabled()){this.dragHandle?.hide();return}this.dragHandle?.show();let e=this.getSide();!this.player.isFullscreen()||e===`bottom`||(this.player.addClass(`cv-whiteboard-${e}`),X.dom.addClass(window.document.documentElement,`cv-whiteboard-html-font-size`))}};X.registerPlugin(`whiteboardModePlugin`,L_);var R_=X.getPlugin(`plugin`),z_=[`subtitles`,`captions`],B_=class extends R_{constructor(e){super(e)}deferMenu(){let e={subtitles:this.buildSubtitles(),qualities:this.buildQualities(),playbackSpeeds:this.buildPlaybackSpeeds()};this.player.trigger(`cv-defer-menus`,e)}buildSubtitles(){let e=[],t=!1,n=this.player.textTracks();for(let r=0;r<n.length;r++){let i=n[r];if(!z_.includes(i.kind))continue;let a=i.mode===`showing`;e.unshift({id:i.label,name:i.label,selected:a}),a&&(t=!0)}return e.push({id:null,name:`Off`,selected:!t}),e}buildQualities(){let e=this.player.qualityManager(),t=e.getSelected()?.id,n=e.isAuto();return(e.supportsAuto()?[{id:Uh,name:`Auto`,selected:n}]:[]).concat(e.getLevels().map(e=>({id:e.id,name:e.displayName,selected:!n&&e.id===t})))}buildPlaybackSpeeds(){let e=this.player.playbackRate();return this.player.options_.playbackRates.map(t=>({id:t,name:t+`x`+(t===1?` (Normal)`:``),selected:e===t}))}};X.registerPlugin(`deferMenusPlugin`,B_);var V_=`No skipping ahead!`,H_=`PreventScrubbingTooltip`,U_=1e3,W_=X.getComponent(`Component`),G_=`cv-prevent-scrubbing-tooltip-show`,K_=`cv-prevent-scrubbing-tooltip-remove-transition`,q_=class extends W_{constructor(...e){super(...e),this.isShowing=!1}buildCSSClass(){return`cv-prevent-scrubbing-tooltip ${super.buildCSSClass()}`}createEl(e,t,n){return super.createEl(e,{...t,className:this.buildCSSClass(),innerText:V_},n)}show(){this.isShowing||=(this.player_.userActive(!0),this.addClass(G_),!0)}hide(e=!1){this.isShowing&&=(e&&(this.addClass(K_),window.requestAnimationFrame(()=>{this.removeClass(K_)})),this.player_.userActive(!1),this.removeClass(G_),!1)}};X.registerComponent(H_,q_);var J_=X.getPlugin(`plugin`),Y_=1.25,X_=class extends J_{constructor(e,t){super(e),this.originalPlaybackRates=[],this.isEnabled=!1,this.isPreviewing=!1;let{furthestVisitedTime:n=0,isEnabled:r=!1}=t??{};this.playerCurrentTimeFn=this.player.currentTime.bind(e),this.player.currentTime=this.currentTime.bind(this),this.onTimeUpdate=this.onTimeUpdate.bind(this),this.furthestVisitedTime=n,this.isEnabled=r,r&&this.enable()}dispose(){this.player.currentTime=this.playerCurrentTimeFn,this.isEnabled&&(this.disable(),super.dispose())}togglePreview(e){if(e){if(this.configurePreview(),this.isEnabled)return;this.enable(),this.isPreviewing=!0}else this.disable(),this.isPreviewing=!1}configurePreview(){this.player.currentTime(0),this.furthestVisitedTime=0}enable(){this.player.on(`timeupdate`,this.onTimeUpdate),this.getProgressControl().addChild(H_),this.isEnabled=!0,this.setLimitedPlaybackRates()}disable(){this.player.off(`timeupdate`,this.onTimeUpdate),this.getProgressControl().removeChild(this.getPreventScrubbingTooltip()),this.isEnabled=!1,this.restorePlaybackRates()}setLimitedPlaybackRates(){this.originalPlaybackRates=this.player.playbackRates();let e=this.originalPlaybackRates.filter(e=>e<=Y_);this.player.playbackRates(e),this.player.playbackRate()>Y_&&this.player.persistPlaybackRatePlugin?.().setPlaybackRateWithoutPersisting(1),this.player.trigger(`resizemenus`)}restorePlaybackRates(){this.player.playbackRates(this.originalPlaybackRates),this.player.trigger(`resizemenus`)}getProgressControl(){return this.player.controlBar.getChild(`progressControl`)}onTimeUpdate(){let e=this.playerCurrentTimeFn();e>this.furthestVisitedTime&&(this.furthestVisitedTime=e)}currentTime(e,...t){if(typeof e!=`number`)return this.playerCurrentTimeFn(e,...t);if(!this.isEnabled){this.playerCurrentTimeFn(e,...t);return}let n=this.getPreventScrubbingTooltip(),r=this.getSeekBar()?.getChild(`MouseTimeDisplay`);if(e>this.furthestVisitedTime){n.show(),ih(n.hide,U_,!1,n)(),r?.hide(),this.playerCurrentTimeFn(this.furthestVisitedTime,...t);return}r?.show(),n.hide(!0),this.playerCurrentTimeFn(e,...t)}getPreventScrubbingTooltip(){return this.getProgressControl().getChild(H_)}getSeekBar(){return this.player.controlBar.getChild(`ProgressControl`)?.getChild(`SeekBar`)}};X.registerPlugin(`preventScrubbingPlugin`,X_);var Z_=X.getComponent(`Component`),Q_=X.getComponent(`ClickableComponent`),$_=`
|
|
247
247
|
<svg version="1.1" viewBox="0 0 24 24">
|
|
248
248
|
<path id="Heart-Filled" d="m18.833 5.9735c-0.78916-0.95022-1.8839-1.4735-3.0826-1.4735-1.6859 0-2.7532 1.0685-3.3517 1.9648-0.15528 0.2326-0.28738 0.46582-0.39828 0.68529-0.11091-0.21946-0.24297-0.45269-0.39828-0.68529-0.5985-0.89636-1.6658-1.9648-3.3517-1.9648-1.1987 0-2.2935 0.52333-3.0827 1.4735-0.75275 0.90644-1.1673 2.1204-1.1673 3.4183 0 1.4128 0.51978 2.7268 1.6358 4.1353 0.99741 1.2588 2.4323 2.5564 4.0939 4.0589 0.61916 0.5599 1.2594 1.1389 1.9411 1.7718l0.02047 0.01903c0.08837 0.08211 0.19856 0.12313 0.30875 0.12313s0.22038-0.04105 0.30875-0.12313l0.02047-0.01903c0.68166-0.63289 1.3219-1.2119 1.9412-1.7719 1.6615-1.5024 3.0964-2.8 4.0938-4.0588 1.116-1.4085 1.6358-2.7225 1.6358-4.1353 0-1.2979-0.41459-2.5119-1.1674-3.4183z"/>
|
|
249
249
|
</svg>
|
|
@@ -266,4 +266,4 @@ ${$f(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),
|
|
|
266
266
|
<path d="M268.06 2.91764L254.192 14.8403L262.401 17.4661L258.324 27.0679L272.192 15.1453L263.983 12.5194L268.06 2.91764Z" stroke="white" stroke-linecap="round" stroke-linejoin="round"/>
|
|
267
267
|
</svg>
|
|
268
268
|
`})}};X.registerComponent(`ErrorDisplay`,yw);var bw=X.getComponent(`FullscreenToggle`),xw=`Fullscreen (f)`,Sw=class extends bw{handleFullscreenChange(){bw.prototype.handleFullscreenChange.call(this),this.controlText(xw)}};X.registerComponent(`FullscreenToggle`,Sw),Sw.prototype.controlText_=xw;var Cw=X.getComponent(`MuteToggle`),ww=`Mute (m)`,Tw=`Unmute (m)`,Ew=class extends Cw{updateControlText_(){let e=this.player_.muted()||this.player_.volume()===0?Tw:ww;this.controlText_!==e&&this.controlText(e)}};X.registerComponent(`MuteToggle`,Ew),Ew.prototype.controlText_=ww;var Dw=X.getComponent(`Player`),Ow=e=>e.indexOf(`#`)===0?e.slice(1):e,kw=3,Aw,jw=class e{static{this.options_={viewKey:null,controls:!0,playbackRates:[.25,.5,.75,1,1.25,1.5,1.75,2],playerApi:new URL(`http://localhost:52000`),enableLocalCache:!0,eventLogging:!0,allowFullscreen:!0}}constructor(t,n){if(this.streamLogged=!1,this.options=X.obj.merge({},e.options_,n),this.options.playerApi===null)throw Error(`PlayerApi required`);this.initialize(),this.createEl(t),this.buildVideoJs(),this.options.splash&&this.setupSplash(this.options.splash),this.bindEventListeners(),this.setupSeekBar(),this.fetchConfig(),this.logStream=this.logStream.bind(this),this.player.ready(()=>{this._configurePlugins(),this.options.setup&&this.options.setup(this.options,this.player),this.fetch().catch(e=>this.handleFetchError(e))})}initialize(){}_configurePlugins(){this.player.configureMenuDimensionsPlugin({mobile:this.options.mobile,overflowControls:this.options.overflowControls,seekBarName:this.getSeekBarName()}),this.player.progressReporterPlugin({onFlush:this.onFlushProgress=this.onFlushProgress.bind(this)}),this.player.persistVolumePlugin(),!this.options.mobile&&this.options.allowFullscreen&&this.player.fullscreenOnRotatePlugin(),this.player.touchControls(),this.player.playerModePlugin({defaultDisplayMode:this.options.nextDefaultDisplayMode,startTime:this.options.startTime}),this.options.getExternalLink&&this.player.openExternallyPlugin({getExternalLink:this.options.getExternalLink}),this.player.oldVersionRefreshPlugin?.(),this.configurePlugins()}configurePlugins(){}onFlushProgress(e,t){let n=this.player.playerModePlugin().isHovering();this.analyticsService?.logVideoProgress(e,t,n)}buildVideoJs(){return this.player=X(this.el,this.getPlayerOptions())}getInactivityTimeout(){if(typeof this.options.inactivityTimeout==`number`)return this.options.inactivityTimeout;let e=500;return(this.options.mobile||X.browser.IS_IOS||X.browser.IS_ANDROID)&&(e=3e3),e}getFluid(){return!(this.options.theatreMode||this.options.embed||this.options.mobile)}getFill(){return!!(this.options.theatreMode||this.options.embed||this.options.mobile)}getPlayerOptions(){let e=Dw.prototype.options_.children;return e=e.filter(e=>!(e===`bigPlayButton`||e===`posterImage`)),{controls:this.options.controls,fluid:this.getFluid(),fill:this.getFill(),inactivityTimeout:this.getInactivityTimeout(),controlBar:{children:[`timeWrapper`,`progressControl`]},children:[...e,{name:`collapserator`,children:Ch.filter(e=>!(e===`fullscreenToggle`&&!this.options.allowFullscreen||e===`playbackRateMenuButton`&&!this.options.playbackRates?.length))},`playPauseFeedback`,`controlBarGradient`],userActions:{hotkeys:e=>gg(e,this.player,this.options)},playbackRates:this.options.playbackRates,techOrder:[`html5`],html5:{nativeTextTracks:!1},playsinline:!0,aspectRatio:this.options.aspectRatio,mobile:this.options.mobile,allowTheatreMode:this.options.allowTheatreMode,deferMenus:this.options.deferMenus,muted:this.options.muted,devicesConfig:this.options.devicesConfig}}async getPlaybackObject(){if(this.options.offlinePlaybackObject)return this.options.offlinePlaybackObject;let e=this.options.fetch;if(this.options.fetch===void 0&&(e=e=>{let t=`${this.options.playerApi.origin}/api/playback?viewKey=${e}`;return og.get(t)}),!this.options.viewKey)throw Error(`Please specify a viewKey or a fetch function`);let t=await e(this.options.viewKey);if(!t)throw Error(`Error fetching playback object`);return t}setChaptersInternal(e,t){let n=nh.getTrack(this.player,`chapters`,null);n||=this.player.addTextTrack(`chapters`),[...n.cues.cues_].forEach(e=>n.removeCue(e)),e.forEach(e=>{n.addCue({startTime:e.timestamp,endTime:e.endTimestamp,text:e.name})}),t&&n.trigger({type:`cv:cuechange`,target:n}),n.trigger({type:`loadeddata`,target:n})}setChapters(e){this.setChaptersInternal(e,!0)}setPlayerMode(e,t,n){this.player.playerModePlugin().setPlayerMode(e,t,n)}getPlayerMode(){return this.player.playerModePlugin().getMode()}setFavourite(e,t){this.player.favouritePlugin().setFavourite(e,t)}async fetch(){let e=await this.getPlaybackObject();if(this.isDisposed())return;let t=e.mediaType===`MasterClip`,n=e.additionalData?.clipData;e.chapters?.list?.length>0&&!t&&!n&&this.setChaptersInternal(e.chapters.list,!1),this.player.localCache({localCacheAddresses:e.localCacheAddresses??[],enabled:this.options.enableLocalCache??!0}),this.player.mediaSources({files:e.files,viewKey:this.options.viewKey,settings:e.settings}),this.player.handleNetworkErrors({playerApi:this.options.playerApi,fileToken:e.files.fileToken}),e.subtitles.list.length>0&&e.subtitles.list.forEach(e=>{if(e.mimeType!==`text/vtt`)return;let t=this.player.addRemoteTextTrack({kind:`subtitles`,src:e.url,language:e.language,label:e.label},!0);if(nh.sanitizeTrack(t.track,this.player),this.options.allowTranscript){let t=this.player.addRemoteTextTrack({kind:`metadata`,src:e.url+(e.url.includes(`?`)?`&`:`?`)+`fullSentences=true`,language:e.language,label:`transcript`},!0);t.track.isClickViewProduced=e.isClickViewProduced,nh.sanitizeTrack(t.track,this.player)}}),e.posterUrl&&this.player.poster(F.createUrl(e.posterUrl,{size:re.Large})),this.setupSplash({title:e.title,posterUrl:e.posterUrl,episodeNumber:e.episodeNumber,ratingCode:e.ratingCode,seasonNumber:e.seasonNumber,seriesName:e.seriesName}),this.additionalSetup(e),this.handleAutoplay(e),this.options.startTime&&(this.player.currentTime(this.options.startTime),this.player.one(`canplay`,()=>{this.player.currentTime(this.options.startTime)})),this.player.trigger(`cv-playback-data-loaded`,e)}handleFetchError(e){let t=e.message;e instanceof ag&&e.response?.type===_g.PhysicallyChapteredVideo&&(t=`Video cannot be played because it is either corrupt or damaged.`),this.player.error(t),this.options.onError&&this.options.onError(e)}async fetchConfig(){if(Aw||this.options.fetch||this.options.offlinePlaybackObject)return;let e=`${this.options.playerApi.origin}/api/config`;Aw=await og.get(e),!this.isDisposed()&&this.trigger(`config:loaded`)}additionalSetup(e){this.player.whiteboardModePlugin(),this.player.deferMenusPlugin();let t=this.options.enableLocalCache&&!!e.localCacheAddresses?.length;Aw?this.setupAnalyticsService(e,t):this.one(`config:loaded`,()=>this.setupAnalyticsService(e,t)),this.analyticsService||!this.isAnalyticsEnabled()?this.setupAnalyticsDependentPlugins(e):this.one(`analytics:loaded`,()=>this.setupAnalyticsDependentPlugins(e))}setupAnalyticsService(e,t){this.options.eventLogging&&(this.analyticsService=new ig({player:this.player,collectionApiUrls:Aw.collectionApi.urls,collectionApiClientId:Aw.collectionApi.clientId,productVersion:vg.version,authSessionId:e.viewerAuthSessionId,videoId:e.videoId,mediaId:e.mediaId,userId:e.viewerId,shareId:e.shareId,customerId:e.viewerCustomerId,mediaType:e.mediaType,playerType:this.getAnalyticsPlayerType(),isEmbedded:this.options.embed,isUsingLocalCache:t,additionalAnalyticsData:this.getAdditionalAnalyticsData(e),regionName:e.instanceRegion||this.options.sharerInstanceRegion||E.CvApSoutheast1}),this.on(`timeupdate`,this.logStream),this.trigger(`analytics:loaded`))}setupAnalyticsDependentPlugins(e){this.player.persistSubtitleSettingsPlugin({showSubtitles:e.settings?.showSubtitles,subtitleSize:e.settings?.playbackSubtitleSizeDefault,analyticsService:this.analyticsService}),this.player.persistQualitySettingsPlugin({playbackQuality:e.settings?.playbackQuality,playbackQualityLocalCache:e.settings?.playbackQualityLocalCache,playbackQualityFallback:e.settings?.playbackQualityFallback,analyticsService:this.analyticsService}),this.player.persistPlaybackRatePlugin({analyticsService:this.analyticsService})}getAdditionalAnalyticsData(e){return{}}isAnalyticsEnabled(){return this.options.fetch||this.options.offlinePlaybackObject?!1:this.options.eventLogging}handleAutoplay(e){this.options.autoplay&&this.player.ready(()=>{this.player.play().catch(()=>{this.isDisposed()||this.showSplash()})})}logStream(){this.analyticsService&&(this.player.currentTime()<kw||this.streamLogged||this.player.playerModePlugin().getMode()!==Nh.Hover&&(this.analyticsService.logStream(),this.streamLogged=!0,this.off(`timeupdate`,this.logStream)))}getAnalyticsPlayerType(){return`player`}createEl(e){let t;typeof e==`string`?(e=Ow(e),t=X.dom.$(`#`+e)):t=e;let n=`video-js`;return this.getPlayerClassName()&&(n+=` ${this.getPlayerClassName()}`),this.el=X.dom.createEl(`video`,{},{class:n}),t.appendChild(this.el),this.el}getPlayerClassName(){return``}on(e,t){this.player.on(e,t)}one(e,t){this.player.one(e,t)}off(e,t){this.player.off(e,t)}trigger(e,t){return this.player.trigger(e,t)}dispose(){this.player.dispose()}ready(e){this.player.ready(e)}isDisposed(){return this.player.isDisposed()}play(){this.player.play()}pause(){this.player.pause()}isPaused(){return this.player.paused()}currentTime(e){return this.player.currentTime(e)}muted(e){return this.player.muted(e)}duration(){return this.player.duration()}isFullscreen(){return this.player.isFullscreen()}requestFullscreen(){this.player.requestFullscreen()}exitFullscreen(){this.player.exitFullscreen()}playbackRate(e){return this.player.playbackRate(e)}quality(e){let t=this.player.qualityManager();if(e===`auto`){t.selectAuto();return}if(e){t.select(e.toString());return}return t.getSelected()?.id}subtitles(e){let t=this.player.textTracks();for(let n=0;n<t.length;n++){let r=t[n];if(r.kind===`subtitles`){if(e!==void 0){r.label===e?r.mode=`showing`:r.mode=`disabled`;continue}if(r.mode===`showing`)return r.label}}}bindEventListeners(){let e=e=>e.preventDefault();if(this.showSplash=this.showSplash.bind(this),this.hideSplash=this.hideSplash.bind(this),this.player.on(`ended`,this.showSplash),this.player.on(`play`,this.hideSplash),this.player.tech(!0).on(`contextmenu`,e),this.player.one(`dispose`,()=>{this.off(`ended`,this.showSplash),this.off(`play`,this.hideSplash),this.player.tech(!0).off(`contextmenu`,e)}),!this.options.hotkeyElQuerySelector)return;let t=X.dom.$(this.options.hotkeyElQuerySelector);t&&(this.player.on(t,`keydown`,this.player.handleKeyDown),this.player.one(`dispose`,()=>{this.player.off(t,`keydown`,this.player.handleKeyDown)}))}setupSeekBar(){let e=this.getSeekBarName(),t=this.player.controlBar.getChild(`progressControl`);t.addChild(e,{...this.getSeekBarOptions(),playerOptions:this.player.options_.playerOptions}),t.setSeekBarName(e)}setupSplash(e){this._splashAdded||(this._splashAdded=!0,this.player.addChild(`posterImage`,{embed:this.options.embed,...e}),this.player.addChild(`bigPlayButton`),this.options.autoplay?this.hideSplash():this.showSplash())}showSplash(){this.player.hasStarted(!1),this.player.getChild(`posterImage`).show(),this.player.getChild(`bigPlayButton`).show()}hideSplash(){this.player.getChild(`posterImage`).hide(),this.player.getChild(`bigPlayButton`).hide()}getSeekBarOptions(){return{}}getSeekBarName(){return`ChapterSeekBar`}};function Mw(e){return new Proxy(e,{get(e,t,n){if(!(t!==`off`&&e.isDisposed()))return Reflect.get(e,t,n)}})}export{Jh as A,cb as C,Iy as D,By as E,nh as F,Gm as I,X as L,sh as M,oh as N,Zg as O,ih as P,ge as R,ub as S,Hy as T,Rb as _,DS as a,_b as b,qx as c,jx as d,Tx as f,zb as g,Bb as h,OS as i,Q as j,og as k,Bx as l,yx as m,jw as n,yS as o,Cx as p,TC as r,Yx as s,Mw as t,Lx as u,Lb as v,ob as w,hb as x,Ib as y,he as z};
|
|
269
|
-
//# sourceMappingURL=
|
|
269
|
+
//# sourceMappingURL=DTUkmChD.chunk.js.map
|