l(n.handlers||{},o)&&r(e,o)}}}function cs(e,t,i){var n=ns.has(e)?ns.get(e):{},r=e.parentNode||e.ownerDocument "string"==typeof t?t={type:t,target:e}:t.target||(t.target=e) t=ss(t) n.dispatcher&&n.dispatcher.call(e,t,i) if(r&&!t.isPropagationStopped()&&!0===t.bubbles)cs.call(null,r,t,i) else if(!r&&!t.defaultPrevented&&t.target&&t.target[t.type]){ns.has(t.target)||ns.set(t.target,{}) var a=ns.get(t.target) if(t.target[t.type]){a.disabled=!0 "function"==typeof t.target[t.type]&&t.target[t.type]() a.disabled=!1}}return!t.defaultPrevented}function ds(e,t,i){if(Array.isArray(t))return as(ds,e,t,i) var n=function n(){ls(e,t,n) i.apply(this,arguments)} n.guid=i.guid=i.guid||ts() us(e,t,n)}function hs(e,t,i){var n=function n(){ls(e,t,n) i.apply(this,arguments)} n.guid=i.guid=i.guid||ts() us(e,t,n)}var ps,fs=Object.freeze({__proto__:null,fixEvent:ss,on:us,off:ls,trigger:cs,one:ds,any:hs}),ms=30,gs=function(e,t,i){t.guid||(t.guid=ts()) var n=t.bind(e) n.guid=i?i+"_"+t.guid:t.guid return n},vs=function(e,t){var i=x.performance.now() return function(){var n=x.performance.now() if(n-i>=t){e.apply(void 0,arguments) i=n}}},ys=function(){} ys.prototype.allowedEvents_={} ys.prototype.on=function(e,t){var i=this.addEventListener this.addEventListener=function(){} us(this,e,t) this.addEventListener=i} ys.prototype.addEventListener=ys.prototype.on ys.prototype.off=function(e,t){ls(this,e,t)} ys.prototype.removeEventListener=ys.prototype.off ys.prototype.one=function(e,t){var i=this.addEventListener this.addEventListener=function(){} ds(this,e,t) this.addEventListener=i} ys.prototype.any=function(e,t){var i=this.addEventListener this.addEventListener=function(){} hs(this,e,t) this.addEventListener=i} ys.prototype.trigger=function(e){var t=e.type||e "string"==typeof e&&(e={type:t}) e=ss(e) this.allowedEvents_[t]&&this["on"+t]&&this["on"+t](e) cs(this,e)} ys.prototype.dispatchEvent=ys.prototype.trigger ys.prototype.queueTrigger=function(e){var t=this ps||(ps=new Map) var i=e.type||e,n=ps.get(this) if(!n){n=new Map ps.set(this,n)}var r=n.get(i) n.delete(i) x.clearTimeout(r) var a=x.setTimeout((function(){if(0===n.size){n=null ps.delete(t)}t.trigger(e)}),0) n.set(i,a)} var _s=function(e){return"function"==typeof e.name?e.name():"string"==typeof e.name?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e},bs=function(e){return e instanceof ys||!!e.eventBusEl_&&["on","one","off","trigger"].every((function(t){return"function"==typeof e[t]}))},Ts=function(e){return"string"==typeof e&&/\S/.test(e)||Array.isArray(e)&&!!e.length},ks=function(e,t,i){if(!e||!e.nodeName&&!bs(e))throw new Error("Invalid target for "+_s(t)+"#"+i+"; must be a DOM node or evented object.")},Ss=function(e,t,i){if(!Ts(e))throw new Error("Invalid event type for "+_s(t)+"#"+i+"; must be a non-empty string or array.")},Es=function(e,t,i){if("function"!=typeof e)throw new Error("Invalid listener for "+_s(t)+"#"+i+"; must be a function.")},Cs=function(e,t,i){var n,r,a,s=t.length<3||t[0]===e||t[0]===e.eventBusEl_ if(s){n=e.eventBusEl_ t.length>=3&&t.shift() r=t[0] a=t[1]}else{n=t[0] r=t[1] a=t[2]}ks(n,e,i) Ss(r,e,i) Es(a,e,i) return{isTargetingSelf:s,target:n,type:r,listener:a=gs(e,a)}},ws=function(e,t,i,n){ks(e,e,t) e.nodeName?fs[t](e,i,n):e[t](i,n)},Is={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n=0;e--)this.children_[e].dispose&&this.children_[e].dispose() this.children_=null this.childIndex_=null this.childNameIndex_=null this.parentComponent_=null if(this.el_){this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_) this.el_=null}this.player_=null}} t.isDisposed=function(){return Boolean(this.isDisposed_)} t.player=function(){return this.player_} t.options=function(e){if(!e)return this.options_ this.options_=Ds(this.options_,e) return this.options_} t.el=function(){return this.el_} t.createEl=function(e,t,i){return ba(e,t,i)} t.localize=function(e,t,i){void 0===i&&(i=e) var n=this.player_.language&&this.player_.language(),r=this.player_.languages&&this.player_.languages(),a=r&&r[n],s=n&&n.split("-")[0],o=r&&r[s],u=i a&&a[e]?u=a[e]:o&&o[e]&&(u=o[e]) t&&(u=u.replace(/\{(\d+)\}/g,(function(e,i){var n=t[i-1],r=n void 0===n&&(r=e) return r}))) return u} t.handleLanguagechange=function(){} t.contentEl=function(){return this.contentEl_||this.el_} t.id=function(){return this.id_} t.name=function(){return this.name_} t.children=function(){return this.children_} t.getChildById=function(e){return this.childIndex_[e]} t.getChild=function(e){if(e)return this.childNameIndex_[e]} t.getDescendant=function(){for(var e=arguments.length,t=new Array(e),i=0;i=0;i--)if(this.children_[i]===e){t=!0 this.children_.splice(i,1) break}if(t){e.parentComponent_=null this.childIndex_[e.id()]=null this.childNameIndex_[Ls(e.name())]=null this.childNameIndex_[Os(e.name())]=null var n=e.el() n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}} t.initChildren=function(){var t=this,i=this.options_.children if(i){var n,r=this.options_,a=e.getComponent("Tech");(n=Array.isArray(i)?i:Object.keys(i)).concat(Object.keys(this.options_).filter((function(e){return!n.some((function(t){return"string"==typeof t?e===t:e===t.name}))}))).map((function(e){var n,r if("string"==typeof e)r=i[n=e]||t.options_[n]||{} else{n=e.name r=e}return{name:n,opts:r}})).filter((function(t){var i=e.getComponent(t.opts.componentClass||Ls(t.name)) return i&&!a.isTech(i)})).forEach((function(e){var i=e.name,n=e.opts void 0!==r[i]&&(n=r[i]) if(!1!==n){!0===n&&(n={}) n.playerOptions=t.options_.playerOptions var a=t.addChild(i,n) a&&(t[i]=a)}}))}} t.buildCSSClass=function(){return""} t.ready=function(e,t){void 0===t&&(t=!1) if(e)if(this.isReady_)t?e.call(this):this.setTimeout(e,1) else{this.readyQueue_=this.readyQueue_||[] this.readyQueue_.push(e)}} t.triggerReady=function(){this.isReady_=!0 this.setTimeout((function(){var e=this.readyQueue_ this.readyQueue_=[] e&&e.length>0&&e.forEach((function(e){e.call(this)}),this) this.trigger("ready")}),1)} t.$=function(e,t){return Wa(e,t||this.contentEl())} t.$$=function(e,t){return Ga(e,t||this.contentEl())} t.hasClass=function(e){return Sa(this.el_,e)} t.addClass=function(e){Ea(this.el_,e)} t.removeClass=function(e){Ca(this.el_,e)} t.toggleClass=function(e,t){wa(this.el_,e,t)} t.show=function(){this.removeClass("vjs-hidden")} t.hide=function(){this.addClass("vjs-hidden")} t.lockShowing=function(){this.addClass("vjs-lock-showing")} t.unlockShowing=function(){this.removeClass("vjs-lock-showing")} t.getAttribute=function(e){return xa(this.el_,e)} t.setAttribute=function(e,t){Aa(this.el_,e,t)} t.removeAttribute=function(e){Oa(this.el_,e)} t.width=function(e,t){return this.dimension("width",e,t)} t.height=function(e,t){return this.dimension("height",e,t)} t.dimensions=function(e,t){this.width(e,!0) this.height(t)} t.dimension=function(e,t,i){if(void 0===t){if(!this.el_)return 0 var n=this.el_.style[e],r=n.indexOf("px") return-1!==r?parseInt(n.slice(0,r),10):parseInt(this.el_["offset"+Ls(e)],10)}null!==t&&t==t||(t=0);-1!==(""+t).indexOf("%")||-1!==(""+t).indexOf("px")?this.el_.style[e]=t:this.el_.style[e]="auto"===t?"":t+"px" i||this.trigger("componentresize")} t.currentDimension=function(e){var t=0 if("width"!==e&&"height"!==e)throw new Error("currentDimension only accepts width or height value") t=Gr(this.el_,e) if(0===(t=parseFloat(t))||isNaN(t)){var i="offset"+Ls(e) t=this.el_[i]}return t} t.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")}} t.currentWidth=function(){return this.currentDimension("width")} t.currentHeight=function(){return this.currentDimension("height")} t.focus=function(){this.el_.focus()} t.blur=function(){this.el_.blur()} t.handleKeyDown=function(e){if(this.player_){M.isEventKey(e,"Tab")||e.stopPropagation() this.player_.handleKeyDown(e)}} t.handleKeyPress=function(e){this.handleKeyDown(e)} t.emitTapEvents=function(){var e,t=0,i=null this.on("touchstart",(function(n){if(1===n.touches.length){i={pageX:n.touches[0].pageX,pageY:n.touches[0].pageY} t=x.performance.now() e=!0}})) this.on("touchmove",(function(t){if(t.touches.length>1)e=!1 else if(i){var n=t.touches[0].pageX-i.pageX,r=t.touches[0].pageY-i.pageY Math.sqrt(n*n+r*r)>10&&(e=!1)}})) var n=function(){e=!1} this.on("touchleave",n) this.on("touchcancel",n) this.on("touchend",(function(n){i=null if(!0===e){if(x.performance.now()-t<200){n.preventDefault() this.trigger("tap")}}}))} t.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var e,t=gs(this.player(),this.player().reportUserActivity) this.on("touchstart",(function(){t() this.clearInterval(e) e=this.setInterval(t,250)})) var i=function(i){t() this.clearInterval(e)} this.on("touchmove",t) this.on("touchend",i) this.on("touchcancel",i)}} t.setTimeout=function(e,t){var i,n=this e=gs(this,e) this.clearTimersOnDispose_() i=x.setTimeout((function(){n.setTimeoutIds_.has(i)&&n.setTimeoutIds_.delete(i) e()}),t) this.setTimeoutIds_.add(i) return i} t.clearTimeout=function(e){if(this.setTimeoutIds_.has(e)){this.setTimeoutIds_.delete(e) x.clearTimeout(e)}return e} t.setInterval=function(e,t){e=gs(this,e) this.clearTimersOnDispose_() var i=x.setInterval(e,t) this.setIntervalIds_.add(i) return i} t.clearInterval=function(e){if(this.setIntervalIds_.has(e)){this.setIntervalIds_.delete(e) x.clearInterval(e)}return e} t.requestAnimationFrame=function(e){var t,i=this if(!this.supportsRaf_)return this.setTimeout(e,1e3/60) this.clearTimersOnDispose_() e=gs(this,e) t=x.requestAnimationFrame((function(){i.rafIds_.has(t)&&i.rafIds_.delete(t) e()})) this.rafIds_.add(t) return t} t.requestNamedAnimationFrame=function(e,t){var i=this if(!this.namedRafs_.has(e)){this.clearTimersOnDispose_() t=gs(this,t) var n=this.requestAnimationFrame((function(){t() i.namedRafs_.has(e)&&i.namedRafs_.delete(e)})) this.namedRafs_.set(e,n) return e}} t.cancelNamedAnimationFrame=function(e){if(this.namedRafs_.has(e)){this.cancelAnimationFrame(this.namedRafs_.get(e)) this.namedRafs_.delete(e)}} t.cancelAnimationFrame=function(e){if(!this.supportsRaf_)return this.clearTimeout(e) if(this.rafIds_.has(e)){this.rafIds_.delete(e) x.cancelAnimationFrame(e)}return e} t.clearTimersOnDispose_=function(){var e=this if(!this.clearingTimersOnDispose_){this.clearingTimersOnDispose_=!0 this.one("dispose",(function(){[["namedRafs_","cancelNamedAnimationFrame"],["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEach((function(t){var i=t[0],n=t[1] e[i].forEach((function(t,i){return e[n](i)}))})) e.clearingTimersOnDispose_=!1}))}} e.registerComponent=function(t,i){if("string"!=typeof t||!t)throw new Error('Illegal component name, "'+t+'"; must be a non-empty string.') var n=e.getComponent("Tech"),r=n&&n.isTech(i),a=e===i||e.prototype.isPrototypeOf(i.prototype) if(r||!a){var s s=r?"techs must be registered using Tech.registerTech()":"must be a Component subclass" throw new Error('Illegal component, "'+t+'"; '+s+".")}t=Ls(t) e.components_||(e.components_={}) var o=e.getComponent("Player") if("Player"===t&&o&&o.players){var u=o.players,l=Object.keys(u) if(u&&l.length>0&&l.map((function(e){return u[e]})).every(Boolean))throw new Error("Can not register Player component after player has been created.")}e.components_[t]=i e.components_[Os(t)]=i return i} e.getComponent=function(t){if(t&&e.components_)return e.components_[t]} return e}() Bs.prototype.supportsRaf_="function"==typeof x.requestAnimationFrame&&"function"==typeof x.cancelAnimationFrame Bs.registerComponent("Component",Bs) function Fs(e,t,i,n){!function(e,t,i){if("number"!=typeof t||t<0||t>i)throw new Error("Failed to execute '"+e+"' on 'TimeRanges': The index provided ("+t+") is non-numeric or out of bounds (0-"+i+").")}(e,n,i.length-1) return i[n][t]}function js(e){var t t=void 0===e||0===e.length?{length:0,start:function(){throw new Error("This TimeRanges object is empty")},end:function(){throw new Error("This TimeRanges object is empty")}}:{length:e.length,start:Fs.bind(null,"start",0,e),end:Fs.bind(null,"end",1,e)} x.Symbol&&x.Symbol.iterator&&(t[x.Symbol.iterator]=function(){return(e||[]).values()}) return t}function Vs(e,t){return Array.isArray(e)?js(e):void 0===e||void 0===t?js():js([[e,t]])}function Hs(e,t){var i,n,r=0 if(!t)return 0 e&&e.length||(e=Vs(0,0)) for(var a=0;at&&(n=t) r+=n-i}return r/t}function qs(e){if(e instanceof qs)return e if("number"==typeof e)this.code=e else if("string"==typeof e)this.message=e else if(qr(e)){"number"==typeof e.code&&(this.code=e.code) Hr(this,e)}this.message||(this.message=qs.defaultMessages[this.code]||"")}qs.prototype.code=0 qs.prototype.message="" qs.prototype.status=null qs.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"] qs.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."} for(var Ws=0;Ws=0;n--)if(t[n].enabled){eo(t,t[n]) break}(i=e.call(this,t)||this).changing_=!1 return i}var i=t.prototype i.addTrack=function(t){var i=this t.enabled&&eo(this,t) e.prototype.addTrack.call(this,t) if(t.addEventListener){t.enabledChange_=function(){if(!i.changing_){i.changing_=!0 eo(i,t) i.changing_=!1 i.trigger("change")}} t.addEventListener("enabledchange",t.enabledChange_)}} i.removeTrack=function(t){e.prototype.removeTrack.call(this,t) if(t.removeEventListener&&t.enabledChange_){t.removeEventListener("enabledchange",t.enabledChange_) t.enabledChange_=null}} return t}(Js),io=function(e,t){for(var i=0;i=0;n--)if(t[n].selected){io(t,t[n]) break}(i=e.call(this,t)||this).changing_=!1 Object.defineProperty(N(i),"selectedIndex",{get:function(){for(var e=0;e0){x.console&&x.console.groupCollapsed&&x.console.groupCollapsed("Text Track parsing errors for "+t.src) n.forEach((function(e){return Ur.error(e)})) x.console&&x.console.groupEnd&&x.console.groupEnd()}i.flush()},_o=function(e,t){var i={uri:e},n=go(e) n&&(i.cors=n) var r="use-credentials"===t.tech_.crossOrigin() r&&(i.withCredentials=r) W(i,gs(this,(function(e,i,n){if(e)return Ur.error(e,i) t.loaded_=!0 "function"!=typeof x.WebVTT?t.tech_&&t.tech_.any(["vttjsloaded","vttjserror"],(function(e){if("vttjserror"!==e.type)return yo(n,t) Ur.error("vttjs failed to load, stopping trying to process "+t.src)})):yo(n,t)})))},bo=function(e){B(t,e) function t(t){var i void 0===t&&(t={}) if(!t.tech)throw new Error("A tech was not provided.") var n=Ds(t,{kind:lo[t.kind]||"subtitles",language:t.language||t.srclang||""}),r=co[n.mode]||"disabled",a=n.default "metadata"!==n.kind&&"chapters"!==n.kind||(r="hidden");(i=e.call(this,n)||this).tech_=n.tech i.cues_=[] i.activeCues_=[] i.preload_=!1!==i.tech_.preloadTextTracks var s=new so(i.cues_),o=new so(i.activeCues_),u=!1 i.timeupdateHandler=gs(N(i),(function(){if(!this.tech_.isDisposed())if(this.tech_.isReady_){this.activeCues=this.activeCues if(u){this.trigger("cuechange") u=!1}this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)}else this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)})) i.tech_.one("dispose",(function(){i.stopTracking()})) "disabled"!==r&&i.startTracking() Object.defineProperties(N(i),{default:{get:function(){return a},set:function(){}},mode:{get:function(){return r},set:function(e){if(co[e]&&r!==e){r=e this.preload_||"disabled"===r||0!==this.cues.length||_o(this.src,this) this.stopTracking() "disabled"!==r&&this.startTracking() this.trigger("modechange")}}},cues:{get:function(){return this.loaded_?s:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null if(0===this.cues.length)return o for(var e=this.tech_.currentTime(),t=[],i=0,n=this.cues.length;i=e||r.startTime===r.endTime&&r.startTime<=e&&r.startTime+.5>=e)&&t.push(r)}u=!1 if(t.length!==this.activeCues_.length)u=!0 else for(var a=0;a0){this.trigger("vttjsloaded") return}var t=L.createElement("script") t.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js" t.onload=function(){e.trigger("vttjsloaded")} t.onerror=function(){e.trigger("vttjserror")} this.on("dispose",(function(){t.onload=null t.onerror=null})) x.WebVTT=!0 this.el().parentNode.appendChild(t)}else this.ready(this.addWebVttScript_)} i.emulateTextTracks=function(){var e=this,t=this.textTracks(),i=this.remoteTextTracks(),n=function(e){return t.addTrack(e.track)},r=function(e){return t.removeTrack(e.track)} i.on("addtrack",n) i.on("removetrack",r) this.addWebVttScript_() var a=function(){return e.trigger("texttrackchange")},s=function(){a() for(var e=0;e=0;r--){var a=e[r] a[t]&&a[t](n,i)}}(e,i,o,s) return o}var Do={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},Ro={setCurrentTime:1,setMuted:1,setVolume:1},Mo={play:1,pause:1} function No(e){return function(t,i){return t===Ao?Ao:i[e]?i[e](t):t}}function Uo(e,t,i,n,r,a){void 0===e&&(e={}) void 0===t&&(t=[]) void 0===r&&(r=[]) void 0===a&&(a=!1) var s=t,o=s[0],u=s.slice(1) if("string"==typeof o)Uo(e,Po[o],i,n,r,a) else if(o){var l=function(e,t){var i=xo[e.id()],n=null if(null==i){n=t(e) xo[e.id()]=[[t,n]] return n}for(var r=0;r0 !this.player_.tech(!0)||(aa||ia)&&t||this.player_.tech(!0).focus() this.player_.paused()?zs(this.player_.play()):this.player_.pause()}} return t}(qo) Bs.registerComponent("PosterImage",Wo) var Go="#222",zo={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'} function Ko(e,t){var i if(4===e.length)i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3] else{if(7!==e.length)throw new Error("Invalid color code provided, "+e+"; must be formatted as e.g. #f0e or #f604e2.") i=e.slice(1)}return"rgba("+parseInt(i.slice(0,2),16)+","+parseInt(i.slice(2,4),16)+","+parseInt(i.slice(4,6),16)+","+t+")"}function Xo(e,t,i){try{e.style[t]=i}catch(e){return}}var Yo=function(e){B(t,e) function t(t,i,n){var r r=e.call(this,t,i,n)||this var a=function(e){return r.updateDisplay(e)} t.on("loadstart",(function(e){return r.toggleDisplay(e)})) t.on("texttrackchange",a) t.on("loadedmetadata",(function(e){return r.preselectTrack(e)})) t.ready(gs(N(r),(function(){if(t.tech_&&t.tech_.featuresNativeTextTracks)this.hide() else{t.on("fullscreenchange",a) t.on("playerresize",a) x.addEventListener("orientationchange",a) t.on("dispose",(function(){return x.removeEventListener("orientationchange",a)})) for(var e=this.options_.playerOptions.tracks||[],i=0;i0 zs(t) !this.player_.tech(!0)||(aa||ia)&&i||this.player_.tech(!0).focus()}else{var n=this.player_.getChild("controlBar"),r=n&&n.getChild("playToggle") if(r){var a=function(){return r.focus()} Gs(t)?t.then(a,(function(){})):this.setTimeout(a,1)}else this.player_.tech(!0).focus()}} i.handleKeyDown=function(t){this.mouseused_=!1 e.prototype.handleKeyDown.call(this,t)} i.handleMouseDown=function(e){this.mouseused_=!0} return t}($o) Jo.prototype.controlText_="Play Video" Bs.registerComponent("BigPlayButton",Jo) var Zo=function(e){B(t,e) function t(t,i){var n;(n=e.call(this,t,i)||this).controlText(i&&i.controlText||n.localize("Close")) return n}var i=t.prototype i.buildCSSClass=function(){return"vjs-close-button "+e.prototype.buildCSSClass.call(this)} i.handleClick=function(e){this.trigger({type:"close",bubbles:!1})} i.handleKeyDown=function(t){if(M.isEventKey(t,"Esc")){t.preventDefault() t.stopPropagation() this.trigger("click")}else e.prototype.handleKeyDown.call(this,t)} return t}($o) Bs.registerComponent("CloseButton",Zo) var eu=function(e){B(t,e) function t(t,i){var n void 0===i&&(i={}) n=e.call(this,t,i)||this i.replay=void 0===i.replay||i.replay n.on(t,"play",(function(e){return n.handlePlay(e)})) n.on(t,"pause",(function(e){return n.handlePause(e)})) i.replay&&n.on(t,"ended",(function(e){return n.handleEnded(e)})) return n}var i=t.prototype i.buildCSSClass=function(){return"vjs-play-control "+e.prototype.buildCSSClass.call(this)} i.handleClick=function(e){this.player_.paused()?zs(this.player_.play()):this.player_.pause()} i.handleSeeked=function(e){this.removeClass("vjs-ended") this.player_.paused()?this.handlePause(e):this.handlePlay(e)} i.handlePlay=function(e){this.removeClass("vjs-ended") this.removeClass("vjs-paused") this.addClass("vjs-playing") this.controlText("Pause")} i.handlePause=function(e){this.removeClass("vjs-playing") this.addClass("vjs-paused") this.controlText("Play")} i.handleEnded=function(e){var t=this this.removeClass("vjs-playing") this.addClass("vjs-ended") this.controlText("Replay") this.one(this.player_,"seeked",(function(e){return t.handleSeeked(e)}))} return t}($o) eu.prototype.controlText_="Play" Bs.registerComponent("PlayToggle",eu) var tu=function(e,t){e=e<0?0:e var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),a=Math.floor(t/60%60),s=Math.floor(t/3600);(isNaN(e)||e===1/0)&&(r=n=i="-") return(r=r>0||s>0?r+":":"")+(n=((r||a>=10)&&n<10?"0"+n:n)+":")+(i=i<10?"0"+i:i)},iu=tu function nu(e,t){void 0===t&&(t=e) return iu(e,t)}var ru=function(e){B(t,e) function t(t,i){var n;(n=e.call(this,t,i)||this).on(t,["timeupdate","ended"],(function(e){return n.updateContent(e)})) n.updateTextNode_() return n}var i=t.prototype i.createEl=function(){var t=this.buildCSSClass(),i=e.prototype.createEl.call(this,"div",{className:t+" vjs-time-control vjs-control"}),n=ba("span",{className:"vjs-control-text",textContent:this.localize(this.labelText_)+" "},{role:"presentation"}) i.appen