1try{!function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aeac965e-7046-4ebf-afa2-b21860cfd42f",e._sentryDebugIdIdentifier="sentry-dbid-aeac965e-7046-4ebf-afa2-b21860cfd42f")}()}catch(e){}!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"42723ee3ac76a36f1098dcdc5d31fc6a02de85b1"}}catch(e){}}(),(self.webpackChunkstaylive_partnerplatform=self.webpackChunkstaylive_partnerplatform||[]).push([[4899],{20507:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i);function o({muted:e,volume:t}){const n=!e&&t>0,r=!e&&t>.5;return(0,a.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 32 32",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M16.5 20.486v-8.972c0-1.537-2.037-2.08-2.802-.745l-1.026 1.79a2.5 2.5 0 0 1-.8.85l-1.194.78A1.5 1.5 0 0 0 10 15.446v1.11c0 .506.255.978.678 1.255l1.194.782a2.5 2.5 0 0 1 .8.849l1.026 1.79c.765 1.334 2.802.792 2.802-.745Z",fill:"currentColor",stroke:"none"}),n&&(0,a.jsx)("path",{d:"M18.5 18C19.6046 18 20.5 17.1046 20.5 16C20.5 14.8954 19.6046 14 18.5 14",fill:"none",stroke:"currentColor"}),r&&(0,a.jsx)("path",{d:"M18 21C20.7614 21 23 18.7614 23 16C23 13.2386 20.7614 11 18 11",fill:"none",stroke:"currentColor"}),e&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{d:"M23 18L19 14",fill:"none",stroke:"currentColor"}),(0,a.jsx)("path",{d:"M23 14L19 18",fill:"none",stroke:"currentColor"})]})]})}function l({value:e,onChange:t}){const n=(0,r.useRef)(null),i=(0,r.useCallback)((e=>{const a=n.current;if(!a)return;const r=a.getBoundingClientRect(),i=Math.max(0,Math.min(1,(e-r.left)/r.width));t(i)}),[t]),s=(0,r.useCallback)((e=>{e.preventDefault(),i(e.clientX);const t=e=>i(e.clientX),n=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",n)}),[i]),o=(0,r.useCallback)((e=>{i(e.touches[0].clientX);const t=e=>{e.preventDefault(),i(e.touches[0].clientX)},n=()=>{document.removeEventListener("touchmove",t),document.removeEventListener("touchend",n)};document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",n)}),[i]);return(0,a.jsx)("div",{ref:n,role:"slider","aria-label":"Volume","aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e,tabIndex:0,onMouseDown:s,onTouchStart:o,onKeyDown:n=>{"ArrowRight"===n.key||"ArrowUp"===n.key?t(Math.min(1,e+.05)):"ArrowLeft"!==n.key&&"ArrowDown"!==n.key||t(Math.max(0,e-.05))},className:"hidden sm:block w-[110px] h-[14px] rounded-[7px] cursor-pointer relative overflow-hidden","data-testid":"volume-bar",children:(0,a.jsx)("div",{className:"absolute inset-y-0 left-0 rounded-[7px] bg-white transition-[width] duration-[50ms] ease-linear",style:{width:100*e+"%"}})})}function d({adPosition:e,totalAds:t,currentTime:n,duration:i,isPaused:s,onTogglePause:d,onVolumeChange:c}){const[u,m]=(0,r.useState)(1),[p,h]=(0,r.useState)(!1),[g,v]=(0,r.useState)(1),f=Math.max(0,(i||0)-(n||0)),b=i>0?n/i*100:0,y=t>1?`Ad ${e} of ${t}`:"Ad",x=(0,r.useCallback)((e=>{m(e),0===e?h(!0):(h(!1),v(e)),null==c||c(e)}),[c]),w=(0,r.useCallback)((()=>{if(p){const e=g||1;m(e),h(!1),null==c||c(e)}else v(u),m(0),h(!0),null==c||c(0)}),[p,u,g,c]),j=p?0:u;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"absolute bottom-0 inset-x-0 h-[3px] z-[61] bg-white/20 pointer-events-none",children:(0,a.jsx)("div",{className:"h-full bg-[rgb(255,230,0)] transition-[width] duration-[250ms] ease-linear",style:{width:`${b}%`}})}),(0,a.jsx)("div",{className:"absolute bottom-[3px] left-0 max-w-[80%] z-[60] pointer-events-auto",children:(0,a.jsxs)("div",{className:"flex items-center gap-3 py-3 pl-6 pr-[60px] bg-gradient-to-b from-transparent to-black/70 text-white text-[17px] select-none antialiased",style:{maskImage:"linear-gradient(to right, black 70%, transparent 100%)",WebkitMaskImage:"linear-gradient(to right, black 70%, transparent 100%)"},children:[(0,a.jsx)("button",{type:"button",onClick:d,"aria-label":s?"Play ad":"Pause ad",className:"bg-transparent border-none cursor-pointer p-0 flex items-center justify-center opacity-90 text-white","data-testid":"play-pause-button",children:(0,a.jsx)("svg",{width:"40",height:"40",viewBox:"0 0 32 32",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",children:s?(0,a.jsx)("path",{d:"M20.7131 14.6976C21.7208 15.2735 21.7208 16.7265 20.7131 17.3024L12.7442 21.856C11.7442 22.4274 10.5 21.7054 10.5 20.5536L10.5 11.4464C10.5 10.2946 11.7442 9.57257 12.7442 10.144L20.7131 14.6976Z",fill:"currentColor",stroke:"none"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("rect",{x:"10.5",y:"10.5",width:"4",height:"11",rx:"0.5",fill:"currentColor",stroke:"none"}),(0,a.jsx)("rect",{x:"17.5",y:"10.5",width:"4",height:"11",rx:"0.5",fill:"currentColor",stroke:"none"})]})})}),(0,a.jsx)("button",{type:"button",onClick:w,"aria-label":p?"Unmute":"Mute",className:"bg-transparent border-none cursor-pointer p-0 flex items-center justify-center opacity-90 text-white","data-testid":"mute-button",children:(0,a.jsx)(o,{muted:p,volume:j})}),(0,a.jsx)(l,{value:j,onChange:x}),(0,a.jsx)("span",{className:"font-bold whitespace-nowrap",children:y}),(0,a.jsx)("span",{className:"whitespace-nowrap",children:(k=f,!k||k<0?"0:00":`${Math.floor(k/60)}:${Math.floor(k%60).toString().padStart(2,"0")}`)})]})})]});var k}o.propTypes={muted:s().bool.isRequired,volume:s().number.isRequired},l.propTypes={value:s().number.isRequired,onChange:s().func.isRequired},d.propTypes={adPosition:s().number.isRequired,totalAds:s().number.isRequired,currentTime:s().number.isRequired,duration:s().number.isRequired,isPaused:s().bool.isRequired,onTogglePause:s().func.isRequired,onVolumeChange:s().func};const c=d}
1,82464:(e,t,n)=>{n.r(t),n.d(t,{LiveAds:()=>s});var a=n(22453),r=(e,t,n)=>new Promise(((a,r)=>{var i=e=>{try{o(n.next(e))}catch(e){r(e)}},s=e=>{try{o(n.throw(e))}catch(e){r(e)}},o=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,s);o((n=n.apply(e,t)).next())}));const i=()=>{const e=/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,t=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return e||t};class s{constructor(){this.manager=null,this.loader=null,this.adDisplayContainer=null,this.playerElement=null,this.resizeObserver=null,this._handleFullscreenChange=null,this.videoElement=null,this.midrollElement=null,this.adStartTime=null,this.pendingAds=[],this.pdtCheckInterval=null,this.isAdPlaying=!1,this.currentPlayer=null,this.currentAdId=null,this.isStoppingManually=!1,this.fullscreenMode=null,this.isCurrentAdPreroll=!1,this.onAdEvent=null}initialize({player:e,midroll:t}){this.adDisplayContainer||(this.videoElement=(null==e?void 0:e.media)||e,this.videoElement&&t&&"undefined"!=typeof google&&google.ima&&(this.playerElement=e,this.midrollElement=t,i()&&google.ima.settings.setDisableCustomPlaybackForIOS10Plus(!0),this.adDisplayContainer=new google.ima.AdDisplayContainer(t,this.videoElement),this.adDisplayContainer.initialize(),console.debug("AdDisplayContainer initialized during user gesture")))}_getAdDimensions(e){const t=(null==e?void 0:e.media)||e||this.videoElement,n=!!(document.fullscreenElement||document.webkitFullscreenElement||(null==t?void 0:t.webkitDisplayingFullscreen));let a,r;if(n&&(null==t?void 0:t.webkitDisplayingFullscreen))a=window.screen.width,r=window.screen.height;else{const t=e||this.playerElement,n=(null==t?void 0:t.getBoundingClientRect())||{width:640,height:480};a=n.width||640,r=n.height||480}return{width:a,height:r,isFS:n}}scheduleAd({id:e,url:t,player:n,midroll:a,playbackTimestamp:r}){if(n&&a&&r)if(t&&"string"==typeof t&&""!==t.trim()){try{new URL(t)}catch(e){return void console.warn(`Invalid ad URL: "${t}" is not a valid URL`)}this.pendingAds.push({id:e,url:t,player:n,midroll:a,playbackTimestamp:r}),console.log(`Ad scheduled for PDT: ${new Date(r).toISOString()}`),this.startPdtChecking(n)}else console.warn("Invalid ad URL: URL must be a non-empty string");else console.warn("Missing required parameters for scheduling ad")}startPdtChecking(e){this.pdtCheckInterval||(this.currentPlayer=e,this.pdtCheckInterval=setInterval((()=>{if(this.isAdPlaying)return;const t=(0,a.getCurrentPdt)(e);if(!t)return;const n=new Date(t).getTime(),r=[],i=[],s=[];for(const e of this.pendingAds){const t=n-e.playbackTimestamp;t>=0&&t<2e3?r.push(e):t>=2e3?i.push(e):s.push(e)}this.pendingAds=s;let o=null;if(r.length>0?(o=r[0],r.length>1&&console.log(`Multiple ads ready to play (${r.length}), playing one and flushing the rest`)):i.length>0&&(o=i[0],console.log(`User seeked past ${i.length} ad(s), forcing playback of one ad`)),o)return console.log(`Playing ad. PDT: ${new Date(n).toISOString()}, Ad time: ${new Date(o.playbackTimestamp).toISOString()}`),this.stopPdtChecking(),void this.playMidroll({id:o.id,url:o.url,player:o.player,midroll:o.midroll});0===this.pendingAds.length&&this.stopPdtChecking()}),500))}stopPdtChecking(){this.pdtCheckInterval&&(clearInterval(this.pdtCheckInterval),this.pdtCheckInterval=null)}playPreroll(e){return r(this,null,(function*(){return this.isCurrentAdPreroll=!0,this.playMidroll(e)}))}playMidroll(e){return r(this,arguments,(function*({id:e,url:t,player:n,midroll:a}){if(!n||!a)return;if("undefined"==typeof google||!google.ima)return void console.warn("IMA SDK not available, skipping ad playback");if(this.isAdPlaying)return void console.warn("Ad already playing, skipping playMidroll request");if(i()){const e=(null==n?void 0:n.media)||n;if(null==e?void 0:e.webkitDisplayingFullscreen){this.fullscreenMode="video";try{e.webkitExitFullscreen()}catch(e){console.warn("Failed to exit iOS fullscreen for ad:",e)}yield new Promise((e=>setTimeout(e,300)))}else if(document.fullscreenElement||document.webkitFullscreenElement){this.fullscreenMode="document";try{yield(document.exitFullscreen||document.webkitExitFullscreen).call(document)}catch(e){console.warn("Failed to exit fullscreen for ad:",e)}}else this.fullscreenMode=null}this.isAdPlaying=!0,this.currentAdId=e||null,this.midrollElement=a,this.midrollElement.style.display="block",this.midrollElement.style.pointerEvents="auto",this.adStartTime=Date.now(),this.setup({player:n,midroll:a});const{width:r,height:s}=this._getAdDimensions(n),o=new google.ima.AdsRequest;o.adTagUrl=t,o.linearAdSlotWidth=r,o.linearAdSlotHeight=s,o.nonLinearAdSlotWidth=r,o.nonLinearAdSlotHeight=150,this.loader.requestAds(o)}))}setup({player:e,midroll:t}){this.loader||"undefined"!=typeof google&&google.ima&&(this.videoElement=(null==e?void 0:e.media)||e,this.videoElement&&(this.playerElement=e,this.adDisplayContainer||(i()&&google.ima.settings.setDisableCustomPlaybackForIOS10Plus(!0),this.adDisplayContainer=new google.ima.AdDisplayContainer(t,this.videoElement),this.adDisplayContainer.initialize()),this.loader=new google.ima.AdsLoader(this.adDisplayContainer),console.debug("loader created"),this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>{var t,n;const a=e.getError();console.error("Ads loader error:",(null==(t=null==a?void 0:a.getMessage)?void 0:t.call(a))||a||e);const r=this.isCurrentAdPreroll;this.adStartTime=null,this.isAdPlaying=!1,this.currentAdId=null,this.isCurrentAdPreroll=!1,this.midrollElement&&(this.midrollElement.style.display="none",this.midrollElement.style.pointerEvents="",this.midrollElement.innerHTML=""),null==(n=this.onAdEvent)||n.call(this,{type:"AD_ERROR",isPreroll:r}),this._restoreFullscreen(),this._playContent(),this.pendingAds.length>0&&this.currentPlayer&&this.startPdtChecking(this.currentPlayer)})),this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,(t=>{const n=new google.ima.AdsRenderingSettings;this.manager=t.getAdsManager(this.videoElement,n),console.debug("manager created"),this.manager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,(()=>{var e;console.log("CONTENT_PAUSE_REQUESTED"),null==(e=this.videoElement)||e.pause()})),this.manager.addEventListener(google.ima.AdEvent.Type.STARTED,(e=>{var t;const n=e.getAd(),a=n.getAdPodInfo();null==(t=this.onAdEvent)||t.call(this,{type:"STARTED",adPosition:a.getAdPosition(),totalAds:a.getTotalAds(),duration:n.getDuration(),isPreroll:this.isCurrentAdPreroll}),i()&&this.manager&&requestAnimationFrame((()=>{try{this.manager&&this.manager.resume()}catch(e){}}))}
1)),this.manager.addEventListener(google.ima.AdEvent.Type.AD_PROGRESS,(e=>{var t;const n=e.getAdData();null==(t=this.onAdEvent)||t.call(this,{type:"AD_PROGRESS",currentTime:n.currentTime,duration:n.duration})})),this.manager.addEventListener(google.ima.AdEvent.Type.PAUSED,(()=>{var e;null==(e=this.onAdEvent)||e.call(this,{type:"PAUSED"})})),this.manager.addEventListener(google.ima.AdEvent.Type.RESUMED,(()=>{var e;null==(e=this.onAdEvent)||e.call(this,{type:"RESUMED"})})),this.manager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,(()=>{var e;if(console.log("CONTENT_RESUME_REQUESTED"),this.isStoppingManually)return void console.log("Manual stop in progress, skipping handler cleanup");const t=this.isCurrentAdPreroll;if(this.isCurrentAdPreroll=!1,this.adStartTime&&this.videoElement){if(t)this._playContent();else{const e=(Date.now()-this.adStartTime)/1e3;console.log(`Ad played for ${e} seconds, skipping forward`),this.videoElement.currentTime+=e,this._playContent()}this.adStartTime=null}else this._playContent();if(this._restoreFullscreen(),this.isAdPlaying=!1,this.currentAdId=null,this.midrollElement&&(this.midrollElement.style.pointerEvents="",this.midrollElement.style.display="none"),null==(e=this.onAdEvent)||e.call(this,{type:"CONTENT_RESUME",isPreroll:t}),this._cleanupResizeObserver(),this.videoElement&&(this.videoElement.style.removeProperty("width"),this.videoElement.style.removeProperty("height")),window.dispatchEvent(new Event("resize")),this.manager){try{this.manager.destroy()}catch(e){console.error("Error destroying ad manager after completion:",e)}this.manager=null}this.pendingAds.length>0&&this.currentPlayer&&this.startPdtChecking(this.currentPlayer)})),this.manager.addEventListener(google.ima.AdEvent.Type.AD_ERROR,(e=>{var t,n;const a=e.getError();console.error("Ad error occurred:",(null==(t=null==a?void 0:a.getMessage)?void 0:t.call(a))||a||e);const r=this.isCurrentAdPreroll;if(this.adStartTime=null,this.isAdPlaying=!1,this.currentAdId=null,this.isCurrentAdPreroll=!1,this.midrollElement&&(this.midrollElement.style.pointerEvents=""),null==(n=this.onAdEvent)||n.call(this,{type:"AD_ERROR",isPreroll:r}),this._cleanupResizeObserver(),this.manager){try{this.manager.destroy()}catch(e){console.error("Error destroying ad manager after ad error:",e)}this.manager=null}this.midrollElement&&(this.midrollElement.style.display="none",this.midrollElement.innerHTML=""),this.videoElement&&(this.videoElement.style.removeProperty("width"),this.videoElement.style.removeProperty("height")),window.dispatchEvent(new Event("resize")),this._playContent(),this.pendingAds.length>0&&this.currentPlayer&&this.startPdtChecking(this.currentPlayer)}));try{const{width:t,height:n,isFS:a}=this._getAdDimensions(e);this.manager.init(t,n,a?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL),this.manager.start(),this._setupResizeObserver(e)}catch(e){console.error("Error starting ads:",e),this._playContent()}}))))}pauseAd(){this.manager&&this.manager.pause()}resumeAd(){this.manager&&this.manager.resume()}setVolume(e){this.manager&&this.manager.setVolume(e)}getVolume(){return this.manager?this.manager.getVolume():1}_setupResizeObserver(e){this._cleanupResizeObserver();const t=e||this.playerElement;if(!t)return;const n=()=>
1{if(!this.manager)return;const{width:e,height:n,isFS:a}=this._getAdDimensions(t);if(0!==e&&0!==n)try{if(!this.manager)return;this.manager.resize(e,n,a?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}catch(e){console.warn("Ad manager resize failed (likely destroyed):",e)}};this.resizeObserver=new ResizeObserver(n),this.resizeObserver.observe(t),this._handleFullscreenChange=n,document.addEventListener("fullscreenchange",n),document.addEventListener("webkitfullscreenchange",n),this.videoElement&&this.videoElement.addEventListener("webkitpresentationmodechanged",n)}_cleanupResizeObserver(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this._handleFullscreenChange&&(document.removeEventListener("fullscreenchange",this._handleFullscreenChange),document.removeEventListener("webkitfullscreenchange",this._handleFullscreenChange),this.videoElement&&this.videoElement.removeEventListener("webkitpresentationmodechanged",this._handleFullscreenChange),this._handleFullscreenChange=null)}_playContent(){var e,t;null==(t=null==(e=this.videoElement)?void 0:e.play())||t.catch((e=>{console.warn("Content playback could not resume:",e)}))}_restoreFullscreen(){const e=this.fullscreenMode;if(e)if(this.fullscreenMode=null,"video"===e){const e=this.videoElement;if(null==e?void 0:e.webkitEnterFullscreen)try{e.webkitEnterFullscreen()}catch(e){console.warn("Failed to re-enter iOS fullscreen:",e)}}else if("document"===e){const e=document.getElementById("videoContainer")||this.playerElement;(null==e?void 0:e.requestFullscreen)?e.requestFullscreen().catch((()=>{})):(null==e?void 0:e.webkitRequestFullscreen)&&e.webkitRequestFullscreen()}}stopMidroll(){return r(this,arguments,(function*({id:e}={}){var t;if(e){const t=this.pendingAds.length;this.pendingAds=this.pendingAds.filter((t=>t.id!==e));const n=t-this.pendingAds.length;n>0&&console.log(`Removed ${n} pending ad(s) with id "${e}"`)}if(e&&this.currentAdId!==e)return void console.log(`STOP_AD id "${e}" does not match current ad "${this.currentAdId}", skipping stop`);console.log(`Stopping midroll ad (id: "${e||"none"}")`);const n=this.adStartTime?(Date.now()-this.adStartTime)/1e3:0;if(this.isStoppingManually=!0,this.manager){try{this.manager.stop()}catch(e){console.error("Error stopping ad:",e)}try{this.manager.destroy()}catch(e){console.error("Error destroying ad manager:",e)}this.manager=null}this.isStoppingManually=!1,this._cleanupResizeObserver(),n>0&&this.videoElement&&(console.log(`Ad stopped after ${n} seconds, skipping forward`),this.videoElement.currentTime+=n),this.adStartTime=null,this.isAdPlaying=!1,this.currentAdId=null,this.isCurrentAdPreroll=!1,this.midrollElement&&(this.midrollElement.style.pointerEvents="",this.midrollElement.style.display="none"),this.videoElement&&(this.videoElement.style.removeProperty("width"),this.videoElement.style.removeProperty("height")),null==(t=this.onAdEvent)||t.call(this,{type:"CONTENT_RESUME"}),window.dispatchEvent(new Event("resize")),this._playContent(),this._restoreFullscreen(),this.pendingAds.length>0&&this.currentPlayer&&this.startPdtChecking(this.currentPlayer)}))}destroy({preservePending:e=!1}={}){if(console.log("Destroy liveads instance"),this.stopPdtChecking(),this._cleanupResizeObserver(),e||(this.pendingAds=[]),this.isAdPlaying=!1,this.currentPlayer=null,this.playerElement=null,this.manager){try{this.manager.destroy()}catch(e){console.error("Error destroying ad manager:",e)}this.manager=null}if(this.loader){try{this.loader.destroy()}catch(e){console.error("Error destroying ads loader:",e)}this.loader=null}this.adDisplayContainer=null,this.midrollElement&&(this.midrollElement.style.display="none",this.midrollElement.innerHTML="")}}},52192:(e,t,n)=>{function a(e,t){return`<style>\n chapter[id="${t.id}"] { \n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: end;\n flex-direction: column;\n position: absolute;\n background: white;\n height: 10px;\n width: 10px;\n border-radius: 999px;\n z-index: 2;\n left: ${e}%;\n }\n chapter[id="${t.id}"]:hover > chapter-tooltip { \n opacity: 1;\n }\n chapter-tooltip {\n position: absolute;\n bottom: 15px;\n overflow: hidden;\n opacity: 0;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 140px;\n transition: opacity .3s ease-in-out;\n display: inline-block;\n color: white;\n border-radius: 10px;\n background: black;\n padding: 0 10px;\n font-size: 12px;\n line-height: 28px;\n }\n </style>\n <chapter-tooltip>${t.name}</chapter-tooltip>`}n.r(t),n.d(t,{getChapterElement:()=>a})},92827:(e,t,n)=>{n.r(t),n.d(t,{destroyCastBridge:()=>g,initChromecastLibs:()=>p,initializeCastBridge:()=>h,triggerCastBridge:()=>v});var a=n(24100),r=Object.defineProperty,i=Object.defineProperties,s=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,c=(e,t,n)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,u=(e,t)=>
1{for(var n in t||(t={}))l.call(t,n)&&c(e,n,t[n]);if(o)for(var n of o(t))d.call(t,n)&&c(e,n,t[n]);return e},m=(e,t)=>i(e,s(t));function p(){const e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("script");t.type="text/javascript",t.async=!1,t.src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",t.id="cast",document.getElementById(t.id)||e.insertBefore(t,e.firstChild)}function h(e,t,n){try{if(!e)return;if(!(null==window?void 0:window.chromeCastBridge))return;window.chromeCastBridge=m(u({},window.chromeCastBridge||{}),{startCastSession:()=>{var a,r,i,s;return{title:null!=(a=null==t?void 0:t.name)?a:null,position:null!=(r=e.currentTime)?r:0,posterImage:null!=(i=null==t?void 0:t.thumbnail)?i:null,subTitle:null!=(s=null==t?void 0:t.description)?s:null,playback_url:t.playback_url,content_type:null!=n?n:"ON_DEMAND"}},endCastSession(t){e&&(e.currentTime=t)}})}catch(e){}}function g(){(null==window?void 0:window.chromeCastBridge)&&!window.chromeCastBridge.isConnected&&(window.chromeCastBridge.startCastSession=void 0)}function v(e,t,n){var r,i,s;try{if(window.chromeCastBridge.isConnected&&window.chromeCastBridge.cast&&e.playback_url){const o=(null==e?void 0:e.description)?(0,a.$J)(e.description):null;window.chromeCastBridge.cast({title:null!=(r=null==e?void 0:e.name)?r:null,position:null!=(i=null==t?void 0:t.currentTime)?i:0,posterImage:null!=(s=null==e?void 0:e.thumbnail)?s:null,subTitle:o,playback_url:e.playback_url,content_type:null!=n?n:"ON_DEMAND"});try{t&&t.pause()}catch(e){}}}catch(e){}}},64740:(e,t,n)=>{n.r(t),n.d(t,{volume:()=>a,volumeOff:()=>r});const a='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M333.1 34.8C344.6 40 352 51.4 352 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L163.8 352H96c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L298.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zm172 72.2c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C507.3 341.3 528 301.1 528 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C466.1 199.1 480 225.9 480 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C425.1 284.4 432 271 432 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z"/></svg>',r='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M633.8 458.1L45.2 3.4c-9.4-8.4-22.9-10.4-34.4-5.3-11.5 5.1-18.9 16.5-18.9 29.2v416c0 12.6 7.4 24 18.9 29.2 5.2 1.7 10.6 2.6 16 2.6 9.4 0 18.6-3.1 25.8-9.1l588.6-454.7c9.4-8.4 10.9-23.5 2.6-33.8-8.4-10.3-23.5-11.8-33.8-3.5zM320 256c0-35.3-28.7-64-64-64H96c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h160c35.3 0 64-28.7 64-64zm320-64c0-17.7-14.3-32-32-32h-67.8l-96-72.7c-9.4-8.4-22.9-10.4-34.4-5.3-11.5 5.1-18.9 16.5-18.9 29.2v416c0 12.6 7.4 24 18.9 29.2 5.2 1.7 10.6 2.6 16 2.6 9.4 0 18.6-3.1 25.8-9.1l96-72.7H544c17.7 0 32-14.3 32-32v-64z"/></svg>'},88744:(e,t,n)=>{n.r(t),n.d(t,{PLAYER_EVENTS:()=>C.PLAYER_EVENTS,convertToSeconds:()=>C.convertToSeconds,default:()=>te,secondsToHMS:()=>C.secondsToHMS});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i),o=n(78210),l=n(68347),d=n(1081),c=n(17386),u=n(16683),m=n(16792),p=n(91005),h=n(47767),g=n(72748),v=n(67438),f=n(50321),b=n(24712),y=n(84992),x=n(67894),w=n(30126),j=n(92827),k=(n(238),n(72529)),C=n(22453),E=n(52192),A=n(20974),S=n(66085),T=n(52058),P=n(62333),N=n(82464),L=n(20507),M=n(85385),_=Object.defineProperty,O=Object.defineProperties,R=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable,z=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t)=>{for(var n in t||(t={}))D.call(t,n)&&z(e,n,t[n]);if(I)for(var n of I(t))$.call(t,n)&&z(e,n,t[n]);return e},F=(e,t)=>O(e,R(t)),B=(e,t,n)=>new Promise(((a,r)=>{var i=e=>{try{o(n.next(e))}catch(e){r(e)}},s=e=>{try{o(n.throw(e))}catch(e){r(e)}},o=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,s);o((n=n.apply(e,t)).next())}));const H="showing",U="disabled",q="subtitles",Y="captions",W=e=>e.kind===q||e.kind===Y,Z=e=>Array.from(null!=e?e:[]).filter(W),K=e=>Z(e).filter((e=>e.mode===H)),G=(e,t)=>{var n,a;const r=Z(e),i=t?r.filter((e=>e.language===t)):[],s=null!=(a=null!=(n=i.find((e=>e.label===t)))?n:i[0])?a:null;let o=!1;return r.forEach((e=>{const t=e===s?H:U;e.mode!==t&&(e.mode=t,o=!0)})),o};let X=!1;const J=(0,d.j8)({platform:(0,c.makeSelectPlatform)(),theme:(0,c.makeSelectTheme)()});function Q(e){return B(this,arguments,(function*({currentTime:e,contentId:t,playlistId:n,platform:a}){try{yield(0,g.wb)(`https://prod.watch-history.staylive.cloud/user/watch-history?platform_id=${a.id}`,{video_id:t,playlist_id:n,duration:Math.floor(e)})}catch(e){console.error("Failed to update watch history:",e)}}))}function ee({setup:e,chatOpen:t,onTimeUpdate:n,playerAccentColor:i,startTime:s,onVideoEnded:d,playlistId:c,fetchContinueWatching:g,subtitles:_}){var O,R,I,D,$,z,H,U,Y,ee;const te=(0,r.useRef)(),{platform:ne,theme:ae}=(0,u.d4)(J),{user:re}=(0,o.Jd)(),{type:ie}=e,se="stream"===ie,oe="video"===ie,le="fast"===ie,de=function(e){switch(e.type){case"fast":return e.fast.id;case"stream":return e.livestream.id;case"video":return e.video.id;default:return}}(e),ce=(null==(R=null==(O=null==ne?void 0:ne.theme)?void 0:O.platform)?void 0:R.fallback_image_url)||`https://staylive.s3-eu-west-1.amazonaws.com/partnerplatform/assets/${null==(D=null==(I=null==ne?void 0:ne.metadata)?void 0:I.platform)?void 0:D.id}/fallback.jpg`,[ue,me]=(0,r.useState)(!1),[pe,he]=(0,r.useState)(!1),[ge,ve]=(0,r.useState)(!1),fe=(0,r.useRef)((0,M.getPreferredSubtitleLang)()),be=(0,r.useRef)(void 0),ye=(0,r.useRef)(0),xe=function(e){return e.livestream&&e.livestream.advertising?e.livestream.advertising:e.video&&e.video.advertising?e.video.advertising:e.fast&&e.fast.advertising?e.fast.advertising:null}(e),we=(0,r.useRef)(function(e){if("stream"!==e)return!0;const t=localStorage.getItem("lastAdPlayed"),n=localStorage.getItem("adSkippedCounter");if(t){const e=new Date(t).getTime(),a=(new Date).getTime();if(n&&Number(n)>=3)return localStorage.removeItem("adSkippedCounter"),!0;if(a-e<3e5)return!1}return!0}(ie)),je=se?null==($=null==e?void 0:e.livestream)?void 0:$.channelid:oe?null==(z=null==e?void 0:e.video)?void 0:z.channel:null,ke=se?null==(H=null==e?void 0:e.livestream)?void 0:H.categories:oe?null==(U=null==e?void 0:e.video)?void 0:U.categories:null,Ce=(0,x.R)(),Ee=(0,w.Gl)()?null==(ee=null==(Y=(0,w.zE)())?void 0:Y.content)?void 0:ee.referrer:null==Ce?void 0:Ce.referrerCode,Ae=(0,r.useMemo)((()=>(0,y.A)(null==xe?void 0:xe.preroll,{platformId:null==ne?void 0:ne.id,channelId:je,userLoggedIn:Boolean(null==re?void 0:re.email),categories:ke,referrer:Ee})),[null==xe?void 0:xe.preroll,null==ne?void 0:ne.id,je,null==re?void 0:re.email,ke,Ee]),Se=(0,p.A)(),Te=(0,h.zy)(),[Pe,Ne]=(0,r.useState)(!1),[Le,Me]=(0,r.useState)(!1),_e=(0,r.useRef)(),Oe=(0,r.useRef)(),Re=(0,r.useRef)(new N.LiveAds),Ie=(0,r.useRef)(!1),[De,$e]=(0,r.useState)(null),{isLoaded:ze}=(0,P.useIMAScript)(),{enabled:Ve}=(0,T.useLiveAdsEnabled)();(0,S.useLiveMessages)({contentId:de,enabled:Ve,messageHandler:e=>B(this,[e],(function*({message:e}){var t,n;console.debug("live message received",e),"PLAY_AD"===e.action?null==(t=null==Re?void 0:Re.current)||t.scheduleAd({url:(0,y.A)(e.ad_url,{platformId:null==ne?void 0:ne.id,channelId:je,userLoggedIn:Boolean(null==re?void 0:re.email),categories:ke,referrer:Ee}),player:te.current,midroll:_e.current,playbackTimestamp:e.playback_timestamp,id:e.id}):"STOP_AD"===e.action?(console.log("Stopping ad playback"),yield null==(n=null==Re?void 0:Re.current)?void 0:n.stopMidroll({id:e.id})):console.warn("Unknown live message action:",e)}))}),(0,r.useEffect)((()=>()=>{var e;return null==(e=null==Re?void 0:Re.current)?void 0:e.destroy()}),[]),(0,r.useEffect)((()=>
1{if(!ze||Pe)return;let e,t;const n=()=>{const a=te.current,r=null==a?void 0:a.textTracks;a&&r?e=function(e,t){const n=()=>{var e,n;return null!=(n=null==(e=K(t)[0])?void 0:e.language)?n:null};let a=n(),r=!1,i=null,s=null,o=null;const l=()=>{clearTimeout(o),o=setTimeout((()=>{var t,n;if(!i){if(i=null==(n=null==(t=e.mediaTheme)?void 0:t.shadowRoot)?void 0:n.querySelector("media-captions-menu"),!i)return;s=new MutationObserver(l),s.observe(i,{attributeFilter:["mediasubtitleslist","mediasubtitlesshowing"]})}const a=i.getAttribute("mediasubtitlesshowing")||"off";i.value!==a&&(i.value=a)}),0)},d=()=>void 0!==be.current&&G(t,be.current),c=()=>{if(d())return;const e=n();l(),e!==a&&(a=e,(e=>{var n,a;const i=null!=(a=null==(n=fe.current)?void 0:n.language)?a:null,s=i&&Z(t).some((e=>e.language===i)),o=e?{enabled:!0,language:r||!i||s?e:i}:{enabled:!1,language:i};r=!1,fe.current=o,(0,M.setPreferredSubtitleLang)(o)})(e))},u=e=>{e.track&&!W(e.track)||d()},m=e=>{const t=Array.isArray(e.detail)?e.detail[0]:e.detail;be.current=(e=>{var t;if(!e||"off"===e)return null;if("object"==typeof e)return null!=(t=e.language)?t:null;const n=String(e).split(":");return n.length>=2?n[1]:n[0]})(t),r=!0},p=()=>{be.current=null},h=()=>{var e,n,a;const r=null!=(n=null==(e=K(t)[0])?void 0:e.language)?n:null;if(!r)return void(be.current=null);const i=null==(a=fe.current)?void 0:a.language,s=i&&Z(t).some((e=>e.language===i));be.current=s?i:r};return e.addEventListener("mediashowsubtitlesrequest",m),e.addEventListener("mediadisablesubtitlesrequest",p),e.addEventListener("mediatogglesubtitlesrequest",h),t.addEventListener("change",c),t.addEventListener("addtrack",u),l(),()=>{e.removeEventListener("mediashowsubtitlesrequest",m),e.removeEventListener("mediadisablesubtitlesrequest",p),e.removeEventListener("mediatogglesubtitlesrequest",h),t.removeEventListener("change",c),t.removeEventListener("addtrack",u),clearTimeout(o),null==s||s.disconnect()}}(a,r):t=requestAnimationFrame(n)};return n(),()=>{cancelAnimationFrame(t),null==e||e()}}),[ze,Pe]);const Fe=(0,r.useCallback)(((t,n={})=>{var a,r,i,s,o,l;const d=new CustomEvent("playerEvent",{detail:{type:t,data:F(V({},n),{contentType:e.type,contentId:de,duration:(null==(a=null==e?void 0:e.video)?void 0:a.duration)?(0,C.convertToSeconds)(null==(r=null==e?void 0:e.video)?void 0:r.duration):void 0,platform:ne.id,user:(null==(i=null==re?void 0:re.metadata)?void 0:i.id)||null,timestamp:(new Date).toISOString(),title:se?null==(s=e.livestream)?void 0:s.name:le?null==(o=e.fast)?void 0:o.name:null==(l=e.video)?void 0:l.name})}});window.dispatchEvent(d),window.parent!==window&&window.parent.postMessage({type:"embeddedPlayerEvent",detail:d.detail},"*")}),[e,de,re,ne]);(0,r.useEffect)((()=>{let e;const t=()=>{var e;const t=(null==(e=null==window?void 0:window.chromeCastBridge)?void 0:e.isConnected)||!1;if(t&&te.current)try{te.current.pause(),te.pause()}catch(e){}Ne((e=>e!==t?t:e))};return t(),e=setInterval(t,1e3),()=>{e&&clearInterval(e)}}),[]),(0,r.useEffect)((()=>(setTimeout((()=>{if(!e.fast)try{(0,j.initializeCastBridge)(te.current,(null==e?void 0:e.video)||(null==e?void 0:e.livestream),(null==e?void 0:e.video)?"ON_DEMAND":"LIVESTREAM")}catch(e){}}),2e3),()=>{try{(0,j.destroyCastBridge)()}catch(e){}})),[e.fast,e.livestream,e.video]);const Be=se?6e4:15e3;(0,m.A)((()=>{var e;if(pe&&!le){const t=(null==(e=null==te?void 0:te.current)?void 0:e.currentTime)||0;(0,k.triggerHeartbeatEvent)(ie,de,re&&re.metadata&&re.metadata.id?re.metadata.id:0,se?{user:re&&re.metadata&&re.metadata.id?re.metadata.id:0}:{timestamp:t})}}),Be),(0,r.useEffect)((()=>()=>{oe&&re&&g&&g()}),[Te]),(0,m.A)((()=>{var e;pe&&oe&&re&&Q({currentTime:(null==(e=null==te?void 0:te.current)?void 0:e.currentTime)||0,contentId:de,playlistId:c,platform:ne})}),5e3),(0,r.useLayoutEffect)((()=>()=>{window.CastableVideoElement&&(window.CastableVideoElement.exitCast(),document.pictureInPictureElement&&document.exitPictureInPicture()),X=!1}),[]),(0,r.useEffect)((()=>{const e=document.getElementById("videoContainer");e&&e.addEventListener("click",(()=>{X||qe("preroll")}),{once:!0})}),[]),(0,r.useEffect)((()=>{const n=()=>{const e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t="ontouchstart"in window||navigator.maxTouchPoints>0,n=window.innerWidth<=768;return e&&t&&n},a=()=>{var a;if(e.fillMode){const e=document.getElementById("videoContainer"),a=window.innerWidth,r=window.innerHeight,i=16/9;let s=a,o=s/i;if(o>r&&(o=r,s=o*i),n()){const t=20;o=Math.min(o,r-t),e.style.zIndex="1",e.style.paddingBottom="env(safe-area-inset-bottom, 20px)"}e.style.width=t?"100%":`${s}px`,e.style.height=`${o}px`,e.style.position="absolute",e.style.top="50%",e.style.left="50%",e.style.transform="translate(-50%, -50%)"}if(e.containMode){const e=null==(a=document.getElementsByTagName("mux-player"))?void 0:a[0];if(!e)return;const t=document.getElementById("videoContainer"),r=t.clientWidth,i=t.clientHeight;let s,o;
1if(r/16>i/9?(o=i,s=i/9*16):(s=r,o=r/16*9),n()){const t=20;o=Math.min(o,i-t),e.style.paddingBottom="env(safe-area-inset-bottom, 20px)"}e.style.width=`${s}px`,e.style.height=`${o}px`}xe?Le&&Je():Je()};return a(),window.addEventListener("resize",a),window.addEventListener("orientationchange",a),()=>{window.removeEventListener("resize",a),window.removeEventListener("orientationchange",a)}}),[t,e,e.fullMode,Je]);const He=(0,r.useCallback)((e=>{try{const t=document.getElementById("videoContainer");if(!t)return;const n=t.querySelector("mux-player");if(!(null==n?void 0:n.shadowRoot))return;const a=n.shadowRoot.querySelector("media-theme-staylive, media-theme");a&&(a.dataset.adDisplaying=e.toString())}catch(e){console.error("Failed to update ad display state:",e)}}),[]);(0,r.useEffect)((()=>{const e=Re.current;if(e)return e.onAdEvent=e=>{switch(e.type){case"STARTED":$e((t=>F(V({},t),{adPosition:e.adPosition,totalAds:e.totalAds,duration:e.duration,currentTime:0,isPaused:!1,isPlaying:!0}))),He(!0),Fe(C.PLAYER_EVENTS.AD_PLAY);break;case"AD_PROGRESS":$e((t=>t?F(V({},t),{currentTime:e.currentTime,duration:e.duration}):t));break;case"PAUSED":$e((e=>e?F(V({},e),{isPaused:!0}):e)),Fe(C.PLAYER_EVENTS.AD_PAUSED);break;case"RESUMED":$e((e=>e?F(V({},e),{isPaused:!1}):e));break;case"CONTENT_RESUME":$e(null),He(!1),Fe(C.PLAYER_EVENTS.AD_COMPLETED),e.isPreroll&&(Ie.current=!1,Me(!0),Fe(C.PLAYER_EVENTS.PLAY),localStorage.setItem("lastAdPlayed",(new Date).toISOString()),localStorage.removeItem("adSkippedCounter"));break;case"AD_ERROR":$e(null),He(!1),e.isPreroll&&(Ie.current=!1,Me(!0),Fe(C.PLAYER_EVENTS.PLAY))}},()=>{e.onAdEvent=null}}),[He,Fe]),(0,r.useEffect)((()=>{const e=()=>{var e;const t=te.current,n=_e.current;if(!t||!n)return;const a=t.getBoundingClientRect(),r=null==(e=document.getElementById("videoContainer"))?void 0:e.getBoundingClientRect();if(!r)return;n.style.position="absolute",n.style.top=a.top-r.top+"px",n.style.left=a.left-r.left+"px",n.style.width=`${a.width}px`,n.style.height=`${a.height}px`,n.style.zIndex="50";const i=Oe.current;i&&(i.style.position="absolute",i.style.top=a.top-r.top+"px",i.style.left=a.left-r.left+"px",i.style.width=`${a.width}px`,i.style.height=`${a.height}px`,i.style.zIndex="55",i.style.pointerEvents="none")};e(),window.addEventListener("resize",e),window.addEventListener("orientationchange",e);const t=setInterval(e,1e3);return()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e),clearInterval(t)}}),[]);const Ue=(0,r.useCallback)((()=>{var e;const t=++ye.current,n=null==(e=te.current)?void 0:e.media;if(!n)return;const a=Array.from(n.querySelectorAll("track[data-custom-subtitle]")),r=oe&&Array.isArray(_)?_:[],i=(e,t)=>`${e}|${t}`;if(a.length===r.length&&a.every(((e,t)=>{const n=r[t];return i(e.srclang,e.getAttribute("src"))===i(n.language_code,null==n?void 0:n.vtt_url)})))return void(a.length&&void 0!==be.current&&G(n.textTracks,be.current));if(a.forEach((e=>e.remove())),!r.length)return void(be.current=void 0);const s=fe.current,o=!1===(null==s?void 0:s.enabled),l=(null==s?void 0:s.enabled)&&_.some((e=>e.language_code===s.language)),d=o?null:l?s.language:_[0].language_code;be.current=d,_.forEach((e=>{const t=document.createElement("track");t.src=null==e?void 0:e.vtt_url,t.kind=q,t.srclang=e.language_code,t.label=e.language_code,t.dataset.customSubtitle="true",n.appendChild(t)})),setTimeout((()=>{var e;t===ye.current&&(null==(e=te.current)?void 0:e.media)===n&&void 0!==be.current&&G(n.textTracks,be.current)}),0)}),[oe,_]);if((0,r.useEffect)((()=>{Ue()}),[Ue]),/bot|crawler|spider|crawling/i.test(navigator.userAgent))return(0,a.jsx)("div",{className:"text-white",children:"Loading..."});const qe=(e="preroll")=>B(this,null,(function*(){if(xe&&(!X||"preroll"!==e)&&xe[e]&&(X=!0,!we.current)){const e=localStorage.getItem("adSkippedCounter");localStorage.setItem("adSkippedCounter",e?Number(e)+1:1)}})),Ye=(e=>{const{playback_url:t,storyboard:n,drm_token:a}=e;if(!(null==t?void 0:t.includes("stream.mux.com")))return{src:t};const r=new URL(t);return{playbackId:r.pathname.replace(/^\//,"").replace(/.m3u8$/,""),playbackToken:r.searchParams.get("token"),storyboardToken:n&&oe?new URL(n).searchParams.get("token"):null,drmToken:a}})(se?e.livestream:oe?e.video:e.fast),We=Se.get("offset"),Ze=void 0!==e.offset?e.offset:We?Number(We):null,Ke=le?null:null!=Ze?{currentTime:(0,C.convertToSeconds)(Ze)}:oe&&null!=s?{currentTime:s}:null;if(Pe){const t=se?e.livestream:e.video||e.fast;return(0,a.jsxs)("div",{className:"relative w-full h-full bg-black aspect-video",children:[(0,a.jsx)("img",{src:(null==t?void 0:t.thumbnail)||ce,alt:"Thumbn
1ail",className:"absolute inset-0 object-cover w-full h-full"}),(0,a.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center w-full px-6 py-4 text-left text-white bg-black sm:px-8 gap-y-2 bg-opacity-80",children:[(0,a.jsxs)("p",{className:"flex flex-row items-center justify-center mb-0 text-2xl text-blue-600",children:[(0,a.jsx)(b.default,{icon:["fab","chromecast"],className:"mr-4 text-2xl text-blue-600"}),(0,a.jsx)(v.A,V({},A.default.casting))]}),(0,a.jsx)("p",{className:"text-lg truncate",children:null==t?void 0:t.name}),(0,a.jsxs)(f.default,{onClick:()=>{try{(0,j.triggerCastBridge)(t,te.current,oe?"ON_DEMAND":"LIVESTREAM")}catch(e){}},dataTestId:"castBridgeReconnectButton",children:[(0,a.jsx)(b.default,{icon:"play",className:"mr-2"}),(0,a.jsx)(v.A,V({},A.default.startPlaying))]})]})]})}const Ge={player_name:"Staylive Partnerplatform Player",user_id:re&&re.metadata&&re.metadata.id?re.metadata.id:0,video_id:de,player_init_time:(new Date).getTime(),video_content_type:se?"live":le?"fast":"on-demand",video_stream_type:se?"live":le?"fast":"on-demand",video_title:se?e.livestream.name:le?e.fast.name:e.video.name,sub_property_id:ne.uid,video_series:le?de:null},Xe=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return(/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||Xe)&&(Ye.preferPlayback="native"),(0,a.jsxs)("div",{className:"relative flex w-full h-full",id:"videoContainer",style:{"--dvr-controls-display":!1!==e.dvr?void 0:"none"},children:[ze&&(0,a.jsx)(l.Ay,F(V(F(V({},Ye),{theme:"staylive",defaultHiddenCaptions:!0,videoTitle:se?e.livestream.name:le?e.fast.name:e.video.name,preload:"none",slot:"media",castReceiver:"7E63D2C4",castCustomData:{mux_metadata:F(V({},Ge),{env_key:"jhkofogd7o2vmq7tsethc4c6t"}),mux:{playbackId:null==Ye?void 0:Ye.playbackId,tokens:{drm:null==Ye?void 0:Ye.drmToken}}},autoPlay:!navigator.userAgent.match(/iPhone/i)&&e.autoplay,className:"w-full h-full m-auto overflow-hidden leading-none rounded-md",accentColor:(null==i?void 0:i.useCustomColor)&&(null==i?void 0:i.color)?i.color:ae.colors.primaryColor}),Ke),{fullscreenElement:"videoContainer",onTimeUpdate:()=>{var t,a;const r=(null==(t=null==te?void 0:te.current)?void 0:t.currentTime)||0,i=(null==(a=null==te?void 0:te.current)?void 0:a.duration)||0;Fe(C.PLAYER_EVENTS.TIME_UPDATE,{currentTime:r,duration:i,contentType:e.type}),n&&n({player:null==te?void 0:te.current,currentTime:r,currentPdt:(0,C.getCurrentPdt)(null==te?void 0:te.current)})},onPlay:()=>{var e,t,n;Ie.current||(null==(e=Re.current)||e.initialize({player:te.current,midroll:_e.current}),ue?ge&&(Fe(C.PLAYER_EVENTS.RESUME),ve(!1)):(Fe(C.PLAYER_EVENTS.CONTENT_START),me(!0),qe("preroll"),(null==xe?void 0:xe.preroll)&&we.current&&Ae?(Ie.current=!0,null==(t=te.current)||t.pause(),null==(n=Re.current)||n.playPreroll({id:"preroll",url:Ae,player:te.current,midroll:_e.current})):setTimeout((()=>{Fe(C.PLAYER_EVENTS.PLAY)}),100),le||(0,k.sendPlaybackEvent)(se,de,re&&re.metadata&&re.metadata.id?re.metadata.id:0)),he(!0))},onEnded:()=>{var e;Fe(C.PLAYER_EVENTS.ENDED),d&&d(!0),he(!1),ve(!1),oe&&Q({currentTime:null==(e=null==te?void 0:te.current)?void 0:e.currentTime,contentId:de,playlistId:c,platform:ne})},onPause:()=>{Ie.current||(he(!1),ve(!0),Fe(C.PLAYER_EVENTS.PAUSE))},preferCmcd:"none",envKey:"jhkofogd7o2vmq7tsethc4c6t",metadataVideoId:de,metadata:Ge,streamType:function(){switch(e.type){case"fast":return"live";case"video":default:return"on-demand";case"stream":return!1!==e.dvr?"live:dvr":"live"}}(),poster:(se?e.livestream.thumbnail:le?e.fast.thumbnail:e.video.thumbnail)||ce,ref:te,onLoadStart:()=>{xe&&!Le||Je(),Ue()}})),(0,a.jsx)("div",{ref:_e,className:"pointer-events-none"}),(0,a.jsx)("div",{ref:Oe,children:(null==De?void 0:De.isPlaying)&&(0,a.jsx)(L.default,{adPosition:De.adPosition,totalAds:De.totalAds,currentTime:De.currentTime,duration:De.duration,isPaused:De.isPaused,onTogglePause:()=>{var e,t;De.isPaused?null==(e=Re.current)||e.resumeAd():null==(t=Re.current)||t.pauseAd()},onVolumeChange:e=>{var t;null==(t=Re.current)||t.setVolume(e)}})})]});function Je(){var t;try{if(oe&&e.video.chapters&&e.video.chapters.length>0&&(null==(t=null==te?void 0:te.current)?void 0:t.shadowRoot)&&te.current.shadowRoot.querySelector("media-theme")){const t=te.current.shadowRoot.querySelector("media-theme").shadowRoot.querySelector("media-controller").querySelector("media-time-range");try{const e=t.shadowRoot.querySelectorAll("chapter-container");e.length>0&&e.forEach((e=>e.remove()))}catch(e){}const n=document.createElement("chapter-container");n.innerHTML="\n <style>\n chapter-container {\n position: absolute;\n left: 10px;\n top: -5px;\n width: calc(100% - 30px);\n }\n </style>\n ",t&&(t.shadowRoot.appendChild(n),e.video.chapters.forEac
1h((t=>function(e,t,n){const a=(0,C.convertToSeconds)(t.duration),r=(0,C.convertToSeconds)(n.time),i=r/a*100,s=document.createElement("chapter");s.setAttribute("id",n.id),s.onclick=()=>{te.current.currentTime=r},s.title=n.name,s.innerHTML=(0,E.getChapterElement)(i,n),e.appendChild(s)}(n,e.video,t))))}}catch(e){console.error("Failed to setup chapters",e)}}}ee.propTypes={setup:s().object,playlistId:s().number,watchHistory:s().object,startTime:s().number,hasWatchedResult:s().bool,onTimeUpdate:s().func,chatOpen:s().bool,onVideoEnded:s().func,playerAccentColor:s().shape({color:s().string,useCustomColor:s().bool}),fetchContinueWatching:s().func,subtitles:s().array};const te=ee},20974:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.Player",i=(0,a.YK)({casting:{id:`${r}.casting`,defaultMessage:"Connected to your TV"},startPlaying:{id:`${r}.startPlaying`,defaultMessage:"Start playing"}})},85385:(e,t,n)=>{n.r(t),n.d(t,{getPreferredSubtitleLang:()=>r,setPreferredSubtitleLang:()=>i});const a="preferredSubtitleLanguage";function r(){try{const e=localStorage.getItem(a);return e?JSON.parse(e):null}catch(e){return console.debug("Unable to retrieve preferred subtitle language from localStorage: ",e),null}}function i(e){try{localStorage.setItem(a,JSON.stringify(e))}catch(e){console.debug("Unable to set preferred subtitle language to localStorage: ",e)}}},238:(e,t,n)=>{var a;n.r(t),n.d(t,{Theme:()=>o});var r=n(96540),i=n(22229),s=n(11866);const o=(0,i.a0)({tagName:"media-theme-staylive",elementClass:s.default,react:a||(a=n.t(r,2)),events:{onactivate:"activate",onchange:"change"}})},11866:(e,t,n)=>{n.r(t),n.d(t,{default:()=>u}),n(96372);var a,r,i=n(72358),s=n(48259),o=(n(1160),Object.defineProperty);const l=null==(r=null==(a=i.Au.document)?void 0:a.createElement)?void 0:r.call(a,"template");l&&(l.innerHTML='\n \x3c!-- Sutro --\x3e\n <style>\n :host {\n --_primary-color: var(--media-primary-color, #fff);\n --_secondary-color: var(--media-secondary-color, transparent);\n --_accent-color: var(--media-accent-color, #fff);\n\n /* Default styles for the player. First of, lock it to 16:9 */\n aspect-ratio: 16 / 9;\n }\n\n media-controller {\n --base: 20px;\n\n font-size: calc(0.75 * var(--base));\n /* Inherit the font family from the upper root */\n font-family: custom, Roboto, helvetica neue, segoe ui, arial, sans-serif;\n --media-font-family: custom, Roboto, helvetica neue, segoe ui, arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n\n --media-primary-color: #fff;\n --media-secondary-color: transparent;\n --media-menu-background: rgba(28, 28, 28, 0.6);\n --media-text-color: var(--_primary-color);\n --media-control-hover-background: var(--media-secondary-color);\n\n --media-range-track-height: calc(0.15 * var(--base));\n --media-range-thumb-height: calc(0.6 * var(--base));\n --media-range-thumb-width: calc(0.6 * var(--base));\n --media-range-thumb-border-radius: var(--base);\n\n --media-control-height: calc(2 * var(--base));\n\n /* Sutro custom layout variables */\n --sutro-time-range-height: calc(0.1 * var(--base));\n --sutro-time-range-gap: calc(0.5 * var(--base));\n --sutro-volume-width: calc(7 * var(--base));\n --sutro-volume-gap: calc(0.5 * var(--base));\n --title-height: calc(3 * var(--base));\n }\n\n media-controller[breakpointmd] {\n --base: 22px;\n }\n\n /* The biggest size controller is tied to going fullscreen\n instead of a player width */\n media-controller[mediaisfullscreen] {\n --base: 26px;\n }\n\n /* Don\'t show the controls when the user has not played anything yet */\n media-controller:not([mediahasplayed]) media-control-bar,\n media-controller[mediahasplayed="false"] media-control-bar,\n media-controller:not([mediahasplayed]) .media-gradient-bottom,\n media-controller[mediahasplayed="false"] .media-gradient-bottom,\n media-controller:not([mediahasplayed]) media-loading-indicator {\n display: none;\n }\n\n .media-button {\n --media-control-hover-background: var(--_secondary-color);\n --media-tooltip-background: rgb(28 28 28 / .36);\n --media-text-content-height: 1.2;\n --media-tooltip-padding: .7em 1em;\n --media-tooltip-distance: 8px;\n --media-tooltip-container-margin: 18px;\n --media-font-weight: bold;\n position: relative;\n padding: 0;\n opacity: 0.9;\n transition: opacity 0.1s cubic-bezier(0.4, 0, 1, 1);\n }\n\n .media-button svg {\n fill: none;\n stroke: var(--_primary-color);\n stroke-width: 1;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n svg .svg-shadow {\n stroke: #000;\n stroke-opacity: 0.15;\n stroke-width: 2px;\n fill: none;\n }\n\n .centered-play-button svg {\n width: calc(10 * var(--base));\n height: calc(10 * var(--base));\n fill: none;\n stroke: var(--_primary-color);\n stroke-width: 1;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n media-controller[mediahasplayed] .centered-play-button {\n display: none;\n }\n \n media-controller {\n --media-webkit-text-track-transform: translateY(0);\n --media-webkit-text-track-transition: transform 0.433s ease-out 0.3s;\n }\n media-controller:is([mediapaused], :not([userinactive])) {\n --media-webkit-text-track-transform: translateY(calc(var(--base) * -7));\n --media-webkit-text-track-transition: transform 0.15s ease;\n }\n\n </style>\n\n <media-controller\n breakpoints="md:480"\n defaultsubt
1itles="{{defaultsubtitles}}"\n defaultduration="{{defaultduration}}"\n gesturesdisabled="{{disabled}}"\n hotkeys="{{hotkeys}}"\n nohotkeys="{{nohotkeys}}"\n defaultstreamtype="on-demand"\n >\n <slot name="media" slot="media"></slot>\n <slot name="poster" slot="poster"></slot>\n <media-play-button notooltip class="centered-play-button" slot="centered-chrome">\n <svg slot="icon" viewBox="0 0 32 32">\n \x3c!-- <use class="svg-shadow" xlink:href="#icon-play"></use> --\x3e\n <g>\n <path\n id="icon-play"\n d="M20.7131 14.6976C21.7208 15.2735 21.7208 16.7265 20.7131 17.3024L12.7442 21.856C11.7442 22.4274 10.5 21.7054 10.5 20.5536L10.5 11.4464C10.5 10.2946 11.7442 9.57257 12.7442 10.144L20.7131 14.6976Z"\n />\n </g>\n </svg>\n </media-play-button>\n <media-loading-indicator noautohide slot="centered-chrome"></media-loading-indicator>\n <media-error-dialog slot="dialog"></media-error-dialog>\n\n \x3c!-- Live button --\x3e\n <template if="streamtype == \'live\'">\n <media-live-button slot="top-chrome"></media-live-button>\n </template>\n\n \x3c!-- Add seek forward/backward buttons that covers the video player --\x3e\n <media-seek-backward-button slot="center"></media-seek-backward-button>\n <media-seek-forward-button slot="center"></media-seek-forward-button>\n\n \x3c!-- Controls Gradient --\x3e\n <style>\n .media-gradient-bottom {\n position: absolute;\n bottom: 0;\n width: 100%;\n height: calc(16 * var(--base));\n pointer-events: none;\n }\n\n .media-gradient-bottom::before {\n content: \'\';\n --gradient-steps: hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%,\n hsl(0 0% 0% / 0.104) 22.5%, hsl(0 0% 0% / 0.175) 29%, hsl(0 0% 0% / 0.259) 35.3%, hsl(0 0% 0% / 0.352) 41.2%,\n hsl(0 0% 0% / 0.45) 47.1%, hsl(0 0% 0% / 0.55) 52.9%, hsl(0 0% 0% / 0.648) 58.8%, hsl(0 0% 0% / 0.741) 64.7%,\n hsl(0 0% 0% / 0.825) 71%, hsl(0 0% 0% / 0.896) 77.5%, hsl(0 0% 0% / 0.951) 84.5%, hsl(0 0% 0% / 0.987) 91.9%,\n hsl(0 0% 0%) 100%;\n\n position: absolute;\n inset: 0;\n opacity: 0.7;\n background: linear-gradient(to bottom, var(--gradient-steps));\n }\n </style>\n <div class="media-gradient-bottom"></div>\n\n \x3c!-- Settings Menu --\x3e\n <style>\n media-settings-menu {\n --media-menu-icon-height: 20px;\n --media-menu-item-icon-height: 20px;\n --media-settings-menu-min-width: calc(10 * var(--base));\n --media-menu-transform-in: translateY(0) scale(1);\n --media-menu-transform-out: translateY(20px) rotate(3deg) scale(1);\n padding-block: calc(0.15 * var(--base));\n margin-right: 10px;\n margin-bottom: 17px;\n border-radius: 8px;\n z-index: 99;\n user-select: none;\n }\n\n media-settings-menu-item,\n [role=\'menu\']::part(menu-item) {\n --media-icon-color: var(--_primary-color);\n margin-inline: calc(0.45 * var(--base));\n height: calc(1.6 * var(--base));\n font-size: calc(0.7 * var(--base));\n font-weight: 400;\n padding: 0;\n padding-left: calc(0.4 * var(--base));\n padding-right: calc(0.1 * var(--base));\n border-radius: 6px;\n text-shadow: none;\n }\n\n [slot=\'submenu\']::part(back button) {\n font-size: calc(0.7 * var(--base));\n }\n\n media-settings-menu-item:hover {\n --media-icon-color: #000;\n color: #000;\n background-color: #fff;\n }\n\n media-settings-menu-item:hover [slot=\'submenu\']::part(menu-item),\n [slot=\'submenu\']::part(back indicator) {\n --media-icon-color: var(--_primary-color);\n }\n\n media-settings-menu-item:hover [slot=\'submenu\']::part(menu-item):hover {\n --media-icon-color: #000;\n color: #000;\n background-color: #fff;\n }\n\n media-settings-menu-item[submenusize=\'0\'] {\n display: none;\n }\n\n /* Also hide if only `Auto` is added. */\n .quality-settings[submenusize=\'1\'] {\n display: none;\n }\n </style>\n <media-settings-menu hidden anchor="auto">\n <media-settings-menu-item>\n Playback Speed\n <media-playback-rate-menu slot="submenu" hidden rates="0.5 1 1.5 2">\n <div slot="title">Playback Speed</div>\n </media-playback-rate-menu>\n </media-settings-menu-item>\n <media-settings-menu-item class="quality-settings">\n Quality\n <media-rendition-menu slot="submenu" hidden>\n <div slot="title">Quality</div>\n </media-rendition-menu>\n </media-settings-menu-item>\n <media-settings-menu-item>\n Subtitles/CC\n <media-captions-menu slot="submenu" hidden>\n <div slot="title">Subtitles/CC</div>\n </media-captions-menu>\n </media-settings-menu-item>\n </media-settings-menu>\n\n \x3c!-- Control Bar --\x3e\n <style>\n media-control-bar {\n display: flex;\n flex-direction: column;\n align-items: start;\n position: absolute;\n /* Height = time-range + gap + buttons row (no title row on small screens) */\n height: calc(var(--sutro-time-range-height) + var(--sutro-time-range-gap) + (2.5 * var(--base)));\n /* Keep control buttons aligned nicely while giving space above for the range */\n line-height: calc(2 * var(--base));\n bottom: calc(0.3 * var(--base));\n /* Stretch to full player width */\n left: 0 !important;\n right: 0 !important;\n /* Reserve space at the top for the time range bar + gap */\n padding-top: calc(var(--sutro-time-range-height) + var(--sutro-time-range-gap));\n /* Horizontal padding for the buttons row (the time-range will compensate) */\n padding-left: var(--base);\n padding-right: var(--base);\n /* Remove default internal padding that media-chrome applies */\n --media-control-padding: 0;\n }\n\n /* Use a different height on larger screens, as we do show the title bar then */\n media-controller[breakpointmd] media-control-bar {\n /* Height = time-range + gap + buttons row + title row */\n height: calc(var(--sutro-time-range-height) + var(--sutro-time-range-gap) + calc(2 * var(--base)) + (1.6 * var(--title-height)));\n }\n\n /* Ensure all interactive controls sit above the time-range */\n media-control-bar > :not(media-time-range) {\n position: relative;\n z-index: 2;\n }\n\n media-control-bar #button-container {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex-direction: row;\n column-gap: calc(0.5 * var(--base));\n }\n\n media-control-bar #media-control-bar-container {\n width: 100%;\n }\n\n media-control-bar .spacer {\n flex-grow: 1;\n }\n\n .media-title-container {\n display: flex;\n align-items: end;\n justify-content: flex-start;\n flex-direction: row;\n max-width: 70%;\n column-gap: calc(0.5 * var(--base));\n height: var(--title-height);\n margin-bottom: var(--base);\n }\n\n /* Decrease the width of the media-control-bar when playing ads, so users can press the "Skip ad" button */\n :host([data-ad-displaying=\'true\']) media-control-bar, \n :host([data-ad-displaying=\'true\']) #button-container {\n width: 80%;\n height: unset;\n }\n\n /* Make the media-time-range span the full width during ads even though its parent is just 80% */\n :host([data-ad-displaying=\'true\']) media-time-range {\n position: absolute !important;\n left: 0 !important;\n right: 0 !important;\n width: calc(100% / 0.8) !important;\n z-index: 10 !important;\n pointer-events: none !important;\n }\n\n /* Flip the order of the timeline and the buttons when ads are playing */\n :host([data-ad-displaying=\'true\']) #media-control-bar-container {\n display: flex;\n flex-direction: column-reverse;\n height: 100%;\n }\n\n\n /* Change the color of the media-time-range when ads are playing using css variables */\n :host([data-ad-displaying=\'true\']) media-time-range {\n --media-range-bar-color:rgb(255, 230, 0);\n --media-range-thumb-background: rgb(255, 230, 0);\n }\n \n /* Hide various buttons and title when ad is playing */\n :host([data-ad-displaying=\'true\']) media-seek-forward-button,\n :host([data-ad-displaying=\'true\']) media-seek-backward-button,\n :host([data-ad-displaying=\'true\']) media-settings-menu-button,\n :host([data-ad-displaying=\'true\']) media-fullscreen-button,\n :host([data-ad-displaying=\'true\']) media-pip-button,\n :host([data-ad-displaying=\'true\']) media-airplay-button,\n :host([data-ad-displaying=\'true\']) media-cast-button,\n :host([data-ad-displaying=\'true\']) media-live-button,\n :host([data-ad-displaying=\'true\']) .media-title-container\n {\n display: none;\n }\n\n :host([data-ad-displaying=\'true\']) media-time-display {\n visibility: hidden;\n }\n\n /* Hide scrub bar and time counter for non-DVR live streams.\n --dvr-control
1s-display is set to \'none\' on the container when dvr=false,\n left unset (so var() uses its fallback) when dvr=true.\n\n media-time-range: fallback \'block\' means DVR-on is a no-op; \'none\' hides it.\n\n media-time-display has responsive rules that hide one variant per breakpoint:\n - [breakpointmd] hides :not([showduration])\n - [breakpointmd] shows [showduration]\n - :not([breakpointmd]) hides [showduration]\n - :not([breakpointmd]) shows :not([showduration])\n We target only the shown variant at each breakpoint so:\n - DVR=true (var unset) â fallback \'block\' â no change from normal behaviour\n - DVR=false (var=\'none\') â !important \'none\' â both variants hidden */\n media-time-range {\n display: var(--dvr-controls-display, block) !important;\n }\n media-controller[breakpointmd] media-time-display[showduration] {\n display: var(--dvr-controls-display, block) !important;\n }\n media-controller:not([breakpointmd]) media-time-display:not([showduration]) {\n display: var(--dvr-controls-display, block) !important;\n }\n\n .media-title::before {\n content: attr(data-title);\n }\n\n .media-title {\n font-size: calc(1.7 * var(--base));\n font-weight: bold;\n text-wrap: wrap;\n color: white;\n overflow: hidden;\n text-overflow: ellipsis;\n /* Max 2 rows */\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2; \n -webkit-box-orient: vertical;\n }\n </style>\n <media-control-bar>\n <div id="media-control-bar-container">\n <template if="breakpointmd">\n <div class="media-title-container">\n <span class="media-title" data-title="{{videotitle}}"></span>\n </div>\n </template>\n\n \x3c!-- Time Range / Progress Bar --\x3e\n <style>\n media-time-range {\n width: 100%;\n display: block;\n box-sizing: border-box;\n margin: 0;\n height: calc(0.2 * var(--sutro-time-range-height));\n border-radius: calc(0.25 * var(--base));\n /* Keep below the controls but above the background */\n z-index: 1;\n\n --media-range-track-backdrop-filter: invert(10%) blur(5px) brightness(110%);\n --media-range-track-background: rgba(255, 255, 255, 0.2);\n --media-range-track-pointer-background: rgba(255, 255, 255, 0.5);\n --media-range-track-border-radius: calc(0.25 * var(--base));\n\n /* Force the internal track to fill the available width */\n --media-range-track-width: 100%;\n --media-range-padding-left: 0;\n --media-range-padding-right: 0;\n --media-control-padding: 0;\n\n --media-time-range-buffered-color: rgba(255, 255, 255, 0.4);\n --media-range-bar-color: var(--media-accent-color);\n\n --media-range-thumb-background: var(--media-accent-color);\n --media-range-thumb-transition: opacity 0.1s linear;\n --media-range-thumb-opacity: 0;\n\n --media-preview-thumbnail-border: calc(0.125 * var(--base)) solid #fff;\n --media-preview-thumbnail-border-radius: calc(0.5 * var(--base));\n --media-preview-thumbnail-min-width: calc(8 * var(--base));\n --media-preview-thumbnail-max-width: calc(10 * var(--base));\n --media-preview-thumbnail-min-height: calc(5 * var(--base));\n --media-preview-thumbnail-max-height: calc(7 * var(--base));\n --media-preview-box-margin: 0 0 10px;\n }\n media-time-range:hover {\n --media-range-thumb-opacity: 1;\n --media-range-track-height: calc(0.25 * var(--base));\n }\n\n /* Preview UI should not block clicks to controls */\n media-preview-thumbn
1ail,\n media-preview-chapter-display,\n media-preview-time-display {\n pointer-events: none;\n }\n\n media-preview-thumbnail {\n margin-bottom: 5px;\n }\n\n media-preview-chapter-display {\n font-size: calc(0.6 * var(--base));\n padding-block: 0;\n }\n\n media-preview-time-display {\n font-size: calc(0.65 * var(--base));\n padding-top: 0;\n font-weight: bold;\n }\n </style>\n <media-time-range>\n <media-preview-thumbnail slot="preview"></media-preview-thumbnail>\n <media-preview-chapter-display slot="preview"></media-preview-chapter-display>\n <media-preview-time-display slot="preview"></media-preview-time-display>\n </media-time-range>\n\n <div id="button-container">\n \x3c!-- Play/Pause --\x3e\n <style>\n @keyframes bounce-scale-play {\n 0% {\n transform: scale(0.75, 0.75);\n }\n 50% {\n transform: scale(115%, 115%);\n }\n 100% {\n transform: scale(1, 1);\n }\n }\n\n .media-button {\n border-radius: 25%;\n backdrop-filter: blur(10px) invert(15%) brightness(80%) opacity(0);\n -webkit-backdrop-filter: blur(10px) invert(15%) brightness(80%) opacity(0);\n transition: backdrop-filter 0.3s, -webkit-backdrop-filter 0.3s, box-shadow 0.3s;\n }\n\n .media-button:hover {\n /* background-color: rgba(0, 0, 0, 0.05); */\n box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 5px;\n /* hue-rotate(120deg) */\n backdrop-filter: blur(10px) invert(15%) brightness(80%) opacity(1);\n -webkit-backdrop-filter: blur(10px) invert(15%) brightness(80%) opacity(1);\n transition: backdrop-filter 0.3s, -webkit-backdrop-filter 0.3s;\n }\n\n media-play-button #icon-play {\n opacity: 0;\n transform-box: view-box;\n transform-origin: center center;\n transform: scale(0.5, 0.5);\n transition: all 0.5s;\n }\n\n media-play-button[mediapaused] #icon-play {\n opacity: 1;\n transform: scale(1, 1);\n animation: 0.35s bounce-scale-play ease-in-out;\n }\n\n @keyframes bounce-pause-left {\n 0% {\n font-size: 10px;\n }\n 50% {\n font-size: 3px;\n }\n 100% {\n font-size: 4px;\n }\n }\n\n @keyframes bounce-pause-right {\n 0% {\n font-size: 10px;\n transform: translateX(-8px);\n }\n 50% {\n font-size: 3px;\n transform: translateX(1px);\n }\n 100% {\n font-size: 4px;\n transform: translateX(0);\n }\n }\n\n media-play-button #pause-left,\n media-play-button #pause-right {\n /* Using font-size to animate height because using scale was resulting in unexpected positioning */\n font-size: 4px;\n opacity: 1;\n transform: translateX(0);\n transform-box: view-box;\n }\n\n media-play-button:not([mediapaused]) #pause-left {\n animation: 0.3s bounce-pause-left ease-out;\n }\n\n media-play-button:not([mediapaused]) #pause-right {\n animation: 0.3s bounce-pause-right ease-out;\n }\n\n media-play-button[mediapaused] #pause-left,\n media-play-button[mediapaused] #pause-right {\n opacity: 0;\n font-size: 10px;\n }\n\n media-play-button[mediapaused] #pause-right {\n transform-origin: right center;\n transform: translateX(-8px);\n }\n </style>\n <media-play-button data-testid="player-play-button" mediapaused class="media-button">
1\n <svg slot="icon" viewBox="0 0 32 32">\n \x3c!-- <use class="svg-shadow" xlink:href="#icon-play"></use> --\x3e\n <g>\n <path\n id="icon-play"\n d="M20.7131 14.6976C21.7208 15.2735 21.7208 16.7265 20.7131 17.3024L12.7442 21.856C11.7442 22.4274 10.5 21.7054 10.5 20.5536L10.5 11.4464C10.5 10.2946 11.7442 9.57257 12.7442 10.144L20.7131 14.6976Z"\n />\n </g>\n \x3c!-- <use class="svg-shadow" xlink:href="#icon-pause"></use> --\x3e\n <g id="icon-pause">\n <rect id="pause-left" x="10.5" width="1em" y="10.5" height="11" rx="0.5" />\n <rect id="pause-right" x="17.5" width="1em" y="10.5" height="11" rx="0.5" />\n </g>\n </svg>\n </media-play-button>\n\n \x3c!-- Jump Backward / Forward Buttons --\x3e\n <media-seek-backward-button class="media-button" seekoffset="10" aria-label="seek back 10 seconds" tabindex="0" role="button" mediacurrenttime="0">\n <svg slot="icon" xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none" viewBox="0 0 32 32">\n <path d="m10 13 3-3"></path>\n <path stroke="none" fill="currentColor" d="m11.88 16.08-.95 5.793H9.72l.76-4.631h-.033L9 18.074l.179-1.087 1.564-.908h1.137ZM14.12 22c-.48 0-.874-.119-1.18-.356-.308-.24-.518-.585-.63-1.036-.11-.45-.112-.993-.008-1.626.106-.632.288-1.17.545-1.616.259-.445.58-.783.96-1.015A2.441 2.441 0 0 1 15.101 16c.477 0 .87.117 1.177.35.307.235.517.573.631 1.016.116.444.121.982.017 1.616-.104.635-.286 1.178-.545 1.629-.259.449-.58.793-.964 1.033a2.412 2.412 0 0 1-1.296.356Zm.168-1.016c.33 0 .619-.167.867-.5.247-.334.426-.835.536-1.502.072-.438.088-.803.047-1.095-.039-.294-.127-.515-.265-.662a.698.698 0 0 0-.534-.22c-.325 0-.614.165-.866.497-.25.33-.428.823-.536 1.48-.073.445-.089.816-.048 1.114.041.296.13.519.269.668.138.147.314.22.53.22Z"></path>\n <path d="M19.277 22h2.017c.39 0 .706-.432.706-.964v-7.072c0-.532-.316-.964-.706-.964H10"></path>\n </svg>\n </media-seek-backward-button>\n <media-seek-forward-button class="media-button" seekoffset="10" aria-label="seek forward 10 seconds" tabindex="0" role="button" mediacurrenttime="0">\n <svg slot="icon" viewBox="0 0 32 32">\n <path d="m22 13-3-3"></path>\n <path stroke="none" fill="currentColor" d="m17.88 16.08-.95 5.793h-1.21l.76-4.631h-.033L15 18.074l.179-1.087 1.564-.908h1.137ZM20.12 22c-.48 0-.874-.119-1.18-.356-.308-.24-.518-.585-.63-1.036-.11-.45-.112-.993-.008-1.626.106-.632.288-1.17.545-1.616.259-.445.58-.783.96-1.015A2.441 2.441 0 0 1 21.101 16c.477 0 .87.117 1.177.35.307.235.517.573.631 1.016.116.444.121.982.017 1.616-.104.635-.286 1.178-.545 1.629-.259.449-.58.793-.964 1.033a2.412 2.412 0 0 1-1.296.356Zm.168-1.016c.33 0 .619-.167.866-.5.248-.334.427-.835.537-1.502.073-.438.088-.803.047-1.095-.039-.294-.127-.515-.265-.662a.698.698 0 0 0-.534-.22c-.326 0-.614.165-.866.497-.25.33-.428.823-.536 1.48-.073.445-.088.816-.048 1.114.041.296.13.519.269.668.137.147.314.22.53.22Z"></path>\n <path d="M12.723 22h-2.017c-.39 0-.706-.432-.706-.964v-7.072c0-.532.316-.964.706-.964H22"></path>\n </svg>\n </media-seek-forward-button>\n\n \x3c!-- Volume/Mute --\x3e\n <style>\n .volume-group {\n display: inline-flex;\n align-items: center;\n position: relative;\n }\n media-mute-button {\n position: relative;\n }\n\n media-mute-button .muted-path {\n transition: clip-path 0.2s ease-out;\n }\n\n media-mute-button #muted-path-2 {\n transition-delay: 0.2s;\n }\n\n media-mute-button .muted-path {\n clip-path: inset(0);\n }\n\n media-mute-button:not([mediavolumelevel=\'off\']) #muted-path-1 {\n clip-path: inset(0 0 100% 0);\n }\n\n media-mute-button:not([mediavolumelevel=\'off\']) #muted-path-2 {\n clip-path: inset(0 0 100% 0);\n }\n\n media-mute-button .muted-path {\n opacity: 0;\n }\n\n media-mute-button[mediavolumelevel=\'off\'] .muted-path {\n opacity: 1;\n }\n\n media-mute-button .vol-path {\n opacity: 1;\n transition: opacity 0.4s;\n }\n\n media-mute-button[mediavolumelevel=\'off\'] .vol-path {\n opacity: 0;\n }\n\n media-mute-button[mediavolumelevel=\'low\'] #vol-high-path,\n media-mute-button[mediavolumelevel=\'medium\'] #vol-high-path {\n opacity: 0;\n }\n\n media-volume-range {\n --media-range-track-background: rgba(255, 255, 255, 0.6);\n --media-range-thumb-opacity: 0;\n }\n\n @keyframes volume-in {\n 0% {\n visibility: hidden;\n opacity: 0;\n transform: translateY(50%) rotate(1deg);\n }\n 50% {\n visibility: visible;\n opacity: 1;\n transform: rotate(-2deg);\n }\n 100% {\n visibility: visible;\n opacity: 1;\n transform: translateY(0) rotate(0deg);\n }\n }\n\n @keyframes volume-out {\n 0% {\n visibility: visible;\n opacity: 1;\n transform: translateY(0) rotate(0deg);\n }\n 50% {\n opacity: 1;\n transform: rotate(0deg);\n }\n 100% {\n visibility: hidden;\n opacity: 0;\n transform: translateY(50%) rotate(1deg);\n }\n }\n\n .media-volume-range-wrapper {\n /* Inline slider next to the mute button; collapsed by default */\n position: static;\n display: inline-flex;\n align-items: center;\n /* Do not reserve space when collapsed */\n flex: 0 0 0;\n min-width: 0;\n margin-left: 0;\n width: 0;\n max-width: var(--sutro-volume-width);\n height: calc(1.6 * var(--base));\n box-sizing: border-box;\n overflow: hidden;\n opacity: 0;\n visibility: hidden;\n animation: none;\n transition: width 0.25s ease, opacity 0.15s ease, visibility 0s 0.25s, padding-left 0.25s ease;\n }\n\n media-volume-range {\n /*\n Hide range and animation until mediavolume attribute is set.\n `visibility` didn\'t work, hovering over media-volume-range-wrapper\n caused it to show. Should require mute-button:hover.\n */\n opacity: 0;\n transition: opacity 0s 1s;\n\n width: 100%;\n height: calc(0.6 * var(--base));\n padding: 0;\n border-radius: calc(0.25 * var(--base));\n overflow: hidden;\n background: rgba(0, 0, 0, 0.2);\n\n --media-range-bar-color: #ffffff;\n\n --media-range-padding-left: 0;\n --media-range-padding-right: 0;\n\n --media-range-track-width: 100%;\n --media-range-track-height: var(--base);\n --media-range-track-border-radius: calc(0.25 * var(--base));\n --media-range-track-backdrop-filter: blur(10px) brightness(80%);\n\n /* This makes zero volume still show some of the bar.\n I can\'t make the bar have curved corners otherwise though. */\n --media-range-thumb-width: var(--base);\n --media-range-thumb-border-radius: calc(0.25 * var(--base));\n\n /* The Sutro design has a gradient like this, but not sure I like it */\n /* --media-range-thumb-box-shadow: 10px 0px 20px rgba(255, 255, 255, 0.5); */\n }\n\n media-volume-range[mediavolume] {\n opacity: 1;\n }\n\n [keyboardcontrol] media-volume-range:focus {\n /* TODO: This appears to be creating a think outline */\n outline: 1px solid rgba(27, 127, 204, 0.9);\n }\n\n /* Expand inline on hover/focus, pushing other controls */\n /* Expand when hovering the group or the wrapper itself */\n .volume-group:hover .media-volume-range-wrapper,\n .volume-group:focus-within .media-volume-range-wrapper,\n .media-volume-range-wrapper:hover,\n .media-volume-range-wrapper:focus,\n .media-volume-range-wrapper:focus-within {\n flex: 0 0 var(--sutro-volume-width);\n width: var(--sutro-volume-width);\n padding-left: var(--sutro-volume-gap);\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n transition: width 0.25s ease, opacity 0.1s ease, visibility 0s;\n }\n\n /* Ensure range content is visible when expanded */\n .volume-group:hover .media-volume-range-wrapper media-volume-range,\n .volume-group:focus-within .media-volume-range-wrapper media-volume-range,\n .media-volume-range-wrapper:hover media-volume-range,\n .media-volume-range-wrapper:focus media-volume-range,\n .media-volume-range-wrapper:focus-within media-volume-range {\n opacity: 1;\n transition: opacity 0s;\n }\n\n /* When keyboard navigating the volume range and wrapper need to always be visible\n otherwise focus state can\'t land on it. This is ok when keyboard navigating because\n the hovering issues aren\'t a concern, unless you happen to be keyboard AND mouse navigating.\n */\n [keyboardcontrol] .media-volume-range-wrapper,\n [keyboardcontrol] .media-volume-range-wrapper:focus-within,\n [keyboardcontrol] .media-volume-range-wrapper:focus-within media-volume-range {\n visibility: visible;\n width: var(--sutro-volume-width);\n opacity: 1;\n flex: 0 0 var(--sutro-volume-width);\n }\n </style>\n <div class="volume-group">\n <media-mute-button class="media-button" notooltip>\n <use class="svg-shadow" xlink:href="#vol-paths"></use>
1\n <svg slot="icon" viewBox="0 0 32 32">\n <g id="vol-paths">\n <path\n id="speaker-path"\n d="M16.5 20.486v-8.972c0-1.537-2.037-2.08-2.802-.745l-1.026 1.79a2.5 2.5 0 0 1-.8.85l-1.194.78A1.5 1.5 0 0 0 10 15.446v1.11c0 .506.255.978.678 1.255l1.194.782a2.5 2.5 0 0 1 .8.849l1.026 1.79c.765 1.334 2.802.792 2.802-.745Z"\n />\n <path\n id="vol-low-path"\n class="vol-path"\n d="M18.5 18C19.6046 18 20.5 17.1046 20.5 16C20.5 14.8954 19.6046 14 18.5 14"\n />\n <path\n id="vol-high-path"\n class="vol-path"\n d="M18 21C20.7614 21 23 18.7614 23 16C23 13.2386 20.7614 11 18 11"\n />\n <path id="muted-path-1" class="muted-path" d="M23 18L19 14" />\n <path id="muted-path-2" class="muted-path" d="M23 14L19 18" />\n </g>\n </svg>\n </media-mute-button>\n <div class="media-volume-range-wrapper">\n <media-volume-range></media-volume-range>\n </div>\n </div>\n\n \x3c!-- Time Display --\x3e\n <style>\n media-time-display {\n position: relative;\n padding: calc(0.5 * var(--base));\n font-size: calc(0.7 * var(--base));\n border-radius: calc(0.5 * var(--base));\n }\n\n media-controller[breakpointmd] media-time-display:not([showduration]) {\n display: none;\n }\n\n media-controller:not([breakpointmd]) media-time-display[showduration] {\n display: none;\n }\n </style>\n <media-time-display></media-time-display>\n <media-time-display showduration></media-time-display>\n\n <div class="spacer"></div>\n\n \x3c!-- Subtitles/CC Button --\x3e\n <style>\n media-captions-button {\n position: relative;\n }\n\n media-controller:not([breakpointmd]) media-captions-button {\n display: none;\n }\n\n media-captions-button svg :is(path, rect) {\n stroke: none;\n fill: var(--_primary-color);\n }\n\n /* Disble the captions button when no subtitles are available */\n media-captions-button:not([mediasubtitleslist]) svg {\n opacity: 0.3;\n }\n\n media-captions-button #cc-underline {\n opacity: 1;\n }\n\n media-captions-button[mediasubtitleslist][aria-checked=\'true\'] #cc-underline {\n opacity: 1;\n }\n\n media-captions-button #cc-underline {\n transition: clip-path 0.15s ease-out;\n }\n\n media-captions-button #cc-underline {\n clip-path: inset(0 100% 0 0);\n }\n\n media-captions-button[aria-checked=\'true\'] #cc-underline {\n clip-path: inset(0 0 0 0);\n }\n </style>\n <media-captions-button class="media-button">\n <svg slot="icon" viewBox="0 0 32 32">\n <use class="svg-shadow" xlink:href="#cc-icon"></use>\n <g id="cc-icon">\n <path\n class="cc-c"\n d="M15.6634 14.3574H14.5636C14.4985 14.0523 14.3847 13.7842 14.2221 13.5532C14.0624 13.3222 13.8673 13.1283 13.6367 12.9715C13.409 12.8118 13.1562 12.692 12.8783 12.6122C12.6004 12.5323 12.3107 12.4924 12.0091 12.4924C11.4592 12.4924 10.961 12.6264 10.5146 12.8945C10.0711 13.1625 9.71776 13.5575 9.45463 14.0794C9.19445 14.6012 9.06436 15.2414 9.06436 16C9.06436 16.7586 9.19445 17.3988 9.45463 17.9206C9.71776 18.4425 10.0711 18.8375 10.5146 19.1055C10.961 19.3736 11.4592 19.5076 12.0091 19.5076C12.3107 19.5076 12.6004 19.4677 12.8783 19.3878C13.1562 19.308 13.409 19.1896 13.6367 19.0328C13.8673 18.8731 14.0624 18.6778 14.2221 18.4468C14.3847 18.2129 14.4985 17.9449 14.5636 17.6426H15.6634C15.5806 18.0903 15.4298 18.491 15.2111 18.8446C14.9923 19.1982 14.7203 19.499 14.3951 19.7471C14.0698 19.9924 13.7047 20.1792 13.2996 20.3075C12.8976 20.4358 12.4674 20.5 12.0091 20.5C11.2345 20.5 10.5456 20.3175 9.94246 19.9525C9.33932 19.5875 8.8648 19.0684 8.51888 18.3954C8.17296 17.7224 8 16.924 8 16C8 15.076 8.17296 14.2776 8.51888 13.6046C8.8648 12.9316 9.33932 12.4125 9.94246 12.0475C10.5456 11.6825 11.2345 11.5 12.0091 11.5C12.4674 11.5 12.8976 11.5642 13.2996 11.6925C13.7047 11.8208 14.0698 12.009 14.3951 12.2571C14.7203 12.5024 14.9923 12.8018 15.2111 13.1554
1C15.4298 13.5062 15.5806 13.9068 15.6634 14.3574Z"\n />\n <path\n class="cc-c"\n d="M24 14.3574H22.9002C22.8351 14.0523 22.7213 13.7842 22.5587 13.5532C22.399 13.3222 22.2039 13.1283 21.9733 12.9715C21.7456 12.8118 21.4928 12.692 21.2149 12.6122C20.937 12.5323 20.6473 12.4924 20.3457 12.4924C19.7958 12.4924 19.2976 12.6264 18.8511 12.8945C18.4077 13.1625 18.0543 13.5575 17.7912 14.0794C17.531 14.6012 17.4009 15.2414 17.4009 16C17.4009 16.7586 17.531 17.3988 17.7912 17.9206C18.0543 18.4425 18.4077 18.8375 18.8511 19.1055C19.2976 19.3736 19.7958 19.5076 20.3457 19.5076C20.6473 19.5076 20.937 19.4677 21.2149 19.3878C21.4928 19.308 21.7456 19.1896 21.9733 19.0328C22.2039 18.8731 22.399 18.6778 22.5587 18.4468C22.7213 18.2129 22.8351 17.9449 22.9002 17.6426H24C23.9172 18.0903 23.7664 18.491 23.5476 18.8446C23.3289 19.1982 23.0569 19.499 22.7316 19.7471C22.4064 19.9924 22.0413 20.1792 21.6362 20.3075C21.2341 20.4358 20.804 20.5 20.3457 20.5C19.5711 20.5 18.8822 20.3175 18.279 19.9525C17.6759 19.5875 17.2014 19.0684 16.8555 18.3954C16.5095 17.7224 16.3366 16.924 16.3366 16C16.3366 15.076 16.5095 14.2776 16.8555 13.6046C17.2014 12.9316 17.6759 12.4125 18.279 12.0475C18.8822 11.6825 19.5711 11.5 20.3457 11.5C20.804 11.5 21.2341 11.5642 21.6362 11.6925C22.0413 11.8208 22.4064 12.009 22.7316 12.2571C23.0569 12.5024 23.3289 12.8018 23.5476 13.1554C23.7664 13.5062 23.9172 13.9068 24 14.3574Z"\n />\n <rect id="cc-underline" x="8" y="23" width="16" height="1" rx="0.5" />\n </g>\n </svg>\n </media-captions-button>\n\n \x3c!-- Settings Menu Button --\x3e\n <style>\n media-settings-menu-button svg {\n transition: transform 0.1s cubic-bezier(0.4, 0, 1, 1);\n transform: rotateZ(0deg);\n }\n media-settings-menu-button[aria-expanded=\'true\'] svg {\n transform: rotateZ(30deg);\n }\n </style>\n <media-settings-menu-button class="media-button">\n <svg slot="icon" viewBox="0 0 32 32">\n <use class="svg-shadow" xlink:href="#settings-icon"></use>\n <g id="settings-icon">\n <path\n d="M16 18C17.1046 18 18 17.1046 18 16C18 14.8954 17.1046 14 16 14C14.8954 14 14 14.8954 14 16C14 17.1046 14.8954 18 16 18Z"\n />\n <path\n d="M21.0176 13.0362L20.9715 12.9531C20.8445 12.7239 20.7797 12.4629 20.784 12.1982L20.8049 10.8997C20.8092 10.6343 20.675 10.3874 20.4545 10.2549L18.5385 9.10362C18.3186 8.97143 18.0472 8.9738 17.8293 9.10981L16.7658 9.77382C16.5485 9.90953 16.2999 9.98121 16.0465 9.98121H15.9543C15.7004 9.98121 15.4513 9.90922 15.2336 9.77295L14.1652 9.10413C13.9467 8.96728 13.674 8.96518 13.4535 9.09864L11.5436 10.2545C11.3242 10.3873 11.1908 10.6336 11.1951 10.8981L11.216 12.1982C11.2203 12.4629 11.1555 12.7239 11.0285 12.9531L10.9831 13.0351C10.856 13.2645 10.6715 13.4535 10.4493 13.5819L9.36075 14.2109C9.13763 14.3398 8.99942 14.5851 9 14.8511L9.00501 17.152C9.00559 17.4163 9.1432 17.6597 9.36476 17.7883L10.4481 18.4167C10.671 18.546 10.8559 18.7364 10.9826 18.9673L11.0313 19.0559C11.1565 19.284 11.2203 19.5431 11.2161 19.8059L11.1951 21.1003C11.1908 21.3657 11.325 21.6126 11.5456 21.7452L13.4615 22.8964C13.6814 23.0286 13.9528 23.0262 14.1707 22.8902L15.2342 22.2262C15.4515 22.0905 15.7001 22.0188 15.9535 22.0188H16.0457C16.2996 22.0188 16.5487 22.0908 16.7664 22.227L17.8348 22.8959C18.0534 23.0327 18.326 23.0348 18.5465 22.9014L20.4564 21.7455C20.6758 21.6127 20.8092 21.3664 20.8049 21.1019L20.784 19.8018C20.7797 19.5371 20.8445 19.2761 20.9715 19.0469L21.0169 18.9649C21.144 18.7355 21.3285 18.5465 21.5507 18.4181L22.6393 17.7891C22.8624 17.6602 23.0006 17.4149 23 17.1489L22.995 14.848C22.9944 14.5837 22.8568 14.3403 22.6352 14.2117L21.5493 13.5818C21.328 13.4534 21.1442 13.2649 21.0176 13.0362Z"\n />\n </g>\n </svg>\n </media-settings-menu-button>\n\n \x3c!-- PIP/Mini Player Button --\x3e\n <style>\n media-controller:not([breakpointmd]) media-pip-button {\n display: none;\n }\n </style>\n <media-pip-button class="media-button">
1\n <svg slot="icon" viewBox="0 0 32 32">\n <use class="svg-shadow" xlink:href="#pip-icon"></use>\n <g id="pip-icon">\n <path\n d="M12 22H9.77778C9.34822 22 9 21.6162 9 21.1429V10.8571C9 10.3838 9.34822 10 9.77778 10L22.2222 10C22.6518 10 23 10.3838 23 10.8571V12.5714"\n />\n <path\n d="M15 21.5714V16.4286C15 16.1919 15.199 16 15.4444 16H22.5556C22.801 16 23 16.1919 23 16.4286V17V21.5714C23 21.8081 22.801 22 22.5556 22H20.3333H17.6667H15.4444C15.199 22 15 21.8081 15 21.5714Z"\n />\n </g>\n </svg>\n </media-pip-button>\n\n \x3c!-- Airplay Button --\x3e\n <media-airplay-button class="media-button">\n <svg viewBox="0 0 32 32" aria-hidden="true" slot="icon">\n <path stroke-linecap="round" stroke-linejoin="round" d="M20.5 20h1.722c.43 0 .778-.32.778-.714v-8.572c0-.394-.348-.714-.778-.714H9.778c-.43 0-.778.32-.778.714v1.429"/>\n <path stroke-linecap="round" stroke-linejoin="round" d="M11.5 20H9.778c-.43 0-.778-.32-.778-.714v-8.572c0-.394.348-.714.778-.714h12.444c.43 0 .778.32.778.714v1.429"/>\n <path stroke-linejoin="round" d="m16 19 3.464 3.75h-6.928L16 19Z"/>\n </svg>\n </media-airplay-button>\n\n <style>\n media-cast-button[mediaiscasting] svg {\n stroke: #1E90FF;\n }\n </style>\n\n \x3c!-- Cast Button --\x3e\n <media-cast-button class="media-button">\n <svg slot="icon" viewBox="0 0 32 32">\n <use class="svg-shadow" xlink:href="#cast-icon"></use>\n <g id="cast-icon">\n <path\n d="M18.5 21.833h4.167c.46 0 .833-.373.833-.833V11a.833.833 0 0 0-.833-.833H9.333A.833.833 0 0 0 8.5 11v1.111m0 8.056c.92 0 1.667.746 1.667 1.666M8.5 17.667a4.167 4.167 0 0 1 4.167 4.166"\n />\n <path d="M8.5 15.167a6.667 6.667 0 0 1 6.667 6.666" />\n </g>\n </svg>\n </media-cast-button>\n\n \x3c!-- Fullscreen Button --\x3e\n <style>\n /* Having trouble getting @property to work in the shadow dom\n to clean this up. Like https://codepen.io/luwes/pen/oNRyZyx */\n\n media-fullscreen-button .fs-arrow {\n translate: 0% 0%;\n }\n media-fullscreen-button:hover .fs-arrow {\n animation: 0.35s up-left-bounce cubic-bezier(0.34, 1.56, 0.64, 1);\n }\n media-fullscreen-button:hover #fs-enter-top,\n media-fullscreen-button:hover #fs-exit-bottom {\n animation-name: up-right-bounce;\n }\n\n media-fullscreen-button:hover #fs-enter-bottom,\n media-fullscreen-button:hover #fs-exit-top {\n animation-name: down-left-bounce;\n }\n\n @keyframes up-left-bounce {\n 0% {\n translate: 0 0;\n }\n 50% {\n translate: -4% -4%;\n }\n }\n @keyframes up-right-bounce {\n 0% {\n translate: 0 0;\n }\n 50% {\n translate: 4% -4%;\n }\n }\n @keyframes down-left-bounce {\n 0% {\n translate: 0 0;\n }\n 50% {\n translate: -4% 4%;\n }\n }\n @keyframes down-right-bounce {\n 0% {\n translate: 0 0;\n }\n 50% {\n translate: 4% 4%;\n }\n }\n </style>\n <media-fullscreen-button class="media-button">\n <svg slot="enter" viewBox="0 0 32 32">\n <use class="svg-shadow" xlink:href="#fs-enter-paths"></use>\n <g id="fs-enter-paths">\n <g id="fs-enter-top" class="fs-arrow">\n <path d="M18 10H22V14" />\n <path d="M22 10L18 14" />\n </g>\n <g id="fs-enter-bottom" class="fs-arrow">\n <path d="M14 22L10 22V18" />\n <path d="M10 22L14 18" />\n </g>\n </g>\n </svg>\n <svg slot="exit" viewBox="0 0 32 32">\n <use class="svg-shadow" xlink:href="#fs-exit-paths"></use>\n <g id="fs-exit-paths">\n <g id="fs-exit-top" class="fs-arrow">\n <path d="M22 14H18V10" />\n <path d="M22 10L18 14" />\n </g>\n <g id="fs-exit-bottom" class="fs-arrow">\n <path d="M10 18L14 18V22" />\n <path d="M14 18L10 22" />\n </g>\n </g>\n </svg>\n </media-fullscreen-button>
1\n </div>\n </div>\n </media-control-bar>\n </media-controller>\n\n ');class d extends s.OU{}var c;((e,t,n)=>{t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(d,"symbol"!=typeof(c="template")?c+"":c,l),i.Au.customElements&&!i.Au.customElements.get("media-theme-staylive")&&i.Au.customElements.define("media-theme-staylive",d);const u=d},62333:(e,t,n)=>{n.r(t),n.d(t,{useIMAScript:()=>i});var a=n(96540),r=(e,t,n)=>new Promise(((a,r)=>{var i=e=>{try{o(n.next(e))}catch(e){r(e)}},s=e=>{try{o(n.throw(e))}catch(e){r(e)}},o=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,s);o((n=n.apply(e,t)).next())}));function i(){const[e,t]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{(()=>{r(this,null,(function*(){try{yield new Promise((e=>{const t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.async=!1,n.src="//imasdk.googleapis.com/js/sdkloader/ima3.js",n.id="staylive-player-ima",document.getElementById(n.id)?e(!0):(t.insertBefore(n,t.firstChild),n.addEventListener("load",(()=>{e(!0)})),n.addEventListener("error",(()=>{e(!1)})))}))}catch(e){console.error("Error loading IMA SDK:",e)}finally{t(!0)}}))})()}),[]),{isLoaded:e}}},52058:(e,t,n)=>{n.r(t),n.d(t,{useLiveAdsEnabled:()=>d});var a=n(57626),r=n(16683),i=n(1081),s=n(72748),o=n(17386);const l=(0,i.j8)({platform:(0,o.makeSelectPlatform)()});function d(){var e,t;const{platform:n}=(0,r.d4)(l),{data:i,error:o,isLoading:d}=(0,a.Ay)((null==n?void 0:n.uid)?`platforms/${n.uid}/marketplace/liveads/enabled`:null,s.GO,{revalidateOnFocus:!1,revalidateOnReconnect:!1,dedupingInterval:36e5});return{enabled:null!=(t=null==(e=null==i?void 0:i.message)?void 0:e.enabled)&&t,isLoading:d,error:o}}},66085:(e,t,n)=>{n.r(t),n.d(t,{useLiveMessages:()=>l});var a=n(96540),r=(e,t,n)=>new Promise(((a,r)=>{var i=e=>{try{o(n.next(e))}catch(e){r(e)}},s=e=>{try{o(n.throw(e))}catch(e){r(e)}},o=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,s);o((n=n.apply(e,t)).next())}));const i=[1e3,2e3,5e3,1e4,3e4],s=10,o="https://livestream-messaging-service.prod.staylive.cloud";function l({contentId:e,messageHandler:t,enabled:n=!0}){const l=(0,a.useRef)(null),d=(0,a.useRef)(0),c=(0,a.useRef)(null),u=(0,a.useRef)(t);return(0,a.useEffect)((()=>{u.current=t}),[t]),(0,a.useEffect)((()=>{if(!(n&&e&&t&&o))return;const a=()=>{const t=function(e,t){try{const n=new URL(e);return"http:"===n.protocol?n.protocol="ws:":"https:"===n.protocol&&(n.protocol="wss:"),n.pathname=`${n.pathname.replace(/\/$/,"")}/connect/${encodeURIComponent(t)}`,n.toString()}catch(t){return console.error("Invalid live messaging websocket base URL:",e,t),null}}(o,e);if(!t)return;let n;try{n=new WebSocket(t)}catch(e){return console.error("Failed to initialize websocket:",e),void m()}n.onopen=()=>{console.debug("Connected to live messaging websocket"),d.current=0},n.onmessage=e=>r(this,null,(function*(){try{const t=JSON.parse(e.data);u.current&&(yield u.current({message:t}))}catch(e){console.error("Error parsing websocket message:",e)}})),n.onclose=()=>{console.debug("Disconnected from live messaging websocket"),m()},n.onerror=e=>{console.error("WebSocket error:",e)},l.current=n},m=()=>{if(d.current>=s)return void console.warn("Max reconnection attempts reached. Stopping reconnection.");const e=Math.min(d.current,i.length-1),t=i[e];console.debug(`Attempting to reconnect in ${t}ms (attempt ${d.current+1}/${s})`),c.current=setTimeout((()=>{d.current+=1,a()}),t)};return a(),()=>{l.current&&l.current.close(),c.current&&clearTimeout(c.current)}}),[e,n]),{}}}
1,72529:(e,t,n)=>{n.r(t),n.d(t,{sendPlaybackEvent:()=>o,triggerHeartbeatEvent:()=>s});var a=n(72748),r=n(30727);const i=e=>{var t;if((null==e?void 0:e.message)===r.Y||(null==e?void 0:e.message)===r.LD||401===(null==(t=null==e?void 0:e.response)?void 0:t.status)||e instanceof TypeError)return null;throw e};function s(e,t,n,r){const s=n?a.Ku:a.un;switch(e){case"stream":return s(`livestreams/heartbeat/${t}`,r).catch(i);case"video":return s(`videos/heartbeat/${t}`,r).catch(i);default:return null}}function o(e,t,n){const r=e?`livestreams/playback/start/${t}`:`videos/playback/start/${t}`;return(n?a.Ku:a.un)(r).catch(i)}},22254:(e,t,n)=>{n.r(t),n.d(t,{default:()=>w});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i),o=n(23114),l=n(47767),d=n(84976),c=n(24712),u=n(1081),m=n(17386),p=n(16683),h=n(15422),g=n(24100),v=n(69471),f=n(45581),b=n(40304);const y=(0,u.j8)({theme:(0,m.makeSelectTheme)(),cmsPreview:(0,m.makeSelectCmsPreviewMode)()});function x({playlistUID:e,clipHasEnded:t,playListClasses:n,selectedVideo:i,customGradientColor:s}){var u;const m=(0,l.Zp)(),{theme:x,cmsPreview:w}=(0,p.d4)(y),j=x.contentHref.videos,{playlistIsOpen:k,togglePlaylist:C}=(0,b.usePlaylistOpen)(),{data:E,isValidating:A}=(0,v.W)({playlistUID:e}),{backgroundColor:S}=(0,f.m)(),T=s||S,P=(null==E?void 0:E.videos)||[],N=(0,r.useCallback)((e=>P.findIndex((t=>t.id===e))),[P]),L=N(Number(i))+1,M=(0,r.useCallback)((()=>{if(!P)return;const t=N(Number(i))+1;if(t>=P.length)return;const n=P[t].id;m(`${j}${n}?playlist=${e}`,{replace:!0})}),[P,N,i,m,j,e]);return(0,r.useEffect)((()=>{t&&P.length>1&&M()}),[t]),e||w?w&&!(null==(u=null==E?void 0:E.videos)?void 0:u.length)?null:k?(0,a.jsx)("div",{className:"w-full lg:h-full lg:overflow-hidden",children:(0,a.jsxs)("div",{className:"flex flex-col w-full h-full overflow-hidden border border-solid rounded-md border-zinc-700",style:{backgroundColor:T},children:[A&&!E&&(0,a.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,a.jsx)(h.default,{})}),E&&!A&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:(null==n?void 0:n.wrapper)||"py-4 pl-6 pr-2 bg-zinc-800 flex-shrink-0",children:[(0,a.jsxs)("div",{className:"flex justify-between",children:[(0,a.jsx)(d.N_,{to:`/playlist/${e}`,className:(null==n?void 0:n.title)||"mb-0 text-xl font-semibold text-white line-clamp-1 hover:text-gray-400",children:(0,a.jsx)(o.default,{text:null==E?void 0:E.name})}),(0,a.jsx)("button",{type:"button",className:"text-xl text-gray-400 bg-transparent border-none rounded-full cursor-pointer hover:bg-gray-700",onClick:()=>C(),children:(0,a.jsx)(c.default,{icon:["fas","xmark"]})})]}),(0,a.jsxs)("p",{className:(null==n?void 0:n.info)||"flex font-semibold text-gray-400",children:[L,(0,a.jsx)("span",{className:"mx-0.5",children:"/"}),null==E?void 0:E.videos.length]})]}),(0,a.jsx)("div",{className:"flex-grow overflow-y-auto max-h-72 lg:max-h-full",children:P.map(((t,r)=>(0,a.jsx)(d.N_,{to:`${j}${t.id}?playlist=${e}`,children:(0,a.jsxs)("div",{className:`${(null==n?void 0:n.clipsCard)||"flex items-center py-2 pr-2 cursor-pointer hover:bg-zinc-800"} ${t.id===Number(i)?(null==n?void 0:n.playingClipBG)||"bg-zinc-700":""}`,children:[(0,a.jsx)("span",{className:(null==n?void 0:n.videoCardIndex)||"px-3 text-gray-400",children:t.id===Number(i)?(0,a.jsx)(c.default,{icon:["fa","play"]}):r+1}),(0,a.jsx)("div",{className:"mr-2 h-14 aspect-video",children:(0,a.jsx)("img",{className:"object-cover w-full h-full rounded-md",src:t.thumbnail,alt:t.name})}),(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:(null==n?void 0:n.videoCardTitle)||"flex items-center font-semibold text-white line-clamp-2",children:(0,a.jsx)(o.default,{text:t.name})}),(0,a.jsx)("p",{className:(null==n?void 0:n.videoCardDuration)||"text-sm text-gray-400",children:(0,g.ol)(t.duration)})]})]})},t.id)))})]})]})}):null:null}x.propTypes={playlistUID:s().string,customGradientColor:s().string,clipHasEnded:s().bool,playListClasses:s().shape({wrapper:s().string,title:s().string,info:s().string,videoCardTitle:s().string,videoCardDuration:s().string,videoCardIndex:s().string,playingClipBG:s().string,clipsCard:s().string}),selectedVideo:s().number.isRequired};const w=x},10631:(e,t,n)=>{n.r(t),n.d(t,{default:()=>k});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i),o=n(96541),l=n(28323),d=n(51978),c=n(24712),u=n(68074),m=n(39522),p=n(62055),h=Object.defineProperty,g=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,b=(e,t,n)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y=(e,t)=>{for(var n in t||(t={}))v.call(t,n)&&b(e,n,t[n]);if(g)for(var n of g(t))f.call(t,n)&&b(e,n,t[n]);return e};const x={mini:"max-w-xs",tiny:"max-w-lg",small:"max-w-3xl",large:"max-w-5xl",fullscreen:"max-w-full"};function w({button:e,onClick:t,dataTestid:n}){const{fluid:r,href:i,style:s,content:o}=e,l=(r?"block w-full":"inline-block")+" px-6 py-3 font-bold leading-none text-center text-gray-700 no-underline bg-gray-200 border-none rounded cursor-pointer",d=(0,a.jsx)(u.default,{children:o});return i?(0,a.jsx)("a",{href:i,onClick:t,style:s,className:l,"data-testid":n,children:d}):(0,a.jsx)("button",{type:"button",onClick:t,style:s,className:l,"data-testid":n,children:d})}function j(e){const{id:t,size:n="small",image:i=null,primaryButton:s={fluid:!0,href:"/subscribe",style:{background:"transparent",textAlign:"center",color:"#dfad46",boxShadow:"none",border:"3px solid #dfad46",borderRadius:"32px",fontSize:"0.8em !important",fontWeight:900,margin:"0 auto"}},secondaryButton:h={},modal:g={},header:v=!1,modalContent:f=null}=e,b=(0,o.A)(),[j,k]=(0,r.useState)(!l.Ay.load(t)),C=()=>{l.Ay.save(t,"true",{path:"/",expires:new Date(Date.now()+31536e6)}),k(!1)};if(!j)return null;const E="string"==typeof v?v:null==v?void 0:v.content,A=`popup-overlay-${t}-header`;return(0,a.jsx)(d.default,{open:!0,setIsOpen:e=>!e&&C(),fullScreen:!1,children:(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":E?A:void 0,"aria-label":E?void 0:b.formatMessage(p.default.dialogLabel),className:`relative w-full ${x[n]||"max-w-4xl"} overflow-hidden text-white`,style:g.style,children:[(0,a.jsx)("button",{type:"button",onClick:C,"aria-label":b.formatMessage(m.default.close),"data-testid":"popup-overlay-close",className:"absolute top-0 right-0 p-3 bg-transparent border-none cursor-pointer text-inherit",children:(0,a.jsx)(c.default,{icon:["fa","times"],className:"text-xl"})}),E&&(0,a.jsx)("h2",{id:A,className:"px-6 pt-5 m-0 text-2xl font-bold",style:v.style,children:E}),(0,a.jsxs)("div",{className:"p-6",children:[f&&(0,a.jsx)(u.default,y({},f)),i&&(0,a.jsx)("img",{src:i,alt:"Stipendiaterna",className:"block h-auto max-w-full mx-auto"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-4 mt-4 md:grid-cols-2",children:[(0,a.jsx)(w,{button:s,onClick:C,dataTestid:"popup-overlay-primary"}),(0,a.jsx)(w,{button:h,onClick:C,dataTestid:"popup-overlay-secondary"})]})]})]})})}w.propTypes={button:s().object.isRequired,onClick:s().func.isRequired,dataTestid:s().string},j.propTypes={id:s().string.isRequired,size:s().string,primaryButton:s().object,secondaryButton:s().object,image:s().string,header:s().oneOfType([s().string,
1s().object]),modalContent:s().object,modal:s().object};const k=j},62055:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.PopupOverlay",i=(0,a.YK)({dialogLabel:{id:`${r}.dialogLabel`,defaultMessage:"Announcement"}})},34750:(e,t,n)=>{n.r(t),n.d(t,{ProductCard:()=>M,default:()=>_});var a=n(74848),r=n(96540),i=n(67438),s=n(30303),o=n(51058),l=n(50321),d=n(23114),c=n(2890),u=n(5556),m=n.n(u),p=n(39522),h=n(62654),g=n.n(h),v=n(24100),f=n(16683),b=n(1081),y=n(17386),x=n(79450),w=n(35580),j=Object.defineProperty,k=Object.defineProperties,C=Object.getOwnPropertyDescriptors,E=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,P=(e,t)=>{for(var n in t||(t={}))A.call(t,n)&&T(e,n,t[n]);if(E)for(var n of E(t))S.call(t,n)&&T(e,n,t[n]);return e},N=(e,t)=>k(e,C(t));const L=(0,b.j8)({platform:(0,y.makeSelectPlatform)()});function M({item:e,content:t,productType:n,checkoutHref:u="/checkout",cardClasses:m,descriptionLimit:h}){const b=parseInt(h,10),{platform:{stayliveIoBasename:y}}=(0,f.d4)(L),{data:j,error:k}=(0,x.r)(null==t?void 0:t.locked_for_subscribers_through_discount),{width:C,style:E,subtitleClasses:A="text-xl font-medium text-primary",cardPriceClasses:S="text-xl font-medium text-primary",cardTitleClasses:T="mb-1 text-2xl text-gray-900 truncate w-full",cardDescriptionClasses:M="text-lg text-center"}=m,[_,O]=(0,r.useState)(!1),R=y?`/${y}/`:"/",I=new URLSearchParams(window.location.search);I.set(v.vp[n],e.id),I.set("cta",I.get("cta")||R),e.embed_id&&I.set("u_e_c",e.embed_id);const D=`${u}?${I.toString()}`,$=e.description.length>b+50,z=(null==e?void 0:e.id)&&(null==j?void 0:j.references)&&Array.isArray(j.references)&&j.references.find((t=>t.subscription_id===e.id)),V=(0,s.A)(g()(e.description),b,{html:!0});return(0,a.jsx)("div",{className:`p-2 flex justify-center ${C}`,children:(0,a.jsxs)("div",{className:`flex flex-col w-full p-4 ${E}`,children:[(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center text-center",children:[e.name&&(0,a.jsx)("h3",{className:`${T} truncate w-full`,children:e.name}
1),e.subtitle&&(0,a.jsx)("div",{className:A,children:e.subtitle}),(0,a.jsx)("div",{className:S,children:e.billing_interval?(0,a.jsxs)(a.Fragment,{children:[`${(0,c.O)(e.price,e.currency)} / `,(0,a.jsx)(o.default,{billingInterval:e.billing_interval,billingIntervalCount:e.billing_interval_count})]}):(0,c.O)(e.price,e.currency)}),z&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mt-2 text-base text-gray-800",children:"FREE"===z.type?(0,a.jsx)(i.A,N(P({},w.default.subscriptionDiscount),{values:{price:0,currency:t.currency}})):(0,a.jsx)(i.A,N(P({},w.default.subscriptionDiscount),{values:{price:t.price_with_discount_applied,currency:t.currency}}))}),k&&(0,a.jsx)("div",{className:"mt-2 text-base text-gray-800",children:(0,a.jsx)(i.A,P({},w.default.error))})]})]}),(0,a.jsx)("hr",{className:"mx-0 my-4 border border-gray-300 border-solid"}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center mb-auto",children:[e.description&&(0,a.jsx)("div",{className:M,children:$?(0,a.jsx)(d.default,{text:_?e.description:V}):(0,a.jsx)(d.default,{text:e.description})}),$&&!_&&(0,a.jsx)("div",{className:"mt-1 text-lg",children:(0,a.jsx)(l.default,{basic:!0,color:"secondary",size:"py-1 px-1",className:"w-auto outline-none hover:underline",onClick:()=>O(!0),children:(0,a.jsx)(i.A,P({},p.default.readMore))})}),$&&_&&(0,a.jsx)("div",{className:"mt-1 text-lg",children:(0,a.jsx)(l.default,{basic:!0,color:"secondary",size:"py-1 px-1",className:"w-auto outline-none hover:underline",onClick:()=>O(!1),children:(0,a.jsx)(i.A,P({},p.default.showLess))})})]}),(0,a.jsx)("div",{className:"flex items-center justify-center mt-4 space-x-2 cursor-pointer",children:(0,a.jsx)(l.default,{href:D,size:"py-4 px-12",type:"submit",dataTestid:`buy-${n}-${null==e?void 0:e.name.replace(/\s/g,"_")}`,children:(0,a.jsx)(i.A,P({},p.default.buy))})})]})})}M.propTypes={item:m().shape({name:m().string,description:m().string,price:m().number,currency:m().string,billing_interval:m().string,billing_interval_count:m().number,id:m().number,days_valid:m().number,embed_id:m().string}),productType:m().string,content:m().object,checkoutHref:m().string,cardClasses:m().shape({cardStylingClasses:m().string,cardWidthClasses:m().string,cardTitleClasses:m().string,cardDescriptionClasses:m().string}),descriptionLimit:m().number};const _=M},35580:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.containers.VideoPage",i=(0,a.YK)({subscriptionDiscount:{id:`${r}.subscriptionDiscount`,defaultMessage:"* Subscribe today and access the livestream for {price} {currency}."},error:{id:`${r}.error`,defaultMessage:"Something went wrong trying to get the discount. Please try again."}})},16277:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(38267),o=n(68074),l=Object.defineProperty,d=Object.defineProperties,c=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,h=(e,t,n)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t)=>{for(var n in t||(t={}))m.call(t,n)&&h(e,n,t[n]);if(u)for(var n of u(t))p.call(t,n)&&h(e,n,t[n]);return e};const v=s.Ay.div` 2 padding: 30px 0 40px 0; 3 width: 100%; 4 margin: 10px auto; 5 text-align: center; 6`;function f(e){const{button:t,text:n,style:r}=e;return(0,a.jsx)(v,{style:r,children:(0,a.jsxs)("div",{className:"flow-root px-4",children:[n&&(0,a.jsx)("div",{style:{margin:"20px auto"},children:(0,a.jsx)(o.default,(i=g({},n),s={as:"h4",text:n.content},d(i,c(s))))}),t&&(0,a.jsx)("div",{children:(0,a.jsx)("a",{"data-testid":"promote-banner-button",href:t.href,style:t.style,className:"mx-1 inline-block cursor-pointer rounded-sm bg-white py-1.5 px-3.5 font-medium text-[#3f54b4] no-underline",children:(0,a.jsx)(o.default,{style:t.textSize?{fontSize:t.textSize}:{},as:"h6",text:t.content})})})]})});var i,s}f.propTypes={button:i().object,text:i().object,style:i().object};const b=f},63690:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(24100),o=n(23114),l=n(84976);function d({containerStyleObj:e={},containerClasses:t="flex justify-center w-full bg-gray-300 p-4 sm:p-10",button:n={text:{en:"Start your subscription",sv:"Starta ditt abonnemang",fr:"Abonnez vouz",es:"Comience su subscripción"},href:"/subscribe",classes:"inline-flex items-center px-8 py-6 text-xl font-medium text-white rounded bg-primary hover:text-current uppercase"}}){return(0,a.jsx)("div",{className:t,style:e,children:(0,s.pE)(n.href)?(0,a.jsx)(l.N_,{to:n.href,className:n.classes,children:(0,a.jsx)(o.default,{text:n.text})}):(0,a.jsx)("a",{className:n.classes,href:n.href,target:"_blank",children:(0,a.jsx)(o.default,{text:n.text})})})}d.propTypes={containerStyleObj:i().object,containerClasses:i().string,button:i().shape({text:i().oneOfType([i().string,i().object]),href:i().string,classes:i().string})};const c=d},82009:(e,t,n)=>{n.r(t),n.d(t,{default:()=>k});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(23114),o=n(30261),l=n(9100
65),d=n(72748),c=n(1081),u=n(17386),m=n(16683),p=n(39522),h=n(24100),g=n(60799),v=n(96541),f=n(47767),b=n(84976),y=n(15422),x=n(52049);const w=(0,c.j8)({platform:(0,u.makeSelectPlatform)()});function j({wrapperClasses:e="w-full flex flex-col items-center min-h-screen",containerClasses:t="px-4 my-24 sm:my-32",title:n={text:{en:"Redeem your gift card",sv:"Lös in ditt presentkort"},classes:"text-primaryText text-4xl md:text-5xl font-medium m-0 text-center"},subTitle:r={text:{en:"Enter your code below to get started",sv:"Fyll i din värdekod för att komma igång"},classes:"text-accentText text-xl md:text-2xl mt-2 mb-0 text-center"},description:i={text:{},classes:"text-gray-600 text-lg"},redeemInputClasses:c="text-center uppercase tracking-widest text-3xl active:border-primary active:outline-none appearance-none bg-white border border-solid focus focus:border-primary focus:outline-none form-input input pb-4 pt-4 px-3 w-full rounded-md shadow-none h-16 md:h-18",redeemButton:u={text:{en:"Redeem",sv:"Lös in"},classes:"text-white text-xl border-none font-semibold mt-4 text-lg py-4 px-6 bg-primary md:text-2xl text-center rounded-md cursor-pointer disabled:opacity-50 hover:bg-primaryDarker transition-all duration-300"},checkoutHref:j="/checkout",optionalLinks:k={}}){const C=(0,l.A)(),{platform:E}=(0,m.d4)(w),A=(0,v.A)(),S=(0,f.Zp)(),T=i&&i.text&&Object.keys(i.text).length>0,P=k&&k.links&&k.links.length>0;return(0,a.jsx)("div",{className:e,children:(0,a.jsxs)("div",{className:t,children:[(0,a.jsx)("h1",{className:n.classes,children:(0,a.jsx)(s.default,{text:n.text})}),(0,a.jsx)("h2",{className:r.classes,children:(0,a.jsx)(s.default,{text:r.text})}),T&&(0,a.jsx)("p",{className:i.classes,children:(0,a.jsx)(s.default,{text:i.text})}),(0,a.jsx)(o.l1,{initialValues:{code:C.get("voucher")||""},onSubmit:e=>{return t=this,n=function*(){try{const{message:t}=yield(0,d.GO)(`platforms/${E.uid}/giftcards/lookup/${e.code}`);if(g.Ay.success(A.formatMessage(x.default.validCode),{duration:3e3}),1===t.length){const[{product_identifier:n,product_type:a}]=t,r=`${j}?${h.vp[a.toLowerCase()]}=${n[0]}&voucher=${e.code}`;S(r)}else console.debug("Not yet implemented yet")}catch(t){console.error(t);const{response:{status:n}}=t;400===n?g.Ay.error(A.formatMessage(x.default.usedCode),{id:`${e.code}_usedCode`}):404===n?g.Ay.error(A.formatMessage(x.default.notFound),{id:`${e.code}_notFound`}):410===n?g.Ay.error(A.formatMessage(x.default.expiredCode),{id:`${e.code}_expiredCode`}):429===n?g.Ay.error(A.formatMessage(p.default.tooManyRequests),{id:`${e.code}_tooManyRequests`}):g.Ay.error(A.formatMessage(x.default.undefinedError),{id:`${e.code}_undefinedError`})}},new Promise(((e,a)=>{var r=e=>{try{s(n.next(e))}catch(e){a(e)}},i=e=>{try{s(n.throw(e))}catch(e){a(e)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,i);s((n=n.apply(t,null)).next())}));var t,n},children:({values:e,isSubmitting:t})=>(0,a.jsxs)(o.lV,{className:"flex flex-col max-w-md mx-auto mt-10",children:[(0,a.jsx)(o.D0,{name:"code",type:"text",maxLength:8,className:c,placeholder:A.formatMessage(x.default.code),autoFocus:!0}),(0,a.jsx)("button",{type:"submit",className:u.classes,disabled:8!==e.code.length,children:t?(0,a.jsx)("div",{className:"mx-auto text-center",children:(0,a.jsx)(y.default,{size:5,className:"mx-auto"})}):(0,a.jsx)(s.default,{text:u.text})})]})}),P&&(0,a.jsx)("ul",{className:k.containerClasses,children:k.links.map((e=>(0,a.jsx)("li",{children:(0,h.pE)(e.href)?(0,a.jsx)(b.N_,{to:e.href,className:k.linkClasses,children:(0,a.jsx)(s.default,{text:e.text})}):(0,a.jsx)("a",{target:"_blank",href:e.href,className:k.linkClasses,children:(0,a.jsx)(s.default,{text:e.text})})})))})]})})}j.propTypes={containerClasses:i().string,wrapperClasses:i().string,title:i().shape({text:i().object,classes:i().string}),subTitle:i().shape({text:i().object,classes:i().string}),description:i().shape({text:i().object,classes:i().string}),redeemInputClasses:i().string,redeemButton:i().shape({text:i().object,classes:i().string}),checkoutHref:i().string,optionalLinks:i().shape({containerClasses:i().string,linkClasses:i().string,links:i().arrayOf(i().shape({text:i().object,href:i().string}))})};const k=j}
6,52049:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.RedeemGiftcard",i=(0,a.YK)({usedCode:{id:`${r}.usedCode`,defaultMessage:"The code you submitted has already been used."},notFound:{id:`${r}.notFound`,defaultMessage:"The code you submitted was not found."},expiredCode:{id:`${r}.invalidCode`,defaultMessage:"The code you submitted has expired"},validCode:{id:`${r}.validCode`,defaultMessage:"The code you submitted was valid!"},undefinedError:{id:`${r}.undefinedError`,defaultMessage:"Something went wrong while trying to validate your code"},code:{id:`${r}.code`,defaultMessage:"Code"}})},89589:(e,t,n)=>{n.r(t),n.d(t,{default:()=>u});var a=n(17386),r=n(96540),i=n(16683),s=n(1081),o=n(91005),l=n(78210),d=n(45484);const c=(0,s.j8)({cmsPreview:(0,a.makeSelectCmsPreviewMode)()}),u=function(){const{isLoading:e,isAuthenticated:t}=(0,l.Jd)(),{cmsPreview:n}=(0,i.d4)(c),a=(0,o.A)(),s=(0,d.rN)()?`/${(0,d.rN)()}/login`:"/login",u=window.location.pathname,m=a.get("code");return(0,r.useEffect)((()=>{e||m||t||n||u!==s&&(window.location.href=s)}),[t,e,m,u,s,n]),null}},93892:(e,t,n)=>{n.r(t),n.d(t,{default:()=>E});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i),o=n(24712),l=n(17386),d=n(16683),c=n(1081),u=n(67894),m=n(67438),p=n(31178),h=n(30126),g=Object.defineProperty,v=Object.defineProperties,f=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,w=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t)=>{for(var n in t||(t={}))y.call(t,n)&&w(e,n,t[n]);if(b)for(var n of b(t))x.call(t,n)&&w(e,n,t[n]);return e},k=(e,t)=>v(e,f(t));const C=(0,c.j8)({commons:(0,l.makeSelectCommons)()});function E({height:e="40px",containerClasses:t="w-full flex items-center bg-gray-700 text-gray-200 z-10 md:z-[150] px-5%",isFixed:n=!0}){var i;const{commons:s}=(0,d.d4)(C),{referrerLink:l,referrerTitle:c}=(0,u.R)()||{},g=(null==(i=null==s?void 0:s.middlewares)?void 0:i.find((e=>"ReferrerBackSection"===e.name)))&&l&&c;return r.useEffect((()=>(n&&g?document.documentElement.style.setProperty("--referrer-section-height",e):document.documentElement.style.setProperty("--referrer-section-height","0px"),()=>document.documentElement.style.setProperty("--referrer-section-height","0px"))),[n,e,g]),!g||(0,h.aU)()?null:(0,a.jsxs)(a.Fragment,{children:[n&&(0,a.jsx)("style",{children:`#platform-menu { top: ${e} !important; }`}),(0,a.jsx)("div",{style:{height:e},className:`${n?"fixed top-0":""} ${t}`,children:(0,a.jsxs)("a",{href:/^https?:\/\//.test(l)?l:`https://${l}`,rel:"noopener noreferrer",style:{color:"inherit"},"data-testid":"referrer-back-link",children:[(0,a.jsx)(o.default,{icon:["fa","chevron-left"]}),(0,a.jsx)("span",{className:"ml-2",children:(0,a.jsx)(m.A,k(j({},p.default.backToReferrer),{values:{referrerTitle:c}}))})]})})]})}E.propTypes={height:s().string,containerClasses:s().string,isFixed:s().bool}},31178:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.ReferrerBackSection",i=(0,a.YK)({backToReferrer:{id:`${r}.backToReferrer`,defaultMessage:"Back to {referrerTitle}"}})},49941:(e,t,n)=>{n.r(t),n.d(t,{default:()=>w});var a=n(74848),r=n(23574),i=n(5556),s=n.n(i),o=n(96540),l=n(3279),d=n(23114),c=n(39933),u=Object.defineProperty,m=Object.defineProperties,p=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,f=(e,t,n)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))g.call(t,n)&&f(e,n,t[n]);if(h)for(var n of h(t))v.call(t,n)&&f(e,n,t[n]);return e},y=(e,t)=>m(e,p(t));function x({relatedContent:{livestreams:e,videos:t,contentFeedProps:n},content:i,platform:{id:s,theme:{platform:{name:l}}},intl:u}){const[m,p]=(0,o.useState)(null),[h,g]=(0,o.useState)(null);return(0,o.useEffect)((()=>{switch(e.type){case"LIVESTREAM_COLLECTION":e.livestreamText?p({id:s,title:{text:u.formatMessage(c.default.livestreamsTitle,{text:(0,a.jsx)(d.default,{text:e.livestreamText}),source:l}),classes:n.title.classes}}):p({id:s,title:{text:u.formatMessage(c.default.relatedLivestreamsTitle,{source:l}),classes:n.title.classes}});break;case"LIVESTREAM_CHANNELS":e.livestreamText?p({id:i.channelid.toString(),title:{text:u.formatMessage(c.default.livestreamsTitle,{text:(0,a.jsx)(d.default,{text:e.livestreamText}),source:i.channelName}),classes:n.title.classes}}):p({id:i.channelid.toString(),title:{text:u.formatMessage(c.default.relatedLivestreamsTitle,{source:i.channelName}),classes:n.title.classes}});break;case"LIVESTREAM_CHANNEL_TAGS":i.tags&&i.tags.length>0&&p({id:i.channelid.toString(),tags:i.tags.map((e=>"string"==typeof e?e:e.name)),title:{text:e.livestreamText?u.formatMessage(c.default.livestreamsTitle,{text:(0,a.jsx)(d.default,{text:e.livestreamText}),source:i.tags.map((e=>"string"==typeof e?e:e.name)).join(", ")}):u.formatMessage(c.default.relatedLivestreamsTitle,{source:i.tags.map((e=>"string"==typeof e?e:e.name)).join(", ")}),classes:n.title.classes}});break;default:return null}}),[e]),(0,o.useEffect)((()=>{switch(t.type){case"VIDEO_COLLECTION":t.videoText?g({id:s,title:{text:u.formatMessage(c.default.videosTitle,{text:(0,a.jsx)(d.default,{text:t.videoText}),source:l}),classes:n.title.classes}}):g({id:s,title:{text:u.formatMessage(c.default.relatedVideosTitle,{source:l}),classes:n.title.classes}});break;case"VIDEO_CHANNELS":t.videoText?g({id:i.channelid.toString(),title:{text:u.formatMessage(c.default.videosTitle,{text:(0,a.jsx)(d.default,{text:t.videoText}),source:i.channelName}),classes:n.title.classes}}):g({id:i.channelid.toString(),title:{text:u.formatMessage(c.default.relatedVideosTitle,{source:i.channelName}),classes:n.title.classes}});break;case"VIDEO_CHANNEL_TAGS":i.tags&&i.tags.length>0&&g({id:i.channelid.toString(),tags:i.tags.map((e=>"string"==typeof e?e:e.name)),title:{text:t.videoText?u.formatMessage(c.default.videosTitle,{text:(0,a.jsx)(d.default,{text:t.videoText}),source:i.tags.map((e=>"string"==typeof e?e:e.name)).join(", ")}):u.formatMessage(c.default.relatedVideosTitle,{source:i.tags.map((e=>"string"==typeof e?e:e.name)).join(", ")}),classes:n.title.classes}});break;default:return null}}),[t]),(0,a.jsxs)(a.Fragment,{children:[m&&e.show&&(0,a.jsx)(r.default,y(b(y(b({},n),{type:e.type,includeCategories:e.includeCategories}),m),{tags:m.tags||null,cardDateClasses:n.cardDateClasses})),h&&t.show&&(0,a.jsx)(r.default,y(b(y(b({},n),{type:t.type,includeCategories:t.includeCategories}),h),{tags:h.tags||null,cardDateClasses:n.cardDateClasses}))]})}x.propTypes={relatedContent:s().object,content:s().object,platform:s().object,intl:s().object};const w=(0,l.Ay)(x)}
6,39933:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.RelatedContent",i=(0,a.YK)({livestreamsTitle:{id:`${r}.livestreamsTitle`,defaultMessage:"{text} {source}"},relatedLivestreamsTitle:{id:`${r}.relatedLivestreamsTitle`,defaultMessage:"Livestreams from {source}"},videosTitle:{id:`${r}.videosTitle`,defaultMessage:"{text} {source}"},relatedVideosTitle:{id:`${r}.relatedVideosTitle`,defaultMessage:"Videos from {source}"}})},22605:(e,t,n)=>{n.r(t),n.d(t,{default:()=>g});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(68074),o=n(84976),l=n(24100),d=n(38267),c=n(15979),u=n(26840);n(32367);const m=d.Ay.div` 7 padding: 5px 5px !important; 8 border-radius: 6px; 9 width: 100%; 10 margin: 5px auto; 11 border: 1px solid #f1f1f1; 12 a { 13 color: inherit !important; 14 } 15`,p=(0,d.Ay)(o.N_)` 16 color: inherit; 17 18 &:hover { 19 text-decoration: underline; 20 } 21`;function h({content:e,type:t,customHref:n=null}){return(0,a.jsxs)(m,{className:"relative flex flex-wrap items-center",children:[(0,a.jsx)("div",{className:"relative hidden w-1/4 px-4 md:block",children:(0,a.jsx)(o.N_,{to:n?(0,l.x_)(n,e.seo_string||e.id):`/${t}?id=${e.seo_string||e.id}`,children:(0,a.jsx)(c.default,{src:`${e.thumbnail}?width=500`,alt:e.name,style:{width:"100%",height:"auto"},loading:"lazy",decoding:"async"})})}),(0,a.jsxs)("div",{className:"relative w-full px-4 md:w-3/4",children:[(0,a.jsx)("div",{children:(0,a.jsx)(p,{to:n?(0,l.x_)(n,e.seo_string||e.id):`/${t}?id=${e.seo_string||e.id}`,children:(0,a.jsx)(s.default,{as:"h6",style:{margin:"0",display:"block",fontSize:"1.4em"},children:e.name})})}),(0,a.jsx)("div",{children:(0,a.jsx)(s.default,{as:"p",style:{fontSize:"1.1em"},children:e.channelName})}),(0,a.jsx)("div",{children:(0,a.jsx)(s.default,{as:"p",style:{fontSize:"1.1em"},children:(0,a.jsx)(u.default,{date:e.start||e.publish_date||e.created_at})})})]})]},e.id)}h.propTypes={content:i().object,type:i().string,customHref:i().string};const g=h},42088:(e,t,n)=>{n.r(t),n.d(t,{default:()=>x});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(67438),o=n(68074),l=n(24100),d=n(26840),c=n(22605),u=n(64974),m=Object.defineProperty,p=Object.getOwnPropertySymbols,h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,v=(e,t,n)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))h.call(t,n)&&v(e,n,t[n]);if(p)for(var n of p(t))g.call(t,n)&&v(e,n,t[n]);return e};const b=(e,t)=>{const n=new Date((0,l.u4)(e)),a=new Date((0,l.u4)(t));return!(n.getDate()===a.getDate()&&n.getMonth()===a.getMonth()&&n.getFullYear()===a.getFullYear())};function y({result:e,type:t,customHref:n=null}){return e.length?(0,a.jsx)("div",{className:"-my-4 flex flex-wrap",children:e.map(((r,i)=>(0,a.jsxs)(a.Fragment,{children:[b(r.start,0!==i?e[i-1].start:null)&&(0,a.jsx)("div",{className:"relative flex w-full flex-wrap py-4",children:(0,a.jsx)("div",{className:"relative w-full text-left",style:{padding:0,margin:0},children:(0,a.jsx)(o.default,{as:"h6",children:(0,a.jsx)(d.default,{date:r.start,time:!1})})})}),(0,a.jsx)(c.default,{customHref:n,type:t,content:r},r.id)]})))}):(0,a.jsx)(o.default,{children:(0,a.jsx)(s.A,f({},u.default.noResults))})}y.propTypes={result:i().array,type:i().string,customHref:i().string};const x=y},64974:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.SearchResult",i=(0,a.YK)({noResults:{id:`${r}.noResults`,defaultMessage:"No results found."}})},79409:(e,t,n)=>{n.r(t),n.d(t,{default:()=>j});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i),o=n(24712),l=n(51978),d=n(67438),c=n(60799),u=n(22453),m=n(78489),p=Object.defineProperty,h=Object.defineProperties,g=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,y=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(e,t)=>{for(var n in t||(t={}))f.call(t,n)&&y(e,n,t[n]);if(v)for(var n of v(t))b.call(t,n)&&y(e,n,t[n]);return e},w=(e,t)=>h(e,g(t));function j({bgColor:e="bg-zinc-800",textColor:t="text-white",currentTime:n=null,triggerButtonClasse
21s:i="hover:opacity-75 -ml-1.5 flex items-center font-medium text-white bg-transparent border-none cursor-pointer text-lg whitespace-nowrap",showTimestampOption:s=!0}){const[p,h]=(0,r.useState)(!1),[g,v]=(0,r.useState)(!1),f=(0,r.useMemo)((()=>`${window.location.origin}${window.location.pathname}${g&&null!=n?`?offset=${Math.floor(n)}`:""}`),[n,g]);return(0,a.jsx)(l.default,{fullScreen:!1,open:p,setIsOpen:h,triggerButton:{text:(0,a.jsx)(d.A,x({},m.default.share)),classes:i,icon:["fas","share"]},children:(0,a.jsxs)("section",{className:`p-8 w-96 rounded-md ${e}`,children:[(0,a.jsxs)("div",{className:"flex justify-between items-end",children:[(0,a.jsx)("span",{className:`text-2xl font-semibold ${t}`,children:(0,a.jsx)(d.A,x({},m.default.share))}),(0,a.jsx)("button",{onClick:()=>h(!1),className:`p-0 bg-transparent border-none cursor-pointer ${t}`,type:"button",children:(0,a.jsx)(o.default,{icon:["fa","times"],className:"text-2xl"})})]}),(0,a.jsxs)("div",{className:"flex justify-center items-center mt-8 space-x-4",children:[(0,a.jsx)("button",{type:"button",onClick:()=>!window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(f)}&display=popup&ref=plugin&src=share_button`,"Facebook","width=640,height=580"),className:"flex justify-center items-center p-4 bg-white rounded-full border-transparent border-none cursor-pointer",children:(0,a.jsx)(o.default,{icon:["fab","facebook"],className:"text-4xl text-blue-800 hover:text-blue-700"})}),(0,a.jsx)("a",{href:`http://twitter.com/share?&url=${f}`,target:"_blank",className:"flex justify-center items-center p-4 bg-white rounded-full border-transparent",children:(0,a.jsx)(o.default,{icon:["fab","x-twitter"],className:"text-4xl"})})]}),(0,a.jsxs)("div",{className:"flex items-center px-2 py-1 mt-4 text-gray-900 bg-white rounded-md",children:[(0,a.jsx)("input",{id:"urlValue",type:"text",value:f,className:"w-full text-lg text-gray-500 truncate border-none"}),(0,a.jsx)("button",{className:"px-2 py-1 ml-2 text-lg font-semibold bg-white border-none cursor-pointer",type:"button",onClick:()=>{const e=document.getElementById("urlValue");e.focus(),e.select(),navigator.clipboard.writeText(e.value).then((()=>{c.Ay.success((0,a.jsx)(d.A,x({},m.default.copySuccess)))}))},children:(0,a.jsx)(d.A,x({},m.default.copy))})]}),s&&(0,a.jsx)("div",{className:"flex flex-col mt-8",children:(0,a.jsxs)("div",{className:"flex items-start space-x-2",children:[(0,a.jsx)("input",{type:"checkbox",name:"includeTimestamp",id:"includeTimestamp",className:"mt-1 border border-solid form-checkbox border-primary text-primary",checked:g,onChange:e=>v(e.target.checked)}),(0,a.jsx)("label",{className:`cursor-pointer select-none text-base leading-snug ${t} flex-1`,htmlFor:"includeTimestamp",children:(0,a.jsx)(d.A,w(x({},m.default.offsetLabel),{values:{offset:null!=n?(0,u.secondsToHMS)(n,!0):"0"}}))})]})})]})})}j.propTypes={bgColor:s().string,textColor:s().string,currentTime:s().number,triggerButtonClasses:s().string,showTimestampOption:s().bool}},78489:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.ShareModal",i=(0,a.YK)({share:{id:`${r}.share`,defaultMessage:"Share"},copy:{id:`${r}.copy`,defaultMessage:"Copy"},copySuccess:{id:`${r}.copySuccess`,defaultMessage:"Copied URL to your clipboard"},offsetLabel:{id:`${r}.offsetLabel`,defaultMessage:"Start at {offset}"}})},15792:(e,t,n)=>{n.r(t),n.d(t,{default:()=>m});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(38267),o=n(77335),l=n(72278);const d=(0,s.Ay)(o.Tile)` 22 background: #f6f7f8; 23 background-image: linear-gradient( 24 to right, 25 #eeeeee 8%, 26 #dddddd 18%, 27 #eeeeee 33% 28 ); 29 opacity: 0.4; 30 background-repeat: no-repeat; 31 background-position: 0 0; 32 background-size: 1000 100; 33 animation-duration: 1.4s; 34 animation-fill-mode: forwards; 35 animation-iteration-count: infinite; 36 animation-name: shimmering; 37 animation-timing-function: ease-in-out; 38 background-size: ${10*o.tileWidth}px ${o.tileHeight}px; 39 40 @keyframes shimmering { 41 0% { 42 background-position: top right; 43 } 44 45 100% { 46 background-position: top left; 47 } 48 } 49`,c=(0,s.Ay)(d)` 50 height: 30px; 51 margin-top: 10px; 52 margin-left: 20px; 53`;function u({style:e}){return(0,a.jsxs)("div",{style:{position:"relative"},children:[(0,a.jsx)(c,{}),(0,a.jsx)(l.Row,{children:(0,a.jsxs)(l.RowInner,{children:[(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e}),(0,a.jsx)(d,{style:e})]})})]})}
53u.propTypes={style:i().object};const m=u},19826:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(24100),o=n(84976);function l({wrapperClasses:e="md:px-10 py-2 mx-auto my-4 max-w-screen-2xl",containerClasses:t="flex justify-center",imageClasses:n="object-contain w-full h-full",mobileImageClasses:r="object-contain w-full h-full",src:i="",mobileSrc:l="",url:d="",mobileUrl:c="",mobileMode:u="notActive"}){return i&&(0,a.jsx)("div",{className:e,children:(0,a.jsx)("div",{className:t,children:"mobileImage"===u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex md:hidden",children:""===c?(0,a.jsx)("img",{src:l,alt:"mobile banner",className:r}):(0,s.pE)(c)?(0,a.jsx)(o.N_,{to:c,children:(0,a.jsx)("img",{src:l,alt:"mobile banner",className:r})},c):(0,a.jsx)("a",{href:c,target:"_blank",children:(0,a.jsx)("img",{src:l,alt:"mobile banner",className:r})},c)}),(0,a.jsx)("div",{className:"hidden md:flex",children:""===d?(0,a.jsx)("img",{src:i,alt:"banner",className:n}):(0,s.pE)(d)?(0,a.jsx)(o.N_,{to:d,children:(0,a.jsx)("img",{src:i,alt:"banner",className:n})},d):(0,a.jsx)("a",{href:d,target:"_blank",children:(0,a.jsx)("img",{src:i,alt:"banner",className:n})},d)})]}):(0,s.pE)(d)?(0,a.jsx)(o.N_,{to:d,children:(0,a.jsx)("img",{src:i,alt:"banner",className:n})},d):(0,a.jsx)("a",{href:d,target:"_blank",children:(0,a.jsx)("img",{src:i,alt:"banner",className:n})},d)})})}l.propTypes={wrapperClasses:i().string,containerClasses:i().string,imageClasses:i().string,src:i().string,mobileSrc:i().string,url:i().string,mobileUrl:i().string,mobileMode:i().oneOf(["notActive","mobileImage"])};const d=l},64140:(e,t,n)=>{n.r(t),n.d(t,{ErrorIndicator:()=>h,SuccessIndicator:()=>p});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r),s=n(67438),o=Object.defineProperty,l=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,n)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m=(e,t)=>{for(var n in t||(t={}))d.call(t,n)&&u(e,n,t[n]);if(l)for(var n of l(t))c.call(t,n)&&u(e,n,t[n]);return e};function p({header:e,description:t,classes:n={containerClasses:"p-4 mb-4 text-center bg-green-100 rounded-md",headerClasses:"font-medium text-green-800",descriptionClasses:""}}){return(0,a.jsxs)("div",{className:n.containerClasses,children:[(0,a.jsx)("p",{className:n.headerClasses,children:(0,a.jsx)(s.A,m({},e))}),t&&(0,a.jsx)("p",{className:n.descriptionClasses,children:(0,a.jsx)(s.A,m({},t))})]})}function h({header:e,description:t,classes:n={containerClasses:"p-4 mb-4 text-center bg-red-100 rounded-md",headerClasses:"font-medium text-red-800",descriptionClasses:""}}){return(0,a.jsxs)("div",{className:n.containerClasses,children:[(0,a.jsx)("p",{className:n.headerClasses,children:(0,a.jsx)(s.A,m({},e))}),t&&(0,a.jsx)("p",{className:n.descriptionClasses,children:(0,a.jsx)(s.A,m({},t))})]})}p.propTypes={header:i().object,description:i().object,classes:i().object},h.propTypes={header:i().object,description:i().object,classes:i().object}},32367:(e,t,n)=>{n.r(t),n.d(t,{default:()=>o});var a=n(74848),r=(n(96540),n(5556)),i=n.n(r);function s({limit:e,children:t}){return(0,a.jsx)(a.Fragment,{children:t.length>
53e?`${t.replace(/\\n/g,"").substring(0,e-3)}...`:t})}s.propTypes={limit:i().number,children:i().string};const o=s},7226:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});const a=n(38267).Ay.div` 54 border: 1px solid #f1f1f1; 55 padding: 8px 12px; 56 border-radius: 4px; 57 58 ${e=>e.inputstyle?e.inputstyle:""} 59`},54766:(e,t,n)=>{n.r(t),n.d(t,{default:()=>N});var a=n(74848),r=n(96540),i=n(5556),s=n.n(i),o=n(21535),l=n(67438),d=n(86663),c=n(50321),u=n(24712),m=n(50924),p=n(68074),h=n(51058),g=n(49973),v=n(47494),f=n(7226),b=n(72204),y=Object.defineProperty,x=Object.defineProperties,w=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,E=(e,t,n)=>t in e?y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t)=>{for(var n in t||(t={}))k.call(t,n)&&E(e,n,t[n]);if(j)for(var n of j(t))C.call(t,n)&&E(e,n,t[n]);return e},S=(e,t)=>x(e,w(t)),T=(e,t,n)=>E(e,"symbol"!=typeof t?t+"":t,n);class P extends r.PureComponent{constructor(){super(...arguments),T(this,"state",{loading:!1,internalSuccess:!1,toggleVoucher:void 0!==d.parse(window.location.search).voucher}),T(this,"handleSubmit",(e=>{(0,o.R)("[[StripeForm]]","submit pressed"),e.preventDefault(),this.setState({loading:!0}),this.props.paymentIntent?this.props.stripe.handleCardPayment(this.props.paymentIntent).then((e=>{e.error?(this.setState({loading:!1}),this.props.onSubmit({requestPayload:"",paymentProvider:"stripe"})):(this.setState({loading:!1,internalSuccess:!0}),this.props.onSuccess({message:{callbackRequired:!0,callback_token:this.props.paymentIntent,done:!1,message:""}}))})):this.props.setupIntent&&this.props.stripe.handleCardSetup(this.props.setupIntent).then((e=>{e.error&&(this.setState({loading:!1}),this.props.onSubmit({requestPayload:"",paymentProvider:"stripe"})),this.setState({loading:!1}),this.props.onSubmit({requestPayload:e.setupIntent.payment_method,paymentProvider:"stripe"})}))}))}render(){const{loading:e,error:t,price:n,billingInterval:r,billingIntervalCount:i,currency:s,renewal:d,overrideButtonLabel:y,label:x={style:{}},text:w={style:{}},button:j={style:{}},input:k={style:{}},paymentIntent:C,voucher:E,updateVoucher:T,success:P,isEvent:N=!1}=this.props;return this.state.internalSuccess&&P.callbackRequired?((0,o.R)("[[StripeForm]]","payment callback fired"),1===P.callbackStatus?(0,a.jsx)(m.default,{type:"success",children:(0,a.jsxs)("div",{className:"flex flex-row items-center",children:[(0,a.jsx)(u.default,{icon:["far","check-circle"],className:"mr-4 text-2xl"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-bold",children:(0,a.jsx)(l.A,A({},v.default.paymentSuccess))}),!this.props.setupIntent&&!N&&(0,a.jsx)(l.A,A({},v.default.paymentSuccessDescription)),this.props.setupIntent&&(0,a.jsx)(p.default,{children:(0,a.jsx)(l.A,A({},v.default.subscriptionIsActive))}),N&&(0,a.jsx)(p.default,{children:(0,a.jsx)(l.A,A({},v.default.packagePaidForDescription))})]})]})}):(0,a.jsx)(m.default,{type:"success",children:(0,a.jsxs)("div",{className:"flex flex-row items-center font-bold",children:[(0,a.jsx)(u.default,{icon:"circle-notch",className:"mr-4",spin:!0}),(0,a.jsx)(l.A,A({},v.default.waiting))]})})):C&&d?((0,o.R)("[[StripeForm]]","paymentIntent setup"),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(m.default,{type:"warning",children:(0,a.jsxs)("div",{className:"flex flex-row items-center",children:[(0,a.jsx)(u.default,{icon:"exclamation-circle",className:"mr-4 text-2xl"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-bold",children:(0,a.jsx)(l.A,A({},v.default.furtherActionsNeeded))}),(0,a.jsx)(l.A,A({},v.default.furtherActionsNeededDescription))]})]})}),(0,a.jsxs)(c.default,{dataTestid:"stripe-authenticate-button",className:"w-full",size:"py-3 px-6",fontSize:"text-base",disabled:this.state.loading||e,loading:this.state.loading||e,style:j.style,onClick:this.handleSubmit,children:[(0,a.jsx)(u.default,{icon:"unlock-alt",className:"mr-2"}),"Click here to authenticate"]})]})):(0,a.jsxs)("form",{"data-testid":"stripe-form",className:"flex flex-col gap-2",onSubmit:this.handleSubmit,children:[t&&(0,a.jsx)(m.default,{type:"error",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-bold",children:(0,a.jsx)(l.A,A({},v.default.paymentFailed))}),(0,a.jsx)(l.A,A({},v.default.errorMessage))]})}),(0,a.jsxs)("div",{className:"my-1.5",children:[(0,a.jsx)("label",{htmlFor:"cardNumber",style:A({fontWeight:"700"},x.style),children:(0,a.jsx)(l.A,A({},b.default.cardNumber))}),(0,a.jsx)(f.default,{inputstyle:k.style,children:(0,a.jsx)(g._D,{style:{base
59:{fontSize:"14px"}},onReady:e=>e.focus()})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{className:"my-1.5",children:[(0,a.jsx)("label",{htmlFor:"cardNumber",style:A({fontWeight:"700"},x.style),children:(0,a.jsx)(l.A,A({},b.default.monthYear))}),(0,a.jsx)(f.default,{inputstyle:k.style,children:(0,a.jsx)(g.qs,{style:{base:{fontSize:"14px"}}})})]}),(0,a.jsxs)("div",{className:"my-1.5",children:[(0,a.jsx)("label",{htmlFor:"cardNumber",style:A({fontWeight:"700"},x.style),children:(0,a.jsx)(l.A,A({},b.default.cvc))}),(0,a.jsx)(f.default,{inputstyle:k.style,children:(0,a.jsx)(g.Dz,{style:{base:{fontSize:"14px"}}})})]})]}),!this.state.toggleVoucher&&E.available&&(0,a.jsx)("div",{onClick:()=>this.setState({toggleVoucher:!0}),tabIndex:-1,role:"button",onKeyDown:()=>this.setState({toggleVoucher:!0}),style:A({textAlign:"right",marginTop:"6px",cursor:"pointer"},w.style),children:(0,a.jsx)(p.default,{children:(0,a.jsx)(l.A,A({},v.default.iHaveAVoucher))})}),this.state.toggleVoucher&&E.available&&(0,a.jsxs)("div",{className:"my-1.5",style:A({textAlign:"left",marginTop:"6px"},w.style),children:[(0,a.jsx)("label",{htmlFor:"voucher",style:A({fontWeight:"700"},x.style),children:(0,a.jsx)(l.A,A({},v.default.voucher))}),(0,a.jsxs)("div",{className:"flex flex-row mt-1",children:[(0,a.jsx)("input",{"data-testid":"stripe-voucher-input",id:"voucher",type:"text",className:"flex-1 min-w-0 px-3 py-2.5 text-base text-gray-900 bg-white border border-gray-300 border-solid rounded-l-md focus:border-primary focus:outline-none",value:E.value,onChange:e=>T(e.target.value)}),(0,a.jsx)(c.default,{dataTestid:"stripe-voucher-add-button",basic:!0,border:"solid",size:"px-4",fontSize:"text-base",className:"border border-l-0 border-gray-300 rounded-l-none",loading:E.loading,onClick:()=>this.props.voucher.checkVoucher(E.value),children:(0,a.jsx)(l.A,A({},v.default.addVoucher))})]}),null!==E.validVoucher.status&&(0,a.jsxs)("div",{children:[!1===E.validVoucher.status&&(0,a.jsx)(p.default,{children:(0,a.jsx)(l.A,A({},v.default.voucherNotValidOrNotFound))}),E.validVoucher.status&&E.validVoucher.days&&(0,a.jsx)(p.default,{children:(0,a.jsx)(l.A,S(A({},v.default.validVoucherDays),{values:{days:E.validVoucher.days}}))}),E.validVoucher.status&&E.validVoucher.priceReduction&&(0,a.jsx)(p.default,{children:(0,a.jsx)(l.A,S(A({},v.default.validVoucherPriceReduction),{values:{days:E.validVoucher.priceReduction}}))})]})]}),(0,a.jsxs)(c.default,{dataTestid:"stripe-submit-button",type:"submit",className:"w-full mt-2",size:"py-3 px-6",fontSize:"text-base",disabled:this.state.loading||e,loading:this.state.loading||e,style:j.style,children:[(0,a.jsx)(u.default,{icon:"unlock-alt",className:"mr-2"}),!y&&(0,a.jsxs)("strong",{children:[(0,a.jsx)(l.A,S(A({},v.default.purchaseButton),{values:{price:n,currency:s.toUpperCase()}})),d&&(0,a.jsxs)("span",{style:{textTransform:"uppercase"},children:[" / ",(0,a.jsx)(h.default,{billingInterval:r||"month",billingIntervalCount:i||1})]})]}),y]})]})}}P.propTypes={onSubmit:s().func,onSuccess:s().func,updateVoucher:s().func,checkVoucher:s().func,price:s().number,billingInterval:s().string,billingIntervalCount:s().number,currency:s().string,overrideButtonLabel:s().string,setupIntent:s().string,paymentIntent:s().string,primaryColor:s().string,stripe:s().object,error:s().object,label:s().object,button:s().object,input:s().object,text:s().object,voucher:s().object,loading:s().bool,renewal:s().bool,success:s().object,isEvent:s().bool},P.defaultProps={renewal:!1,primaryColor:"blue",setupIntent:null,voucher:{available:!1}};const N=(0,g.lc)(P)},72204:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i,scope:()=>r});var a=n(11164);const r="app.components.StripeForm",i=(0,a.YK)({cardNumber:{id:`${r}.cardNumber`,defaultMessage:"Card number"},cvc:{id:`${r}.cvc`,defaultMessage:"CVC"},monthYear:{id:`${r}.monthYear`,defaultMessage:"Month/Year"},year:{id:`${r}.year`,defaultMessage:"Year"},month:{id:`${r}.month`,defaultMessage:"Month"}})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.