boss-web-player-sdk 1.1.16 → 1.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- .sdk-player-container{--sdk-theme-color:#6366f1;--sdk-theme-color-rgb:99, 102, 241;--sdk-ad-color:#ff9800;--sdk-ad-color-rgb:255, 152, 0;-webkit-user-select:none;user-select:none;aspect-ratio:16/9;cursor:none;background:#000;border-radius:12px;width:100%;height:100%;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.sdk-player-container.controls-active{cursor:default}.sdk-watermark-overlay{z-index:4!important;transition:left 4s ease-in-out,top 4s ease-in-out!important}.sdk-ad-countdown{z-index:90;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:#4b3c00;border:1px solid #ffe000;border-radius:20px;justify-content:center;align-items:center;gap:6px;min-width:88px;padding:6px 14px;display:flex;position:absolute;top:16px;right:16px}.sdk-ad-countdown-label{letter-spacing:.06em;color:#ffe000;font-size:13px;font-weight:500}.sdk-ad-countdown-sep{color:#ffe000;opacity:.5;font-size:13px}.sdk-ad-countdown-time{font-variant-numeric:tabular-nums;color:#ffe000;font-size:13px;font-weight:500}.sdk-skip-ad-btn{z-index:90;text-align:center;color:#ffffff8c;letter-spacing:.03em;cursor:not-allowed;-webkit-user-select:none;user-select:none;pointer-events:all;background:#000000b3;border:1px solid #ffffff59;border-radius:20px;width:92px;padding:8px 0;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;position:absolute;bottom:84px;right:16px}.sdk-skip-ad-btn--ready{color:#fff;cursor:pointer;border-color:#fffc}.sdk-skip-ad-btn--ready:hover{background:#ffffff2e;border-color:#fff}.sdk-ad-cta{z-index:88;pointer-events:all;max-width:calc(100% - 32px);animation:.25s sdk-ad-cta-in;position:absolute;bottom:84px;left:16px}.sdk-ad-cta-btn{color:#1a1a1a;letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8b319;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.sdk-ad-cta-btn:hover{background:#ffc23a}.sdk-ad-cta-btn:active{transform:scale(.97)}.sdk-ad-cta-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.sdk-ad-cta-card{background:#0009;border-radius:12px;align-items:center;gap:24px;max-width:480px;padding:12px 14px 12px 18px;display:flex}.sdk-ad-cta-info{flex-direction:column;gap:3px;min-width:0;display:flex}.sdk-ad-cta-title{color:#fff;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.sdk-ad-cta-desc{color:#ffffffb8;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}@keyframes sdk-ad-cta-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.sdk-ad-cta-card{gap:14px;padding:10px 12px 10px 14px}.sdk-ad-cta-title{font-size:13px}.sdk-ad-cta-desc{font-size:11px}.sdk-ad-cta-btn{padding:8px 14px;font-size:13px}}.sdk-overlay-ad{z-index:85;pointer-events:all;background:#000000d1;border-radius:4px;max-width:calc(100% - 32px);position:absolute;bottom:72px;overflow:visible}.sdk-overlay-ad--bottom_center{animation:.25s sdk-overlay-ad-in-center;left:50%;transform:translate(-50%)}.sdk-overlay-ad--bottom_left{animation:.25s sdk-overlay-ad-in-side;left:16px}.sdk-overlay-ad--bottom_right{animation:.25s sdk-overlay-ad-in-side;right:16px}.sdk-overlay-ad--top_center{animation:.25s sdk-overlay-ad-in-center;top:16px;bottom:auto;left:50%;transform:translate(-50%)}.sdk-overlay-ad--top_left{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;left:16px}.sdk-overlay-ad--top_right{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;right:16px}.sdk-overlay-ad-topbar{justify-content:space-between;align-items:center;height:20px;display:flex;position:absolute;top:-20px;left:0;right:0}.sdk-overlay-ad-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;-webkit-user-select:none;user-select:none;background:#000000b8;border-radius:3px 3px 0 0;padding:2px 7px;font-size:10px;font-weight:600;line-height:16px}.sdk-overlay-ad-close{color:#ffffffb3;cursor:pointer;background:#000000b8;border:none;border-radius:3px 3px 0 0;padding:2px 7px;font-size:11px;line-height:16px;transition:color .15s,background .15s}.sdk-overlay-ad-close:hover{color:#fff;background:#282828e6}.sdk-overlay-ad-img{cursor:pointer;border-radius:4px;max-width:100%;height:auto;transition:opacity .15s;display:block}.sdk-overlay-ad-img:hover{opacity:.88}@keyframes sdk-overlay-ad-in-center{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes sdk-overlay-ad-in-side{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-spinner-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:101;pointer-events:none;opacity:0;background:#0f172a73;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.sdk-spinner-overlay.active{opacity:1}.sdk-spinner{border:4px solid rgba(var(--sdk-theme-color-rgb), .1);border-left-color:var(--sdk-theme-color);border-right-color:rgba(var(--sdk-theme-color-rgb), .2);width:60px;height:60px;filter:drop-shadow(0 0 10px rgba(var(--sdk-theme-color-rgb), .5));border-radius:50%;animation:1s linear infinite sdk-spin}@keyframes sdk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdk-spinner-text{color:#fff;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 4px #00000080;margin-top:16px;font-size:13px;font-weight:500;animation:1.5s ease-in-out infinite alternate sdk-pulse}@keyframes sdk-pulse{0%{opacity:.6}to{opacity:1;filter:drop-shadow(0 0 4px var(--sdk-theme-color))}}.sdk-pip-placeholder{z-index:1;color:#ffffffd9;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.sdk-pip-placeholder span{letter-spacing:.02em;font-size:13px}.sdk-subtitles-overlay{z-index:7;text-align:center;pointer-events:none;justify-content:center;width:80%;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.sdk-subtitles-text{text-shadow:0 1px 3px #000000e6;word-wrap:break-word;border-radius:8px;max-width:100%;padding:8px 16px;font-weight:500;line-height:1.5;transition:font-size .15s,background .15s,color .15s;box-shadow:0 10px 25px -5px #0006}.sdk-cast-bg{z-index:7;pointer-events:none;background:#0000008c;position:absolute;inset:0}.sdk-cast-indicator{color:#3b82f6;white-space:nowrap;letter-spacing:.02em;background:#3b82f626;border:1px solid #3b82f659;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.sdk-cast-screen{z-index:8;color:#fff;background:radial-gradient(at top,#1e1b4b 0%,#030712 70%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex;position:absolute;inset:0}.sdk-cast-icon-glow{color:#3b82f6;filter:drop-shadow(0 0 12px #3b82f699);flex-shrink:0;animation:2s infinite alternate sdk-pulse}.sdk-cast-header{flex-direction:row;align-items:center;gap:0;display:flex}.sdk-cast-title{margin-bottom:4px;font-size:18px;font-weight:600}.sdk-cast-desc{color:#9ca3af;font-size:13px}.sdk-cast-controls{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:480px;display:flex}.sdk-cast-seekbar-row{align-items:center;gap:10px;width:100%;display:flex}.sdk-cast-time-label{color:#9ca3af;white-space:nowrap;text-align:center;min-width:38px;font-size:12px}.sdk-cast-seekbar{cursor:pointer;background:#fff3;border-radius:2px;flex:1;height:4px;transition:height .15s;position:relative}.sdk-cast-seekbar:hover{height:6px}.sdk-cast-seekbar-fill{pointer-events:none;background:#3b82f6;border-radius:2px;position:absolute;inset:0 auto 0 0}.sdk-cast-seekbar-thumb{pointer-events:none;opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #3b82f699}.sdk-cast-seekbar:hover .sdk-cast-seekbar-thumb{opacity:1}.sdk-cast-playback-row{align-items:center;gap:28px;display:flex}.sdk-cast-ctrl-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex;position:relative}.sdk-cast-ctrl-btn:hover{color:#fff;background:#ffffff1a}.sdk-cast-seek-label{pointer-events:none;font-size:9px;font-weight:700;line-height:1;position:absolute}.sdk-cast-play-pause-btn{color:#fff;cursor:pointer;background:#3b82f633;border:2px solid #3b82f680;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:background .18s,border-color .18s,transform .1s;display:flex}.sdk-cast-play-pause-btn:hover{background:#3b82f680;border-color:#3b82f6;transform:scale(1.06)}.sdk-cast-play-pause-btn:active{transform:scale(.96)}.sdk-cast-volume-row{align-items:center;gap:10px;width:220px;display:flex}.sdk-cast-vol-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.sdk-cast-vol-btn:hover{color:#fff}.sdk-cast-volume-slider{appearance:none;cursor:pointer;background:#fff3;border-radius:2px;outline:none;flex:1;height:4px}.sdk-cast-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 4px #0006}.sdk-cast-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:14px;height:14px}.sdk-cast-disconnect-btn{color:#ef4444;cursor:pointer;background:#ef444426;border:1px solid #ef444459;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.sdk-cast-disconnect-btn:hover{color:#fff;background:#ef4444;box-shadow:0 0 15px #ef444466}.sdk-controls-overlay{z-index:9;opacity:0;background:linear-gradient(#000000a6 0%,#0000 22%),linear-gradient(#0000 58%,#000c 100%);flex-direction:column;justify-content:flex-end;padding:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.sdk-player-container.controls-active .sdk-controls-overlay{opacity:1}.sdk-desktop-header{pointer-events:auto;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:absolute;top:0;left:0;right:0}.sdk-desktop-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sdk-desktop-header-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.sdk-desktop-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .15s;display:flex}.sdk-desktop-back-btn:hover{opacity:1}.sdk-desktop-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:16px;font-weight:600;overflow:hidden}.sdk-desktop-hdr-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-hdr-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-hdr-btn:disabled{opacity:.38;cursor:default}.sdk-desktop-center-controls{align-items:center;gap:36px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .12s;display:flex;position:relative}.sdk-desktop-seek-btn:hover{opacity:1;transform:scale(1.12)}.sdk-desktop-seek-btn:active{transform:scale(.9)}.sdk-desktop-seek-btn:disabled{opacity:.35;cursor:default;transform:none!important}.sdk-desktop-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-play-btn{color:#fff;cursor:pointer;opacity:.95;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .15s;display:flex}.sdk-desktop-play-btn:hover{opacity:1;transform:scale(1.1)}.sdk-desktop-play-btn:active{transform:scale(.9)}.sdk-desktop-bottom{pointer-events:auto;flex-direction:column;display:flex}.sdk-desktop-chapters-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:0 22px 18px;animation:.22s sdkFadeIn;display:flex;overflow-x:auto}.sdk-desktop-chapters-strip::-webkit-scrollbar{display:none}.sdk-desktop-chapter-card{cursor:pointer;scroll-snap-align:start;flex-shrink:0;width:170px;transition:transform .12s}.sdk-desktop-chapter-card:hover{transform:scale(1.04)}.sdk-desktop-chapter-card:active{transform:scale(.97)}.sdk-desktop-chapter-thumb{background:#ffffff12;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100px;transition:border-color .15s;display:flex;overflow:hidden}.sdk-desktop-chapter-card.active .sdk-desktop-chapter-thumb{border-color:#ffffff8c}.sdk-desktop-chapter-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:7px;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.sdk-desktop-chapter-time{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-desktop-seekbar{background:#ffffff47;border-radius:0;height:3px;margin:0}.sdk-desktop-seekbar:hover{height:5px}.sdk-desktop-seekbar .sdk-seekbar-buffered{background:#ffffff59}.sdk-desktop-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-desktop-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px}.sdk-desktop-chapter-dot{z-index:3;width:2px;display:none;background:#5a5f69e6!important}.sdk-desktop-controls-row{justify-content:space-between;align-items:center;gap:16px;padding:10px 22px 20px;display:flex}.sdk-desktop-left-controls{align-items:center;gap:6px;display:flex}.sdk-volume-control{align-items:center;gap:2px;display:flex}.sdk-volume-slider{appearance:none;cursor:pointer;background:#ffffff47;background-image:linear-gradient(to right, #fff calc(var(--vol-pct,100%) * 1%), #ffffff47 calc(var(--vol-pct,100%) * 1%));border-radius:3px;outline:none;width:80px;height:3px;transition:height .15s}.sdk-volume-slider:hover{height:5px}.sdk-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .12s;box-shadow:0 0 6px #00000080}.sdk-volume-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.sdk-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #00000080}.sdk-desktop-right-icons{align-items:center;gap:2px;display:flex}.sdk-desktop-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-icon-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-icon-btn:disabled{opacity:.38;cursor:default;transform:none!important}.sdk-seekbar-container{cursor:pointer;background:#ffffff26;border-radius:3px;align-items:center;width:100%;height:6px;transition:height .15s;display:flex;position:relative}.sdk-seekbar-container:before{content:"";z-index:1;position:absolute;inset:-12px 0}.sdk-seekbar-container:hover{height:8px}.sdk-seekbar-buffered{pointer-events:none;background:#ffffff40;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-progress{background:var(--sdk-theme-color);pointer-events:none;box-shadow:0 0 8px rgba(var(--sdk-theme-color-rgb), .6);border-radius:3px;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-container.sdk-ad-mode,.sdk-seekbar-container.sdk-ad-mode:hover,.sdk-seekbar-container.sdk-ad-mode:active{cursor:default;background:#ffffff26;height:3px!important}.sdk-ad-progress-fill{pointer-events:none;background:#ffe000;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-handle{opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s,transform .15s;position:absolute;right:-6px;transform:scale(.8);box-shadow:0 0 10px #00000080}.sdk-seekbar-container:hover .sdk-seekbar-handle{opacity:1;transform:scale(1)}.sdk-seekbar-adbreak{opacity:.7;pointer-events:none;z-index:3;background:#ffe000;border-radius:1px;width:3px;height:100%;transition:opacity .15s,height .15s,top .15s;position:absolute;top:0}.sdk-seekbar-container:hover .sdk-seekbar-adbreak{opacity:1;height:calc(100% + 4px);top:-2px}.sdk-seekbar-chapter-marker{pointer-events:none;z-index:2;background:#0f172acc;width:2px;position:absolute;top:0;bottom:0}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:30;letter-spacing:.01em;background:#171717eb;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .1s,transform .1s,visibility .1s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 2px 8px #00000059}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transition-delay:.4s;transform:translate(-50%)translateY(0)}[data-tooltip][aria-expanded=true]:after{display:none}.sdk-desktop-header-right [data-tooltip]:after,.sdk-mobile-header-actions [data-tooltip]:after{top:calc(100% + 2px);bottom:auto;transform:translate(-50%)translateY(-4px)}.sdk-desktop-header-right [data-tooltip]:hover:after,.sdk-desktop-header-right [data-tooltip]:focus-visible:after,.sdk-mobile-header-actions [data-tooltip]:hover:after,.sdk-mobile-header-actions [data-tooltip]:focus-visible:after{transform:translate(-50%)translateY(0)}.sdk-desktop-right-icons>[data-tooltip]:last-child:after{left:auto;right:0;transform:translateY(4px)}.sdk-desktop-right-icons>[data-tooltip]:last-child:hover:after,.sdk-desktop-right-icons>[data-tooltip]:last-child:focus-visible:after{transform:translateY(0)}.sdk-thumbnail-tooltip{z-index:10;pointer-events:none;filter:drop-shadow(0 8px 20px #000000a6);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:22px;transform:translate(-50%)}.sdk-thumbnail-preview{background-color:#0c0a09;border:1.5px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:192px;height:108px;display:flex;overflow:hidden}.sdk-thumbnail-chapter-name{color:#fff;white-space:nowrap;text-align:center;letter-spacing:.01em;margin-top:7px;font-size:12px;font-weight:500}.sdk-thumbnail-time-label{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-control-btn{color:#fff;opacity:.85;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.sdk-control-btn[disabled],.sdk-control-btn.disabled{opacity:.45;cursor:default;transform:none!important}.sdk-control-btn:hover{opacity:1;background:#ffffff14}.sdk-control-btn:active{transform:scale(.95)}.sdk-time-display{color:#fff;font-variant-numeric:tabular-nums;opacity:.9;letter-spacing:.01em;font-size:13px;font-weight:500}.sdk-chapter-badge{color:var(--sdk-theme-color);background:rgba(var(--sdk-theme-color-rgb), .12);border:1px solid rgba(var(--sdk-theme-color-rgb), .25);white-space:nowrap;text-overflow:ellipsis;max-width:180px;box-shadow:0 0 10px rgba(var(--sdk-theme-color-rgb), .15);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;overflow:hidden}.sdk-menu-container{position:relative}.sdk-dropup-menu{-webkit-backdrop-filter:blur(32px)saturate(200%);backdrop-filter:blur(32px)saturate(200%);z-index:12;background:#14141c73;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;min-width:172px;padding:0;animation:.18s cubic-bezier(.16,1,.3,1) sdk-menu-slideup;display:flex;position:absolute;bottom:calc(100% + 24px);left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 40px #000000bf}.sdk-dropup-menu.large{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:200px;max-height:240px;overflow-y:auto}.sdk-dropup-menu.large::-webkit-scrollbar{width:4px}.sdk-dropup-menu.large::-webkit-scrollbar-track{background:0 0}.sdk-dropup-menu.large::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}@keyframes sdk-menu-slideup{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sdk-dropup-header{color:#fff;letter-spacing:0;border-bottom:1px solid #ffffff1f;padding:14px 16px 12px;font-size:14px;font-weight:700}.sdk-dropup-item{color:#ffffffc7;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:400;transition:background .12s;display:flex}.sdk-dropup-item:hover{color:#fff;background:#ffffff0f}.sdk-dropup-item.active{color:#fff;background:0 0;font-weight:700}.sdk-cast-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:15;background:#030712cc;justify-content:center;align-items:center;animation:.25s sdk-fadein;display:flex;position:absolute;inset:0}@keyframes sdk-fadein{0%{opacity:0}to{opacity:1}}.sdk-cast-modal{background:#0f172a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:12px;width:280px;padding:16px;display:flex;box-shadow:0 25px 50px -12px #000c}.sdk-cast-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.sdk-cast-modal-title{color:#fff;font-size:14px;font-weight:600}.sdk-cast-device-list{flex-direction:column;gap:6px;display:flex}.sdk-cast-device-item{color:#e5e7eb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:13px;transition:all .15s;display:flex}.sdk-cast-device-item:hover{background:rgba(var(--sdk-theme-color-rgb), .1);border-color:rgba(var(--sdk-theme-color-rgb), .3);color:#fff}.sdk-mobile-only{display:none!important}.sdk-dropup-divider{background:#ffffff1f;height:1px;margin:2px 0}.sdk-mobile-settings-menu{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:190px;max-height:320px;overflow-y:auto}.sdk-mobile-settings-menu::-webkit-scrollbar{width:4px}.sdk-mobile-settings-menu::-webkit-scrollbar-track{background:0 0}.sdk-mobile-settings-menu::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel{-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);z-index:10;pointer-events:auto;background:#0c0c10c7;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:380px;animation:.2s sdkFadeIn;display:flex;position:absolute;top:60px;bottom:80px;right:20px;overflow:hidden}.sdk-chapters-panel-header{border-bottom:1px solid #ffffff1f;flex-shrink:0;padding:16px 18px 14px}.sdk-chapters-panel-title{color:#fff;letter-spacing:.01em;font-size:16px;font-weight:700}.sdk-chapters-panel-list{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;padding:6px 0;overflow-y:auto}.sdk-chapters-panel-list::-webkit-scrollbar{width:4px}.sdk-chapters-panel-list::-webkit-scrollbar-track{background:0 0}.sdk-chapters-panel-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel-item{cursor:pointer;border-bottom:1px solid #ffffff0d;align-items:flex-start;gap:14px;padding:12px 16px;transition:background .15s;display:flex}.sdk-chapters-panel-item:last-child{border-bottom:none}.sdk-chapters-panel-item:hover{background:#ffffff0f}.sdk-chapters-panel-item.active{background:#ffffff17}.sdk-chapters-panel-thumb{color:#ffffff4d;background:#ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:128px;height:76px;display:flex;overflow:hidden}.sdk-chapters-panel-info{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:2px;display:flex}.sdk-chapters-panel-item-title{color:#fff;font-size:14px;font-weight:600;line-height:1.3}.sdk-chapters-panel-item-desc{color:#ffffff7a;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.sdk-chapters-panel-item-time{color:#fff;opacity:.75;margin-top:2px;font-size:12px;font-weight:500}@media (width<=768px){.sdk-desktop-header{padding:14px 16px}.sdk-desktop-controls-row{padding:8px 16px 16px}.sdk-desktop-chapters-strip{padding:0 16px 14px}}@media (width<=480px){.sdk-subtitles-overlay{width:90%;bottom:72px}.sdk-subtitles-text{padding:4px 10px;line-height:1.4;font-size:12px!important}.sdk-seekbar-container:before{top:-16px;bottom:-16px}.sdk-seekbar-handle{opacity:1;width:14px;height:14px;right:-7px;transform:scale(1)}.sdk-dropup-menu{min-width:140px}.sdk-dropup-menu.large{min-width:160px}}@media (width<=360px){.sdk-control-btn{min-width:26px;padding:4px 3px}.sdk-time-display{font-size:9px}}.sdk-mobile-overlay{z-index:9;opacity:0;pointer-events:none;background:linear-gradient(#0000008c 0%,#0000 25% 65%,#000000a6 100%);flex-direction:column;justify-content:space-between;transition:opacity .25s;display:flex;position:absolute;inset:0}.sdk-mobile-overlay.active{opacity:1;pointer-events:auto}.sdk-mobile-header{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.sdk-mobile-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sdk-mobile-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.sdk-mobile-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}@media (orientation:portrait){.sdk-mobile-title{display:none}}.sdk-mobile-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.sdk-mobile-hdr-btn{color:#fff;opacity:.9;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:background .15s,opacity .15s;display:flex}.sdk-mobile-hdr-btn:hover,.sdk-mobile-hdr-btn:focus{opacity:1;background:#ffffff1f}.sdk-mobile-hdr-btn:disabled{opacity:.35;cursor:default}.sdk-dropdown-menu{inset:calc(100% + 8px) 0 auto auto}.sdk-mobile-center-controls{justify-content:center;align-items:center;gap:36px;display:flex}.sdk-mobile-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .1s,opacity .12s;display:flex;position:relative}.sdk-mobile-seek-btn:hover{opacity:1}.sdk-mobile-seek-btn:active{transform:scale(.9)}.sdk-mobile-seek-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-mobile-play-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:transform .12s;display:flex}.sdk-mobile-play-btn:active{transform:scale(.9)}@keyframes sdk-doubletap-fade{0%{opacity:1}60%{opacity:1}to{opacity:0}}.sdk-mobile-doubletap{pointer-events:none;z-index:20;justify-content:center;align-items:center;width:40%;animation:.7s forwards sdk-doubletap-fade;display:flex;position:absolute;top:0;bottom:0}.sdk-mobile-doubletap.left{background:#ffffff1f;border-radius:0 100% 100% 0/0 50% 50% 0;left:0}.sdk-mobile-doubletap.right{background:#ffffff1f;border-radius:100% 0 0 100%/50% 0 0 50%;right:0}.sdk-mobile-doubletap-icon{color:#fff;filter:drop-shadow(0 1px 4px #00000080);flex-direction:column;align-items:center;gap:4px;display:flex}.sdk-mobile-doubletap-label{letter-spacing:.02em;color:#fff;font-size:11px;font-weight:600;line-height:1}.sdk-mobile-bottom-bar{flex-direction:column;gap:0;display:flex}.sdk-mobile-seekbar{background:#ffffff47;border-radius:0;width:100%;height:3px}.sdk-mobile-seekbar:hover,.sdk-mobile-seekbar:active{height:4px}.sdk-mobile-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-mobile-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px;opacity:1!important;transform:scale(1)!important}.sdk-mobile-controls-row{justify-content:space-between;align-items:center;gap:8px;padding:8px 14px 12px;display:flex}.sdk-mobile-bottom-icons .sdk-dropup-menu{border-radius:8px;min-width:130px}.sdk-mobile-bottom-icons .sdk-dropup-header{padding:10px 12px 8px;font-size:12px}.sdk-mobile-bottom-icons .sdk-dropup-item{padding:8px 12px;font-size:12px}.sdk-mobile-bottom-icons{align-items:center;gap:2px;display:flex}.sdk-mobile-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:6px;transition:color .15s,background .15s;display:flex}.sdk-mobile-icon-btn:hover{color:#fff;background:#ffffff14}.sdk-mobile-icon-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-key-moments-bar{color:#ffffffe6;letter-spacing:.3px;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:4px 0 2px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.sdk-mobile-key-moments-bar:hover{opacity:.8}.sdk-mobile-km-star{opacity:.85;font-size:12px}.sdk-mobile-chapters-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:4px 0 2px;animation:.2s sdkFadeIn;display:flex;overflow-x:auto}.sdk-mobile-chapters-scroll::-webkit-scrollbar{display:none}@keyframes sdkFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-mobile-chapter-card{cursor:pointer;scroll-snap-align:start;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:108px;transition:border-color .15s,transform .1s}.sdk-mobile-chapter-card:active{transform:scale(.96)}.sdk-mobile-chapter-card.active{border-color:var(--sdk-theme-color)}.sdk-mobile-chapter-thumb{background:#ffffff0f;border-radius:6px;justify-content:center;align-items:center;width:100%;height:64px;display:flex;position:relative;overflow:hidden}.sdk-mobile-chapter-time-badge{color:#fff;letter-spacing:.3px;background:#000000bf;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:600;position:absolute;bottom:3px;right:4px}.sdk-mobile-chapter-title{color:#fffc;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:5px;padding:0 2px;font-size:10px;font-weight:500;line-height:1.3;overflow:hidden}@media (orientation:landscape) and (height<=500px){.sdk-mobile-header{padding:4px 12px}.sdk-mobile-center-controls{gap:18px}.sdk-mobile-play-circle{width:46px;height:46px}.sdk-mobile-seek-circle{width:38px;height:38px}.sdk-mobile-bottom-bar{gap:4px;padding:0 12px 6px}.sdk-mobile-time{font-size:11px}.sdk-mobile-chapter-thumb{height:48px}.sdk-mobile-chapter-card{width:88px}.sdk-mobile-key-moments-bar{padding:2px 0 0;font-size:12px}.sdk-spinner{width:40px;height:40px}.sdk-subtitles-overlay{bottom:56px}}:-webkit-any(.sdk-player-container.sdk-fs-simulated .sdk-mobile-header,.sdk-player-container:fullscreen .sdk-mobile-header,.sdk-player-container:-webkit-full-screen .sdk-mobile-header){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}:is(.sdk-player-container.sdk-fs-simulated .sdk-mobile-header,.sdk-player-container:fullscreen .sdk-mobile-header,.sdk-player-container:fullscreen .sdk-mobile-header){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}:-webkit-any(.sdk-player-container.sdk-fs-simulated .sdk-mobile-bottom-bar,.sdk-player-container:fullscreen .sdk-mobile-bottom-bar,.sdk-player-container:-webkit-full-screen .sdk-mobile-bottom-bar){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom))}:is(.sdk-player-container.sdk-fs-simulated .sdk-mobile-bottom-bar,.sdk-player-container:fullscreen .sdk-mobile-bottom-bar,.sdk-player-container:fullscreen .sdk-mobile-bottom-bar){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom))}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container.sdk-fs-simulated{width:100vw!important;height:100vh!important;height:100dvh!important;aspect-ratio:unset!important;z-index:9999!important;border-radius:0!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.sdk-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sdk-player-container :focus:not(:focus-visible){outline:none}.sdk-desktop-icon-btn:focus-visible,.sdk-desktop-play-btn:focus-visible,.sdk-desktop-seek-btn:focus-visible,.sdk-desktop-back-btn:focus-visible,.sdk-desktop-hdr-btn:focus-visible,.sdk-mobile-icon-btn:focus-visible,.sdk-mobile-play-btn:focus-visible,.sdk-mobile-seek-btn:focus-visible,.sdk-mobile-back-btn:focus-visible,.sdk-mobile-hdr-btn:focus-visible{outline-offset:2px;background:#ffffff1f;border-radius:6px;outline:2px solid #fff}.sdk-skip-ad-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.sdk-seekbar-container:focus-visible,.sdk-volume-slider:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fff}.sdk-dropup-item:focus-visible{outline-offset:-2px;background:#ffffff24;border-radius:4px;outline:2px solid #fff9}.sdk-desktop-chapter-card:focus-visible,.sdk-chapters-panel-item:focus-visible,.sdk-mobile-chapter-card:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #fff}.sdk-desktop-icon-btn,.sdk-mobile-icon-btn,.sdk-desktop-hdr-btn{min-width:32px;min-height:32px}
1
+ .sdk-player-container{--sdk-theme-color:#6366f1;--sdk-theme-color-rgb:99, 102, 241;--sdk-ad-color:#ff9800;--sdk-ad-color-rgb:255, 152, 0;-webkit-user-select:none;user-select:none;aspect-ratio:16/9;cursor:none;background:#000;border-radius:12px;width:100%;height:100%;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.sdk-player-container.controls-active{cursor:default}.sdk-watermark-overlay{z-index:4!important;transition:left 4s ease-in-out,top 4s ease-in-out!important}.sdk-ad-countdown{z-index:90;pointer-events:none;-webkit-user-select:none;user-select:none;background:#4b3c00;border:1px solid #ffe000;border-radius:20px;justify-content:center;align-items:center;gap:3px;min-width:88px;padding:6px 2px;display:flex;position:absolute;top:16px;right:16px}.sdk-ad-countdown-label{letter-spacing:.06em;color:#ffe000;font-size:13px;font-weight:500}.sdk-ad-countdown-sep{color:#ffe000;opacity:.5;font-size:13px}.sdk-ad-countdown-time{font-variant-numeric:tabular-nums;color:#ffe000;font-size:13px;font-weight:500}.sdk-skip-ad-btn{z-index:90;text-align:center;color:#ffffff8c;letter-spacing:.03em;cursor:not-allowed;-webkit-user-select:none;user-select:none;pointer-events:all;background:#000000b3;border:1px solid #ffffff59;border-radius:20px;width:92px;padding:8px 0;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;position:absolute;bottom:84px;right:16px}.sdk-skip-ad-btn--ready{color:#fff;cursor:pointer;border-color:#fffc}.sdk-skip-ad-btn--ready:hover{background:#ffffff2e;border-color:#fff}.sdk-ad-cta{z-index:88;pointer-events:all;max-width:calc(100% - 32px);animation:.25s sdk-ad-cta-in;position:absolute;bottom:84px;left:16px}.sdk-ad-cta-btn{color:#1a1a1a;letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8b319;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.sdk-ad-cta-btn:hover{background:#ffc23a}.sdk-ad-cta-btn:active{transform:scale(.97)}.sdk-ad-cta-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.sdk-ad-cta-card{background:#0009;border-radius:12px;align-items:center;gap:24px;max-width:480px;padding:12px 14px 12px 18px;display:flex}.sdk-ad-cta-info{flex-direction:column;gap:3px;min-width:0;display:flex}.sdk-ad-cta-title{color:#fff;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.sdk-ad-cta-desc{color:#ffffffb8;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}@keyframes sdk-ad-cta-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.sdk-ad-cta-card{gap:14px;padding:10px 12px 10px 14px}.sdk-ad-cta-title{font-size:13px}.sdk-ad-cta-desc{font-size:11px}.sdk-ad-cta-btn{padding:8px 14px;font-size:13px}}.sdk-overlay-ad{z-index:85;pointer-events:all;background:#000000d1;border-radius:4px;max-width:calc(100% - 32px);position:absolute;bottom:72px;overflow:visible}.sdk-overlay-ad--bottom_center{animation:.25s sdk-overlay-ad-in-center;left:50%;transform:translate(-50%)}.sdk-overlay-ad--bottom_left{animation:.25s sdk-overlay-ad-in-side;left:16px}.sdk-overlay-ad--bottom_right{animation:.25s sdk-overlay-ad-in-side;right:16px}.sdk-overlay-ad--top_center{animation:.25s sdk-overlay-ad-in-center;top:16px;bottom:auto;left:50%;transform:translate(-50%)}.sdk-overlay-ad--top_left{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;left:16px}.sdk-overlay-ad--top_right{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;right:16px}.sdk-overlay-ad-topbar{justify-content:space-between;align-items:center;height:20px;display:flex;position:absolute;top:-20px;left:0;right:0}.sdk-overlay-ad-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;-webkit-user-select:none;user-select:none;background:#000000b8;border-radius:3px 3px 0 0;padding:2px 7px;font-size:10px;font-weight:600;line-height:16px}.sdk-overlay-ad-close{color:#ffffffb3;cursor:pointer;background:#000000b8;border:none;border-radius:3px 3px 0 0;padding:2px 7px;font-size:11px;line-height:16px;transition:color .15s,background .15s}.sdk-overlay-ad-close:hover{color:#fff;background:#282828e6}.sdk-overlay-ad-img{cursor:pointer;border-radius:4px;max-width:100%;height:auto;transition:opacity .15s;display:block}.sdk-overlay-ad-img:hover{opacity:.88}@keyframes sdk-overlay-ad-in-center{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes sdk-overlay-ad-in-side{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-spinner-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:101;pointer-events:none;opacity:0;background:#0f172a73;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.sdk-spinner-overlay.active{opacity:1}.sdk-spinner{border:4px solid rgba(var(--sdk-theme-color-rgb), .1);border-left-color:var(--sdk-theme-color);border-right-color:rgba(var(--sdk-theme-color-rgb), .2);width:60px;height:60px;filter:drop-shadow(0 0 10px rgba(var(--sdk-theme-color-rgb), .5));border-radius:50%;animation:1s linear infinite sdk-spin}@keyframes sdk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdk-spinner-text{color:#fff;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 4px #00000080;margin-top:16px;font-size:13px;font-weight:500;animation:1.5s ease-in-out infinite alternate sdk-pulse}@keyframes sdk-pulse{0%{opacity:.6}to{opacity:1;filter:drop-shadow(0 0 4px var(--sdk-theme-color))}}.sdk-pip-placeholder{z-index:1;color:#ffffffd9;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.sdk-pip-placeholder span{letter-spacing:.02em;font-size:13px}.sdk-subtitles-overlay{z-index:7;text-align:center;pointer-events:none;justify-content:center;width:80%;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.sdk-subtitles-text{text-shadow:0 1px 3px #000000e6;word-wrap:break-word;border-radius:8px;max-width:100%;padding:8px 16px;font-weight:500;line-height:1.5;transition:font-size .15s,background .15s,color .15s;box-shadow:0 10px 25px -5px #0006}.sdk-cast-bg{z-index:7;pointer-events:none;background:#0000008c;position:absolute;inset:0}.sdk-cast-indicator{color:#3b82f6;white-space:nowrap;letter-spacing:.02em;background:#3b82f626;border:1px solid #3b82f659;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.sdk-cast-screen{z-index:8;color:#fff;background:radial-gradient(at top,#1e1b4b 0%,#030712 70%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex;position:absolute;inset:0}.sdk-cast-icon-glow{color:#3b82f6;filter:drop-shadow(0 0 12px #3b82f699);flex-shrink:0;animation:2s infinite alternate sdk-pulse}.sdk-cast-header{flex-direction:row;align-items:center;gap:0;display:flex}.sdk-cast-title{margin-bottom:4px;font-size:18px;font-weight:600}.sdk-cast-desc{color:#9ca3af;font-size:13px}.sdk-cast-controls{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:480px;display:flex}.sdk-cast-seekbar-row{align-items:center;gap:10px;width:100%;display:flex}.sdk-cast-time-label{color:#9ca3af;white-space:nowrap;text-align:center;min-width:38px;font-size:12px}.sdk-cast-seekbar{cursor:pointer;background:#fff3;border-radius:2px;flex:1;height:4px;transition:height .15s;position:relative}.sdk-cast-seekbar:hover{height:6px}.sdk-cast-seekbar-fill{pointer-events:none;background:#3b82f6;border-radius:2px;position:absolute;inset:0 auto 0 0}.sdk-cast-seekbar-thumb{pointer-events:none;opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #3b82f699}.sdk-cast-seekbar:hover .sdk-cast-seekbar-thumb{opacity:1}.sdk-cast-playback-row{align-items:center;gap:28px;display:flex}.sdk-cast-ctrl-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex;position:relative}.sdk-cast-ctrl-btn:hover{color:#fff;background:#ffffff1a}.sdk-cast-seek-label{pointer-events:none;font-size:9px;font-weight:700;line-height:1;position:absolute}.sdk-cast-play-pause-btn{color:#fff;cursor:pointer;background:#3b82f633;border:2px solid #3b82f680;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:background .18s,border-color .18s,transform .1s;display:flex}.sdk-cast-play-pause-btn:hover{background:#3b82f680;border-color:#3b82f6;transform:scale(1.06)}.sdk-cast-play-pause-btn:active{transform:scale(.96)}.sdk-cast-volume-row{align-items:center;gap:10px;width:220px;display:flex}.sdk-cast-vol-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.sdk-cast-vol-btn:hover{color:#fff}.sdk-cast-volume-slider{appearance:none;cursor:pointer;background:#fff3;border-radius:2px;outline:none;flex:1;height:4px}.sdk-cast-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 4px #0006}.sdk-cast-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:14px;height:14px}.sdk-cast-disconnect-btn{color:#ef4444;cursor:pointer;background:#ef444426;border:1px solid #ef444459;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.sdk-cast-disconnect-btn:hover{color:#fff;background:#ef4444;box-shadow:0 0 15px #ef444466}.sdk-controls-overlay{z-index:9;opacity:0;background:linear-gradient(#000000a6 0%,#0000 22%),linear-gradient(#0000 58%,#000c 100%);flex-direction:column;justify-content:flex-end;padding:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.sdk-player-container.controls-active .sdk-controls-overlay{opacity:1}.sdk-desktop-header{pointer-events:auto;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:absolute;top:0;left:0;right:0}.sdk-desktop-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sdk-desktop-header-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.sdk-desktop-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .15s;display:flex}.sdk-desktop-back-btn:hover{opacity:1}.sdk-desktop-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:16px;font-weight:600;overflow:hidden}.sdk-desktop-hdr-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-hdr-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-hdr-btn:disabled{opacity:.38;cursor:default}.sdk-desktop-center-controls{align-items:center;gap:36px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .12s;display:flex;position:relative}.sdk-desktop-seek-btn:hover{opacity:1;transform:scale(1.12)}.sdk-desktop-seek-btn:active{transform:scale(.9)}.sdk-desktop-seek-btn:disabled{opacity:.35;cursor:default;transform:none!important}.sdk-desktop-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-play-btn{color:#fff;cursor:pointer;opacity:.95;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .15s;display:flex}.sdk-desktop-play-btn:hover{opacity:1;transform:scale(1.1)}.sdk-desktop-play-btn:active{transform:scale(.9)}.sdk-desktop-bottom{pointer-events:auto;flex-direction:column;display:flex}.sdk-desktop-chapters-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:0 22px 18px;animation:.22s sdkFadeIn;display:flex;overflow-x:auto}.sdk-desktop-chapters-strip::-webkit-scrollbar{display:none}.sdk-desktop-chapter-card{cursor:pointer;scroll-snap-align:start;flex-shrink:0;width:170px;transition:transform .12s}.sdk-desktop-chapter-card:hover{transform:scale(1.04)}.sdk-desktop-chapter-card:active{transform:scale(.97)}.sdk-desktop-chapter-thumb{background:#ffffff12;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100px;transition:border-color .15s;display:flex;overflow:hidden}.sdk-desktop-chapter-card.active .sdk-desktop-chapter-thumb{border-color:#ffffff8c}.sdk-desktop-chapter-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:7px;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.sdk-desktop-chapter-time{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-desktop-seekbar{background:#ffffff47;border-radius:0;height:3px;margin:0}.sdk-desktop-seekbar:hover{height:5px}.sdk-desktop-seekbar .sdk-seekbar-buffered{background:#ffffff59}.sdk-desktop-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-desktop-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px}.sdk-desktop-chapter-dot{z-index:3;width:2px;display:none;background:#5a5f69e6!important}.sdk-desktop-controls-row{justify-content:space-between;align-items:center;gap:16px;padding:10px 22px 20px;display:flex}.sdk-desktop-left-controls{align-items:center;gap:6px;display:flex}.sdk-volume-control{align-items:center;gap:2px;display:flex}.sdk-volume-slider{appearance:none;cursor:pointer;background:#ffffff47;background-image:linear-gradient(to right, #fff calc(var(--vol-pct,100%) * 1%), #ffffff47 calc(var(--vol-pct,100%) * 1%));border-radius:3px;outline:none;width:80px;height:3px;transition:height .15s}.sdk-volume-slider:hover{height:5px}.sdk-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .12s;box-shadow:0 0 6px #00000080}.sdk-volume-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.sdk-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #00000080}.sdk-desktop-right-icons{align-items:center;gap:2px;display:flex}.sdk-desktop-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-icon-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-icon-btn:disabled{opacity:.38;cursor:default;transform:none!important}.sdk-seekbar-container{cursor:pointer;background:#ffffff26;border-radius:3px;align-items:center;width:100%;height:6px;transition:height .15s;display:flex;position:relative}.sdk-seekbar-container:before{content:"";z-index:1;position:absolute;inset:-12px 0}.sdk-seekbar-container:hover{height:8px}.sdk-seekbar-buffered{pointer-events:none;background:#ffffff40;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-progress{background:var(--sdk-theme-color);pointer-events:none;box-shadow:0 0 8px rgba(var(--sdk-theme-color-rgb), .6);border-radius:3px;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-container.sdk-ad-mode,.sdk-seekbar-container.sdk-ad-mode:hover,.sdk-seekbar-container.sdk-ad-mode:active{cursor:default;background:#ffffff26;height:3px!important}.sdk-ad-progress-fill{pointer-events:none;background:#ffe000;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-handle{opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s,transform .15s;position:absolute;right:-6px;transform:scale(.8);box-shadow:0 0 10px #00000080}.sdk-seekbar-container:hover .sdk-seekbar-handle{opacity:1;transform:scale(1)}.sdk-seekbar-adbreak{opacity:.7;pointer-events:none;z-index:3;background:#ffe000;border-radius:1px;width:3px;height:100%;transition:opacity .15s,height .15s,top .15s;position:absolute;top:0}.sdk-seekbar-container:hover .sdk-seekbar-adbreak{opacity:1;height:calc(100% + 4px);top:-2px}.sdk-seekbar-chapter-marker{pointer-events:none;z-index:2;background:#0f172acc;width:2px;position:absolute;top:0;bottom:0}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:30;letter-spacing:.01em;background:#171717eb;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .1s,transform .1s,visibility .1s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 2px 8px #00000059}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transition-delay:.4s;transform:translate(-50%)translateY(0)}[data-tooltip][aria-expanded=true]:after{display:none}.sdk-desktop-header-right [data-tooltip]:after,.sdk-mobile-header-actions [data-tooltip]:after{top:calc(100% + 2px);bottom:auto;transform:translate(-50%)translateY(-4px)}.sdk-desktop-header-right [data-tooltip]:hover:after,.sdk-desktop-header-right [data-tooltip]:focus-visible:after,.sdk-mobile-header-actions [data-tooltip]:hover:after,.sdk-mobile-header-actions [data-tooltip]:focus-visible:after{transform:translate(-50%)translateY(0)}.sdk-desktop-right-icons>[data-tooltip]:last-child:after{left:auto;right:0;transform:translateY(4px)}.sdk-desktop-right-icons>[data-tooltip]:last-child:hover:after,.sdk-desktop-right-icons>[data-tooltip]:last-child:focus-visible:after{transform:translateY(0)}.sdk-thumbnail-tooltip{z-index:10;pointer-events:none;filter:drop-shadow(0 8px 20px #000000a6);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:22px;transform:translate(-50%)}.sdk-thumbnail-preview{background-color:#0c0a09;border:1.5px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:192px;height:108px;display:flex;overflow:hidden}.sdk-thumbnail-chapter-name{color:#fff;white-space:nowrap;text-align:center;letter-spacing:.01em;margin-top:7px;font-size:12px;font-weight:500}.sdk-thumbnail-time-label{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-control-btn{color:#fff;opacity:.85;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.sdk-control-btn[disabled],.sdk-control-btn.disabled{opacity:.45;cursor:default;transform:none!important}.sdk-control-btn:hover{opacity:1;background:#ffffff14}.sdk-control-btn:active{transform:scale(.95)}.sdk-time-display{color:#fff;font-variant-numeric:tabular-nums;opacity:.9;letter-spacing:.01em;font-size:13px;font-weight:500}.sdk-chapter-badge{color:var(--sdk-theme-color);background:rgba(var(--sdk-theme-color-rgb), .12);border:1px solid rgba(var(--sdk-theme-color-rgb), .25);white-space:nowrap;text-overflow:ellipsis;max-width:180px;box-shadow:0 0 10px rgba(var(--sdk-theme-color-rgb), .15);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;overflow:hidden}.sdk-menu-container{position:relative}.sdk-dropup-menu{-webkit-backdrop-filter:blur(32px)saturate(200%);backdrop-filter:blur(32px)saturate(200%);z-index:12;background:#14141c73;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;min-width:172px;padding:0;animation:.18s cubic-bezier(.16,1,.3,1) sdk-menu-slideup;display:flex;position:absolute;bottom:calc(100% + 24px);left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 40px #000000bf}.sdk-dropup-menu.large{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:200px;max-height:240px;overflow-y:auto}.sdk-dropup-menu.large::-webkit-scrollbar{width:4px}.sdk-dropup-menu.large::-webkit-scrollbar-track{background:0 0}.sdk-dropup-menu.large::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}@keyframes sdk-menu-slideup{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sdk-dropup-header{color:#fff;letter-spacing:0;border-bottom:1px solid #ffffff1f;padding:14px 16px 12px;font-size:14px;font-weight:700}.sdk-dropup-item{color:#ffffffc7;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:400;transition:background .12s;display:flex}.sdk-dropup-item:hover{color:#fff;background:#ffffff0f}.sdk-dropup-item.active{color:#fff;background:0 0;font-weight:700}.sdk-cast-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:15;background:#030712cc;justify-content:center;align-items:center;animation:.25s sdk-fadein;display:flex;position:absolute;inset:0}@keyframes sdk-fadein{0%{opacity:0}to{opacity:1}}.sdk-cast-modal{background:#0f172a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:12px;width:280px;padding:16px;display:flex;box-shadow:0 25px 50px -12px #000c}.sdk-cast-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.sdk-cast-modal-title{color:#fff;font-size:14px;font-weight:600}.sdk-cast-device-list{flex-direction:column;gap:6px;display:flex}.sdk-cast-device-item{color:#e5e7eb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:13px;transition:all .15s;display:flex}.sdk-cast-device-item:hover{background:rgba(var(--sdk-theme-color-rgb), .1);border-color:rgba(var(--sdk-theme-color-rgb), .3);color:#fff}.sdk-mobile-only{display:none!important}.sdk-dropup-divider{background:#ffffff1f;height:1px;margin:2px 0}.sdk-mobile-settings-menu{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:190px;max-height:320px;overflow-y:auto}.sdk-mobile-settings-menu::-webkit-scrollbar{width:4px}.sdk-mobile-settings-menu::-webkit-scrollbar-track{background:0 0}.sdk-mobile-settings-menu::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel{-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);z-index:10;pointer-events:auto;background:#0c0c10c7;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:380px;animation:.2s sdkFadeIn;display:flex;position:absolute;top:60px;bottom:80px;right:20px;overflow:hidden}.sdk-chapters-panel-header{border-bottom:1px solid #ffffff1f;flex-shrink:0;padding:16px 18px 14px}.sdk-chapters-panel-title{color:#fff;letter-spacing:.01em;font-size:16px;font-weight:700}.sdk-chapters-panel-list{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;padding:6px 0;overflow-y:auto}.sdk-chapters-panel-list::-webkit-scrollbar{width:4px}.sdk-chapters-panel-list::-webkit-scrollbar-track{background:0 0}.sdk-chapters-panel-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel-item{cursor:pointer;border-bottom:1px solid #ffffff0d;align-items:flex-start;gap:14px;padding:12px 16px;transition:background .15s;display:flex}.sdk-chapters-panel-item:last-child{border-bottom:none}.sdk-chapters-panel-item:hover{background:#ffffff0f}.sdk-chapters-panel-item.active{background:#ffffff17}.sdk-chapters-panel-thumb{color:#ffffff4d;background:#ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:128px;height:76px;display:flex;overflow:hidden}.sdk-chapters-panel-info{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:2px;display:flex}.sdk-chapters-panel-item-title{color:#fff;font-size:14px;font-weight:600;line-height:1.3}.sdk-chapters-panel-item-desc{color:#ffffff7a;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.sdk-chapters-panel-item-time{color:#fff;opacity:.75;margin-top:2px;font-size:12px;font-weight:500}@media (width<=768px){.sdk-desktop-header{padding:14px 16px}.sdk-desktop-controls-row{padding:8px 16px 16px}.sdk-desktop-chapters-strip{padding:0 16px 14px}}@media (width<=480px){.sdk-subtitles-overlay{width:90%;bottom:72px}.sdk-subtitles-text{padding:4px 10px;line-height:1.4;font-size:12px!important}.sdk-seekbar-container:before{top:-16px;bottom:-16px}.sdk-seekbar-handle{opacity:1;width:14px;height:14px;right:-7px;transform:scale(1)}.sdk-dropup-menu{min-width:140px}.sdk-dropup-menu.large{min-width:160px}}@media (width<=360px){.sdk-control-btn{min-width:26px;padding:4px 3px}.sdk-time-display{font-size:9px}}.sdk-mobile-overlay{z-index:9;opacity:0;pointer-events:none;background:linear-gradient(#0000008c 0%,#0000 25% 65%,#000000a6 100%);flex-direction:column;justify-content:space-between;transition:opacity .25s;display:flex;position:absolute;inset:0}.sdk-mobile-overlay.active{opacity:1;pointer-events:auto}.sdk-mobile-header{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.sdk-mobile-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sdk-mobile-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.sdk-mobile-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}@media (orientation:portrait){.sdk-mobile-title{display:none}}.sdk-mobile-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.sdk-mobile-hdr-btn{color:#fff;opacity:.9;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:background .15s,opacity .15s;display:flex}.sdk-mobile-hdr-btn:hover,.sdk-mobile-hdr-btn:focus{opacity:1;background:#ffffff1f}.sdk-mobile-hdr-btn:disabled{opacity:.35;cursor:default}.sdk-dropdown-menu{inset:calc(100% + 8px) 0 auto auto}.sdk-mobile-center-controls{justify-content:center;align-items:center;gap:36px;display:flex}.sdk-mobile-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .1s,opacity .12s;display:flex;position:relative}.sdk-mobile-seek-btn:hover{opacity:1}.sdk-mobile-seek-btn:active{transform:scale(.9)}.sdk-mobile-seek-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-mobile-play-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:transform .12s;display:flex}.sdk-mobile-play-btn:active{transform:scale(.9)}@keyframes sdk-doubletap-fade{0%{opacity:1}60%{opacity:1}to{opacity:0}}.sdk-mobile-doubletap{pointer-events:none;z-index:20;justify-content:center;align-items:center;width:40%;animation:.7s forwards sdk-doubletap-fade;display:flex;position:absolute;top:0;bottom:0}.sdk-mobile-doubletap.left{background:#ffffff1f;border-radius:0 100% 100% 0/0 50% 50% 0;left:0}.sdk-mobile-doubletap.right{background:#ffffff1f;border-radius:100% 0 0 100%/50% 0 0 50%;right:0}.sdk-mobile-doubletap-icon{color:#fff;filter:drop-shadow(0 1px 4px #00000080);flex-direction:column;align-items:center;gap:4px;display:flex}.sdk-mobile-doubletap-label{letter-spacing:.02em;color:#fff;font-size:11px;font-weight:600;line-height:1}.sdk-mobile-bottom-bar{flex-direction:column;gap:0;display:flex}.sdk-mobile-seekbar{background:#ffffff47;border-radius:0;width:100%;height:3px}.sdk-mobile-seekbar:hover,.sdk-mobile-seekbar:active{height:4px}.sdk-mobile-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-mobile-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px;opacity:1!important;transform:scale(1)!important}.sdk-mobile-controls-row{justify-content:space-between;align-items:center;gap:8px;padding:8px 14px 12px;display:flex}.sdk-mobile-bottom-icons .sdk-dropup-menu{border-radius:8px;min-width:130px}.sdk-mobile-bottom-icons .sdk-dropup-header{padding:10px 12px 8px;font-size:12px}.sdk-mobile-bottom-icons .sdk-dropup-item{padding:8px 12px;font-size:12px}.sdk-mobile-bottom-icons{align-items:center;gap:2px;display:flex}.sdk-mobile-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:6px;transition:color .15s,background .15s;display:flex}.sdk-mobile-icon-btn:hover{color:#fff;background:#ffffff14}.sdk-mobile-icon-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-key-moments-bar{color:#ffffffe6;letter-spacing:.3px;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:4px 0 2px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.sdk-mobile-key-moments-bar:hover{opacity:.8}.sdk-mobile-km-star{opacity:.85;font-size:12px}.sdk-mobile-chapters-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:4px 0 2px;animation:.2s sdkFadeIn;display:flex;overflow-x:auto}.sdk-mobile-chapters-scroll::-webkit-scrollbar{display:none}@keyframes sdkFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-mobile-chapter-card{cursor:pointer;scroll-snap-align:start;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:108px;transition:border-color .15s,transform .1s}.sdk-mobile-chapter-card:active{transform:scale(.96)}.sdk-mobile-chapter-card.active{border-color:var(--sdk-theme-color)}.sdk-mobile-chapter-thumb{background:#ffffff0f;border-radius:6px;justify-content:center;align-items:center;width:100%;height:64px;display:flex;position:relative;overflow:hidden}.sdk-mobile-chapter-time-badge{color:#fff;letter-spacing:.3px;background:#000000bf;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:600;position:absolute;bottom:3px;right:4px}.sdk-mobile-chapter-title{color:#fffc;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:5px;padding:0 2px;font-size:10px;font-weight:500;line-height:1.3;overflow:hidden}@media (orientation:landscape) and (height<=500px){.sdk-mobile-header{padding:4px 12px}.sdk-mobile-center-controls{gap:18px}.sdk-mobile-play-circle{width:46px;height:46px}.sdk-mobile-seek-circle{width:38px;height:38px}.sdk-mobile-bottom-bar{gap:4px;padding:0 12px 6px}.sdk-mobile-time{font-size:11px}.sdk-mobile-chapter-thumb{height:48px}.sdk-mobile-chapter-card{width:88px}.sdk-mobile-key-moments-bar{padding:2px 0 0;font-size:12px}.sdk-spinner{width:40px;height:40px}.sdk-subtitles-overlay{bottom:56px}}:-webkit-any(.sdk-player-container.sdk-fs-simulated .sdk-mobile-header,.sdk-player-container:fullscreen .sdk-mobile-header,.sdk-player-container:-webkit-full-screen .sdk-mobile-header){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}:is(.sdk-player-container.sdk-fs-simulated .sdk-mobile-header,.sdk-player-container:fullscreen .sdk-mobile-header,.sdk-player-container:fullscreen .sdk-mobile-header){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}:-webkit-any(.sdk-player-container.sdk-fs-simulated .sdk-mobile-bottom-bar,.sdk-player-container:fullscreen .sdk-mobile-bottom-bar,.sdk-player-container:-webkit-full-screen .sdk-mobile-bottom-bar){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom))}:is(.sdk-player-container.sdk-fs-simulated .sdk-mobile-bottom-bar,.sdk-player-container:fullscreen .sdk-mobile-bottom-bar,.sdk-player-container:fullscreen .sdk-mobile-bottom-bar){padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom))}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container.sdk-fs-simulated{width:100vw!important;height:100vh!important;height:100dvh!important;aspect-ratio:unset!important;z-index:9999!important;border-radius:0!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.sdk-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sdk-player-container :focus:not(:focus-visible){outline:none}.sdk-desktop-icon-btn:focus-visible,.sdk-desktop-play-btn:focus-visible,.sdk-desktop-seek-btn:focus-visible,.sdk-desktop-back-btn:focus-visible,.sdk-desktop-hdr-btn:focus-visible,.sdk-mobile-icon-btn:focus-visible,.sdk-mobile-play-btn:focus-visible,.sdk-mobile-seek-btn:focus-visible,.sdk-mobile-back-btn:focus-visible,.sdk-mobile-hdr-btn:focus-visible{outline-offset:2px;background:#ffffff1f;border-radius:6px;outline:2px solid #fff}.sdk-skip-ad-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.sdk-seekbar-container:focus-visible,.sdk-volume-slider:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fff}.sdk-dropup-item:focus-visible{outline-offset:-2px;background:#ffffff24;border-radius:4px;outline:2px solid #fff9}.sdk-desktop-chapter-card:focus-visible,.sdk-chapters-panel-item:focus-visible,.sdk-mobile-chapter-card:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #fff}.sdk-desktop-icon-btn,.sdk-mobile-icon-btn,.sdk-desktop-hdr-btn{min-width:32px;min-height:32px}
2
2
  /*$vite$:1*/
package/dist/index.cjs CHANGED
@@ -27,7 +27,7 @@ Please try again.`,onRetry:n}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(
27
27
  .gb-pip-time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: 0.9; }
28
28
  `,h=e=>{let t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();let n=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return n?.[1]?.trim()?n[1].trim():null},Me=e=>{if(!e||e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)return null;let t=e[3],n=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127,r=Math.min(10+n,e.length),i=10;for(;i+10<=r;){let n=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),a=t>=4?(e[i+4]&127)<<21|(e[i+5]&127)<<14|(e[i+6]&127)<<7|e[i+7]&127:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(a<=0||i+10+a>r)break;if(n===`TIT2`){let t=e[i+10],n=e.slice(i+11,i+10+a),r=(t===1||t===2?new TextDecoder(`utf-16`).decode(n):new TextDecoder(t===3?`utf-8`:`latin1`).decode(n)).replace(/\0/g,``).trim();if(r)return r}i+=10+a}return null},Ne=({size:e=20})=>(0,d.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,d.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,d.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,d.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),Pe=({size:e=20})=>(0,d.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,d.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,d.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,d.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),Fe=e=>{let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:t.length===3?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:`99, 102, 241`},g={en:`English`,eng:`English`,fr:`French`,fre:`French`,fra:`French`,es:`Spanish`,spa:`Spanish`,de:`German`,ger:`German`,deu:`German`,it:`Italian`,ita:`Italian`,pt:`Portuguese`,por:`Portuguese`,ja:`Japanese`,zh:`Chinese`,ko:`Korean`,ru:`Russian`,ar:`Arabic`,hi:`Hindi`,ta:`Tamil`,tam:`Tamil`},Ie=e=>{if(!e)return null;let t=e.trim().toLowerCase(),n=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(n&&g[n[0]])return g[n[0]];for(let[e,n]of Object.entries(g))if(t.includes(e))return n;return/english|anglais|ingles/i.test(t)?`English`:/french|français/i.test(t)?`French`:/spanish|español/i.test(t)?`Spanish`:/german|deutsch/i.test(t)?`German`:/italian|italiano/i.test(t)?`Italian`:/portuguese|português/i.test(t)?`Portuguese`:/japanese|nihongo/i.test(t)?`Japanese`:/chinese|中文/i.test(t)?`Chinese`:/korean|한국어/i.test(t)?`Korean`:/tamil|தமிழ்/i.test(t)?`Tamil`:/russian|русский/i.test(t)?`Russian`:/arabic|العربية/i.test(t)?`Arabic`:/hindi|हिन्दी/i.test(t)?`Hindi`:null},_=e=>{if(e.lang){let t=Ie(e.lang);if(t)return t}if(e.label){let t=e.label.trim(),n=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=n.length-1;e>=0;--e){let t=Ie(n[e]);if(t)return t}let r=t.replace(/^[#\d\.\s]+/,``).trim();return Ie(r)||r}return`Unknown`},Le=e=>{let t=new Set;return e.filter(e=>{let n=`${_(e).toLowerCase()}|${(e.lang||``).trim().toLowerCase()}`;return t.has(n)?!1:(t.add(n),!0)})},Re=e=>{let t=(e??``).split(`:`).map(Number);return(t[0]||0)*3600+(t[1]||0)*60+(t[2]||0)},ze=({src:e,autoplay:t=!1,muted:n=!1,chapters:r=[],keyMoments:i,subtitles:a=[],watermark:o,themeColor:s=`#6366f1`,drmConfig:ee,firebaseConfig:ne,onAnalyticsEvent:re,onAdBreakChange:ie,onKeyMomentsLoaded:ae,enableControls:oe=!0,enableChromecast:se,enableKeyMoments:ce,enableSubtitles:le,enableQuality:ue,enablePlaybackSpeed:f,enablePiP:g,enableFullscreen:Ie=!0,autoFullscreen:ze=!1,watchProgressInterval:Be=30,subtitleStyle:v={},resolvedEntitlement:Ve,licenseKey:He,title:Ue,chaptersDisplayMode:We=`strip`,volumeControlType:Ge=`slider`,urlTransformer:Ke,pauseAdOnTabSwitch:qe=!0,enableSkipAd:Je=!1,skipAdAfterSeconds:Ye=5,overlayAdUrl:Xe,adTrackingUrl:Ze,sources:y,activeSourceIndex:Qe=0,onSourceChange:$e,initialTime:b,onTimeUpdate:et})=>{let x=Ke??(e=>e),S=(0,l.useRef)(null),tt=(0,l.useRef)(null),nt=(0,l.useRef)(!1),C=(0,l.useRef)(null),rt=(0,l.useRef)(0),it=(0,l.useRef)(null),w=(0,l.useRef)(null),at=(0,l.useRef)(null),ot=(0,l.useRef)(null),st=(0,l.useRef)(!1),T=(0,l.useRef)(!1),E=(0,l.useRef)(null),D=(0,l.useRef)(null),O=(0,l.useRef)(null),ct=(0,l.useRef)(null),lt=(0,l.useRef)(()=>{}),k=(0,l.useRef)(null),ut=(0,l.useRef)(null),dt=e=>{!e||ut.current!==null||(ut.current=e.muted,e.muted=!0)},ft=e=>{ut.current!==null&&(e&&(e.muted=ut.current),ut.current=null)},pt=(0,l.useRef)(null),mt=(0,l.useRef)(null),ht=(0,l.useRef)(null),gt=(0,l.useRef)(null),A=(0,l.useRef)(null),_t=(0,l.useRef)(null),vt=(0,l.useRef)(y),yt=(0,l.useRef)($e),bt=(0,l.useRef)(!1),j=(0,l.useRef)(null),M=(0,l.useRef)(null),N=(0,l.useRef)(null),xt=(0,l.useRef)(0),St=(0,l.useRef)(null),[Ct,wt]=(0,l.useState)(!1),Tt=(0,l.useRef)(!1),Et=(0,l.useRef)(null),[Dt,Ot]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(typeof window>`u`||Ae)return;let e=window.requestAnimationFrame(()=>{let e=S.current;if(!e)return;let t=window.getComputedStyle(e);t.overflow!==`hidden`&&t.borderTopLeftRadius===`0px`&&(Ae=!0,console.warn(`[boss-web-player-sdk] Player styles appear to be missing — the player will look broken/unstyled.
29
29
  Import the stylesheet once at your app entry point:
30
- import 'boss-web-player-sdk/css';`))});return()=>window.cancelAnimationFrame(e)},[]),(0,l.useEffect)(()=>{let e=S.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)wt(t.contentRect.width<=768)});return t.observe(e),wt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);let[P,kt]=(0,l.useState)(null),[At,jt]=(0,l.useState)(!1),Mt=Ve??null,Nt=Mt!=null,Pt=Mt?.features??{},Ft=Nt?!!(Pt.drm_protection&&!He):!1,F={enableSubtitles:Nt?!!Pt.subtitle_support:typeof le==`boolean`?le:!0,enableChromecast:Nt?!!Pt.chromecast:typeof se==`boolean`?se:!0,enableKeyMoments:Nt?!!Pt.key_moments:typeof ce==`boolean`?ce:!0,enableQuality:Nt?!!Pt.multiple_resolution:typeof ue==`boolean`?ue:!0,enablePlaybackSpeed:Nt?!!Pt.playback_speed:typeof f==`boolean`?f:!0,enablePiP:Nt?!!Pt.picture_in_picture:typeof g==`boolean`?g:!0,allowAirplay:Nt?!!Pt.airplay:!1,allowMultipleAudio:Nt?!!Pt.multiple_audio:!0,m3u8_playback:Nt?!!Pt.m3u8_playback:!0,drm_protection:Nt?!!Pt.drm_protection:!1},[It,Lt]=(0,l.useState)(!1),[Rt,zt]=(0,l.useState)(0),[Bt,Vt]=(0,l.useState)(!1),[I,Ht]=(0,l.useState)(0),[Ut,Wt]=(0,l.useState)(0),[Gt,Kt]=(0,l.useState)(1),[qt,Jt]=(0,l.useState)(!1),[Yt,Xt]=(0,l.useState)(!1),[Zt,Qt]=(0,l.useState)(!1),[$t,en]=(0,l.useState)(!1),[tn,nn]=(0,l.useState)(!1),rn=Ct||(Zt||$t)&&tn,[an,on]=(0,l.useState)(!1),[sn,cn]=(0,l.useState)(null),[ln,un]=(0,l.useState)(!1),[L,dn]=(0,l.useState)([]),R=(0,l.useRef)([]),fn=(0,l.useRef)(new Set),pn=y&&y.length>0?y.map(e=>e.url).join(`|`):e,[mn,hn]=(0,l.useState)(new Set),[gn,_n]=(0,l.useState)(pn),vn=(0,l.useRef)(null),yn=(0,l.useRef)(!1),bn=(0,l.useRef)(null);gn!==pn&&(_n(pn),hn(new Set),fn.current=new Set,vn.current=null,yn.current=!1);let xn=(0,l.useRef)(null),Sn=(0,l.useRef)(!1),[Cn,wn]=(0,l.useState)([]),[Tn,En]=(0,l.useState)(null),Dn=(0,l.useRef)([]),On=(0,l.useRef)(null),kn=(0,l.useRef)(new Set),[An,jn]=(0,l.useState)([]),Mn=(0,l.useRef)([]),[Nn,Pn]=(0,l.useState)([]),Fn=e=>{let t=Mn.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};let n=R.current.find(t=>e>=t.startTime&&e<t.endTime);return n?{start:n.startTime,end:n.endTime}:null},In=(0,l.useMemo)(()=>L.reduce((e,t)=>e+(t.endTime-t.startTime),0),[L]),Ln=Ut>0?Math.max(0,Ut-In):0,z=L.length>0&&Ln>0?Ln:Ut,B=(0,l.useCallback)(e=>{let t=e;for(let n of L)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);return Math.max(0,t)},[L]),V=(0,l.useCallback)(e=>{let t=e;for(let e of L)t>=e.startTime&&(t+=e.endTime-e.startTime);return t},[L]),[Rn,zn]=(0,l.useState)([]),[Bn,Vn]=(0,l.useState)({id:-1,height:0,width:0,bitrate:0,label:`Auto`}),[Hn,Un]=(0,l.useState)(``),[H,Wn]=(0,l.useState)(`off`),[Gn,Kn]=(0,l.useState)(Le(a)),[qn,Jn]=(0,l.useState)([]),[Yn,Xn]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(P){let e=P.subtitles.getTracks();Kn(Le([...a,...e.filter(e=>!a.some(t=>t.id===e.id))]))}else Kn(Le(a))},[a.map(e=>e.id).join(`,`),P]);let[Zn,Qn]=(0,l.useState)({chapter:null,index:-1}),[U,$n]=(0,l.useState)(i||r||[]),[W,G]=(0,l.useState)(`none`),[er,tr]=(0,l.useState)(1),[nr,rr]=(0,l.useState)(!1),[ir,ar]=(0,l.useState)({}),[or,sr]=(0,l.useState)(``),[cr,lr]=(0,l.useState)(null),ur=(0,l.useRef)(!1),dr=JSON.stringify(U.map(e=>({title:e.title,startTime:e.startTime})));(0,l.useEffect)(()=>{$n(i||r||[])},[(i||r||[]).map(e=>`${e.startTime}:${e.title}`).join(`,`)]),(0,l.useEffect)(()=>{if(!e||!U||U.length===0)return;ar({});let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;`,document.body.appendChild(t);let n=null,r=e.includes(`.m3u8`),i=document.createElement(`canvas`);i.width=160,i.height=90;let a=i.getContext(`2d`),o=0,s=!1,l=()=>{if(o>=U.length){te();return}let e=U[o].startTime;t.currentTime=e===0?.01:e},u=()=>{if(a&&t.readyState>=2){a.drawImage(t,0,0,i.width,i.height);let e=i.toDataURL(`image/jpeg`,.8);ar(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},d=()=>{s||(s=!0,l())};t.addEventListener(`seeked`,u),t.addEventListener(`canplay`,d),r&&c.u.isSupported()?(n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=x(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer tempHls] xhrSetup error:`,e)}}}),n.loadSource(x(e)),n.attachMedia(t)):t.src=e,t.readyState>=2&&d();let te=()=>{t.removeEventListener(`seeked`,u),t.removeEventListener(`canplay`,d),n&&n.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return te},[e,dr]);let[K,fr]=(0,l.useState)(null),[pr,mr]=(0,l.useState)(null),hr=(0,l.useRef)(!1),[gr,_r]=(0,l.useState)(!1),[vr,yr]=(0,l.useState)(!1),[br,xr]=(0,l.useState)(null),[Sr,Cr]=(0,l.useState)(null),[wr,Tr]=(0,l.useState)(0),[Er,Dr]=(0,l.useState)(0),[Or,kr]=(0,l.useState)(null),[Ar,jr]=(0,l.useState)(null),[q,Mr]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(ct.current&&!ct.current.querySelector(`google-cast-launcher`)){let e=document.createElement(`google-cast-launcher`);e.style.cursor=`pointer`,e.style.width=`100%`,e.style.height=`100%`,e.style.display=`block`,ct.current.appendChild(e)}},[]),(0,l.useEffect)(()=>{if(!P){_r(!1),yr(!1),xr(null);return}let e=e=>_r(e),t=()=>{let e=P.getVideoElement(),t=!!e?.webkitCurrentPlaybackTargetIsWireless;yr(t),xr(t?e.webkitCurrentPlaybackTargetName||`AirPlay device`:null)};e(P.casting.isAirPlayAvailable()),t();let n=P.getVideoElement(),r=t=>{e(t.availability===`available`)},i=()=>{t()};return`webkitShowPlaybackTargetPicker`in n&&(n.addEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.addEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i)),()=>{`webkitShowPlaybackTargetPicker`in n&&(n.removeEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.removeEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i))}},[P]);let[Nr,Pr]=(0,l.useState)(``),[Fr,Ir]=(0,l.useState)(!0),[J,Lr]=(0,l.useState)(!1),[Rr,zr]=(0,l.useState)(!1),Br=(0,l.useRef)(!1),Vr=(0,l.useRef)(null),Hr=(0,l.useRef)(!1),Ur=(0,l.useRef)(!1),Wr=(0,l.useRef)(`none`),Gr=(0,l.useRef)(a),Kr=()=>{Ir(!0),Vr.current&&window.clearTimeout(Vr.current);let e=Tt.current?3500:1e4;Vr.current=window.setTimeout(()=>{Hr.current&&Wr.current===`none`&&Ir(!1)},e)},qr=(0,l.useCallback)(e=>{A.current&&=(clearTimeout(A.current),null);let t=vt.current,n=t?.[e]?.label??`This format`,r=t?.[0]?.label??`default`;_t.current=null,lr(`${n} isn't supported on this device. Switched to ${r}.`),window.setTimeout(()=>lr(null),4e3),yt.current?.(0)},[]);(0,l.useEffect)(()=>{if(!S.current)return;let r=document.createElement(`video`);r.muted=!0,r.preload=`metadata`,r.crossOrigin=`anonymous`,r.style.cssText=`display:none;position:absolute;pointer-events:none;`,document.body.appendChild(r),w.current=r;let i=e.includes(`.m3u8`);if(i&&c.u.isSupported()){let t=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=x(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer hiddenHls] xhrSetup error:`,e)}}});t.loadSource(x(e)),t.attachMedia(r),at.current=t,t.on(c.u.Events.MANIFEST_LOADED,(e,t)=>{if(Ue)return;let n=h(t?.networkDetails?.responseText??``);n&&Pr(n)}),t.on(c.u.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!(Ue||Nr))for(let e of t?.samples??[]){let t=Me(e.data);if(t){Pr(t);break}}})}else i&&r.canPlayType(`application/vnd.apple.mpegurl`),r.src=e;r.addEventListener(`seeked`,()=>{let e=it.current;if(!e)return;let t=e.getContext(`2d`);t&&r.readyState>=2&&(t.drawImage(r,0,0,e.width,e.height),kr(e.toDataURL(`image/jpeg`,.82)))});let l;if(ne){let e=new c.c(ne);tt.current=e,l=e.createCallback()}if(Ft)return;let u=new c.t({container:S.current,src:e,autoplay:t,muted:n,keyMoments:U,subtitles:a,drm:{watermarkText:o,allowedDomains:[`localhost`,`127.0.0.1`,window.location.hostname],...ee},analyticsCallback:e=>{if(e.sessionId&&(vn.current===null?vn.current=e.sessionId:e.sessionId!==vn.current&&(e={...e,sessionId:vn.current})),e.eventType===`session_start`){if(yn.current)return;yn.current=!0}l?.(e),re&&re(e)},analyticsSessionSeed:bn.current?.key===pn?bn.current.snapshot:void 0,watchProgressInterval:Be*1e3,themeColor:s,urlTransformer:Ke});u.on(`keymomentsloaded`,e=>{$n(e),ae&&ae(e)}),u.on(`chaptersloaded`,e=>{$n(e),ae&&ae(e)}),u.on(`play`,()=>{Vt(!0),un(!1),se(u.getCurrentTime(),!1)}),u.on(`pause`,()=>{Vt(!1),se(u.getCurrentTime(),!0)}),u.on(`ended`,()=>{Vt(!1),un(!0)});let d=()=>{k.current&&(k.current.style.opacity=`1`),dt(u.getVideoElement())},te=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{k.current&&(k.current.style.opacity=`0`),ft(u.getVideoElement())})})},oe=e=>{T.current=!0;let t=mt.current??e+.5;mt.current=null,E.current=t,D.current=u.getCurrentTime(),d(),u.seek(t),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null,te()},3e3)};pt.current=oe;let se=(e,t)=>{if(!(`mediaSession`in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?`paused`:`playing`;let n=u.getDuration(),r=R.current.find(t=>e>=t.startTime&&e<t.endTime);if(r){let t=r.endTime-r.startTime,n=Math.max(0,e-r.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(n,t)})}catch{}}else{let t=R.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=n>0?Math.max(0,n-t):0,i=e;for(let t of R.current)e>=t.endTime?i-=t.endTime-t.startTime:e>=t.startTime&&(i-=e-t.startTime);i=Math.max(0,i);let a=R.current.length>0&&r>0?r:n;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(i,a)})}catch{}}};if(u.on(`timeupdate`,e=>{if(!T.current&&M.current===null){let t=R.current.find(t=>fn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t){oe(t.endTime);return}mt.current!==null&&R.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&d()}if(T.current&&E.current!==null){let t=E.current;if(D.current!==null&&t<D.current?e<=t+2&&e>=t-2:e>=t-2)T.current=!1,E.current=null,D.current=null,O.current&&=(window.clearTimeout(O.current),null),!R.current.some(t=>e>=t.startTime&&e<t.endTime)&&mt.current===null&&te();else return}Ht(e),xt.current=e;let t=u.getDuration();if(Wt(t),M.current!==null&&e>=M.current-2){M.current=null,N.current&&=(window.clearTimeout(N.current),null);let t=R.current.find(t=>fn.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&oe(t.endTime),requestAnimationFrame(()=>{requestAnimationFrame(()=>{j.current&&(j.current.style.opacity=`0`)})})}if(!bt.current&&gt.current===null&&b&&b>0&&t>0&&b<t){bt.current=!0;let e=R.current.find(e=>b>=e.startTime&&b<e.endTime),t=e?e.startTime:b;M.current=t,u.seek(t),N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>{M.current=null,N.current=null,j.current&&(j.current.style.opacity=`0`)},4e3)}if(et?.(e),Dn.current.length>0)if(On.current){let t=On.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(En(null),On.current=null)}else{let t=Dn.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!kn.current.has(t.availId));t&&(En(t),On.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:`no-cors`}).catch(()=>{})}))}let n=u.keyMoments.getCurrentMoment(e);Qn({chapter:n.keyMoment,index:n.index}),se(e,u.getVideoElement().paused)}),u.on(`qualitylevels`,e=>{zn(e)}),u.on(`qualitychange`,e=>{Vn(e)}),u.on(`buffering`,e=>{if(Xt(e),!e&&(A.current&&=(clearTimeout(A.current),null),_t.current=null,gt.current!==null)){let e=gt.current;gt.current=null,bt.current=!0,M.current=e,N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>{M.current=null,N.current=null,j.current&&(j.current.style.opacity=`0`)},4e3),u.seek(e)}}),u.on(`adbreakchange`,e=>{if(u.analytics.setAdBreak(e,u.getVideoElement()),ie&&ie(e),e){let e=u.getCurrentTime(),t=R.current.find(t=>e>=t.startTime&&e<t.endTime);if(Br.current=!1,zr(!1),t&&fn.current.has(t.startTime)){d(),T.current||oe(t.endTime);return}t&&(xn.current=t.startTime),Lr(!0),G(`none`),te()}else if(xn.current!==null&&(fn.current.add(xn.current),hn(new Set(fn.current)),xn.current=null),Lr(!1),mt.current!==null){let e=mt.current;mt.current=null,T.current=!0,E.current=e,D.current=u.getCurrentTime(),d(),u.seek(e),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null,te()},3e3)}}),u.on(`adbreaksloaded`,e=>{R.current=e,dn(e)}),u.on(`volumechange`,e=>{Kt(e.volume),ut.current===null&&Jt(e.muted)}),u.on(`pipchange`,e=>{on(e)}),u.on(`error`,()=>{Lt(!0),Xt(!1),M.current=null,N.current&&=(window.clearTimeout(N.current),null),j.current&&(j.current.style.opacity=`0`)}),u.on(`unsupportedcodec`,()=>{let e=_t.current;e&&e.targetIdx!==0&&(vt.current?.length??0)>1&&qr(e.targetIdx)}),u.subtitles.onSubtitleChange(e=>{Un(e)}),u.on(`subtitlesloaded`,e=>{if(!F.enableSubtitles)return;Kn(Le([...e]));let t=e.find(e=>e.isDefault);t&&(u.subtitles.setActiveTrack(t.id),Wn(t.id))}),u.on(`audiotracksloaded`,e=>{Jn(e),Xn(e[0]?.id??0)}),u.on(`audiotrackchange`,e=>{Xn(e)}),u.casting.onCastStateChange((e,t)=>{if(e){hr.current=u.isMuted(),u.pause();let e=u.getVideoElement();e.muted=!0,fr(t)}else{let e=u.casting.getRemoteState();e&&e.currentTime>0&&(T.current=!0,E.current=e.currentTime,D.current=u.getCurrentTime(),u.seek(e.currentTime),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null},3e3));let t=u.getVideoElement();t.muted=hr.current,fr(null),mr(null)}}),u.casting.onRemoteStateChange(e=>{mr(e)}),Kt(u.getVolume()),Jt(u.isMuted()),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,e=>{if(e.seekTime==null||Ur.current||Br.current)return;let t=e.seekTime;for(let e of R.current)t>=e.startTime&&(t+=e.endTime-e.startTime);ht.current?.(t)});let e=(e,t)=>{if(Ur.current||Br.current)return;let n=t&&t>0?t:10,r=u.getCurrentTime(),i=r;for(let e of R.current)r>=e.endTime?i-=e.endTime-e.startTime:r>=e.startTime&&(i-=r-e.startTime);if(e){let e=R.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,u.getDuration()-e),r=Math.min(t,i+n);for(let e of R.current)r>=e.startTime&&(r+=e.endTime-e.startTime);ht.current?.(r,{eventType:`fast_forward`,skipSeconds:n})}else{let e=Math.max(0,i-n);for(let t of R.current)e>=t.startTime&&(e+=t.endTime-t.startTime);ht.current?.(e,{eventType:`fast_backward`,skipSeconds:n})}};navigator.mediaSession.setActionHandler(`seekforward`,t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler(`seekbackward`,t=>e(!1,t.seekOffset??void 0))}catch{}let ce=u.getVideoElement(),le=()=>{if(!(document.pictureInPictureElement===ce||ce.webkitPresentationMode===`picture-in-picture`)||T.current||M.current!==null||gt.current!==null)return;let e=ce.currentTime,t=xt.current;if(!(Math.abs(e-t)<.5)){if(Ur.current){ce.currentTime=t;return}ce.currentTime=t,ht.current?.(e)}};ce.addEventListener(`seeking`,le),kt(u);let ue=_t.current;ue&&ue.targetIdx!==0&&(A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=null,!u.getBufferedRanges().some(e=>e.end>e.start)&&qr(ue.targetIdx)},ke)),gt.current!==null&&(N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>{N.current=null,M.current=null,j.current&&(j.current.style.opacity=`0`),Xt(!1)},12e3)),ze&&S.current&&(nt.current=!0,S.current.requestFullscreen().catch(()=>{nt.current=!1}));let f=()=>{let e=document,t=!!(document.fullscreenElement||e.webkitFullscreenElement);Qt(t),t||en(!1);let n=u.getVideoElement();u.analytics.track(t?`fullscreen_enter`:`fullscreen_exit`,n)};document.addEventListener(`fullscreenchange`,f),document.addEventListener(`webkitfullscreenchange`,f);let de=e=>{let t=document.activeElement;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.getAttribute(`contenteditable`)===`true`||t.getAttribute(`role`)===`slider`))){switch(e.key.toLowerCase()){case` `:case`k`:if(e.preventDefault(),u.getVideoElement().paused)u.play();else{u.pause();try{let e=u.getVideoElement();e&&!e.paused&&e.pause()}catch{}if(w.current&&!w.current.paused)try{w.current.pause()}catch{}}break;case`arrowleft`:case`j`:if(e.preventDefault(),!Ur.current){let e=u.getCurrentTime(),t=e;for(let n of R.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let n=Math.max(0,t-10);for(let e of R.current)n>=e.startTime&&(n+=e.endTime-e.startTime);ht.current?.(n,{eventType:`fast_backward`,skipSeconds:10})}break;case`arrowright`:case`l`:if(e.preventDefault(),!Ur.current){let e=u.getCurrentTime(),t=R.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=Math.max(0,u.getDuration()-t),r=e;for(let t of R.current)e>=t.endTime?r-=t.endTime-t.startTime:e>=t.startTime&&(r-=e-t.startTime);let i=Math.min(n,r+10);for(let e of R.current)i>=e.startTime&&(i+=e.endTime-e.startTime);ht.current?.(i,{eventType:`fast_forward`,skipSeconds:10})}break;case`arrowup`:e.preventDefault(),u.setVolume(u.getVolume()+.1);break;case`arrowdown`:e.preventDefault(),u.setVolume(u.getVolume()-.1);break;case`m`:e.preventDefault(),u.setMute(!u.isMuted());break;case`f`:e.preventDefault(),lt.current();break;case`p`:e.preventDefault(),Ur.current||u.togglePictureInPicture();break;case`c`:if(e.preventDefault(),F.enableSubtitles&&!Ur.current)if(u.subtitles.getActiveTrackId()!==`off`)u.subtitles.setActiveTrack(`off`),Wn(`off`);else{let e=Gr.current;e&&e.length>0&&(u.subtitles.setActiveTrack(e[0].id),Wn(e[0].id))}break;default:return}Kr()}};return document.addEventListener(`keydown`,de),Kr(),()=>{if(bn.current={key:pn,snapshot:u.analytics.getSessionSnapshot()},St.current){let e=St.current,t=u.getVideoElement();S.current&&t.ownerDocument!==document&&(t.classList.remove(`gb-pip-video`),S.current.insertBefore(t,S.current.firstChild)),St.current=null,cn(null),on(!1),e.close()}if(u.destroy(),tt.current?.destroy(),tt.current=null,document.body.style.overflow=``,document.body.style.touchAction=``,document.removeEventListener(`fullscreenchange`,f),document.removeEventListener(`webkitfullscreenchange`,f),document.removeEventListener(`keydown`,de),Vr.current&&window.clearTimeout(Vr.current),O.current&&=(window.clearTimeout(O.current),null),A.current&&=(clearTimeout(A.current),null),k.current&&(k.current.style.opacity=`0`),ce.removeEventListener(`seeking`,le),`mediaSession`in navigator){try{navigator.mediaSession.setActionHandler(`seekto`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekforward`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekbackward`,null)}catch{}}at.current&&=(at.current.destroy(),null),w.current&&=(document.body.removeChild(w.current),null),bt.current=!1,M.current=null,N.current&&=(window.clearTimeout(N.current),null)}},[e,o,Rt]),(0,l.useEffect)(()=>{if(P){P.keyMoments.setKeyMoments(U);let e=S.current?.querySelector(`video`);if(e){let t=P.keyMoments.getCurrentMoment(e.currentTime);Qn({chapter:t.keyMoment,index:t.index})}}},[dr,P]),(0,l.useEffect)(()=>{let e=e=>{W!==`none`&&(e.target.closest(`.sdk-menu-container`)||G(`none`))};return document.addEventListener(`click`,e),()=>{document.removeEventListener(`click`,e)}},[W]),(0,l.useEffect)(()=>{Hr.current=Bt},[Bt]),(0,l.useEffect)(()=>{Ur.current=J},[J]),(0,l.useEffect)(()=>{Br.current=Rr},[Rr]);let Y=J||Rr;(0,l.useEffect)(()=>{St.current=sn},[sn]),(0,l.useEffect)(()=>{Wr.current=W},[W]),(0,l.useEffect)(()=>{if(!J||!P)return;let e=0,t=P.getCurrentTime(),n=performance.now(),r=()=>{let i=P.getVideoElement?.(),a=P.getCurrentTime(),o=performance.now(),s;if(a!==t)t=a,n=o,s=a;else if(i&&!i.paused&&!i.ended){let e=i.playbackRate||1;s=t+(o-n)/1e3*e}else s=t;let c=Fn(a);if(c){let e=Math.min(s,a+.4,c.end),t=Math.min(100,Math.max(0,(e-c.start)/(c.end-c.start)*100));(S.current?.querySelectorAll(`.sdk-ad-progress-fill`))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>cancelAnimationFrame(e)},[J,P]),(0,l.useEffect)(()=>{Gr.current=Gn},[Gn]),(0,l.useEffect)(()=>{Tt.current=Ct},[Ct]),(0,l.useEffect)(()=>{R.current=L},[L]),(0,l.useEffect)(()=>{Dn.current=Cn},[Cn]),(0,l.useEffect)(()=>{On.current=Tn},[Tn]),(0,l.useEffect)(()=>{Mn.current=An},[An]),(0,l.useEffect)(()=>{vt.current=y},[y]),(0,l.useEffect)(()=>{yt.current=$e},[$e]),(0,l.useEffect)(()=>{xn.current=null,Sn.current=!1,mt.current=null,En(null),On.current=null,kn.current=new Set,Lt(!1)},[e]),(0,l.useEffect)(()=>{jt(!1)},[e]),(0,l.useEffect)(()=>{if(!P)return;let e=P.getVideoElement();if(e&&e.readyState>=1){jt(!0);return}let t=()=>jt(!0);return P.on(`qualitylevels`,t),e?.addEventListener(`loadedmetadata`,t),()=>{P.off(`qualitylevels`,t),e?.removeEventListener(`loadedmetadata`,t)}},[P]),(0,l.useEffect)(()=>{wn([]),!(!Xe||!At)&&fetch(Xe).then(e=>e.json()).then(e=>{let t=new Set,n=[];for(let r of e.nonLinearAvails??[]){if(t.has(r.availId))continue;t.add(r.availId);let e=r.nonLinearAdsList?.[0],i=e?.nonLinearAdList?.[0];if(!i?.staticResource)continue;let a=(e?.trackingEvents??[]).filter(e=>e.eventType===`impression`).flatMap(e=>e.beaconUrls??[]),o={};try{o=JSON.parse(i.adParameters??`{}`)}catch{}let s=o.position??`bottom_center`;n.push({availId:r.availId,startTimeSeconds:Re(r.startTime??``),durationSeconds:Re(i.minSuggestedDuration??`00:00:15`),imageUrl:i.staticResource,imageWidth:parseInt(i.width??`320`,10),imageHeight:parseInt(i.height??`50`,10),title:i.adTitle??``,clickThrough:i.clickThrough??``,clickTrackingUrl:i.clickTracking??``,impressionBeacons:a,position:s,dismissible:o.dismissible===!0})}wn(n)}).catch(()=>{})},[Xe,e,At]),(0,l.useEffect)(()=>{jn([]),Pn([]),!(!Ze||!At)&&fetch(Ze).then(e=>e.json()).then(e=>{let t=[],n=[];for(let r of e.avails??[]){let e=r.ads??[];e.length!==0&&(n.push({startTime:r.startTimeInSeconds??e[0].startTimeInSeconds??0,endTime:(r.startTimeInSeconds??0)+(r.durationInSeconds??0)}),e.forEach((n,r)=>{let i=n?.skipOffset??null,a=!!i,o={};try{o=JSON.parse(n?.adParameters??`{}`)}catch{}let s=o.ctaText&&o.redirectUrl?{text:o.ctaText,url:o.redirectUrl,title:o.title||void 0,description:o.description||void 0}:null,c=n.startTimeInSeconds??0,l=n.durationInSeconds??0;t.push({startTimeSeconds:c,endTimeSeconds:c+l,durationSeconds:l,skippable:a,skipOffsetSeconds:a?Re(i):0,cta:s,podIndex:r,podTotal:e.length})}))}jn(t),Pn(n)}).catch(()=>{})},[Ze,e,At]),(0,l.useEffect)(()=>{!P||Nn.length===0||P.setAdBreaks(Nn)},[P,Nn]),(0,l.useEffect)(()=>{if(!P)return;let e=()=>{document.hidden?qe&&Ur.current&&Hr.current&&(P.pause(),Sn.current=!0):Sn.current&&=(P.play(),!1)};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[P,qe]);let Jr=()=>{Kr()},Yr=()=>{ze&&!nt.current&&S.current&&(nt.current=!0,S.current.requestFullscreen().catch(()=>{}))},Xr=()=>{if(P){if(K){P.casting.remotePlayPause(),Kr();return}if(ln)X(0),Yr(),P.play(),un(!1);else if(Bt){P.pause();try{let e=P.getVideoElement?.();e&&!e.paused&&e.pause()}catch{}if(S.current&&S.current.querySelectorAll(`video`).forEach(e=>{try{e.pause()}catch{}}),w.current&&!w.current.paused)try{w.current.pause()}catch{}}else Yr(),P.play();Kr()}},Zr=e=>{if(!C.current||!P||z===0)return 0;let t=C.current.getBoundingClientRect();return V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z)},Qr=e=>{if(!P||J||Rr)return;st.current=!0,Mr(Zr(e));let t=e=>{if(!st.current||!C.current)return;let t=C.current.getBoundingClientRect(),n=V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z);Mr(n),Cr(e.clientX-t.left),Dr(n),w.current&&(w.current.currentTime=n),Kr()},n=e=>{if(st.current=!1,C.current){let t=C.current.getBoundingClientRect();X(V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z))}Mr(null),Cr(null),kr(null),jr(null),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},X=(e,t)=>{if(!P)return;if(K){P.casting.remoteSeek(e);return}let n=Math.max(0,Ut>0?Math.min(e,Ut):e);if(t){let{eventType:e,...n}=t;P.attributeNextSeek(e,n)}let r=P.getCurrentTime();if(n>r&&R.current.length>0){let e=R.current.filter(e=>e.startTime<n&&e.endTime>r&&!fn.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){mt.current=n;let t=e[e.length-1],i=Math.max(t.startTime,r);T.current=!0,E.current=i,D.current=r,Ht(i),Br.current=!0,zr(!0),k.current&&(k.current.style.opacity=`1`),dt(P.getVideoElement()),P.seek(i),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,Br.current=!1,zr(!1),E.current=null,D.current=null,O.current=null,k.current&&(k.current.style.opacity=`0`),ft(P.getVideoElement())},3e3);return}}mt.current=null;let i=R.current.find(e=>fn.current.has(e.startTime)&&n>=e.startTime-.5&&n<e.endTime+2),a=i?Math.max(n,i.endTime+.5):n;T.current=!0,E.current=a,D.current=r,Ht(a),k.current&&(k.current.style.opacity=`0`),ft(P.getVideoElement()),P.seek(a),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null,k.current&&(k.current.style.opacity=`0`)},3e3)};ht.current=X;let $r=()=>{if(!P)return;if(K){P.casting.remoteSetMute(!(pr?.isMuted??!1));return}let e=!qt;P.setMute(e),Jt(e)},ei=e=>{P&&(P.setPlaybackRate(e),tr(e),G(`none`),sr(`Playback speed: ${e===1?`Normal`:`${e}x`}`))},ti=e=>{if(!P)return;P.setQuality(e);let t=Rn.find(t=>t.id===e);t&&(Vn(t),sr(`Quality: ${t.label}`)),G(`none`)},ni=e=>{if(P)if(P.subtitles.setActiveTrack(e),Wn(e),G(`none`),e===`off`)sr(`Captions off`);else{let t=Gn.find(t=>t.id===e);sr(`Captions: ${t?_(t):`on`}`)}},ri=e=>{P&&(A.current&&=(clearTimeout(A.current),null),lr(null),j.current&&(j.current.style.opacity=`1`),Xt(!0),_t.current===null&&(gt.current=P.getCurrentTime()),_t.current={targetIdx:e},G(`none`),sr(`Source: ${y?.[e]?.label??``}`),$e?.(e))},ii=(e,t)=>{X(e,{eventType:`key_moments`,momentTitle:t?.title??``,momentTime:e}),G(`none`)},ai=(0,l.useCallback)(()=>{if(!St.current)return;let e=P?.getVideoElement?.();e&&S.current&&e.ownerDocument!==document&&(e.classList.remove(`gb-pip-video`),e.style.objectFit=``,S.current.insertBefore(e,S.current.firstChild)),St.current=null,cn(null),on(!1)},[P]),oi=async()=>{if(!P)return;let e=window.documentPictureInPicture;if(!e){P.togglePictureInPicture();return}if(St.current){St.current.close();return}try{let t=P.getVideoElement(),n=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,r=await e.requestWindow({width:360,height:Math.round(360/n)}),i=r.document.createElement(`style`);i.textContent=je,r.document.head.appendChild(i),t.classList.add(`gb-pip-video`),r.document.body.appendChild(t),r.addEventListener(`pagehide`,()=>ai(),{once:!0}),St.current=r,cn(r),on(!0)}catch(e){console.error(`[PlayerSDK PiP] Failed to open custom Picture-in-Picture window:`,e)}},si=e=>{if(J||Rr)return;let t=e.currentTarget.getBoundingClientRect();X(V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z))},ci=()=>{if(!S.current)return;let e=S.current,t=document,n=e,r=!!(document.fullscreenElement||t.webkitFullscreenElement),i=()=>{en(!0),Qt(!0),document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`,P?.analytics.track(`fullscreen_enter`,P.getVideoElement())},a=()=>{en(!1),Qt(!1),document.body.style.overflow=``,document.body.style.touchAction=``,P?.analytics.track(`fullscreen_exit`,P.getVideoElement())};if(r||$t)nn(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():a();else{nn(Tt.current);let t=e.requestFullscreen?.bind(e)??n.webkitRequestFullscreen?.bind(n);t?t().catch(i):i()}};(0,l.useEffect)(()=>{lt.current=ci});let li=()=>{if(!J)return;let e=L.find(e=>I>=e.startTime&&I<e.endTime);e&&pt.current?.(e.endTime)},ui=()=>{On.current&&kn.current.add(On.current.availId),En(null),On.current=null},di=e=>{e.clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:`no-cors`}).catch(()=>{}),e.clickThrough&&window.open(e.clickThrough,`_blank`,`noopener,noreferrer`)},fi=e=>{window.open(e.url,`_blank`,`noopener,noreferrer`)},pi=()=>{P&&(K?P.casting.stopCasting():P.casting.requestSession(e,I))},mi=()=>{if(!P)return;let e=P.getVideoElement();if(vr){P.casting.stopAirPlay(e);return}typeof e.webkitShowPlaybackTargetPicker==`function`||P.casting.isAirPlayAvailable()?P.casting.requestAirPlaySession(e):console.warn(`[PlayerSDK AirPlay] AirPlay is not available on this device.`)},hi=e=>{if(!C.current||z===0||!P||J||Rr)return;let t=C.current.getBoundingClientRect();rt.current=t.width,Tr(Math.max(192/2,Math.min(e.clientX-t.left,t.width-192/2)));let n=V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z);Cr(e.clientX-t.left),Dr(n),ot.current&&window.clearTimeout(ot.current),ot.current=window.setTimeout(()=>{w.current&&(w.current.currentTime=n)},100),jr(P.keyMoments.getCurrentMoment(n).keyMoment)},gi=e=>{if(!C.current||z===0)return 0;let t=C.current.getBoundingClientRect();return V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z)},_i=e=>{if(!P||J||Rr||z===0)return;e.preventDefault(),st.current=!0,Mr(gi(e.touches[0]));let t=e=>{if(!st.current||!C.current)return;let t=e.touches[0],n=C.current.getBoundingClientRect(),r=V(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*z);Mr(r),Dr(r),Kr()},n=e=>{if(st.current=!1,C.current&&e.changedTouches[0]){let t=e.changedTouches[0],n=C.current.getBoundingClientRect();X(V(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*z))}Mr(null),document.removeEventListener(`touchmove`,t),document.removeEventListener(`touchend`,n)};document.addEventListener(`touchmove`,t,{passive:!1}),document.addEventListener(`touchend`,n)},vi=()=>{Cr(null),kr(null),jr(null),ot.current&&window.clearTimeout(ot.current)},Z=e=>{if(isNaN(e)||e<0)return`00:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`};(0,l.useEffect)(()=>{ur.current&&sr(Bt?`Playing`:`Paused`)},[Bt]),(0,l.useEffect)(()=>{ur.current&&sr(qt?`Muted`:`Unmuted`)},[qt]),(0,l.useEffect)(()=>{ur.current=!0},[]),(0,l.useEffect)(()=>{let e=e=>{e.key===`Escape`&&Wr.current!==`none`&&(e.preventDefault(),G(`none`))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let yi=K?!(pr?.isPaused??!0):Bt,Q=K?pr?.currentTime??0:I,bi=K?pr?.duration??0:z,xi=K?pr?.volumeLevel??1:Gt,Si=K?pr?.isMuted??!1:qt,Ci=(0,l.useCallback)(e=>{if(J||Rr||e.target.closest(`.sdk-mobile-ctrl`))return;let t=Date.now(),n=S.current?.getBoundingClientRect(),r=e.clientX-(n?.left??0),i=Et.current;if(i&&t-i.time<300){Et.current=null;let e=r<(n?.width??0)/2,t=e?-10:10;X(V(Math.max(0,Math.min(z,B(Q)+t))),{eventType:e?`fast_backward`:`fast_forward`,skipSeconds:10}),Ot(e?`left`:`right`),window.setTimeout(()=>Ot(null),700),Kr()}else Et.current={time:t,x:r},Fr?(Ir(!1),Vr.current&&window.clearTimeout(Vr.current)):Kr()},[J,Rr,z,B,Q,V,X,Fr]),wi=()=>Si||xi===0?(0,d.jsx)(De,{size:18}):xi<.3?(0,d.jsx)(Oe,{size:18}):xi<.7?(0,d.jsx)(Te,{size:18}):(0,d.jsx)(Ee,{size:18}),$=e=>t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),e()):t.key===`Escape`&&(t.preventDefault(),G(`none`))},Ti=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},Ei=e=>{if(!(J||Rr))if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-5:5;X(V(Math.max(0,Math.min(z,B(Q)+t))))}else e.key===`Home`?(e.preventDefault(),X(V(0))):e.key===`End`&&(e.preventDefault(),X(V(z)))},Di=e=>{G(W===e?`none`:e)},Oi=(0,l.useCallback)(e=>{if(!e)return;e.style.left=``;let t=S.current;if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-(r.right-8),a=r.left+8-n.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:a>0&&(e.style.left=`calc(50% + ${Math.ceil(a)}px)`)},[]);return(0,d.jsxs)(`div`,{ref:S,role:`region`,"aria-label":Ue||Nr?`${Ue||Nr} video player`:`Video player`,className:`sdk-player-container ${Fr?`controls-active`:``} ${$t?`sdk-fs-simulated`:``}`,onMouseMove:Jr,onTouchStart:rn?void 0:Kr,onMouseLeave:()=>{},style:{border:$t?`none`:`1px solid rgba(255, 255, 255, 0.08)`,"--sdk-theme-color":s,"--sdk-theme-color-rgb":Fe(s)},children:[(0,d.jsx)(`canvas`,{ref:it,width:160,height:90,style:{display:`none`,position:`absolute`,pointerEvents:`none`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sdk-sr-only`,children:or}),(0,d.jsx)(`div`,{ref:k,style:{opacity:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),sn&&(0,d.jsxs)(`div`,{className:`sdk-pip-placeholder`,"aria-hidden":`true`,children:[(0,d.jsx)(xe,{size:32,"aria-hidden":`true`}),(0,d.jsx)(`span`,{children:`Playing in Picture-in-Picture`})]}),(0,d.jsx)(`div`,{ref:j,style:{opacity:b&&b>0?1:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`sdk-spinner-overlay ${Yt?`active`:``}`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`sdk-spinner`})}),It&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:50,background:`rgba(9,9,14,0.96)`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:20,padding:`0 24px`},children:(0,d.jsx)(te,{onRetry:()=>{Lt(!1),zt(e=>e+1)}})}),cr&&(0,d.jsx)(`div`,{style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, calc(-50% + 70px))`,background:`rgba(0,0,0,0.82)`,color:`#fff`,fontSize:13,fontWeight:500,padding:`8px 16px`,borderRadius:8,zIndex:102,pointerEvents:`none`,maxWidth:`85%`,textAlign:`center`,backdropFilter:`blur(8px)`,border:`1px solid rgba(255,255,255,0.12)`},children:cr}),F.enableSubtitles&&!J&&Hn&&H!==`off`&&(0,d.jsx)(`div`,{className:`sdk-subtitles-overlay`,children:(0,d.jsx)(`span`,{className:`sdk-subtitles-text`,style:{fontSize:v.size===`small`?`14px`:v.size===`large`?`24px`:`18px`,color:v.color??`#ffffff`,background:v.background===`none`?`transparent`:v.background===`solid`?`rgba(0, 0, 0, 0.92)`:`rgba(15, 23, 42, 0.78)`,border:v.background===`none`?`none`:`1px solid rgba(255,255,255,0.08)`,backdropFilter:v.background===`none`?`none`:`blur(8px)`},dangerouslySetInnerHTML:{__html:Hn}})}),Tn&&(0,d.jsxs)(`div`,{className:`sdk-overlay-ad sdk-overlay-ad--${Tn.position}`,role:`complementary`,"aria-label":`Advertisement`,children:[(0,d.jsxs)(`div`,{className:`sdk-overlay-ad-topbar`,children:[(0,d.jsx)(`span`,{className:`sdk-overlay-ad-label`,children:`Ad`}),Tn.dismissible&&(0,d.jsx)(`button`,{className:`sdk-overlay-ad-close`,onClick:ui,"aria-label":`Close advertisement`,children:`✕`})]}),(0,d.jsx)(`img`,{src:Tn.imageUrl,width:Tn.imageWidth,height:Tn.imageHeight,alt:Tn.title||`Advertisement`,className:`sdk-overlay-ad-img`,onClick:()=>di(Tn)})]}),J&&(()=>{let e=An.find(e=>I>=e.startTimeSeconds&&I<e.endTimeSeconds),t=L.find(e=>I>=e.startTime&&I<e.endTime),n=e?Math.max(0,e.endTimeSeconds-I):t?Math.max(0,t.endTime-I):0,r=e?I-e.startTimeSeconds:t?I-t.startTime:0,i=!!e&&e.podTotal>1,a=e?e.skippable:Je,o=e?e.skipOffsetSeconds:Ye,s=a&&r>=o,c=Math.ceil(o-r);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-ad-countdown`,role:`timer`,"aria-label":i?`Advertisement ${e.podIndex+1} of ${e.podTotal} — ${Z(n)} remaining`:`Advertisement — ${Z(n)} remaining`,"aria-live":`off`,children:[(0,d.jsx)(`span`,{className:`sdk-ad-countdown-label`,"aria-hidden":`true`,children:i?`Ad ${e.podIndex+1} of ${e.podTotal}`:`Ad`}),!i&&(0,d.jsx)(`span`,{className:`sdk-ad-countdown-sep`,"aria-hidden":`true`,children:`·`}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-time`,"aria-hidden":`true`,children:Z(n)})]}),a&&(0,d.jsx)(`button`,{className:`sdk-skip-ad-btn ${s?`sdk-skip-ad-btn--ready`:``}`,onClick:s?li:void 0,disabled:!s,"aria-label":s?`Skip advertisement`:`Skip advertisement available in ${c} seconds`,"aria-disabled":!s,children:s?`Skip Ad ›`:`Skip in ${c}s`}),e?.cta&&(()=>{let t=e.cta,n=(0,d.jsxs)(`button`,{className:`sdk-ad-cta-btn`,onClick:()=>fi(t),"aria-label":`${t.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)(`span`,{className:`sdk-ad-cta-btn-text`,children:t.text}),(0,d.jsx)(he,{size:15,"aria-hidden":`true`})]});return(0,d.jsx)(`div`,{className:`sdk-ad-cta`,role:`complementary`,"aria-label":`Advertisement call to action`,children:t.title?(0,d.jsxs)(`div`,{className:`sdk-ad-cta-card`,children:[(0,d.jsxs)(`div`,{className:`sdk-ad-cta-info`,children:[(0,d.jsx)(`div`,{className:`sdk-ad-cta-title`,children:t.title}),t.description&&(0,d.jsx)(`div`,{className:`sdk-ad-cta-desc`,children:t.description})]}),n]}):n})})()]})})(),Ft&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(0,0,0,0.72)`,color:`#fff`,zIndex:60},children:(0,d.jsxs)(`div`,{style:{maxWidth:480,textAlign:`center`,padding:24},children:[(0,d.jsx)(`h3`,{style:{margin:`0 0 8px`},children:`Playback restricted`}),(0,d.jsx)(`p`,{style:{margin:0},children:`Your account is missing a required license key. Please contact your administrator.`})]})}),(K||vr)&&(0,d.jsx)(`div`,{className:`sdk-cast-bg`}),rn&&(0,d.jsxs)(`div`,{className:`sdk-mobile-overlay ${Fr?`active`:``}`,onClick:Ci,children:[Dt&&(0,d.jsx)(`div`,{className:`sdk-mobile-doubletap ${Dt}`,children:(0,d.jsxs)(`div`,{className:`sdk-mobile-doubletap-icon`,children:[Dt===`left`?(0,d.jsx)(Ce,{size:26}):(0,d.jsx)(we,{size:26}),(0,d.jsx)(`span`,{className:`sdk-mobile-doubletap-label`,children:`10s`})]})}),oe&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header sdk-mobile-ctrl`,children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header-left`,children:[(Zt||$t)&&(0,d.jsx)(`button`,{className:`sdk-mobile-back-btn`,onClick:ci,"aria-label":`Exit fullscreen`,children:(0,d.jsx)(me,{size:22,"aria-hidden":`true`})}),(Ue||Nr)&&(0,d.jsx)(`div`,{className:`sdk-mobile-title`,children:Ue||Nr})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-header-actions`,children:[F.enablePiP&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:()=>{J||oi()},style:{color:an?s:``},"aria-label":an?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":an,children:(0,d.jsx)(xe,{size:20,"aria-hidden":`true`})}),F.enableChromecast&&!J&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:pi,"data-tooltip":K?`Casting to ${K} — tap to disconnect`:`Cast to device`,"aria-label":K?`Stop casting to ${K}`:`Cast to device`,"aria-pressed":!!K,style:{color:K?`#3b82f6`:``},children:(0,d.jsx)(pe,{size:20,fill:K?`currentColor`:`none`,"aria-hidden":`true`})}),F.allowAirplay&&gr&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:mi,"aria-label":vr?`Stop AirPlay to ${br||`device`}`:`AirPlay to device`,"aria-pressed":vr,style:{color:vr?s:``},children:(0,d.jsx)(de,{size:20,"aria-hidden":`true`})})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-center-controls sdk-mobile-ctrl`,children:[!J&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(V(Math.max(0,B(Q)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,children:[(0,d.jsx)(Ce,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-play-btn`,onClick:Xr,"aria-label":ln?`Replay`:yi?`Pause`:`Play`,children:ln?(0,d.jsx)(Ce,{size:38,"aria-hidden":`true`}):yi?(0,d.jsx)(be,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(Se,{size:38,fill:`currentColor`,style:{marginLeft:`3px`},"aria-hidden":`true`})}),!J&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(V(Math.min(z,B(Q)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,children:[(0,d.jsx)(we,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-bar sdk-mobile-ctrl`,children:[F.enableKeyMoments&&nr&&U.length>0&&(0,d.jsx)(`div`,{className:`sdk-mobile-chapters-scroll`,children:U.map((e,t)=>{let n=Zn.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-mobile-chapter-card${n?` active`:``}`,style:{borderColor:n?s:void 0},"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>{ii(e.startTime,e)},onKeyDown:Ti(()=>ii(e.startTime,e)),children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-chapter-thumb`,children:[ir[t]||e.thumbnail?(0,d.jsx)(`img`,{src:ir[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(ve,{size:16,"aria-hidden":`true`,style:{color:n?s:`rgba(255,255,255,0.3)`}}),(0,d.jsx)(`span`,{className:`sdk-mobile-chapter-time-badge`,"aria-hidden":`true`,children:Z(e.startTime)})]}),(0,d.jsx)(`div`,{className:`sdk-mobile-chapter-title`,style:{color:n?s:void 0},children:e.title})]},t)})}),(0,d.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(z),"aria-valuenow":Y?void 0:Math.round(B(q===null?I:q)),"aria-valuetext":Y?void 0:`${Z(B(q===null?I:q))} of ${Z(z)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-mobile-seekbar${J?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:Qr,onMouseMove:Y?void 0:hi,onMouseLeave:Y?void 0:vi,onTouchStart:Y?void 0:_i,onKeyDown:Y?void 0:Ei,style:{pointerEvents:Y?`none`:void 0,touchAction:`none`},children:J?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=P?P.getCurrentTime():I,t=Fn(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${Ut?(P&&P.getBufferedRanges()[0]?.end||0)/Ut*100:0}%`}}),z>0&&L.filter(e=>!mn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${B(e.startTime)/z*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:K?`${bi>0?Q/bi*100:0}%`:`${z?B(q===null?I:q)/z*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`,style:{opacity:1,transform:`scale(1)`}})}),F.enableKeyMoments&&U.map((e,t)=>z===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${B(e.startTime)/z*100}%`}},t))]})}),(0,d.jsxs)(`div`,{className:`sdk-mobile-controls-row`,children:[!J&&(0,d.jsx)(`span`,{className:`sdk-time-display`,children:K?`${Z(Q)} / ${Z(bi)}`:`${Z(B(q===null?I:q))} / ${Z(z)}`}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-icons`,children:[F.enableKeyMoments&&U.length>0&&!J&&(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${nr?` active`:``}`,onClick:()=>{rr(!nr)},"aria-label":nr?`Hide chapters`:`Show chapters`,"aria-pressed":nr,children:(0,d.jsx)(ve,{size:18,"aria-hidden":`true`})}),F.enableSubtitles&&!J&&Gn.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${H===`off`?``:` active`}`,onClick:()=>{Di(`subtitles`)},"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":W===`subtitles`,children:(0,d.jsx)(fe,{size:18,"aria-hidden":`true`})}),W===`subtitles`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===`off`,tabIndex:0,className:`sdk-dropup-item ${H===`off`?`active`:``}`,onClick:()=>ni(`off`),onKeyDown:$(()=>ni(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),H===`off`&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]}),Gn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===e.id,tabIndex:0,className:`sdk-dropup-item ${H===e.id?`active`:``}`,onClick:()=>ni(e.id),onKeyDown:$(()=>ni(e.id)),children:[(0,d.jsx)(`span`,{children:_(e)}),H===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.allowMultipleAudio&&qn.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`audio`?` active`:``}`,onClick:()=>{Di(`audio`)},"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":W===`audio`,children:(0,d.jsx)(_e,{size:18,"aria-hidden":`true`})}),W===`audio`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),qn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Yn===e.id,tabIndex:0,className:`sdk-dropup-item ${Yn===e.id?`active`:``}`,onClick:()=>{P?.setAudioTrack(e.id),Xn(e.id),G(`none`),sr(`Audio: ${_(e)}`)},onKeyDown:$(()=>{P?.setAudioTrack(e.id),Xn(e.id),G(`none`),sr(`Audio: ${_(e)}`)}),children:[(0,d.jsx)(`span`,{children:_(e)}),Yn===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.enablePlaybackSpeed&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`speed`?` active`:``}`,onClick:()=>{Di(`speed`)},"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":W===`speed`,children:(0,d.jsx)(ge,{size:18,"aria-hidden":`true`})}),W===`speed`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":er===e,tabIndex:0,className:`sdk-dropup-item ${er===e?`active`:``}`,onClick:()=>ei(e),onKeyDown:$(()=>ei(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),er===e&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),F.enableQuality&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${Bn.id===-1?``:` active`}`,onClick:()=>{Di(`quality`)},"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":W===`quality`,children:(0,d.jsx)(Ne,{size:18,"aria-hidden":`true`})}),W===`quality`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Rn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Bn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Bn.id===e.id?`active`:``}`,onClick:()=>ti(e.id),onKeyDown:$(()=>ti(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Bn.id===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),y&&y.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`sources`?` active`:``}`,onClick:()=>{Di(`sources`)},"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":W===`sources`,children:(0,d.jsx)(Pe,{size:18,"aria-hidden":`true`})}),W===`sources`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),y.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Qe===t,tabIndex:0,className:`sdk-dropup-item ${Qe===t?`active`:``}`,onClick:()=>ri(t),onKeyDown:$(()=>ri(t)),children:[(0,d.jsx)(`span`,{children:e.label}),Qe===t&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn`,onClick:ci,"aria-label":Zt||$t?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":Zt||$t,children:Zt?(0,d.jsx)(m,{size:18,"aria-hidden":`true`}):(0,d.jsx)(ye,{size:18,"aria-hidden":`true`})})]})]})]})]})]}),!rn&&(0,d.jsxs)(`div`,{className:`sdk-controls-overlay`,onClick:e=>{J||e.target.closest(`.sdk-desktop-header`)||e.target.closest(`.sdk-desktop-center-controls`)||e.target.closest(`.sdk-desktop-bottom`)||Xr()},children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header-left`,children:[(Zt||$t)&&(0,d.jsx)(`button`,{className:`sdk-desktop-back-btn`,onClick:e=>{e.stopPropagation(),ci()},"aria-label":`Exit fullscreen`,children:(0,d.jsx)(me,{size:22,"aria-hidden":`true`})}),(Ue||Nr)&&(0,d.jsx)(`span`,{className:`sdk-desktop-title`,children:Ue||Nr})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-header-right`,children:[F.enableChromecast&&!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),pi()},"data-tooltip":K?`Casting to ${K} — click to disconnect`:`Cast to device`,"aria-label":K?`Stop casting to ${K}`:`Cast to device`,"aria-pressed":!!K,style:{color:K?`#3b82f6`:``},children:(0,d.jsx)(pe,{size:20,fill:K?`currentColor`:`none`,"aria-hidden":`true`})}),K&&(0,d.jsxs)(`span`,{className:`sdk-cast-indicator`,"aria-hidden":`true`,children:[(0,d.jsx)(pe,{size:10,fill:`currentColor`,"aria-hidden":`true`}),K]}),F.allowAirplay&&gr&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),mi()},"data-tooltip":vr?`AirPlay to ${br||`device`} — click to disconnect`:`AirPlay to device`,"aria-label":vr?`Stop AirPlay to ${br||`device`}`:`AirPlay to device`,"aria-pressed":vr,style:{color:vr?s:``},children:(0,d.jsx)(de,{size:20,"aria-hidden":`true`})})]})]}),oe&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-center-controls`,style:{pointerEvents:`none`},children:[!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(V(Math.max(0,B(Q)-10)),{eventType:`fast_backward`,skipSeconds:10})},"aria-label":`Rewind 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(Ce,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})}),(0,d.jsx)(`button`,{className:`sdk-desktop-play-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Xr()},"aria-label":ln?`Replay`:yi?`Pause`:`Play`,children:ln?(0,d.jsx)(Ce,{size:38,"aria-hidden":`true`}):yi?(0,d.jsx)(be,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(Se,{size:38,fill:`currentColor`,style:{marginLeft:`4px`},"aria-hidden":`true`})}),!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(V(Math.min(z,B(Q)+10)),{eventType:`fast_forward`,skipSeconds:10})},"aria-label":`Skip forward 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(we,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})})]}),F.enableKeyMoments&&nr&&U.length>0&&We===`panel`&&(0,d.jsxs)(`div`,{className:`sdk-chapters-panel`,onClick:e=>e.stopPropagation(),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-header`,children:(0,d.jsx)(`span`,{className:`sdk-chapters-panel-title`,children:`Chapters`})}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-list`,children:U.map((e,t)=>{let n=Zn.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-chapters-panel-item${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>ii(e.startTime,e),onKeyDown:Ti(()=>ii(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-thumb`,children:ir[t]||e.thumbnail?(0,d.jsx)(`img`,{src:ir[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(ve,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.3)`}})}),(0,d.jsxs)(`div`,{className:`sdk-chapters-panel-info`,children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-desc`,children:e.description}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-time`,"aria-hidden":`true`,children:Z(e.startTime)})]})]},t)})})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-bottom`,children:[F.enableKeyMoments&&nr&&U.length>0&&We===`strip`&&(0,d.jsx)(`div`,{className:`sdk-desktop-chapters-strip`,children:U.map((e,t)=>{let n=Zn.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-desktop-chapter-card${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:t=>{t.stopPropagation(),ii(e.startTime,e)},onKeyDown:Ti(()=>ii(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-thumb`,children:ir[t]||e.thumbnail?(0,d.jsx)(`img`,{src:ir[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(ve,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.35)`}})}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-title`,children:e.title}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-time`,"aria-hidden":`true`,children:Z(e.startTime)})]},t)})}),(0,d.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(z),"aria-valuenow":Y?void 0:Math.round(B(q===null?I:q)),"aria-valuetext":Y?void 0:`${Z(B(q===null?I:q))} of ${Z(z)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-desktop-seekbar${J?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:Qr,onMouseMove:Y?void 0:hi,onMouseLeave:Y?void 0:vi,onTouchStart:Y?void 0:_i,onKeyDown:Y?void 0:Ei,style:{pointerEvents:Y?`none`:void 0},children:J?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=P?P.getCurrentTime():I,t=Fn(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${Ut?(P&&P.getBufferedRanges()[0]?.end||0)/Ut*100:0}%`}}),z>0&&L.filter(e=>!mn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${B(e.startTime)/z*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:K?`${bi>0?Q/bi*100:0}%`:`${z?B(q===null?I:q)/z*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`})}),F.enableKeyMoments&&U.map((e,t)=>z===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${B(e.startTime)/z*100}%`}},t)),Sr!==null&&Or&&(0,d.jsxs)(`div`,{className:`sdk-thumbnail-tooltip`,style:{left:`${wr}px`},children:[(0,d.jsx)(`div`,{className:`sdk-thumbnail-preview`,children:(0,d.jsx)(`img`,{src:Or,alt:`preview`,style:{width:`100%`,height:`100%`,objectFit:`cover`,borderRadius:`8px`,display:`block`}})}),Ar&&(0,d.jsx)(`div`,{className:`sdk-thumbnail-chapter-name`,children:Ar.title}),(0,d.jsx)(`div`,{className:`sdk-thumbnail-time-label`,children:Z(B(Er))})]})]})}),(0,d.jsxs)(`div`,{className:`sdk-desktop-controls-row`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-left-controls`,children:[!J&&(0,d.jsx)(`div`,{className:`sdk-time-display`,children:K?`${Z(Q)} / ${Z(bi)}`:`${Z(B(q===null?I:q))} / ${Z(z)}`}),Ge===`slider`&&(0,d.jsxs)(`div`,{className:`sdk-volume-control`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),$r()},"data-tooltip":Si?`Unmute`:`Mute`,"aria-label":Si?`Unmute`:`Mute`,"aria-pressed":Si,children:wi()}),(0,d.jsx)(`input`,{type:`range`,className:`sdk-volume-slider`,min:0,max:1,step:.02,value:Si?0:xi,"aria-label":`Volume`,"aria-valuetext":Si?`Muted`:`${Math.round(xi*100)}%`,style:{"--vol-pct":Math.round((Si?0:xi)*100)},onChange:e=>{let t=parseFloat(e.target.value);K?(P?.casting.remoteSetVolume(t),t>0&&P?.casting.remoteSetMute(!1)):(P?.setVolume(t),t>0&&qt&&P?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-right-icons`,children:[F.enableKeyMoments&&U.length>0&&!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${nr?` active`:``}`,onClick:e=>{e.stopPropagation(),rr(!nr)},"data-tooltip":`Key Moments`,"aria-label":nr?`Hide chapters`:`Show chapters`,"aria-pressed":nr,children:(0,d.jsx)(ve,{size:20,"aria-hidden":`true`})}),F.enableSubtitles&&!J&&Gn.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${H===`off`?``:` active`}`,onClick:e=>{e.stopPropagation(),Di(`subtitles`)},"data-tooltip":`Captions`,"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":W===`subtitles`,children:(0,d.jsx)(fe,{size:20,"aria-hidden":`true`})}),W===`subtitles`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===`off`,tabIndex:0,className:`sdk-dropup-item ${H===`off`?`active`:``}`,onClick:()=>ni(`off`),onKeyDown:$(()=>ni(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),H===`off`&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]}),Gn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===e.id,tabIndex:0,className:`sdk-dropup-item ${H===e.id?`active`:``}`,onClick:()=>ni(e.id),onKeyDown:$(()=>ni(e.id)),children:[(0,d.jsx)(`span`,{children:_(e)}),H===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.allowMultipleAudio&&qn.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`audio`?` active`:``}`,onClick:e=>{e.stopPropagation(),Di(`audio`)},"data-tooltip":`Audio Track`,"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":W===`audio`,children:(0,d.jsx)(_e,{size:20,"aria-hidden":`true`})}),W===`audio`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),qn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Yn===e.id,tabIndex:0,className:`sdk-dropup-item ${Yn===e.id?`active`:``}`,onClick:()=>{P?.setAudioTrack(e.id),Xn(e.id),G(`none`),sr(`Audio: ${_(e)}`)},onKeyDown:$(()=>{P?.setAudioTrack(e.id),Xn(e.id),G(`none`),sr(`Audio: ${_(e)}`)}),children:[(0,d.jsx)(`span`,{children:_(e)}),Yn===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.enablePlaybackSpeed&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`speed`?` active`:``}`,onClick:e=>{e.stopPropagation(),Di(`speed`)},"data-tooltip":`Playback Speed`,"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":W===`speed`,children:(0,d.jsx)(ge,{size:20,"aria-hidden":`true`})}),W===`speed`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":er===e,tabIndex:0,className:`sdk-dropup-item ${er===e?`active`:``}`,onClick:()=>ei(e),onKeyDown:$(()=>ei(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),er===e&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),F.enableQuality&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Bn.id===-1?``:` active`}`,onClick:e=>{e.stopPropagation(),Di(`quality`)},"data-tooltip":`Quality`,"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":W===`quality`,children:(0,d.jsx)(Ne,{size:20,"aria-hidden":`true`})}),W===`quality`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Rn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Bn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Bn.id===e.id?`active`:``}`,onClick:()=>ti(e.id),onKeyDown:$(()=>ti(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Bn.id===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),y&&y.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`sources`?` active`:``}`,onClick:e=>{e.stopPropagation(),Di(`sources`)},"data-tooltip":`Select Source`,"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":W===`sources`,children:(0,d.jsx)(Pe,{size:20,"aria-hidden":`true`})}),W===`sources`&&(0,d.jsxs)(`div`,{ref:Oi,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),y.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Qe===t,tabIndex:0,className:`sdk-dropup-item ${Qe===t?`active`:``}`,onClick:()=>ri(t),onKeyDown:$(()=>ri(t)),children:[(0,d.jsx)(`span`,{children:e.label}),Qe===t&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),F.enablePiP&&!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${an?` active`:``}`,onClick:e=>{e.stopPropagation(),oi()},"data-tooltip":`Picture-in-Picture`,"aria-label":an?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":an,children:(0,d.jsx)(xe,{size:20,"aria-hidden":`true`})}),Ge===`button`&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),$r()},"data-tooltip":Si?`Unmute`:`Mute`,"aria-label":Si?`Unmute`:`Mute`,"aria-pressed":Si,children:wi()}),Ie&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),ci()},"data-tooltip":Zt||$t?`Exit fullscreen`:`Fullscreen`,"aria-label":Zt||$t?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":Zt||$t,children:Zt?(0,d.jsx)(m,{size:20,"aria-hidden":`true`}):(0,d.jsx)(ye,{size:20,"aria-hidden":`true`})})]})]})]})]})]}),sn&&(()=>{let e=L.find(e=>Q>=e.startTime&&Q<e.endTime),t=e?e.endTime-e.startTime:z,n=e?Math.max(0,Q-e.startTime):B(Q);return(0,u.createPortal)((0,d.jsxs)(`div`,{className:`gb-pip-overlay${yi?``:` gb-pip-paused`}`,children:[(0,d.jsx)(`div`,{}),(0,d.jsxs)(`div`,{className:`gb-pip-center`,children:[(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>X(V(Math.max(0,B(Q)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,disabled:J,children:(0,d.jsx)(Ce,{size:20,"aria-hidden":`true`})}),(0,d.jsx)(`button`,{className:`gb-pip-btn gb-pip-play`,onClick:Xr,"aria-label":ln?`Replay`:yi?`Pause`:`Play`,children:ln?(0,d.jsx)(Ce,{size:24,"aria-hidden":`true`}):yi?(0,d.jsx)(be,{size:24,"aria-hidden":`true`}):(0,d.jsx)(Se,{size:24,"aria-hidden":`true`,style:{marginLeft:2}})}),(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>X(V(Math.min(z,B(Q)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,disabled:J,children:(0,d.jsx)(we,{size:20,"aria-hidden":`true`})})]}),(0,d.jsxs)(`div`,{className:`gb-pip-bottom`,children:[(0,d.jsx)(`div`,{className:`gb-pip-progress`,onClick:si,children:(0,d.jsx)(`div`,{className:`gb-pip-progress-fill`,style:{width:`${t?n/t*100:0}%`}})}),(0,d.jsxs)(`div`,{className:`gb-pip-time`,children:[Z(n),` / `,Z(t)]})]})]}),sn.document.body)})()]})},Be=`https://dev-api.go-boss.com`;function v(e){return{"x-player-key":e,"Content-Type":`application/json`}}async function Ve(e,t=Be){let n=await fetch(`${t}/api/player/sdk/init`,{method:`POST`,headers:v(e),body:JSON.stringify({})});if(!n.ok)throw Error(`SDK init failed: ${n.status}`);return await n.json()}async function He(e,t,n,r=Be){let i=await fetch(`${r}/api/player/sdk/session/start`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t,videoId:n})});if(!i.ok)throw Error(`Session start failed: ${i.status}`)}async function Ue(e,t,n,r,i=Be){let a={sessionId:t,currentTime:n,duration:r},o=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:`POST`,headers:v(e),body:JSON.stringify(a)});if(!o.ok)throw Error(`Heartbeat failed: ${o.status}`)}async function We(e,t,n=Be){let r=await fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t})});if(!r.ok)throw Error(`Session end failed: ${r.status}`)}async function Ge(e,t,n=Be){let r=await fetch(`${n}/api/player/sdk/events`,{method:`POST`,headers:v(e),body:JSON.stringify(t)});if(!r.ok)throw Error(`Event ${t.eventType} failed: ${r.status}`)}function Ke(e,t,n=Be){fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t}),keepalive:!0})}function qe(){if(!(typeof screen>`u`))return screen.orientation?.type??void 0}var Je=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch(typeof e.currentTime==`number`&&!Number.isNaN(e.currentTime)&&(this.lastCurrentTime=e.currentTime),typeof e.duration==`number`&&!Number.isNaN(e.duration)&&(this.lastDuration=e.duration),typeof e.totalWatchTime==`number`&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case`play`:this.isPlaybackActive?this.call(`playerDidResumePlaying`,e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call(`playerDidStartPlaying`,e.currentTime,this.autoplay));break;case`pause`:e.duration>0&&e.currentTime>=e.duration-.25||this.call(`playerDidPause`,e.currentTime);break;case`ended`:this.isPlaybackActive=!1,this.hasFinished=!0,this.call(`playerDidFinishPlaying`,e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case`seek`:this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case`fast_forward`:this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case`fast_backward`:this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case`buffering_start`:this.call(`playerDidStartBuffering`,e.currentTime);break;case`buffering_end`:this.call(`playerDidFinishBuffering`,e.currentTime);break;case`quality_change`:{let t=e.rendition;t&&t!==this.prevQuality&&(this.call(`playerDidChangeQuality`,this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case`subtitle_change`:if(e.subtitleEnabled===!1)this.call(`playerDidDisableSubtitle`,this.prevSubtitle),this.prevSubtitle=void 0;else{let t=e.subtitleLanguage??``;this.call(`playerDidChangeSubtitle`,this.prevSubtitle,t),this.prevSubtitle=t}break;case`audio_track_change`:{let t=e.audioTrack??``;this.call(`playerDidChangeAudioTrack`,this.prevAudioTrack,t),this.prevAudioTrack=t;break}case`speed_change`:{let t=e.speed??1;t!==this.prevSpeed&&(this.call(`playerDidChangePlaybackSpeed`,this.prevSpeed,t),this.prevSpeed=t);break}case`fullscreen_enter`:this.call(`playerDidEnterFullscreen`,qe());break;case`fullscreen_exit`:this.call(`playerDidExitFullscreen`,qe());break;case`key_moments`:{let t=e.momentTitle??``,n=e.momentTime??e.currentTime,r=this.keyMoments,i=r.findIndex(e=>t&&e.title===t||e.startTime===n),a=i>=0?r[i]:void 0;this.call(`playerDidSelectKeyMoment`,i>=0?String(i):void 0,a?.title??t,a?.startTime??n,a?.endTime??n);break}case`pip_toggle`:(e.pipState?e.pipState===`entered`:e.errorMessage===`entered`)?this.call(`playerDidEnterPictureInPicture`,e.currentTime):this.call(`playerDidExitPictureInPicture`,e.currentTime);break;case`error`:this.call(`playerDidEncounterPlaybackError`,e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),e.errorMessage??`Unknown player error`,e.isRecoverable??!1);break;case`network_error`:this.call(`playerDidEncounterNetworkError`,e.errorCode??0,e.errorMessage??`Network error`,e.isRecoverable??!1);break}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){let{fromTime:t,startedWallMs:n}=this.pendingSeek;this.pendingSeek=null,this.call(`playerDidFinishSeeking`,t,e,(Date.now()-n)/1e3)}this.call(`playerDidUpdateCurrentTime`,e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call(`playerDidDismiss`,this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){if(this.pendingSeek){this.pendingSeek.toTime=t;return}this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call(`playerDidStartSeeking`,e)}call(e,...t){let n=this.delegate,r=n?.[e];if(typeof r==`function`)try{r.apply(n,t)}catch(t){console.error(`[PlayerSDK Delegate] ${String(e)} callback failed:`,t)}}},Ye={subtitles:`subtitle_support`,ads:`ad_support`,chapterMarkers:`key_moments`,playbackSpeed:`playback_speed`,airplay:`airplay`,chromecast:`chromecast`,pictureInPicture:`picture_in_picture`,multipleResolution:`multiple_resolution`,multipleAudio:`multiple_audio`,drmProtection:`drm_protection`,screenRecordingPrevention:`screen_recording_prevention`,signalStrength:`signal_strength`};function Xe(e){let t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(let[n,r]of Object.entries(Ye))n in e&&(t[r]=e[n]);return t}function Ze(e){if(!e)return e=>e;let t=[];for(let n of e.split(`,`)){let[e,r]=n.split(`=`);e?.trim()&&r?.trim()&&t.push({domain:e.trim(),proxyPath:r.trim()})}return e=>{for(let{domain:n,proxyPath:r}of t)if(e.includes(n))try{let t=new URL(e);return`${r}${t.pathname}${t.search}`}catch{return e.replace(`https://${n}`,r)}return e}}function y(e){let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:`99, 102, 241`}var Qe=3e4;function $e(e,t){switch(e.eventType){case`pause`:return{eventType:`pause`,extras:{}};case`seek`:return{eventType:`seek`,extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case`mute`:return{eventType:`mute`,extras:{isMuted:e.isMuted??!0}};case`fast_forward`:return{eventType:`fast_forward`,extras:{skipSeconds:e.skipSeconds??10}};case`fast_backward`:return{eventType:`fast_backward`,extras:{skipSeconds:e.skipSeconds??10}};case`key_moments`:return{eventType:`key_moments`,extras:{momentTitle:e.momentTitle??``,momentTime:e.momentTime??0}};case`buffering_start`:return{eventType:`buffering_start`,extras:{bufferingCount:e.bufferingCount??0}};case`buffering_end`:return{eventType:`buffering_end`,extras:{}};case`quality_change`:return!t||!e.rendition||t===e.rendition?null:{eventType:`quality_change`,extras:{from:t,to:e.rendition}};case`speed_change`:return{eventType:`speed_change`,extras:{speed:e.speed??1}};case`subtitle_change`:return e.subtitleEnabled===!1?{eventType:`subtitle_disable`,extras:{enabled:!1}}:{eventType:`subtitle_change`,extras:{language:e.subtitleLanguage??``,enabled:!0}};case`audio_track_change`:return{eventType:`audio_track_change`,extras:{track:e.audioTrack??``}};case`pip_toggle`:return{eventType:`pip_toggle`,extras:{enabled:e.errorMessage===`entered`}};case`fullscreen_enter`:return{eventType:`fullscreen_toggle`,extras:{enabled:!0}};case`fullscreen_exit`:return{eventType:`fullscreen_toggle`,extras:{enabled:!1}};case`error`:return{eventType:`player_error`,extras:{code:e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),message:e.errorMessage??`Unknown player error`}};case`network_error`:return{eventType:`network_error`,extras:{code:e.errorCode?String(e.errorCode):`NETWORK_ERROR`,message:e.errorMessage??`Network error`}};default:return null}}function b({playerKey:e,src:t,subtitles:n,licenseKey:r,themeColor:i=`#6366f1`,firebaseConfig:a,proxyDomains:o,apiBaseUrl:s,adTrackingUrl:c,overlayAdUrl:u,title:ee,watermark:ne,autoplay:re=!1,muted:ie=!1,autoFullscreen:ae=!1,enableControls:oe=!0,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le=`strip`,volumeControlType:ue=`slider`,subtitleStyle:f,drmConfig:de,onAnalyticsEvent:fe,delegate:pe,onKeyMomentsLoaded:p,initialTime:me,onTimeUpdate:he}){let[ge,_e]=(0,l.useState)([]),[ve,ye]=(0,l.useState)(0),[m]=(0,l.useState)(()=>new Je);(0,l.useEffect)(()=>{m.setDelegate(pe),m.setAutoplay(re)},[m,pe,re]),(0,l.useEffect)(()=>()=>m.notifyDismissed(),[m]);let be=Array.isArray(t)?t:[{label:`Default`,url:t}],xe=be[ve]?.url??be[0]?.url??``,[Se,Ce]=(0,l.useState)(`loading`),[we,Te]=(0,l.useState)(null),[Ee,De]=(0,l.useState)(0),[Oe,ke]=(0,l.useState)(`network`),Ae=(0,l.useRef)(null),je=(0,l.useRef)(!1),h=(0,l.useRef)(``),Me=(0,l.useRef)(!1),Ne=(0,l.useRef)(!1),Pe=(0,l.useRef)(void 0),Fe=(0,l.useRef)(!1),g=(0,l.useRef)(null),Ie=(0,l.useRef)(0),_=(0,l.useRef)(null),Le=(0,l.useRef)({currentTime:0,duration:0}),Re=(0,l.useRef)(()=>{}),Be=xe.split(`/`).filter(Boolean),v=(Be[Be.length-1]??``).replace(/\.m3u8.*$/,``)||`video`,qe=(0,l.useCallback)(()=>Ze(o),[o])(),Ye=y(i);(0,l.useEffect)(()=>{document.documentElement.style.setProperty(`--accent-indigo`,i),document.documentElement.style.setProperty(`--accent-indigo-rgb`,Ye)},[i,Ye]),(0,l.useEffect)(()=>{let t=!1;return Ve(e,s).then(e=>{if(t)return;Ae.current=e;let{features:n,planTier:r}=e.result.data,i={package:r,is_active:!0,features:Xe(n),limits:{streaming_minutes:0}};console.log(`[SDK] Player key validated. Features:`,i.features),Te(i),Ce(`ready`)}).catch(e=>{if(t)return;console.error(`[SDK] Player key validation failed:`,e);let n=e.message??``;ke(/init failed: 4\d\d/.test(n)?`auth`:`network`),Ce(`error`)}),()=>{t=!0,g.current&&=(clearTimeout(g.current),null),Ie.current=0,_.current=null,Ce(`loading`),Te(null),Me.current=!1,h.current=``,Ne.current=!1,Pe.current=void 0}},[e,s,Ee]);let b=(0,l.useCallback)(()=>{g.current&&(clearTimeout(g.current),g.current=null,_.current!==null&&(Ie.current+=Date.now()-_.current,_.current=null))},[]),et=(0,l.useCallback)(()=>{g.current&&=(clearTimeout(g.current),null),Ie.current=0,_.current=null},[]),x=(0,l.useCallback)(()=>{if(g.current||!h.current)return;_.current=Date.now();let t=Qe-Ie.current;g.current=setTimeout(()=>{g.current=null,Ie.current=0,_.current=null;let{currentTime:t,duration:n}=Le.current;console.log(`[SDK] Heartbeat timer fired — 30s of real content elapsed`),Ue(e,h.current,t,n,s).catch(e=>console.warn(`[SDK] Heartbeat failed:`,e.message)),Re.current()},t)},[e,s]);(0,l.useEffect)(()=>{Re.current=x},[x]);let S=(0,l.useRef)(!0);(0,l.useEffect)(()=>{if(S.current){S.current=!1;return}Fe.current=!0,Pe.current=void 0,b()},[ve,b]),(0,l.useEffect)(()=>{let t=()=>{m.notifyDismissed(),h.current&&(Ne.current=!0,et(),Ke(e,h.current,s))};return window.addEventListener(`beforeunload`,t),()=>{window.removeEventListener(`beforeunload`,t),et()}},[e,s,et,m]);let tt=(0,l.useCallback)(t=>{let n=t;if(t.currentTime!==void 0&&(Le.current={currentTime:t.currentTime,duration:t.duration}),t.eventType===`session_start`&&!Me.current&&(Me.current=!0,Ne.current=!1,h.current=typeof n.sessionId==`string`?n.sessionId:``,He(e,h.current,v,s).catch(e=>console.warn(`[SDK] Session start failed:`,e.message)),je.current||x()),t.eventType===`play`&&Me.current&&!je.current&&!Fe.current&&x(),t.eventType===`pause`&&b(),t.eventType===`buffering_start`&&b(),t.eventType===`buffering_end`&&Me.current&&!je.current&&(Fe.current=!1,x()),t.eventType===`ended`&&(et(),h.current&&(Ne.current=!0,We(e,h.current,s).catch(e=>console.warn(`[SDK] Session end failed:`,e.message)))),Me.current&&h.current&&!Ne.current){let n=$e(t,Pe.current);n&&Ge(e,{eventType:n.eventType,sessionId:h.current,currentTime:t.currentTime??0,videoId:v,...n.extras},s).catch(e=>console.warn(`[SDK] Event ${n.eventType} failed:`,e.message))}t.eventType===`quality_change`&&t.rendition&&(Pe.current=t.rendition),console.log(`[SDK Analytics]`,t),m.handleAnalyticsEvent(t),fe?.(t)},[e,s,v,x,b,et,fe,m]),nt=(0,l.useCallback)(e=>{je.current=e,e?(b(),console.log(`[SDK] Ad break started — heartbeat timer paused`)):(Me.current&&x(),console.log(`[SDK] Ad break ended — heartbeat timer resumed`))},[b,x]),C=(0,l.useCallback)(e=>{m.setKeyMoments(e),_e(e),p?.(e)},[p,m]),rt=(0,l.useCallback)(e=>{m.handleTimeUpdate(e),he?.(e)},[he,m]);if(Se===`loading`)return(0,d.jsxs)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#000`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(`style`,{children:`@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}`}),(0,d.jsx)(`div`,{style:{width:60,height:60,borderRadius:`50%`,border:`4px solid rgba(${Ye}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ye}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ye}, 0.5))`,animation:`boss-sdk-spin 1s linear infinite`}})]});if(Se===`error`){let e=Oe===`auth`;return(0,d.jsx)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#09090e`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:20},children:(0,d.jsx)(te,{title:e?`Invalid Player Key`:`Something Went Wrong`,subtitle:e?`Your player key is invalid or expired.
30
+ import 'boss-web-player-sdk/css';`))});return()=>window.cancelAnimationFrame(e)},[]),(0,l.useEffect)(()=>{let e=S.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)wt(t.contentRect.width<=768)});return t.observe(e),wt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);let[P,kt]=(0,l.useState)(null),At=Ve??null,jt=At!=null,Mt=At?.features??{},Nt=jt?!!(Mt.drm_protection&&!He):!1,F={enableSubtitles:jt?!!Mt.subtitle_support:typeof le==`boolean`?le:!0,enableChromecast:jt?!!Mt.chromecast:typeof se==`boolean`?se:!0,enableKeyMoments:jt?!!Mt.key_moments:typeof ce==`boolean`?ce:!0,enableQuality:jt?!!Mt.multiple_resolution:typeof ue==`boolean`?ue:!0,enablePlaybackSpeed:jt?!!Mt.playback_speed:typeof f==`boolean`?f:!0,enablePiP:jt?!!Mt.picture_in_picture:typeof g==`boolean`?g:!0,allowAirplay:jt?!!Mt.airplay:!1,allowMultipleAudio:jt?!!Mt.multiple_audio:!0,m3u8_playback:jt?!!Mt.m3u8_playback:!0,drm_protection:jt?!!Mt.drm_protection:!1},[Pt,Ft]=(0,l.useState)(!1),[It,Lt]=(0,l.useState)(0),[Rt,zt]=(0,l.useState)(!1),[I,Bt]=(0,l.useState)(0),[Vt,Ht]=(0,l.useState)(0),[Ut,Wt]=(0,l.useState)(1),[Gt,Kt]=(0,l.useState)(!1),[qt,Jt]=(0,l.useState)(!1),[Yt,Xt]=(0,l.useState)(!1),[Zt,Qt]=(0,l.useState)(!1),[$t,en]=(0,l.useState)(!1),tn=Ct||(Yt||Zt)&&$t,[nn,rn]=(0,l.useState)(!1),[an,on]=(0,l.useState)(null),[sn,cn]=(0,l.useState)(!1),[L,ln]=(0,l.useState)([]),R=(0,l.useRef)([]),un=(0,l.useRef)(new Set),dn=y&&y.length>0?y.map(e=>e.url).join(`|`):e,[fn,pn]=(0,l.useState)(new Set),[mn,hn]=(0,l.useState)(dn),gn=(0,l.useRef)(null),_n=(0,l.useRef)(!1),vn=(0,l.useRef)(null);mn!==dn&&(hn(dn),pn(new Set),un.current=new Set,gn.current=null,_n.current=!1);let yn=(0,l.useRef)(null),bn=(0,l.useRef)(!1),[xn,Sn]=(0,l.useState)([]),[Cn,wn]=(0,l.useState)(null),Tn=(0,l.useRef)([]),En=(0,l.useRef)(null),Dn=(0,l.useRef)(new Set),[On,kn]=(0,l.useState)([]),An=(0,l.useRef)([]),jn=(0,l.useMemo)(()=>L.reduce((e,t)=>e+(t.endTime-t.startTime),0),[L]),Mn=Vt>0?Math.max(0,Vt-jn):0,z=L.length>0&&Mn>0?Mn:Vt,B=(0,l.useCallback)(e=>{let t=e;for(let n of L)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);return Math.max(0,t)},[L]),V=(0,l.useCallback)(e=>{let t=e;for(let e of L)t>=e.startTime&&(t+=e.endTime-e.startTime);return t},[L]),[Nn,Pn]=(0,l.useState)([]),[Fn,In]=(0,l.useState)({id:-1,height:0,width:0,bitrate:0,label:`Auto`}),[Ln,Rn]=(0,l.useState)(``),[H,zn]=(0,l.useState)(`off`),[Bn,Vn]=(0,l.useState)(Le(a)),[Hn,Un]=(0,l.useState)([]),[Wn,Gn]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(P){let e=P.subtitles.getTracks();Vn(Le([...a,...e.filter(e=>!a.some(t=>t.id===e.id))]))}else Vn(Le(a))},[a.map(e=>e.id).join(`,`),P]);let[Kn,qn]=(0,l.useState)({chapter:null,index:-1}),[U,Jn]=(0,l.useState)(i||r||[]),[W,G]=(0,l.useState)(`none`),[Yn,Xn]=(0,l.useState)(1),[Zn,Qn]=(0,l.useState)(!1),[$n,er]=(0,l.useState)({}),[tr,nr]=(0,l.useState)(``),[rr,ir]=(0,l.useState)(null),ar=(0,l.useRef)(!1),or=JSON.stringify(U.map(e=>({title:e.title,startTime:e.startTime})));(0,l.useEffect)(()=>{Jn(i||r||[])},[(i||r||[]).map(e=>`${e.startTime}:${e.title}`).join(`,`)]),(0,l.useEffect)(()=>{if(!e||!U||U.length===0)return;er({});let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;`,document.body.appendChild(t);let n=null,r=e.includes(`.m3u8`),i=document.createElement(`canvas`);i.width=160,i.height=90;let a=i.getContext(`2d`),o=0,s=!1,l=()=>{if(o>=U.length){te();return}let e=U[o].startTime;t.currentTime=e===0?.01:e},u=()=>{if(a&&t.readyState>=2){a.drawImage(t,0,0,i.width,i.height);let e=i.toDataURL(`image/jpeg`,.8);er(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},d=()=>{s||(s=!0,l())};t.addEventListener(`seeked`,u),t.addEventListener(`canplay`,d),r&&c.u.isSupported()?(n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=x(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer tempHls] xhrSetup error:`,e)}}}),n.loadSource(x(e)),n.attachMedia(t)):t.src=e,t.readyState>=2&&d();let te=()=>{t.removeEventListener(`seeked`,u),t.removeEventListener(`canplay`,d),n&&n.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return te},[e,or]);let[K,sr]=(0,l.useState)(null),[cr,lr]=(0,l.useState)(null),ur=(0,l.useRef)(!1),[dr,fr]=(0,l.useState)(!1),[pr,mr]=(0,l.useState)(!1),[hr,gr]=(0,l.useState)(null),[_r,vr]=(0,l.useState)(null),[yr,br]=(0,l.useState)(0),[xr,Sr]=(0,l.useState)(0),[Cr,wr]=(0,l.useState)(null),[Tr,Er]=(0,l.useState)(null),[q,Dr]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(ct.current&&!ct.current.querySelector(`google-cast-launcher`)){let e=document.createElement(`google-cast-launcher`);e.style.cursor=`pointer`,e.style.width=`100%`,e.style.height=`100%`,e.style.display=`block`,ct.current.appendChild(e)}},[]),(0,l.useEffect)(()=>{if(!P){fr(!1),mr(!1),gr(null);return}let e=e=>fr(e),t=()=>{let e=P.getVideoElement(),t=!!e?.webkitCurrentPlaybackTargetIsWireless;mr(t),gr(t?e.webkitCurrentPlaybackTargetName||`AirPlay device`:null)};e(P.casting.isAirPlayAvailable()),t();let n=P.getVideoElement(),r=t=>{e(t.availability===`available`)},i=()=>{t()};return`webkitShowPlaybackTargetPicker`in n&&(n.addEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.addEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i)),()=>{`webkitShowPlaybackTargetPicker`in n&&(n.removeEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.removeEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i))}},[P]);let[Or,kr]=(0,l.useState)(``),[Ar,jr]=(0,l.useState)(!0),[J,Mr]=(0,l.useState)(!1),[Nr,Pr]=(0,l.useState)(!1),Fr=(0,l.useRef)(!1),Ir=(0,l.useRef)(null),Lr=(0,l.useRef)(!1),Rr=(0,l.useRef)(!1),zr=(0,l.useRef)(`none`),Br=(0,l.useRef)(a),Vr=()=>{jr(!0),Ir.current&&window.clearTimeout(Ir.current);let e=Tt.current?3500:1e4;Ir.current=window.setTimeout(()=>{Lr.current&&zr.current===`none`&&jr(!1)},e)},Hr=(0,l.useCallback)(e=>{A.current&&=(clearTimeout(A.current),null);let t=vt.current,n=t?.[e]?.label??`This format`,r=t?.[0]?.label??`default`;_t.current=null,ir(`${n} isn't supported on this device. Switched to ${r}.`),window.setTimeout(()=>ir(null),4e3),yt.current?.(0)},[]);(0,l.useEffect)(()=>{if(!S.current)return;let r=document.createElement(`video`);r.muted=!0,r.preload=`metadata`,r.crossOrigin=`anonymous`,r.style.cssText=`display:none;position:absolute;pointer-events:none;`,document.body.appendChild(r),w.current=r;let i=e.includes(`.m3u8`);if(i&&c.u.isSupported()){let t=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=ee?.authToken;try{let r=x(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer hiddenHls] xhrSetup error:`,e)}}});t.loadSource(x(e)),t.attachMedia(r),at.current=t,t.on(c.u.Events.MANIFEST_LOADED,(e,t)=>{if(Ue)return;let n=h(t?.networkDetails?.responseText??``);n&&kr(n)}),t.on(c.u.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!(Ue||Or))for(let e of t?.samples??[]){let t=Me(e.data);if(t){kr(t);break}}})}else i&&r.canPlayType(`application/vnd.apple.mpegurl`),r.src=e;r.addEventListener(`seeked`,()=>{let e=it.current;if(!e)return;let t=e.getContext(`2d`);t&&r.readyState>=2&&(t.drawImage(r,0,0,e.width,e.height),wr(e.toDataURL(`image/jpeg`,.82)))});let l;if(ne){let e=new c.c(ne);tt.current=e,l=e.createCallback()}if(Nt)return;let u=new c.t({container:S.current,src:e,autoplay:t,muted:n,keyMoments:U,subtitles:a,drm:{watermarkText:o,allowedDomains:[`localhost`,`127.0.0.1`,window.location.hostname],...ee},analyticsCallback:e=>{if(e.sessionId&&(gn.current===null?gn.current=e.sessionId:e.sessionId!==gn.current&&(e={...e,sessionId:gn.current})),e.eventType===`session_start`){if(_n.current)return;_n.current=!0}l?.(e),re&&re(e)},analyticsSessionSeed:vn.current?.key===dn?vn.current.snapshot:void 0,watchProgressInterval:Be*1e3,themeColor:s,urlTransformer:Ke});u.on(`keymomentsloaded`,e=>{Jn(e),ae&&ae(e)}),u.on(`chaptersloaded`,e=>{Jn(e),ae&&ae(e)}),u.on(`play`,()=>{zt(!0),cn(!1),se(u.getCurrentTime(),!1)}),u.on(`pause`,()=>{zt(!1),se(u.getCurrentTime(),!0)}),u.on(`ended`,()=>{zt(!1),cn(!0)});let d=()=>{k.current&&(k.current.style.opacity=`1`),dt(u.getVideoElement())},te=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{k.current&&(k.current.style.opacity=`0`),ft(u.getVideoElement())})})},oe=e=>{T.current=!0;let t=mt.current??e+.5;mt.current=null,E.current=t,D.current=u.getCurrentTime(),d(),u.seek(t),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null,te()},3e3)};pt.current=oe;let se=(e,t)=>{if(!(`mediaSession`in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?`paused`:`playing`;let n=u.getDuration(),r=R.current.find(t=>e>=t.startTime&&e<t.endTime);if(r){let t=r.endTime-r.startTime,n=Math.max(0,e-r.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(n,t)})}catch{}}else{let t=R.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=n>0?Math.max(0,n-t):0,i=e;for(let t of R.current)e>=t.endTime?i-=t.endTime-t.startTime:e>=t.startTime&&(i-=e-t.startTime);i=Math.max(0,i);let a=R.current.length>0&&r>0?r:n;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(i,a)})}catch{}}};if(u.on(`timeupdate`,e=>{if(!T.current&&M.current===null){let t=R.current.find(t=>un.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t){oe(t.endTime);return}mt.current!==null&&R.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&d()}if(T.current&&E.current!==null){let t=E.current;if(D.current!==null&&t<D.current?e<=t+2&&e>=t-2:e>=t-2)T.current=!1,E.current=null,D.current=null,O.current&&=(window.clearTimeout(O.current),null),!R.current.some(t=>e>=t.startTime&&e<t.endTime)&&mt.current===null&&te();else return}Bt(e),xt.current=e;let t=u.getDuration();if(Ht(t),M.current!==null&&e>=M.current-2){M.current=null,N.current&&=(window.clearTimeout(N.current),null);let t=R.current.find(t=>un.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&oe(t.endTime),requestAnimationFrame(()=>{requestAnimationFrame(()=>{j.current&&(j.current.style.opacity=`0`)})})}if(!bt.current&&gt.current===null&&b&&b>0&&t>0&&b<t){bt.current=!0;let e=R.current.find(e=>b>=e.startTime&&b<e.endTime),t=e?e.startTime:b;M.current=t,u.seek(t),N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>{M.current=null,N.current=null,j.current&&(j.current.style.opacity=`0`)},4e3)}if(et?.(e),Tn.current.length>0)if(En.current){let t=En.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(wn(null),En.current=null)}else{let t=Tn.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!Dn.current.has(t.availId));t&&(wn(t),En.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:`no-cors`}).catch(()=>{})}))}let n=u.keyMoments.getCurrentMoment(e);qn({chapter:n.keyMoment,index:n.index}),se(e,u.getVideoElement().paused)}),u.on(`qualitylevels`,e=>{Pn(e)}),u.on(`qualitychange`,e=>{In(e)}),u.on(`buffering`,e=>{if(Jt(e),!e&&(A.current&&=(clearTimeout(A.current),null),_t.current=null,gt.current!==null)){let e=gt.current;gt.current=null,bt.current=!0,M.current=e,N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>{M.current=null,N.current=null,j.current&&(j.current.style.opacity=`0`)},4e3),u.seek(e)}}),u.on(`adbreakchange`,e=>{if(u.analytics.setAdBreak(e,u.getVideoElement()),ie&&ie(e),e){let e=u.getCurrentTime(),t=R.current.find(t=>e>=t.startTime&&e<t.endTime);if(Fr.current=!1,Pr(!1),t&&un.current.has(t.startTime)){d(),T.current||oe(t.endTime);return}t&&(yn.current=t.startTime),Mr(!0),G(`none`),te()}else if(yn.current!==null&&(un.current.add(yn.current),pn(new Set(un.current)),yn.current=null),Mr(!1),mt.current!==null){let e=mt.current;mt.current=null,T.current=!0,E.current=e,D.current=u.getCurrentTime(),d(),u.seek(e),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null,te()},3e3)}}),u.on(`adbreaksloaded`,e=>{R.current=e,ln(e)}),u.on(`volumechange`,e=>{Wt(e.volume),ut.current===null&&Kt(e.muted)}),u.on(`pipchange`,e=>{rn(e)}),u.on(`error`,()=>{Ft(!0),Jt(!1),M.current=null,N.current&&=(window.clearTimeout(N.current),null),j.current&&(j.current.style.opacity=`0`)}),u.on(`unsupportedcodec`,()=>{let e=_t.current;e&&e.targetIdx!==0&&(vt.current?.length??0)>1&&Hr(e.targetIdx)}),u.subtitles.onSubtitleChange(e=>{Rn(e)}),u.on(`subtitlesloaded`,e=>{if(!F.enableSubtitles)return;Vn(Le([...e]));let t=e.find(e=>e.isDefault);t&&(u.subtitles.setActiveTrack(t.id),zn(t.id))}),u.on(`audiotracksloaded`,e=>{Un(e),Gn(e[0]?.id??0)}),u.on(`audiotrackchange`,e=>{Gn(e)}),u.casting.onCastStateChange((e,t)=>{if(e){ur.current=u.isMuted(),u.pause();let e=u.getVideoElement();e.muted=!0,sr(t)}else{let e=u.casting.getRemoteState();e&&e.currentTime>0&&(T.current=!0,E.current=e.currentTime,D.current=u.getCurrentTime(),u.seek(e.currentTime),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null},3e3));let t=u.getVideoElement();t.muted=ur.current,sr(null),lr(null)}}),u.casting.onRemoteStateChange(e=>{lr(e)}),Wt(u.getVolume()),Kt(u.isMuted()),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,e=>{if(e.seekTime==null||Rr.current||Fr.current)return;let t=e.seekTime;for(let e of R.current)t>=e.startTime&&(t+=e.endTime-e.startTime);ht.current?.(t)});let e=(e,t)=>{if(Rr.current||Fr.current)return;let n=t&&t>0?t:10,r=u.getCurrentTime(),i=r;for(let e of R.current)r>=e.endTime?i-=e.endTime-e.startTime:r>=e.startTime&&(i-=r-e.startTime);if(e){let e=R.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,u.getDuration()-e),r=Math.min(t,i+n);for(let e of R.current)r>=e.startTime&&(r+=e.endTime-e.startTime);ht.current?.(r,{eventType:`fast_forward`,skipSeconds:n})}else{let e=Math.max(0,i-n);for(let t of R.current)e>=t.startTime&&(e+=t.endTime-t.startTime);ht.current?.(e,{eventType:`fast_backward`,skipSeconds:n})}};navigator.mediaSession.setActionHandler(`seekforward`,t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler(`seekbackward`,t=>e(!1,t.seekOffset??void 0))}catch{}let ce=u.getVideoElement(),le=()=>{if(!(document.pictureInPictureElement===ce||ce.webkitPresentationMode===`picture-in-picture`)||T.current||M.current!==null||gt.current!==null)return;let e=ce.currentTime,t=xt.current;if(!(Math.abs(e-t)<.5)){if(Rr.current){ce.currentTime=t;return}ce.currentTime=t,ht.current?.(e)}};ce.addEventListener(`seeking`,le),kt(u);let ue=_t.current;ue&&ue.targetIdx!==0&&(A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=null,!u.getBufferedRanges().some(e=>e.end>e.start)&&Hr(ue.targetIdx)},ke)),gt.current!==null&&(N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>{N.current=null,M.current=null,j.current&&(j.current.style.opacity=`0`),Jt(!1)},12e3)),ze&&S.current&&(nt.current=!0,S.current.requestFullscreen().catch(()=>{nt.current=!1}));let f=()=>{let e=document,t=!!(document.fullscreenElement||e.webkitFullscreenElement);Xt(t),t||Qt(!1);let n=u.getVideoElement();u.analytics.track(t?`fullscreen_enter`:`fullscreen_exit`,n)};document.addEventListener(`fullscreenchange`,f),document.addEventListener(`webkitfullscreenchange`,f);let de=e=>{let t=document.activeElement;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.getAttribute(`contenteditable`)===`true`||t.getAttribute(`role`)===`slider`))){switch(e.key.toLowerCase()){case` `:case`k`:if(e.preventDefault(),u.getVideoElement().paused)u.play();else{u.pause();try{let e=u.getVideoElement();e&&!e.paused&&e.pause()}catch{}if(w.current&&!w.current.paused)try{w.current.pause()}catch{}}break;case`arrowleft`:case`j`:if(e.preventDefault(),!Rr.current){let e=u.getCurrentTime(),t=e;for(let n of R.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let n=Math.max(0,t-10);for(let e of R.current)n>=e.startTime&&(n+=e.endTime-e.startTime);ht.current?.(n,{eventType:`fast_backward`,skipSeconds:10})}break;case`arrowright`:case`l`:if(e.preventDefault(),!Rr.current){let e=u.getCurrentTime(),t=R.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=Math.max(0,u.getDuration()-t),r=e;for(let t of R.current)e>=t.endTime?r-=t.endTime-t.startTime:e>=t.startTime&&(r-=e-t.startTime);let i=Math.min(n,r+10);for(let e of R.current)i>=e.startTime&&(i+=e.endTime-e.startTime);ht.current?.(i,{eventType:`fast_forward`,skipSeconds:10})}break;case`arrowup`:e.preventDefault(),u.setVolume(u.getVolume()+.1);break;case`arrowdown`:e.preventDefault(),u.setVolume(u.getVolume()-.1);break;case`m`:e.preventDefault(),u.setMute(!u.isMuted());break;case`f`:e.preventDefault(),lt.current();break;case`p`:e.preventDefault(),Rr.current||u.togglePictureInPicture();break;case`c`:if(e.preventDefault(),F.enableSubtitles&&!Rr.current)if(u.subtitles.getActiveTrackId()!==`off`)u.subtitles.setActiveTrack(`off`),zn(`off`);else{let e=Br.current;e&&e.length>0&&(u.subtitles.setActiveTrack(e[0].id),zn(e[0].id))}break;default:return}Vr()}};return document.addEventListener(`keydown`,de),Vr(),()=>{if(vn.current={key:dn,snapshot:u.analytics.getSessionSnapshot()},St.current){let e=St.current,t=u.getVideoElement();S.current&&t.ownerDocument!==document&&(t.classList.remove(`gb-pip-video`),S.current.insertBefore(t,S.current.firstChild)),St.current=null,on(null),rn(!1),e.close()}if(u.destroy(),tt.current?.destroy(),tt.current=null,document.body.style.overflow=``,document.body.style.touchAction=``,document.removeEventListener(`fullscreenchange`,f),document.removeEventListener(`webkitfullscreenchange`,f),document.removeEventListener(`keydown`,de),Ir.current&&window.clearTimeout(Ir.current),O.current&&=(window.clearTimeout(O.current),null),A.current&&=(clearTimeout(A.current),null),k.current&&(k.current.style.opacity=`0`),ce.removeEventListener(`seeking`,le),`mediaSession`in navigator){try{navigator.mediaSession.setActionHandler(`seekto`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekforward`,null)}catch{}try{navigator.mediaSession.setActionHandler(`seekbackward`,null)}catch{}}at.current&&=(at.current.destroy(),null),w.current&&=(document.body.removeChild(w.current),null),bt.current=!1,M.current=null,N.current&&=(window.clearTimeout(N.current),null)}},[e,o,It]),(0,l.useEffect)(()=>{if(P){P.keyMoments.setKeyMoments(U);let e=S.current?.querySelector(`video`);if(e){let t=P.keyMoments.getCurrentMoment(e.currentTime);qn({chapter:t.keyMoment,index:t.index})}}},[or,P]),(0,l.useEffect)(()=>{let e=e=>{W!==`none`&&(e.target.closest(`.sdk-menu-container`)||G(`none`))};return document.addEventListener(`click`,e),()=>{document.removeEventListener(`click`,e)}},[W]),(0,l.useEffect)(()=>{Lr.current=Rt},[Rt]),(0,l.useEffect)(()=>{Rr.current=J},[J]),(0,l.useEffect)(()=>{Fr.current=Nr},[Nr]);let Y=J||Nr;(0,l.useEffect)(()=>{St.current=an},[an]),(0,l.useEffect)(()=>{zr.current=W},[W]),(0,l.useEffect)(()=>{if(!J||!P)return;let e=0,t=P.getCurrentTime(),n=performance.now(),r=()=>{let i=P.getVideoElement?.(),a=P.getCurrentTime(),o=performance.now(),s;if(a!==t)t=a,n=o,s=a;else if(i&&!i.paused&&!i.ended){let e=i.playbackRate||1;s=t+(o-n)/1e3*e}else s=t;let c=R.current.find(e=>a>=e.startTime&&a<e.endTime);if(c){let e=Math.min(s,a+.4,c.endTime),t=Math.min(100,Math.max(0,(e-c.startTime)/(c.endTime-c.startTime)*100));(S.current?.querySelectorAll(`.sdk-ad-progress-fill`))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>cancelAnimationFrame(e)},[J,P]),(0,l.useEffect)(()=>{Br.current=Bn},[Bn]),(0,l.useEffect)(()=>{Tt.current=Ct},[Ct]),(0,l.useEffect)(()=>{R.current=L},[L]),(0,l.useEffect)(()=>{Tn.current=xn},[xn]),(0,l.useEffect)(()=>{En.current=Cn},[Cn]),(0,l.useEffect)(()=>{An.current=On},[On]),(0,l.useEffect)(()=>{vt.current=y},[y]),(0,l.useEffect)(()=>{yt.current=$e},[$e]),(0,l.useEffect)(()=>{yn.current=null,bn.current=!1,mt.current=null,wn(null),En.current=null,Dn.current=new Set,Ft(!1)},[e]),(0,l.useEffect)(()=>{Sn([]),Xe&&fetch(Xe).then(e=>e.json()).then(e=>{let t=new Set,n=[];for(let r of e.nonLinearAvails??[]){if(t.has(r.availId))continue;t.add(r.availId);let e=r.nonLinearAdsList?.[0],i=e?.nonLinearAdList?.[0];if(!i?.staticResource)continue;let a=(e?.trackingEvents??[]).filter(e=>e.eventType===`impression`).flatMap(e=>e.beaconUrls??[]),o={};try{o=JSON.parse(i.adParameters??`{}`)}catch{}let s=o.position??`bottom_center`;n.push({availId:r.availId,startTimeSeconds:Re(r.startTime??``),durationSeconds:Re(i.minSuggestedDuration??`00:00:15`),imageUrl:i.staticResource,imageWidth:parseInt(i.width??`320`,10),imageHeight:parseInt(i.height??`50`,10),title:i.adTitle??``,clickThrough:i.clickThrough??``,clickTrackingUrl:i.clickTracking??``,impressionBeacons:a,position:s,dismissible:o.dismissible===!0})}Sn(n)}).catch(()=>{})},[Xe,e]),(0,l.useEffect)(()=>{kn([]),Ze&&fetch(Ze).then(e=>e.json()).then(e=>{kn((e.avails??[]).map(e=>{let t=e.ads?.[0],n=t?.skipOffset??null,r=!!n,i={};try{i=JSON.parse(t?.adParameters??`{}`)}catch{}let a=i.ctaText&&i.redirectUrl?{text:i.ctaText,url:i.redirectUrl,title:i.title||void 0,description:i.description||void 0}:null;return{startTimeSeconds:e.startTimeInSeconds??0,durationSeconds:e.durationInSeconds??0,skippable:r,skipOffsetSeconds:r?Re(n):0,cta:a}}))}).catch(()=>{})},[Ze,e]),(0,l.useEffect)(()=>{if(!P||On.length===0)return;let e=On.map(e=>({startTime:e.startTimeSeconds,endTime:e.startTimeSeconds+e.durationSeconds}));P.setAdBreaks(e)},[P,On]),(0,l.useEffect)(()=>{if(!P)return;let e=()=>{document.hidden?qe&&Rr.current&&Lr.current&&(P.pause(),bn.current=!0):bn.current&&=(P.play(),!1)};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[P,qe]);let Ur=()=>{Vr()},Wr=()=>{ze&&!nt.current&&S.current&&(nt.current=!0,S.current.requestFullscreen().catch(()=>{}))},Gr=()=>{if(P){if(K){P.casting.remotePlayPause(),Vr();return}if(sn)X(0),Wr(),P.play(),cn(!1);else if(Rt){P.pause();try{let e=P.getVideoElement?.();e&&!e.paused&&e.pause()}catch{}if(S.current&&S.current.querySelectorAll(`video`).forEach(e=>{try{e.pause()}catch{}}),w.current&&!w.current.paused)try{w.current.pause()}catch{}}else Wr(),P.play();Vr()}},Kr=e=>{if(!C.current||!P||z===0)return 0;let t=C.current.getBoundingClientRect();return V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z)},qr=e=>{if(!P||J||Nr)return;st.current=!0,Dr(Kr(e));let t=e=>{if(!st.current||!C.current)return;let t=C.current.getBoundingClientRect(),n=V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z);Dr(n),vr(e.clientX-t.left),Sr(n),w.current&&(w.current.currentTime=n),Vr()},n=e=>{if(st.current=!1,C.current){let t=C.current.getBoundingClientRect();X(V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z))}Dr(null),vr(null),wr(null),Er(null),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},X=(e,t)=>{if(!P)return;if(K){P.casting.remoteSeek(e);return}let n=Math.max(0,Vt>0?Math.min(e,Vt):e);if(t){let{eventType:e,...n}=t;P.attributeNextSeek(e,n)}let r=P.getCurrentTime();if(n>r&&R.current.length>0){let e=R.current.filter(e=>e.startTime<n&&e.endTime>r&&!un.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){mt.current=n;let t=e[e.length-1],i=Math.max(t.startTime,r);T.current=!0,E.current=i,D.current=r,Bt(i),Fr.current=!0,Pr(!0),k.current&&(k.current.style.opacity=`1`),dt(P.getVideoElement()),P.seek(i),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,Fr.current=!1,Pr(!1),E.current=null,D.current=null,O.current=null,k.current&&(k.current.style.opacity=`0`),ft(P.getVideoElement())},3e3);return}}mt.current=null;let i=R.current.find(e=>un.current.has(e.startTime)&&n>=e.startTime-.5&&n<e.endTime+2),a=i?Math.max(n,i.endTime+.5):n;T.current=!0,E.current=a,D.current=r,Bt(a),k.current&&(k.current.style.opacity=`0`),ft(P.getVideoElement()),P.seek(a),O.current&&window.clearTimeout(O.current),O.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current=null,k.current&&(k.current.style.opacity=`0`)},3e3)};ht.current=X;let Jr=()=>{if(!P)return;if(K){P.casting.remoteSetMute(!(cr?.isMuted??!1));return}let e=!Gt;P.setMute(e),Kt(e)},Yr=e=>{P&&(P.setPlaybackRate(e),Xn(e),G(`none`),nr(`Playback speed: ${e===1?`Normal`:`${e}x`}`))},Xr=e=>{if(!P)return;P.setQuality(e);let t=Nn.find(t=>t.id===e);t&&(In(t),nr(`Quality: ${t.label}`)),G(`none`)},Zr=e=>{if(P)if(P.subtitles.setActiveTrack(e),zn(e),G(`none`),e===`off`)nr(`Captions off`);else{let t=Bn.find(t=>t.id===e);nr(`Captions: ${t?_(t):`on`}`)}},Qr=e=>{P&&(A.current&&=(clearTimeout(A.current),null),ir(null),j.current&&(j.current.style.opacity=`1`),Jt(!0),_t.current===null&&(gt.current=P.getCurrentTime()),_t.current={targetIdx:e},G(`none`),nr(`Source: ${y?.[e]?.label??``}`),$e?.(e))},$r=(e,t)=>{X(e,{eventType:`key_moments`,momentTitle:t?.title??``,momentTime:e}),G(`none`)},ei=(0,l.useCallback)(()=>{if(!St.current)return;let e=P?.getVideoElement?.();e&&S.current&&e.ownerDocument!==document&&(e.classList.remove(`gb-pip-video`),e.style.objectFit=``,S.current.insertBefore(e,S.current.firstChild)),St.current=null,on(null),rn(!1)},[P]),ti=async()=>{if(!P)return;let e=window.documentPictureInPicture;if(!e){P.togglePictureInPicture();return}if(St.current){St.current.close();return}try{let t=P.getVideoElement(),n=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,r=await e.requestWindow({width:360,height:Math.round(360/n)}),i=r.document.createElement(`style`);i.textContent=je,r.document.head.appendChild(i),t.classList.add(`gb-pip-video`),r.document.body.appendChild(t),r.addEventListener(`pagehide`,()=>ei(),{once:!0}),St.current=r,on(r),rn(!0)}catch(e){console.error(`[PlayerSDK PiP] Failed to open custom Picture-in-Picture window:`,e)}},ni=e=>{if(J||Nr)return;let t=e.currentTarget.getBoundingClientRect();X(V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z))},ri=()=>{if(!S.current)return;let e=S.current,t=document,n=e,r=!!(document.fullscreenElement||t.webkitFullscreenElement),i=()=>{Qt(!0),Xt(!0),document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`,P?.analytics.track(`fullscreen_enter`,P.getVideoElement())},a=()=>{Qt(!1),Xt(!1),document.body.style.overflow=``,document.body.style.touchAction=``,P?.analytics.track(`fullscreen_exit`,P.getVideoElement())};if(r||Zt)en(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():a();else{en(Tt.current);let t=e.requestFullscreen?.bind(e)??n.webkitRequestFullscreen?.bind(n);t?t().catch(i):i()}};(0,l.useEffect)(()=>{lt.current=ri});let ii=()=>{if(!J)return;let e=L.find(e=>I>=e.startTime&&I<e.endTime);e&&pt.current?.(e.endTime)},ai=()=>{En.current&&Dn.current.add(En.current.availId),wn(null),En.current=null},oi=e=>{e.clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:`no-cors`}).catch(()=>{}),e.clickThrough&&window.open(e.clickThrough,`_blank`,`noopener,noreferrer`)},si=e=>{window.open(e.url,`_blank`,`noopener,noreferrer`)},ci=()=>{P&&(K?P.casting.stopCasting():P.casting.requestSession(e,I))},li=()=>{if(!P)return;let e=P.getVideoElement();if(pr){P.casting.stopAirPlay(e);return}typeof e.webkitShowPlaybackTargetPicker==`function`||P.casting.isAirPlayAvailable()?P.casting.requestAirPlaySession(e):console.warn(`[PlayerSDK AirPlay] AirPlay is not available on this device.`)},ui=e=>{if(!C.current||z===0||!P||J||Nr)return;let t=C.current.getBoundingClientRect();rt.current=t.width,br(Math.max(192/2,Math.min(e.clientX-t.left,t.width-192/2)));let n=V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z);vr(e.clientX-t.left),Sr(n),ot.current&&window.clearTimeout(ot.current),ot.current=window.setTimeout(()=>{w.current&&(w.current.currentTime=n)},100),Er(P.keyMoments.getCurrentMoment(n).keyMoment)},di=e=>{if(!C.current||z===0)return 0;let t=C.current.getBoundingClientRect();return V(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*z)},fi=e=>{if(!P||J||Nr||z===0)return;e.preventDefault(),st.current=!0,Dr(di(e.touches[0]));let t=e=>{if(!st.current||!C.current)return;let t=e.touches[0],n=C.current.getBoundingClientRect(),r=V(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*z);Dr(r),Sr(r),Vr()},n=e=>{if(st.current=!1,C.current&&e.changedTouches[0]){let t=e.changedTouches[0],n=C.current.getBoundingClientRect();X(V(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*z))}Dr(null),document.removeEventListener(`touchmove`,t),document.removeEventListener(`touchend`,n)};document.addEventListener(`touchmove`,t,{passive:!1}),document.addEventListener(`touchend`,n)},pi=()=>{vr(null),wr(null),Er(null),ot.current&&window.clearTimeout(ot.current)},Z=e=>{if(isNaN(e)||e<0)return`00:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`};(0,l.useEffect)(()=>{ar.current&&nr(Rt?`Playing`:`Paused`)},[Rt]),(0,l.useEffect)(()=>{ar.current&&nr(Gt?`Muted`:`Unmuted`)},[Gt]),(0,l.useEffect)(()=>{ar.current=!0},[]),(0,l.useEffect)(()=>{let e=e=>{e.key===`Escape`&&zr.current!==`none`&&(e.preventDefault(),G(`none`))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let mi=K?!(cr?.isPaused??!0):Rt,Q=K?cr?.currentTime??0:I,hi=K?cr?.duration??0:z,gi=K?cr?.volumeLevel??1:Ut,_i=K?cr?.isMuted??!1:Gt,vi=(0,l.useCallback)(e=>{if(J||Nr||e.target.closest(`.sdk-mobile-ctrl`))return;let t=Date.now(),n=S.current?.getBoundingClientRect(),r=e.clientX-(n?.left??0),i=Et.current;if(i&&t-i.time<300){Et.current=null;let e=r<(n?.width??0)/2,t=e?-10:10;X(V(Math.max(0,Math.min(z,B(Q)+t))),{eventType:e?`fast_backward`:`fast_forward`,skipSeconds:10}),Ot(e?`left`:`right`),window.setTimeout(()=>Ot(null),700),Vr()}else Et.current={time:t,x:r},Ar?(jr(!1),Ir.current&&window.clearTimeout(Ir.current)):Vr()},[J,Nr,z,B,Q,V,X,Ar]),yi=()=>_i||gi===0?(0,d.jsx)(De,{size:18}):gi<.3?(0,d.jsx)(Oe,{size:18}):gi<.7?(0,d.jsx)(Te,{size:18}):(0,d.jsx)(Ee,{size:18}),$=e=>t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),e()):t.key===`Escape`&&(t.preventDefault(),G(`none`))},bi=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},xi=e=>{if(!(J||Nr))if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-5:5;X(V(Math.max(0,Math.min(z,B(Q)+t))))}else e.key===`Home`?(e.preventDefault(),X(V(0))):e.key===`End`&&(e.preventDefault(),X(V(z)))},Si=e=>{G(W===e?`none`:e)},Ci=(0,l.useCallback)(e=>{if(!e)return;e.style.left=``;let t=S.current;if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-(r.right-8),a=r.left+8-n.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:a>0&&(e.style.left=`calc(50% + ${Math.ceil(a)}px)`)},[]);return(0,d.jsxs)(`div`,{ref:S,role:`region`,"aria-label":Ue||Or?`${Ue||Or} video player`:`Video player`,className:`sdk-player-container ${Ar?`controls-active`:``} ${Zt?`sdk-fs-simulated`:``}`,onMouseMove:Ur,onTouchStart:tn?void 0:Vr,onMouseLeave:()=>{},style:{border:Zt?`none`:`1px solid rgba(255, 255, 255, 0.08)`,"--sdk-theme-color":s,"--sdk-theme-color-rgb":Fe(s)},children:[(0,d.jsx)(`canvas`,{ref:it,width:160,height:90,style:{display:`none`,position:`absolute`,pointerEvents:`none`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sdk-sr-only`,children:tr}),(0,d.jsx)(`div`,{ref:k,style:{opacity:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),an&&(0,d.jsxs)(`div`,{className:`sdk-pip-placeholder`,"aria-hidden":`true`,children:[(0,d.jsx)(xe,{size:32,"aria-hidden":`true`}),(0,d.jsx)(`span`,{children:`Playing in Picture-in-Picture`})]}),(0,d.jsx)(`div`,{ref:j,style:{opacity:b&&b>0?1:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`sdk-spinner-overlay ${qt?`active`:``}`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`sdk-spinner`})}),Pt&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:50,background:`rgba(9,9,14,0.96)`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:20,padding:`0 24px`},children:(0,d.jsx)(te,{onRetry:()=>{Ft(!1),Lt(e=>e+1)}})}),rr&&(0,d.jsx)(`div`,{style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, calc(-50% + 70px))`,background:`rgba(0,0,0,0.82)`,color:`#fff`,fontSize:13,fontWeight:500,padding:`8px 16px`,borderRadius:8,zIndex:102,pointerEvents:`none`,maxWidth:`85%`,textAlign:`center`,backdropFilter:`blur(8px)`,border:`1px solid rgba(255,255,255,0.12)`},children:rr}),F.enableSubtitles&&!J&&Ln&&H!==`off`&&(0,d.jsx)(`div`,{className:`sdk-subtitles-overlay`,children:(0,d.jsx)(`span`,{className:`sdk-subtitles-text`,style:{fontSize:v.size===`small`?`14px`:v.size===`large`?`24px`:`18px`,color:v.color??`#ffffff`,background:v.background===`none`?`transparent`:v.background===`solid`?`rgba(0, 0, 0, 0.92)`:`rgba(15, 23, 42, 0.78)`,border:v.background===`none`?`none`:`1px solid rgba(255,255,255,0.08)`,backdropFilter:v.background===`none`?`none`:`blur(8px)`},dangerouslySetInnerHTML:{__html:Ln}})}),Cn&&(0,d.jsxs)(`div`,{className:`sdk-overlay-ad sdk-overlay-ad--${Cn.position}`,role:`complementary`,"aria-label":`Advertisement`,children:[(0,d.jsxs)(`div`,{className:`sdk-overlay-ad-topbar`,children:[(0,d.jsx)(`span`,{className:`sdk-overlay-ad-label`,children:`Ad`}),Cn.dismissible&&(0,d.jsx)(`button`,{className:`sdk-overlay-ad-close`,onClick:ai,"aria-label":`Close advertisement`,children:`✕`})]}),(0,d.jsx)(`img`,{src:Cn.imageUrl,width:Cn.imageWidth,height:Cn.imageHeight,alt:Cn.title||`Advertisement`,className:`sdk-overlay-ad-img`,onClick:()=>oi(Cn)})]}),J&&(()=>{let e=L.find(e=>I>=e.startTime&&I<e.endTime),t=e?Math.max(0,e.endTime-I):0,n=e?I-e.startTime:0,r=On.find(e=>I>=e.startTimeSeconds&&I<e.startTimeSeconds+e.durationSeconds),i=r?r.skippable:Je,a=r?r.skipOffsetSeconds:Ye,o=i&&n>=a,s=Math.ceil(a-n);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-ad-countdown`,role:`timer`,"aria-label":`Advertisement — ${Z(t)} remaining`,"aria-live":`off`,children:[(0,d.jsx)(`span`,{className:`sdk-ad-countdown-label`,"aria-hidden":`true`,children:`Ad`}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-sep`,"aria-hidden":`true`,children:`·`}),(0,d.jsx)(`span`,{className:`sdk-ad-countdown-time`,"aria-hidden":`true`,children:Z(t)})]}),i&&(0,d.jsx)(`button`,{className:`sdk-skip-ad-btn ${o?`sdk-skip-ad-btn--ready`:``}`,onClick:o?ii:void 0,disabled:!o,"aria-label":o?`Skip advertisement`:`Skip advertisement available in ${s} seconds`,"aria-disabled":!o,children:o?`Skip Ad ›`:`Skip in ${s}s`}),r?.cta&&(()=>{let e=r.cta,t=(0,d.jsxs)(`button`,{className:`sdk-ad-cta-btn`,onClick:()=>si(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)(`span`,{className:`sdk-ad-cta-btn-text`,children:e.text}),(0,d.jsx)(he,{size:15,"aria-hidden":`true`})]});return(0,d.jsx)(`div`,{className:`sdk-ad-cta`,role:`complementary`,"aria-label":`Advertisement call to action`,children:e.title?(0,d.jsxs)(`div`,{className:`sdk-ad-cta-card`,children:[(0,d.jsxs)(`div`,{className:`sdk-ad-cta-info`,children:[(0,d.jsx)(`div`,{className:`sdk-ad-cta-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-ad-cta-desc`,children:e.description})]}),t]}):t})})()]})})(),Nt&&(0,d.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(0,0,0,0.72)`,color:`#fff`,zIndex:60},children:(0,d.jsxs)(`div`,{style:{maxWidth:480,textAlign:`center`,padding:24},children:[(0,d.jsx)(`h3`,{style:{margin:`0 0 8px`},children:`Playback restricted`}),(0,d.jsx)(`p`,{style:{margin:0},children:`Your account is missing a required license key. Please contact your administrator.`})]})}),(K||pr)&&(0,d.jsx)(`div`,{className:`sdk-cast-bg`}),tn&&(0,d.jsxs)(`div`,{className:`sdk-mobile-overlay ${Ar?`active`:``}`,onClick:vi,children:[Dt&&(0,d.jsx)(`div`,{className:`sdk-mobile-doubletap ${Dt}`,children:(0,d.jsxs)(`div`,{className:`sdk-mobile-doubletap-icon`,children:[Dt===`left`?(0,d.jsx)(Ce,{size:26}):(0,d.jsx)(we,{size:26}),(0,d.jsx)(`span`,{className:`sdk-mobile-doubletap-label`,children:`10s`})]})}),oe&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header sdk-mobile-ctrl`,children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-header-left`,children:[(Yt||Zt)&&(0,d.jsx)(`button`,{className:`sdk-mobile-back-btn`,onClick:ri,"aria-label":`Exit fullscreen`,children:(0,d.jsx)(me,{size:22,"aria-hidden":`true`})}),(Ue||Or)&&(0,d.jsx)(`div`,{className:`sdk-mobile-title`,children:Ue||Or})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-header-actions`,children:[F.enablePiP&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:()=>{J||ti()},style:{color:nn?s:``},"aria-label":nn?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":nn,children:(0,d.jsx)(xe,{size:20,"aria-hidden":`true`})}),F.enableChromecast&&!J&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:ci,"data-tooltip":K?`Casting to ${K} — tap to disconnect`:`Cast to device`,"aria-label":K?`Stop casting to ${K}`:`Cast to device`,"aria-pressed":!!K,style:{color:K?`#3b82f6`:``},children:(0,d.jsx)(pe,{size:20,fill:K?`currentColor`:`none`,"aria-hidden":`true`})}),F.allowAirplay&&dr&&(0,d.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:li,"aria-label":pr?`Stop AirPlay to ${hr||`device`}`:`AirPlay to device`,"aria-pressed":pr,style:{color:pr?s:``},children:(0,d.jsx)(de,{size:20,"aria-hidden":`true`})})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-center-controls sdk-mobile-ctrl`,children:[!J&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(V(Math.max(0,B(Q)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,children:[(0,d.jsx)(Ce,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-play-btn`,onClick:Gr,"aria-label":sn?`Replay`:mi?`Pause`:`Play`,children:sn?(0,d.jsx)(Ce,{size:38,"aria-hidden":`true`}):mi?(0,d.jsx)(be,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(Se,{size:38,fill:`currentColor`,style:{marginLeft:`3px`},"aria-hidden":`true`})}),!J&&(0,d.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(V(Math.min(z,B(Q)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,children:[(0,d.jsx)(we,{size:22,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]})]}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-bar sdk-mobile-ctrl`,children:[F.enableKeyMoments&&Zn&&U.length>0&&(0,d.jsx)(`div`,{className:`sdk-mobile-chapters-scroll`,children:U.map((e,t)=>{let n=Kn.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-mobile-chapter-card${n?` active`:``}`,style:{borderColor:n?s:void 0},"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>{$r(e.startTime,e)},onKeyDown:bi(()=>$r(e.startTime,e)),children:[(0,d.jsxs)(`div`,{className:`sdk-mobile-chapter-thumb`,children:[$n[t]||e.thumbnail?(0,d.jsx)(`img`,{src:$n[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(ve,{size:16,"aria-hidden":`true`,style:{color:n?s:`rgba(255,255,255,0.3)`}}),(0,d.jsx)(`span`,{className:`sdk-mobile-chapter-time-badge`,"aria-hidden":`true`,children:Z(e.startTime)})]}),(0,d.jsx)(`div`,{className:`sdk-mobile-chapter-title`,style:{color:n?s:void 0},children:e.title})]},t)})}),(0,d.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(z),"aria-valuenow":Y?void 0:Math.round(B(q===null?I:q)),"aria-valuetext":Y?void 0:`${Z(B(q===null?I:q))} of ${Z(z)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-mobile-seekbar${J?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:qr,onMouseMove:Y?void 0:ui,onMouseLeave:Y?void 0:pi,onTouchStart:Y?void 0:fi,onKeyDown:Y?void 0:xi,style:{pointerEvents:Y?`none`:void 0,touchAction:`none`},children:J?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=P?P.getCurrentTime():I,t=L.find(t=>e>=t.startTime&&e<t.endTime);return t?`${Math.min(100,Math.max(0,(e-t.startTime)/(t.endTime-t.startTime)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${Vt?(P&&P.getBufferedRanges()[0]?.end||0)/Vt*100:0}%`}}),z>0&&L.filter(e=>!fn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${B(e.startTime)/z*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:K?`${hi>0?Q/hi*100:0}%`:`${z?B(q===null?I:q)/z*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`,style:{opacity:1,transform:`scale(1)`}})}),F.enableKeyMoments&&U.map((e,t)=>z===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${B(e.startTime)/z*100}%`}},t))]})}),(0,d.jsxs)(`div`,{className:`sdk-mobile-controls-row`,children:[!J&&(0,d.jsx)(`span`,{className:`sdk-time-display`,children:K?`${Z(Q)} / ${Z(hi)}`:`${Z(B(q===null?I:q))} / ${Z(z)}`}),(0,d.jsxs)(`div`,{className:`sdk-mobile-bottom-icons`,children:[F.enableKeyMoments&&U.length>0&&!J&&(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${Zn?` active`:``}`,onClick:()=>{Qn(!Zn)},"aria-label":Zn?`Hide chapters`:`Show chapters`,"aria-pressed":Zn,children:(0,d.jsx)(ve,{size:18,"aria-hidden":`true`})}),F.enableSubtitles&&!J&&Bn.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${H===`off`?``:` active`}`,onClick:()=>{Si(`subtitles`)},"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":W===`subtitles`,children:(0,d.jsx)(fe,{size:18,"aria-hidden":`true`})}),W===`subtitles`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===`off`,tabIndex:0,className:`sdk-dropup-item ${H===`off`?`active`:``}`,onClick:()=>Zr(`off`),onKeyDown:$(()=>Zr(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),H===`off`&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]}),Bn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===e.id,tabIndex:0,className:`sdk-dropup-item ${H===e.id?`active`:``}`,onClick:()=>Zr(e.id),onKeyDown:$(()=>Zr(e.id)),children:[(0,d.jsx)(`span`,{children:_(e)}),H===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.allowMultipleAudio&&Hn.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`audio`?` active`:``}`,onClick:()=>{Si(`audio`)},"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":W===`audio`,children:(0,d.jsx)(_e,{size:18,"aria-hidden":`true`})}),W===`audio`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Hn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Wn===e.id,tabIndex:0,className:`sdk-dropup-item ${Wn===e.id?`active`:``}`,onClick:()=>{P?.setAudioTrack(e.id),Gn(e.id),G(`none`),nr(`Audio: ${_(e)}`)},onKeyDown:$(()=>{P?.setAudioTrack(e.id),Gn(e.id),G(`none`),nr(`Audio: ${_(e)}`)}),children:[(0,d.jsx)(`span`,{children:_(e)}),Wn===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.enablePlaybackSpeed&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`speed`?` active`:``}`,onClick:()=>{Si(`speed`)},"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":W===`speed`,children:(0,d.jsx)(ge,{size:18,"aria-hidden":`true`})}),W===`speed`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Yn===e,tabIndex:0,className:`sdk-dropup-item ${Yn===e?`active`:``}`,onClick:()=>Yr(e),onKeyDown:$(()=>Yr(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Yn===e&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),F.enableQuality&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${Fn.id===-1?``:` active`}`,onClick:()=>{Si(`quality`)},"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":W===`quality`,children:(0,d.jsx)(Ne,{size:18,"aria-hidden":`true`})}),W===`quality`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Nn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Fn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Fn.id===e.id?`active`:``}`,onClick:()=>Xr(e.id),onKeyDown:$(()=>Xr(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Fn.id===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),y&&y.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn${W===`sources`?` active`:``}`,onClick:()=>{Si(`sources`)},"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":W===`sources`,children:(0,d.jsx)(Pe,{size:18,"aria-hidden":`true`})}),W===`sources`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),y.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Qe===t,tabIndex:0,className:`sdk-dropup-item ${Qe===t?`active`:``}`,onClick:()=>Qr(t),onKeyDown:$(()=>Qr(t)),children:[(0,d.jsx)(`span`,{children:e.label}),Qe===t&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),(0,d.jsx)(`button`,{className:`sdk-mobile-icon-btn`,onClick:ri,"aria-label":Yt||Zt?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":Yt||Zt,children:Yt?(0,d.jsx)(m,{size:18,"aria-hidden":`true`}):(0,d.jsx)(ye,{size:18,"aria-hidden":`true`})})]})]})]})]})]}),!tn&&(0,d.jsxs)(`div`,{className:`sdk-controls-overlay`,onClick:e=>{J||e.target.closest(`.sdk-desktop-header`)||e.target.closest(`.sdk-desktop-center-controls`)||e.target.closest(`.sdk-desktop-bottom`)||Gr()},children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-header-left`,children:[(Yt||Zt)&&(0,d.jsx)(`button`,{className:`sdk-desktop-back-btn`,onClick:e=>{e.stopPropagation(),ri()},"aria-label":`Exit fullscreen`,children:(0,d.jsx)(me,{size:22,"aria-hidden":`true`})}),(Ue||Or)&&(0,d.jsx)(`span`,{className:`sdk-desktop-title`,children:Ue||Or})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-header-right`,children:[F.enableChromecast&&!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),ci()},"data-tooltip":K?`Casting to ${K} — click to disconnect`:`Cast to device`,"aria-label":K?`Stop casting to ${K}`:`Cast to device`,"aria-pressed":!!K,style:{color:K?`#3b82f6`:``},children:(0,d.jsx)(pe,{size:20,fill:K?`currentColor`:`none`,"aria-hidden":`true`})}),K&&(0,d.jsxs)(`span`,{className:`sdk-cast-indicator`,"aria-hidden":`true`,children:[(0,d.jsx)(pe,{size:10,fill:`currentColor`,"aria-hidden":`true`}),K]}),F.allowAirplay&&dr&&(0,d.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),li()},"data-tooltip":pr?`AirPlay to ${hr||`device`} — click to disconnect`:`AirPlay to device`,"aria-label":pr?`Stop AirPlay to ${hr||`device`}`:`AirPlay to device`,"aria-pressed":pr,style:{color:pr?s:``},children:(0,d.jsx)(de,{size:20,"aria-hidden":`true`})})]})]}),oe&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-center-controls`,style:{pointerEvents:`none`},children:[!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(V(Math.max(0,B(Q)-10)),{eventType:`fast_backward`,skipSeconds:10})},"aria-label":`Rewind 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(Ce,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})}),(0,d.jsx)(`button`,{className:`sdk-desktop-play-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Gr()},"aria-label":sn?`Replay`:mi?`Pause`:`Play`,children:sn?(0,d.jsx)(Ce,{size:38,"aria-hidden":`true`}):mi?(0,d.jsx)(be,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,d.jsx)(Se,{size:38,fill:`currentColor`,style:{marginLeft:`4px`},"aria-hidden":`true`})}),!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(V(Math.min(z,B(Q)+10)),{eventType:`fast_forward`,skipSeconds:10})},"aria-label":`Skip forward 10 seconds`,children:(0,d.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(we,{size:30,"aria-hidden":`true`}),(0,d.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})})]}),F.enableKeyMoments&&Zn&&U.length>0&&We===`panel`&&(0,d.jsxs)(`div`,{className:`sdk-chapters-panel`,onClick:e=>e.stopPropagation(),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-header`,children:(0,d.jsx)(`span`,{className:`sdk-chapters-panel-title`,children:`Chapters`})}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-list`,children:U.map((e,t)=>{let n=Kn.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-chapters-panel-item${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>$r(e.startTime,e),onKeyDown:bi(()=>$r(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-thumb`,children:$n[t]||e.thumbnail?(0,d.jsx)(`img`,{src:$n[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(ve,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.3)`}})}),(0,d.jsxs)(`div`,{className:`sdk-chapters-panel-info`,children:[(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-title`,children:e.title}),e.description&&(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-desc`,children:e.description}),(0,d.jsx)(`div`,{className:`sdk-chapters-panel-item-time`,"aria-hidden":`true`,children:Z(e.startTime)})]})]},t)})})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-bottom`,children:[F.enableKeyMoments&&Zn&&U.length>0&&We===`strip`&&(0,d.jsx)(`div`,{className:`sdk-desktop-chapters-strip`,children:U.map((e,t)=>{let n=Kn.index===t;return(0,d.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-desktop-chapter-card${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:t=>{t.stopPropagation(),$r(e.startTime,e)},onKeyDown:bi(()=>$r(e.startTime,e)),children:[(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-thumb`,children:$n[t]||e.thumbnail?(0,d.jsx)(`img`,{src:$n[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,d.jsx)(ve,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.35)`}})}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-title`,children:e.title}),(0,d.jsx)(`div`,{className:`sdk-desktop-chapter-time`,"aria-hidden":`true`,children:Z(e.startTime)})]},t)})}),(0,d.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(z),"aria-valuenow":Y?void 0:Math.round(B(q===null?I:q)),"aria-valuetext":Y?void 0:`${Z(B(q===null?I:q))} of ${Z(z)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-desktop-seekbar${J?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:qr,onMouseMove:Y?void 0:ui,onMouseLeave:Y?void 0:pi,onTouchStart:Y?void 0:fi,onKeyDown:Y?void 0:xi,style:{pointerEvents:Y?`none`:void 0},children:J?(0,d.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=P?P.getCurrentTime():I,t=L.find(t=>e>=t.startTime&&e<t.endTime);return t?`${Math.min(100,Math.max(0,(e-t.startTime)/(t.endTime-t.startTime)*100))}%`:`0%`})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${Vt?(P&&P.getBufferedRanges()[0]?.end||0)/Vt*100:0}%`}}),z>0&&L.filter(e=>!fn.has(e.startTime)).map((e,t)=>(0,d.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${B(e.startTime)/z*100}%`,width:`3px`}},t)),(0,d.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:K?`${hi>0?Q/hi*100:0}%`:`${z?B(q===null?I:q)/z*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,d.jsx)(`div`,{className:`sdk-seekbar-handle`})}),F.enableKeyMoments&&U.map((e,t)=>z===0?null:(0,d.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${B(e.startTime)/z*100}%`}},t)),_r!==null&&Cr&&(0,d.jsxs)(`div`,{className:`sdk-thumbnail-tooltip`,style:{left:`${yr}px`},children:[(0,d.jsx)(`div`,{className:`sdk-thumbnail-preview`,children:(0,d.jsx)(`img`,{src:Cr,alt:`preview`,style:{width:`100%`,height:`100%`,objectFit:`cover`,borderRadius:`8px`,display:`block`}})}),Tr&&(0,d.jsx)(`div`,{className:`sdk-thumbnail-chapter-name`,children:Tr.title}),(0,d.jsx)(`div`,{className:`sdk-thumbnail-time-label`,children:Z(B(xr))})]})]})}),(0,d.jsxs)(`div`,{className:`sdk-desktop-controls-row`,children:[(0,d.jsxs)(`div`,{className:`sdk-desktop-left-controls`,children:[!J&&(0,d.jsx)(`div`,{className:`sdk-time-display`,children:K?`${Z(Q)} / ${Z(hi)}`:`${Z(B(q===null?I:q))} / ${Z(z)}`}),Ge===`slider`&&(0,d.jsxs)(`div`,{className:`sdk-volume-control`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Jr()},"data-tooltip":_i?`Unmute`:`Mute`,"aria-label":_i?`Unmute`:`Mute`,"aria-pressed":_i,children:yi()}),(0,d.jsx)(`input`,{type:`range`,className:`sdk-volume-slider`,min:0,max:1,step:.02,value:_i?0:gi,"aria-label":`Volume`,"aria-valuetext":_i?`Muted`:`${Math.round(gi*100)}%`,style:{"--vol-pct":Math.round((_i?0:gi)*100)},onChange:e=>{let t=parseFloat(e.target.value);K?(P?.casting.remoteSetVolume(t),t>0&&P?.casting.remoteSetMute(!1)):(P?.setVolume(t),t>0&&Gt&&P?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)(`div`,{className:`sdk-desktop-right-icons`,children:[F.enableKeyMoments&&U.length>0&&!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Zn?` active`:``}`,onClick:e=>{e.stopPropagation(),Qn(!Zn)},"data-tooltip":`Key Moments`,"aria-label":Zn?`Hide chapters`:`Show chapters`,"aria-pressed":Zn,children:(0,d.jsx)(ve,{size:20,"aria-hidden":`true`})}),F.enableSubtitles&&!J&&Bn.some(e=>!e.isNative)&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${H===`off`?``:` active`}`,onClick:e=>{e.stopPropagation(),Si(`subtitles`)},"data-tooltip":`Captions`,"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":W===`subtitles`,children:(0,d.jsx)(fe,{size:20,"aria-hidden":`true`})}),W===`subtitles`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===`off`,tabIndex:0,className:`sdk-dropup-item ${H===`off`?`active`:``}`,onClick:()=>Zr(`off`),onKeyDown:$(()=>Zr(`off`)),children:[(0,d.jsx)(`span`,{children:`Off`}),H===`off`&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]}),Bn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":H===e.id,tabIndex:0,className:`sdk-dropup-item ${H===e.id?`active`:``}`,onClick:()=>Zr(e.id),onKeyDown:$(()=>Zr(e.id)),children:[(0,d.jsx)(`span`,{children:_(e)}),H===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.allowMultipleAudio&&Hn.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`audio`?` active`:``}`,onClick:e=>{e.stopPropagation(),Si(`audio`)},"data-tooltip":`Audio Track`,"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":W===`audio`,children:(0,d.jsx)(_e,{size:20,"aria-hidden":`true`})}),W===`audio`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Hn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Wn===e.id,tabIndex:0,className:`sdk-dropup-item ${Wn===e.id?`active`:``}`,onClick:()=>{P?.setAudioTrack(e.id),Gn(e.id),G(`none`),nr(`Audio: ${_(e)}`)},onKeyDown:$(()=>{P?.setAudioTrack(e.id),Gn(e.id),G(`none`),nr(`Audio: ${_(e)}`)}),children:[(0,d.jsx)(`span`,{children:_(e)}),Wn===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),F.enablePlaybackSpeed&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`speed`?` active`:``}`,onClick:e=>{e.stopPropagation(),Si(`speed`)},"data-tooltip":`Playback Speed`,"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":W===`speed`,children:(0,d.jsx)(ge,{size:20,"aria-hidden":`true`})}),W===`speed`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Yn===e,tabIndex:0,className:`sdk-dropup-item ${Yn===e?`active`:``}`,onClick:()=>Yr(e),onKeyDown:$(()=>Yr(e)),children:[(0,d.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Yn===e&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),F.enableQuality&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${Fn.id===-1?``:` active`}`,onClick:e=>{e.stopPropagation(),Si(`quality`)},"data-tooltip":`Quality`,"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":W===`quality`,children:(0,d.jsx)(Ne,{size:20,"aria-hidden":`true`})}),W===`quality`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),Nn.map(e=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Fn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${Fn.id===e.id?`active`:``}`,onClick:()=>Xr(e.id),onKeyDown:$(()=>Xr(e.id)),children:[(0,d.jsx)(`span`,{children:e.label}),Fn.id===e.id&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),y&&y.length>1&&!J&&(0,d.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${W===`sources`?` active`:``}`,onClick:e=>{e.stopPropagation(),Si(`sources`)},"data-tooltip":`Select Source`,"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":W===`sources`,children:(0,d.jsx)(Pe,{size:20,"aria-hidden":`true`})}),W===`sources`&&(0,d.jsxs)(`div`,{ref:Ci,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,d.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),y.map((e,t)=>(0,d.jsxs)(`div`,{role:`option`,"aria-selected":Qe===t,tabIndex:0,className:`sdk-dropup-item ${Qe===t?`active`:``}`,onClick:()=>Qr(t),onKeyDown:$(()=>Qr(t)),children:[(0,d.jsx)(`span`,{children:e.label}),Qe===t&&(0,d.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),F.enablePiP&&!J&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn${nn?` active`:``}`,onClick:e=>{e.stopPropagation(),ti()},"data-tooltip":`Picture-in-Picture`,"aria-label":nn?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":nn,children:(0,d.jsx)(xe,{size:20,"aria-hidden":`true`})}),Ge===`button`&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Jr()},"data-tooltip":_i?`Unmute`:`Mute`,"aria-label":_i?`Unmute`:`Mute`,"aria-pressed":_i,children:yi()}),Ie&&(0,d.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),ri()},"data-tooltip":Yt||Zt?`Exit fullscreen`:`Fullscreen`,"aria-label":Yt||Zt?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":Yt||Zt,children:Yt?(0,d.jsx)(m,{size:20,"aria-hidden":`true`}):(0,d.jsx)(ye,{size:20,"aria-hidden":`true`})})]})]})]})]})]}),an&&(()=>{let e=L.find(e=>Q>=e.startTime&&Q<e.endTime),t=e?e.endTime-e.startTime:z,n=e?Math.max(0,Q-e.startTime):B(Q);return(0,u.createPortal)((0,d.jsxs)(`div`,{className:`gb-pip-overlay${mi?``:` gb-pip-paused`}`,children:[(0,d.jsx)(`div`,{}),(0,d.jsxs)(`div`,{className:`gb-pip-center`,children:[(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>X(V(Math.max(0,B(Q)-10)),{eventType:`fast_backward`,skipSeconds:10}),"aria-label":`Rewind 10 seconds`,disabled:J,children:(0,d.jsx)(Ce,{size:20,"aria-hidden":`true`})}),(0,d.jsx)(`button`,{className:`gb-pip-btn gb-pip-play`,onClick:Gr,"aria-label":sn?`Replay`:mi?`Pause`:`Play`,children:sn?(0,d.jsx)(Ce,{size:24,"aria-hidden":`true`}):mi?(0,d.jsx)(be,{size:24,"aria-hidden":`true`}):(0,d.jsx)(Se,{size:24,"aria-hidden":`true`,style:{marginLeft:2}})}),(0,d.jsx)(`button`,{className:`gb-pip-btn`,onClick:()=>X(V(Math.min(z,B(Q)+10)),{eventType:`fast_forward`,skipSeconds:10}),"aria-label":`Skip forward 10 seconds`,disabled:J,children:(0,d.jsx)(we,{size:20,"aria-hidden":`true`})})]}),(0,d.jsxs)(`div`,{className:`gb-pip-bottom`,children:[(0,d.jsx)(`div`,{className:`gb-pip-progress`,onClick:ni,children:(0,d.jsx)(`div`,{className:`gb-pip-progress-fill`,style:{width:`${t?n/t*100:0}%`}})}),(0,d.jsxs)(`div`,{className:`gb-pip-time`,children:[Z(n),` / `,Z(t)]})]})]}),an.document.body)})()]})},Be=`https://dev-api.go-boss.com`;function v(e){return{"x-player-key":e,"Content-Type":`application/json`}}async function Ve(e,t=Be){let n=await fetch(`${t}/api/player/sdk/init`,{method:`POST`,headers:v(e),body:JSON.stringify({})});if(!n.ok)throw Error(`SDK init failed: ${n.status}`);return await n.json()}async function He(e,t,n,r=Be){let i=await fetch(`${r}/api/player/sdk/session/start`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t,videoId:n})});if(!i.ok)throw Error(`Session start failed: ${i.status}`)}async function Ue(e,t,n,r,i=Be){let a={sessionId:t,currentTime:n,duration:r},o=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:`POST`,headers:v(e),body:JSON.stringify(a)});if(!o.ok)throw Error(`Heartbeat failed: ${o.status}`)}async function We(e,t,n=Be){let r=await fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t})});if(!r.ok)throw Error(`Session end failed: ${r.status}`)}async function Ge(e,t,n=Be){let r=await fetch(`${n}/api/player/sdk/events`,{method:`POST`,headers:v(e),body:JSON.stringify(t)});if(!r.ok)throw Error(`Event ${t.eventType} failed: ${r.status}`)}function Ke(e,t,n=Be){fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t}),keepalive:!0})}function qe(){if(!(typeof screen>`u`))return screen.orientation?.type??void 0}var Je=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch(typeof e.currentTime==`number`&&!Number.isNaN(e.currentTime)&&(this.lastCurrentTime=e.currentTime),typeof e.duration==`number`&&!Number.isNaN(e.duration)&&(this.lastDuration=e.duration),typeof e.totalWatchTime==`number`&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case`play`:this.isPlaybackActive?this.call(`playerDidResumePlaying`,e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call(`playerDidStartPlaying`,e.currentTime,this.autoplay));break;case`pause`:e.duration>0&&e.currentTime>=e.duration-.25||this.call(`playerDidPause`,e.currentTime);break;case`ended`:this.isPlaybackActive=!1,this.hasFinished=!0,this.call(`playerDidFinishPlaying`,e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case`seek`:this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case`fast_forward`:this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case`fast_backward`:this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case`buffering_start`:this.call(`playerDidStartBuffering`,e.currentTime);break;case`buffering_end`:this.call(`playerDidFinishBuffering`,e.currentTime);break;case`quality_change`:{let t=e.rendition;t&&t!==this.prevQuality&&(this.call(`playerDidChangeQuality`,this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case`subtitle_change`:if(e.subtitleEnabled===!1)this.call(`playerDidDisableSubtitle`,this.prevSubtitle),this.prevSubtitle=void 0;else{let t=e.subtitleLanguage??``;this.call(`playerDidChangeSubtitle`,this.prevSubtitle,t),this.prevSubtitle=t}break;case`audio_track_change`:{let t=e.audioTrack??``;this.call(`playerDidChangeAudioTrack`,this.prevAudioTrack,t),this.prevAudioTrack=t;break}case`speed_change`:{let t=e.speed??1;t!==this.prevSpeed&&(this.call(`playerDidChangePlaybackSpeed`,this.prevSpeed,t),this.prevSpeed=t);break}case`fullscreen_enter`:this.call(`playerDidEnterFullscreen`,qe());break;case`fullscreen_exit`:this.call(`playerDidExitFullscreen`,qe());break;case`key_moments`:{let t=e.momentTitle??``,n=e.momentTime??e.currentTime,r=this.keyMoments,i=r.findIndex(e=>t&&e.title===t||e.startTime===n),a=i>=0?r[i]:void 0;this.call(`playerDidSelectKeyMoment`,i>=0?String(i):void 0,a?.title??t,a?.startTime??n,a?.endTime??n);break}case`pip_toggle`:(e.pipState?e.pipState===`entered`:e.errorMessage===`entered`)?this.call(`playerDidEnterPictureInPicture`,e.currentTime):this.call(`playerDidExitPictureInPicture`,e.currentTime);break;case`error`:this.call(`playerDidEncounterPlaybackError`,e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),e.errorMessage??`Unknown player error`,e.isRecoverable??!1);break;case`network_error`:this.call(`playerDidEncounterNetworkError`,e.errorCode??0,e.errorMessage??`Network error`,e.isRecoverable??!1);break}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){let{fromTime:t,startedWallMs:n}=this.pendingSeek;this.pendingSeek=null,this.call(`playerDidFinishSeeking`,t,e,(Date.now()-n)/1e3)}this.call(`playerDidUpdateCurrentTime`,e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call(`playerDidDismiss`,this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){if(this.pendingSeek){this.pendingSeek.toTime=t;return}this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call(`playerDidStartSeeking`,e)}call(e,...t){let n=this.delegate,r=n?.[e];if(typeof r==`function`)try{r.apply(n,t)}catch(t){console.error(`[PlayerSDK Delegate] ${String(e)} callback failed:`,t)}}},Ye={subtitles:`subtitle_support`,ads:`ad_support`,chapterMarkers:`key_moments`,playbackSpeed:`playback_speed`,airplay:`airplay`,chromecast:`chromecast`,pictureInPicture:`picture_in_picture`,multipleResolution:`multiple_resolution`,multipleAudio:`multiple_audio`,drmProtection:`drm_protection`,screenRecordingPrevention:`screen_recording_prevention`,signalStrength:`signal_strength`};function Xe(e){let t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(let[n,r]of Object.entries(Ye))n in e&&(t[r]=e[n]);return t}function Ze(e){if(!e)return e=>e;let t=[];for(let n of e.split(`,`)){let[e,r]=n.split(`=`);e?.trim()&&r?.trim()&&t.push({domain:e.trim(),proxyPath:r.trim()})}return e=>{for(let{domain:n,proxyPath:r}of t)if(e.includes(n))try{let t=new URL(e);return`${r}${t.pathname}${t.search}`}catch{return e.replace(`https://${n}`,r)}return e}}function y(e){let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:`99, 102, 241`}var Qe=3e4;function $e(e,t){switch(e.eventType){case`pause`:return{eventType:`pause`,extras:{}};case`seek`:return{eventType:`seek`,extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case`mute`:return{eventType:`mute`,extras:{isMuted:e.isMuted??!0}};case`fast_forward`:return{eventType:`fast_forward`,extras:{skipSeconds:e.skipSeconds??10}};case`fast_backward`:return{eventType:`fast_backward`,extras:{skipSeconds:e.skipSeconds??10}};case`key_moments`:return{eventType:`key_moments`,extras:{momentTitle:e.momentTitle??``,momentTime:e.momentTime??0}};case`buffering_start`:return{eventType:`buffering_start`,extras:{bufferingCount:e.bufferingCount??0}};case`buffering_end`:return{eventType:`buffering_end`,extras:{}};case`quality_change`:return!t||!e.rendition||t===e.rendition?null:{eventType:`quality_change`,extras:{from:t,to:e.rendition}};case`speed_change`:return{eventType:`speed_change`,extras:{speed:e.speed??1}};case`subtitle_change`:return e.subtitleEnabled===!1?{eventType:`subtitle_disable`,extras:{enabled:!1}}:{eventType:`subtitle_change`,extras:{language:e.subtitleLanguage??``,enabled:!0}};case`audio_track_change`:return{eventType:`audio_track_change`,extras:{track:e.audioTrack??``}};case`pip_toggle`:return{eventType:`pip_toggle`,extras:{enabled:e.errorMessage===`entered`}};case`fullscreen_enter`:return{eventType:`fullscreen_toggle`,extras:{enabled:!0}};case`fullscreen_exit`:return{eventType:`fullscreen_toggle`,extras:{enabled:!1}};case`error`:return{eventType:`player_error`,extras:{code:e.errorCode==null?`PLAYER_ERROR`:String(e.errorCode),message:e.errorMessage??`Unknown player error`}};case`network_error`:return{eventType:`network_error`,extras:{code:e.errorCode?String(e.errorCode):`NETWORK_ERROR`,message:e.errorMessage??`Network error`}};default:return null}}function b({playerKey:e,src:t,subtitles:n,licenseKey:r,themeColor:i=`#6366f1`,firebaseConfig:a,proxyDomains:o,apiBaseUrl:s,adTrackingUrl:c,overlayAdUrl:u,title:ee,watermark:ne,autoplay:re=!1,muted:ie=!1,autoFullscreen:ae=!1,enableControls:oe=!0,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le=`strip`,volumeControlType:ue=`slider`,subtitleStyle:f,drmConfig:de,onAnalyticsEvent:fe,delegate:pe,onKeyMomentsLoaded:p,initialTime:me,onTimeUpdate:he}){let[ge,_e]=(0,l.useState)([]),[ve,ye]=(0,l.useState)(0),[m]=(0,l.useState)(()=>new Je);(0,l.useEffect)(()=>{m.setDelegate(pe),m.setAutoplay(re)},[m,pe,re]),(0,l.useEffect)(()=>()=>m.notifyDismissed(),[m]);let be=Array.isArray(t)?t:[{label:`Default`,url:t}],xe=be[ve]?.url??be[0]?.url??``,[Se,Ce]=(0,l.useState)(`loading`),[we,Te]=(0,l.useState)(null),[Ee,De]=(0,l.useState)(0),[Oe,ke]=(0,l.useState)(`network`),Ae=(0,l.useRef)(null),je=(0,l.useRef)(!1),h=(0,l.useRef)(``),Me=(0,l.useRef)(!1),Ne=(0,l.useRef)(!1),Pe=(0,l.useRef)(void 0),Fe=(0,l.useRef)(!1),g=(0,l.useRef)(null),Ie=(0,l.useRef)(0),_=(0,l.useRef)(null),Le=(0,l.useRef)({currentTime:0,duration:0}),Re=(0,l.useRef)(()=>{}),Be=xe.split(`/`).filter(Boolean),v=(Be[Be.length-1]??``).replace(/\.m3u8.*$/,``)||`video`,qe=(0,l.useCallback)(()=>Ze(o),[o])(),Ye=y(i);(0,l.useEffect)(()=>{document.documentElement.style.setProperty(`--accent-indigo`,i),document.documentElement.style.setProperty(`--accent-indigo-rgb`,Ye)},[i,Ye]),(0,l.useEffect)(()=>{let t=!1;return Ve(e,s).then(e=>{if(t)return;Ae.current=e;let{features:n,planTier:r}=e.result.data,i={package:r,is_active:!0,features:Xe(n),limits:{streaming_minutes:0}};console.log(`[SDK] Player key validated. Features:`,i.features),Te(i),Ce(`ready`)}).catch(e=>{if(t)return;console.error(`[SDK] Player key validation failed:`,e);let n=e.message??``;ke(/init failed: 4\d\d/.test(n)?`auth`:`network`),Ce(`error`)}),()=>{t=!0,g.current&&=(clearTimeout(g.current),null),Ie.current=0,_.current=null,Ce(`loading`),Te(null),Me.current=!1,h.current=``,Ne.current=!1,Pe.current=void 0}},[e,s,Ee]);let b=(0,l.useCallback)(()=>{g.current&&(clearTimeout(g.current),g.current=null,_.current!==null&&(Ie.current+=Date.now()-_.current,_.current=null))},[]),et=(0,l.useCallback)(()=>{g.current&&=(clearTimeout(g.current),null),Ie.current=0,_.current=null},[]),x=(0,l.useCallback)(()=>{if(g.current||!h.current)return;_.current=Date.now();let t=Qe-Ie.current;g.current=setTimeout(()=>{g.current=null,Ie.current=0,_.current=null;let{currentTime:t,duration:n}=Le.current;console.log(`[SDK] Heartbeat timer fired — 30s of real content elapsed`),Ue(e,h.current,t,n,s).catch(e=>console.warn(`[SDK] Heartbeat failed:`,e.message)),Re.current()},t)},[e,s]);(0,l.useEffect)(()=>{Re.current=x},[x]);let S=(0,l.useRef)(!0);(0,l.useEffect)(()=>{if(S.current){S.current=!1;return}Fe.current=!0,Pe.current=void 0,b()},[ve,b]),(0,l.useEffect)(()=>{let t=()=>{m.notifyDismissed(),h.current&&(Ne.current=!0,et(),Ke(e,h.current,s))};return window.addEventListener(`beforeunload`,t),()=>{window.removeEventListener(`beforeunload`,t),et()}},[e,s,et,m]);let tt=(0,l.useCallback)(t=>{let n=t;if(t.currentTime!==void 0&&(Le.current={currentTime:t.currentTime,duration:t.duration}),t.eventType===`session_start`&&!Me.current&&(Me.current=!0,Ne.current=!1,h.current=typeof n.sessionId==`string`?n.sessionId:``,He(e,h.current,v,s).catch(e=>console.warn(`[SDK] Session start failed:`,e.message)),je.current||x()),t.eventType===`play`&&Me.current&&!je.current&&!Fe.current&&x(),t.eventType===`pause`&&b(),t.eventType===`buffering_start`&&b(),t.eventType===`buffering_end`&&Me.current&&!je.current&&(Fe.current=!1,x()),t.eventType===`ended`&&(et(),h.current&&(Ne.current=!0,We(e,h.current,s).catch(e=>console.warn(`[SDK] Session end failed:`,e.message)))),Me.current&&h.current&&!Ne.current){let n=$e(t,Pe.current);n&&Ge(e,{eventType:n.eventType,sessionId:h.current,currentTime:t.currentTime??0,videoId:v,...n.extras},s).catch(e=>console.warn(`[SDK] Event ${n.eventType} failed:`,e.message))}t.eventType===`quality_change`&&t.rendition&&(Pe.current=t.rendition),console.log(`[SDK Analytics]`,t),m.handleAnalyticsEvent(t),fe?.(t)},[e,s,v,x,b,et,fe,m]),nt=(0,l.useCallback)(e=>{je.current=e,e?(b(),console.log(`[SDK] Ad break started — heartbeat timer paused`)):(Me.current&&x(),console.log(`[SDK] Ad break ended — heartbeat timer resumed`))},[b,x]),C=(0,l.useCallback)(e=>{m.setKeyMoments(e),_e(e),p?.(e)},[p,m]),rt=(0,l.useCallback)(e=>{m.handleTimeUpdate(e),he?.(e)},[he,m]);if(Se===`loading`)return(0,d.jsxs)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#000`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,d.jsx)(`style`,{children:`@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}`}),(0,d.jsx)(`div`,{style:{width:60,height:60,borderRadius:`50%`,border:`4px solid rgba(${Ye}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ye}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ye}, 0.5))`,animation:`boss-sdk-spin 1s linear infinite`}})]});if(Se===`error`){let e=Oe===`auth`;return(0,d.jsx)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#09090e`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:20},children:(0,d.jsx)(te,{title:e?`Invalid Player Key`:`Something Went Wrong`,subtitle:e?`Your player key is invalid or expired.
31
31
  Please check your configuration.`:`We encountered an error while connecting.
32
32
  Please try again.`,onRetry:()=>De(e=>e+1)})})}return(0,d.jsx)(ze,{src:xe,sources:be,activeSourceIndex:ve,onSourceChange:e=>ye(e),subtitles:n,keyMoments:ge,themeColor:i,firebaseConfig:a,resolvedEntitlement:we,licenseKey:r,title:ee,watermark:ne,autoplay:re,muted:ie,autoFullscreen:ae,enableControls:oe,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le,volumeControlType:ue,subtitleStyle:f,drmConfig:de,overlayAdUrl:u,adTrackingUrl:c,urlTransformer:qe,onAnalyticsEvent:tt,onAdBreakChange:nt,onKeyMomentsLoaded:C,initialTime:me,onTimeUpdate:rt})}function et(e,t){let n=(0,ee.createRoot)(e),r=t;return n.render((0,l.createElement)(b,r)),{update(e){r={...r,...e},n.render((0,l.createElement)(b,r))},destroy(){n.unmount()}}}exports.BossVideoPlayer=b,exports.FirebaseAnalyticsProvider=c.c,exports.VideoPlayerSDK=c.t,exports.WebVideoPlayer=ze,exports.createPlayer=et,exports.endSession=We,exports.initSdk=Ve,exports.sendEvent=Ge,exports.sendHeartbeat=Ue,exports.startSession=He;
33
33
  //# sourceMappingURL=index.cjs.map