@vkontakte/videoplayer-core 2.0.124-dev.3f8d0805.0 → 2.0.124-dev.4a771da1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015.cjs.js +5 -5
- package/es2015.esm.js +7 -7
- package/es2018.cjs.js +5 -5
- package/es2018.esm.js +7 -7
- package/esnext.cjs.js +5 -5
- package/esnext.esm.js +4 -4
- package/evergreen.esm.js +3 -3
- package/package.json +2 -2
package/esnext.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-core v2.0.124-dev.
|
|
3
|
-
* Mon, 03 Feb 2025
|
|
2
|
+
* @vkontakte/videoplayer-core v2.0.124-dev.4a771da1.0
|
|
3
|
+
* Mon, 03 Feb 2025 10:59:56 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/2-0-124/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";var rv=Object.create;var Ba=Object.defineProperty;var iv=Object.getOwnPropertyDescriptor;var av=Object.getOwnPropertyNames;var sv=Object.getPrototypeOf,nv=Object.prototype.hasOwnProperty;var m=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),ov=(i,e)=>{for(var t in e)Ba(i,t,{get:e[t],enumerable:!0})},Hu=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of av(e))!nv.call(i,a)&&a!==t&&Ba(i,a,{get:()=>e[a],enumerable:!(r=iv(e,a))||r.enumerable});return i};var G=(i,e,t)=>(t=i!=null?rv(sv(i)):{},Hu(e||!i||!i.__esModule?Ba(t,"default",{value:i,enumerable:!0}):t,i)),uv=i=>Hu(Ba({},"__esModule",{value:!0}),i);var ue=m((Js,ju)=>{"use strict";var ti=function(i){return i&&i.Math===Math&&i};ju.exports=ti(typeof globalThis=="object"&&globalThis)||ti(typeof window=="object"&&window)||ti(typeof self=="object"&&self)||ti(typeof global=="object"&&global)||ti(typeof Js=="object"&&Js)||function(){return this}()||Function("return this")()});var be=m((NA,Gu)=>{"use strict";Gu.exports=function(i){try{return!!i()}catch{return!0}}});var ri=m((FA,Qu)=>{"use strict";var lv=be();Qu.exports=!lv(function(){var i=function(){}.bind();return typeof i!="function"||i.hasOwnProperty("prototype")})});var Zs=m((qA,Ku)=>{"use strict";var cv=ri(),zu=Function.prototype,Wu=zu.apply,Yu=zu.call;Ku.exports=typeof Reflect=="object"&&Reflect.apply||(cv?Yu.bind(Wu):function(){return Yu.apply(Wu,arguments)})});var pe=m((UA,Zu)=>{"use strict";var Xu=ri(),Ju=Function.prototype,en=Ju.call,dv=Xu&&Ju.bind.bind(en,en);Zu.exports=Xu?dv:function(i){return function(){return en.apply(i,arguments)}}});var Zt=m((HA,tl)=>{"use strict";var el=pe(),pv=el({}.toString),hv=el("".slice);tl.exports=function(i){return hv(pv(i),8,-1)}});var tn=m((jA,rl)=>{"use strict";var mv=Zt(),fv=pe();rl.exports=function(i){if(mv(i)==="Function")return fv(i)}});var oe=m((GA,il)=>{"use strict";var rn=typeof document=="object"&&document.all;il.exports=typeof rn>"u"&&rn!==void 0?function(i){return typeof i=="function"||i===rn}:function(i){return typeof i=="function"}});var Ve=m((QA,al)=>{"use strict";var bv=be();al.exports=!bv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Be=m((WA,sl)=>{"use strict";var gv=ri(),Na=Function.prototype.call;sl.exports=gv?Na.bind(Na):function(){return Na.apply(Na,arguments)}});var an=m(ul=>{"use strict";var nl={}.propertyIsEnumerable,ol=Object.getOwnPropertyDescriptor,vv=ol&&!nl.call({1:2},1);ul.f=vv?function(e){var t=ol(this,e);return!!t&&t.enumerable}:nl});var ii=m((zA,ll)=>{"use strict";ll.exports=function(i,e){return{enumerable:!(i&1),configurable:!(i&2),writable:!(i&4),value:e}}});var dl=m((KA,cl)=>{"use strict";var Sv=pe(),yv=be(),Tv=Zt(),sn=Object,Iv=Sv("".split);cl.exports=yv(function(){return!sn("z").propertyIsEnumerable(0)})?function(i){return Tv(i)==="String"?Iv(i,""):sn(i)}:sn});var yr=m((XA,pl)=>{"use strict";pl.exports=function(i){return i==null}});var _t=m((JA,hl)=>{"use strict";var Ev=yr(),xv=TypeError;hl.exports=function(i){if(Ev(i))throw new xv("Can't call method on "+i);return i}});var er=m((ZA,ml)=>{"use strict";var Pv=dl(),kv=_t();ml.exports=function(i){return Pv(kv(i))}});var Oe=m((eR,fl)=>{"use strict";var wv=oe();fl.exports=function(i){return typeof i=="object"?i!==null:wv(i)}});var Tr=m((tR,bl)=>{"use strict";bl.exports={}});var Et=m((rR,vl)=>{"use strict";var nn=Tr(),on=ue(),Av=oe(),gl=function(i){return Av(i)?i:void 0};vl.exports=function(i,e){return arguments.length<2?gl(nn[i])||gl(on[i]):nn[i]&&nn[i][e]||on[i]&&on[i][e]}});var ai=m((iR,Sl)=>{"use strict";var Rv=pe();Sl.exports=Rv({}.isPrototypeOf)});var tr=m((aR,Il)=>{"use strict";var Lv=ue(),yl=Lv.navigator,Tl=yl&&yl.userAgent;Il.exports=Tl?String(Tl):""});var ln=m((sR,Al)=>{"use strict";var wl=ue(),un=tr(),El=wl.process,xl=wl.Deno,Pl=El&&El.versions||xl&&xl.version,kl=Pl&&Pl.v8,Je,Fa;kl&&(Je=kl.split("."),Fa=Je[0]>0&&Je[0]<4?1:+(Je[0]+Je[1]));!Fa&&un&&(Je=un.match(/Edge\/(\d+)/),(!Je||Je[1]>=74)&&(Je=un.match(/Chrome\/(\d+)/),Je&&(Fa=+Je[1])));Al.exports=Fa});var cn=m((nR,Ll)=>{"use strict";var Rl=ln(),$v=be(),Mv=ue(),Dv=Mv.String;Ll.exports=!!Object.getOwnPropertySymbols&&!$v(function(){var i=Symbol("symbol detection");return!Dv(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&Rl&&Rl<41})});var dn=m((oR,$l)=>{"use strict";var Cv=cn();$l.exports=Cv&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var pn=m((uR,Ml)=>{"use strict";var Vv=Et(),Bv=oe(),Ov=ai(),_v=dn(),Nv=Object;Ml.exports=_v?function(i){return typeof i=="symbol"}:function(i){var e=Vv("Symbol");return Bv(e)&&Ov(e.prototype,Nv(i))}});var si=m((lR,Dl)=>{"use strict";var Fv=String;Dl.exports=function(i){try{return Fv(i)}catch{return"Object"}}});var ct=m((cR,Cl)=>{"use strict";var qv=oe(),Uv=si(),Hv=TypeError;Cl.exports=function(i){if(qv(i))return i;throw new Hv(Uv(i)+" is not a function")}});var ni=m((dR,Vl)=>{"use strict";var jv=ct(),Gv=yr();Vl.exports=function(i,e){var t=i[e];return Gv(t)?void 0:jv(t)}});var Ol=m((pR,Bl)=>{"use strict";var hn=Be(),mn=oe(),fn=Oe(),Qv=TypeError;Bl.exports=function(i,e){var t,r;if(e==="string"&&mn(t=i.toString)&&!fn(r=hn(t,i))||mn(t=i.valueOf)&&!fn(r=hn(t,i))||e!=="string"&&mn(t=i.toString)&&!fn(r=hn(t,i)))return r;throw new Qv("Can't convert object to primitive value")}});var Ze=m((hR,_l)=>{"use strict";_l.exports=!0});var ql=m((mR,Fl)=>{"use strict";var Nl=ue(),Wv=Object.defineProperty;Fl.exports=function(i,e){try{Wv(Nl,i,{value:e,configurable:!0,writable:!0})}catch{Nl[i]=e}return e}});var oi=m((fR,jl)=>{"use strict";var Yv=Ze(),zv=ue(),Kv=ql(),Ul="__core-js_shared__",Hl=jl.exports=zv[Ul]||Kv(Ul,{});(Hl.versions||(Hl.versions=[])).push({version:"3.38.0",mode:Yv?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var bn=m((bR,Ql)=>{"use strict";var Gl=oi();Ql.exports=function(i,e){return Gl[i]||(Gl[i]=e||{})}});var Ir=m((gR,Wl)=>{"use strict";var Xv=_t(),Jv=Object;Wl.exports=function(i){return Jv(Xv(i))}});var et=m((vR,Yl)=>{"use strict";var Zv=pe(),eS=Ir(),tS=Zv({}.hasOwnProperty);Yl.exports=Object.hasOwn||function(e,t){return tS(eS(e),t)}});var gn=m((SR,zl)=>{"use strict";var rS=pe(),iS=0,aS=Math.random(),sS=rS(1 .toString);zl.exports=function(i){return"Symbol("+(i===void 0?"":i)+")_"+sS(++iS+aS,36)}});var ge=m((yR,Xl)=>{"use strict";var nS=ue(),oS=bn(),Kl=et(),uS=gn(),lS=cn(),cS=dn(),Er=nS.Symbol,vn=oS("wks"),dS=cS?Er.for||Er:Er&&Er.withoutSetter||uS;Xl.exports=function(i){return Kl(vn,i)||(vn[i]=lS&&Kl(Er,i)?Er[i]:dS("Symbol."+i)),vn[i]}});var tc=m((TR,ec)=>{"use strict";var pS=Be(),Jl=Oe(),Zl=pn(),hS=ni(),mS=Ol(),fS=ge(),bS=TypeError,gS=fS("toPrimitive");ec.exports=function(i,e){if(!Jl(i)||Zl(i))return i;var t=hS(i,gS),r;if(t){if(e===void 0&&(e="default"),r=pS(t,i,e),!Jl(r)||Zl(r))return r;throw new bS("Can't convert object to primitive value")}return e===void 0&&(e="number"),mS(i,e)}});var Sn=m((IR,rc)=>{"use strict";var vS=tc(),SS=pn();rc.exports=function(i){var e=vS(i,"string");return SS(e)?e:e+""}});var qa=m((ER,ac)=>{"use strict";var yS=ue(),ic=Oe(),yn=yS.document,TS=ic(yn)&&ic(yn.createElement);ac.exports=function(i){return TS?yn.createElement(i):{}}});var Tn=m((xR,sc)=>{"use strict";var IS=Ve(),ES=be(),xS=qa();sc.exports=!IS&&!ES(function(){return Object.defineProperty(xS("div"),"a",{get:function(){return 7}}).a!==7})});var uc=m(oc=>{"use strict";var PS=Ve(),kS=Be(),wS=an(),AS=ii(),RS=er(),LS=Sn(),$S=et(),MS=Tn(),nc=Object.getOwnPropertyDescriptor;oc.f=PS?nc:function(e,t){if(e=RS(e),t=LS(t),MS)try{return nc(e,t)}catch{}if($S(e,t))return AS(!kS(wS.f,e,t),e[t])}});var In=m((kR,lc)=>{"use strict";var DS=be(),CS=oe(),VS=/#|\.prototype\./,ui=function(i,e){var t=OS[BS(i)];return t===NS?!0:t===_S?!1:CS(e)?DS(e):!!e},BS=ui.normalize=function(i){return String(i).replace(VS,".").toLowerCase()},OS=ui.data={},_S=ui.NATIVE="N",NS=ui.POLYFILL="P";lc.exports=ui});var xr=m((wR,dc)=>{"use strict";var cc=tn(),FS=ct(),qS=ri(),US=cc(cc.bind);dc.exports=function(i,e){return FS(i),e===void 0?i:qS?US(i,e):function(){return i.apply(e,arguments)}}});var En=m((AR,pc)=>{"use strict";var HS=Ve(),jS=be();pc.exports=HS&&jS(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var dt=m((RR,hc)=>{"use strict";var GS=Oe(),QS=String,WS=TypeError;hc.exports=function(i){if(GS(i))return i;throw new WS(QS(i)+" is not an object")}});var rr=m(fc=>{"use strict";var YS=Ve(),zS=Tn(),KS=En(),Ua=dt(),mc=Sn(),XS=TypeError,xn=Object.defineProperty,JS=Object.getOwnPropertyDescriptor,Pn="enumerable",kn="configurable",wn="writable";fc.f=YS?KS?function(e,t,r){if(Ua(e),t=mc(t),Ua(r),typeof e=="function"&&t==="prototype"&&"value"in r&&wn in r&&!r[wn]){var a=JS(e,t);a&&a[wn]&&(e[t]=r.value,r={configurable:kn in r?r[kn]:a[kn],enumerable:Pn in r?r[Pn]:a[Pn],writable:!1})}return xn(e,t,r)}:xn:function(e,t,r){if(Ua(e),t=mc(t),Ua(r),zS)try{return xn(e,t,r)}catch{}if("get"in r||"set"in r)throw new XS("Accessors not supported");return"value"in r&&(e[t]=r.value),e}});var Pr=m(($R,bc)=>{"use strict";var ZS=Ve(),ey=rr(),ty=ii();bc.exports=ZS?function(i,e,t){return ey.f(i,e,ty(1,t))}:function(i,e,t){return i[e]=t,i}});var le=m((MR,vc)=>{"use strict";var li=ue(),ry=Zs(),iy=tn(),ay=oe(),sy=uc().f,ny=In(),kr=Tr(),oy=xr(),wr=Pr(),gc=et();oi();var uy=function(i){var e=function(t,r,a){if(this instanceof e){switch(arguments.length){case 0:return new i;case 1:return new i(t);case 2:return new i(t,r)}return new i(t,r,a)}return ry(i,this,arguments)};return e.prototype=i.prototype,e};vc.exports=function(i,e){var t=i.target,r=i.global,a=i.stat,s=i.proto,n=r?li:a?li[t]:li[t]&&li[t].prototype,o=r?kr:kr[t]||wr(kr,t,{})[t],u=o.prototype,l,d,c,h,f,b,v,y,I;for(h in e)l=ny(r?h:t+(a?".":"#")+h,i.forced),d=!l&&n&&gc(n,h),b=o[h],d&&(i.dontCallGetSet?(I=sy(n,h),v=I&&I.value):v=n[h]),f=d&&v?v:e[h],!(!l&&!s&&typeof b==typeof f)&&(i.bind&&d?y=oy(f,li):i.wrap&&d?y=uy(f):s&&ay(f)?y=iy(f):y=f,(i.sham||f&&f.sham||b&&b.sham)&&wr(y,"sham",!0),wr(o,h,y),s&&(c=t+"Prototype",gc(kr,c)||wr(kr,c,{}),wr(kr[c],h,f),i.real&&u&&(l||!u[h])&&wr(u,h,f)))}});var yc=m((DR,Sc)=>{"use strict";var ly=Math.ceil,cy=Math.floor;Sc.exports=Math.trunc||function(e){var t=+e;return(t>0?cy:ly)(t)}});var ci=m((CR,Tc)=>{"use strict";var dy=yc();Tc.exports=function(i){var e=+i;return e!==e||e===0?0:dy(e)}});var Ec=m((VR,Ic)=>{"use strict";var py=ci(),hy=Math.max,my=Math.min;Ic.exports=function(i,e){var t=py(i);return t<0?hy(t+e,0):my(t,e)}});var An=m((BR,xc)=>{"use strict";var fy=ci(),by=Math.min;xc.exports=function(i){var e=fy(i);return e>0?by(e,9007199254740991):0}});var Ar=m((OR,Pc)=>{"use strict";var gy=An();Pc.exports=function(i){return gy(i.length)}});var Rn=m((_R,wc)=>{"use strict";var vy=er(),Sy=Ec(),yy=Ar(),kc=function(i){return function(e,t,r){var a=vy(e),s=yy(a);if(s===0)return!i&&-1;var n=Sy(r,s),o;if(i&&t!==t){for(;s>n;)if(o=a[n++],o!==o)return!0}else for(;s>n;n++)if((i||n in a)&&a[n]===t)return i||n||0;return!i&&-1}};wc.exports={includes:kc(!0),indexOf:kc(!1)}});var di=m((NR,Ac)=>{"use strict";Ac.exports=function(){}});var Rc=m(()=>{"use strict";var Ty=le(),Iy=Rn().includes,Ey=be(),xy=di(),Py=Ey(function(){return!Array(1).includes()});Ty({target:"Array",proto:!0,forced:Py},{includes:function(e){return Iy(this,e,arguments.length>1?arguments[1]:void 0)}});xy("includes")});var Nt=m((UR,Lc)=>{"use strict";var ky=Et();Lc.exports=ky});var Mc=m((HR,$c)=>{"use strict";Rc();var wy=Nt();$c.exports=wy("Array","includes")});var Cc=m((jR,Dc)=>{"use strict";var Ay=Mc();Dc.exports=Ay});var tt=m((GR,Vc)=>{"use strict";var Ry=Cc();Vc.exports=Ry});var ja=m((rL,_c)=>{"use strict";var $y=bn(),My=gn(),Oc=$y("keys");_c.exports=function(i){return Oc[i]||(Oc[i]=My(i))}});var Fc=m((iL,Nc)=>{"use strict";var Dy=be();Nc.exports=!Dy(function(){function i(){}return i.prototype.constructor=null,Object.getPrototypeOf(new i)!==i.prototype})});var Ga=m((aL,Uc)=>{"use strict";var Cy=et(),Vy=oe(),By=Ir(),Oy=ja(),_y=Fc(),qc=Oy("IE_PROTO"),Ln=Object,Ny=Ln.prototype;Uc.exports=_y?Ln.getPrototypeOf:function(i){var e=By(i);if(Cy(e,qc))return e[qc];var t=e.constructor;return Vy(t)&&e instanceof t?t.prototype:e instanceof Ln?Ny:null}});var Qa=m((sL,Hc)=>{"use strict";Hc.exports={}});var Qc=m((nL,Gc)=>{"use strict";var Fy=pe(),$n=et(),qy=er(),Uy=Rn().indexOf,Hy=Qa(),jc=Fy([].push);Gc.exports=function(i,e){var t=qy(i),r=0,a=[],s;for(s in t)!$n(Hy,s)&&$n(t,s)&&jc(a,s);for(;e.length>r;)$n(t,s=e[r++])&&(~Uy(a,s)||jc(a,s));return a}});var Mn=m((oL,Wc)=>{"use strict";Wc.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Dn=m((uL,Yc)=>{"use strict";var jy=Qc(),Gy=Mn();Yc.exports=Object.keys||function(e){return jy(e,Gy)}});var Cn=m((lL,Zc)=>{"use strict";var Kc=Ve(),Qy=be(),Xc=pe(),Wy=Ga(),Yy=Dn(),zy=er(),Ky=an().f,Jc=Xc(Ky),Xy=Xc([].push),Jy=Kc&&Qy(function(){var i=Object.create(null);return i[2]=2,!Jc(i,2)}),zc=function(i){return function(e){for(var t=zy(e),r=Yy(t),a=Jy&&Wy(t)===null,s=r.length,n=0,o=[],u;s>n;)u=r[n++],(!Kc||(a?u in t:Jc(t,u)))&&Xy(o,i?[u,t[u]]:t[u]);return o}};Zc.exports={entries:zc(!0),values:zc(!1)}});var ed=m(()=>{"use strict";var Zy=le(),eT=Cn().entries;Zy({target:"Object",stat:!0},{entries:function(e){return eT(e)}})});var rd=m((pL,td)=>{"use strict";ed();var tT=Tr();td.exports=tT.Object.entries});var ad=m((hL,id)=>{"use strict";var rT=rd();id.exports=rT});var Rr=m((mL,sd)=>{"use strict";var iT=ad();sd.exports=iT});var ir=m((fL,nd)=>{"use strict";nd.exports={}});var ld=m((bL,ud)=>{"use strict";var aT=ue(),sT=oe(),od=aT.WeakMap;ud.exports=sT(od)&&/native code/.test(String(od))});var _n=m((gL,pd)=>{"use strict";var nT=ld(),dd=ue(),oT=Oe(),uT=Pr(),Vn=et(),Bn=oi(),lT=ja(),cT=Qa(),cd="Object already initialized",On=dd.TypeError,dT=dd.WeakMap,Wa,pi,Ya,pT=function(i){return Ya(i)?pi(i):Wa(i,{})},hT=function(i){return function(e){var t;if(!oT(e)||(t=pi(e)).type!==i)throw new On("Incompatible receiver, "+i+" required");return t}};nT||Bn.state?(rt=Bn.state||(Bn.state=new dT),rt.get=rt.get,rt.has=rt.has,rt.set=rt.set,Wa=function(i,e){if(rt.has(i))throw new On(cd);return e.facade=i,rt.set(i,e),e},pi=function(i){return rt.get(i)||{}},Ya=function(i){return rt.has(i)}):(ar=lT("state"),cT[ar]=!0,Wa=function(i,e){if(Vn(i,ar))throw new On(cd);return e.facade=i,uT(i,ar,e),e},pi=function(i){return Vn(i,ar)?i[ar]:{}},Ya=function(i){return Vn(i,ar)});var rt,ar;pd.exports={set:Wa,get:pi,has:Ya,enforce:pT,getterFor:hT}});var qn=m((vL,md)=>{"use strict";var Nn=Ve(),mT=et(),hd=Function.prototype,fT=Nn&&Object.getOwnPropertyDescriptor,Fn=mT(hd,"name"),bT=Fn&&function(){}.name==="something",gT=Fn&&(!Nn||Nn&&fT(hd,"name").configurable);md.exports={EXISTS:Fn,PROPER:bT,CONFIGURABLE:gT}});var bd=m(fd=>{"use strict";var vT=Ve(),ST=En(),yT=rr(),TT=dt(),IT=er(),ET=Dn();fd.f=vT&&!ST?Object.defineProperties:function(e,t){TT(e);for(var r=IT(t),a=ET(t),s=a.length,n=0,o;s>n;)yT.f(e,o=a[n++],r[o]);return e}});var Un=m((yL,gd)=>{"use strict";var xT=Et();gd.exports=xT("document","documentElement")});var Qn=m((TL,xd)=>{"use strict";var PT=dt(),kT=bd(),vd=Mn(),wT=Qa(),AT=Un(),RT=qa(),LT=ja(),Sd=">",yd="<",jn="prototype",Gn="script",Id=LT("IE_PROTO"),Hn=function(){},Ed=function(i){return yd+Gn+Sd+i+yd+"/"+Gn+Sd},Td=function(i){i.write(Ed("")),i.close();var e=i.parentWindow.Object;return i=null,e},$T=function(){var i=RT("iframe"),e="java"+Gn+":",t;return i.style.display="none",AT.appendChild(i),i.src=String(e),t=i.contentWindow.document,t.open(),t.write(Ed("document.F=Object")),t.close(),t.F},za,Ka=function(){try{za=new ActiveXObject("htmlfile")}catch{}Ka=typeof document<"u"?document.domain&&za?Td(za):$T():Td(za);for(var i=vd.length;i--;)delete Ka[jn][vd[i]];return Ka()};wT[Id]=!0;xd.exports=Object.create||function(e,t){var r;return e!==null?(Hn[jn]=PT(e),r=new Hn,Hn[jn]=null,r[Id]=e):r=Ka(),t===void 0?r:kT.f(r,t)}});var Lr=m((IL,Pd)=>{"use strict";var MT=Pr();Pd.exports=function(i,e,t,r){return r&&r.enumerable?i[e]=t:MT(i,e,t),i}});var Kn=m((EL,Ad)=>{"use strict";var DT=be(),CT=oe(),VT=Oe(),BT=Qn(),kd=Ga(),OT=Lr(),_T=ge(),NT=Ze(),zn=_T("iterator"),wd=!1,xt,Wn,Yn;[].keys&&(Yn=[].keys(),"next"in Yn?(Wn=kd(kd(Yn)),Wn!==Object.prototype&&(xt=Wn)):wd=!0);var FT=!VT(xt)||DT(function(){var i={};return xt[zn].call(i)!==i});FT?xt={}:NT&&(xt=BT(xt));CT(xt[zn])||OT(xt,zn,function(){return this});Ad.exports={IteratorPrototype:xt,BUGGY_SAFARI_ITERATORS:wd}});var Xa=m((xL,Ld)=>{"use strict";var qT=ge(),UT=qT("toStringTag"),Rd={};Rd[UT]="z";Ld.exports=String(Rd)==="[object z]"});var hi=m((PL,$d)=>{"use strict";var HT=Xa(),jT=oe(),Ja=Zt(),GT=ge(),QT=GT("toStringTag"),WT=Object,YT=Ja(function(){return arguments}())==="Arguments",zT=function(i,e){try{return i[e]}catch{}};$d.exports=HT?Ja:function(i){var e,t,r;return i===void 0?"Undefined":i===null?"Null":typeof(t=zT(e=WT(i),QT))=="string"?t:YT?Ja(e):(r=Ja(e))==="Object"&&jT(e.callee)?"Arguments":r}});var Dd=m((kL,Md)=>{"use strict";var KT=Xa(),XT=hi();Md.exports=KT?{}.toString:function(){return"[object "+XT(this)+"]"}});var mi=m((wL,Vd)=>{"use strict";var JT=Xa(),ZT=rr().f,eI=Pr(),tI=et(),rI=Dd(),iI=ge(),Cd=iI("toStringTag");Vd.exports=function(i,e,t,r){var a=t?i:i&&i.prototype;a&&(tI(a,Cd)||ZT(a,Cd,{configurable:!0,value:e}),r&&!JT&&eI(a,"toString",rI))}});var Od=m((AL,Bd)=>{"use strict";var aI=Kn().IteratorPrototype,sI=Qn(),nI=ii(),oI=mi(),uI=ir(),lI=function(){return this};Bd.exports=function(i,e,t,r){var a=e+" Iterator";return i.prototype=sI(aI,{next:nI(+!r,t)}),oI(i,a,!1,!0),uI[a]=lI,i}});var Nd=m((RL,_d)=>{"use strict";var cI=pe(),dI=ct();_d.exports=function(i,e,t){try{return cI(dI(Object.getOwnPropertyDescriptor(i,e)[t]))}catch{}}});var qd=m((LL,Fd)=>{"use strict";var pI=Oe();Fd.exports=function(i){return pI(i)||i===null}});var Hd=m(($L,Ud)=>{"use strict";var hI=qd(),mI=String,fI=TypeError;Ud.exports=function(i){if(hI(i))return i;throw new fI("Can't set "+mI(i)+" as a prototype")}});var Xn=m((ML,jd)=>{"use strict";var bI=Nd(),gI=Oe(),vI=_t(),SI=Hd();jd.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,e={},t;try{t=bI(Object.prototype,"__proto__","set"),t(e,[]),i=e instanceof Array}catch{}return function(a,s){return vI(a),SI(s),gI(a)&&(i?t(a,s):a.__proto__=s),a}}():void 0)});var tp=m((DL,ep)=>{"use strict";var yI=le(),TI=Be(),Za=Ze(),Jd=qn(),II=oe(),EI=Od(),Gd=Ga(),Qd=Xn(),xI=mi(),PI=Pr(),Jn=Lr(),kI=ge(),Wd=ir(),Zd=Kn(),wI=Jd.PROPER,AI=Jd.CONFIGURABLE,Yd=Zd.IteratorPrototype,es=Zd.BUGGY_SAFARI_ITERATORS,fi=kI("iterator"),zd="keys",bi="values",Kd="entries",Xd=function(){return this};ep.exports=function(i,e,t,r,a,s,n){EI(t,e,r);var o=function(I){if(I===a&&h)return h;if(!es&&I&&I in d)return d[I];switch(I){case zd:return function(){return new t(this,I)};case bi:return function(){return new t(this,I)};case Kd:return function(){return new t(this,I)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,d=i.prototype,c=d[fi]||d["@@iterator"]||a&&d[a],h=!es&&c||o(a),f=e==="Array"&&d.entries||c,b,v,y;if(f&&(b=Gd(f.call(new i)),b!==Object.prototype&&b.next&&(!Za&&Gd(b)!==Yd&&(Qd?Qd(b,Yd):II(b[fi])||Jn(b,fi,Xd)),xI(b,u,!0,!0),Za&&(Wd[u]=Xd))),wI&&a===bi&&c&&c.name!==bi&&(!Za&&AI?PI(d,"name",bi):(l=!0,h=function(){return TI(c,this)})),a)if(v={values:o(bi),keys:s?h:o(zd),entries:o(Kd)},n)for(y in v)(es||l||!(y in d))&&Jn(d,y,v[y]);else yI({target:e,proto:!0,forced:es||l},v);return(!Za||n)&&d[fi]!==h&&Jn(d,fi,h,{name:a}),Wd[e]=h,v}});var ip=m((CL,rp)=>{"use strict";rp.exports=function(i,e){return{value:i,done:e}}});var eo=m((VL,up)=>{"use strict";var RI=er(),Zn=di(),ap=ir(),np=_n(),LI=rr().f,$I=tp(),ts=ip(),MI=Ze(),DI=Ve(),op="Array Iterator",CI=np.set,VI=np.getterFor(op);up.exports=$I(Array,"Array",function(i,e){CI(this,{type:op,target:RI(i),index:0,kind:e})},function(){var i=VI(this),e=i.target,t=i.index++;if(!e||t>=e.length)return i.target=void 0,ts(void 0,!0);switch(i.kind){case"keys":return ts(t,!1);case"values":return ts(e[t],!1)}return ts([t,e[t]],!1)},"values");var sp=ap.Arguments=ap.Array;Zn("keys");Zn("values");Zn("entries");if(!MI&&DI&&sp.name!=="values")try{LI(sp,"name",{value:"values"})}catch{}});var cp=m((BL,lp)=>{"use strict";var BI=ge(),OI=ir(),_I=BI("iterator"),NI=Array.prototype;lp.exports=function(i){return i!==void 0&&(OI.Array===i||NI[_I]===i)}});var to=m((OL,pp)=>{"use strict";var FI=hi(),dp=ni(),qI=yr(),UI=ir(),HI=ge(),jI=HI("iterator");pp.exports=function(i){if(!qI(i))return dp(i,jI)||dp(i,"@@iterator")||UI[FI(i)]}});var mp=m((_L,hp)=>{"use strict";var GI=Be(),QI=ct(),WI=dt(),YI=si(),zI=to(),KI=TypeError;hp.exports=function(i,e){var t=arguments.length<2?zI(i):e;if(QI(t))return WI(GI(t,i));throw new KI(YI(i)+" is not iterable")}});var gp=m((NL,bp)=>{"use strict";var XI=Be(),fp=dt(),JI=ni();bp.exports=function(i,e,t){var r,a;fp(i);try{if(r=JI(i,"return"),!r){if(e==="throw")throw t;return t}r=XI(r,i)}catch(s){a=!0,r=s}if(e==="throw")throw t;if(a)throw r;return fp(r),t}});var is=m((FL,Tp)=>{"use strict";var ZI=xr(),eE=Be(),tE=dt(),rE=si(),iE=cp(),aE=Ar(),vp=ai(),sE=mp(),nE=to(),Sp=gp(),oE=TypeError,rs=function(i,e){this.stopped=i,this.result=e},yp=rs.prototype;Tp.exports=function(i,e,t){var r=t&&t.that,a=!!(t&&t.AS_ENTRIES),s=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),o=!!(t&&t.INTERRUPTED),u=ZI(e,r),l,d,c,h,f,b,v,y=function(M){return l&&Sp(l,"normal",M),new rs(!0,M)},I=function(M){return a?(tE(M),o?u(M[0],M[1],y):u(M[0],M[1])):o?u(M,y):u(M)};if(s)l=i.iterator;else if(n)l=i;else{if(d=nE(i),!d)throw new oE(rE(i)+" is not iterable");if(iE(d)){for(c=0,h=aE(i);h>c;c++)if(f=I(i[c]),f&&vp(yp,f))return f;return new rs(!1)}l=sE(i,d)}for(b=s?i.next:l.next;!(v=eE(b,l)).done;){try{f=I(v.value)}catch(M){Sp(l,"throw",M)}if(typeof f=="object"&&f&&vp(yp,f))return f}return new rs(!1)}});var Ep=m((qL,Ip)=>{"use strict";var uE=Ve(),lE=rr(),cE=ii();Ip.exports=function(i,e,t){uE?lE.f(i,e,cE(0,t)):i[e]=t}});var xp=m(()=>{"use strict";var dE=le(),pE=is(),hE=Ep();dE({target:"Object",stat:!0},{fromEntries:function(e){var t={};return pE(e,function(r,a){hE(t,r,a)},{AS_ENTRIES:!0}),t}})});var kp=m((jL,Pp)=>{"use strict";eo();xp();var mE=Tr();Pp.exports=mE.Object.fromEntries});var Ap=m((GL,wp)=>{"use strict";wp.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var Lp=m(()=>{"use strict";eo();var fE=Ap(),bE=ue(),gE=mi(),Rp=ir();for(as in fE)gE(bE[as],as),Rp[as]=Rp.Array;var as});var Mp=m((YL,$p)=>{"use strict";var vE=kp();Lp();$p.exports=vE});var ro=m((zL,Dp)=>{"use strict";var SE=Mp();Dp.exports=SE});var Cp=m(()=>{"use strict"});var io=m((JL,Vp)=>{"use strict";var gi=ue(),yE=tr(),TE=Zt(),ss=function(i){return yE.slice(0,i.length)===i};Vp.exports=function(){return ss("Bun/")?"BUN":ss("Cloudflare-Workers")?"CLOUDFLARE":ss("Deno/")?"DENO":ss("Node.js/")?"NODE":gi.Bun&&typeof Bun.version=="string"?"BUN":gi.Deno&&typeof Deno.version=="object"?"DENO":TE(gi.process)==="process"?"NODE":gi.window&&gi.document?"BROWSER":"REST"}()});var ns=m((ZL,Bp)=>{"use strict";var IE=io();Bp.exports=IE==="NODE"});var _p=m((e$,Op)=>{"use strict";var EE=rr();Op.exports=function(i,e,t){return EE.f(i,e,t)}});var qp=m((t$,Fp)=>{"use strict";var xE=Et(),PE=_p(),kE=ge(),wE=Ve(),Np=kE("species");Fp.exports=function(i){var e=xE(i);wE&&e&&!e[Np]&&PE(e,Np,{configurable:!0,get:function(){return this}})}});var Hp=m((r$,Up)=>{"use strict";var AE=ai(),RE=TypeError;Up.exports=function(i,e){if(AE(e,i))return i;throw new RE("Incorrect invocation")}});var so=m((i$,jp)=>{"use strict";var LE=pe(),$E=oe(),ao=oi(),ME=LE(Function.toString);$E(ao.inspectSource)||(ao.inspectSource=function(i){return ME(i)});jp.exports=ao.inspectSource});var oo=m((a$,zp)=>{"use strict";var DE=pe(),CE=be(),Gp=oe(),VE=hi(),BE=Et(),OE=so(),Qp=function(){},Wp=BE("Reflect","construct"),no=/^\s*(?:class|function)\b/,_E=DE(no.exec),NE=!no.test(Qp),vi=function(e){if(!Gp(e))return!1;try{return Wp(Qp,[],e),!0}catch{return!1}},Yp=function(e){if(!Gp(e))return!1;switch(VE(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return NE||!!_E(no,OE(e))}catch{return!0}};Yp.sham=!0;zp.exports=!Wp||CE(function(){var i;return vi(vi.call)||!vi(Object)||!vi(function(){i=!0})||i})?Yp:vi});var Xp=m((s$,Kp)=>{"use strict";var FE=oo(),qE=si(),UE=TypeError;Kp.exports=function(i){if(FE(i))return i;throw new UE(qE(i)+" is not a constructor")}});var uo=m((n$,Zp)=>{"use strict";var Jp=dt(),HE=Xp(),jE=yr(),GE=ge(),QE=GE("species");Zp.exports=function(i,e){var t=Jp(i).constructor,r;return t===void 0||jE(r=Jp(t)[QE])?e:HE(r)}});var th=m((o$,eh)=>{"use strict";var WE=pe();eh.exports=WE([].slice)});var ih=m((u$,rh)=>{"use strict";var YE=TypeError;rh.exports=function(i,e){if(i<e)throw new YE("Not enough arguments");return i}});var lo=m((l$,ah)=>{"use strict";var zE=tr();ah.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(zE)});var So=m((c$,hh)=>{"use strict";var _e=ue(),KE=Zs(),XE=xr(),sh=oe(),JE=et(),ph=be(),nh=Un(),ZE=th(),oh=qa(),ex=ih(),tx=lo(),rx=ns(),bo=_e.setImmediate,go=_e.clearImmediate,ix=_e.process,co=_e.Dispatch,ax=_e.Function,uh=_e.MessageChannel,sx=_e.String,po=0,Si={},lh="onreadystatechange",yi,sr,ho,mo;ph(function(){yi=_e.location});var vo=function(i){if(JE(Si,i)){var e=Si[i];delete Si[i],e()}},fo=function(i){return function(){vo(i)}},ch=function(i){vo(i.data)},dh=function(i){_e.postMessage(sx(i),yi.protocol+"//"+yi.host)};(!bo||!go)&&(bo=function(e){ex(arguments.length,1);var t=sh(e)?e:ax(e),r=ZE(arguments,1);return Si[++po]=function(){KE(t,void 0,r)},sr(po),po},go=function(e){delete Si[e]},rx?sr=function(i){ix.nextTick(fo(i))}:co&&co.now?sr=function(i){co.now(fo(i))}:uh&&!tx?(ho=new uh,mo=ho.port2,ho.port1.onmessage=ch,sr=XE(mo.postMessage,mo)):_e.addEventListener&&sh(_e.postMessage)&&!_e.importScripts&&yi&&yi.protocol!=="file:"&&!ph(dh)?(sr=dh,_e.addEventListener("message",ch,!1)):lh in oh("script")?sr=function(i){nh.appendChild(oh("script"))[lh]=function(){nh.removeChild(this),vo(i)}}:sr=function(i){setTimeout(fo(i),0)});hh.exports={set:bo,clear:go}});var bh=m((d$,fh)=>{"use strict";var mh=ue(),nx=Ve(),ox=Object.getOwnPropertyDescriptor;fh.exports=function(i){if(!nx)return mh[i];var e=ox(mh,i);return e&&e.value}});var yo=m((p$,vh)=>{"use strict";var gh=function(){this.head=null,this.tail=null};gh.prototype={add:function(i){var e={item:i,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var i=this.head;if(i){var e=this.head=i.next;return e===null&&(this.tail=null),i.item}}};vh.exports=gh});var yh=m((h$,Sh)=>{"use strict";var ux=tr();Sh.exports=/ipad|iphone|ipod/i.test(ux)&&typeof Pebble<"u"});var Ih=m((m$,Th)=>{"use strict";var lx=tr();Th.exports=/web0s(?!.*chrome)/i.test(lx)});var Rh=m((f$,Ah)=>{"use strict";var Mr=ue(),cx=bh(),Eh=xr(),To=So().set,dx=yo(),px=lo(),hx=yh(),mx=Ih(),Io=ns(),xh=Mr.MutationObserver||Mr.WebKitMutationObserver,Ph=Mr.document,kh=Mr.process,os=Mr.Promise,Po=cx("queueMicrotask"),$r,Eo,xo,us,wh;Po||(Ti=new dx,Ii=function(){var i,e;for(Io&&(i=kh.domain)&&i.exit();e=Ti.get();)try{e()}catch(t){throw Ti.head&&$r(),t}i&&i.enter()},!px&&!Io&&!mx&&xh&&Ph?(Eo=!0,xo=Ph.createTextNode(""),new xh(Ii).observe(xo,{characterData:!0}),$r=function(){xo.data=Eo=!Eo}):!hx&&os&&os.resolve?(us=os.resolve(void 0),us.constructor=os,wh=Eh(us.then,us),$r=function(){wh(Ii)}):Io?$r=function(){kh.nextTick(Ii)}:(To=Eh(To,Mr),$r=function(){To(Ii)}),Po=function(i){Ti.head||$r(),Ti.add(i)});var Ti,Ii;Ah.exports=Po});var $h=m((b$,Lh)=>{"use strict";Lh.exports=function(i,e){try{arguments.length===1?console.error(i):console.error(i,e)}catch{}}});var ls=m((g$,Mh)=>{"use strict";Mh.exports=function(i){try{return{error:!1,value:i()}}catch(e){return{error:!0,value:e}}}});var nr=m((v$,Dh)=>{"use strict";var fx=ue();Dh.exports=fx.Promise});var Dr=m((S$,Oh)=>{"use strict";var bx=ue(),Ei=nr(),gx=oe(),vx=In(),Sx=so(),yx=ge(),Ch=io(),Tx=Ze(),ko=ln(),Vh=Ei&&Ei.prototype,Ix=yx("species"),wo=!1,Bh=gx(bx.PromiseRejectionEvent),Ex=vx("Promise",function(){var i=Sx(Ei),e=i!==String(Ei);if(!e&&ko===66||Tx&&!(Vh.catch&&Vh.finally))return!0;if(!ko||ko<51||!/native code/.test(i)){var t=new Ei(function(s){s(1)}),r=function(s){s(function(){},function(){})},a=t.constructor={};if(a[Ix]=r,wo=t.then(function(){})instanceof r,!wo)return!0}return!e&&(Ch==="BROWSER"||Ch==="DENO")&&!Bh});Oh.exports={CONSTRUCTOR:Ex,REJECTION_EVENT:Bh,SUBCLASSING:wo}});var Cr=m((y$,Nh)=>{"use strict";var _h=ct(),xx=TypeError,Px=function(i){var e,t;this.promise=new i(function(r,a){if(e!==void 0||t!==void 0)throw new xx("Bad Promise constructor");e=r,t=a}),this.resolve=_h(e),this.reject=_h(t)};Nh.exports.f=function(i){return new Px(i)}});var am=m(()=>{"use strict";var kx=le(),wx=Ze(),hs=ns(),Ft=ue(),_r=Be(),Fh=Lr(),qh=Xn(),Ax=mi(),Rx=qp(),Lx=ct(),ps=oe(),$x=Oe(),Mx=Hp(),Dx=uo(),Qh=So().set,Mo=Rh(),Cx=$h(),Vx=ls(),Bx=yo(),Wh=_n(),ms=nr(),Do=Dr(),Yh=Cr(),fs="Promise",zh=Do.CONSTRUCTOR,Ox=Do.REJECTION_EVENT,_x=Do.SUBCLASSING,Ao=Wh.getterFor(fs),Nx=Wh.set,Vr=ms&&ms.prototype,or=ms,cs=Vr,Kh=Ft.TypeError,Ro=Ft.document,Co=Ft.process,Lo=Yh.f,Fx=Lo,qx=!!(Ro&&Ro.createEvent&&Ft.dispatchEvent),Xh="unhandledrejection",Ux="rejectionhandled",Uh=0,Jh=1,Hx=2,Vo=1,Zh=2,ds,Hh,jx,jh,em=function(i){var e;return $x(i)&&ps(e=i.then)?e:!1},tm=function(i,e){var t=e.value,r=e.state===Jh,a=r?i.ok:i.fail,s=i.resolve,n=i.reject,o=i.domain,u,l,d;try{a?(r||(e.rejection===Zh&&Qx(e),e.rejection=Vo),a===!0?u=t:(o&&o.enter(),u=a(t),o&&(o.exit(),d=!0)),u===i.promise?n(new Kh("Promise-chain cycle")):(l=em(u))?_r(l,u,s,n):s(u)):n(t)}catch(c){o&&!d&&o.exit(),n(c)}},rm=function(i,e){i.notified||(i.notified=!0,Mo(function(){for(var t=i.reactions,r;r=t.get();)tm(r,i);i.notified=!1,e&&!i.rejection&&Gx(i)}))},im=function(i,e,t){var r,a;qx?(r=Ro.createEvent("Event"),r.promise=e,r.reason=t,r.initEvent(i,!1,!0),Ft.dispatchEvent(r)):r={promise:e,reason:t},!Ox&&(a=Ft["on"+i])?a(r):i===Xh&&Cx("Unhandled promise rejection",t)},Gx=function(i){_r(Qh,Ft,function(){var e=i.facade,t=i.value,r=Gh(i),a;if(r&&(a=Vx(function(){hs?Co.emit("unhandledRejection",t,e):im(Xh,e,t)}),i.rejection=hs||Gh(i)?Zh:Vo,a.error))throw a.value})},Gh=function(i){return i.rejection!==Vo&&!i.parent},Qx=function(i){_r(Qh,Ft,function(){var e=i.facade;hs?Co.emit("rejectionHandled",e):im(Ux,e,i.value)})},Br=function(i,e,t){return function(r){i(e,r,t)}},Or=function(i,e,t){i.done||(i.done=!0,t&&(i=t),i.value=e,i.state=Hx,rm(i,!0))},$o=function(i,e,t){if(!i.done){i.done=!0,t&&(i=t);try{if(i.facade===e)throw new Kh("Promise can't be resolved itself");var r=em(e);r?Mo(function(){var a={done:!1};try{_r(r,e,Br($o,a,i),Br(Or,a,i))}catch(s){Or(a,s,i)}}):(i.value=e,i.state=Jh,rm(i,!1))}catch(a){Or({done:!1},a,i)}}};if(zh&&(or=function(e){Mx(this,cs),Lx(e),_r(ds,this);var t=Ao(this);try{e(Br($o,t),Br(Or,t))}catch(r){Or(t,r)}},cs=or.prototype,ds=function(e){Nx(this,{type:fs,done:!1,notified:!1,parent:!1,reactions:new Bx,rejection:!1,state:Uh,value:void 0})},ds.prototype=Fh(cs,"then",function(e,t){var r=Ao(this),a=Lo(Dx(this,or));return r.parent=!0,a.ok=ps(e)?e:!0,a.fail=ps(t)&&t,a.domain=hs?Co.domain:void 0,r.state===Uh?r.reactions.add(a):Mo(function(){tm(a,r)}),a.promise}),Hh=function(){var i=new ds,e=Ao(i);this.promise=i,this.resolve=Br($o,e),this.reject=Br(Or,e)},Yh.f=Lo=function(i){return i===or||i===jx?new Hh(i):Fx(i)},!wx&&ps(ms)&&Vr!==Object.prototype)){jh=Vr.then,_x||Fh(Vr,"then",function(e,t){var r=this;return new or(function(a,s){_r(jh,r,a,s)}).then(e,t)},{unsafe:!0});try{delete Vr.constructor}catch{}qh&&qh(Vr,cs)}kx({global:!0,constructor:!0,wrap:!0,forced:zh},{Promise:or});Ax(or,fs,!1,!0);Rx(fs)});var lm=m((E$,um)=>{"use strict";var Wx=ge(),nm=Wx("iterator"),om=!1;try{sm=0,Bo={next:function(){return{done:!!sm++}},return:function(){om=!0}},Bo[nm]=function(){return this},Array.from(Bo,function(){throw 2})}catch{}var sm,Bo;um.exports=function(i,e){try{if(!e&&!om)return!1}catch{return!1}var t=!1;try{var r={};r[nm]=function(){return{next:function(){return{done:t=!0}}}},i(r)}catch{}return t}});var Oo=m((x$,cm)=>{"use strict";var Yx=nr(),zx=lm(),Kx=Dr().CONSTRUCTOR;cm.exports=Kx||!zx(function(i){Yx.all(i).then(void 0,function(){})})});var dm=m(()=>{"use strict";var Xx=le(),Jx=Be(),Zx=ct(),eP=Cr(),tP=ls(),rP=is(),iP=Oo();Xx({target:"Promise",stat:!0,forced:iP},{all:function(e){var t=this,r=eP.f(t),a=r.resolve,s=r.reject,n=tP(function(){var o=Zx(t.resolve),u=[],l=0,d=1;rP(e,function(c){var h=l++,f=!1;d++,Jx(o,t,c).then(function(b){f||(f=!0,u[h]=b,--d||a(u))},s)}),--d||a(u)});return n.error&&s(n.value),r.promise}})});var hm=m(()=>{"use strict";var aP=le(),sP=Ze(),nP=Dr().CONSTRUCTOR,No=nr(),oP=Et(),uP=oe(),lP=Lr(),pm=No&&No.prototype;aP({target:"Promise",proto:!0,forced:nP,real:!0},{catch:function(i){return this.then(void 0,i)}});!sP&&uP(No)&&(_o=oP("Promise").prototype.catch,pm.catch!==_o&&lP(pm,"catch",_o,{unsafe:!0}));var _o});var mm=m(()=>{"use strict";var cP=le(),dP=Be(),pP=ct(),hP=Cr(),mP=ls(),fP=is(),bP=Oo();cP({target:"Promise",stat:!0,forced:bP},{race:function(e){var t=this,r=hP.f(t),a=r.reject,s=mP(function(){var n=pP(t.resolve);fP(e,function(o){dP(n,t,o).then(r.resolve,a)})});return s.error&&a(s.value),r.promise}})});var fm=m(()=>{"use strict";var gP=le(),vP=Cr(),SP=Dr().CONSTRUCTOR;gP({target:"Promise",stat:!0,forced:SP},{reject:function(e){var t=vP.f(this),r=t.reject;return r(e),t.promise}})});var Fo=m((D$,bm)=>{"use strict";var yP=dt(),TP=Oe(),IP=Cr();bm.exports=function(i,e){if(yP(i),TP(e)&&e.constructor===i)return e;var t=IP.f(i),r=t.resolve;return r(e),t.promise}});var Sm=m(()=>{"use strict";var EP=le(),xP=Et(),gm=Ze(),PP=nr(),vm=Dr().CONSTRUCTOR,kP=Fo(),wP=xP("Promise"),AP=gm&&!vm;EP({target:"Promise",stat:!0,forced:gm||vm},{resolve:function(e){return kP(AP&&this===wP?PP:this,e)}})});var ym=m(()=>{"use strict";am();dm();hm();mm();fm();Sm()});var xm=m(()=>{"use strict";var RP=le(),LP=Ze(),bs=nr(),$P=be(),Im=Et(),Em=oe(),MP=uo(),Tm=Fo(),DP=Lr(),Uo=bs&&bs.prototype,CP=!!bs&&$P(function(){Uo.finally.call({then:function(){}},function(){})});RP({target:"Promise",proto:!0,real:!0,forced:CP},{finally:function(i){var e=MP(this,Im("Promise")),t=Em(i);return this.then(t?function(r){return Tm(e,i()).then(function(){return r})}:i,t?function(r){return Tm(e,i()).then(function(){throw r})}:i)}});!LP&&Em(bs)&&(qo=Im("Promise").prototype.finally,Uo.finally!==qo&&DP(Uo,"finally",qo,{unsafe:!0}));var qo});var km=m((F$,Pm)=>{"use strict";Cp();ym();xm();var VP=Nt();Pm.exports=VP("Promise","finally")});var Am=m((q$,wm)=>{"use strict";var BP=km();wm.exports=BP});var gs=m((U$,Rm)=>{"use strict";var OP=Am();Rm.exports=OP});var Bm=m(()=>{"use strict";var UP=le(),HP=Cn().values;UP({target:"Object",stat:!0},{values:function(e){return HP(e)}})});var _m=m((SM,Om)=>{"use strict";Bm();var jP=Tr();Om.exports=jP.Object.values});var Fm=m((yM,Nm)=>{"use strict";var GP=_m();Nm.exports=GP});var Nr=m((TM,qm)=>{"use strict";var QP=Fm();qm.exports=QP});var Gm=m(()=>{"use strict";var KP=le(),XP=Ir(),JP=Ar(),ZP=ci(),ek=di();KP({target:"Array",proto:!0},{at:function(e){var t=XP(this),r=JP(t),a=ZP(e),s=a>=0?a:r+a;return s<0||s>=r?void 0:t[s]}});ek("at")});var Wm=m((GM,Qm)=>{"use strict";Gm();var tk=Nt();Qm.exports=tk("Array","at")});var zm=m((QM,Ym)=>{"use strict";var rk=Wm();Ym.exports=rk});var Fr=m((WM,Km)=>{"use strict";var ik=zm();Km.exports=ik});var su=m((dC,gf)=>{"use strict";var mk=Zt();gf.exports=Array.isArray||function(e){return mk(e)==="Array"}});var Sf=m((pC,vf)=>{"use strict";var fk=TypeError,bk=9007199254740991;vf.exports=function(i){if(i>bk)throw fk("Maximum allowed index exceeded");return i}});var If=m((hC,Tf)=>{"use strict";var gk=su(),vk=Ar(),Sk=Sf(),yk=xr(),yf=function(i,e,t,r,a,s,n,o){for(var u=a,l=0,d=n?yk(n,o):!1,c,h;l<r;)l in t&&(c=d?d(t[l],l,e):t[l],s>0&&gk(c)?(h=vk(c),u=yf(i,e,c,h,u,s-1)-1):(Sk(u+1),i[u]=c),u++),l++;return u};Tf.exports=yf});var kf=m((mC,Pf)=>{"use strict";var Ef=su(),Tk=oo(),Ik=Oe(),Ek=ge(),xk=Ek("species"),xf=Array;Pf.exports=function(i){var e;return Ef(i)&&(e=i.constructor,Tk(e)&&(e===xf||Ef(e.prototype))?e=void 0:Ik(e)&&(e=e[xk],e===null&&(e=void 0))),e===void 0?xf:e}});var Af=m((fC,wf)=>{"use strict";var Pk=kf();wf.exports=function(i,e){return new(Pk(i))(e===0?0:e)}});var Rf=m(()=>{"use strict";var kk=le(),wk=If(),Ak=ct(),Rk=Ir(),Lk=Ar(),$k=Af();kk({target:"Array",proto:!0},{flatMap:function(e){var t=Rk(this),r=Lk(t),a;return Ak(e),a=$k(t,0),a.length=wk(a,t,t,r,0,1,e,arguments.length>1?arguments[1]:void 0),a}})});var Lf=m(()=>{"use strict";var Mk=di();Mk("flatMap")});var Mf=m((yC,$f)=>{"use strict";Rf();Lf();var Dk=Nt();$f.exports=Dk("Array","flatMap")});var Cf=m((TC,Df)=>{"use strict";var Ck=Mf();Df.exports=Ck});var nu=m((IC,Vf)=>{"use strict";var Vk=Cf();Vf.exports=Vk});var Vi=m(($C,Gf)=>{"use strict";var Hk=hi(),jk=String;Gf.exports=function(i){if(Hk(i)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return jk(i)}});var uu=m((MC,Qf)=>{"use strict";Qf.exports=`
|
|
7
|
-
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var zf=m((DC,Yf)=>{"use strict";var Gk=pe(),Qk=_t(),Wk=Vi(),cu=uu(),Wf=Gk("".replace),Yk=RegExp("^["+cu+"]+"),zk=RegExp("(^|[^"+cu+"])["+cu+"]+$"),lu=function(i){return function(e){var t=Wk(Qk(e));return i&1&&(t=Wf(t,Yk,"")),i&2&&(t=Wf(t,zk,"$1")),t}};Yf.exports={start:lu(1),end:lu(2),trim:lu(3)}});var Zf=m((CC,Jf)=>{"use strict";var Kk=qn().PROPER,Xk=be(),Kf=uu(),Xf="\u200B\x85\u180E";Jf.exports=function(i){return Xk(function(){return!!Kf[i]()||Xf[i]()!==Xf||Kk&&Kf[i].name!==i})}});var du=m((VC,eb)=>{"use strict";var Jk=zf().start,Zk=Zf();eb.exports=Zk("trimStart")?function(){return Jk(this)}:"".trimStart});var rb=m(()=>{"use strict";var ew=le(),tb=du();ew({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==tb},{trimLeft:tb})});var ab=m(()=>{"use strict";rb();var tw=le(),ib=du();tw({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==ib},{trimStart:ib})});var nb=m((FC,sb)=>{"use strict";ab();var rw=Nt();sb.exports=rw("String","trimLeft")});var ub=m((qC,ob)=>{"use strict";var iw=nb();ob.exports=iw});var cb=m((UC,lb)=>{"use strict";var aw=ub();lb.exports=aw});var xb=m(()=>{"use strict"});var Pb=m(()=>{"use strict"});var wb=m((gB,kb)=>{"use strict";var xw=Oe(),Pw=Zt(),kw=ge(),ww=kw("match");kb.exports=function(i){var e;return xw(i)&&((e=i[ww])!==void 0?!!e:Pw(i)==="RegExp")}});var Rb=m((vB,Ab)=>{"use strict";var Aw=dt();Ab.exports=function(){var i=Aw(this),e="";return i.hasIndices&&(e+="d"),i.global&&(e+="g"),i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.dotAll&&(e+="s"),i.unicode&&(e+="u"),i.unicodeSets&&(e+="v"),i.sticky&&(e+="y"),e}});var Mb=m((SB,$b)=>{"use strict";var Rw=Be(),Lw=et(),$w=ai(),Mw=Rb(),Lb=RegExp.prototype;$b.exports=function(i){var e=i.flags;return e===void 0&&!("flags"in Lb)&&!Lw(i,"flags")&&$w(Lb,i)?Rw(Mw,i):e}});var Cb=m((yB,Db)=>{"use strict";var vu=pe(),Dw=Ir(),Cw=Math.floor,bu=vu("".charAt),Vw=vu("".replace),gu=vu("".slice),Bw=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Ow=/\$([$&'`]|\d{1,2})/g;Db.exports=function(i,e,t,r,a,s){var n=t+i.length,o=r.length,u=Ow;return a!==void 0&&(a=Dw(a),u=Bw),Vw(s,u,function(l,d){var c;switch(bu(d,0)){case"$":return"$";case"&":return i;case"`":return gu(e,0,t);case"'":return gu(e,n);case"<":c=a[gu(d,1,-1)];break;default:var h=+d;if(h===0)return l;if(h>o){var f=Cw(h/10);return f===0?l:f<=o?r[f-1]===void 0?bu(d,1):r[f-1]+bu(d,1):l}c=r[h-1]}return c===void 0?"":c})}});var Ob=m(()=>{"use strict";var _w=le(),Nw=Be(),yu=pe(),Vb=_t(),Fw=oe(),qw=yr(),Uw=wb(),Wr=Vi(),Hw=ni(),jw=Mb(),Gw=Cb(),Qw=ge(),Ww=Ze(),Yw=Qw("replace"),zw=TypeError,Su=yu("".indexOf),Kw=yu("".replace),Bb=yu("".slice),Xw=Math.max;_w({target:"String",proto:!0},{replaceAll:function(e,t){var r=Vb(this),a,s,n,o,u,l,d,c,h,f,b=0,v="";if(!qw(e)){if(a=Uw(e),a&&(s=Wr(Vb(jw(e))),!~Su(s,"g")))throw new zw("`.replaceAll` does not allow non-global regexes");if(n=Hw(e,Yw),n)return Nw(n,e,r,t);if(Ww&&a)return Kw(Wr(r),e,t)}for(o=Wr(r),u=Wr(e),l=Fw(t),l||(t=Wr(t)),d=u.length,c=Xw(1,d),h=Su(o,u);h!==-1;)f=l?Wr(t(u,h,o)):Gw(u,o,h,[],void 0,t),v+=Bb(o,b,h)+f,b=h+d,h=h+c>o.length?-1:Su(o,u,h+c);return b<o.length&&(v+=Bb(o,b)),v}})});var Nb=m((EB,_b)=>{"use strict";xb();Pb();Ob();var Jw=Nt();_b.exports=Jw("String","replaceAll")});var qb=m((xB,Fb)=>{"use strict";var Zw=Nb();Fb.exports=Zw});var Hb=m((PB,Ub)=>{"use strict";var eA=qb();Ub.exports=eA});var Gb=m((kB,jb)=>{"use strict";var tA=ci(),rA=Vi(),iA=_t(),aA=RangeError;jb.exports=function(e){var t=rA(iA(this)),r="",a=tA(e);if(a<0||a===1/0)throw new aA("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))a&1&&(r+=t);return r}});var Kb=m((wB,zb)=>{"use strict";var Yb=pe(),sA=An(),Qb=Vi(),nA=Gb(),oA=_t(),uA=Yb(nA),lA=Yb("".slice),cA=Math.ceil,Wb=function(i){return function(e,t,r){var a=Qb(oA(e)),s=sA(t),n=a.length,o=r===void 0?" ":Qb(r),u,l;return s<=n||o===""?a:(u=s-n,l=uA(o,cA(u/o.length)),l.length>u&&(l=lA(l,0,u)),i?a+l:l+a)}};zb.exports={start:Wb(!1),end:Wb(!0)}});var Jb=m((AB,Xb)=>{"use strict";var dA=tr();Xb.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(dA)});var Zb=m(()=>{"use strict";var pA=le(),hA=Kb().start,mA=Jb();pA({target:"String",proto:!0,forced:mA},{padStart:function(e){return hA(this,e,arguments.length>1?arguments[1]:void 0)}})});var tg=m(($B,eg)=>{"use strict";Zb();var fA=Nt();eg.exports=fA("String","padStart")});var ig=m((MB,rg)=>{"use strict";var bA=tg();rg.exports=bA});var sg=m((DB,ag)=>{"use strict";var gA=ig();ag.exports=gA});var VA={};ov(VA,{ChromecastState:()=>ei,HttpConnectionType:()=>Oa,Observable:()=>gt.Observable,PlaybackState:()=>Ie,Player:()=>Ra,SDK_VERSION:()=>CA,Subject:()=>gt.Subject,Subscription:()=>gt.Subscription,Surface:()=>_a,VERSION:()=>Xs,ValueSubject:()=>gt.ValueSubject,VideoFormat:()=>It,VideoQuality:()=>gt.VideoQuality});module.exports=uv(VA);var Xs="2.0.124-dev.3f8d0805.0";var Ie=(a=>(a.STOPPED="stopped",a.READY="ready",a.PLAYING="playing",a.PAUSED="paused",a))(Ie||{}),It=(A=>(A.MPEG="MPEG",A.DASH="DASH",A.DASH_SEP="DASH_SEP",A.DASH_SEP_VK="DASH_SEP",A.DASH_WEBM="DASH_WEBM",A.DASH_WEBM_AV1="DASH_WEBM_AV1",A.DASH_STREAMS="DASH_STREAMS",A.DASH_WEBM_VK="DASH_WEBM",A.DASH_ONDEMAND="DASH_ONDEMAND",A.DASH_ONDEMAND_VK="DASH_ONDEMAND",A.DASH_LIVE="DASH_LIVE",A.DASH_LIVE_CMAF="DASH_LIVE_CMAF",A.DASH_LIVE_WEBM="DASH_LIVE_WEBM",A.HLS="HLS",A.HLS_ONDEMAND="HLS_ONDEMAND",A.HLS_JS="HLS",A.HLS_LIVE="HLS_LIVE",A.HLS_LIVE_CMAF="HLS_LIVE_CMAF",A.WEB_RTC_LIVE="WEB_RTC_LIVE",A))(It||{});var ei=(a=>(a.NOT_AVAILABLE="NOT_AVAILABLE",a.AVAILABLE="AVAILABLE",a.CONNECTING="CONNECTING",a.CONNECTED="CONNECTED",a))(ei||{}),Oa=(r=>(r.HTTP1="http1",r.HTTP2="http2",r.QUIC="quic",r))(Oa||{});var _a=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(_a||{});var Xg=G(tt(),1);var q=require("@vkontakte/videoplayer-shared");var Bc=i=>new Promise((e,t)=>{let r=document.createElement("script");r.setAttribute("src",i),r.onload=()=>e(),r.onerror=a=>t(a),document.body.appendChild(r)});var Ha=class{constructor(e){this.connection$=new q.ValueSubject(void 0);this.castState$=new q.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new q.Subject;this.realCastState$=new q.ValueSubject("NOT_AVAILABLE");this.subscription=new q.Subscription;this.isDestroyed=!1;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let r=(0,q.isNonNullable)(window.chrome?.cast),a=!!window.__onGCastApiAvailable;r?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},a||Bc("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:q.ErrorCategory.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){(0,q.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,q.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,q.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),r=cast.framework.CastContext.getInstance();this.subscription.add((0,q.fromEvent)(r,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(a=>{switch(a.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=r.getCurrentSession()?.getMediaSession()?.media?.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return(0,q.assertNever)(a.sessionState)}})).add((0,q.merge)((0,q.fromEvent)(r,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,q.tap)(a=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(a)}`})}),(0,q.map)(a=>a.castState)),(0,q.observableFrom)([r.getCastState()])).pipe((0,q.filterChanged)(),(0,q.map)(Ly),(0,q.tap)(a=>{this.log({message:`realCastState$: ${a}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(a=>{let s=a==="CONNECTED",n=(0,q.isNonNullable)(this.connection$.getValue());if(s&&!n){let o=r.getCurrentSession();(0,q.assertNonNullable)(o);let u=o.getCastDevice(),l=o.getMediaSession()?.media?.contentId;((0,q.isNullable)(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:o,castDevice:u}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(a==="CONNECTED"?(0,q.isNonNullable)(this.connection$.getValue())?"CONNECTED":"AVAILABLE":a)}))}initializeCastApi(){let e,t,r;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:r}),this.initListeners()}catch(a){this.errorEvent$.next({id:"ChromecastInitializer",category:q.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:a})}}},Ly=i=>{switch(i){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return(0,q.assertNever)(i)}};var Nu=G(tt(),1),_g=G(Rr(),1),Ng=G(ro(),1);var Dm=G(gs(),1);var Ho=require("@vkontakte/videoplayer-shared");var ve=(i,e=0,t=0)=>{switch(t){case 0:return i.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return i;let r=new URL(i);return r.searchParams.append("playback_shift",e.toFixed(0)),r.toString()}case 2:{let r=new URL(i);return!r.searchParams.get("offset_p")&&e===0?i:(r.searchParams.set("offset_p",e.toFixed(0)),r.toString())}default:(0,Ho.assertNever)(t)}return i},vs=(i,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(i);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(i);return Number(t.searchParams.get("offset_p")??0)}default:(0,Ho.assertNever)(e)}};var P=(i,e,t=!1)=>{let r=i.getTransition();(t||!r||r.to===e)&&i.setState(e)};var pt=require("@vkontakte/videoplayer-shared"),U=class{constructor(e){this.transitionStarted$=new pt.Subject;this.transitionEnded$=new pt.Subject;this.transitionUpdated$=new pt.Subject;this.forceChanged$=new pt.Subject;this.stateChangeStarted$=(0,pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,r=this.state;this.transition=void 0,this.prevState=r,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:r,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,r=this.state;r===e||(0,pt.isNonNullable)(t)&&t.to===e||(this.prevState=r,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var Lm=require("@vkontakte/videoplayer-shared"),$m=i=>{switch(i){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return(0,Lm.assertNever)(i)}};var R=require("@vkontakte/videoplayer-shared");var _P=5,NP=5,FP=500,Mm=7e3,xi=class{constructor(e){this.subscription=new R.Subscription;this.loadMediaTimeoutSubscription=new R.Subscription;this.videoState=new U("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),r=this.params.desiredState.playbackState.getState(),a=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${r}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(s)};`}),r==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(a?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.position/1e3);return}switch(r){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,R.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,R.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,R.assertNever)(e)}break}default:(0,R.assertNever)(r)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next($m(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new R.Subscription;this.subscription.add(e),this.subscription.add((0,R.merge)(this.videoState.stateChangeStarted$.pipe((0,R.map)(a=>`stateChangeStarted$ ${JSON.stringify(a)}`)),this.videoState.stateChangeEnded$.pipe((0,R.map)(a=>`stateChangeEnded$ ${JSON.stringify(a)}`))).subscribe(a=>this.log({message:`[videoState] ${a}`})));let t=(a,s)=>this.subscription.add(a.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let a=new R.Subject;e.add(a.pipe((0,R.debounce)(FP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let o=n.value;this.params.output.position$.next(o),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(o-s)>_P)&&a.next(o),s=o})),e.add((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),a=>{this.logRemoteEvent(a),a.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),a=>{this.logRemoteEvent(a),a.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),a=>{this.logRemoteEvent(a);let{remotePlayer:s}=this.params.connection,n=a.value,o=this.params.output.isBuffering$.getValue(),u=n===chrome.cast.media.PlayerState.BUFFERING;switch(o!==u&&this.params.output.isBuffering$.next(u),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<NP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,R.assertNever)(n)}}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),a=>{this.logRemoteEvent(a),this.handleRemoteVolumeChange({volume:a.value})}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),a=>{this.logRemoteEvent(a),this.handleRemoteVolumeChange({muted:a.value})});let r=(0,R.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,R.observableFrom)(["init"])).pipe((0,R.debounce)(0));t(r,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"));let r=this.params.output.isLive$.getValue();this.params.output.duration$.next(r?0:t.duration),this.params.output.position$.next(r?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),r=this.createLoadRequest(t);this.loadMedia(r)}handleRemotePause(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),r={volume:e.volume??t.volume,muted:e.muted??t.muted};(r.volume!==t.volume||r.muted!==r.muted)&&this.params.output.volume$.next(r)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:r}=this.params.connection;t.currentTime=e,r.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){let t=this.params.source,r,a,s;switch(e){case"MPEG":{let l=t[e];(0,R.assertNonNullable)(l);let d=(0,R.getHighestQuality)(Object.keys(l));(0,R.assertNonNullable)(d);let c=l[d];(0,R.assertNonNullable)(c),r=c,a="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_ONDEMAND":{let l=t[e];(0,R.assertNonNullable)(l),r=l.url,a="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];(0,R.assertNonNullable)(l),r=l.url,a="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,R.assertNonNullable)(l),r=l.url,a="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];(0,R.assertNonNullable)(l),r=ve(l.url),a="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",d=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:R.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:d}),d}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,R.assertNever)(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??r,a);n.contentUrl=r,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:o,subtitle:u}=this.params.meta;return(0,R.isNonNullable)(o)&&(n.metadata.title=o),(0,R.isNonNullable)(u)&&(n.metadata.subtitle=u),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let r=this.params.desiredState.seekState.getState();return r.state==="applying"||r.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:r.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),r=new Promise((a,s)=>{this.loadMediaTimeoutSubscription.add((0,R.timeout)(Mm).subscribe(()=>s(`timeout(${Mm})`)))});(0,Dm.default)(Promise.race([t,r]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},a=>{let s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${a}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:R.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:a})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var iu=G(tt(),1);var Wo=require("@vkontakte/videoplayer-shared");var Cm=require("@vkontakte/videoplayer-shared"),Vm=i=>{try{i.pause(),i.playbackRate=0,(0,Cm.clearVideoElement)(i),i.remove()}catch(e){console.error(e)}};var Ss=require("@vkontakte/videoplayer-shared"),jo=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Go=window.WeakMap?new WeakMap:new jo,Qo=window.WeakMap?new WeakMap:new Map,qP=(i,e=20)=>{let t=0;return(0,Ss.fromEvent)(i,"ratechange").subscribe(r=>{t++,t>=e&&(i.currentTime=i.currentTime,t=0)})},ke=(i,{audioVideoSyncRate:e})=>{let t=i.querySelector("video"),r=!!t;t?(0,Wo.clearVideoElement)(t):(t=document.createElement("video"),i.appendChild(t)),Go.set(t,r);let a=new Ss.Subscription;return a.add(qP(t,e)),Qo.set(t,a),t.setAttribute("crossorigin","anonymous"),t.setAttribute("playsinline","playsinline"),t.setAttribute("x-yandex-pip","false"),t.controls=!1,t.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),t},we=i=>{Qo.get(i)?.unsubscribe(),Qo.delete(i);let t=Go.get(i);Go.delete(i),t?(0,Wo.clearVideoElement)(i):Vm(i)};var Yo=G(Nr(),1),L=require("@vkontakte/videoplayer-shared");var qt=require("@vkontakte/videoplayer-shared"),ys=(i,e,t,{equal:r=(n,o)=>n===o,changed$:a,onError:s}={})=>{let n=i.getState(),o=e(),u=(0,qt.isNullable)(a),l=new qt.Subscription;return a&&l.add(a.subscribe(d=>{let c=i.getState();r(d,c)&&i.setState(d)},s)),r(o,n)||(t(n),u&&i.setState(n)),l.add(i.stateChangeStarted$.subscribe(d=>{t(d.to),u&&i.setState(d.to)},s)),l},ht=(i,e,t)=>ys(e,()=>i.loop,r=>{(0,qt.isNonNullable)(r)&&(i.loop=r)},{onError:t}),Ae=(i,e,t,r)=>ys(e,()=>({muted:i.muted,volume:i.volume}),a=>{(0,qt.isNonNullable)(a)&&(i.muted=a.muted,i.volume=a.volume)},{equal:(a,s)=>a===s||a?.muted===s?.muted&&a?.volume===s?.volume,changed$:t,onError:r}),Ue=(i,e,t,r)=>ys(e,()=>i.playbackRate,a=>{(0,qt.isNonNullable)(a)&&(i.playbackRate=a)},{changed$:t,onError:r}),Ut=ys;var WP=i=>["__",i.language,i.label].join("|"),YP=(i,e)=>{if(i.id===e)return!0;let[t,r,a]=e.split("|");return i.language===r&&i.label===a},zo=class i{constructor(e){this.available$=new L.Subject;this.current$=new L.ValueSubject(void 0);this.error$=new L.Subject;this.subscription=new L.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,r){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let a=s=>{this.error$.next({id:"TextTracksManager",category:L.ErrorCategory.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(Ut(t.internalTextTracks,()=>(0,Yo.default)(this.internalTracks),s=>{(0,L.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,L.isNonNullable)(s)&&(0,L.isNonNullable)(n)&&s.length===n.length&&s.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,L.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:a})),this.subscription.add(Ut(t.externalTextTracks,()=>(0,Yo.default)(this.externalTracks),s=>{(0,L.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,L.isNonNullable)(s)&&(0,L.isNonNullable)(n)&&s.length===n.length&&s.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,L.map)(s=>s.filter(({type:n})=>n==="external"))),onError:a})),this.subscription.add(Ut(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:a})),this.subscription.add(Ut(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,L.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,L.fromEvent)(e,"addtrack").subscribe(()=>{let r=this.current$.getValue();r&&this.select(r)})),this.subscription.add((0,L.merge)((0,L.fromEvent)(e,"addtrack"),(0,L.fromEvent)(e,"removetrack"),(0,L.observableFrom)(["init"])).pipe((0,L.map)(()=>this.htmlTextTracksAsArray().map(r=>this.htmlTextTrackToITextTrack(r))),(0,L.filterChanged)((r,a)=>r.length===a.length&&r.every(({id:s},n)=>s===a[n].id))).subscribe(this.available$)),this.subscription.add((0,L.merge)((0,L.fromEvent)(e,"change"),(0,L.observableFrom)(["init"])).pipe((0,L.map)(()=>this.htmlTextTracksAsArray().find(({mode:r})=>r==="showing")),(0,L.map)(r=>r&&this.htmlTextTrackToITextTrack(r).id),(0,L.filterChanged)()).subscribe(this.current$));let t=r=>this.applyCueSettings(r.target?.activeCues??null);this.subscription.add((0,L.fromEvent)(e,"addtrack").subscribe(r=>{r.track?.addEventListener("cuechange",t);let a=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",a))};r.track?.addEventListener("cuechange",a)})),this.subscription.add((0,L.fromEvent)(e,"removetrack").subscribe(r=>{r.track?.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let r of Array.from(e)){let a=r;(0,L.isNonNullable)(t.align)&&(a.align=t.align),(0,L.isNonNullable)(t.position)&&(a.position=t.position),(0,L.isNonNullable)(t.size)&&(a.size=t.size),(0,L.isNonNullable)(t.line)&&(a.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,L.assertNonNullable)(this.video);let t=[...this.video.textTracks];return e?t:t.filter(i.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:r}=e,a=e.id?e.id:WP(e),s=this.externalTracks.has(a),n=(s?this.externalTracks.get(a)?.isAuto:this.internalTracks.get(a)?.isAuto)??a.includes("auto");return s?{id:a,type:"external",isAuto:n,language:t,label:r,url:this.externalTracks.get(a)?.url}:{id:a,type:"internal",isAuto:n,language:t,label:r,url:this.internalTracks.get(a)?.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(r=>r.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:r,language:a,isAuto:s})=>!this.internalTracks.has(r)&&!t.some(([,n])=>n.language===a&&n.isAuto===s)).forEach(r=>this.attach(r)),Array.from(this.internalTracks).filter(([r])=>!e.find(a=>a.id===r)).forEach(([,r])=>this.detach(r))}select(e){(0,L.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,L.isNullable)(e)||!YP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,L.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,L.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),r=>r.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},He=zo;var kt=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var Um=i=>{let e=i;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},Ko=i=>{let e=Um(i);return!!(e&&e.fullscreenElement&&e.fullscreenElement===i)},Hm=i=>{let e=Um(i);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===i)};var D=require("@vkontakte/videoplayer-shared");var zP=3,jm=(i,e,t=zP)=>{let r=0,a=0;for(let s=0;s<i.length;s++){let n=i.start(s),o=i.end(s);if(n<=e&&e<=o){if(r=n,a=o,!t)return{from:r,to:a};for(let u=s-1;u>=0;u--)i.end(u)+t>=r&&(r=i.start(u));for(let u=s+1;u<i.length;u++)i.start(u)-t<=a&&(a=i.end(u))}}return{from:r,to:a}};var Re=i=>{let e=A=>(0,D.fromEvent)(i,A).pipe((0,D.mapTo)(void 0)),r=(0,D.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(A=>(0,D.fromEvent)(i,A))).pipe((0,D.map)(A=>A.type==="ended"?i.readyState<2:i.readyState<3),(0,D.filterChanged)()),a=(0,D.merge)((0,D.fromEvent)(i,"progress"),(0,D.fromEvent)(i,"timeupdate")).pipe((0,D.map)(()=>jm(i.buffered,i.currentTime))),s=D.clientChecker.isSafari?(0,D.combine)({play:e("play").pipe((0,D.once)()),playing:e("playing")}).pipe((0,D.mapTo)(void 0)):e("playing"),n=(0,D.fromEvent)(i,"volumechange").pipe((0,D.map)(()=>({muted:i.muted,volume:i.volume}))),o=(0,D.fromEvent)(i,"ratechange").pipe((0,D.map)(()=>i.playbackRate)),u=(0,D.fromEvent)(i,"error").pipe((0,D.filter)(()=>!!(i.error||i.played.length)),(0,D.map)(()=>{let A=i.error;return{id:A?`MediaError#${A.code}`:"HtmlVideoError",category:D.ErrorCategory.VIDEO_PIPELINE,message:A?A.message:"Error event from HTML video element",thrown:i.error??void 0}})),l=(0,D.fromEvent)(i,"timeupdate").pipe((0,D.map)(()=>i.currentTime)),d=new D.Subject,c=.3,h;l.subscribe(A=>{i.loop&&(0,D.isNonNullable)(h)&&(0,D.isNonNullable)(A)&&h>=i.duration-c&&A<=c&&d.next(h),h=A});let f=e("pause").pipe((0,D.filter)(()=>!i.error&&h!==i.duration)),b=(0,D.fromEvent)(i,"enterpictureinpicture"),v=(0,D.fromEvent)(i,"leavepictureinpicture"),y=new D.ValueSubject(Hm(i));b.subscribe(()=>y.next(!0)),v.subscribe(()=>y.next(!1));let I=new D.ValueSubject(Ko(i));return(0,D.fromEvent)(i,"fullscreenchange").pipe((0,D.map)(()=>Ko(i))).subscribe(I),{playing$:s,pause$:f,canplay$:e("canplay"),ended$:e("ended"),looped$:d,error$:u,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,D.fromEvent)(i,"durationchange").pipe((0,D.map)(()=>i.duration)),isBuffering$:r,currentBuffer$:a,volumeState$:n,playbackRateState$:o,inPiP$:y,inFullscreen$:I,enterPip$:b,leavePip$:v}};var wt=require("@vkontakte/videoplayer-shared"),Ht=i=>{switch(i){case"mobile":return wt.VideoQuality.Q_144P;case"lowest":return wt.VideoQuality.Q_240P;case"low":return wt.VideoQuality.Q_360P;case"sd":case"medium":return wt.VideoQuality.Q_480P;case"hd":case"high":return wt.VideoQuality.Q_720P;case"fullhd":case"full":return wt.VideoQuality.Q_1080P;case"quadhd":case"quad":return wt.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return wt.VideoQuality.Q_2160P}};var jt=G(Fr(),1),tf=G(tt(),1),Ts=G(Rr(),1),$=require("@vkontakte/videoplayer-shared");var Xo=!1,At={},Xm=i=>{Xo=i},Jm=()=>{At={}},Zm=i=>{i(At)},Pi=(i,e)=>{Xo&&(At.meta=At.meta??{},At.meta[i]=e)},Ee=class{constructor(e){this.name=e}next(e){if(!Xo)return;At.series=At.series??{};let t=At.series[this.name]??[];t.push([Date.now(),e]),At.series[this.name]=t}};var ak=new Ee("best_bitrate"),rf=(i,e,t)=>(e-t)*Math.pow(2,-10*i)+t;var Jo=i=>(e,t)=>i*(Number(e.bitrate)-Number(t.bitrate)),ki=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,$.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},af='Assertion "ABR Tracks is empty array" failed',Is=(i,e,t,r)=>{let a=[...e].sort(Jo(1)),s=[...t].sort(Jo(1)),n=s.filter(u=>(0,$.isNonNullable)(u.bitrate)&&(0,$.isNonNullable)(i.bitrate)?i.bitrate/u.bitrate>r:!0),o=(0,jt.default)(s,Math.round(s.length*a.indexOf(i)/(a.length+1)))??(0,jt.default)(s,-1);return o&&(0,tf.default)(n,o)?o:n.length?(0,jt.default)(n,-1):(0,jt.default)(s,0)},ef=i=>"quality"in i,sf=(i,e,t,r)=>{let a=(0,$.isNonNullable)(r?.last?.bitrate)&&(0,$.isNonNullable)(t?.bitrate)&&r.last.bitrate<t.bitrate?i.trackCooldownIncreaseQuality:i.trackCooldownDecreaseQuality,s=t&&r&&r.history[t.id]&&(0,$.now)()-r.history[t.id]<=a&&(!r.last||t.id!==r.last.id);if(t?.id&&r&&!s&&r.recordSelection(t),s&&r?.last){let n=r.last;r?.recordSwitch(n);let o=ef(n)?"video":"audio",u=ef(n)?n.quality:n.bitrate;return e({message:`
|
|
6
|
+
"use strict";var rv=Object.create;var Ba=Object.defineProperty;var iv=Object.getOwnPropertyDescriptor;var av=Object.getOwnPropertyNames;var sv=Object.getPrototypeOf,nv=Object.prototype.hasOwnProperty;var m=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),ov=(i,e)=>{for(var t in e)Ba(i,t,{get:e[t],enumerable:!0})},Hu=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of av(e))!nv.call(i,a)&&a!==t&&Ba(i,a,{get:()=>e[a],enumerable:!(r=iv(e,a))||r.enumerable});return i};var G=(i,e,t)=>(t=i!=null?rv(sv(i)):{},Hu(e||!i||!i.__esModule?Ba(t,"default",{value:i,enumerable:!0}):t,i)),uv=i=>Hu(Ba({},"__esModule",{value:!0}),i);var ue=m((Js,ju)=>{"use strict";var ti=function(i){return i&&i.Math===Math&&i};ju.exports=ti(typeof globalThis=="object"&&globalThis)||ti(typeof window=="object"&&window)||ti(typeof self=="object"&&self)||ti(typeof global=="object"&&global)||ti(typeof Js=="object"&&Js)||function(){return this}()||Function("return this")()});var be=m((NA,Gu)=>{"use strict";Gu.exports=function(i){try{return!!i()}catch{return!0}}});var ri=m((FA,Qu)=>{"use strict";var lv=be();Qu.exports=!lv(function(){var i=function(){}.bind();return typeof i!="function"||i.hasOwnProperty("prototype")})});var Zs=m((qA,Ku)=>{"use strict";var cv=ri(),zu=Function.prototype,Wu=zu.apply,Yu=zu.call;Ku.exports=typeof Reflect=="object"&&Reflect.apply||(cv?Yu.bind(Wu):function(){return Yu.apply(Wu,arguments)})});var pe=m((UA,Zu)=>{"use strict";var Xu=ri(),Ju=Function.prototype,en=Ju.call,dv=Xu&&Ju.bind.bind(en,en);Zu.exports=Xu?dv:function(i){return function(){return en.apply(i,arguments)}}});var Zt=m((HA,tl)=>{"use strict";var el=pe(),pv=el({}.toString),hv=el("".slice);tl.exports=function(i){return hv(pv(i),8,-1)}});var tn=m((jA,rl)=>{"use strict";var mv=Zt(),fv=pe();rl.exports=function(i){if(mv(i)==="Function")return fv(i)}});var oe=m((GA,il)=>{"use strict";var rn=typeof document=="object"&&document.all;il.exports=typeof rn>"u"&&rn!==void 0?function(i){return typeof i=="function"||i===rn}:function(i){return typeof i=="function"}});var Ve=m((QA,al)=>{"use strict";var bv=be();al.exports=!bv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Be=m((WA,sl)=>{"use strict";var gv=ri(),Na=Function.prototype.call;sl.exports=gv?Na.bind(Na):function(){return Na.apply(Na,arguments)}});var an=m(ul=>{"use strict";var nl={}.propertyIsEnumerable,ol=Object.getOwnPropertyDescriptor,vv=ol&&!nl.call({1:2},1);ul.f=vv?function(e){var t=ol(this,e);return!!t&&t.enumerable}:nl});var ii=m((zA,ll)=>{"use strict";ll.exports=function(i,e){return{enumerable:!(i&1),configurable:!(i&2),writable:!(i&4),value:e}}});var dl=m((KA,cl)=>{"use strict";var Sv=pe(),yv=be(),Tv=Zt(),sn=Object,Iv=Sv("".split);cl.exports=yv(function(){return!sn("z").propertyIsEnumerable(0)})?function(i){return Tv(i)==="String"?Iv(i,""):sn(i)}:sn});var yr=m((XA,pl)=>{"use strict";pl.exports=function(i){return i==null}});var _t=m((JA,hl)=>{"use strict";var Ev=yr(),xv=TypeError;hl.exports=function(i){if(Ev(i))throw new xv("Can't call method on "+i);return i}});var er=m((ZA,ml)=>{"use strict";var Pv=dl(),kv=_t();ml.exports=function(i){return Pv(kv(i))}});var Oe=m((eR,fl)=>{"use strict";var wv=oe();fl.exports=function(i){return typeof i=="object"?i!==null:wv(i)}});var Tr=m((tR,bl)=>{"use strict";bl.exports={}});var Et=m((rR,vl)=>{"use strict";var nn=Tr(),on=ue(),Av=oe(),gl=function(i){return Av(i)?i:void 0};vl.exports=function(i,e){return arguments.length<2?gl(nn[i])||gl(on[i]):nn[i]&&nn[i][e]||on[i]&&on[i][e]}});var ai=m((iR,Sl)=>{"use strict";var Rv=pe();Sl.exports=Rv({}.isPrototypeOf)});var tr=m((aR,Il)=>{"use strict";var Lv=ue(),yl=Lv.navigator,Tl=yl&&yl.userAgent;Il.exports=Tl?String(Tl):""});var ln=m((sR,Al)=>{"use strict";var wl=ue(),un=tr(),El=wl.process,xl=wl.Deno,Pl=El&&El.versions||xl&&xl.version,kl=Pl&&Pl.v8,Je,Fa;kl&&(Je=kl.split("."),Fa=Je[0]>0&&Je[0]<4?1:+(Je[0]+Je[1]));!Fa&&un&&(Je=un.match(/Edge\/(\d+)/),(!Je||Je[1]>=74)&&(Je=un.match(/Chrome\/(\d+)/),Je&&(Fa=+Je[1])));Al.exports=Fa});var cn=m((nR,Ll)=>{"use strict";var Rl=ln(),$v=be(),Mv=ue(),Dv=Mv.String;Ll.exports=!!Object.getOwnPropertySymbols&&!$v(function(){var i=Symbol("symbol detection");return!Dv(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&Rl&&Rl<41})});var dn=m((oR,$l)=>{"use strict";var Cv=cn();$l.exports=Cv&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var pn=m((uR,Ml)=>{"use strict";var Vv=Et(),Bv=oe(),Ov=ai(),_v=dn(),Nv=Object;Ml.exports=_v?function(i){return typeof i=="symbol"}:function(i){var e=Vv("Symbol");return Bv(e)&&Ov(e.prototype,Nv(i))}});var si=m((lR,Dl)=>{"use strict";var Fv=String;Dl.exports=function(i){try{return Fv(i)}catch{return"Object"}}});var ct=m((cR,Cl)=>{"use strict";var qv=oe(),Uv=si(),Hv=TypeError;Cl.exports=function(i){if(qv(i))return i;throw new Hv(Uv(i)+" is not a function")}});var ni=m((dR,Vl)=>{"use strict";var jv=ct(),Gv=yr();Vl.exports=function(i,e){var t=i[e];return Gv(t)?void 0:jv(t)}});var Ol=m((pR,Bl)=>{"use strict";var hn=Be(),mn=oe(),fn=Oe(),Qv=TypeError;Bl.exports=function(i,e){var t,r;if(e==="string"&&mn(t=i.toString)&&!fn(r=hn(t,i))||mn(t=i.valueOf)&&!fn(r=hn(t,i))||e!=="string"&&mn(t=i.toString)&&!fn(r=hn(t,i)))return r;throw new Qv("Can't convert object to primitive value")}});var Ze=m((hR,_l)=>{"use strict";_l.exports=!0});var ql=m((mR,Fl)=>{"use strict";var Nl=ue(),Wv=Object.defineProperty;Fl.exports=function(i,e){try{Wv(Nl,i,{value:e,configurable:!0,writable:!0})}catch{Nl[i]=e}return e}});var oi=m((fR,jl)=>{"use strict";var Yv=Ze(),zv=ue(),Kv=ql(),Ul="__core-js_shared__",Hl=jl.exports=zv[Ul]||Kv(Ul,{});(Hl.versions||(Hl.versions=[])).push({version:"3.38.0",mode:Yv?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var bn=m((bR,Ql)=>{"use strict";var Gl=oi();Ql.exports=function(i,e){return Gl[i]||(Gl[i]=e||{})}});var Ir=m((gR,Wl)=>{"use strict";var Xv=_t(),Jv=Object;Wl.exports=function(i){return Jv(Xv(i))}});var et=m((vR,Yl)=>{"use strict";var Zv=pe(),eS=Ir(),tS=Zv({}.hasOwnProperty);Yl.exports=Object.hasOwn||function(e,t){return tS(eS(e),t)}});var gn=m((SR,zl)=>{"use strict";var rS=pe(),iS=0,aS=Math.random(),sS=rS(1 .toString);zl.exports=function(i){return"Symbol("+(i===void 0?"":i)+")_"+sS(++iS+aS,36)}});var ge=m((yR,Xl)=>{"use strict";var nS=ue(),oS=bn(),Kl=et(),uS=gn(),lS=cn(),cS=dn(),Er=nS.Symbol,vn=oS("wks"),dS=cS?Er.for||Er:Er&&Er.withoutSetter||uS;Xl.exports=function(i){return Kl(vn,i)||(vn[i]=lS&&Kl(Er,i)?Er[i]:dS("Symbol."+i)),vn[i]}});var tc=m((TR,ec)=>{"use strict";var pS=Be(),Jl=Oe(),Zl=pn(),hS=ni(),mS=Ol(),fS=ge(),bS=TypeError,gS=fS("toPrimitive");ec.exports=function(i,e){if(!Jl(i)||Zl(i))return i;var t=hS(i,gS),r;if(t){if(e===void 0&&(e="default"),r=pS(t,i,e),!Jl(r)||Zl(r))return r;throw new bS("Can't convert object to primitive value")}return e===void 0&&(e="number"),mS(i,e)}});var Sn=m((IR,rc)=>{"use strict";var vS=tc(),SS=pn();rc.exports=function(i){var e=vS(i,"string");return SS(e)?e:e+""}});var qa=m((ER,ac)=>{"use strict";var yS=ue(),ic=Oe(),yn=yS.document,TS=ic(yn)&&ic(yn.createElement);ac.exports=function(i){return TS?yn.createElement(i):{}}});var Tn=m((xR,sc)=>{"use strict";var IS=Ve(),ES=be(),xS=qa();sc.exports=!IS&&!ES(function(){return Object.defineProperty(xS("div"),"a",{get:function(){return 7}}).a!==7})});var uc=m(oc=>{"use strict";var PS=Ve(),kS=Be(),wS=an(),AS=ii(),RS=er(),LS=Sn(),$S=et(),MS=Tn(),nc=Object.getOwnPropertyDescriptor;oc.f=PS?nc:function(e,t){if(e=RS(e),t=LS(t),MS)try{return nc(e,t)}catch{}if($S(e,t))return AS(!kS(wS.f,e,t),e[t])}});var In=m((kR,lc)=>{"use strict";var DS=be(),CS=oe(),VS=/#|\.prototype\./,ui=function(i,e){var t=OS[BS(i)];return t===NS?!0:t===_S?!1:CS(e)?DS(e):!!e},BS=ui.normalize=function(i){return String(i).replace(VS,".").toLowerCase()},OS=ui.data={},_S=ui.NATIVE="N",NS=ui.POLYFILL="P";lc.exports=ui});var xr=m((wR,dc)=>{"use strict";var cc=tn(),FS=ct(),qS=ri(),US=cc(cc.bind);dc.exports=function(i,e){return FS(i),e===void 0?i:qS?US(i,e):function(){return i.apply(e,arguments)}}});var En=m((AR,pc)=>{"use strict";var HS=Ve(),jS=be();pc.exports=HS&&jS(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var dt=m((RR,hc)=>{"use strict";var GS=Oe(),QS=String,WS=TypeError;hc.exports=function(i){if(GS(i))return i;throw new WS(QS(i)+" is not an object")}});var rr=m(fc=>{"use strict";var YS=Ve(),zS=Tn(),KS=En(),Ua=dt(),mc=Sn(),XS=TypeError,xn=Object.defineProperty,JS=Object.getOwnPropertyDescriptor,Pn="enumerable",kn="configurable",wn="writable";fc.f=YS?KS?function(e,t,r){if(Ua(e),t=mc(t),Ua(r),typeof e=="function"&&t==="prototype"&&"value"in r&&wn in r&&!r[wn]){var a=JS(e,t);a&&a[wn]&&(e[t]=r.value,r={configurable:kn in r?r[kn]:a[kn],enumerable:Pn in r?r[Pn]:a[Pn],writable:!1})}return xn(e,t,r)}:xn:function(e,t,r){if(Ua(e),t=mc(t),Ua(r),zS)try{return xn(e,t,r)}catch{}if("get"in r||"set"in r)throw new XS("Accessors not supported");return"value"in r&&(e[t]=r.value),e}});var Pr=m(($R,bc)=>{"use strict";var ZS=Ve(),ey=rr(),ty=ii();bc.exports=ZS?function(i,e,t){return ey.f(i,e,ty(1,t))}:function(i,e,t){return i[e]=t,i}});var le=m((MR,vc)=>{"use strict";var li=ue(),ry=Zs(),iy=tn(),ay=oe(),sy=uc().f,ny=In(),kr=Tr(),oy=xr(),wr=Pr(),gc=et();oi();var uy=function(i){var e=function(t,r,a){if(this instanceof e){switch(arguments.length){case 0:return new i;case 1:return new i(t);case 2:return new i(t,r)}return new i(t,r,a)}return ry(i,this,arguments)};return e.prototype=i.prototype,e};vc.exports=function(i,e){var t=i.target,r=i.global,a=i.stat,s=i.proto,n=r?li:a?li[t]:li[t]&&li[t].prototype,o=r?kr:kr[t]||wr(kr,t,{})[t],u=o.prototype,l,d,c,h,f,b,v,y,I;for(h in e)l=ny(r?h:t+(a?".":"#")+h,i.forced),d=!l&&n&&gc(n,h),b=o[h],d&&(i.dontCallGetSet?(I=sy(n,h),v=I&&I.value):v=n[h]),f=d&&v?v:e[h],!(!l&&!s&&typeof b==typeof f)&&(i.bind&&d?y=oy(f,li):i.wrap&&d?y=uy(f):s&&ay(f)?y=iy(f):y=f,(i.sham||f&&f.sham||b&&b.sham)&&wr(y,"sham",!0),wr(o,h,y),s&&(c=t+"Prototype",gc(kr,c)||wr(kr,c,{}),wr(kr[c],h,f),i.real&&u&&(l||!u[h])&&wr(u,h,f)))}});var yc=m((DR,Sc)=>{"use strict";var ly=Math.ceil,cy=Math.floor;Sc.exports=Math.trunc||function(e){var t=+e;return(t>0?cy:ly)(t)}});var ci=m((CR,Tc)=>{"use strict";var dy=yc();Tc.exports=function(i){var e=+i;return e!==e||e===0?0:dy(e)}});var Ec=m((VR,Ic)=>{"use strict";var py=ci(),hy=Math.max,my=Math.min;Ic.exports=function(i,e){var t=py(i);return t<0?hy(t+e,0):my(t,e)}});var An=m((BR,xc)=>{"use strict";var fy=ci(),by=Math.min;xc.exports=function(i){var e=fy(i);return e>0?by(e,9007199254740991):0}});var Ar=m((OR,Pc)=>{"use strict";var gy=An();Pc.exports=function(i){return gy(i.length)}});var Rn=m((_R,wc)=>{"use strict";var vy=er(),Sy=Ec(),yy=Ar(),kc=function(i){return function(e,t,r){var a=vy(e),s=yy(a);if(s===0)return!i&&-1;var n=Sy(r,s),o;if(i&&t!==t){for(;s>n;)if(o=a[n++],o!==o)return!0}else for(;s>n;n++)if((i||n in a)&&a[n]===t)return i||n||0;return!i&&-1}};wc.exports={includes:kc(!0),indexOf:kc(!1)}});var di=m((NR,Ac)=>{"use strict";Ac.exports=function(){}});var Rc=m(()=>{"use strict";var Ty=le(),Iy=Rn().includes,Ey=be(),xy=di(),Py=Ey(function(){return!Array(1).includes()});Ty({target:"Array",proto:!0,forced:Py},{includes:function(e){return Iy(this,e,arguments.length>1?arguments[1]:void 0)}});xy("includes")});var Nt=m((UR,Lc)=>{"use strict";var ky=Et();Lc.exports=ky});var Mc=m((HR,$c)=>{"use strict";Rc();var wy=Nt();$c.exports=wy("Array","includes")});var Cc=m((jR,Dc)=>{"use strict";var Ay=Mc();Dc.exports=Ay});var tt=m((GR,Vc)=>{"use strict";var Ry=Cc();Vc.exports=Ry});var ja=m((rL,_c)=>{"use strict";var $y=bn(),My=gn(),Oc=$y("keys");_c.exports=function(i){return Oc[i]||(Oc[i]=My(i))}});var Fc=m((iL,Nc)=>{"use strict";var Dy=be();Nc.exports=!Dy(function(){function i(){}return i.prototype.constructor=null,Object.getPrototypeOf(new i)!==i.prototype})});var Ga=m((aL,Uc)=>{"use strict";var Cy=et(),Vy=oe(),By=Ir(),Oy=ja(),_y=Fc(),qc=Oy("IE_PROTO"),Ln=Object,Ny=Ln.prototype;Uc.exports=_y?Ln.getPrototypeOf:function(i){var e=By(i);if(Cy(e,qc))return e[qc];var t=e.constructor;return Vy(t)&&e instanceof t?t.prototype:e instanceof Ln?Ny:null}});var Qa=m((sL,Hc)=>{"use strict";Hc.exports={}});var Qc=m((nL,Gc)=>{"use strict";var Fy=pe(),$n=et(),qy=er(),Uy=Rn().indexOf,Hy=Qa(),jc=Fy([].push);Gc.exports=function(i,e){var t=qy(i),r=0,a=[],s;for(s in t)!$n(Hy,s)&&$n(t,s)&&jc(a,s);for(;e.length>r;)$n(t,s=e[r++])&&(~Uy(a,s)||jc(a,s));return a}});var Mn=m((oL,Wc)=>{"use strict";Wc.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Dn=m((uL,Yc)=>{"use strict";var jy=Qc(),Gy=Mn();Yc.exports=Object.keys||function(e){return jy(e,Gy)}});var Cn=m((lL,Zc)=>{"use strict";var Kc=Ve(),Qy=be(),Xc=pe(),Wy=Ga(),Yy=Dn(),zy=er(),Ky=an().f,Jc=Xc(Ky),Xy=Xc([].push),Jy=Kc&&Qy(function(){var i=Object.create(null);return i[2]=2,!Jc(i,2)}),zc=function(i){return function(e){for(var t=zy(e),r=Yy(t),a=Jy&&Wy(t)===null,s=r.length,n=0,o=[],u;s>n;)u=r[n++],(!Kc||(a?u in t:Jc(t,u)))&&Xy(o,i?[u,t[u]]:t[u]);return o}};Zc.exports={entries:zc(!0),values:zc(!1)}});var ed=m(()=>{"use strict";var Zy=le(),eT=Cn().entries;Zy({target:"Object",stat:!0},{entries:function(e){return eT(e)}})});var rd=m((pL,td)=>{"use strict";ed();var tT=Tr();td.exports=tT.Object.entries});var ad=m((hL,id)=>{"use strict";var rT=rd();id.exports=rT});var Rr=m((mL,sd)=>{"use strict";var iT=ad();sd.exports=iT});var ir=m((fL,nd)=>{"use strict";nd.exports={}});var ld=m((bL,ud)=>{"use strict";var aT=ue(),sT=oe(),od=aT.WeakMap;ud.exports=sT(od)&&/native code/.test(String(od))});var _n=m((gL,pd)=>{"use strict";var nT=ld(),dd=ue(),oT=Oe(),uT=Pr(),Vn=et(),Bn=oi(),lT=ja(),cT=Qa(),cd="Object already initialized",On=dd.TypeError,dT=dd.WeakMap,Wa,pi,Ya,pT=function(i){return Ya(i)?pi(i):Wa(i,{})},hT=function(i){return function(e){var t;if(!oT(e)||(t=pi(e)).type!==i)throw new On("Incompatible receiver, "+i+" required");return t}};nT||Bn.state?(rt=Bn.state||(Bn.state=new dT),rt.get=rt.get,rt.has=rt.has,rt.set=rt.set,Wa=function(i,e){if(rt.has(i))throw new On(cd);return e.facade=i,rt.set(i,e),e},pi=function(i){return rt.get(i)||{}},Ya=function(i){return rt.has(i)}):(ar=lT("state"),cT[ar]=!0,Wa=function(i,e){if(Vn(i,ar))throw new On(cd);return e.facade=i,uT(i,ar,e),e},pi=function(i){return Vn(i,ar)?i[ar]:{}},Ya=function(i){return Vn(i,ar)});var rt,ar;pd.exports={set:Wa,get:pi,has:Ya,enforce:pT,getterFor:hT}});var qn=m((vL,md)=>{"use strict";var Nn=Ve(),mT=et(),hd=Function.prototype,fT=Nn&&Object.getOwnPropertyDescriptor,Fn=mT(hd,"name"),bT=Fn&&function(){}.name==="something",gT=Fn&&(!Nn||Nn&&fT(hd,"name").configurable);md.exports={EXISTS:Fn,PROPER:bT,CONFIGURABLE:gT}});var bd=m(fd=>{"use strict";var vT=Ve(),ST=En(),yT=rr(),TT=dt(),IT=er(),ET=Dn();fd.f=vT&&!ST?Object.defineProperties:function(e,t){TT(e);for(var r=IT(t),a=ET(t),s=a.length,n=0,o;s>n;)yT.f(e,o=a[n++],r[o]);return e}});var Un=m((yL,gd)=>{"use strict";var xT=Et();gd.exports=xT("document","documentElement")});var Qn=m((TL,xd)=>{"use strict";var PT=dt(),kT=bd(),vd=Mn(),wT=Qa(),AT=Un(),RT=qa(),LT=ja(),Sd=">",yd="<",jn="prototype",Gn="script",Id=LT("IE_PROTO"),Hn=function(){},Ed=function(i){return yd+Gn+Sd+i+yd+"/"+Gn+Sd},Td=function(i){i.write(Ed("")),i.close();var e=i.parentWindow.Object;return i=null,e},$T=function(){var i=RT("iframe"),e="java"+Gn+":",t;return i.style.display="none",AT.appendChild(i),i.src=String(e),t=i.contentWindow.document,t.open(),t.write(Ed("document.F=Object")),t.close(),t.F},za,Ka=function(){try{za=new ActiveXObject("htmlfile")}catch{}Ka=typeof document<"u"?document.domain&&za?Td(za):$T():Td(za);for(var i=vd.length;i--;)delete Ka[jn][vd[i]];return Ka()};wT[Id]=!0;xd.exports=Object.create||function(e,t){var r;return e!==null?(Hn[jn]=PT(e),r=new Hn,Hn[jn]=null,r[Id]=e):r=Ka(),t===void 0?r:kT.f(r,t)}});var Lr=m((IL,Pd)=>{"use strict";var MT=Pr();Pd.exports=function(i,e,t,r){return r&&r.enumerable?i[e]=t:MT(i,e,t),i}});var Kn=m((EL,Ad)=>{"use strict";var DT=be(),CT=oe(),VT=Oe(),BT=Qn(),kd=Ga(),OT=Lr(),_T=ge(),NT=Ze(),zn=_T("iterator"),wd=!1,xt,Wn,Yn;[].keys&&(Yn=[].keys(),"next"in Yn?(Wn=kd(kd(Yn)),Wn!==Object.prototype&&(xt=Wn)):wd=!0);var FT=!VT(xt)||DT(function(){var i={};return xt[zn].call(i)!==i});FT?xt={}:NT&&(xt=BT(xt));CT(xt[zn])||OT(xt,zn,function(){return this});Ad.exports={IteratorPrototype:xt,BUGGY_SAFARI_ITERATORS:wd}});var Xa=m((xL,Ld)=>{"use strict";var qT=ge(),UT=qT("toStringTag"),Rd={};Rd[UT]="z";Ld.exports=String(Rd)==="[object z]"});var hi=m((PL,$d)=>{"use strict";var HT=Xa(),jT=oe(),Ja=Zt(),GT=ge(),QT=GT("toStringTag"),WT=Object,YT=Ja(function(){return arguments}())==="Arguments",zT=function(i,e){try{return i[e]}catch{}};$d.exports=HT?Ja:function(i){var e,t,r;return i===void 0?"Undefined":i===null?"Null":typeof(t=zT(e=WT(i),QT))=="string"?t:YT?Ja(e):(r=Ja(e))==="Object"&&jT(e.callee)?"Arguments":r}});var Dd=m((kL,Md)=>{"use strict";var KT=Xa(),XT=hi();Md.exports=KT?{}.toString:function(){return"[object "+XT(this)+"]"}});var mi=m((wL,Vd)=>{"use strict";var JT=Xa(),ZT=rr().f,eI=Pr(),tI=et(),rI=Dd(),iI=ge(),Cd=iI("toStringTag");Vd.exports=function(i,e,t,r){var a=t?i:i&&i.prototype;a&&(tI(a,Cd)||ZT(a,Cd,{configurable:!0,value:e}),r&&!JT&&eI(a,"toString",rI))}});var Od=m((AL,Bd)=>{"use strict";var aI=Kn().IteratorPrototype,sI=Qn(),nI=ii(),oI=mi(),uI=ir(),lI=function(){return this};Bd.exports=function(i,e,t,r){var a=e+" Iterator";return i.prototype=sI(aI,{next:nI(+!r,t)}),oI(i,a,!1,!0),uI[a]=lI,i}});var Nd=m((RL,_d)=>{"use strict";var cI=pe(),dI=ct();_d.exports=function(i,e,t){try{return cI(dI(Object.getOwnPropertyDescriptor(i,e)[t]))}catch{}}});var qd=m((LL,Fd)=>{"use strict";var pI=Oe();Fd.exports=function(i){return pI(i)||i===null}});var Hd=m(($L,Ud)=>{"use strict";var hI=qd(),mI=String,fI=TypeError;Ud.exports=function(i){if(hI(i))return i;throw new fI("Can't set "+mI(i)+" as a prototype")}});var Xn=m((ML,jd)=>{"use strict";var bI=Nd(),gI=Oe(),vI=_t(),SI=Hd();jd.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,e={},t;try{t=bI(Object.prototype,"__proto__","set"),t(e,[]),i=e instanceof Array}catch{}return function(a,s){return vI(a),SI(s),gI(a)&&(i?t(a,s):a.__proto__=s),a}}():void 0)});var tp=m((DL,ep)=>{"use strict";var yI=le(),TI=Be(),Za=Ze(),Jd=qn(),II=oe(),EI=Od(),Gd=Ga(),Qd=Xn(),xI=mi(),PI=Pr(),Jn=Lr(),kI=ge(),Wd=ir(),Zd=Kn(),wI=Jd.PROPER,AI=Jd.CONFIGURABLE,Yd=Zd.IteratorPrototype,es=Zd.BUGGY_SAFARI_ITERATORS,fi=kI("iterator"),zd="keys",bi="values",Kd="entries",Xd=function(){return this};ep.exports=function(i,e,t,r,a,s,n){EI(t,e,r);var o=function(I){if(I===a&&h)return h;if(!es&&I&&I in d)return d[I];switch(I){case zd:return function(){return new t(this,I)};case bi:return function(){return new t(this,I)};case Kd:return function(){return new t(this,I)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,d=i.prototype,c=d[fi]||d["@@iterator"]||a&&d[a],h=!es&&c||o(a),f=e==="Array"&&d.entries||c,b,v,y;if(f&&(b=Gd(f.call(new i)),b!==Object.prototype&&b.next&&(!Za&&Gd(b)!==Yd&&(Qd?Qd(b,Yd):II(b[fi])||Jn(b,fi,Xd)),xI(b,u,!0,!0),Za&&(Wd[u]=Xd))),wI&&a===bi&&c&&c.name!==bi&&(!Za&&AI?PI(d,"name",bi):(l=!0,h=function(){return TI(c,this)})),a)if(v={values:o(bi),keys:s?h:o(zd),entries:o(Kd)},n)for(y in v)(es||l||!(y in d))&&Jn(d,y,v[y]);else yI({target:e,proto:!0,forced:es||l},v);return(!Za||n)&&d[fi]!==h&&Jn(d,fi,h,{name:a}),Wd[e]=h,v}});var ip=m((CL,rp)=>{"use strict";rp.exports=function(i,e){return{value:i,done:e}}});var eo=m((VL,up)=>{"use strict";var RI=er(),Zn=di(),ap=ir(),np=_n(),LI=rr().f,$I=tp(),ts=ip(),MI=Ze(),DI=Ve(),op="Array Iterator",CI=np.set,VI=np.getterFor(op);up.exports=$I(Array,"Array",function(i,e){CI(this,{type:op,target:RI(i),index:0,kind:e})},function(){var i=VI(this),e=i.target,t=i.index++;if(!e||t>=e.length)return i.target=void 0,ts(void 0,!0);switch(i.kind){case"keys":return ts(t,!1);case"values":return ts(e[t],!1)}return ts([t,e[t]],!1)},"values");var sp=ap.Arguments=ap.Array;Zn("keys");Zn("values");Zn("entries");if(!MI&&DI&&sp.name!=="values")try{LI(sp,"name",{value:"values"})}catch{}});var cp=m((BL,lp)=>{"use strict";var BI=ge(),OI=ir(),_I=BI("iterator"),NI=Array.prototype;lp.exports=function(i){return i!==void 0&&(OI.Array===i||NI[_I]===i)}});var to=m((OL,pp)=>{"use strict";var FI=hi(),dp=ni(),qI=yr(),UI=ir(),HI=ge(),jI=HI("iterator");pp.exports=function(i){if(!qI(i))return dp(i,jI)||dp(i,"@@iterator")||UI[FI(i)]}});var mp=m((_L,hp)=>{"use strict";var GI=Be(),QI=ct(),WI=dt(),YI=si(),zI=to(),KI=TypeError;hp.exports=function(i,e){var t=arguments.length<2?zI(i):e;if(QI(t))return WI(GI(t,i));throw new KI(YI(i)+" is not iterable")}});var gp=m((NL,bp)=>{"use strict";var XI=Be(),fp=dt(),JI=ni();bp.exports=function(i,e,t){var r,a;fp(i);try{if(r=JI(i,"return"),!r){if(e==="throw")throw t;return t}r=XI(r,i)}catch(s){a=!0,r=s}if(e==="throw")throw t;if(a)throw r;return fp(r),t}});var is=m((FL,Tp)=>{"use strict";var ZI=xr(),eE=Be(),tE=dt(),rE=si(),iE=cp(),aE=Ar(),vp=ai(),sE=mp(),nE=to(),Sp=gp(),oE=TypeError,rs=function(i,e){this.stopped=i,this.result=e},yp=rs.prototype;Tp.exports=function(i,e,t){var r=t&&t.that,a=!!(t&&t.AS_ENTRIES),s=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),o=!!(t&&t.INTERRUPTED),u=ZI(e,r),l,d,c,h,f,b,v,y=function(M){return l&&Sp(l,"normal",M),new rs(!0,M)},I=function(M){return a?(tE(M),o?u(M[0],M[1],y):u(M[0],M[1])):o?u(M,y):u(M)};if(s)l=i.iterator;else if(n)l=i;else{if(d=nE(i),!d)throw new oE(rE(i)+" is not iterable");if(iE(d)){for(c=0,h=aE(i);h>c;c++)if(f=I(i[c]),f&&vp(yp,f))return f;return new rs(!1)}l=sE(i,d)}for(b=s?i.next:l.next;!(v=eE(b,l)).done;){try{f=I(v.value)}catch(M){Sp(l,"throw",M)}if(typeof f=="object"&&f&&vp(yp,f))return f}return new rs(!1)}});var Ep=m((qL,Ip)=>{"use strict";var uE=Ve(),lE=rr(),cE=ii();Ip.exports=function(i,e,t){uE?lE.f(i,e,cE(0,t)):i[e]=t}});var xp=m(()=>{"use strict";var dE=le(),pE=is(),hE=Ep();dE({target:"Object",stat:!0},{fromEntries:function(e){var t={};return pE(e,function(r,a){hE(t,r,a)},{AS_ENTRIES:!0}),t}})});var kp=m((jL,Pp)=>{"use strict";eo();xp();var mE=Tr();Pp.exports=mE.Object.fromEntries});var Ap=m((GL,wp)=>{"use strict";wp.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var Lp=m(()=>{"use strict";eo();var fE=Ap(),bE=ue(),gE=mi(),Rp=ir();for(as in fE)gE(bE[as],as),Rp[as]=Rp.Array;var as});var Mp=m((YL,$p)=>{"use strict";var vE=kp();Lp();$p.exports=vE});var ro=m((zL,Dp)=>{"use strict";var SE=Mp();Dp.exports=SE});var Cp=m(()=>{"use strict"});var io=m((JL,Vp)=>{"use strict";var gi=ue(),yE=tr(),TE=Zt(),ss=function(i){return yE.slice(0,i.length)===i};Vp.exports=function(){return ss("Bun/")?"BUN":ss("Cloudflare-Workers")?"CLOUDFLARE":ss("Deno/")?"DENO":ss("Node.js/")?"NODE":gi.Bun&&typeof Bun.version=="string"?"BUN":gi.Deno&&typeof Deno.version=="object"?"DENO":TE(gi.process)==="process"?"NODE":gi.window&&gi.document?"BROWSER":"REST"}()});var ns=m((ZL,Bp)=>{"use strict";var IE=io();Bp.exports=IE==="NODE"});var _p=m((e$,Op)=>{"use strict";var EE=rr();Op.exports=function(i,e,t){return EE.f(i,e,t)}});var qp=m((t$,Fp)=>{"use strict";var xE=Et(),PE=_p(),kE=ge(),wE=Ve(),Np=kE("species");Fp.exports=function(i){var e=xE(i);wE&&e&&!e[Np]&&PE(e,Np,{configurable:!0,get:function(){return this}})}});var Hp=m((r$,Up)=>{"use strict";var AE=ai(),RE=TypeError;Up.exports=function(i,e){if(AE(e,i))return i;throw new RE("Incorrect invocation")}});var so=m((i$,jp)=>{"use strict";var LE=pe(),$E=oe(),ao=oi(),ME=LE(Function.toString);$E(ao.inspectSource)||(ao.inspectSource=function(i){return ME(i)});jp.exports=ao.inspectSource});var oo=m((a$,zp)=>{"use strict";var DE=pe(),CE=be(),Gp=oe(),VE=hi(),BE=Et(),OE=so(),Qp=function(){},Wp=BE("Reflect","construct"),no=/^\s*(?:class|function)\b/,_E=DE(no.exec),NE=!no.test(Qp),vi=function(e){if(!Gp(e))return!1;try{return Wp(Qp,[],e),!0}catch{return!1}},Yp=function(e){if(!Gp(e))return!1;switch(VE(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return NE||!!_E(no,OE(e))}catch{return!0}};Yp.sham=!0;zp.exports=!Wp||CE(function(){var i;return vi(vi.call)||!vi(Object)||!vi(function(){i=!0})||i})?Yp:vi});var Xp=m((s$,Kp)=>{"use strict";var FE=oo(),qE=si(),UE=TypeError;Kp.exports=function(i){if(FE(i))return i;throw new UE(qE(i)+" is not a constructor")}});var uo=m((n$,Zp)=>{"use strict";var Jp=dt(),HE=Xp(),jE=yr(),GE=ge(),QE=GE("species");Zp.exports=function(i,e){var t=Jp(i).constructor,r;return t===void 0||jE(r=Jp(t)[QE])?e:HE(r)}});var th=m((o$,eh)=>{"use strict";var WE=pe();eh.exports=WE([].slice)});var ih=m((u$,rh)=>{"use strict";var YE=TypeError;rh.exports=function(i,e){if(i<e)throw new YE("Not enough arguments");return i}});var lo=m((l$,ah)=>{"use strict";var zE=tr();ah.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(zE)});var So=m((c$,hh)=>{"use strict";var _e=ue(),KE=Zs(),XE=xr(),sh=oe(),JE=et(),ph=be(),nh=Un(),ZE=th(),oh=qa(),ex=ih(),tx=lo(),rx=ns(),bo=_e.setImmediate,go=_e.clearImmediate,ix=_e.process,co=_e.Dispatch,ax=_e.Function,uh=_e.MessageChannel,sx=_e.String,po=0,Si={},lh="onreadystatechange",yi,sr,ho,mo;ph(function(){yi=_e.location});var vo=function(i){if(JE(Si,i)){var e=Si[i];delete Si[i],e()}},fo=function(i){return function(){vo(i)}},ch=function(i){vo(i.data)},dh=function(i){_e.postMessage(sx(i),yi.protocol+"//"+yi.host)};(!bo||!go)&&(bo=function(e){ex(arguments.length,1);var t=sh(e)?e:ax(e),r=ZE(arguments,1);return Si[++po]=function(){KE(t,void 0,r)},sr(po),po},go=function(e){delete Si[e]},rx?sr=function(i){ix.nextTick(fo(i))}:co&&co.now?sr=function(i){co.now(fo(i))}:uh&&!tx?(ho=new uh,mo=ho.port2,ho.port1.onmessage=ch,sr=XE(mo.postMessage,mo)):_e.addEventListener&&sh(_e.postMessage)&&!_e.importScripts&&yi&&yi.protocol!=="file:"&&!ph(dh)?(sr=dh,_e.addEventListener("message",ch,!1)):lh in oh("script")?sr=function(i){nh.appendChild(oh("script"))[lh]=function(){nh.removeChild(this),vo(i)}}:sr=function(i){setTimeout(fo(i),0)});hh.exports={set:bo,clear:go}});var bh=m((d$,fh)=>{"use strict";var mh=ue(),nx=Ve(),ox=Object.getOwnPropertyDescriptor;fh.exports=function(i){if(!nx)return mh[i];var e=ox(mh,i);return e&&e.value}});var yo=m((p$,vh)=>{"use strict";var gh=function(){this.head=null,this.tail=null};gh.prototype={add:function(i){var e={item:i,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var i=this.head;if(i){var e=this.head=i.next;return e===null&&(this.tail=null),i.item}}};vh.exports=gh});var yh=m((h$,Sh)=>{"use strict";var ux=tr();Sh.exports=/ipad|iphone|ipod/i.test(ux)&&typeof Pebble<"u"});var Ih=m((m$,Th)=>{"use strict";var lx=tr();Th.exports=/web0s(?!.*chrome)/i.test(lx)});var Rh=m((f$,Ah)=>{"use strict";var Mr=ue(),cx=bh(),Eh=xr(),To=So().set,dx=yo(),px=lo(),hx=yh(),mx=Ih(),Io=ns(),xh=Mr.MutationObserver||Mr.WebKitMutationObserver,Ph=Mr.document,kh=Mr.process,os=Mr.Promise,Po=cx("queueMicrotask"),$r,Eo,xo,us,wh;Po||(Ti=new dx,Ii=function(){var i,e;for(Io&&(i=kh.domain)&&i.exit();e=Ti.get();)try{e()}catch(t){throw Ti.head&&$r(),t}i&&i.enter()},!px&&!Io&&!mx&&xh&&Ph?(Eo=!0,xo=Ph.createTextNode(""),new xh(Ii).observe(xo,{characterData:!0}),$r=function(){xo.data=Eo=!Eo}):!hx&&os&&os.resolve?(us=os.resolve(void 0),us.constructor=os,wh=Eh(us.then,us),$r=function(){wh(Ii)}):Io?$r=function(){kh.nextTick(Ii)}:(To=Eh(To,Mr),$r=function(){To(Ii)}),Po=function(i){Ti.head||$r(),Ti.add(i)});var Ti,Ii;Ah.exports=Po});var $h=m((b$,Lh)=>{"use strict";Lh.exports=function(i,e){try{arguments.length===1?console.error(i):console.error(i,e)}catch{}}});var ls=m((g$,Mh)=>{"use strict";Mh.exports=function(i){try{return{error:!1,value:i()}}catch(e){return{error:!0,value:e}}}});var nr=m((v$,Dh)=>{"use strict";var fx=ue();Dh.exports=fx.Promise});var Dr=m((S$,Oh)=>{"use strict";var bx=ue(),Ei=nr(),gx=oe(),vx=In(),Sx=so(),yx=ge(),Ch=io(),Tx=Ze(),ko=ln(),Vh=Ei&&Ei.prototype,Ix=yx("species"),wo=!1,Bh=gx(bx.PromiseRejectionEvent),Ex=vx("Promise",function(){var i=Sx(Ei),e=i!==String(Ei);if(!e&&ko===66||Tx&&!(Vh.catch&&Vh.finally))return!0;if(!ko||ko<51||!/native code/.test(i)){var t=new Ei(function(s){s(1)}),r=function(s){s(function(){},function(){})},a=t.constructor={};if(a[Ix]=r,wo=t.then(function(){})instanceof r,!wo)return!0}return!e&&(Ch==="BROWSER"||Ch==="DENO")&&!Bh});Oh.exports={CONSTRUCTOR:Ex,REJECTION_EVENT:Bh,SUBCLASSING:wo}});var Cr=m((y$,Nh)=>{"use strict";var _h=ct(),xx=TypeError,Px=function(i){var e,t;this.promise=new i(function(r,a){if(e!==void 0||t!==void 0)throw new xx("Bad Promise constructor");e=r,t=a}),this.resolve=_h(e),this.reject=_h(t)};Nh.exports.f=function(i){return new Px(i)}});var am=m(()=>{"use strict";var kx=le(),wx=Ze(),hs=ns(),Ft=ue(),_r=Be(),Fh=Lr(),qh=Xn(),Ax=mi(),Rx=qp(),Lx=ct(),ps=oe(),$x=Oe(),Mx=Hp(),Dx=uo(),Qh=So().set,Mo=Rh(),Cx=$h(),Vx=ls(),Bx=yo(),Wh=_n(),ms=nr(),Do=Dr(),Yh=Cr(),fs="Promise",zh=Do.CONSTRUCTOR,Ox=Do.REJECTION_EVENT,_x=Do.SUBCLASSING,Ao=Wh.getterFor(fs),Nx=Wh.set,Vr=ms&&ms.prototype,or=ms,cs=Vr,Kh=Ft.TypeError,Ro=Ft.document,Co=Ft.process,Lo=Yh.f,Fx=Lo,qx=!!(Ro&&Ro.createEvent&&Ft.dispatchEvent),Xh="unhandledrejection",Ux="rejectionhandled",Uh=0,Jh=1,Hx=2,Vo=1,Zh=2,ds,Hh,jx,jh,em=function(i){var e;return $x(i)&&ps(e=i.then)?e:!1},tm=function(i,e){var t=e.value,r=e.state===Jh,a=r?i.ok:i.fail,s=i.resolve,n=i.reject,o=i.domain,u,l,d;try{a?(r||(e.rejection===Zh&&Qx(e),e.rejection=Vo),a===!0?u=t:(o&&o.enter(),u=a(t),o&&(o.exit(),d=!0)),u===i.promise?n(new Kh("Promise-chain cycle")):(l=em(u))?_r(l,u,s,n):s(u)):n(t)}catch(c){o&&!d&&o.exit(),n(c)}},rm=function(i,e){i.notified||(i.notified=!0,Mo(function(){for(var t=i.reactions,r;r=t.get();)tm(r,i);i.notified=!1,e&&!i.rejection&&Gx(i)}))},im=function(i,e,t){var r,a;qx?(r=Ro.createEvent("Event"),r.promise=e,r.reason=t,r.initEvent(i,!1,!0),Ft.dispatchEvent(r)):r={promise:e,reason:t},!Ox&&(a=Ft["on"+i])?a(r):i===Xh&&Cx("Unhandled promise rejection",t)},Gx=function(i){_r(Qh,Ft,function(){var e=i.facade,t=i.value,r=Gh(i),a;if(r&&(a=Vx(function(){hs?Co.emit("unhandledRejection",t,e):im(Xh,e,t)}),i.rejection=hs||Gh(i)?Zh:Vo,a.error))throw a.value})},Gh=function(i){return i.rejection!==Vo&&!i.parent},Qx=function(i){_r(Qh,Ft,function(){var e=i.facade;hs?Co.emit("rejectionHandled",e):im(Ux,e,i.value)})},Br=function(i,e,t){return function(r){i(e,r,t)}},Or=function(i,e,t){i.done||(i.done=!0,t&&(i=t),i.value=e,i.state=Hx,rm(i,!0))},$o=function(i,e,t){if(!i.done){i.done=!0,t&&(i=t);try{if(i.facade===e)throw new Kh("Promise can't be resolved itself");var r=em(e);r?Mo(function(){var a={done:!1};try{_r(r,e,Br($o,a,i),Br(Or,a,i))}catch(s){Or(a,s,i)}}):(i.value=e,i.state=Jh,rm(i,!1))}catch(a){Or({done:!1},a,i)}}};if(zh&&(or=function(e){Mx(this,cs),Lx(e),_r(ds,this);var t=Ao(this);try{e(Br($o,t),Br(Or,t))}catch(r){Or(t,r)}},cs=or.prototype,ds=function(e){Nx(this,{type:fs,done:!1,notified:!1,parent:!1,reactions:new Bx,rejection:!1,state:Uh,value:void 0})},ds.prototype=Fh(cs,"then",function(e,t){var r=Ao(this),a=Lo(Dx(this,or));return r.parent=!0,a.ok=ps(e)?e:!0,a.fail=ps(t)&&t,a.domain=hs?Co.domain:void 0,r.state===Uh?r.reactions.add(a):Mo(function(){tm(a,r)}),a.promise}),Hh=function(){var i=new ds,e=Ao(i);this.promise=i,this.resolve=Br($o,e),this.reject=Br(Or,e)},Yh.f=Lo=function(i){return i===or||i===jx?new Hh(i):Fx(i)},!wx&&ps(ms)&&Vr!==Object.prototype)){jh=Vr.then,_x||Fh(Vr,"then",function(e,t){var r=this;return new or(function(a,s){_r(jh,r,a,s)}).then(e,t)},{unsafe:!0});try{delete Vr.constructor}catch{}qh&&qh(Vr,cs)}kx({global:!0,constructor:!0,wrap:!0,forced:zh},{Promise:or});Ax(or,fs,!1,!0);Rx(fs)});var lm=m((E$,um)=>{"use strict";var Wx=ge(),nm=Wx("iterator"),om=!1;try{sm=0,Bo={next:function(){return{done:!!sm++}},return:function(){om=!0}},Bo[nm]=function(){return this},Array.from(Bo,function(){throw 2})}catch{}var sm,Bo;um.exports=function(i,e){try{if(!e&&!om)return!1}catch{return!1}var t=!1;try{var r={};r[nm]=function(){return{next:function(){return{done:t=!0}}}},i(r)}catch{}return t}});var Oo=m((x$,cm)=>{"use strict";var Yx=nr(),zx=lm(),Kx=Dr().CONSTRUCTOR;cm.exports=Kx||!zx(function(i){Yx.all(i).then(void 0,function(){})})});var dm=m(()=>{"use strict";var Xx=le(),Jx=Be(),Zx=ct(),eP=Cr(),tP=ls(),rP=is(),iP=Oo();Xx({target:"Promise",stat:!0,forced:iP},{all:function(e){var t=this,r=eP.f(t),a=r.resolve,s=r.reject,n=tP(function(){var o=Zx(t.resolve),u=[],l=0,d=1;rP(e,function(c){var h=l++,f=!1;d++,Jx(o,t,c).then(function(b){f||(f=!0,u[h]=b,--d||a(u))},s)}),--d||a(u)});return n.error&&s(n.value),r.promise}})});var hm=m(()=>{"use strict";var aP=le(),sP=Ze(),nP=Dr().CONSTRUCTOR,No=nr(),oP=Et(),uP=oe(),lP=Lr(),pm=No&&No.prototype;aP({target:"Promise",proto:!0,forced:nP,real:!0},{catch:function(i){return this.then(void 0,i)}});!sP&&uP(No)&&(_o=oP("Promise").prototype.catch,pm.catch!==_o&&lP(pm,"catch",_o,{unsafe:!0}));var _o});var mm=m(()=>{"use strict";var cP=le(),dP=Be(),pP=ct(),hP=Cr(),mP=ls(),fP=is(),bP=Oo();cP({target:"Promise",stat:!0,forced:bP},{race:function(e){var t=this,r=hP.f(t),a=r.reject,s=mP(function(){var n=pP(t.resolve);fP(e,function(o){dP(n,t,o).then(r.resolve,a)})});return s.error&&a(s.value),r.promise}})});var fm=m(()=>{"use strict";var gP=le(),vP=Cr(),SP=Dr().CONSTRUCTOR;gP({target:"Promise",stat:!0,forced:SP},{reject:function(e){var t=vP.f(this),r=t.reject;return r(e),t.promise}})});var Fo=m((D$,bm)=>{"use strict";var yP=dt(),TP=Oe(),IP=Cr();bm.exports=function(i,e){if(yP(i),TP(e)&&e.constructor===i)return e;var t=IP.f(i),r=t.resolve;return r(e),t.promise}});var Sm=m(()=>{"use strict";var EP=le(),xP=Et(),gm=Ze(),PP=nr(),vm=Dr().CONSTRUCTOR,kP=Fo(),wP=xP("Promise"),AP=gm&&!vm;EP({target:"Promise",stat:!0,forced:gm||vm},{resolve:function(e){return kP(AP&&this===wP?PP:this,e)}})});var ym=m(()=>{"use strict";am();dm();hm();mm();fm();Sm()});var xm=m(()=>{"use strict";var RP=le(),LP=Ze(),bs=nr(),$P=be(),Im=Et(),Em=oe(),MP=uo(),Tm=Fo(),DP=Lr(),Uo=bs&&bs.prototype,CP=!!bs&&$P(function(){Uo.finally.call({then:function(){}},function(){})});RP({target:"Promise",proto:!0,real:!0,forced:CP},{finally:function(i){var e=MP(this,Im("Promise")),t=Em(i);return this.then(t?function(r){return Tm(e,i()).then(function(){return r})}:i,t?function(r){return Tm(e,i()).then(function(){throw r})}:i)}});!LP&&Em(bs)&&(qo=Im("Promise").prototype.finally,Uo.finally!==qo&&DP(Uo,"finally",qo,{unsafe:!0}));var qo});var km=m((F$,Pm)=>{"use strict";Cp();ym();xm();var VP=Nt();Pm.exports=VP("Promise","finally")});var Am=m((q$,wm)=>{"use strict";var BP=km();wm.exports=BP});var gs=m((U$,Rm)=>{"use strict";var OP=Am();Rm.exports=OP});var Bm=m(()=>{"use strict";var UP=le(),HP=Cn().values;UP({target:"Object",stat:!0},{values:function(e){return HP(e)}})});var _m=m((SM,Om)=>{"use strict";Bm();var jP=Tr();Om.exports=jP.Object.values});var Fm=m((yM,Nm)=>{"use strict";var GP=_m();Nm.exports=GP});var Nr=m((TM,qm)=>{"use strict";var QP=Fm();qm.exports=QP});var Gm=m(()=>{"use strict";var KP=le(),XP=Ir(),JP=Ar(),ZP=ci(),ek=di();KP({target:"Array",proto:!0},{at:function(e){var t=XP(this),r=JP(t),a=ZP(e),s=a>=0?a:r+a;return s<0||s>=r?void 0:t[s]}});ek("at")});var Wm=m((GM,Qm)=>{"use strict";Gm();var tk=Nt();Qm.exports=tk("Array","at")});var zm=m((QM,Ym)=>{"use strict";var rk=Wm();Ym.exports=rk});var Fr=m((WM,Km)=>{"use strict";var ik=zm();Km.exports=ik});var su=m((d0,gf)=>{"use strict";var mk=Zt();gf.exports=Array.isArray||function(e){return mk(e)==="Array"}});var Sf=m((p0,vf)=>{"use strict";var fk=TypeError,bk=9007199254740991;vf.exports=function(i){if(i>bk)throw fk("Maximum allowed index exceeded");return i}});var If=m((h0,Tf)=>{"use strict";var gk=su(),vk=Ar(),Sk=Sf(),yk=xr(),yf=function(i,e,t,r,a,s,n,o){for(var u=a,l=0,d=n?yk(n,o):!1,c,h;l<r;)l in t&&(c=d?d(t[l],l,e):t[l],s>0&&gk(c)?(h=vk(c),u=yf(i,e,c,h,u,s-1)-1):(Sk(u+1),i[u]=c),u++),l++;return u};Tf.exports=yf});var kf=m((m0,Pf)=>{"use strict";var Ef=su(),Tk=oo(),Ik=Oe(),Ek=ge(),xk=Ek("species"),xf=Array;Pf.exports=function(i){var e;return Ef(i)&&(e=i.constructor,Tk(e)&&(e===xf||Ef(e.prototype))?e=void 0:Ik(e)&&(e=e[xk],e===null&&(e=void 0))),e===void 0?xf:e}});var Af=m((f0,wf)=>{"use strict";var Pk=kf();wf.exports=function(i,e){return new(Pk(i))(e===0?0:e)}});var Rf=m(()=>{"use strict";var kk=le(),wk=If(),Ak=ct(),Rk=Ir(),Lk=Ar(),$k=Af();kk({target:"Array",proto:!0},{flatMap:function(e){var t=Rk(this),r=Lk(t),a;return Ak(e),a=$k(t,0),a.length=wk(a,t,t,r,0,1,e,arguments.length>1?arguments[1]:void 0),a}})});var Lf=m(()=>{"use strict";var Mk=di();Mk("flatMap")});var Mf=m((y0,$f)=>{"use strict";Rf();Lf();var Dk=Nt();$f.exports=Dk("Array","flatMap")});var Cf=m((T0,Df)=>{"use strict";var Ck=Mf();Df.exports=Ck});var nu=m((I0,Vf)=>{"use strict";var Vk=Cf();Vf.exports=Vk});var Vi=m(($0,Gf)=>{"use strict";var Hk=hi(),jk=String;Gf.exports=function(i){if(Hk(i)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return jk(i)}});var uu=m((M0,Qf)=>{"use strict";Qf.exports=`
|
|
7
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var zf=m((D0,Yf)=>{"use strict";var Gk=pe(),Qk=_t(),Wk=Vi(),cu=uu(),Wf=Gk("".replace),Yk=RegExp("^["+cu+"]+"),zk=RegExp("(^|[^"+cu+"])["+cu+"]+$"),lu=function(i){return function(e){var t=Wk(Qk(e));return i&1&&(t=Wf(t,Yk,"")),i&2&&(t=Wf(t,zk,"$1")),t}};Yf.exports={start:lu(1),end:lu(2),trim:lu(3)}});var Zf=m((C0,Jf)=>{"use strict";var Kk=qn().PROPER,Xk=be(),Kf=uu(),Xf="\u200B\x85\u180E";Jf.exports=function(i){return Xk(function(){return!!Kf[i]()||Xf[i]()!==Xf||Kk&&Kf[i].name!==i})}});var du=m((V0,eb)=>{"use strict";var Jk=zf().start,Zk=Zf();eb.exports=Zk("trimStart")?function(){return Jk(this)}:"".trimStart});var rb=m(()=>{"use strict";var ew=le(),tb=du();ew({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==tb},{trimLeft:tb})});var ab=m(()=>{"use strict";rb();var tw=le(),ib=du();tw({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==ib},{trimStart:ib})});var nb=m((F0,sb)=>{"use strict";ab();var rw=Nt();sb.exports=rw("String","trimLeft")});var ub=m((q0,ob)=>{"use strict";var iw=nb();ob.exports=iw});var cb=m((U0,lb)=>{"use strict";var aw=ub();lb.exports=aw});var xb=m(()=>{"use strict"});var Pb=m(()=>{"use strict"});var wb=m((gB,kb)=>{"use strict";var xw=Oe(),Pw=Zt(),kw=ge(),ww=kw("match");kb.exports=function(i){var e;return xw(i)&&((e=i[ww])!==void 0?!!e:Pw(i)==="RegExp")}});var Rb=m((vB,Ab)=>{"use strict";var Aw=dt();Ab.exports=function(){var i=Aw(this),e="";return i.hasIndices&&(e+="d"),i.global&&(e+="g"),i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.dotAll&&(e+="s"),i.unicode&&(e+="u"),i.unicodeSets&&(e+="v"),i.sticky&&(e+="y"),e}});var Mb=m((SB,$b)=>{"use strict";var Rw=Be(),Lw=et(),$w=ai(),Mw=Rb(),Lb=RegExp.prototype;$b.exports=function(i){var e=i.flags;return e===void 0&&!("flags"in Lb)&&!Lw(i,"flags")&&$w(Lb,i)?Rw(Mw,i):e}});var Cb=m((yB,Db)=>{"use strict";var vu=pe(),Dw=Ir(),Cw=Math.floor,bu=vu("".charAt),Vw=vu("".replace),gu=vu("".slice),Bw=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Ow=/\$([$&'`]|\d{1,2})/g;Db.exports=function(i,e,t,r,a,s){var n=t+i.length,o=r.length,u=Ow;return a!==void 0&&(a=Dw(a),u=Bw),Vw(s,u,function(l,d){var c;switch(bu(d,0)){case"$":return"$";case"&":return i;case"`":return gu(e,0,t);case"'":return gu(e,n);case"<":c=a[gu(d,1,-1)];break;default:var h=+d;if(h===0)return l;if(h>o){var f=Cw(h/10);return f===0?l:f<=o?r[f-1]===void 0?bu(d,1):r[f-1]+bu(d,1):l}c=r[h-1]}return c===void 0?"":c})}});var Ob=m(()=>{"use strict";var _w=le(),Nw=Be(),yu=pe(),Vb=_t(),Fw=oe(),qw=yr(),Uw=wb(),Wr=Vi(),Hw=ni(),jw=Mb(),Gw=Cb(),Qw=ge(),Ww=Ze(),Yw=Qw("replace"),zw=TypeError,Su=yu("".indexOf),Kw=yu("".replace),Bb=yu("".slice),Xw=Math.max;_w({target:"String",proto:!0},{replaceAll:function(e,t){var r=Vb(this),a,s,n,o,u,l,d,c,h,f,b=0,v="";if(!qw(e)){if(a=Uw(e),a&&(s=Wr(Vb(jw(e))),!~Su(s,"g")))throw new zw("`.replaceAll` does not allow non-global regexes");if(n=Hw(e,Yw),n)return Nw(n,e,r,t);if(Ww&&a)return Kw(Wr(r),e,t)}for(o=Wr(r),u=Wr(e),l=Fw(t),l||(t=Wr(t)),d=u.length,c=Xw(1,d),h=Su(o,u);h!==-1;)f=l?Wr(t(u,h,o)):Gw(u,o,h,[],void 0,t),v+=Bb(o,b,h)+f,b=h+d,h=h+c>o.length?-1:Su(o,u,h+c);return b<o.length&&(v+=Bb(o,b)),v}})});var Nb=m((EB,_b)=>{"use strict";xb();Pb();Ob();var Jw=Nt();_b.exports=Jw("String","replaceAll")});var qb=m((xB,Fb)=>{"use strict";var Zw=Nb();Fb.exports=Zw});var Hb=m((PB,Ub)=>{"use strict";var eA=qb();Ub.exports=eA});var Gb=m((kB,jb)=>{"use strict";var tA=ci(),rA=Vi(),iA=_t(),aA=RangeError;jb.exports=function(e){var t=rA(iA(this)),r="",a=tA(e);if(a<0||a===1/0)throw new aA("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))a&1&&(r+=t);return r}});var Kb=m((wB,zb)=>{"use strict";var Yb=pe(),sA=An(),Qb=Vi(),nA=Gb(),oA=_t(),uA=Yb(nA),lA=Yb("".slice),cA=Math.ceil,Wb=function(i){return function(e,t,r){var a=Qb(oA(e)),s=sA(t),n=a.length,o=r===void 0?" ":Qb(r),u,l;return s<=n||o===""?a:(u=s-n,l=uA(o,cA(u/o.length)),l.length>u&&(l=lA(l,0,u)),i?a+l:l+a)}};zb.exports={start:Wb(!1),end:Wb(!0)}});var Jb=m((AB,Xb)=>{"use strict";var dA=tr();Xb.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(dA)});var Zb=m(()=>{"use strict";var pA=le(),hA=Kb().start,mA=Jb();pA({target:"String",proto:!0,forced:mA},{padStart:function(e){return hA(this,e,arguments.length>1?arguments[1]:void 0)}})});var tg=m(($B,eg)=>{"use strict";Zb();var fA=Nt();eg.exports=fA("String","padStart")});var ig=m((MB,rg)=>{"use strict";var bA=tg();rg.exports=bA});var sg=m((DB,ag)=>{"use strict";var gA=ig();ag.exports=gA});var VA={};ov(VA,{ChromecastState:()=>ei,HttpConnectionType:()=>Oa,Observable:()=>gt.Observable,PlaybackState:()=>Ie,Player:()=>Ra,SDK_VERSION:()=>CA,Subject:()=>gt.Subject,Subscription:()=>gt.Subscription,Surface:()=>_a,VERSION:()=>Xs,ValueSubject:()=>gt.ValueSubject,VideoFormat:()=>It,VideoQuality:()=>gt.VideoQuality});module.exports=uv(VA);var Xs="2.0.124-dev.4a771da1.0";var Ie=(a=>(a.STOPPED="stopped",a.READY="ready",a.PLAYING="playing",a.PAUSED="paused",a))(Ie||{}),It=(A=>(A.MPEG="MPEG",A.DASH="DASH",A.DASH_SEP="DASH_SEP",A.DASH_SEP_VK="DASH_SEP",A.DASH_WEBM="DASH_WEBM",A.DASH_WEBM_AV1="DASH_WEBM_AV1",A.DASH_STREAMS="DASH_STREAMS",A.DASH_WEBM_VK="DASH_WEBM",A.DASH_ONDEMAND="DASH_ONDEMAND",A.DASH_ONDEMAND_VK="DASH_ONDEMAND",A.DASH_LIVE="DASH_LIVE",A.DASH_LIVE_CMAF="DASH_LIVE_CMAF",A.DASH_LIVE_WEBM="DASH_LIVE_WEBM",A.HLS="HLS",A.HLS_ONDEMAND="HLS_ONDEMAND",A.HLS_JS="HLS",A.HLS_LIVE="HLS_LIVE",A.HLS_LIVE_CMAF="HLS_LIVE_CMAF",A.WEB_RTC_LIVE="WEB_RTC_LIVE",A))(It||{});var ei=(a=>(a.NOT_AVAILABLE="NOT_AVAILABLE",a.AVAILABLE="AVAILABLE",a.CONNECTING="CONNECTING",a.CONNECTED="CONNECTED",a))(ei||{}),Oa=(r=>(r.HTTP1="http1",r.HTTP2="http2",r.QUIC="quic",r))(Oa||{});var _a=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(_a||{});var Xg=G(tt(),1);var q=require("@vkontakte/videoplayer-shared");var Bc=i=>new Promise((e,t)=>{let r=document.createElement("script");r.setAttribute("src",i),r.onload=()=>e(),r.onerror=a=>t(a),document.body.appendChild(r)});var Ha=class{constructor(e){this.connection$=new q.ValueSubject(void 0);this.castState$=new q.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new q.Subject;this.realCastState$=new q.ValueSubject("NOT_AVAILABLE");this.subscription=new q.Subscription;this.isDestroyed=!1;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let r=(0,q.isNonNullable)(window.chrome?.cast),a=!!window.__onGCastApiAvailable;r?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},a||Bc("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:q.ErrorCategory.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){(0,q.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,q.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,q.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),r=cast.framework.CastContext.getInstance();this.subscription.add((0,q.fromEvent)(r,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(a=>{switch(a.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=r.getCurrentSession()?.getMediaSession()?.media?.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return(0,q.assertNever)(a.sessionState)}})).add((0,q.merge)((0,q.fromEvent)(r,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,q.tap)(a=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(a)}`})}),(0,q.map)(a=>a.castState)),(0,q.observableFrom)([r.getCastState()])).pipe((0,q.filterChanged)(),(0,q.map)(Ly),(0,q.tap)(a=>{this.log({message:`realCastState$: ${a}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(a=>{let s=a==="CONNECTED",n=(0,q.isNonNullable)(this.connection$.getValue());if(s&&!n){let o=r.getCurrentSession();(0,q.assertNonNullable)(o);let u=o.getCastDevice(),l=o.getMediaSession()?.media?.contentId;((0,q.isNullable)(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:o,castDevice:u}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(a==="CONNECTED"?(0,q.isNonNullable)(this.connection$.getValue())?"CONNECTED":"AVAILABLE":a)}))}initializeCastApi(){let e,t,r;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,r=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:r}),this.initListeners()}catch(a){this.errorEvent$.next({id:"ChromecastInitializer",category:q.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:a})}}},Ly=i=>{switch(i){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return(0,q.assertNever)(i)}};var Nu=G(tt(),1),_g=G(Rr(),1),Ng=G(ro(),1);var Dm=G(gs(),1);var Ho=require("@vkontakte/videoplayer-shared");var ve=(i,e=0,t=0)=>{switch(t){case 0:return i.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return i;let r=new URL(i);return r.searchParams.append("playback_shift",e.toFixed(0)),r.toString()}case 2:{let r=new URL(i);return!r.searchParams.get("offset_p")&&e===0?i:(r.searchParams.set("offset_p",e.toFixed(0)),r.toString())}default:(0,Ho.assertNever)(t)}return i},vs=(i,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(i);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(i);return Number(t.searchParams.get("offset_p")??0)}default:(0,Ho.assertNever)(e)}};var P=(i,e,t=!1)=>{let r=i.getTransition();(t||!r||r.to===e)&&i.setState(e)};var pt=require("@vkontakte/videoplayer-shared"),U=class{constructor(e){this.transitionStarted$=new pt.Subject;this.transitionEnded$=new pt.Subject;this.transitionUpdated$=new pt.Subject;this.forceChanged$=new pt.Subject;this.stateChangeStarted$=(0,pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,r=this.state;this.transition=void 0,this.prevState=r,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:r,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,r=this.state;r===e||(0,pt.isNonNullable)(t)&&t.to===e||(this.prevState=r,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:r,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var Lm=require("@vkontakte/videoplayer-shared"),$m=i=>{switch(i){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return(0,Lm.assertNever)(i)}};var R=require("@vkontakte/videoplayer-shared");var _P=5,NP=5,FP=500,Mm=7e3,xi=class{constructor(e){this.subscription=new R.Subscription;this.loadMediaTimeoutSubscription=new R.Subscription;this.videoState=new U("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),r=this.params.desiredState.playbackState.getState(),a=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${r}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(s)};`}),r==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(a?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.position/1e3);return}switch(r){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,R.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,R.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,R.assertNever)(e)}break}default:(0,R.assertNever)(r)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next($m(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new R.Subscription;this.subscription.add(e),this.subscription.add((0,R.merge)(this.videoState.stateChangeStarted$.pipe((0,R.map)(a=>`stateChangeStarted$ ${JSON.stringify(a)}`)),this.videoState.stateChangeEnded$.pipe((0,R.map)(a=>`stateChangeEnded$ ${JSON.stringify(a)}`))).subscribe(a=>this.log({message:`[videoState] ${a}`})));let t=(a,s)=>this.subscription.add(a.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let a=new R.Subject;e.add(a.pipe((0,R.debounce)(FP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let o=n.value;this.params.output.position$.next(o),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(o-s)>_P)&&a.next(o),s=o})),e.add((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),a=>{this.logRemoteEvent(a),a.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),a=>{this.logRemoteEvent(a),a.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),a=>{this.logRemoteEvent(a);let{remotePlayer:s}=this.params.connection,n=a.value,o=this.params.output.isBuffering$.getValue(),u=n===chrome.cast.media.PlayerState.BUFFERING;switch(o!==u&&this.params.output.isBuffering$.next(u),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<NP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,R.assertNever)(n)}}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),a=>{this.logRemoteEvent(a),this.handleRemoteVolumeChange({volume:a.value})}),t((0,R.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),a=>{this.logRemoteEvent(a),this.handleRemoteVolumeChange({muted:a.value})});let r=(0,R.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,R.observableFrom)(["init"])).pipe((0,R.debounce)(0));t(r,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"));let r=this.params.output.isLive$.getValue();this.params.output.duration$.next(r?0:t.duration),this.params.output.position$.next(r?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),r=this.createLoadRequest(t);this.loadMedia(r)}handleRemotePause(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),r={volume:e.volume??t.volume,muted:e.muted??t.muted};(r.volume!==t.volume||r.muted!==r.muted)&&this.params.output.volume$.next(r)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:r}=this.params.connection;t.currentTime=e,r.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){let t=this.params.source,r,a,s;switch(e){case"MPEG":{let l=t[e];(0,R.assertNonNullable)(l);let d=(0,R.getHighestQuality)(Object.keys(l));(0,R.assertNonNullable)(d);let c=l[d];(0,R.assertNonNullable)(c),r=c,a="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_ONDEMAND":{let l=t[e];(0,R.assertNonNullable)(l),r=l.url,a="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];(0,R.assertNonNullable)(l),r=l.url,a="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,R.assertNonNullable)(l),r=l.url,a="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];(0,R.assertNonNullable)(l),r=ve(l.url),a="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",d=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:R.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:d}),d}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,R.assertNever)(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??r,a);n.contentUrl=r,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:o,subtitle:u}=this.params.meta;return(0,R.isNonNullable)(o)&&(n.metadata.title=o),(0,R.isNonNullable)(u)&&(n.metadata.subtitle=u),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let r=this.params.desiredState.seekState.getState();return r.state==="applying"||r.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:r.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),r=new Promise((a,s)=>{this.loadMediaTimeoutSubscription.add((0,R.timeout)(Mm).subscribe(()=>s(`timeout(${Mm})`)))});(0,Dm.default)(Promise.race([t,r]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},a=>{let s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${a}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:R.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:a})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var iu=G(tt(),1);var Wo=require("@vkontakte/videoplayer-shared");var Cm=require("@vkontakte/videoplayer-shared"),Vm=i=>{try{i.pause(),i.playbackRate=0,(0,Cm.clearVideoElement)(i),i.remove()}catch(e){console.error(e)}};var Ss=require("@vkontakte/videoplayer-shared"),jo=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Go=window.WeakMap?new WeakMap:new jo,Qo=window.WeakMap?new WeakMap:new Map,qP=(i,e=20)=>{let t=0;return(0,Ss.fromEvent)(i,"ratechange").subscribe(r=>{t++,t>=e&&(i.currentTime=i.currentTime,t=0)})},ke=(i,{audioVideoSyncRate:e})=>{let t=i.querySelector("video"),r=!!t;t?(0,Wo.clearVideoElement)(t):(t=document.createElement("video"),i.appendChild(t)),Go.set(t,r);let a=new Ss.Subscription;return a.add(qP(t,e)),Qo.set(t,a),t.setAttribute("crossorigin","anonymous"),t.setAttribute("playsinline","playsinline"),t.setAttribute("x-yandex-pip","false"),t.controls=!1,t.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),t},we=i=>{Qo.get(i)?.unsubscribe(),Qo.delete(i);let t=Go.get(i);Go.delete(i),t?(0,Wo.clearVideoElement)(i):Vm(i)};var Yo=G(Nr(),1),L=require("@vkontakte/videoplayer-shared");var qt=require("@vkontakte/videoplayer-shared"),ys=(i,e,t,{equal:r=(n,o)=>n===o,changed$:a,onError:s}={})=>{let n=i.getState(),o=e(),u=(0,qt.isNullable)(a),l=new qt.Subscription;return a&&l.add(a.subscribe(d=>{let c=i.getState();r(d,c)&&i.setState(d)},s)),r(o,n)||(t(n),u&&i.setState(n)),l.add(i.stateChangeStarted$.subscribe(d=>{t(d.to),u&&i.setState(d.to)},s)),l},ht=(i,e,t)=>ys(e,()=>i.loop,r=>{(0,qt.isNonNullable)(r)&&(i.loop=r)},{onError:t}),Ae=(i,e,t,r)=>ys(e,()=>({muted:i.muted,volume:i.volume}),a=>{(0,qt.isNonNullable)(a)&&(i.muted=a.muted,i.volume=a.volume)},{equal:(a,s)=>a===s||a?.muted===s?.muted&&a?.volume===s?.volume,changed$:t,onError:r}),Ue=(i,e,t,r)=>ys(e,()=>i.playbackRate,a=>{(0,qt.isNonNullable)(a)&&(i.playbackRate=a)},{changed$:t,onError:r}),Ut=ys;var WP=i=>["__",i.language,i.label].join("|"),YP=(i,e)=>{if(i.id===e)return!0;let[t,r,a]=e.split("|");return i.language===r&&i.label===a},zo=class i{constructor(e){this.available$=new L.Subject;this.current$=new L.ValueSubject(void 0);this.error$=new L.Subject;this.subscription=new L.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,r){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let a=s=>{this.error$.next({id:"TextTracksManager",category:L.ErrorCategory.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};this.subscription.add(this.available$.subscribe(r.availableTextTracks$)),this.subscription.add(this.current$.subscribe(r.currentTextTrack$)),this.subscription.add(this.error$.subscribe(r.error$)),this.subscription.add(Ut(t.internalTextTracks,()=>(0,Yo.default)(this.internalTracks),s=>{(0,L.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,L.isNonNullable)(s)&&(0,L.isNonNullable)(n)&&s.length===n.length&&s.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,L.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:a})),this.subscription.add(Ut(t.externalTextTracks,()=>(0,Yo.default)(this.externalTracks),s=>{(0,L.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,L.isNonNullable)(s)&&(0,L.isNonNullable)(n)&&s.length===n.length&&s.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,L.map)(s=>s.filter(({type:n})=>n==="external"))),onError:a})),this.subscription.add(Ut(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:a})),this.subscription.add(Ut(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,L.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,L.fromEvent)(e,"addtrack").subscribe(()=>{let r=this.current$.getValue();r&&this.select(r)})),this.subscription.add((0,L.merge)((0,L.fromEvent)(e,"addtrack"),(0,L.fromEvent)(e,"removetrack"),(0,L.observableFrom)(["init"])).pipe((0,L.map)(()=>this.htmlTextTracksAsArray().map(r=>this.htmlTextTrackToITextTrack(r))),(0,L.filterChanged)((r,a)=>r.length===a.length&&r.every(({id:s},n)=>s===a[n].id))).subscribe(this.available$)),this.subscription.add((0,L.merge)((0,L.fromEvent)(e,"change"),(0,L.observableFrom)(["init"])).pipe((0,L.map)(()=>this.htmlTextTracksAsArray().find(({mode:r})=>r==="showing")),(0,L.map)(r=>r&&this.htmlTextTrackToITextTrack(r).id),(0,L.filterChanged)()).subscribe(this.current$));let t=r=>this.applyCueSettings(r.target?.activeCues??null);this.subscription.add((0,L.fromEvent)(e,"addtrack").subscribe(r=>{r.track?.addEventListener("cuechange",t);let a=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",a))};r.track?.addEventListener("cuechange",a)})),this.subscription.add((0,L.fromEvent)(e,"removetrack").subscribe(r=>{r.track?.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let r of Array.from(e)){let a=r;(0,L.isNonNullable)(t.align)&&(a.align=t.align),(0,L.isNonNullable)(t.position)&&(a.position=t.position),(0,L.isNonNullable)(t.size)&&(a.size=t.size),(0,L.isNonNullable)(t.line)&&(a.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,L.assertNonNullable)(this.video);let t=[...this.video.textTracks];return e?t:t.filter(i.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:r}=e,a=e.id?e.id:WP(e),s=this.externalTracks.has(a),n=(s?this.externalTracks.get(a)?.isAuto:this.internalTracks.get(a)?.isAuto)??a.includes("auto");return s?{id:a,type:"external",isAuto:n,language:t,label:r,url:this.externalTracks.get(a)?.url}:{id:a,type:"internal",isAuto:n,language:t,label:r,url:this.internalTracks.get(a)?.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(r=>r.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:r,language:a,isAuto:s})=>!this.internalTracks.has(r)&&!t.some(([,n])=>n.language===a&&n.isAuto===s)).forEach(r=>this.attach(r)),Array.from(this.internalTracks).filter(([r])=>!e.find(a=>a.id===r)).forEach(([,r])=>this.detach(r))}select(e){(0,L.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,L.isNullable)(e)||!YP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,L.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,L.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),r=>r.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},He=zo;var kt=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var Um=i=>{let e=i;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},Ko=i=>{let e=Um(i);return!!(e&&e.fullscreenElement&&e.fullscreenElement===i)},Hm=i=>{let e=Um(i);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===i)};var D=require("@vkontakte/videoplayer-shared");var zP=3,jm=(i,e,t=zP)=>{let r=0,a=0;for(let s=0;s<i.length;s++){let n=i.start(s),o=i.end(s);if(n<=e&&e<=o){if(r=n,a=o,!t)return{from:r,to:a};for(let u=s-1;u>=0;u--)i.end(u)+t>=r&&(r=i.start(u));for(let u=s+1;u<i.length;u++)i.start(u)-t<=a&&(a=i.end(u))}}return{from:r,to:a}};var Re=i=>{let e=A=>(0,D.fromEvent)(i,A).pipe((0,D.mapTo)(void 0)),r=(0,D.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(A=>(0,D.fromEvent)(i,A))).pipe((0,D.map)(A=>A.type==="ended"?i.readyState<2:i.readyState<3),(0,D.filterChanged)()),a=(0,D.merge)((0,D.fromEvent)(i,"progress"),(0,D.fromEvent)(i,"timeupdate")).pipe((0,D.map)(()=>jm(i.buffered,i.currentTime))),s=D.clientChecker.isSafari?(0,D.combine)({play:e("play").pipe((0,D.once)()),playing:e("playing")}).pipe((0,D.mapTo)(void 0)):e("playing"),n=(0,D.fromEvent)(i,"volumechange").pipe((0,D.map)(()=>({muted:i.muted,volume:i.volume}))),o=(0,D.fromEvent)(i,"ratechange").pipe((0,D.map)(()=>i.playbackRate)),u=(0,D.fromEvent)(i,"error").pipe((0,D.filter)(()=>!!(i.error||i.played.length)),(0,D.map)(()=>{let A=i.error;return{id:A?`MediaError#${A.code}`:"HtmlVideoError",category:D.ErrorCategory.VIDEO_PIPELINE,message:A?A.message:"Error event from HTML video element",thrown:i.error??void 0}})),l=(0,D.fromEvent)(i,"timeupdate").pipe((0,D.map)(()=>i.currentTime)),d=new D.Subject,c=.3,h;l.subscribe(A=>{i.loop&&(0,D.isNonNullable)(h)&&(0,D.isNonNullable)(A)&&h>=i.duration-c&&A<=c&&d.next(h),h=A});let f=e("pause").pipe((0,D.filter)(()=>!i.error&&h!==i.duration)),b=(0,D.fromEvent)(i,"enterpictureinpicture"),v=(0,D.fromEvent)(i,"leavepictureinpicture"),y=new D.ValueSubject(Hm(i));b.subscribe(()=>y.next(!0)),v.subscribe(()=>y.next(!1));let I=new D.ValueSubject(Ko(i));return(0,D.fromEvent)(i,"fullscreenchange").pipe((0,D.map)(()=>Ko(i))).subscribe(I),{playing$:s,pause$:f,canplay$:e("canplay"),ended$:e("ended"),looped$:d,error$:u,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,D.fromEvent)(i,"durationchange").pipe((0,D.map)(()=>i.duration)),isBuffering$:r,currentBuffer$:a,volumeState$:n,playbackRateState$:o,inPiP$:y,inFullscreen$:I,enterPip$:b,leavePip$:v}};var wt=require("@vkontakte/videoplayer-shared"),Ht=i=>{switch(i){case"mobile":return wt.VideoQuality.Q_144P;case"lowest":return wt.VideoQuality.Q_240P;case"low":return wt.VideoQuality.Q_360P;case"sd":case"medium":return wt.VideoQuality.Q_480P;case"hd":case"high":return wt.VideoQuality.Q_720P;case"fullhd":case"full":return wt.VideoQuality.Q_1080P;case"quadhd":case"quad":return wt.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return wt.VideoQuality.Q_2160P}};var jt=G(Fr(),1),tf=G(tt(),1),Ts=G(Rr(),1),$=require("@vkontakte/videoplayer-shared");var Xo=!1,At={},Xm=i=>{Xo=i},Jm=()=>{At={}},Zm=i=>{i(At)},Pi=(i,e)=>{Xo&&(At.meta=At.meta??{},At.meta[i]=e)},Ee=class{constructor(e){this.name=e}next(e){if(!Xo)return;At.series=At.series??{};let t=At.series[this.name]??[];t.push([Date.now(),e]),At.series[this.name]=t}};var ak=new Ee("best_bitrate"),rf=(i,e,t)=>(e-t)*Math.pow(2,-10*i)+t;var Jo=i=>(e,t)=>i*(Number(e.bitrate)-Number(t.bitrate)),ki=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,$.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},af='Assertion "ABR Tracks is empty array" failed',Is=(i,e,t,r)=>{let a=[...e].sort(Jo(1)),s=[...t].sort(Jo(1)),n=s.filter(u=>(0,$.isNonNullable)(u.bitrate)&&(0,$.isNonNullable)(i.bitrate)?i.bitrate/u.bitrate>r:!0),o=(0,jt.default)(s,Math.round(s.length*a.indexOf(i)/(a.length+1)))??(0,jt.default)(s,-1);return o&&(0,tf.default)(n,o)?o:n.length?(0,jt.default)(n,-1):(0,jt.default)(s,0)},ef=i=>"quality"in i,sf=(i,e,t,r)=>{let a=(0,$.isNonNullable)(r?.last?.bitrate)&&(0,$.isNonNullable)(t?.bitrate)&&r.last.bitrate<t.bitrate?i.trackCooldownIncreaseQuality:i.trackCooldownDecreaseQuality,s=t&&r&&r.history[t.id]&&(0,$.now)()-r.history[t.id]<=a&&(!r.last||t.id!==r.last.id);if(t?.id&&r&&!s&&r.recordSelection(t),s&&r?.last){let n=r.last;r?.recordSwitch(n);let o=ef(n)?"video":"audio",u=ef(n)?n.quality:n.bitrate;return e({message:`
|
|
8
8
|
[last ${o} selected] ${u}
|
|
9
9
|
`}),n}return r?.recordSwitch(t),t},sk=(i,e)=>Math.log(e)/Math.log(i),Gt=(i,{container:e,estimatedThroughput:t,tuning:r,limits:a,reserve:s=0,forwardBufferHealth:n,playbackRate:o,current:u,history:l,visible:d,droppedVideoMaxQualityLimit:c,stallsVideoMaxQualityLimit:h,stallsPredictedThroughput:f,abrLogger:b})=>{(0,$.assertNotEmptyArray)(i,af);let v=r.containerSizeFactor;if(r.usePixelRatio&&window.devicePixelRatio){let E=window.devicePixelRatio;if(r.pixelRatioMultiplier)v*=r.pixelRatioMultiplier*(E-1)+1;else{let w=r.pixelRatioLogBase,[ee=0,Ce=0,We=0]=r.pixelRatioLogCoefficients,C=sk(w,ee*E+Ce)+We;Number.isFinite(C)&&(v*=C)}}let y=r.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*v,height:e.height*v}:void 0,I=r.considerPlaybackRate&&(0,$.isNonNullable)(o)?o:1,M=i.filter(E=>!(0,$.isInvariantQuality)(E.quality)).sort((E,w)=>(0,$.isHigher)(E.quality,w.quality)?-1:1),A=(0,jt.default)(M,-1)?.quality,_=(0,jt.default)(M,0)?.quality,x=(0,$.isNullable)(a)||(0,$.isNonNullable)(a.min)&&(0,$.isNonNullable)(a.max)&&(0,$.isLower)(a.max,a.min)||(0,$.isNonNullable)(a.min)&&_&&(0,$.isHigher)(a.min,_)||(0,$.isNonNullable)(a.max)&&A&&(0,$.isLower)(a.max,A),k=I*rf(n??.5,r.bitrateFactorAtEmptyBuffer,r.bitrateFactorAtFullBuffer),B={},J=M.filter(E=>{let w=!0;if(y)if(E.size)w=E.size.width<=y.width&&E.size.height<=y.height;else{let re=y&&(0,$.videoSizeToQuality)(y);w=re?(0,$.isLowerOrEqual)(E.quality,re):!0}if(!w)return B[E.quality]="FitsContainer",!1;let ee=f||t;if(!((0,$.isNonNullable)(ee)&&isFinite(ee)&&(0,$.isNonNullable)(E.bitrate)?ee-s>=E.bitrate*k:!0))return B[E.quality]="FitsThroughput",!1;if(r.lazyQualitySwitch&&(0,$.isNonNullable)(r.minBufferToSwitchUp)&&u&&!(0,$.isInvariantQuality)(u.quality)&&(n??0)<r.minBufferToSwitchUp&&(0,$.isHigher)(E.quality,u.quality))return B[E.quality]="Buffer",!1;if(!!c&&(0,$.isHigherOrEqual)(E.quality,c))return B[E.quality]="DroppedFramesLimit",!1;if(!!h&&(0,$.isHigherOrEqual)(E.quality,h))return B[E.quality]="StallsLimit",!1;let X=x||((0,$.isNullable)(a.max)||(0,$.isLowerOrEqual)(E.quality,a.max))&&((0,$.isNullable)(a.min)||(0,$.isHigherOrEqual)(E.quality,a.min)),V=(0,$.isNonNullable)(d)&&!d?(0,$.isLowerOrEqual)(E.quality,r.backgroundVideoQualityLimit):!0;return!X||!V?(B[E.quality]="FitsQualityLimits",!1):!0})[0];J&&J.bitrate&&ak.next(J.bitrate);let te=J??(0,jt.default)(M,-1)??i[0];return te.quality!==l?.last?.quality&&b({message:`
|
|
10
10
|
[VIDEO TRACKS ABR]
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
minBufferToSwitchUp: ${a.minBufferToSwitchUp},
|
|
61
61
|
|
|
62
62
|
[selected audio track] ${b?.id}
|
|
63
|
-
`}),b&&sf(a,u,b,o)};var he=i=>new URL(i).hostname;var O=require("@vkontakte/videoplayer-shared");var uf=G(tt(),1),of=i=>{if(i instanceof DOMException&&(0,uf.default)(["Failed to load because no supported source was found.","The element has no supported sources."],i.message))throw i;return!(i instanceof DOMException&&(i.code===20||i.name==="AbortError"))},Le=async(i,e)=>{let t=i.muted;try{await i.play()}catch(r){if(!of(r))return!1;if(e&&e(),t)return console.warn(r),!1;i.muted=!0;try{await i.play()}catch(a){return of(a)&&(i.muted=!1,console.warn(a)),!1}}return!0};var Ne=require("@vkontakte/videoplayer-shared");var lf=G(Nr(),1),mt=require("@vkontakte/videoplayer-shared");function me(){return(0,mt.now)()}function Zo(i){return me()-i}function eu(i){let e=i.split("/"),t=e.slice(0,e.length-1).join("/"),r=/^([a-z]+:)?\/\//i,a=n=>r.test(n);return{resolve:(n,o,u=!1)=>{a(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return u&&(n+=l+"lowLat=1",l="&"),o&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function cf(i,e,t){let r=(...a)=>{t.apply(null,a),i.removeEventListener(e,r)};i.addEventListener(e,r)}function qr(i,e,t,r){let a=window.XMLHttpRequest,s,n,o,u=!1,l=0,d,c,h=!1,f="arraybuffer",b=7e3,v=2e3,y=()=>{if(u)return;(0,mt.assertNonNullable)(d);let w=Zo(d),ee;if(w<v){ee=v-w,setTimeout(y,ee);return}v*=2,v>b&&(v=b),n&&n.abort(),n=new a,k()},I=w=>(s=w,E),M=w=>(c=w,E),A=()=>(f="json",E),_=()=>{if(!u){if(--l>=0){y(),r&&r();return}u=!0,c&&c(),t&&t()}},x=w=>(h=w,E),k=()=>{d=me(),n=new a,n.open("get",i);let w=0,ee,Ce=0,We=()=>((0,mt.assertNonNullable)(d),Math.max(d,Math.max(ee||0,Ce||0)));if(s&&n.addEventListener("progress",C=>{let Q=me();s.updateChunk&&C.loaded>w&&(s.updateChunk(We(),C.loaded-w),w=C.loaded,ee=Q)}),o&&(n.timeout=o,n.addEventListener("timeout",()=>_())),n.addEventListener("load",()=>{if(u)return;(0,mt.assertNonNullable)(n);let C=n.status;if(C>=200&&C<300){let{response:Q,responseType:X}=n,V=Q?.byteLength;if(typeof V=="number"&&s){let re=V-w;re&&s.updateChunk&&s.updateChunk(We(),re)}X==="json"&&(!Q||!(0,lf.default)(Q).length)?_():(c&&c(),e(Q))}else _()}),n.addEventListener("error",()=>{_()}),h){let C=()=>{(0,mt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(Ce=me(),n.removeEventListener("readystatechange",C))};n.addEventListener("readystatechange",C)}return n.responseType=f,n.send(),E},E={withBitrateReporting:I,withParallel:x,withJSONResponse:A,withRetryCount:w=>(l=w,E),withRetryInterval:(w,ee)=>((0,mt.isNonNullable)(w)&&(v=w),(0,mt.isNonNullable)(ee)&&(b=ee),E),withTimeout:w=>(o=w,E),withFinally:M,send:k,abort:()=>{n&&(n.abort(),n=void 0),u=!0,c&&c()}};return E}var wi=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,r){return{start:e,end:t,bytes:r}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let r=0,a=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)r+=s.end-s.start,a+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,o=s.end-s.start;r+=n;let u=s.bytes*n/o;a+=u,s.start=t,s.bytes-=u}}}if(a>0&&r>0){let s=a*8/(r/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(a)}/${Math.round(r)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,r){return this.intervals.push(this._createInterval(e,t,r)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var df=G(Nr(),1);var Ai=class{constructor(e,t,r,a,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=r,this.MAX_PARALLEL_REQUESTS=a,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let r=me(),a=u=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=u,e._errorCB?e._errorCB(u):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=u=>{e._complete=1,e._responseData=u,e._downloadTime=me()-r,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(u,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},o=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=qr(t,s,()=>a("error"),o),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=me()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=me();if(Object.keys(this.activeRequests).length>=e)return!1;let r=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),r>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),r),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,df.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,r,a){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=r,n._retryCB=a,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),r(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let o=this.pendingQueue.indexOf(e);o!==-1&&this.pendingQueue.splice(o,1),this.logger(`Request not prefetched, starting new request, url=${e}${o===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=r,s._retryCB=a,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var pf=require("@vkontakte/videoplayer-shared"),Es=1e4,tu=3;var ok=6e4,uk=10,lk=1,ck=500,Ri=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.maxAutoQuality=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.params=e,this.soundProhibitedEvent$=new pf.Subject,this.chunkRateEstimator=new wi(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=eu(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setMaxAutoQuality(e){this.maxAutoQuality=e}switchByName(e){let t;for(let r=0;r<this.manifest.length;++r)if(t=this.manifest[r],t.name===e){this._switchToQuality(t);return}}catchUp(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=eu(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,r=e.buffered.length;return r!==0&&(t=e.buffered.end(r-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let r=this._getBufferSizeSec();!this.paused&&r<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(r+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,r=t.buffered.length,a;r!==0&&(a=t.buffered.start(r-1),t.currentTime<a&&(e("Fixup stall"),t.currentTime=a))}_selectQuality(e){let{videoElement:t}=this.params,r,a,s,n=t&&1.62*(window.devicePixelRatio||1)*t.offsetHeight||520;for(let o=0;o<this.manifest.length;++o)s=this.manifest[o],!(this.maxAutoQuality&&s.video.height>this.maxAutoQuality)&&(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!a||s.bitrate>a.bitrate)&&(a=s):(!r||r.bitrate>s.bitrate)&&(r=s));return a||r}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,Ne.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:r,videoElement:a,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,r("setting video src"),a.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,a.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{cf(a,"progress",()=>{a.buffered.length?(a.currentTime=a.buffered.start(0),s({name:"playing"})):n()})};n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new Ai(tu,Es,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:r,playerCallback:a}=this.params,s=!1,n=null,o=null,u=null,l=null,d=!1,c=()=>{let _=s&&(!d||d===this.rep);return _||t("Not running!"),_},h=(_,x,k)=>{u&&u.abort(),u=qr(this.urlResolver.resolve(_,!1),x,k,()=>this._retryCallback()).withTimeout(Es).withBitrateReporting(this.bitrateSwitcher).withRetryCount(tu).withFinally(()=>{u=null}).send()},f=(_,x,k)=>{(0,Ne.assertNonNullable)(this.filesFetcher),o?.abort(),o=this.filesFetcher.requestData(this.urlResolver.resolve(_,!1),x,k,()=>this._retryCallback()).withFinally(()=>{o=null}).send()},b=_=>{let x=r.playbackRate;r.playbackRate!==_&&(t(`Playback rate switch: ${x}=>${_}`),r.playbackRate=_)},v=_=>{this.lowLatency=_,t(`lowLatency changed to ${_}`),y()},y=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)b(1);else{let _=this._getBufferSizeSec();if(this.bufferStates.length<5){b(1);return}let k=me()-1e4,B=0;for(let J=0;J<this.bufferStates.length;J++){let te=this.bufferStates[J];_=Math.min(_,te.buf),te.ts<k&&B++}this.bufferStates.splice(0,B),t(`update playback rate; minBuffer=${_} drop=${B} jitter=${this.sourceJitter}`);let se=_-lk;this.sourceJitter>=0?se-=this.sourceJitter/2:this.sourceJitter-=1,se>3?b(1.15):se>1?b(1.1):se>.3?b(1.05):b(1)}},I=_=>{let x,k=()=>x&&x.start?x.start.length:0,B=C=>x.start[C]/1e3,se=C=>x.dur[C]/1e3,J=C=>x.fragIndex+C,te=(C,Q)=>({chunkIdx:J(C),startTS:B(C),dur:se(C),discontinuity:Q}),E=()=>{let C=0;if(x&&x.dur){let Q=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,X=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,V=Q;this.sourceJitter>1&&(V+=this.sourceJitter-1);let re=x.dur.length-1;for(;re>=0&&(V-=x.dur[re],!(V<=0));--re);C=Math.min(re,x.dur.length-1-X),C=Math.max(C,0)}return te(C,!0)},w=C=>{let Q=k();if(!(Q<=0)){if((0,Ne.isNonNullable)(C)){for(let X=0;X<Q;X++)if(B(X)>C)return te(X)}return E()}},ee=C=>{let Q=k(),X=C?C.chunkIdx+1:0,V=X-x.fragIndex;if(!(Q<=0)){if(!C||V<0||V-Q>uk)return t(`Resync: offset=${V} bChunks=${Q} chunk=`+JSON.stringify(C)),E();if(!(V>=Q))return te(X-x.fragIndex,!1)}},Ce=(C,Q,X)=>{l&&l.abort(),l=qr(this.urlResolver.resolve(C,!0,this.lowLatency),Q,X,()=>this._retryCallback()).withTimeout(Es).withRetryCount(tu).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(C,Q)=>{Ce(_,X=>{if(!c())return;x=X;let V=!!x.lowLatency;V!==this.lowLatency&&v(V);let re=0;for(let vt=0;vt<x.dur.length;++vt)re+=x.dur[vt];re>0&&((0,Ne.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(re/x.dur.length)),a({name:"index",zeroTime:x.zeroTime,shiftDuration:x.shiftDuration}),this.sourceJitter=x.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,x.jitter/1e3)):1,C(w(Q))},()=>this._handleNetworkError())},nextChunk:ee}},M=()=>{s=!1,o&&o.abort(),u&&u.abort(),l&&l.abort(),(0,Ne.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return d={start:_=>{let{videoElement:x,logger:k}=this.params,B=I(e.jidxUrl),se,J,te,E,w=0,ee,Ce,We,C=()=>{ee&&(clearTimeout(ee),ee=void 0);let W=Math.max(ck,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),fe=w+W,ye=me(),ce=Math.min(1e4,fe-ye);w=ye;let ot=()=>{l||c()&&B.seek(()=>{c()&&(w=me(),Q(),C())})};ce>0?ee=window.setTimeout(()=>{this.paused?C():ot()},ce):ot()},Q=()=>{let W;for(;W=B.nextChunk(E);)E=W,mr(W);let fe=B.nextChunk(te);if(fe){if(te&&fe.discontinuity){k("Detected discontinuity; restarting playback"),this.paused?C():(M(),this._initPlayerWith(e));return}vt(fe)}else C()},X=(W,fe)=>{if(!c()||!this.sourceBuffer)return;let ye,ce,ot,Ye=ze=>{window.setTimeout(()=>{c()&&X(W,fe)},ze)};if(this.sourceBuffer.updating)k("Source buffer is updating; delaying appendBuffer"),Ye(100);else{let ze=me(),St=x.currentTime;!this.paused&&x.buffered.length>1&&Ce===St&&ze-We>500&&(k("Stall suspected; trying to fix"),this._fixupStall()),Ce!==St&&(Ce=St,We=ze);let Vt=this._getBufferSizeSec();if(Vt>30)k(`Buffered ${Vt} seconds; delaying appendBuffer`),Ye(2e3);else try{this.sourceBuffer.appendBuffer(W),this.videoPlayStarted?(this.bufferStates.push({ts:ze,buf:Vt}),y(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),fe&&fe()}catch(yt){if(yt.name==="QuotaExceededError")k("QuotaExceededError; delaying appendBuffer"),ot=this.sourceBuffer.buffered.length,ot!==0&&(ye=this.sourceBuffer.buffered.start(0),ce=St,ce-ye>4&&this.sourceBuffer.remove(ye,ce-3)),Ye(1e3);else throw yt}}},V=()=>{J&&se&&(k([`Appending chunk, sz=${J.byteLength}:`,JSON.stringify(te)]),X(J,function(){J=null,Q()}))},re=W=>e.fragUrlTemplate.replace("%%id%%",W.chunkIdx),vt=W=>{c()&&f(re(W),(fe,ye)=>{if(c()){if(ye/=1e3,J=fe,te=W,n=W.startTS,ye){let ce=Math.min(10,W.dur/ye);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*ce:ce}V()}},()=>this._handleNetworkError())},mr=W=>{c()&&((0,Ne.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(re(W),!1)))},nt=W=>{c()&&(e.cachedHeader=W,X(W,()=>{se=!0,V()}))};s=!0,B.seek(W=>{if(c()){if(w=me(),!W){C();return}E=W,!(0,Ne.isNullable)(_)||W.startTS>_?vt(W):(te=W,Q())}},_),e.cachedHeader?nt(e.cachedHeader):h(e.headerUrl,nt,()=>this._handleNetworkError())},stop:M,getTimestampSec:()=>n},d}_switchToQuality(e){let{logger:t,playerCallback:r}=this.params,a;e.bitrate!==this.bitrate&&(this.rep&&(a=this.rep.getTimestampSec(),(0,Ne.isNonNullable)(a)&&(a+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,Ne.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(a),r({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,Ne.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,r=c=>{if(!this.autoQuality)return;let h,f,b;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&c<this.bitrate&&(f=this._getBufferSizeSec(),b=c/this.bitrate,f>10&&b>.8||f>15&&b>.5||f>20&&b>.3)){e(`Not switching: buffer=${Math.floor(f)}; bitrate=${this.bitrate}; newRate=${Math.floor(c)}`);return}h=this._selectQuality(c),h?this._switchToQuality(h):e(`Could not find quality by bitrate ${c}`)},s={updateChunk:(h,f)=>{let b=me();if(this.chunkRateEstimator.addInterval(h,b,f)){let y=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:f,duration:b-h,speed:y}),!0}},get:()=>{let h=this.chunkRateEstimator.getBitRate();return h?h*.85:0}},n=-1/0,o,u=!0,l=()=>{let c=s.get();if(c&&o&&this.autoQuality){if(u&&c>o&&Zo(n)<3e4)return;r(c)}u=this.autoQuality};return{updateChunk:(c,h)=>{let f=s.updateChunk(c,h);return f&&l(),f},notifySwitch:c=>{let h=me();c<o&&(n=h),o=c}}}_fetchManifest(e,t,r){this.manifestRequest=qr(this.urlResolver.resolve(e,!0),t,r,()=>this._retryCallback()).withJSONResponse().withTimeout(Es).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;Le(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:r,videoElement:a}=this.params,s=n=>{let o=[];return n?.length?(n.forEach((u,l)=>{u.video&&a.canPlayType(u.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(u.codecs)&&(u.index=l,o.push(u))}),o.sort(function(u,l){return u.video&&l.video?l.video.height-u.video.height:l.bitrate-u.bitrate}),o):(r({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),r({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},ok))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var hf=G(Rr(),1),ne=require("@vkontakte/videoplayer-shared"),ru=class{constructor(){this.onDroopedVideoFramesLimit$=new ne.Subject;this.subscription=new ne.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new ne.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,ne.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),r=e-this.prevTotalVideoFrames,a=t-this.prevDroppedVideoFrames,s=1-(r-a)/r;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,ne.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,ne.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,ne.interval)(this.droppedFramesChecker.checkTime).pipe((0,ne.filter)(()=>this.playing),(0,ne.filter)(()=>{let a=!!this.isForceCheckCounter;return a&&(this.isForceCheckCounter-=1),!a})),t=this.forceChecker$.pipe((0,ne.debounce)(this.droppedFramesChecker.checkTime)),r=(0,ne.merge)(e,t);this.subscription.add(r.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:r}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,r),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,hf.default)(this.limitCounts).filter(([,r])=>r>=this.droppedFramesChecker.countLimit).sort(([r],[a])=>(0,ne.isLower)(r,a)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},xs=ru;var Ps=require("@vkontakte/videoplayer-shared"),mf=require("@vkontakte/videoplayer-shared");var Li=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var dk=(i,e)=>new Ps.Observable(t=>{if(!window.IntersectionObserver)return;let r={root:null},a=new IntersectionObserver((n,o)=>{n.forEach(u=>t.next(u.isIntersecting||Li()))},{...r,...e});a.observe(i);let s=(0,mf.fromEvent)(document,"visibilitychange").pipe((0,Ps.map)(n=>!document.hidden||Li())).subscribe(n=>t.next(n));return()=>{a.unobserve(i),s.unsubscribe}}),je=dk;var pk=["paused","playing","ready"],hk=["paused","playing","ready"],$i=class{constructor(e){this.subscription=new O.Subscription;this.videoState=new U("stopped");this.representations$=new O.ValueSubject([]);this.droppedFramesManager=new xs;this.maxSeekBackTime$=new O.ValueSubject(1/0);this.zeroTime$=new O.ValueSubject(void 0);this.liveOffset=new kt;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:O.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,r=[];for(let a of t){let s=a.name??a.index.toString(10),n=Ht(a.name)??(0,O.videoSizeToQuality)(a.video),o=a.bitrate/1e3,u={...a.video};if(!n)continue;let l={id:s,quality:n,bitrate:o,size:u};r.push({track:l,representation:a})}this.representations$.next(r),this.params.output.availableVideoTracks$.next(r.map(({track:a})=>a)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,r=this.representations$.getValue().find(({representation:a})=>a===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,O.isNonNullable)(r)&&this.params.output.currentVideoTrack$.next(r);break}case"bandwidth":{let{size:t,duration:r}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,r);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),r=this.params.desiredState.playbackState.getState(),a=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${r}; seekState: ${JSON.stringify(s)};`}),r==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,iu.default)(hk,e)&&(n||o)){this.prepare();return}if(a?.to!=="paused"&&s.state==="requested"&&(0,iu.default)(pk,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ve(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(r==="paused")this.videoState.setState("paused");else if(r==="playing"){this.videoState.startTransitionTo("playing");let u=a?.from;u&&u==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":r==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(r==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let u=this.liveOffset.getTotalOffset();u>=this.maxSeekBackTime$.getValue()&&(u=0,this.liveOffset.resetTo(u)),this.liveOffset.resume(),this.params.output.position$.next(-u/1e3),this.dash.reinit(ve(this.params.source.url,u))}return;default:return(0,O.assertNever)(e)}};this.textTracksManager=new He(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=a=>{e.output.error$.next({id:"DashLiveProvider",category:O.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:a})};(0,O.merge)(this.videoState.stateChangeStarted$.pipe((0,O.map)(a=>({transition:a,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,O.map)(a=>({transition:a,type:"end"})))).subscribe(({transition:a,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(a)}`})}),this.video=ke(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next(he(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let r=Re(this.video);this.subscription.add(this.representations$.pipe((0,O.map)(a=>a.map(({track:s})=>s)),(0,O.filter)(a=>!!a.length),(0,O.once)()).subscribe(a=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:r.playing$,pause$:r.pause$,tracks:a}))),this.subscription.add(r.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(r.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(r.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(r.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,O.filterChanged)(),(0,O.map)(a=>-a/1e3)).subscribe(this.params.output.duration$)).add((0,O.combine)({zeroTime:this.zeroTime$.pipe((0,O.filter)(O.isNonNullable)),position:r.timeUpdate$}).subscribe(({zeroTime:a,position:s})=>this.params.output.liveTime$.next(a+s*1e3),t)).add(ht(this.video,this.params.desiredState.isLooped,t)).add(Ae(this.video,this.params.desiredState.volume,r.volumeState$,t)).add(r.volumeState$.subscribe(this.params.output.volume$,t)).add(Ue(this.video,this.params.desiredState.playbackRate,r.playbackRateState$,t)).add(r.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(r.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(r.playing$.subscribe(this.params.output.firstFrameEvent$)).add(r.canplay$.subscribe(this.params.output.canplay$)).add(r.inPiP$.subscribe(this.params.output.inPiP$)).add(r.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(je(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:a}})=>{let s=a&&(0,O.videoQualityToHeight)(a);this.dash.setMaxAutoQuality(s),this.params.output.autoVideoTrackLimits$.next({max:a})})).add(this.videoState.stateChangeEnded$.subscribe(a=>{switch(a.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,O.assertNever)(a.to)}},t)).add((0,O.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,O.observableFrom)(["init"])).pipe((0,O.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),we(this.video)}createLiveDashPlayer(){let e=new Ri({videoElement:this.video,videoState:this.videoState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),r=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),a=!r&&(0,O.isNonNullable)(t)?t:Gt(e.map(({track:l})=>l),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=a?.id,n=this.params.desiredState.videoTrack.getTransition(),o=this.params.desiredState.videoTrack.getState()?.id,u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&(n||s!==o)&&this.setVideoTrack(a),u&&this.setAutoQuality(r),n||u||s!==o){let l=e.find(({track:d})=>d.id===s)?.representation;(0,O.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,r)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:r})=>r.id===e.id)?.representation;(0,O.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),r=this.videoState.getState(),a=t==="paused"&&r==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ve(this.params.source.url,n)),a&&this.dash.pause(),this.liveOffset.resetTo(n,a)}};var ff=$i;var Ag=G(tt(),1);var ft=(i,e)=>{let t=0;for(let r=0;r<i.length;r++){let a=i.start(r)*1e3,s=i.end(r)*1e3;a<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var F=require("@vkontakte/videoplayer-shared");var ks=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:r})}removeEventListener(e,t){if(!(e in this.listeners))return;let r=this.listeners[e];for(let a=0,s=r.length;a<s;a++)if(r[a].callback===t){r.splice(a,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let r=this.listeners[e.type].slice();for(let a=0,s=r.length;a<s;a++){let n=r[a];try{n.callback.call(this,e)}catch(o){Promise.resolve().then(()=>{throw o})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},Ur=class extends ks{constructor(){super(),this.listeners||ks.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}},Mi=class{constructor(){Object.defineProperty(this,"signal",{value:new Ur,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch{typeof document<"u"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let r=e;if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason")}catch{r=new Error("This operation was aborted"),r.name="AbortError"}this.signal.reason=r,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Mi.prototype[Symbol.toStringTag]="AbortController",Ur.prototype[Symbol.toStringTag]="AbortSignal");function ws(i){return i.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof i.Request=="function"&&!i.Request.prototype.hasOwnProperty("signal")||!i.AbortController}function au(i){typeof i=="function"&&(i={fetch:i});let{fetch:e,Request:t=e.Request,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a=!1}=i;if(!ws({fetch:e,Request:t,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||a)&&(s=function(l,d){let c;d&&d.signal&&(c=d.signal,delete d.signal);let h=new t(l,d);return c&&Object.defineProperty(h,"signal",{writable:!1,enumerable:!1,configurable:!0,value:c}),h},s.prototype=t.prototype);let n=e;return{fetch:(u,l)=>{let d=s&&s.prototype.isPrototypeOf(u)?u.signal:l?l.signal:void 0;if(d){let c;try{c=new DOMException("Aborted","AbortError")}catch{c=new Error("Aborted"),c.name="AbortError"}if(d.aborted)return Promise.reject(c);let h=new Promise((f,b)=>{d.addEventListener("abort",()=>b(c),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([h,n(u,l)])}return n(u,l)},Request:s}}var Di=ws({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),bf=Di?au({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,it=Di?bf.fetch:window.fetch,uC=Di?bf.Request:window.Request,Se=Di?Mi:window.AbortController,lC=Di?Ur:window.AbortSignal;var Du=G(nu(),1);var Ls=G(Fr(),1);var Rt=()=>window.ManagedMediaSource||window.MediaSource,As=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Bf=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Of=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var bt=require("@vkontakte/videoplayer-shared"),$s=document.createElement("video"),_k='video/mp4; codecs="avc1.42000a,mp4a.40.2"',Nk='video/mp4; codecs="hev1.1.6.L93.B0"',_f='video/webm; codecs="vp09.00.10.08"',Nf='video/webm; codecs="av01.0.00M.08"',Fk='audio/mp4; codecs="mp4a.40.2"',qk='audio/webm; codecs="opus"',Ci={mms:As(),mse:Bf(),hls:!!($s.canPlayType?.("application/x-mpegurl")||$s.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},$e={mp4:!!$s.canPlayType?.("video/mp4"),webm:!!$s.canPlayType?.("video/webm"),cmaf:!0},Me={h264:!!Rt()?.isTypeSupported?.(_k),h265:!!Rt()?.isTypeSupported?.(Nk),vp9:!!Rt()?.isTypeSupported?.(_f),av1:!!Rt()?.isTypeSupported?.(Nf),aac:!!Rt()?.isTypeSupported?.(Fk),opus:!!Rt()?.isTypeSupported?.(qk)},Hr=(Me.h264||Me.h265)&&Me.aac,ur,Uk=async()=>{if(!window.navigator.mediaCapabilities)return;let i={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...i,video:{...i.video,contentType:Nf}}),window.navigator.mediaCapabilities.decodingInfo({...i,video:{...i.video,contentType:_f}})]);ur={DASH_WEBM_AV1:e,DASH_WEBM:t}};try{Uk()}catch(i){console.error(i)}var jr=Ci.hls&&$e.mp4,Ff=()=>Object.keys(Me).filter(i=>Me[i]),qf=(i,{useHlsJs:e,useManagedMediaSource:t,useOldMSEDetection:r})=>{let a=Ci.mse&&(!r||!!window.MediaStreamTrack)||Ci.mms&&t;return i.filter(s=>{switch(s){case"DASH_SEP":return a&&$e.mp4&&Hr;case"DASH_WEBM":return a&&$e.webm&&Me.vp9&&Me.opus;case"DASH_WEBM_AV1":return a&&$e.webm&&Me.av1&&Me.opus;case"DASH_STREAMS":return a&&($e.mp4&&Hr||$e.webm&&(Me.vp9||Me.av1)&&(Me.opus||Me.aac));case"DASH_LIVE":return a&&$e.mp4&&Hr;case"DASH_LIVE_CMAF":return a&&$e.mp4&&Hr&&$e.cmaf;case"DASH_ONDEMAND":return a&&$e.mp4&&Hr;case"HLS":case"HLS_ONDEMAND":return jr||e&&a&&$e.mp4&&Hr;case"HLS_LIVE":case"HLS_LIVE_CMAF":return jr;case"MPEG":return $e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return Ci.webrtc&&Ci.ws&&Me.h264&&($e.mp4||$e.webm);default:return(0,bt.assertNever)(s)}})},Rs=i=>{let e="DASH_WEBM",t="DASH_WEBM_AV1";switch(i){case"vp9":return[e,t];case"av1":return[t,e];case"none":return[];case"smooth":return ur?ur[t].smooth?[t,e]:ur[e].smooth?[e,t]:[t,e]:[e,t];case"power_efficient":return ur?ur[t].powerEfficient?[t,e]:ur[e].powerEfficient?[e,t]:[t,e]:[e,t];default:(0,bt.assertNever)(i)}return[e,t]},Uf=({webmCodec:i,androidPreferredFormat:e,preferMultiStream:t})=>{let r=[...t?["DASH_STREAMS"]:[],...Rs(i),"DASH_SEP","DASH_ONDEMAND",...t?[]:["DASH_STREAMS"]],a=[...t?["DASH_STREAMS"]:[],"DASH_SEP","DASH_ONDEMAND",...t?[]:["DASH_STREAMS"]];if(bt.clientChecker.isAndroid)switch(e){case"mpeg":return["MPEG",...r,"HLS","HLS_ONDEMAND"];case"hls":return["HLS","HLS_ONDEMAND",...r,"MPEG"];case"dash":return[...r,"HLS","HLS_ONDEMAND","MPEG"];case"dash_any_mpeg":return[...a,"MPEG",...Rs(i),"HLS","HLS_ONDEMAND"];case"dash_any_webm":return[...Rs(i),"MPEG",...a,"HLS","HLS_ONDEMAND"];case"dash_sep":return["DASH_SEP","MPEG",...Rs(i),...a,"HLS","HLS_ONDEMAND"];default:(0,bt.assertNever)(e)}return jr?[...r,"HLS","HLS_ONDEMAND","MPEG"]:[...r,"HLS","HLS_ONDEMAND","MPEG"]},Hf=({androidPreferredFormat:i,preferCMAF:e,preferWebRTC:t})=>{let r=e?["DASH_LIVE_CMAF","DASH_LIVE"]:["DASH_LIVE","DASH_LIVE_CMAF"],a=e?["HLS_LIVE_CMAF","HLS_LIVE"]:["HLS_LIVE","HLS_LIVE_CMAF"],s=[...r,...a],n=[...a,...r],o,u=bt.clientChecker.isMac&&bt.clientChecker.isSafari;if(bt.clientChecker.isAndroid)switch(i){case"dash":case"dash_any_mpeg":case"dash_any_webm":case"dash_sep":{o=s;break}case"hls":case"mpeg":{o=n;break}default:(0,bt.assertNever)(i)}else jr&&!u?o=n:u?o=e?["DASH_LIVE_CMAF","HLS_LIVE_CMAF","HLS_LIVE","DASH_LIVE"]:["HLS_LIVE","DASH_LIVE","DASH_LIVE_CMAF","HLS_LIVE_CMAF"]:o=s;return t?["WEB_RTC_LIVE",...o]:[...o,"WEB_RTC_LIVE"]},ou=i=>i?["HLS_LIVE","HLS_LIVE_CMAF","DASH_LIVE_CMAF"]:["DASH_WEBM","DASH_WEBM_AV1","DASH_SEP","DASH_ONDEMAND","HLS","HLS_ONDEMAND","MPEG"],jf=i=>{if(i.size===0)return;if(i.size===1){let t=i.values().next();return(0,Ls.default)(t.value.split("."),0)}for(let t of i){let r=(0,Ls.default)(t.split("."),0);if(r==="opus"||r==="vp09"||r==="av01")return r}let e=i.values().next();return(0,Ls.default)(e.value.split("."),0)};var db=G(cb(),1),Gr=require("@vkontakte/videoplayer-shared"),pb=i=>{if(!i)return{id:"EmptyResponse",category:Gr.ErrorCategory.PARSER,message:"Empty response"};if(i.length<=2&&i.match(/^\d+$/))return{id:`UVError#${i}`,category:Gr.ErrorCategory.NETWORK,message:`UV Error ${i}`};let e=(0,db.default)(i).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:Gr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(i,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:Gr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:Gr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var Qt=(i,e,t=0)=>{for(let r=0;r<i.length;r++)if(i.start(r)*1e3-t<=e&&i.end(r)*1e3+t>e)return!0;return!1};var g=require("@vkontakte/videoplayer-shared");var Ms=G(tt(),1),Yr=G(Fr(),1),Ds=G(nu(),1);var sw=(i,e={})=>{let r=e.timeout||1,a=performance.now();return window.setTimeout(()=>{i({get didTimeout(){return e.timeout?!1:performance.now()-a-1>r},timeRemaining(){return Math.max(0,1+(performance.now()-a))}})},1)},nw=i=>window.clearTimeout(i),hb=i=>typeof i=="function"&&i?.toString().endsWith("{ [native code] }"),mb=!hb(window.requestIdleCallback)||!hb(window.cancelIdleCallback),pu=mb?sw:window.requestIdleCallback,Bi=mb?nw:window.cancelIdleCallback;var yg=G(gs(),1);var Ge=require("@vkontakte/videoplayer-shared"),ow=18,fb=!1;try{fb=Ge.clientChecker.isSafari&&!!Ge.clientChecker.macVersion&&Ge.clientChecker.macVersion<=ow}catch(i){console.error(i)}var hu=class{constructor(e){this.bufferFull$=new Ge.Subject;this.error$=new Ge.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:Ge.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(r=>{let a={operation:"append",data:e,signal:t,callback:r};this.queue.push(a),this.pull()})}async remove(e,t,r){return r&&r.aborted?!1:new Promise(a=>{let s={operation:"remove",from:e,to:t,signal:r,callback:a};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let r,a=s=>{this.abortRequested=!1,t(s)};fb&&e?r={operation:"safariAbort",init:e,callback:a}:r={operation:"abort",callback:a};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,r&&(this.queue=[r]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(a){a instanceof DOMException&&a.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):a instanceof DOMException&&a.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:Ge.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:a}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,Ge.assertNever)(t)}}},bb=hu;var mu=i=>{let e=0;for(let t=0;t<i.length;t++)e+=i.end(t)-i.start(t);return e*1e3};var T=require("@vkontakte/videoplayer-shared");var Y=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let r=this.readUint32();this.type=this.readString(4),this.size32=r<=e.buffer.byteLength-e.byteOffset?r:NaN;let a=this.size32?this.size32-8:void 0,s=e.byteOffset+this.cursor;this.size64=0,this.usertype=0,this.content=new DataView(e.buffer,s,a)}get id(){return this.type}get size(){return this.size32}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let a=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,a}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var Qr=class extends Y{};var Oi=class extends Y{constructor(t,r){super(t,r);this.ondemandPrefix="ondemandlivejson";this.ondemandDataReceivedKey="t-in";this.ondemandDataPreparedKey="t-out";let a=this.content.byteOffset,s=a+this.content.byteLength,n=new TextDecoder("ascii").decode(this.content.buffer.slice(a,s)).split(this.ondemandPrefix)[1],o=JSON.parse(n);this.serverDataReceivedTimestamp=o[this.ondemandDataReceivedKey],this.serverDataPreparedTime=o[this.ondemandDataPreparedKey]}};var _i=class extends Y{constructor(e,t){super(e,t),this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let r=this.size-this.cursor;for(;r;){let a=this.readString(4);this.compatibleBrands.push(a),r-=4}}};var Ni=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ie=class extends Y{constructor(e,t){super(e,t);let r=this.readUint32();this.version=r>>>24,this.flags=r&16777215}};var Fi=class extends ie{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16()}};var qi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ui=class extends Y{constructor(e,t){super(e,t),this.data=this.content}};var lr=class extends ie{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){super(e,t),this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let r=0;r<this.referenceCount;r++){let a=this.readUint32(),s=a>>>31,n=a<<1>>>1,o=this.readUint32();a=this.readUint32();let u=a>>>28,l=a<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:o,SAPType:u,SAPDeltaTime:l})}}};var Hi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ji=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Gi=class extends ie{constructor(e,t){switch(super(e,t),this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Qi=class extends ie{constructor(e,t){super(e,t),this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32()}};var Wi=class extends ie{constructor(e,t){super(e,t),this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32()}};var Yi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var zi=class extends ie{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Ki=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Xi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ji=class extends ie{constructor(e,t){super(e,t),this.sequenceNumber=this.readUint32()}};var Zi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ea=class extends ie{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var ta=class extends ie{constructor(t,r){super(t,r);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var ra=class extends ie{constructor(t,r){super(t,r);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let a=0;a<this.sampleCount;a++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var ia=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var aa=class extends ie{constructor(e,t){super(e,t),this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8))}};var sa=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78))}};var lw={ftyp:_i,moov:Ni,mvhd:Fi,moof:qi,mdat:Ui,sidx:lr,trak:Hi,mdia:Yi,mfhd:Ji,tkhd:zi,traf:Zi,tfhd:ea,tfdt:ta,trun:ra,minf:Ki,sv3d:ji,st3d:Gi,prhd:Qi,proj:Xi,equi:Wi,uuid:Oi,stbl:ia,stsd:aa,avc1:sa,unknown:Qr},Lt=class i{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],r=this.options.offset;for(;r<e.byteLength;)try{let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+r+4,4)),n=this.createBox(s,new DataView(e.buffer,e.byteOffset+r));if(!n.size)break;t.push(n),r+=n.size}catch{break}return t}createBox(e,t){let r=lw[e];return r?new r(t,new i):new Qr(t,new i)}};var Wt=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children)})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var dw=new TextDecoder("ascii"),pw=i=>dw.decode(new DataView(i.buffer,i.byteOffset+4,4))==="ftyp",hw=i=>{let e=new lr(i,new Lt),t=e.earliestPresentationTime/e.timescale*1e3,r=i.byteOffset+i.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,o={status:"none",time:{from:t,to:t+n},byte:{from:r,to:r+s.referencedSize-1}};return t+=n,r+=s.referencedSize,o})},mw=(i,e)=>{let r=new Lt().parse(i),a=new Wt(r),s=a.findAll("moof"),n=e?a.findAll("uuid"):a.findAll("mdat");if(!(n.length&&s.length))return null;let o=s[0],u=n[n.length-1],l=o.source.byteOffset,c=u.source.byteOffset-o.source.byteOffset+u.size;return new DataView(i.buffer,l,c)},fw=i=>{let t=new Lt().parse(i),r=new Wt(t),a={},s=r.findAll("uuid");return s.length?s[s.length-1]:a},bw=i=>{let t=new Lt().parse(i);return new Wt(t).find("sidx")?.timescale},gw=(i,e)=>{let r=new Lt().parse(i),s=new Wt(r).findAll("traf"),n=s[s.length-1].children.find(c=>c.type==="tfhd"),o=s[s.length-1].children.find(c=>c.type==="tfdt"),u=s[s.length-1].children.find(c=>c.type==="trun"),l=0;return u.sampleDuration.length?l=u.sampleDuration.reduce((c,h)=>c+h,0):l=n.defaultSampleDuration*u.sampleCount,(Number(o.baseMediaDecodeTime)+l)/e*1e3},vw=i=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},r=new Lt().parse(i),a=new Wt(r);if(a.find("sv3d")){e.is3dVideo=!0;let n=a.find("st3d");n&&(e.stereoMode=n.stereoMode);let o=a.find("prhd");o&&(e.projectionData.pose.yaw=o.poseYawDegrees,e.projectionData.pose.pitch=o.posePitchDegrees,e.projectionData.pose.roll=o.poseRollDegrees);let u=a.find("equi");u&&(e.projectionData.bounds.top=u.projectionBoundsTop,e.projectionData.bounds.right=u.projectionBoundsRight,e.projectionData.bounds.bottom=u.projectionBoundsBottom,e.projectionData.bounds.left=u.projectionBoundsLeft)}return e},gb={validateData:pw,parseInit:vw,getIndexRange:()=>{},parseSegments:hw,parseFeedableSegmentChunk:mw,getChunkEndTime:gw,getServerLatencyTimestamps:fw,getTimescaleFromIndex:bw};var oa=G(tt(),1),$t=require("@vkontakte/videoplayer-shared");var Sb=require("@vkontakte/videoplayer-shared");var vb={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},yb=i=>{let e=i.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let r=na(i,t),a=r in vb,s=a?vb[r].type:"binary",n=i.getUint8(t),o=0;n&128?o=1:n&64?o=2:n&32?o=3:n&16?o=4:n&8?o=5:n&4?o=6:n&2?o=7:n&1&&(o=8);let u=new DataView(i.buffer,i.byteOffset+t+1,o-1),l=n&255>>o,d=na(u),c=l*2**((o-1)*8)+d,h=t+o,f;return h+c>i.byteLength?f=new DataView(i.buffer,i.byteOffset+h):f=new DataView(i.buffer,i.byteOffset+h,c),{tag:a?r:"0x"+r.toString(16).toUpperCase(),type:s,tagHeaderSize:h,tagSize:h+c,value:f,valueSize:c}},na=(i,e=i.byteLength)=>{switch(e){case 1:return i.getUint8(0);case 2:return i.getUint16(0);case 3:return i.getUint8(0)*2**16+i.getUint16(1);case 4:return i.getUint32(0);case 5:return i.getUint8(0)*2**32+i.getUint32(1);case 6:return i.getUint16(0)*2**32+i.getUint32(2);case 7:{let t=i.getUint8(0)*281474976710656+i.getUint16(1)*4294967296+i.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},at=(i,e)=>{switch(e){case"int":return i.getInt8(0);case"uint":return na(i);case"float":return i.byteLength===4?i.getFloat32(0):i.getFloat64(0);case"string":return new TextDecoder("ascii").decode(i);case"utf8":return new TextDecoder("utf-8").decode(i);case"date":return new Date(Date.UTC(2001,0)+i.getInt8(0)).getTime();case"master":return i;case"binary":return i;default:(0,Sb.assertNever)(e)}},cr=(i,e)=>{let t=0;for(;t<i.byteLength;){let r=new DataView(i.buffer,i.byteOffset+t),a=yb(r);if(!e(a))return;a.type==="master"&&cr(a.value,e),t=a.value.byteOffset-i.byteOffset+a.valueSize}},Tb=i=>{if(i.getUint32(0)!==440786851)return!1;let e,t,r,a=yb(i);return cr(a.value,({tag:s,type:n,value:o})=>(s===17143?e=at(o,n):s===17026?t=at(o,n):s===17029&&(r=at(o,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(r===void 0||r<=2)};var Ib=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],Sw=[231,22612,22743,167,171,163,160,175],yw=i=>{let e,t,r,a,s=!1,n=!1,o=!1,u,l,d=!1,c=0;return cr(i,({tag:h,type:f,value:b,valueSize:v})=>{if(h===21419){let y=at(b,f);l=na(y)}else h!==21420&&(l=void 0);return h===408125543?(e=b.byteOffset,t=b.byteOffset+v):h===357149030?s=!0:h===290298740?n=!0:h===2807729?r=at(b,f):h===17545?a=at(b,f):h===21420&&l===475249515?u=at(b,f):h===374648427?cr(b,({tag:y,type:I,value:M})=>y===30321?(d=at(M,I)===1,!1):!0):s&&n&&(0,oa.default)(Ib,h)&&(o=!0),!o}),(0,$t.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,$t.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,$t.assertNonNullable)(a,"Failed to parse webm Segment duration"),r=r??1e6,{segmentStart:Math.round(e/1e9*r*1e3),segmentEnd:Math.round(t/1e9*r*1e3),timeScale:r,segmentDuration:Math.round(a/1e9*r*1e3),cuesSeekPosition:u,is3dVideo:d,stereoMode:c,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},Tw=i=>{if((0,$t.isNullable)(i.cuesSeekPosition))return;let e=i.segmentStart+i.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Iw=(i,e)=>{let t=!1,r=!1,a=o=>(0,$t.isNonNullable)(o.time)&&(0,$t.isNonNullable)(o.position),s=[],n;return cr(i,({tag:o,type:u,value:l})=>{switch(o){case 475249515:t=!0;break;case 187:n&&a(n)&&s.push(n),n={};break;case 179:n&&(n.time=at(l,u));break;case 183:break;case 241:n&&(n.position=at(l,u));break;default:t&&(0,oa.default)(Ib,o)&&(r=!0)}return!(t&&r)}),n&&a(n)&&s.push(n),s.map((o,u)=>{let{time:l,position:d}=o,c=s[u+1];return{status:"none",time:{from:l,to:c?c.time:e.segmentDuration},byte:{from:e.segmentStart+d,to:c?e.segmentStart+c.position-1:e.segmentEnd-1}}})},Ew=i=>{let e=0,t=!1;try{cr(i,r=>r.tag===524531317?r.tagSize<=i.byteLength?(e=r.tagSize,!1):(e+=r.tagHeaderSize,!0):(0,oa.default)(Sw,r.tag)?(e+r.tagSize<=i.byteLength&&(e+=r.tagSize,t||=(0,oa.default)([163,160,175],r.tag)),!0):!1)}catch{}return e>0&&e<=i.byteLength&&t?new DataView(i.buffer,i.byteOffset,e):null},Eb={validateData:Tb,parseInit:yw,getIndexRange:Tw,parseSegments:Iw,parseFeedableSegmentChunk:Ew};var ua=i=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(i);if(e){let[,t,r]=e;if(t==="audio"||t==="video")switch(r){case"webm":return Eb;case"mp4":return gb}}throw new ReferenceError(`Unsupported mime type ${i}`)};var wu=G(Hb(),1),fg=G(Rr(),1),bg=G(sg(),1),gg=G(Fr(),1),Au=G(Nr(),1);var ng=G(tt(),1),Tu=i=>{let e=i.split("."),[t,...r]=e;if(!t)return!1;switch(t){case"av01":{let[a,s,n]=r;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[a,s,n]=r;return!!(a&&parseInt(a,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let a=r[0];if(!a||a.length!==6)return!1;let[s,n]=a.toUpperCase(),o=s+n;return(0,ng.default)(["6E","7A","F4"],o)}}return!1};var ca=require("@vkontakte/videoplayer-shared");var og=i=>{if(i.includes("/")){let e=i.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(i)};var ug=i=>{try{let e=vA(),t=i.match(e),{groups:r}=t??{};if(r){let a={};if(r.extensions){let o=r.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(o||[]).forEach(u=>{a[u[0]]=u.slice(2)})}let s=r.variants?.split(/-/).filter(o=>o!==""),n={extlang:r.extlang,langtag:r.langtag,language:r.language,privateuse:r.privateuse||r.privateuse2,region:r.region,script:r.script,extensions:a,variants:s};return Object.keys(n).forEach(o=>{let u=n[o];(typeof u>"u"||u==="")&&delete n[o]}),n}return null}catch{return null}};function vA(){let i="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",d=`^(?:(?<langtag>${`
|
|
63
|
+
`}),b&&sf(a,u,b,o)};var he=i=>new URL(i).hostname;var O=require("@vkontakte/videoplayer-shared");var uf=G(tt(),1),of=i=>{if(i instanceof DOMException&&(0,uf.default)(["Failed to load because no supported source was found.","The element has no supported sources."],i.message))throw i;return!(i instanceof DOMException&&(i.code===20||i.name==="AbortError"))},Le=async(i,e)=>{let t=i.muted;try{await i.play()}catch(r){if(!of(r))return!1;if(e&&e(),t)return console.warn(r),!1;i.muted=!0;try{await i.play()}catch(a){return of(a)&&(i.muted=!1,console.warn(a)),!1}}return!0};var Ne=require("@vkontakte/videoplayer-shared");var lf=G(Nr(),1),mt=require("@vkontakte/videoplayer-shared");function me(){return(0,mt.now)()}function Zo(i){return me()-i}function eu(i){let e=i.split("/"),t=e.slice(0,e.length-1).join("/"),r=/^([a-z]+:)?\/\//i,a=n=>r.test(n);return{resolve:(n,o,u=!1)=>{a(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return u&&(n+=l+"lowLat=1",l="&"),o&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function cf(i,e,t){let r=(...a)=>{t.apply(null,a),i.removeEventListener(e,r)};i.addEventListener(e,r)}function qr(i,e,t,r){let a=window.XMLHttpRequest,s,n,o,u=!1,l=0,d,c,h=!1,f="arraybuffer",b=7e3,v=2e3,y=()=>{if(u)return;(0,mt.assertNonNullable)(d);let w=Zo(d),ee;if(w<v){ee=v-w,setTimeout(y,ee);return}v*=2,v>b&&(v=b),n&&n.abort(),n=new a,k()},I=w=>(s=w,E),M=w=>(c=w,E),A=()=>(f="json",E),_=()=>{if(!u){if(--l>=0){y(),r&&r();return}u=!0,c&&c(),t&&t()}},x=w=>(h=w,E),k=()=>{d=me(),n=new a,n.open("get",i);let w=0,ee,Ce=0,We=()=>((0,mt.assertNonNullable)(d),Math.max(d,Math.max(ee||0,Ce||0)));if(s&&n.addEventListener("progress",C=>{let Q=me();s.updateChunk&&C.loaded>w&&(s.updateChunk(We(),C.loaded-w),w=C.loaded,ee=Q)}),o&&(n.timeout=o,n.addEventListener("timeout",()=>_())),n.addEventListener("load",()=>{if(u)return;(0,mt.assertNonNullable)(n);let C=n.status;if(C>=200&&C<300){let{response:Q,responseType:X}=n,V=Q?.byteLength;if(typeof V=="number"&&s){let re=V-w;re&&s.updateChunk&&s.updateChunk(We(),re)}X==="json"&&(!Q||!(0,lf.default)(Q).length)?_():(c&&c(),e(Q))}else _()}),n.addEventListener("error",()=>{_()}),h){let C=()=>{(0,mt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(Ce=me(),n.removeEventListener("readystatechange",C))};n.addEventListener("readystatechange",C)}return n.responseType=f,n.send(),E},E={withBitrateReporting:I,withParallel:x,withJSONResponse:A,withRetryCount:w=>(l=w,E),withRetryInterval:(w,ee)=>((0,mt.isNonNullable)(w)&&(v=w),(0,mt.isNonNullable)(ee)&&(b=ee),E),withTimeout:w=>(o=w,E),withFinally:M,send:k,abort:()=>{n&&(n.abort(),n=void 0),u=!0,c&&c()}};return E}var wi=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,r){return{start:e,end:t,bytes:r}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let r=0,a=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)r+=s.end-s.start,a+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,o=s.end-s.start;r+=n;let u=s.bytes*n/o;a+=u,s.start=t,s.bytes-=u}}}if(a>0&&r>0){let s=a*8/(r/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(a)}/${Math.round(r)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,r){return this.intervals.push(this._createInterval(e,t,r)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var df=G(Nr(),1);var Ai=class{constructor(e,t,r,a,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=r,this.MAX_PARALLEL_REQUESTS=a,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let r=me(),a=u=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=u,e._errorCB?e._errorCB(u):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=u=>{e._complete=1,e._responseData=u,e._downloadTime=me()-r,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(u,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},o=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=qr(t,s,()=>a("error"),o),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=me()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=me();if(Object.keys(this.activeRequests).length>=e)return!1;let r=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),r>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),r),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,df.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,r,a){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=r,n._retryCB=a,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),r(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let o=this.pendingQueue.indexOf(e);o!==-1&&this.pendingQueue.splice(o,1),this.logger(`Request not prefetched, starting new request, url=${e}${o===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=r,s._retryCB=a,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var pf=require("@vkontakte/videoplayer-shared"),Es=1e4,tu=3;var ok=6e4,uk=10,lk=1,ck=500,Ri=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.maxAutoQuality=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.params=e,this.soundProhibitedEvent$=new pf.Subject,this.chunkRateEstimator=new wi(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=eu(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setMaxAutoQuality(e){this.maxAutoQuality=e}switchByName(e){let t;for(let r=0;r<this.manifest.length;++r)if(t=this.manifest[r],t.name===e){this._switchToQuality(t);return}}catchUp(){this.rep&&this.rep.stop(),this.currentManifestEntry&&(this.paused=!1,this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0))}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=eu(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,r=e.buffered.length;return r!==0&&(t=e.buffered.end(r-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let r=this._getBufferSizeSec();!this.paused&&r<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(r+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,r=t.buffered.length,a;r!==0&&(a=t.buffered.start(r-1),t.currentTime<a&&(e("Fixup stall"),t.currentTime=a))}_selectQuality(e){let{videoElement:t}=this.params,r,a,s,n=t&&1.62*(window.devicePixelRatio||1)*t.offsetHeight||520;for(let o=0;o<this.manifest.length;++o)s=this.manifest[o],!(this.maxAutoQuality&&s.video.height>this.maxAutoQuality)&&(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!a||s.bitrate>a.bitrate)&&(a=s):(!r||r.bitrate>s.bitrate)&&(r=s));return a||r}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,Ne.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:r,videoElement:a,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,r("setting video src"),a.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,a.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{cf(a,"progress",()=>{a.buffered.length?(a.currentTime=a.buffered.start(0),s({name:"playing"})):n()})};n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new Ai(tu,Es,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:r,playerCallback:a}=this.params,s=!1,n=null,o=null,u=null,l=null,d=!1,c=()=>{let _=s&&(!d||d===this.rep);return _||t("Not running!"),_},h=(_,x,k)=>{u&&u.abort(),u=qr(this.urlResolver.resolve(_,!1),x,k,()=>this._retryCallback()).withTimeout(Es).withBitrateReporting(this.bitrateSwitcher).withRetryCount(tu).withFinally(()=>{u=null}).send()},f=(_,x,k)=>{(0,Ne.assertNonNullable)(this.filesFetcher),o?.abort(),o=this.filesFetcher.requestData(this.urlResolver.resolve(_,!1),x,k,()=>this._retryCallback()).withFinally(()=>{o=null}).send()},b=_=>{let x=r.playbackRate;r.playbackRate!==_&&(t(`Playback rate switch: ${x}=>${_}`),r.playbackRate=_)},v=_=>{this.lowLatency=_,t(`lowLatency changed to ${_}`),y()},y=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)b(1);else{let _=this._getBufferSizeSec();if(this.bufferStates.length<5){b(1);return}let k=me()-1e4,B=0;for(let J=0;J<this.bufferStates.length;J++){let te=this.bufferStates[J];_=Math.min(_,te.buf),te.ts<k&&B++}this.bufferStates.splice(0,B),t(`update playback rate; minBuffer=${_} drop=${B} jitter=${this.sourceJitter}`);let se=_-lk;this.sourceJitter>=0?se-=this.sourceJitter/2:this.sourceJitter-=1,se>3?b(1.15):se>1?b(1.1):se>.3?b(1.05):b(1)}},I=_=>{let x,k=()=>x&&x.start?x.start.length:0,B=C=>x.start[C]/1e3,se=C=>x.dur[C]/1e3,J=C=>x.fragIndex+C,te=(C,Q)=>({chunkIdx:J(C),startTS:B(C),dur:se(C),discontinuity:Q}),E=()=>{let C=0;if(x&&x.dur){let Q=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,X=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,V=Q;this.sourceJitter>1&&(V+=this.sourceJitter-1);let re=x.dur.length-1;for(;re>=0&&(V-=x.dur[re],!(V<=0));--re);C=Math.min(re,x.dur.length-1-X),C=Math.max(C,0)}return te(C,!0)},w=C=>{let Q=k();if(!(Q<=0)){if((0,Ne.isNonNullable)(C)){for(let X=0;X<Q;X++)if(B(X)>C)return te(X)}return E()}},ee=C=>{let Q=k(),X=C?C.chunkIdx+1:0,V=X-x.fragIndex;if(!(Q<=0)){if(!C||V<0||V-Q>uk)return t(`Resync: offset=${V} bChunks=${Q} chunk=`+JSON.stringify(C)),E();if(!(V>=Q))return te(X-x.fragIndex,!1)}},Ce=(C,Q,X)=>{l&&l.abort(),l=qr(this.urlResolver.resolve(C,!0,this.lowLatency),Q,X,()=>this._retryCallback()).withTimeout(Es).withRetryCount(tu).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(C,Q)=>{Ce(_,X=>{if(!c())return;x=X;let V=!!x.lowLatency;V!==this.lowLatency&&v(V);let re=0;for(let vt=0;vt<x.dur.length;++vt)re+=x.dur[vt];re>0&&((0,Ne.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(re/x.dur.length)),a({name:"index",zeroTime:x.zeroTime,shiftDuration:x.shiftDuration}),this.sourceJitter=x.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,x.jitter/1e3)):1,C(w(Q))},()=>this._handleNetworkError())},nextChunk:ee}},M=()=>{s=!1,o&&o.abort(),u&&u.abort(),l&&l.abort(),(0,Ne.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return d={start:_=>{let{videoElement:x,logger:k}=this.params,B=I(e.jidxUrl),se,J,te,E,w=0,ee,Ce,We,C=()=>{ee&&(clearTimeout(ee),ee=void 0);let W=Math.max(ck,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),fe=w+W,ye=me(),ce=Math.min(1e4,fe-ye);w=ye;let ot=()=>{l||c()&&B.seek(()=>{c()&&(w=me(),Q(),C())})};ce>0?ee=window.setTimeout(()=>{this.paused?C():ot()},ce):ot()},Q=()=>{let W;for(;W=B.nextChunk(E);)E=W,mr(W);let fe=B.nextChunk(te);if(fe){if(te&&fe.discontinuity){k("Detected discontinuity; restarting playback"),this.paused?C():(M(),this._initPlayerWith(e));return}vt(fe)}else C()},X=(W,fe)=>{if(!c()||!this.sourceBuffer)return;let ye,ce,ot,Ye=ze=>{window.setTimeout(()=>{c()&&X(W,fe)},ze)};if(this.sourceBuffer.updating)k("Source buffer is updating; delaying appendBuffer"),Ye(100);else{let ze=me(),St=x.currentTime;!this.paused&&x.buffered.length>1&&Ce===St&&ze-We>500&&(k("Stall suspected; trying to fix"),this._fixupStall()),Ce!==St&&(Ce=St,We=ze);let Vt=this._getBufferSizeSec();if(Vt>30)k(`Buffered ${Vt} seconds; delaying appendBuffer`),Ye(2e3);else try{this.sourceBuffer.appendBuffer(W),this.videoPlayStarted?(this.bufferStates.push({ts:ze,buf:Vt}),y(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),fe&&fe()}catch(yt){if(yt.name==="QuotaExceededError")k("QuotaExceededError; delaying appendBuffer"),ot=this.sourceBuffer.buffered.length,ot!==0&&(ye=this.sourceBuffer.buffered.start(0),ce=St,ce-ye>4&&this.sourceBuffer.remove(ye,ce-3)),Ye(1e3);else throw yt}}},V=()=>{J&&se&&(k([`Appending chunk, sz=${J.byteLength}:`,JSON.stringify(te)]),X(J,function(){J=null,Q()}))},re=W=>e.fragUrlTemplate.replace("%%id%%",W.chunkIdx),vt=W=>{c()&&f(re(W),(fe,ye)=>{if(c()){if(ye/=1e3,J=fe,te=W,n=W.startTS,ye){let ce=Math.min(10,W.dur/ye);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*ce:ce}V()}},()=>this._handleNetworkError())},mr=W=>{c()&&((0,Ne.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(re(W),!1)))},nt=W=>{c()&&(e.cachedHeader=W,X(W,()=>{se=!0,V()}))};s=!0,B.seek(W=>{if(c()){if(w=me(),!W){C();return}E=W,!(0,Ne.isNullable)(_)||W.startTS>_?vt(W):(te=W,Q())}},_),e.cachedHeader?nt(e.cachedHeader):h(e.headerUrl,nt,()=>this._handleNetworkError())},stop:M,getTimestampSec:()=>n},d}_switchToQuality(e){let{logger:t,playerCallback:r}=this.params,a;e.bitrate!==this.bitrate&&(this.rep&&(a=this.rep.getTimestampSec(),(0,Ne.isNonNullable)(a)&&(a+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,Ne.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(a),r({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,Ne.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,r=c=>{if(!this.autoQuality)return;let h,f,b;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&c<this.bitrate&&(f=this._getBufferSizeSec(),b=c/this.bitrate,f>10&&b>.8||f>15&&b>.5||f>20&&b>.3)){e(`Not switching: buffer=${Math.floor(f)}; bitrate=${this.bitrate}; newRate=${Math.floor(c)}`);return}h=this._selectQuality(c),h?this._switchToQuality(h):e(`Could not find quality by bitrate ${c}`)},s={updateChunk:(h,f)=>{let b=me();if(this.chunkRateEstimator.addInterval(h,b,f)){let y=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:f,duration:b-h,speed:y}),!0}},get:()=>{let h=this.chunkRateEstimator.getBitRate();return h?h*.85:0}},n=-1/0,o,u=!0,l=()=>{let c=s.get();if(c&&o&&this.autoQuality){if(u&&c>o&&Zo(n)<3e4)return;r(c)}u=this.autoQuality};return{updateChunk:(c,h)=>{let f=s.updateChunk(c,h);return f&&l(),f},notifySwitch:c=>{let h=me();c<o&&(n=h),o=c}}}_fetchManifest(e,t,r){this.manifestRequest=qr(this.urlResolver.resolve(e,!0),t,r,()=>this._retryCallback()).withJSONResponse().withTimeout(Es).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;Le(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:r,videoElement:a}=this.params,s=n=>{let o=[];return n?.length?(n.forEach((u,l)=>{u.video&&a.canPlayType(u.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(u.codecs)&&(u.index=l,o.push(u))}),o.sort(function(u,l){return u.video&&l.video?l.video.height-u.video.height:l.bitrate-u.bitrate}),o):(r({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),r({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},ok))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var hf=G(Rr(),1),ne=require("@vkontakte/videoplayer-shared"),ru=class{constructor(){this.onDroopedVideoFramesLimit$=new ne.Subject;this.subscription=new ne.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new ne.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,ne.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),r=e-this.prevTotalVideoFrames,a=t-this.prevDroppedVideoFrames,s=1-(r-a)/r;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,ne.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,ne.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,ne.interval)(this.droppedFramesChecker.checkTime).pipe((0,ne.filter)(()=>this.playing),(0,ne.filter)(()=>{let a=!!this.isForceCheckCounter;return a&&(this.isForceCheckCounter-=1),!a})),t=this.forceChecker$.pipe((0,ne.debounce)(this.droppedFramesChecker.checkTime)),r=(0,ne.merge)(e,t);this.subscription.add(r.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:r}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,r),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,hf.default)(this.limitCounts).filter(([,r])=>r>=this.droppedFramesChecker.countLimit).sort(([r],[a])=>(0,ne.isLower)(r,a)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},xs=ru;var Ps=require("@vkontakte/videoplayer-shared"),mf=require("@vkontakte/videoplayer-shared");var Li=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var dk=(i,e)=>new Ps.Observable(t=>{if(!window.IntersectionObserver)return;let r={root:null},a=new IntersectionObserver((n,o)=>{n.forEach(u=>t.next(u.isIntersecting||Li()))},{...r,...e});a.observe(i);let s=(0,mf.fromEvent)(document,"visibilitychange").pipe((0,Ps.map)(n=>!document.hidden||Li())).subscribe(n=>t.next(n));return()=>{a.unobserve(i),s.unsubscribe}}),je=dk;var pk=["paused","playing","ready"],hk=["paused","playing","ready"],$i=class{constructor(e){this.subscription=new O.Subscription;this.videoState=new U("stopped");this.representations$=new O.ValueSubject([]);this.droppedFramesManager=new xs;this.maxSeekBackTime$=new O.ValueSubject(1/0);this.zeroTime$=new O.ValueSubject(void 0);this.liveOffset=new kt;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:O.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,r=[];for(let a of t){let s=a.name??a.index.toString(10),n=Ht(a.name)??(0,O.videoSizeToQuality)(a.video),o=a.bitrate/1e3,u={...a.video};if(!n)continue;let l={id:s,quality:n,bitrate:o,size:u};r.push({track:l,representation:a})}this.representations$.next(r),this.params.output.availableVideoTracks$.next(r.map(({track:a})=>a)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,r=this.representations$.getValue().find(({representation:a})=>a===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,O.isNonNullable)(r)&&this.params.output.currentVideoTrack$.next(r);break}case"bandwidth":{let{size:t,duration:r}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,r);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),r=this.params.desiredState.playbackState.getState(),a=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${r}; seekState: ${JSON.stringify(s)};`}),r==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,iu.default)(hk,e)&&(n||o)){this.prepare();return}if(a?.to!=="paused"&&s.state==="requested"&&(0,iu.default)(pk,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ve(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(r==="paused")this.videoState.setState("paused");else if(r==="playing"){this.videoState.startTransitionTo("playing");let u=a?.from;u&&u==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":r==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(r==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let u=this.liveOffset.getTotalOffset();u>=this.maxSeekBackTime$.getValue()&&(u=0,this.liveOffset.resetTo(u)),this.liveOffset.resume(),this.params.output.position$.next(-u/1e3),this.dash.reinit(ve(this.params.source.url,u))}return;default:return(0,O.assertNever)(e)}};this.textTracksManager=new He(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=a=>{e.output.error$.next({id:"DashLiveProvider",category:O.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:a})};(0,O.merge)(this.videoState.stateChangeStarted$.pipe((0,O.map)(a=>({transition:a,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,O.map)(a=>({transition:a,type:"end"})))).subscribe(({transition:a,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(a)}`})}),this.video=ke(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next(he(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let r=Re(this.video);this.subscription.add(this.representations$.pipe((0,O.map)(a=>a.map(({track:s})=>s)),(0,O.filter)(a=>!!a.length),(0,O.once)()).subscribe(a=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:r.playing$,pause$:r.pause$,tracks:a}))),this.subscription.add(r.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(r.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(r.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(r.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,O.filterChanged)(),(0,O.map)(a=>-a/1e3)).subscribe(this.params.output.duration$)).add((0,O.combine)({zeroTime:this.zeroTime$.pipe((0,O.filter)(O.isNonNullable)),position:r.timeUpdate$}).subscribe(({zeroTime:a,position:s})=>this.params.output.liveTime$.next(a+s*1e3),t)).add(ht(this.video,this.params.desiredState.isLooped,t)).add(Ae(this.video,this.params.desiredState.volume,r.volumeState$,t)).add(r.volumeState$.subscribe(this.params.output.volume$,t)).add(Ue(this.video,this.params.desiredState.playbackRate,r.playbackRateState$,t)).add(r.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(r.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(r.playing$.subscribe(this.params.output.firstFrameEvent$)).add(r.canplay$.subscribe(this.params.output.canplay$)).add(r.inPiP$.subscribe(this.params.output.inPiP$)).add(r.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(je(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:a}})=>{let s=a&&(0,O.videoQualityToHeight)(a);this.dash.setMaxAutoQuality(s),this.params.output.autoVideoTrackLimits$.next({max:a})})).add(this.videoState.stateChangeEnded$.subscribe(a=>{switch(a.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,O.assertNever)(a.to)}},t)).add((0,O.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,O.observableFrom)(["init"])).pipe((0,O.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),we(this.video)}createLiveDashPlayer(){let e=new Ri({videoElement:this.video,videoState:this.videoState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),r=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),a=!r&&(0,O.isNonNullable)(t)?t:Gt(e.map(({track:l})=>l),{container:{width:this.video.offsetWidth,height:this.video.offsetHeight},estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=a?.id,n=this.params.desiredState.videoTrack.getTransition(),o=this.params.desiredState.videoTrack.getState()?.id,u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(a&&(n||s!==o)&&this.setVideoTrack(a),u&&this.setAutoQuality(r),n||u||s!==o){let l=e.find(({track:d})=>d.id===s)?.representation;(0,O.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,r)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:r})=>r.id===e.id)?.representation;(0,O.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),r=this.videoState.getState(),a=t==="paused"&&r==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ve(this.params.source.url,n)),a&&this.dash.pause(),this.liveOffset.resetTo(n,a)}};var ff=$i;var Ag=G(tt(),1);var ft=(i,e)=>{let t=0;for(let r=0;r<i.length;r++){let a=i.start(r)*1e3,s=i.end(r)*1e3;a<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var F=require("@vkontakte/videoplayer-shared");var ks=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:r})}removeEventListener(e,t){if(!(e in this.listeners))return;let r=this.listeners[e];for(let a=0,s=r.length;a<s;a++)if(r[a].callback===t){r.splice(a,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let r=this.listeners[e.type].slice();for(let a=0,s=r.length;a<s;a++){let n=r[a];try{n.callback.call(this,e)}catch(o){Promise.resolve().then(()=>{throw o})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},Ur=class extends ks{constructor(){super(),this.listeners||ks.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}},Mi=class{constructor(){Object.defineProperty(this,"signal",{value:new Ur,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch{typeof document<"u"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let r=e;if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason")}catch{r=new Error("This operation was aborted"),r.name="AbortError"}this.signal.reason=r,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Mi.prototype[Symbol.toStringTag]="AbortController",Ur.prototype[Symbol.toStringTag]="AbortSignal");function ws(i){return i.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof i.Request=="function"&&!i.Request.prototype.hasOwnProperty("signal")||!i.AbortController}function au(i){typeof i=="function"&&(i={fetch:i});let{fetch:e,Request:t=e.Request,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a=!1}=i;if(!ws({fetch:e,Request:t,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||a)&&(s=function(l,d){let c;d&&d.signal&&(c=d.signal,delete d.signal);let h=new t(l,d);return c&&Object.defineProperty(h,"signal",{writable:!1,enumerable:!1,configurable:!0,value:c}),h},s.prototype=t.prototype);let n=e;return{fetch:(u,l)=>{let d=s&&s.prototype.isPrototypeOf(u)?u.signal:l?l.signal:void 0;if(d){let c;try{c=new DOMException("Aborted","AbortError")}catch{c=new Error("Aborted"),c.name="AbortError"}if(d.aborted)return Promise.reject(c);let h=new Promise((f,b)=>{d.addEventListener("abort",()=>b(c),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([h,n(u,l)])}return n(u,l)},Request:s}}var Di=ws({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),bf=Di?au({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,it=Di?bf.fetch:window.fetch,u0=Di?bf.Request:window.Request,Se=Di?Mi:window.AbortController,l0=Di?Ur:window.AbortSignal;var Du=G(nu(),1);var Ls=G(Fr(),1);var Rt=()=>window.ManagedMediaSource||window.MediaSource,As=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Bf=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Of=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var bt=require("@vkontakte/videoplayer-shared"),$s=document.createElement("video"),_k='video/mp4; codecs="avc1.42000a,mp4a.40.2"',Nk='video/mp4; codecs="hev1.1.6.L93.B0"',_f='video/webm; codecs="vp09.00.10.08"',Nf='video/webm; codecs="av01.0.00M.08"',Fk='audio/mp4; codecs="mp4a.40.2"',qk='audio/webm; codecs="opus"',Ci={mms:As(),mse:Bf(),hls:!!($s.canPlayType?.("application/x-mpegurl")||$s.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},$e={mp4:!!$s.canPlayType?.("video/mp4"),webm:!!$s.canPlayType?.("video/webm"),cmaf:!0},Me={h264:!!Rt()?.isTypeSupported?.(_k),h265:!!Rt()?.isTypeSupported?.(Nk),vp9:!!Rt()?.isTypeSupported?.(_f),av1:!!Rt()?.isTypeSupported?.(Nf),aac:!!Rt()?.isTypeSupported?.(Fk),opus:!!Rt()?.isTypeSupported?.(qk)},Hr=(Me.h264||Me.h265)&&Me.aac,ur,Uk=async()=>{if(!window.navigator.mediaCapabilities)return;let i={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...i,video:{...i.video,contentType:Nf}}),window.navigator.mediaCapabilities.decodingInfo({...i,video:{...i.video,contentType:_f}})]);ur={DASH_WEBM_AV1:e,DASH_WEBM:t}};try{Uk()}catch(i){console.error(i)}var jr=Ci.hls&&$e.mp4,Ff=()=>Object.keys(Me).filter(i=>Me[i]),qf=(i,{useHlsJs:e,useManagedMediaSource:t,useOldMSEDetection:r})=>{let a=Ci.mse&&(!r||!!window.MediaStreamTrack)||Ci.mms&&t;return i.filter(s=>{switch(s){case"DASH_SEP":return a&&$e.mp4&&Hr;case"DASH_WEBM":return a&&$e.webm&&Me.vp9&&Me.opus;case"DASH_WEBM_AV1":return a&&$e.webm&&Me.av1&&Me.opus;case"DASH_STREAMS":return a&&($e.mp4&&Hr||$e.webm&&(Me.vp9||Me.av1)&&(Me.opus||Me.aac));case"DASH_LIVE":return a&&$e.mp4&&Hr;case"DASH_LIVE_CMAF":return a&&$e.mp4&&Hr&&$e.cmaf;case"DASH_ONDEMAND":return a&&$e.mp4&&Hr;case"HLS":case"HLS_ONDEMAND":return jr||e&&a&&$e.mp4&&Hr;case"HLS_LIVE":case"HLS_LIVE_CMAF":return jr;case"MPEG":return $e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return Ci.webrtc&&Ci.ws&&Me.h264&&($e.mp4||$e.webm);default:return(0,bt.assertNever)(s)}})},Rs=i=>{let e="DASH_WEBM",t="DASH_WEBM_AV1";switch(i){case"vp9":return[e,t];case"av1":return[t,e];case"none":return[];case"smooth":return ur?ur[t].smooth?[t,e]:ur[e].smooth?[e,t]:[t,e]:[e,t];case"power_efficient":return ur?ur[t].powerEfficient?[t,e]:ur[e].powerEfficient?[e,t]:[t,e]:[e,t];default:(0,bt.assertNever)(i)}return[e,t]},Uf=({webmCodec:i,androidPreferredFormat:e,preferMultiStream:t})=>{let r=[...t?["DASH_STREAMS"]:[],...Rs(i),"DASH_SEP","DASH_ONDEMAND",...t?[]:["DASH_STREAMS"]],a=[...t?["DASH_STREAMS"]:[],"DASH_SEP","DASH_ONDEMAND",...t?[]:["DASH_STREAMS"]];if(bt.clientChecker.isAndroid)switch(e){case"mpeg":return["MPEG",...r,"HLS","HLS_ONDEMAND"];case"hls":return["HLS","HLS_ONDEMAND",...r,"MPEG"];case"dash":return[...r,"HLS","HLS_ONDEMAND","MPEG"];case"dash_any_mpeg":return[...a,"MPEG",...Rs(i),"HLS","HLS_ONDEMAND"];case"dash_any_webm":return[...Rs(i),"MPEG",...a,"HLS","HLS_ONDEMAND"];case"dash_sep":return["DASH_SEP","MPEG",...Rs(i),...a,"HLS","HLS_ONDEMAND"];default:(0,bt.assertNever)(e)}return jr?[...r,"HLS","HLS_ONDEMAND","MPEG"]:[...r,"HLS","HLS_ONDEMAND","MPEG"]},Hf=({androidPreferredFormat:i,preferCMAF:e,preferWebRTC:t})=>{let r=e?["DASH_LIVE_CMAF","DASH_LIVE"]:["DASH_LIVE","DASH_LIVE_CMAF"],a=e?["HLS_LIVE_CMAF","HLS_LIVE"]:["HLS_LIVE","HLS_LIVE_CMAF"],s=[...r,...a],n=[...a,...r],o,u=bt.clientChecker.isMac&&bt.clientChecker.isSafari;if(bt.clientChecker.isAndroid)switch(i){case"dash":case"dash_any_mpeg":case"dash_any_webm":case"dash_sep":{o=s;break}case"hls":case"mpeg":{o=n;break}default:(0,bt.assertNever)(i)}else jr&&!u?o=n:u?o=e?["DASH_LIVE_CMAF","HLS_LIVE_CMAF","HLS_LIVE","DASH_LIVE"]:["HLS_LIVE","DASH_LIVE","DASH_LIVE_CMAF","HLS_LIVE_CMAF"]:o=s;return t?["WEB_RTC_LIVE",...o]:[...o,"WEB_RTC_LIVE"]},ou=i=>i?["HLS_LIVE","HLS_LIVE_CMAF","DASH_LIVE_CMAF"]:["DASH_WEBM","DASH_WEBM_AV1","DASH_SEP","DASH_ONDEMAND","HLS","HLS_ONDEMAND","MPEG"],jf=i=>{if(i.size===0)return;if(i.size===1){let t=i.values().next();return(0,Ls.default)(t.value.split("."),0)}for(let t of i){let r=(0,Ls.default)(t.split("."),0);if(r==="opus"||r==="vp09"||r==="av01")return r}let e=i.values().next();return(0,Ls.default)(e.value.split("."),0)};var db=G(cb(),1),Gr=require("@vkontakte/videoplayer-shared"),pb=i=>{if(!i)return{id:"EmptyResponse",category:Gr.ErrorCategory.PARSER,message:"Empty response"};if(i.length<=2&&i.match(/^\d+$/))return{id:`UVError#${i}`,category:Gr.ErrorCategory.NETWORK,message:`UV Error ${i}`};let e=(0,db.default)(i).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:Gr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(i,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:Gr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:Gr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var Qt=(i,e,t=0)=>{for(let r=0;r<i.length;r++)if(i.start(r)*1e3-t<=e&&i.end(r)*1e3+t>e)return!0;return!1};var g=require("@vkontakte/videoplayer-shared");var Ms=G(tt(),1),Yr=G(Fr(),1),Ds=G(nu(),1);var sw=(i,e={})=>{let r=e.timeout||1,a=performance.now();return window.setTimeout(()=>{i({get didTimeout(){return e.timeout?!1:performance.now()-a-1>r},timeRemaining(){return Math.max(0,1+(performance.now()-a))}})},1)},nw=i=>window.clearTimeout(i),hb=i=>typeof i=="function"&&i?.toString().endsWith("{ [native code] }"),mb=!hb(window.requestIdleCallback)||!hb(window.cancelIdleCallback),pu=mb?sw:window.requestIdleCallback,Bi=mb?nw:window.cancelIdleCallback;var yg=G(gs(),1);var Ge=require("@vkontakte/videoplayer-shared"),ow=18,fb=!1;try{fb=Ge.clientChecker.isSafari&&!!Ge.clientChecker.macVersion&&Ge.clientChecker.macVersion<=ow}catch(i){console.error(i)}var hu=class{constructor(e){this.bufferFull$=new Ge.Subject;this.error$=new Ge.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:Ge.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(r=>{let a={operation:"append",data:e,signal:t,callback:r};this.queue.push(a),this.pull()})}async remove(e,t,r){return r&&r.aborted?!1:new Promise(a=>{let s={operation:"remove",from:e,to:t,signal:r,callback:a};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let r,a=s=>{this.abortRequested=!1,t(s)};fb&&e?r={operation:"safariAbort",init:e,callback:a}:r={operation:"abort",callback:a};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,r&&(this.queue=[r]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(a){a instanceof DOMException&&a.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):a instanceof DOMException&&a.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:Ge.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:a}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,Ge.assertNever)(t)}}},bb=hu;var mu=i=>{let e=0;for(let t=0;t<i.length;t++)e+=i.end(t)-i.start(t);return e*1e3};var T=require("@vkontakte/videoplayer-shared");var Y=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let r=this.readUint32();this.type=this.readString(4),this.size32=r<=e.buffer.byteLength-e.byteOffset?r:NaN;let a=this.size32?this.size32-8:void 0,s=e.byteOffset+this.cursor;this.size64=0,this.usertype=0,this.content=new DataView(e.buffer,s,a)}get id(){return this.type}get size(){return this.size32}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let a=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,a}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var Qr=class extends Y{};var Oi=class extends Y{constructor(t,r){super(t,r);this.ondemandPrefix="ondemandlivejson";this.ondemandDataReceivedKey="t-in";this.ondemandDataPreparedKey="t-out";let a=this.content.byteOffset,s=a+this.content.byteLength,n=new TextDecoder("ascii").decode(this.content.buffer.slice(a,s)).split(this.ondemandPrefix)[1],o=JSON.parse(n);this.serverDataReceivedTimestamp=o[this.ondemandDataReceivedKey],this.serverDataPreparedTime=o[this.ondemandDataPreparedKey]}};var _i=class extends Y{constructor(e,t){super(e,t),this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let r=this.size-this.cursor;for(;r;){let a=this.readString(4);this.compatibleBrands.push(a),r-=4}}};var Ni=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ie=class extends Y{constructor(e,t){super(e,t);let r=this.readUint32();this.version=r>>>24,this.flags=r&16777215}};var Fi=class extends ie{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16()}};var qi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ui=class extends Y{constructor(e,t){super(e,t),this.data=this.content}};var lr=class extends ie{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){super(e,t),this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let r=0;r<this.referenceCount;r++){let a=this.readUint32(),s=a>>>31,n=a<<1>>>1,o=this.readUint32();a=this.readUint32();let u=a>>>28,l=a<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:o,SAPType:u,SAPDeltaTime:l})}}};var Hi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ji=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Gi=class extends ie{constructor(e,t){switch(super(e,t),this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Qi=class extends ie{constructor(e,t){super(e,t),this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32()}};var Wi=class extends ie{constructor(e,t){super(e,t),this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32()}};var Yi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var zi=class extends ie{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Ki=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Xi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ji=class extends ie{constructor(e,t){super(e,t),this.sequenceNumber=this.readUint32()}};var Zi=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ea=class extends ie{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var ta=class extends ie{constructor(t,r){super(t,r);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var ra=class extends ie{constructor(t,r){super(t,r);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let a=0;a<this.sampleCount;a++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var ia=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var aa=class extends ie{constructor(e,t){super(e,t),this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8))}};var sa=class extends Y{constructor(e,t){super(e,t),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78))}};var lw={ftyp:_i,moov:Ni,mvhd:Fi,moof:qi,mdat:Ui,sidx:lr,trak:Hi,mdia:Yi,mfhd:Ji,tkhd:zi,traf:Zi,tfhd:ea,tfdt:ta,trun:ra,minf:Ki,sv3d:ji,st3d:Gi,prhd:Qi,proj:Xi,equi:Wi,uuid:Oi,stbl:ia,stsd:aa,avc1:sa,unknown:Qr},Lt=class i{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],r=this.options.offset;for(;r<e.byteLength;)try{let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+r+4,4)),n=this.createBox(s,new DataView(e.buffer,e.byteOffset+r));if(!n.size)break;t.push(n),r+=n.size}catch{break}return t}createBox(e,t){let r=lw[e];return r?new r(t,new i):new Qr(t,new i)}};var Wt=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children)})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var dw=new TextDecoder("ascii"),pw=i=>dw.decode(new DataView(i.buffer,i.byteOffset+4,4))==="ftyp",hw=i=>{let e=new lr(i,new Lt),t=e.earliestPresentationTime/e.timescale*1e3,r=i.byteOffset+i.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,o={status:"none",time:{from:t,to:t+n},byte:{from:r,to:r+s.referencedSize-1}};return t+=n,r+=s.referencedSize,o})},mw=(i,e)=>{let r=new Lt().parse(i),a=new Wt(r),s=a.findAll("moof"),n=e?a.findAll("uuid"):a.findAll("mdat");if(!(n.length&&s.length))return null;let o=s[0],u=n[n.length-1],l=o.source.byteOffset,c=u.source.byteOffset-o.source.byteOffset+u.size;return new DataView(i.buffer,l,c)},fw=i=>{let t=new Lt().parse(i),r=new Wt(t),a={},s=r.findAll("uuid");return s.length?s[s.length-1]:a},bw=i=>{let t=new Lt().parse(i);return new Wt(t).find("sidx")?.timescale},gw=(i,e)=>{let r=new Lt().parse(i),s=new Wt(r).findAll("traf"),n=s[s.length-1].children.find(c=>c.type==="tfhd"),o=s[s.length-1].children.find(c=>c.type==="tfdt"),u=s[s.length-1].children.find(c=>c.type==="trun"),l=0;return u.sampleDuration.length?l=u.sampleDuration.reduce((c,h)=>c+h,0):l=n.defaultSampleDuration*u.sampleCount,(Number(o.baseMediaDecodeTime)+l)/e*1e3},vw=i=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},r=new Lt().parse(i),a=new Wt(r);if(a.find("sv3d")){e.is3dVideo=!0;let n=a.find("st3d");n&&(e.stereoMode=n.stereoMode);let o=a.find("prhd");o&&(e.projectionData.pose.yaw=o.poseYawDegrees,e.projectionData.pose.pitch=o.posePitchDegrees,e.projectionData.pose.roll=o.poseRollDegrees);let u=a.find("equi");u&&(e.projectionData.bounds.top=u.projectionBoundsTop,e.projectionData.bounds.right=u.projectionBoundsRight,e.projectionData.bounds.bottom=u.projectionBoundsBottom,e.projectionData.bounds.left=u.projectionBoundsLeft)}return e},gb={validateData:pw,parseInit:vw,getIndexRange:()=>{},parseSegments:hw,parseFeedableSegmentChunk:mw,getChunkEndTime:gw,getServerLatencyTimestamps:fw,getTimescaleFromIndex:bw};var oa=G(tt(),1),$t=require("@vkontakte/videoplayer-shared");var Sb=require("@vkontakte/videoplayer-shared");var vb={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},yb=i=>{let e=i.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let r=na(i,t),a=r in vb,s=a?vb[r].type:"binary",n=i.getUint8(t),o=0;n&128?o=1:n&64?o=2:n&32?o=3:n&16?o=4:n&8?o=5:n&4?o=6:n&2?o=7:n&1&&(o=8);let u=new DataView(i.buffer,i.byteOffset+t+1,o-1),l=n&255>>o,d=na(u),c=l*2**((o-1)*8)+d,h=t+o,f;return h+c>i.byteLength?f=new DataView(i.buffer,i.byteOffset+h):f=new DataView(i.buffer,i.byteOffset+h,c),{tag:a?r:"0x"+r.toString(16).toUpperCase(),type:s,tagHeaderSize:h,tagSize:h+c,value:f,valueSize:c}},na=(i,e=i.byteLength)=>{switch(e){case 1:return i.getUint8(0);case 2:return i.getUint16(0);case 3:return i.getUint8(0)*2**16+i.getUint16(1);case 4:return i.getUint32(0);case 5:return i.getUint8(0)*2**32+i.getUint32(1);case 6:return i.getUint16(0)*2**32+i.getUint32(2);case 7:{let t=i.getUint8(0)*281474976710656+i.getUint16(1)*4294967296+i.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},at=(i,e)=>{switch(e){case"int":return i.getInt8(0);case"uint":return na(i);case"float":return i.byteLength===4?i.getFloat32(0):i.getFloat64(0);case"string":return new TextDecoder("ascii").decode(i);case"utf8":return new TextDecoder("utf-8").decode(i);case"date":return new Date(Date.UTC(2001,0)+i.getInt8(0)).getTime();case"master":return i;case"binary":return i;default:(0,Sb.assertNever)(e)}},cr=(i,e)=>{let t=0;for(;t<i.byteLength;){let r=new DataView(i.buffer,i.byteOffset+t),a=yb(r);if(!e(a))return;a.type==="master"&&cr(a.value,e),t=a.value.byteOffset-i.byteOffset+a.valueSize}},Tb=i=>{if(i.getUint32(0)!==440786851)return!1;let e,t,r,a=yb(i);return cr(a.value,({tag:s,type:n,value:o})=>(s===17143?e=at(o,n):s===17026?t=at(o,n):s===17029&&(r=at(o,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(r===void 0||r<=2)};var Ib=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],Sw=[231,22612,22743,167,171,163,160,175],yw=i=>{let e,t,r,a,s=!1,n=!1,o=!1,u,l,d=!1,c=0;return cr(i,({tag:h,type:f,value:b,valueSize:v})=>{if(h===21419){let y=at(b,f);l=na(y)}else h!==21420&&(l=void 0);return h===408125543?(e=b.byteOffset,t=b.byteOffset+v):h===357149030?s=!0:h===290298740?n=!0:h===2807729?r=at(b,f):h===17545?a=at(b,f):h===21420&&l===475249515?u=at(b,f):h===374648427?cr(b,({tag:y,type:I,value:M})=>y===30321?(d=at(M,I)===1,!1):!0):s&&n&&(0,oa.default)(Ib,h)&&(o=!0),!o}),(0,$t.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,$t.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,$t.assertNonNullable)(a,"Failed to parse webm Segment duration"),r=r??1e6,{segmentStart:Math.round(e/1e9*r*1e3),segmentEnd:Math.round(t/1e9*r*1e3),timeScale:r,segmentDuration:Math.round(a/1e9*r*1e3),cuesSeekPosition:u,is3dVideo:d,stereoMode:c,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},Tw=i=>{if((0,$t.isNullable)(i.cuesSeekPosition))return;let e=i.segmentStart+i.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Iw=(i,e)=>{let t=!1,r=!1,a=o=>(0,$t.isNonNullable)(o.time)&&(0,$t.isNonNullable)(o.position),s=[],n;return cr(i,({tag:o,type:u,value:l})=>{switch(o){case 475249515:t=!0;break;case 187:n&&a(n)&&s.push(n),n={};break;case 179:n&&(n.time=at(l,u));break;case 183:break;case 241:n&&(n.position=at(l,u));break;default:t&&(0,oa.default)(Ib,o)&&(r=!0)}return!(t&&r)}),n&&a(n)&&s.push(n),s.map((o,u)=>{let{time:l,position:d}=o,c=s[u+1];return{status:"none",time:{from:l,to:c?c.time:e.segmentDuration},byte:{from:e.segmentStart+d,to:c?e.segmentStart+c.position-1:e.segmentEnd-1}}})},Ew=i=>{let e=0,t=!1;try{cr(i,r=>r.tag===524531317?r.tagSize<=i.byteLength?(e=r.tagSize,!1):(e+=r.tagHeaderSize,!0):(0,oa.default)(Sw,r.tag)?(e+r.tagSize<=i.byteLength&&(e+=r.tagSize,t||=(0,oa.default)([163,160,175],r.tag)),!0):!1)}catch{}return e>0&&e<=i.byteLength&&t?new DataView(i.buffer,i.byteOffset,e):null},Eb={validateData:Tb,parseInit:yw,getIndexRange:Tw,parseSegments:Iw,parseFeedableSegmentChunk:Ew};var ua=i=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(i);if(e){let[,t,r]=e;if(t==="audio"||t==="video")switch(r){case"webm":return Eb;case"mp4":return gb}}throw new ReferenceError(`Unsupported mime type ${i}`)};var wu=G(Hb(),1),fg=G(Rr(),1),bg=G(sg(),1),gg=G(Fr(),1),Au=G(Nr(),1);var ng=G(tt(),1),Tu=i=>{let e=i.split("."),[t,...r]=e;if(!t)return!1;switch(t){case"av01":{let[a,s,n]=r;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[a,s,n]=r;return!!(a&&parseInt(a,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let a=r[0];if(!a||a.length!==6)return!1;let[s,n]=a.toUpperCase(),o=s+n;return(0,ng.default)(["6E","7A","F4"],o)}}return!1};var ca=require("@vkontakte/videoplayer-shared");var og=i=>{if(i.includes("/")){let e=i.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(i)};var ug=i=>{try{let e=vA(),t=i.match(e),{groups:r}=t??{};if(r){let a={};if(r.extensions){let o=r.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(o||[]).forEach(u=>{a[u[0]]=u.slice(2)})}let s=r.variants?.split(/-/).filter(o=>o!==""),n={extlang:r.extlang,langtag:r.langtag,language:r.language,privateuse:r.privateuse||r.privateuse2,region:r.region,script:r.script,extensions:a,variants:s};return Object.keys(n).forEach(o=>{let u=n[o];(typeof u>"u"||u==="")&&delete n[o]}),n}return null}catch{return null}};function vA(){let i="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",d=`^(?:(?<langtag>${`
|
|
64
64
|
(?<language>${`(?:[a-z]{2,3}(?:-${i})?|[a-z]{4}|[a-z]{5,8})`})
|
|
65
65
|
(-(?<script>[a-z]{4}))?
|
|
66
66
|
(-(?<region>(?:[a-z]{2}|[0-9]{3})))?
|