@vkontakte/videoplayer-statistics 1.0.81-dev.6c99e2bc.0 → 1.0.81-dev.c4949db3.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/esnext.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-statistics v1.0.81-dev.6c99e2bc.0
3
- * Tue, 01 Jul 2025 12:01:18 GMT
2
+ * @vkontakte/videoplayer-statistics v1.0.81-dev.c4949db3.0
3
+ * Tue, 01 Jul 2025 13:54:01 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-81/doc/
5
5
  */
6
- var Ud=Object.create;var at=Object.defineProperty;var Bd=Object.getOwnPropertyDescriptor;var jd=Object.getOwnPropertyNames;var Wd=Object.getPrototypeOf,Hd=Object.prototype.hasOwnProperty;var a=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Kd=(r,e)=>{for(var t in e)at(r,t,{get:e[t],enumerable:!0})},Gd=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of jd(e))!Hd.call(r,o)&&o!==t&&at(r,o,{get:()=>e[o],enumerable:!(i=Bd(e,o))||i.enumerable});return r};var P=(r,e,t)=>(t=r!=null?Ud(Wd(r)):{},Gd(e||!r||!r.__esModule?at(t,"default",{value:r,enumerable:!0}):t,r));var I=a((st,Oo)=>{"use strict";var qe=function(r){return r&&r.Math===Math&&r};Oo.exports=qe(typeof globalThis=="object"&&globalThis)||qe(typeof window=="object"&&window)||qe(typeof self=="object"&&self)||qe(typeof global=="object"&&global)||qe(typeof st=="object"&&st)||function(){return this}()||Function("return this")()});var T=a((kI,Ao)=>{"use strict";Ao.exports=function(r){try{return!!r()}catch{return!0}}});var xe=a((NI,qo)=>{"use strict";var zd=T();qo.exports=!zd(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var ut=a((LI,ko)=>{"use strict";var Qd=xe(),Co=Function.prototype,xo=Co.apply,Ro=Co.call;ko.exports=typeof Reflect=="object"&&Reflect.apply||(Qd?Ro.bind(xo):function(){return Ro.apply(xo,arguments)})});var O=a((DI,Do)=>{"use strict";var No=xe(),Lo=Function.prototype,ct=Lo.call,Yd=No&&Lo.bind.bind(ct,ct);Do.exports=No?Yd:function(r){return function(){return ct.apply(r,arguments)}}});var Re=a(($I,Mo)=>{"use strict";var $o=O(),Jd=$o({}.toString),Xd=$o("".slice);Mo.exports=function(r){return Xd(Jd(r),8,-1)}});var lt=a((MI,Vo)=>{"use strict";var Zd=Re(),ef=O();Vo.exports=function(r){if(Zd(r)==="Function")return ef(r)}});var S=a((VI,Fo)=>{"use strict";var dt=typeof document=="object"&&document.all;Fo.exports=typeof dt>"u"&&dt!==void 0?function(r){return typeof r=="function"||r===dt}:function(r){return typeof r=="function"}});var q=a((FI,Uo)=>{"use strict";var rf=T();Uo.exports=!rf(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var k=a((UI,Bo)=>{"use strict";var tf=xe(),nr=Function.prototype.call;Bo.exports=tf?nr.bind(nr):function(){return nr.apply(nr,arguments)}});var ft=a(Ho=>{"use strict";var jo={}.propertyIsEnumerable,Wo=Object.getOwnPropertyDescriptor,of=Wo&&!jo.call({1:2},1);Ho.f=of?function(e){var t=Wo(this,e);return!!t&&t.enumerable}:jo});var Ce=a((jI,Ko)=>{"use strict";Ko.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var zo=a((WI,Go)=>{"use strict";var nf=O(),af=T(),sf=Re(),pt=Object,uf=nf("".split);Go.exports=af(function(){return!pt("z").propertyIsEnumerable(0)})?function(r){return sf(r)==="String"?uf(r,""):pt(r)}:pt});var ke=a((HI,Qo)=>{"use strict";Qo.exports=function(r){return r==null}});var ae=a((KI,Yo)=>{"use strict";var cf=ke(),lf=TypeError;Yo.exports=function(r){if(cf(r))throw new lf("Can't call method on "+r);return r}});var J=a((GI,Jo)=>{"use strict";var df=zo(),ff=ae();Jo.exports=function(r){return df(ff(r))}});var N=a((zI,Xo)=>{"use strict";var pf=S();Xo.exports=function(r){return typeof r=="object"?r!==null:pf(r)}});var Ne=a((QI,Zo)=>{"use strict";Zo.exports={}});var j=a((YI,rn)=>{"use strict";var ht=Ne(),vt=I(),hf=S(),en=function(r){return hf(r)?r:void 0};rn.exports=function(r,e){return arguments.length<2?en(ht[r])||en(vt[r]):ht[r]&&ht[r][e]||vt[r]&&vt[r][e]}});var ar=a((JI,tn)=>{"use strict";var vf=O();tn.exports=vf({}.isPrototypeOf)});var X=a((XI,an)=>{"use strict";var gf=I(),on=gf.navigator,nn=on&&on.userAgent;an.exports=nn?String(nn):""});var mt=a((ZI,fn)=>{"use strict";var dn=I(),gt=X(),sn=dn.process,un=dn.Deno,cn=sn&&sn.versions||un&&un.version,ln=cn&&cn.v8,L,sr;ln&&(L=ln.split("."),sr=L[0]>0&&L[0]<4?1:+(L[0]+L[1]));!sr&&gt&&(L=gt.match(/Edge\/(\d+)/),(!L||L[1]>=74)&&(L=gt.match(/Chrome\/(\d+)/),L&&(sr=+L[1])));fn.exports=sr});var bt=a((eS,hn)=>{"use strict";var pn=mt(),mf=T(),bf=I(),yf=bf.String;hn.exports=!!Object.getOwnPropertySymbols&&!mf(function(){var r=Symbol("symbol detection");return!yf(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&pn&&pn<41})});var yt=a((rS,vn)=>{"use strict";var If=bt();vn.exports=If&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var It=a((tS,gn)=>{"use strict";var Sf=j(),_f=S(),Ef=ar(),Pf=yt(),Tf=Object;gn.exports=Pf?function(r){return typeof r=="symbol"}:function(r){var e=Sf("Symbol");return _f(e)&&Ef(e.prototype,Tf(r))}});var Le=a((iS,mn)=>{"use strict";var wf=String;mn.exports=function(r){try{return wf(r)}catch{return"Object"}}});var W=a((oS,bn)=>{"use strict";var Of=S(),Af=Le(),qf=TypeError;bn.exports=function(r){if(Of(r))return r;throw new qf(Af(r)+" is not a function")}});var ur=a((nS,yn)=>{"use strict";var xf=W(),Rf=ke();yn.exports=function(r,e){var t=r[e];return Rf(t)?void 0:xf(t)}});var Sn=a((aS,In)=>{"use strict";var St=k(),_t=S(),Et=N(),Cf=TypeError;In.exports=function(r,e){var t,i;if(e==="string"&&_t(t=r.toString)&&!Et(i=St(t,r))||_t(t=r.valueOf)&&!Et(i=St(t,r))||e!=="string"&&_t(t=r.toString)&&!Et(i=St(t,r)))return i;throw new Cf("Can't convert object to primitive value")}});var V=a((sS,_n)=>{"use strict";_n.exports=!0});var Tn=a((uS,Pn)=>{"use strict";var En=I(),kf=Object.defineProperty;Pn.exports=function(r,e){try{kf(En,r,{value:e,configurable:!0,writable:!0})}catch{En[r]=e}return e}});var De=a((cS,An)=>{"use strict";var Nf=V(),Lf=I(),Df=Tn(),wn="__core-js_shared__",On=An.exports=Lf[wn]||Df(wn,{});(On.versions||(On.versions=[])).push({version:"3.38.0",mode:Nf?"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 Pt=a((lS,xn)=>{"use strict";var qn=De();xn.exports=function(r,e){return qn[r]||(qn[r]=e||{})}});var Tt=a((dS,Rn)=>{"use strict";var $f=ae(),Mf=Object;Rn.exports=function(r){return Mf($f(r))}});var F=a((fS,Cn)=>{"use strict";var Vf=O(),Ff=Tt(),Uf=Vf({}.hasOwnProperty);Cn.exports=Object.hasOwn||function(e,t){return Uf(Ff(e),t)}});var wt=a((pS,kn)=>{"use strict";var Bf=O(),jf=0,Wf=Math.random(),Hf=Bf(1 .toString);kn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Hf(++jf+Wf,36)}});var x=a((hS,Ln)=>{"use strict";var Kf=I(),Gf=Pt(),Nn=F(),zf=wt(),Qf=bt(),Yf=yt(),se=Kf.Symbol,Ot=Gf("wks"),Jf=Yf?se.for||se:se&&se.withoutSetter||zf;Ln.exports=function(r){return Nn(Ot,r)||(Ot[r]=Qf&&Nn(se,r)?se[r]:Jf("Symbol."+r)),Ot[r]}});var Vn=a((vS,Mn)=>{"use strict";var Xf=k(),Dn=N(),$n=It(),Zf=ur(),ep=Sn(),rp=x(),tp=TypeError,ip=rp("toPrimitive");Mn.exports=function(r,e){if(!Dn(r)||$n(r))return r;var t=Zf(r,ip),i;if(t){if(e===void 0&&(e="default"),i=Xf(t,r,e),!Dn(i)||$n(i))return i;throw new tp("Can't convert object to primitive value")}return e===void 0&&(e="number"),ep(r,e)}});var At=a((gS,Fn)=>{"use strict";var op=Vn(),np=It();Fn.exports=function(r){var e=op(r,"string");return np(e)?e:e+""}});var cr=a((mS,Bn)=>{"use strict";var ap=I(),Un=N(),qt=ap.document,sp=Un(qt)&&Un(qt.createElement);Bn.exports=function(r){return sp?qt.createElement(r):{}}});var xt=a((bS,jn)=>{"use strict";var up=q(),cp=T(),lp=cr();jn.exports=!up&&!cp(function(){return Object.defineProperty(lp("div"),"a",{get:function(){return 7}}).a!==7})});var Kn=a(Hn=>{"use strict";var dp=q(),fp=k(),pp=ft(),hp=Ce(),vp=J(),gp=At(),mp=F(),bp=xt(),Wn=Object.getOwnPropertyDescriptor;Hn.f=dp?Wn:function(e,t){if(e=vp(e),t=gp(t),bp)try{return Wn(e,t)}catch{}if(mp(e,t))return hp(!fp(pp.f,e,t),e[t])}});var Rt=a((IS,Gn)=>{"use strict";var yp=T(),Ip=S(),Sp=/#|\.prototype\./,$e=function(r,e){var t=Ep[_p(r)];return t===Tp?!0:t===Pp?!1:Ip(e)?yp(e):!!e},_p=$e.normalize=function(r){return String(r).replace(Sp,".").toLowerCase()},Ep=$e.data={},Pp=$e.NATIVE="N",Tp=$e.POLYFILL="P";Gn.exports=$e});var Me=a((SS,Qn)=>{"use strict";var zn=lt(),wp=W(),Op=xe(),Ap=zn(zn.bind);Qn.exports=function(r,e){return wp(r),e===void 0?r:Op?Ap(r,e):function(){return r.apply(e,arguments)}}});var Ct=a((_S,Yn)=>{"use strict";var qp=q(),xp=T();Yn.exports=qp&&xp(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var H=a((ES,Jn)=>{"use strict";var Rp=N(),Cp=String,kp=TypeError;Jn.exports=function(r){if(Rp(r))return r;throw new kp(Cp(r)+" is not an object")}});var Z=a(Zn=>{"use strict";var Np=q(),Lp=xt(),Dp=Ct(),lr=H(),Xn=At(),$p=TypeError,kt=Object.defineProperty,Mp=Object.getOwnPropertyDescriptor,Nt="enumerable",Lt="configurable",Dt="writable";Zn.f=Np?Dp?function(e,t,i){if(lr(e),t=Xn(t),lr(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Dt in i&&!i[Dt]){var o=Mp(e,t);o&&o[Dt]&&(e[t]=i.value,i={configurable:Lt in i?i[Lt]:o[Lt],enumerable:Nt in i?i[Nt]:o[Nt],writable:!1})}return kt(e,t,i)}:kt:function(e,t,i){if(lr(e),t=Xn(t),lr(i),Lp)try{return kt(e,t,i)}catch{}if("get"in i||"set"in i)throw new $p("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ue=a((TS,ea)=>{"use strict";var Vp=q(),Fp=Z(),Up=Ce();ea.exports=Vp?function(r,e,t){return Fp.f(r,e,Up(1,t))}:function(r,e,t){return r[e]=t,r}});var R=a((wS,ta)=>{"use strict";var Ve=I(),Bp=ut(),jp=lt(),Wp=S(),Hp=Kn().f,Kp=Rt(),ce=Ne(),Gp=Me(),le=ue(),ra=F();De();var zp=function(r){var e=function(t,i,o){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,o)}return Bp(r,this,arguments)};return e.prototype=r.prototype,e};ta.exports=function(r,e){var t=r.target,i=r.global,o=r.stat,n=r.proto,s=i?Ve:o?Ve[t]:Ve[t]&&Ve[t].prototype,u=i?ce:ce[t]||le(ce,t,{})[t],l=u.prototype,d,p,h,c,f,v,g,b,m;for(c in e)d=Kp(i?c:t+(o?".":"#")+c,r.forced),p=!d&&s&&ra(s,c),v=u[c],p&&(r.dontCallGetSet?(m=Hp(s,c),g=m&&m.value):g=s[c]),f=p&&g?g:e[c],!(!d&&!n&&typeof v==typeof f)&&(r.bind&&p?b=Gp(f,Ve):r.wrap&&p?b=zp(f):n&&Wp(f)?b=jp(f):b=f,(r.sham||f&&f.sham||v&&v.sham)&&le(b,"sham",!0),le(u,c,b),n&&(h=t+"Prototype",ra(ce,h)||le(ce,h,{}),le(ce[h],c,f),r.real&&l&&(d||!l[c])&&le(l,c,f)))}});var oa=a((OS,ia)=>{"use strict";var Qp=Math.ceil,Yp=Math.floor;ia.exports=Math.trunc||function(e){var t=+e;return(t>0?Yp:Qp)(t)}});var dr=a((AS,na)=>{"use strict";var Jp=oa();na.exports=function(r){var e=+r;return e!==e||e===0?0:Jp(e)}});var sa=a((qS,aa)=>{"use strict";var Xp=dr(),Zp=Math.max,eh=Math.min;aa.exports=function(r,e){var t=Xp(r);return t<0?Zp(t+e,0):eh(t,e)}});var $t=a((xS,ua)=>{"use strict";var rh=dr(),th=Math.min;ua.exports=function(r){var e=rh(r);return e>0?th(e,9007199254740991):0}});var Mt=a((RS,ca)=>{"use strict";var ih=$t();ca.exports=function(r){return ih(r.length)}});var Vt=a((CS,da)=>{"use strict";var oh=J(),nh=sa(),ah=Mt(),la=function(r){return function(e,t,i){var o=oh(e),n=ah(o);if(n===0)return!r&&-1;var s=nh(i,n),u;if(r&&t!==t){for(;n>s;)if(u=o[s++],u!==u)return!0}else for(;n>s;s++)if((r||s in o)&&o[s]===t)return r||s||0;return!r&&-1}};da.exports={includes:la(!0),indexOf:la(!1)}});var Ft=a((kS,fa)=>{"use strict";fa.exports=function(){}});var pa=a(()=>{"use strict";var sh=R(),uh=Vt().includes,ch=T(),lh=Ft(),dh=ch(function(){return!Array(1).includes()});sh({target:"Array",proto:!0,forced:dh},{includes:function(e){return uh(this,e,arguments.length>1?arguments[1]:void 0)}});lh("includes")});var fr=a((DS,ha)=>{"use strict";var fh=j();ha.exports=fh});var ga=a(($S,va)=>{"use strict";pa();var ph=fr();va.exports=ph("Array","includes")});var ba=a((MS,ma)=>{"use strict";var hh=ga();ma.exports=hh});var de=a((VS,ya)=>{"use strict";var vh=ba();ya.exports=vh});var Oa=a(()=>{"use strict"});var Gt=a((XS,Aa)=>{"use strict";var Ue=I(),bh=X(),yh=Re(),hr=function(r){return bh.slice(0,r.length)===r};Aa.exports=function(){return hr("Bun/")?"BUN":hr("Cloudflare-Workers")?"CLOUDFLARE":hr("Deno/")?"DENO":hr("Node.js/")?"NODE":Ue.Bun&&typeof Bun.version=="string"?"BUN":Ue.Deno&&typeof Deno.version=="object"?"DENO":yh(Ue.process)==="process"?"NODE":Ue.window&&Ue.document?"BROWSER":"REST"}()});var vr=a((ZS,qa)=>{"use strict";var Ih=Gt();qa.exports=Ih==="NODE"});var fe=a((e_,xa)=>{"use strict";var Sh=ue();xa.exports=function(r,e,t,i){return i&&i.enumerable?r[e]=t:Sh(r,e,t),r}});var Ca=a((r_,Ra)=>{"use strict";var _h=O(),Eh=W();Ra.exports=function(r,e,t){try{return _h(Eh(Object.getOwnPropertyDescriptor(r,e)[t]))}catch{}}});var Na=a((t_,ka)=>{"use strict";var Ph=N();ka.exports=function(r){return Ph(r)||r===null}});var Da=a((i_,La)=>{"use strict";var Th=Na(),wh=String,Oh=TypeError;La.exports=function(r){if(Th(r))return r;throw new Oh("Can't set "+wh(r)+" as a prototype")}});var zt=a((o_,$a)=>{"use strict";var Ah=Ca(),qh=N(),xh=ae(),Rh=Da();$a.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Ah(Object.prototype,"__proto__","set"),t(e,[]),r=e instanceof Array}catch{}return function(o,n){return xh(o),Rh(n),qh(o)&&(r?t(o,n):o.__proto__=n),o}}():void 0)});var gr=a((n_,Va)=>{"use strict";var Ch=x(),kh=Ch("toStringTag"),Ma={};Ma[kh]="z";Va.exports=String(Ma)==="[object z]"});var Be=a((a_,Fa)=>{"use strict";var Nh=gr(),Lh=S(),mr=Re(),Dh=x(),$h=Dh("toStringTag"),Mh=Object,Vh=mr(function(){return arguments}())==="Arguments",Fh=function(r,e){try{return r[e]}catch{}};Fa.exports=Nh?mr:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=Fh(e=Mh(r),$h))=="string"?t:Vh?mr(e):(i=mr(e))==="Object"&&Lh(e.callee)?"Arguments":i}});var Ba=a((s_,Ua)=>{"use strict";var Uh=gr(),Bh=Be();Ua.exports=Uh?{}.toString:function(){return"[object "+Bh(this)+"]"}});var je=a((u_,Wa)=>{"use strict";var jh=gr(),Wh=Z().f,Hh=ue(),Kh=F(),Gh=Ba(),zh=x(),ja=zh("toStringTag");Wa.exports=function(r,e,t,i){var o=t?r:r&&r.prototype;o&&(Kh(o,ja)||Wh(o,ja,{configurable:!0,value:e}),i&&!jh&&Hh(o,"toString",Gh))}});var Ka=a((c_,Ha)=>{"use strict";var Qh=Z();Ha.exports=function(r,e,t){return Qh.f(r,e,t)}});var Qa=a((l_,za)=>{"use strict";var Yh=j(),Jh=Ka(),Xh=x(),Zh=q(),Ga=Xh("species");za.exports=function(r){var e=Yh(r);Zh&&e&&!e[Ga]&&Jh(e,Ga,{configurable:!0,get:function(){return this}})}});var Ja=a((d_,Ya)=>{"use strict";var ev=ar(),rv=TypeError;Ya.exports=function(r,e){if(ev(e,r))return r;throw new rv("Incorrect invocation")}});var Yt=a((f_,Xa)=>{"use strict";var tv=O(),iv=S(),Qt=De(),ov=tv(Function.toString);iv(Qt.inspectSource)||(Qt.inspectSource=function(r){return ov(r)});Xa.exports=Qt.inspectSource});var os=a((p_,is)=>{"use strict";var nv=O(),av=T(),Za=S(),sv=Be(),uv=j(),cv=Yt(),es=function(){},rs=uv("Reflect","construct"),Jt=/^\s*(?:class|function)\b/,lv=nv(Jt.exec),dv=!Jt.test(es),We=function(e){if(!Za(e))return!1;try{return rs(es,[],e),!0}catch{return!1}},ts=function(e){if(!Za(e))return!1;switch(sv(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return dv||!!lv(Jt,cv(e))}catch{return!0}};ts.sham=!0;is.exports=!rs||av(function(){var r;return We(We.call)||!We(Object)||!We(function(){r=!0})||r})?ts:We});var as=a((h_,ns)=>{"use strict";var fv=os(),pv=Le(),hv=TypeError;ns.exports=function(r){if(fv(r))return r;throw new hv(pv(r)+" is not a constructor")}});var Xt=a((v_,us)=>{"use strict";var ss=H(),vv=as(),gv=ke(),mv=x(),bv=mv("species");us.exports=function(r,e){var t=ss(r).constructor,i;return t===void 0||gv(i=ss(t)[bv])?e:vv(i)}});var Zt=a((g_,cs)=>{"use strict";var yv=j();cs.exports=yv("document","documentElement")});var ds=a((m_,ls)=>{"use strict";var Iv=O();ls.exports=Iv([].slice)});var ps=a((b_,fs)=>{"use strict";var Sv=TypeError;fs.exports=function(r,e){if(r<e)throw new Sv("Not enough arguments");return r}});var ei=a((y_,hs)=>{"use strict";var _v=X();hs.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(_v)});var ci=a((I_,Es)=>{"use strict";var C=I(),Ev=ut(),Pv=Me(),vs=S(),Tv=F(),_s=T(),gs=Zt(),wv=ds(),ms=cr(),Ov=ps(),Av=ei(),qv=vr(),ai=C.setImmediate,si=C.clearImmediate,xv=C.process,ri=C.Dispatch,Rv=C.Function,bs=C.MessageChannel,Cv=C.String,ti=0,He={},ys="onreadystatechange",Ke,ee,ii,oi;_s(function(){Ke=C.location});var ui=function(r){if(Tv(He,r)){var e=He[r];delete He[r],e()}},ni=function(r){return function(){ui(r)}},Is=function(r){ui(r.data)},Ss=function(r){C.postMessage(Cv(r),Ke.protocol+"//"+Ke.host)};(!ai||!si)&&(ai=function(e){Ov(arguments.length,1);var t=vs(e)?e:Rv(e),i=wv(arguments,1);return He[++ti]=function(){Ev(t,void 0,i)},ee(ti),ti},si=function(e){delete He[e]},qv?ee=function(r){xv.nextTick(ni(r))}:ri&&ri.now?ee=function(r){ri.now(ni(r))}:bs&&!Av?(ii=new bs,oi=ii.port2,ii.port1.onmessage=Is,ee=Pv(oi.postMessage,oi)):C.addEventListener&&vs(C.postMessage)&&!C.importScripts&&Ke&&Ke.protocol!=="file:"&&!_s(Ss)?(ee=Ss,C.addEventListener("message",Is,!1)):ys in ms("script")?ee=function(r){gs.appendChild(ms("script"))[ys]=function(){gs.removeChild(this),ui(r)}}:ee=function(r){setTimeout(ni(r),0)});Es.exports={set:ai,clear:si}});var ws=a((S_,Ts)=>{"use strict";var Ps=I(),kv=q(),Nv=Object.getOwnPropertyDescriptor;Ts.exports=function(r){if(!kv)return Ps[r];var e=Nv(Ps,r);return e&&e.value}});var li=a((__,As)=>{"use strict";var Os=function(){this.head=null,this.tail=null};Os.prototype={add:function(r){var e={item:r,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var r=this.head;if(r){var e=this.head=r.next;return e===null&&(this.tail=null),r.item}}};As.exports=Os});var xs=a((E_,qs)=>{"use strict";var Lv=X();qs.exports=/ipad|iphone|ipod/i.test(Lv)&&typeof Pebble<"u"});var Cs=a((P_,Rs)=>{"use strict";var Dv=X();Rs.exports=/web0s(?!.*chrome)/i.test(Dv)});var Vs=a((T_,Ms)=>{"use strict";var he=I(),$v=ws(),ks=Me(),di=ci().set,Mv=li(),Vv=ei(),Fv=xs(),Uv=Cs(),fi=vr(),Ns=he.MutationObserver||he.WebKitMutationObserver,Ls=he.document,Ds=he.process,br=he.Promise,vi=$v("queueMicrotask"),pe,pi,hi,yr,$s;vi||(Ge=new Mv,ze=function(){var r,e;for(fi&&(r=Ds.domain)&&r.exit();e=Ge.get();)try{e()}catch(t){throw Ge.head&&pe(),t}r&&r.enter()},!Vv&&!fi&&!Uv&&Ns&&Ls?(pi=!0,hi=Ls.createTextNode(""),new Ns(ze).observe(hi,{characterData:!0}),pe=function(){hi.data=pi=!pi}):!Fv&&br&&br.resolve?(yr=br.resolve(void 0),yr.constructor=br,$s=ks(yr.then,yr),pe=function(){$s(ze)}):fi?pe=function(){Ds.nextTick(ze)}:(di=ks(di,he),pe=function(){di(ze)}),vi=function(r){Ge.head||pe(),Ge.add(r)});var Ge,ze;Ms.exports=vi});var Us=a((w_,Fs)=>{"use strict";Fs.exports=function(r,e){try{arguments.length===1?console.error(r):console.error(r,e)}catch{}}});var Ir=a((O_,Bs)=>{"use strict";Bs.exports=function(r){try{return{error:!1,value:r()}}catch(e){return{error:!0,value:e}}}});var Hs=a((A_,Ws)=>{"use strict";var Bv=I(),jv=S(),js=Bv.WeakMap;Ws.exports=jv(js)&&/native code/.test(String(js))});var Sr=a((q_,Gs)=>{"use strict";var Wv=Pt(),Hv=wt(),Ks=Wv("keys");Gs.exports=function(r){return Ks[r]||(Ks[r]=Hv(r))}});var _r=a((x_,zs)=>{"use strict";zs.exports={}});var yi=a((R_,Js)=>{"use strict";var Kv=Hs(),Ys=I(),Gv=N(),zv=ue(),gi=F(),mi=De(),Qv=Sr(),Yv=_r(),Qs="Object already initialized",bi=Ys.TypeError,Jv=Ys.WeakMap,Er,Qe,Pr,Xv=function(r){return Pr(r)?Qe(r):Er(r,{})},Zv=function(r){return function(e){var t;if(!Gv(e)||(t=Qe(e)).type!==r)throw new bi("Incompatible receiver, "+r+" required");return t}};Kv||mi.state?(D=mi.state||(mi.state=new Jv),D.get=D.get,D.has=D.has,D.set=D.set,Er=function(r,e){if(D.has(r))throw new bi(Qs);return e.facade=r,D.set(r,e),e},Qe=function(r){return D.get(r)||{}},Pr=function(r){return D.has(r)}):(re=Qv("state"),Yv[re]=!0,Er=function(r,e){if(gi(r,re))throw new bi(Qs);return e.facade=r,zv(r,re,e),e},Qe=function(r){return gi(r,re)?r[re]:{}},Pr=function(r){return gi(r,re)});var D,re;Js.exports={set:Er,get:Qe,has:Pr,enforce:Xv,getterFor:Zv}});var te=a((C_,Xs)=>{"use strict";var eg=I();Xs.exports=eg.Promise});var ve=a((k_,tu)=>{"use strict";var rg=I(),Ye=te(),tg=S(),ig=Rt(),og=Yt(),ng=x(),Zs=Gt(),ag=V(),Ii=mt(),eu=Ye&&Ye.prototype,sg=ng("species"),Si=!1,ru=tg(rg.PromiseRejectionEvent),ug=ig("Promise",function(){var r=og(Ye),e=r!==String(Ye);if(!e&&Ii===66||ag&&!(eu.catch&&eu.finally))return!0;if(!Ii||Ii<51||!/native code/.test(r)){var t=new Ye(function(n){n(1)}),i=function(n){n(function(){},function(){})},o=t.constructor={};if(o[sg]=i,Si=t.then(function(){})instanceof i,!Si)return!0}return!e&&(Zs==="BROWSER"||Zs==="DENO")&&!ru});tu.exports={CONSTRUCTOR:ug,REJECTION_EVENT:ru,SUBCLASSING:Si}});var ge=a((N_,ou)=>{"use strict";var iu=W(),cg=TypeError,lg=function(r){var e,t;this.promise=new r(function(i,o){if(e!==void 0||t!==void 0)throw new cg("Bad Promise constructor");e=i,t=o}),this.resolve=iu(e),this.reject=iu(t)};ou.exports.f=function(r){return new lg(r)}});var Eu=a(()=>{"use strict";var dg=R(),fg=V(),Ar=vr(),z=I(),Ie=k(),nu=fe(),au=zt(),pg=je(),hg=Qa(),vg=W(),Or=S(),gg=N(),mg=Ja(),bg=Xt(),du=ci().set,wi=Vs(),yg=Us(),Ig=Ir(),Sg=li(),fu=yi(),qr=te(),Oi=ve(),pu=ge(),xr="Promise",hu=Oi.CONSTRUCTOR,_g=Oi.REJECTION_EVENT,Eg=Oi.SUBCLASSING,_i=fu.getterFor(xr),Pg=fu.set,me=qr&&qr.prototype,ie=qr,Tr=me,vu=z.TypeError,Ei=z.document,Ai=z.process,Pi=pu.f,Tg=Pi,wg=!!(Ei&&Ei.createEvent&&z.dispatchEvent),gu="unhandledrejection",Og="rejectionhandled",su=0,mu=1,Ag=2,qi=1,bu=2,wr,uu,qg,cu,yu=function(r){var e;return gg(r)&&Or(e=r.then)?e:!1},Iu=function(r,e){var t=e.value,i=e.state===mu,o=i?r.ok:r.fail,n=r.resolve,s=r.reject,u=r.domain,l,d,p;try{o?(i||(e.rejection===bu&&Rg(e),e.rejection=qi),o===!0?l=t:(u&&u.enter(),l=o(t),u&&(u.exit(),p=!0)),l===r.promise?s(new vu("Promise-chain cycle")):(d=yu(l))?Ie(d,l,n,s):n(l)):s(t)}catch(h){u&&!p&&u.exit(),s(h)}},Su=function(r,e){r.notified||(r.notified=!0,wi(function(){for(var t=r.reactions,i;i=t.get();)Iu(i,r);r.notified=!1,e&&!r.rejection&&xg(r)}))},_u=function(r,e,t){var i,o;wg?(i=Ei.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(r,!1,!0),z.dispatchEvent(i)):i={promise:e,reason:t},!_g&&(o=z["on"+r])?o(i):r===gu&&yg("Unhandled promise rejection",t)},xg=function(r){Ie(du,z,function(){var e=r.facade,t=r.value,i=lu(r),o;if(i&&(o=Ig(function(){Ar?Ai.emit("unhandledRejection",t,e):_u(gu,e,t)}),r.rejection=Ar||lu(r)?bu:qi,o.error))throw o.value})},lu=function(r){return r.rejection!==qi&&!r.parent},Rg=function(r){Ie(du,z,function(){var e=r.facade;Ar?Ai.emit("rejectionHandled",e):_u(Og,e,r.value)})},be=function(r,e,t){return function(i){r(e,i,t)}},ye=function(r,e,t){r.done||(r.done=!0,t&&(r=t),r.value=e,r.state=Ag,Su(r,!0))},Ti=function(r,e,t){if(!r.done){r.done=!0,t&&(r=t);try{if(r.facade===e)throw new vu("Promise can't be resolved itself");var i=yu(e);i?wi(function(){var o={done:!1};try{Ie(i,e,be(Ti,o,r),be(ye,o,r))}catch(n){ye(o,n,r)}}):(r.value=e,r.state=mu,Su(r,!1))}catch(o){ye({done:!1},o,r)}}};if(hu&&(ie=function(e){mg(this,Tr),vg(e),Ie(wr,this);var t=_i(this);try{e(be(Ti,t),be(ye,t))}catch(i){ye(t,i)}},Tr=ie.prototype,wr=function(e){Pg(this,{type:xr,done:!1,notified:!1,parent:!1,reactions:new Sg,rejection:!1,state:su,value:void 0})},wr.prototype=nu(Tr,"then",function(e,t){var i=_i(this),o=Pi(bg(this,ie));return i.parent=!0,o.ok=Or(e)?e:!0,o.fail=Or(t)&&t,o.domain=Ar?Ai.domain:void 0,i.state===su?i.reactions.add(o):wi(function(){Iu(o,i)}),o.promise}),uu=function(){var r=new wr,e=_i(r);this.promise=r,this.resolve=be(Ti,e),this.reject=be(ye,e)},pu.f=Pi=function(r){return r===ie||r===qg?new uu(r):Tg(r)},!fg&&Or(qr)&&me!==Object.prototype)){cu=me.then,Eg||nu(me,"then",function(e,t){var i=this;return new ie(function(o,n){Ie(cu,i,o,n)}).then(e,t)},{unsafe:!0});try{delete me.constructor}catch{}au&&au(me,Tr)}dg({global:!0,constructor:!0,wrap:!0,forced:hu},{Promise:ie});pg(ie,xr,!1,!0);hg(xr)});var oe=a(($_,Pu)=>{"use strict";Pu.exports={}});var wu=a((M_,Tu)=>{"use strict";var Cg=x(),kg=oe(),Ng=Cg("iterator"),Lg=Array.prototype;Tu.exports=function(r){return r!==void 0&&(kg.Array===r||Lg[Ng]===r)}});var xi=a((V_,Au)=>{"use strict";var Dg=Be(),Ou=ur(),$g=ke(),Mg=oe(),Vg=x(),Fg=Vg("iterator");Au.exports=function(r){if(!$g(r))return Ou(r,Fg)||Ou(r,"@@iterator")||Mg[Dg(r)]}});var xu=a((F_,qu)=>{"use strict";var Ug=k(),Bg=W(),jg=H(),Wg=Le(),Hg=xi(),Kg=TypeError;qu.exports=function(r,e){var t=arguments.length<2?Hg(r):e;if(Bg(t))return jg(Ug(t,r));throw new Kg(Wg(r)+" is not iterable")}});var ku=a((U_,Cu)=>{"use strict";var Gg=k(),Ru=H(),zg=ur();Cu.exports=function(r,e,t){var i,o;Ru(r);try{if(i=zg(r,"return"),!i){if(e==="throw")throw t;return t}i=Gg(i,r)}catch(n){o=!0,i=n}if(e==="throw")throw t;if(o)throw i;return Ru(i),t}});var Cr=a((B_,$u)=>{"use strict";var Qg=Me(),Yg=k(),Jg=H(),Xg=Le(),Zg=wu(),em=Mt(),Nu=ar(),rm=xu(),tm=xi(),Lu=ku(),im=TypeError,Rr=function(r,e){this.stopped=r,this.result=e},Du=Rr.prototype;$u.exports=function(r,e,t){var i=t&&t.that,o=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),s=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),l=Qg(e,i),d,p,h,c,f,v,g,b=function(y){return d&&Lu(d,"normal",y),new Rr(!0,y)},m=function(y){return o?(Jg(y),u?l(y[0],y[1],b):l(y[0],y[1])):u?l(y,b):l(y)};if(n)d=r.iterator;else if(s)d=r;else{if(p=tm(r),!p)throw new im(Xg(r)+" is not iterable");if(Zg(p)){for(h=0,c=em(r);c>h;h++)if(f=m(r[h]),f&&Nu(Du,f))return f;return new Rr(!1)}d=rm(r,p)}for(v=n?r.next:d.next;!(g=Yg(v,d)).done;){try{f=m(g.value)}catch(y){Lu(d,"throw",y)}if(typeof f=="object"&&f&&Nu(Du,f))return f}return new Rr(!1)}});var Bu=a((j_,Uu)=>{"use strict";var om=x(),Vu=om("iterator"),Fu=!1;try{Mu=0,Ri={next:function(){return{done:!!Mu++}},return:function(){Fu=!0}},Ri[Vu]=function(){return this},Array.from(Ri,function(){throw 2})}catch{}var Mu,Ri;Uu.exports=function(r,e){try{if(!e&&!Fu)return!1}catch{return!1}var t=!1;try{var i={};i[Vu]=function(){return{next:function(){return{done:t=!0}}}},r(i)}catch{}return t}});var Ci=a((W_,ju)=>{"use strict";var nm=te(),am=Bu(),sm=ve().CONSTRUCTOR;ju.exports=sm||!am(function(r){nm.all(r).then(void 0,function(){})})});var Wu=a(()=>{"use strict";var um=R(),cm=k(),lm=W(),dm=ge(),fm=Ir(),pm=Cr(),hm=Ci();um({target:"Promise",stat:!0,forced:hm},{all:function(e){var t=this,i=dm.f(t),o=i.resolve,n=i.reject,s=fm(function(){var u=lm(t.resolve),l=[],d=0,p=1;pm(e,function(h){var c=d++,f=!1;p++,cm(u,t,h).then(function(v){f||(f=!0,l[c]=v,--p||o(l))},n)}),--p||o(l)});return s.error&&n(s.value),i.promise}})});var Ku=a(()=>{"use strict";var vm=R(),gm=V(),mm=ve().CONSTRUCTOR,Ni=te(),bm=j(),ym=S(),Im=fe(),Hu=Ni&&Ni.prototype;vm({target:"Promise",proto:!0,forced:mm,real:!0},{catch:function(r){return this.then(void 0,r)}});!gm&&ym(Ni)&&(ki=bm("Promise").prototype.catch,Hu.catch!==ki&&Im(Hu,"catch",ki,{unsafe:!0}));var ki});var Gu=a(()=>{"use strict";var Sm=R(),_m=k(),Em=W(),Pm=ge(),Tm=Ir(),wm=Cr(),Om=Ci();Sm({target:"Promise",stat:!0,forced:Om},{race:function(e){var t=this,i=Pm.f(t),o=i.reject,n=Tm(function(){var s=Em(t.resolve);wm(e,function(u){_m(s,t,u).then(i.resolve,o)})});return n.error&&o(n.value),i.promise}})});var zu=a(()=>{"use strict";var Am=R(),qm=ge(),xm=ve().CONSTRUCTOR;Am({target:"Promise",stat:!0,forced:xm},{reject:function(e){var t=qm.f(this),i=t.reject;return i(e),t.promise}})});var Li=a((Z_,Qu)=>{"use strict";var Rm=H(),Cm=N(),km=ge();Qu.exports=function(r,e){if(Rm(r),Cm(e)&&e.constructor===r)return e;var t=km.f(r),i=t.resolve;return i(e),t.promise}});var Xu=a(()=>{"use strict";var Nm=R(),Lm=j(),Yu=V(),Dm=te(),Ju=ve().CONSTRUCTOR,$m=Li(),Mm=Lm("Promise"),Vm=Yu&&!Ju;Nm({target:"Promise",stat:!0,forced:Yu||Ju},{resolve:function(e){return $m(Vm&&this===Mm?Dm:this,e)}})});var Zu=a(()=>{"use strict";Eu();Wu();Ku();Gu();zu();Xu()});var ic=a(()=>{"use strict";var Fm=R(),Um=V(),kr=te(),Bm=T(),rc=j(),tc=S(),jm=Xt(),ec=Li(),Wm=fe(),$i=kr&&kr.prototype,Hm=!!kr&&Bm(function(){$i.finally.call({then:function(){}},function(){})});Fm({target:"Promise",proto:!0,real:!0,forced:Hm},{finally:function(r){var e=jm(this,rc("Promise")),t=tc(r);return this.then(t?function(i){return ec(e,r()).then(function(){return i})}:r,t?function(i){return ec(e,r()).then(function(){throw i})}:r)}});!Um&&tc(kr)&&(Di=rc("Promise").prototype.finally,$i.finally!==Di&&Wm($i,"finally",Di,{unsafe:!0}));var Di});var nc=a((aE,oc)=>{"use strict";Oa();Zu();ic();var Km=fr();oc.exports=Km("Promise","finally")});var sc=a((sE,ac)=>{"use strict";var Gm=nc();ac.exports=Gm});var Mi=a((uE,uc)=>{"use strict";var zm=sc();uc.exports=zm});var lc=a((cE,cc)=>{"use strict";var Qm=T();cc.exports=!Qm(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Nr=a((lE,fc)=>{"use strict";var Ym=F(),Jm=S(),Xm=Tt(),Zm=Sr(),eb=lc(),dc=Zm("IE_PROTO"),Vi=Object,rb=Vi.prototype;fc.exports=eb?Vi.getPrototypeOf:function(r){var e=Xm(r);if(Ym(e,dc))return e[dc];var t=e.constructor;return Jm(t)&&e instanceof t?t.prototype:e instanceof Vi?rb:null}});var vc=a((dE,hc)=>{"use strict";var tb=O(),Fi=F(),ib=J(),ob=Vt().indexOf,nb=_r(),pc=tb([].push);hc.exports=function(r,e){var t=ib(r),i=0,o=[],n;for(n in t)!Fi(nb,n)&&Fi(t,n)&&pc(o,n);for(;e.length>i;)Fi(t,n=e[i++])&&(~ob(o,n)||pc(o,n));return o}});var Ui=a((fE,gc)=>{"use strict";gc.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Bi=a((pE,mc)=>{"use strict";var ab=vc(),sb=Ui();mc.exports=Object.keys||function(e){return ab(e,sb)}});var Ec=a((hE,_c)=>{"use strict";var yc=q(),ub=T(),Ic=O(),cb=Nr(),lb=Bi(),db=J(),fb=ft().f,Sc=Ic(fb),pb=Ic([].push),hb=yc&&ub(function(){var r=Object.create(null);return r[2]=2,!Sc(r,2)}),bc=function(r){return function(e){for(var t=db(e),i=lb(t),o=hb&&cb(t)===null,n=i.length,s=0,u=[],l;n>s;)l=i[s++],(!yc||(o?l in t:Sc(t,l)))&&pb(u,r?[l,t[l]]:t[l]);return u}};_c.exports={entries:bc(!0),values:bc(!1)}});var Pc=a(()=>{"use strict";var vb=R(),gb=Ec().entries;vb({target:"Object",stat:!0},{entries:function(e){return gb(e)}})});var wc=a((mE,Tc)=>{"use strict";Pc();var mb=Ne();Tc.exports=mb.Object.entries});var Ac=a((bE,Oc)=>{"use strict";var bb=wc();Oc.exports=bb});var Se=a((yE,qc)=>{"use strict";var yb=Ac();qc.exports=yb});var Cc=a((IE,Rc)=>{"use strict";var ji=q(),Ib=F(),xc=Function.prototype,Sb=ji&&Object.getOwnPropertyDescriptor,Wi=Ib(xc,"name"),_b=Wi&&function(){}.name==="something",Eb=Wi&&(!ji||ji&&Sb(xc,"name").configurable);Rc.exports={EXISTS:Wi,PROPER:_b,CONFIGURABLE:Eb}});var Nc=a(kc=>{"use strict";var Pb=q(),Tb=Ct(),wb=Z(),Ob=H(),Ab=J(),qb=Bi();kc.f=Pb&&!Tb?Object.defineProperties:function(e,t){Ob(e);for(var i=Ab(t),o=qb(t),n=o.length,s=0,u;n>s;)wb.f(e,u=o[s++],i[u]);return e}});var zi=a((_E,Uc)=>{"use strict";var xb=H(),Rb=Nc(),Lc=Ui(),Cb=_r(),kb=Zt(),Nb=cr(),Lb=Sr(),Dc=">",$c="<",Ki="prototype",Gi="script",Vc=Lb("IE_PROTO"),Hi=function(){},Fc=function(r){return $c+Gi+Dc+r+$c+"/"+Gi+Dc},Mc=function(r){r.write(Fc("")),r.close();var e=r.parentWindow.Object;return r=null,e},Db=function(){var r=Nb("iframe"),e="java"+Gi+":",t;return r.style.display="none",kb.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Fc("document.F=Object")),t.close(),t.F},Lr,Dr=function(){try{Lr=new ActiveXObject("htmlfile")}catch{}Dr=typeof document<"u"?document.domain&&Lr?Mc(Lr):Db():Mc(Lr);for(var r=Lc.length;r--;)delete Dr[Ki][Lc[r]];return Dr()};Cb[Vc]=!0;Uc.exports=Object.create||function(e,t){var i;return e!==null?(Hi[Ki]=xb(e),i=new Hi,Hi[Ki]=null,i[Vc]=e):i=Dr(),t===void 0?i:Rb.f(i,t)}});var Xi=a((EE,Wc)=>{"use strict";var $b=T(),Mb=S(),Vb=N(),Fb=zi(),Bc=Nr(),Ub=fe(),Bb=x(),jb=V(),Ji=Bb("iterator"),jc=!1,K,Qi,Yi;[].keys&&(Yi=[].keys(),"next"in Yi?(Qi=Bc(Bc(Yi)),Qi!==Object.prototype&&(K=Qi)):jc=!0);var Wb=!Vb(K)||$b(function(){var r={};return K[Ji].call(r)!==r});Wb?K={}:jb&&(K=Fb(K));Mb(K[Ji])||Ub(K,Ji,function(){return this});Wc.exports={IteratorPrototype:K,BUGGY_SAFARI_ITERATORS:jc}});var Kc=a((PE,Hc)=>{"use strict";var Hb=Xi().IteratorPrototype,Kb=zi(),Gb=Ce(),zb=je(),Qb=oe(),Yb=function(){return this};Hc.exports=function(r,e,t,i){var o=e+" Iterator";return r.prototype=Kb(Hb,{next:Gb(+!i,t)}),zb(r,o,!1,!0),Qb[o]=Yb,r}});var il=a((TE,tl)=>{"use strict";var Jb=R(),Xb=k(),$r=V(),el=Cc(),Zb=S(),ey=Kc(),Gc=Nr(),zc=zt(),ry=je(),ty=ue(),Zi=fe(),iy=x(),Qc=oe(),rl=Xi(),oy=el.PROPER,ny=el.CONFIGURABLE,Yc=rl.IteratorPrototype,Mr=rl.BUGGY_SAFARI_ITERATORS,Je=iy("iterator"),Jc="keys",Xe="values",Xc="entries",Zc=function(){return this};tl.exports=function(r,e,t,i,o,n,s){ey(t,e,i);var u=function(m){if(m===o&&c)return c;if(!Mr&&m&&m in p)return p[m];switch(m){case Jc:return function(){return new t(this,m)};case Xe:return function(){return new t(this,m)};case Xc:return function(){return new t(this,m)}}return function(){return new t(this)}},l=e+" Iterator",d=!1,p=r.prototype,h=p[Je]||p["@@iterator"]||o&&p[o],c=!Mr&&h||u(o),f=e==="Array"&&p.entries||h,v,g,b;if(f&&(v=Gc(f.call(new r)),v!==Object.prototype&&v.next&&(!$r&&Gc(v)!==Yc&&(zc?zc(v,Yc):Zb(v[Je])||Zi(v,Je,Zc)),ry(v,l,!0,!0),$r&&(Qc[l]=Zc))),oy&&o===Xe&&h&&h.name!==Xe&&(!$r&&ny?ty(p,"name",Xe):(d=!0,c=function(){return Xb(h,this)})),o)if(g={values:u(Xe),keys:n?c:u(Jc),entries:u(Xc)},s)for(b in g)(Mr||d||!(b in p))&&Zi(p,b,g[b]);else Jb({target:e,proto:!0,forced:Mr||d},g);return(!$r||s)&&p[Je]!==c&&Zi(p,Je,c,{name:o}),Qc[e]=c,g}});var nl=a((wE,ol)=>{"use strict";ol.exports=function(r,e){return{value:r,done:e}}});var ro=a((OE,ll)=>{"use strict";var ay=J(),eo=Ft(),al=oe(),ul=yi(),sy=Z().f,uy=il(),Vr=nl(),cy=V(),ly=q(),cl="Array Iterator",dy=ul.set,fy=ul.getterFor(cl);ll.exports=uy(Array,"Array",function(r,e){dy(this,{type:cl,target:ay(r),index:0,kind:e})},function(){var r=fy(this),e=r.target,t=r.index++;if(!e||t>=e.length)return r.target=void 0,Vr(void 0,!0);switch(r.kind){case"keys":return Vr(t,!1);case"values":return Vr(e[t],!1)}return Vr([t,e[t]],!1)},"values");var sl=al.Arguments=al.Array;eo("keys");eo("values");eo("entries");if(!cy&&ly&&sl.name!=="values")try{sy(sl,"name",{value:"values"})}catch{}});var fl=a((AE,dl)=>{"use strict";var py=q(),hy=Z(),vy=Ce();dl.exports=function(r,e,t){py?hy.f(r,e,vy(0,t)):r[e]=t}});var pl=a(()=>{"use strict";var gy=R(),my=Cr(),by=fl();gy({target:"Object",stat:!0},{fromEntries:function(e){var t={};return my(e,function(i,o){by(t,i,o)},{AS_ENTRIES:!0}),t}})});var vl=a((RE,hl)=>{"use strict";ro();pl();var yy=Ne();hl.exports=yy.Object.fromEntries});var ml=a((CE,gl)=>{"use strict";gl.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 yl=a(()=>{"use strict";ro();var Iy=ml(),Sy=I(),_y=je(),bl=oe();for(Fr in Iy)_y(Sy[Fr],Fr),bl[Fr]=bl.Array;var Fr});var Sl=a((LE,Il)=>{"use strict";var Ey=vl();yl();Il.exports=Ey});var El=a((DE,_l)=>{"use strict";var Py=Sl();_l.exports=Py});var so=a((wP,$l)=>{"use strict";var Cy=Be(),ky=String;$l.exports=function(r){if(Cy(r)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return ky(r)}});var Vl=a((OP,Ml)=>{"use strict";var Ny=dr(),Ly=so(),Dy=ae(),$y=RangeError;Ml.exports=function(e){var t=Ly(Dy(this)),i="",o=Ny(e);if(o<0||o===1/0)throw new $y("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(t+=t))o&1&&(i+=t);return i}});var Wl=a((AP,jl)=>{"use strict";var Bl=O(),My=$t(),Fl=so(),Vy=Vl(),Fy=ae(),Uy=Bl(Vy),By=Bl("".slice),jy=Math.ceil,Ul=function(r){return function(e,t,i){var o=Fl(Fy(e)),n=My(t),s=o.length,u=i===void 0?" ":Fl(i),l,d;return n<=s||u===""?o:(l=n-s,d=Uy(u,jy(l/u.length)),d.length>l&&(d=By(d,0,l)),r?o+d:d+o)}};jl.exports={start:Ul(!1),end:Ul(!0)}});var Kl=a((qP,Hl)=>{"use strict";var Wy=X();Hl.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Wy)});var Gl=a(()=>{"use strict";var Hy=R(),Ky=Wl().start,Gy=Kl();Hy({target:"String",proto:!0,forced:Gy},{padStart:function(e){return Ky(this,e,arguments.length>1?arguments[1]:void 0)}})});var Ql=a((CP,zl)=>{"use strict";Gl();var zy=fr();zl.exports=zy("String","padStart")});var Jl=a((kP,Yl)=>{"use strict";var Qy=Ql();Yl.exports=Qy});var uo=a((NP,Xl)=>{"use strict";var Yy=Jl();Xl.exports=Yy});var ho=P(de(),1);var Fe=(s=>(s.PROD="prod",s.VK_ALIAS="vk_alias",s.VIDEOTEST="videotest",s.TEST="test",s.OKCDN="okcdn",s.AUTO="auto",s))(Fe||{}),Ut=(d=>(d.Q144P="mobile",d.Q240P="lowest",d.Q360P="low",d.Q480P="medium",d.Q720P="high",d.Q1080P="fullhd",d.Q1440P="quadhd",d.Q2160P="ultrahd",d.UNKNOWN="unknown",d))(Ut||{}),Bt=(f=>(f.MP4="mp4",f.DASH="dash",f.DASH_SEP="dash_sep",f.ONDEMAND_DASH="ondemand_dash",f.HLS="hls",f.ONDEMAND_HLS="ondemand_hls",f.WEBM="webm",f.AV1="av1",f.ONDEMAND_DASH_LIVE="ondemand_dash_live",f.ONDEMAND_HLS_LIVE="ondemand_hls_live",f.WEBRTC="webrtc",f.UNKNOWN="unknown",f.RTMP="rtmp",f))(Bt||{});var jt=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.HTTP3="http3",i))(jt||{});var Wt=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(Wt||{}),Ia=(n=>(n.GRAPH_SHOW="iGraphShow",n.GRAPH_HIDE="iGraphHide",n.NEXT_AREA="iNextChapterArea",n.NEXT_BUTTON="iNextChapterBtn",n.WATCH_AGAIN="iWatchAgainBtn",n))(Ia||{}),Sa={action_play:"ap",action_play_interactive:"api",first_bytes:"fb",player_ready:"pr",first_frame:"ff",seek:"sk",watch_coverage_record:"wr",watch_coverage_live:"wl",empty_buffer:"eb",action_stop:"as",close_at_empty_buffer:"cb",content_error:"er",player_interface_click:"pc",next_movie:"nm",track_switch:"ts",failover:"fo",quality:"qt"},_a={vsid:"si",isid:"is",vid:"vi",place:"pl",quality:"qt",cdn_host:"ch",stat_type:"st",param:"pm",vk_app_id:"va",track_code:"tc",connection_type:"cnt",connection_reused:"cr",cached_data:"cd",live:"lv",muted:"mu",mode:"mo",subtitles:"sb",failover:"fo",download_speed:"ds",manual_quality:"mq",ref_domain:"rd",direct_url:"du"},Ea={unknown:"un",mobile:"m",lowest:"ls",low:"l",medium:"md",high:"h",fullhd:"f",quadhd:"q",ultrahd:"u"},Pa={pip:"pi",fullscreen:"fs",external:"ex",prefetch:"pr",airplay:"ap",chromecast:"cc",invisible:"iv"};import{fillWithDefault as gh}from"@vkontakte/videoplayer-shared";var pr="__VERSION__",Ta="CIOPGQJGDIHBABABA",Ht={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var mh={apiEnv:"vk_alias",apiKey:Ta,requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageInterval:15e3,disabledOperations:["quality"],disabledCustomFields:[],shorten:!0,maxLoops:100,embedUrlParams:[],useBeacon:!0,synchronizeTime:!0,debugLog:!1,clearStorageAtUnload:!0,useVKComIsMobileLogic:!1,backoff:{start:1e3,factor:1.5,max:5*60*1e3,random:.1}},wa=r=>gh(r,mh);function Kt(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}import{assertNonNullable as iI,combine as nd,fromEvent as ad,isNonNullable as we,isNullable as sd,merge as oI,now as G,observableFrom as nI,once as aI,safeStorage as ud,Subject as sI,Subscription as vo,ValueSubject as Qr,createURL as cd}from"@vkontakte/videoplayer-shared";import{Logger as uI,detectEmbed as cI}from"@vkontakte/videoplayer-shared";var Ur=P(Mi(),1);var Pl=P(Se(),1),Tl=P(El(),1);var wl=r=>{let{operation:e,custom:t}=r,i=(0,Tl.default)((0,Pl.default)(t).map(([o,n])=>{let s=_a[o]??o,u=n;return n&&(o==="mode"?u=Pa[n]??n:o==="quality"&&(u=Ea[n]??n)),[s,u]}));return{...r,operation:Sa[e]??e,custom:i}};import{ValueSubject as Ty,getExponentialDelay as wy,ErrorCategory as _e}from"@vkontakte/videoplayer-shared";var Oy=/Mobile|mini|Fennec|Android|iP(ad|od|hone)|opera (mini|mobi)/i,Ze=class{constructor(e){this.consequentAuthErrors=0;this.authorized$=new Ty(!1);this.params=e}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this._authorizeWithBackoff()}logBeacon(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey??await this._authorizeWithBackoff();if(!o)return;let n=async(s,u=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,o)}catch(l){if(!l||!("error_code"in l)){this.params.error$.next({id:"logRequestUnknown",category:_e.NETWORK,message:`Unknown ${t} error`,thrown:l});return}let d=l?.error_code;switch(d){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;default:{this.params.error$.next({id:`LogRequest#${d}`,category:_e.EXTERNAL_API,message:`${t} error`,data:l});return}}}};return n(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,Ur.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){let t="WEB",i=!1,o=`@vkontakte/videoplayer-statistics:${pr}`;if(this.params.config.useVKComIsMobileLogic){let{appVersion:n}=window.navigator;i=Oy.test(n)}else this.params.mobile&&(i=!0);return i&&(t="M_WEB"),this.params.vktvVersion&&(t="SMART_TV",o=this.params.vktvVersion),{collector:"ok.mobile.apps.video",data:JSON.stringify({application:o,platform:t,items:this.params.config.shorten?e.map(wl):e})}}_authorizeWithBackoff(){if(!this.consequentAuthErrors)return this._authorize();let e=wy(this.consequentAuthErrors,this.params.config.backoff);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(()=>{(0,Ur.default)(this._authorize().then(t).catch(i=>this.params.error$.next({id:"AuthorizeBackoff",category:_e.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})),()=>this.backoffTimeoutId=0)},e))})}async _authorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:pr.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,Ur.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:_e.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this._authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:_e.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:_e.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var Br=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let o=0,n=i.length;o<n;o++)if(i[o].callback===t){i.splice(o,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let o=0,n=i.length;o<n;o++){let s=i[o];try{s.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}s.options&&s.options.once&&this.removeEventListener(e.type,s.callback)}return!e.defaultPrevented}},Ee=class extends Br{constructor(){super(),this.listeners||Br.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)}},er=class{constructor(){Object.defineProperty(this,"signal",{value:new Ee,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 i=e;if(i===void 0)if(typeof document>"u")i=new Error("This operation was aborted"),i.name="AbortError";else try{i=new DOMException("signal is aborted without reason")}catch{i=new Error("This operation was aborted"),i.name="AbortError"}this.signal.reason=i,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(er.prototype[Symbol.toStringTag]="AbortController",Ee.prototype[Symbol.toStringTag]="AbortSignal");function jr(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function to(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o=!1}=r;if(!jr({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o}))return{fetch:e,Request:n};let n=t;(n&&!n.prototype.hasOwnProperty("signal")||o)&&(n=function(d,p){let h;p&&p.signal&&(h=p.signal,delete p.signal);let c=new t(d,p);return h&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:h}),c},n.prototype=t.prototype);let s=e;return{fetch:(l,d)=>{let p=n&&n.prototype.isPrototypeOf(l)?l.signal:d?d.signal:void 0;if(p){let h;try{h=new DOMException("Aborted","AbortError")}catch{h=new Error("Aborted"),h.name="AbortError"}if(p.aborted)return Promise.reject(h);let c=new Promise((f,v)=>{p.addEventListener("abort",()=>v(h),{once:!0})});return d&&d.signal&&delete d.signal,Promise.race([c,s(l,d)])}return s(l,d)},Request:n}}var Ay=()=>"fetch"in window,rr=Ay()&&jr({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Ol=rr?to({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Pe=rr?Ol.fetch:window.fetch,rP=rr?Ol.Request:window.Request,tP=rr?er:window.AbortController,iP=rr?Ee:window.AbortSignal;var Al=P(de(),1),ql=P(Se(),1);import{ErrorCategory as Wr,now as io}from"@vkontakte/videoplayer-shared";var tr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=Ht[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await Pe(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"OneStat:ApiTransport:resolveApiBaseUrl",category:Wr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),Ht.vk_alias}finally{this.isApiBaseUrlFetched=!0}}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this._prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:Wr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i){let o=io(),n=s=>{if(s instanceof TypeError&&(0,Al.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],s.message)){this.params.error$.next({id:"Network",category:Wr.NETWORK,message:"Request failed",thrown:s});return}this.params.error$.next({id:"OneStat:ApiTransport:sendRequest",category:Wr.NETWORK,message:"Unhandled request error",thrown:s,data:{method:e,params:t,sessionKey:i,time:io()-o}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),Pe(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded"},body:this._prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(s=>{let u=Number(s.headers.get("content-length"))===0,l=new Date(s.headers.get("date")??"").getTime(),d=io()-o;if(isFinite(l)&&this.timeSynchronisation?.addServerTime(l,d),!u)return s.json().then(p=>Object.prototype.hasOwnProperty.call(p,"error_msg")?Promise.reject(p):p,n)},n)}_prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,ql.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var Rl=P(de(),1),Cl=P(Se(),1);import{ErrorCategory as qy,now as xy,safeStorage as ir,debounceFn as xl}from"@vkontakte/videoplayer-shared";var Hr="onestat_events",oo=r=>e=>e.timestamp+r>=xy(),Kr=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{operation:t}=e;return(0,Rl.default)(["action_play","watch_coverage_record","watch_coverage_live"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=xl(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=ir.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=xl(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:qy.WTF,message:e?String(e):"Unknown logger error",thrown:e})}}readFromStorage(){let e=ir.get(Hr);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(oo(this.params.config.storageExpiration));ir.set(Hr,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(oo(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],ir.set(Hr,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,Cl.default)(e)){let o=i.filter(oo(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}ir.set(Hr,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.custom.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.custom.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};import{HttpConnectionType as no,Surface as Te,VideoFormat as w,VideoQuality as $}from"@vkontakte/videoplayer-core";import{assertNever as kl}from"@vkontakte/videoplayer-shared";var Nl=r=>r&&{[$.INVARIANT]:"unknown",[$.Q_144P]:"mobile",[$.Q_240P]:"lowest",[$.Q_360P]:"low",[$.Q_480P]:"medium",[$.Q_576P]:"unknown",[$.Q_720P]:"high",[$.Q_1080P]:"fullhd",[$.Q_1440P]:"quadhd",[$.Q_2160P]:"ultrahd",[$.Q_4320P]:"unknown"}[r],ao=r=>r&&{[no.HTTP1]:"http1",[no.HTTP2]:"http2",[no.QUIC]:"http3"}[r],Ll=r=>{if(r!==void 0)switch(r){case w.MPEG:return"mp4";case w.DASH:case w.DASH_LIVE:case w.DASH_STREAMS:return"dash";case w.DASH_SEP:return"dash_sep";case w.DASH_ONDEMAND:return"ondemand_dash";case w.DASH_WEBM:case w.DASH_LIVE_WEBM:return"webm";case w.DASH_WEBM_AV1:return"av1";case w.DASH_LIVE_CMAF:return"ondemand_dash_live";case w.HLS:case w.HLS_LIVE:return"hls";case w.HLS_ONDEMAND:return"ondemand_hls";case w.HLS_LIVE_CMAF:return"ondemand_hls_live";case w.WEB_RTC_LIVE:return"webrtc";default:return kl(r)}},Gr=r=>{if(r!==void 0)switch(r){case Te.NONE:case Te.INLINE:return;case Te.FULLSCREEN:return"fullscreen";case Te.SECOND_SCREEN:return"chromecast";case Te.PIP:return"pip";case Te.INVISIBLE:return"invisible";default:return kl(r)}},Dl=r=>{switch(r){case"slow-2g":return"poor";case"2g":return"poor";case"3g":return"good";case"4g":return"excellent"}};var zr=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};var co=P(uo(),1),Zl=()=>(0,co.default)(Math.floor(Math.random()*2**32).toString(36),7,"0"),ed=()=>(0,co.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");import{PlaybackState as rd}from"@vkontakte/videoplayer-core";import{filter as td,filterChanged as Jy,fromEvent as Xy,isNullable as id,map as Zy,merge as lo,Observable as eI,Subject as fo,Subscription as rI,ValueSubject as tI}from"@vkontakte/videoplayer-shared";var od=(r,e)=>new eI(t=>{let i=new rI,o=lo(Xy(window,"beforeunload"),r.events.willDestruct$),n=new tI(void 0),s;i.add(r.info.isLive$.pipe(Jy()).subscribe(_=>{s&&(s.unsubscribe(),n.next(void 0)),_?s=r.info.liveTime$.pipe(Zy(A=>A&&A/1e3)).subscribe(n):s=r.info.position$.subscribe(n),i.add(s)}));let{playing$:u,paused$:l}=r.events,d=r.events.willSeek$.pipe(td(()=>r.info.playbackState$.getValue()===rd.PLAYING)),p=r.events.seeked$.pipe(td(()=>r.info.playbackState$.getValue()===rd.PLAYING)),h=!1,c=new fo;i.add(d.subscribe(()=>{h||c.next(),h=!0})),i.add(p.subscribe(()=>h=!1));let f=new fo,v=new fo,g=lo(u,p,f),b=lo(l,c,o,r.events.looped$,v),m,y=()=>m=n.getValue(),U=()=>{let _=n.getValue();id(m)||m===_||id(_)||(t.next({from:m,to:_}),m=void 0)},B=()=>{v.next(),f.next()};if(i.add(g.subscribe(y)),i.add(b.subscribe(U)),e.forceInterval&&isFinite(e.forceInterval)){let _=0;i.add(g.subscribe(()=>_=window.setTimeout(B,e.forceInterval))),i.add(b.subscribe(()=>window.clearTimeout(_)))}return i});var lI="_one-stat_",ld=`${lI}deviceId`,po=()=>{let r=new vo;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},go=class{constructor(e,t){this.subscription=new vo;this.debugLogger=new uI;this.oneStatDebugLog=this.debugLogger.createComponentLog("onestat");this.loopCounter=0;this.disabled=!1;this.vsid$=new Qr(void 0);this.isid$=new Qr(void 0);this.zenUid$=new Qr(void 0);this.seekAction$=new Qr("unknown");this.statContext=e,this.config=wa(t.config??{}),we(t.apiEnv)&&(this.config.apiEnv=t.apiEnv),this.config.synchronizeTime&&(this.timeSynchronisation=new zr);let i=new sI;this.experimental={error$:i};let o=ud.get(ld);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=Kt(),ud.set(ld,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??ed()),this.zenUid$.next(t.zenUid);let n=new tr({config:this.config,error$:i,timeSynchronisation:this.timeSynchronisation});this.api=new Ze({config:this.config,apiTransport:n,refreshAuthToken:t.refreshAuthToken,mobile:this.statContext.mobile??!1,deviceId:this.deviceId,error$:i,vktvVersion:t.vktvVersion}),this.logger=new Kr({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=cI();this.isEmbed=s,this.embedParent=u?new URL(u).hostname:void 0,this.subscribe()}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new vo,i=(c,f)=>t.add(c.subscribe(f));i(e.events.willStart$,()=>{let c=e.info.position$.getValue();this.logActionPlay({position:c}),this.statContext.projectId&&this.logActionPlayInteractive()}),i(e.events.looped$,()=>{this.resetViewSession(),++this.loopCounter>this.config.maxLoops&&(this.disabled=!0),this.logActionPlay({position:e.info.position$.getValue()})}),i(e.events.seeked$,()=>{this.logSeek({action:this.seekAction$.getValue(),time:e.info.position$.getValue()}),this.seekAction$.next("unknown")}),i(e.events.paused$,()=>{this.logPause({position:e.info.position$.getValue()})}),i(e.events.willResume$,()=>{this.logPlay()}),i(e.events.started$,()=>{this.statContext.clip&&this.logWatchCoverageRecord({start:0,end:0})}),i(e.events.playing$,()=>{this.logPlaying()}),i(od(e,{forceInterval:this.config.watchCoverageInterval}),c=>{let f=e.info.isLive$.getValue(),v=e.info.atLiveEdge$.getValue(),g={start:parseFloat(c.from.toFixed(3)),end:parseFloat(c.to.toFixed(3))};if(v){let b=e.info.liveLatency$.getValue()??0,m=e.info.currentBuffer$.getValue()?.end??0,y=e.info.liveBufferTime$.getValue()??0,U=Math.round((b-(m-y))*1e3),B=Math.round(b*1e3);U&&B&&(g.latency=U,g.bufferLatency=B)}f?this.logWatchCoverageLive(g):this.logWatchCoverageRecord(g)});let o;i(e.info.isStalled$,c=>{c?o=G():(we(o)&&this.logEmptyBuffer({duration:G()-o}),o=void 0)});let n=!1;t.add(e.events.fatalError$.pipe(aI()).subscribe(()=>n=!0)),i(e.events.willStop$,()=>{if(e.info.isStalled$.getValue()){let f=we(o)?G()-o:void 0;this.logCloseAtEmptyBuffer({duration:f??0}),o=void 0}else n||this.logActionStop()}),i(e.events.managedError$,({id:c})=>{this.logError({fatal:!1,errorType:c})}),i(e.events.fatalError$,({id:c})=>{this.logError({fatal:!0,errorType:c})});let s,u,l=!1;i(e.events.firstBytes$,c=>{s=G(),this.logFirstBytes({time:c})}),i(e.events.willStart$,()=>u=G()),i(e.info.currentBuffer$,c=>{!l&&c&&c.end-c.start>0&&we(s)&&(this.logPlayerReady({duration:G()-s}),l=!0)}),i(e.events.firstFrame$,()=>{we(s)&&!l&&(this.logPlayerReady({duration:G()-s}),l=!0),we(u)&&this.logFirstFrame({time:G()-u})});let d;i(e.info.currentVideoStream$,c=>{c&&(d&&c.id!==d&&this.logTrackSwitch(c),d=c.id)});let p;i(e.info.currentAudioStream$,c=>{c&&(p&&c.id!==p&&this.logTrackSwitch(c),p=c.id)}),i(e.info.atLiveEdge$,c=>this.updateContext({liveEdge:c})),i(nd({muted:e.info.muted$,volume:e.info.volume$}),({muted:c,volume:f})=>this.updateContext({audible:!c&&f>0})),i(e.info.currentQuality$,c=>{let f=Nl(c);this.updateContext({quality:f}),f&&this.logQuality(f)}),i(e.info.isAutoQualityEnabled$,c=>this.updateContext({autoQuality:c})),i(e.info.currentFormat$,c=>this.updateContext({contentType:Ll(c)})),i(e.info.currentPlaybackRate$,c=>this.updateContext({rate:c})),i(e.info.is3DVideo$,c=>this.updateContext({is3d:c}));let h;return i(e.info.hostname$,c=>{let f=h!==void 0&&h!==c;this.updateContext({cdnHostname:c,failover:f}),f&&this.logFailover(c),h=c}),i(e.info.throughputEstimation$,c=>this.updateContext({downloadSpeed:c})),i(e.info.httpConnectionType$,c=>{this.statContext.firstConnectionType||this.updateContext({firstConnectionType:ao(c)}),this.updateContext({connectionType:ao(c)})}),i(e.info.httpConnectionReused$,c=>{sd(this.statContext.firstConnectionReused)&&this.updateContext({firstConnectionReused:c}),this.updateContext({connectionReused:c})}),i(e.info.surface$,c=>this.updateContext({mode:Gr(c)})),i(nd({current:e.info.currentTextTrack$,available:e.info.availableTextTracks$}),({current:c,available:f})=>{let v=f.find(({id:b})=>b===c),g=v&&(v.isAuto?`${v.language}_auto`:v.language);this.updateContext({subtitles:g?.split(".")[0]})}),this.player=e,this.uiEvents&&this.attachToUi(this.uiEvents),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){this.uiEvents=e;let{subscription:t,subscribe:i}=po();return this.player&&(i(e.actionRewind$,()=>{this.player&&(this.resetViewSession(),this.logActionPlay({position:this.player.info.position$.getValue()}))}),i(e.actionSeek$,this.seekAction$),i(e.inPiP$,o=>{let n=o?"pip":Gr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.inFullscreen$,o=>{let n=o?"fullscreen":Gr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.actionSetSubtitle$,o=>this.updateContext({subtitles:o.split(".")[0]})),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t)),t}attachToAds(e){let{subscription:t,subscribe:i}=po();return i(e.slotRequested$,()=>this.logAdSlotRequest()),i(e.started$,o=>this.logAdStarted(o)),i(e.paused$,()=>this.logAdPaused()),i(e.resumed$,()=>this.logAdResumed()),i(e.ended$,()=>this.logAdEnded()),i(e.skipped$,()=>this.logAdSkipped()),i(e.clicked$,()=>this.logAdClicked()),i(e.error$,o=>this.logError({errorType:o,fatal:!1})),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToInteractive(e){let{subscription:t,subscribe:i}=po();return i(e.click$,o=>this.logInterfaceClick(o)),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t),t}authorize(e){return this.api.authorize(e)}pause(){this.logger.pause(),this.oneStatDebugLog({message:"paused"})}resume(){this.logger.resume(),this.oneStatDebugLog({message:"resumed"})}destroy(){this.logger.flush(),this.subscription.unsubscribe(),this.api.destroy(),this.logger.destroy()}resetViewSession(){this.oneStatDebugLog({message:"VSID reset"}),this.vsid$.next(Zl())}getDeviceId(){return this.deviceId}setFieldBlacklist(){}logInited(){}logReady(e){this.log({operation:"player_ready",param:String(e.time)})}logStarted(...e){this.logActionPlay(...e)}logPlay(){this.log({operation:"play_toggle"})}logPlaying(){this.log({operation:"playing"})}logPause(e){this.log({operation:"pause",param:String(Math.round(e.position))})}logSeek(e){this.log({operation:"seek",param:e.action,time:e.time})}logFirstBytes(e){this.log({operation:"first_bytes",param:String(e.time)})}logFirstFrame(e){this.log({operation:"first_frame",param:String(e.time)})}logError(e){this.log({operation:"content_error",param:`${e.fatal?"fatal":"recoverable"}_${e.errorType}`})}logWatchCoverageRecord(e){this.log({operation:"watch_coverage_record",param:`${e.start}-${e.end}`},{in_history:this.statContext.inHistory?1:void 0})}logWatchCoverageLive(e){let t=this.timeSynchronisation?.getOffset()??0,i=e.start+t,o=e.end+t;this.log({operation:"watch_coverage_live",param:`${i}-${o}`},{in_history:this.statContext.inHistory?1:void 0,latency:e.latency,buffer_latency:e.bufferLatency})}logEmptyBuffer(e){this.log({operation:"empty_buffer",param:String(e.duration)})}logDownloadSpeed(){}logAdSlotRequest(){this.log({operation:"adv",param:"slot_request"})}logAdStarted(e){this.log({operation:"adv",param:e})}logAdPaused(){this.log({operation:"adv",param:"pause"})}logAdResumed(){this.log({operation:"adv",param:"resume"})}logAdEnded(){this.log({operation:"adv",param:"ended"})}logAdSkipped(){this.log({operation:"adv",param:"skip"})}logAdClicked(){this.log({operation:"adv",param:"click"})}logInterfaceClick(e){this.log({operation:"player_interface_click",param:e})}logNextMovie(e){this.log({operation:"next_movie",param:String(e)})}subscribe(){this.resubscribeBeforeunload();let e=window.navigator.connection;e&&"onchange"in e&&"effectiveType"in e&&this.subscription.add(oI(ad(e,"change"),nI(["init"])).subscribe(()=>this.updateContext({network:Dl(e.effectiveType)}))),this.config.debugLog&&this.debugLogger.log$.subscribe(t=>{console.debug("%c stat ","background:#fa6470;",`component: ${t.component}.`,t.message)})}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=ad(window,"beforeunload").subscribe(()=>this.logger.flush({wantBeacon:!0,clearStorage:this.config.clearStorageAtUnload})),this.subscription.add(this.beforeunloadSubscription)}logPlayerReady(e){this.log({operation:"player_ready",param:String(Math.round(e.duration))})}logActionPlay(e){this.log({operation:"action_play",param:String(Math.round(e.position))})}logActionPlayInteractive(){this.statContext.projectId&&this.log({operation:"action_play_interactive",param:String(this.statContext.movieId)},{vid:this.statContext.projectId})}logFailover(e){this.log({operation:"failover",param:e})}logCloseAtEmptyBuffer(e){this.log({operation:"close_at_empty_buffer",param:String(Math.round(e.duration))})}logActionStop(){this.log({operation:"action_stop"})}logTrackSwitch(e){this.log({operation:"track_switch",param:e.id})}logQuality(e){this.log({operation:"quality",param:e})}log(e,t={}){if(this.disabled){this.oneStatDebugLog({message:`operation ${e.operation} but statistics is disabled`});return}if((0,ho.default)(this.config.disabledOperations,e.operation)){this.oneStatDebugLog({message:`operation ${e.operation} but it is disabled`});return}this.oneStatDebugLog({message:`operation ${e.operation} ${e.param}`});let i=this.createLogItem(e,t);this.logger.log(i)}createLogItem({operation:e,param:t,time:i},o={}){let n=this.timeSynchronisation?.now()??G(),s=this.vsid$.getValue();iI(s);let u=this.isid$.getValue(),l=e==="empty_buffer"||e==="close_at_empty_buffer"?this.statContext.connectionType:this.statContext.firstConnectionType,d=this.statContext.firstConnectionReused,p,h;if(this.isEmbed||this.statContext.place==="embed"){p=this.embedParent;let f=[...new URLSearchParams(location.search).entries()].filter(([v,g])=>(0,ho.default)(this.config.embedUrlParams,v));h=new URLSearchParams(f).toString()}else this.statContext.place==="direct"&&(this.statContext.refDomain?p=cd(this.statContext.refDomain)?.hostname??this.statContext.refDomain:document.referrer&&(p=cd(document.referrer)?.hostname??document.referrer),h=location.href.substring(0,1024));let c={vsid:s,isid:u,vid:this.statContext.movieId,uid:this.zenUid$.getValue(),ct:this.statContext.contentType,place:this.isEmbed?"embed":this.statContext.place,quality:this.statContext.quality,cdn_host:this.statContext.cdnHostname,stat_type:this.statContext.autoplay===!0?"auto":this.statContext.autoplay===!1?"":void 0,param:t,vk_app_id:this.statContext.vkAppId,track_code:this.statContext.trackCode,connection_type:l,connection_reused:d===!0?1:d===!1?0:void 0,cached_data:this.statContext.cached===!0?1:this.statContext.cached===!1?0:void 0,live:this.statContext.liveEdge?1:void 0,muted:this.statContext.audible===!1?1:void 0,mode:this.statContext.mode,subtitles:this.statContext.subtitles,download_speed:this.statContext.downloadSpeed,manual_quality:this.statContext.autoQuality?void 0:1,ref_domain:p,direct_url:h,rate:this.statContext.rate===1||sd(this.statContext.rate)?void 0:this.statContext.rate.toFixed(2),view_360:this.statContext.is3d?1:void 0,aid:this.statContext.albumId,vk_playlist_id:this.statContext.vkPlaylistId,...o};for(let f of this.config.disabledCustomFields)delete c[f];return{operation:e,type:1,time:i,network:this.statContext.network,timestamp:n,custom:c}}};var Md={};Kd(Md,{SeekType:()=>Yr,ThinOneStat:()=>ot,VERSION:()=>Q});import{assertNonNullable as TI,detectEmbed as wI,fromEvent as OI,Logger as AI,merge as Nd,safeStorage as Ld,Subject as qI,Subscription as wo,ValueSubject as it}from"@vkontakte/videoplayer-shared";import{clientChecker as ne,PlaybackState as Dd}from"@vkontakte/videoplayer-core";import{fillWithDefault as dI}from"@vkontakte/videoplayer-shared";var Yr=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(Yr||{});var Q="__VERSION__",fd="CIOPGQJGDIHBABABA",mo={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var fI={apiKey:fd,apiEnv:"vk_alias",requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageHeartbeatInterval:15,synchronizeTime:!0,useBeacon:!1,alwaysSendDesktop:!1},pd=r=>dI(r,fI);var bo=P(Mi(),1);import{getExponentialDelay as pI,ErrorCategory as Oe,ValueSubject as hI}from"@vkontakte/videoplayer-shared";var Jr=class{constructor(e){this.params=e,this.authorized$=new hI(!1),this.consequentAuthErrors=0}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this.authorizeWithBackoff()}logBeacon(e){let t="log.logUvStat",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.logUvStat",i=this.createLogParams(e),o={},n=this.sessionKey??await this.authorizeWithBackoff();if(!n)return;let s=async(u,l=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,n,o)}catch(d){if(!d||!("error_code"in d)){this.params.error$.next({id:"logRequestUnknown",category:Oe.NETWORK,message:`Unknown ${t} error`,thrown:d});return}let p=d?.error_code;switch(p){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;default:{this.params.error$.next({id:`LogRequest#${p}`,category:Oe.EXTERNAL_API,message:`${t} error`,data:d});return}}}};return s(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,bo.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){return{collector:"ok.mobile.apps.video",uv_stat_data:JSON.stringify({application:`@vkontakte/videoplayer-statistics:${Q}`,platform:e[0].platform,product:e[0].product,events:e})}}authorizeWithBackoff(){if(!this.consequentAuthErrors)return this.doAuthorize();let e=pI(this.consequentAuthErrors);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(async()=>{try{let i=await this.doAuthorize();t(i)}catch(i){this.params.error$.next({id:"AuthorizeBackoff",category:Oe.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})}finally{this.backoffTimeoutId=0}},e))})}doAuthorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:Q.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,bo.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:Oe.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this.authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:Oe.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:Oe.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var hd=P(de(),1);var vd=P(Se(),1);import{now as yo,ErrorCategory as Xr}from"@vkontakte/videoplayer-shared";var Zr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=mo[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this.prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:Xr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i,o){let n=yo(),s=u=>{if(u instanceof TypeError&&(0,hd.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],u.message)){this.params.error$.next({id:"Network",category:Xr.NETWORK,message:"Request failed",thrown:u});return}this.params.error$.next({id:"ThinOneStat:ApiTransport:sendRequest",category:Xr.NETWORK,message:"Unhandled request error",thrown:u,data:{method:e,params:t,sessionKey:i,time:yo()-n}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),Pe(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded",...o},body:this.prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(u=>{let l=Number(u.headers.get("content-length"))===0,d=new Date(u.headers.get("date")??"").getTime(),p=yo()-n;if(isFinite(d)&&this.timeSynchronisation?.addServerTime(d,p),!l)return u.json().then(h=>Object.prototype.hasOwnProperty.call(h,"error_msg")?Promise.reject(h):h,s)},s)}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await Pe(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"ThinOneStat:ApiTransport:resolveApiBaseUrl",category:Xr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),mo.vk_alias}finally{this.isApiBaseUrlFetched=!0}}prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,vd.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var md=P(de(),1),bd=P(Se(),1);import{ErrorCategory as vI,now as gI,safeStorage as or,debounceFn as gd}from"@vkontakte/videoplayer-shared";var et="thinonestat_events",Io=r=>e=>e.client_time+r>=gI(),rt=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{event_name:t}=e;return(0,md.default)(["watch_coverage","watch_coverage_live","watched_n","playback_started"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=gd(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=or.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=gd(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:vI.WTF,message:String(e)||"Unknown logger error",thrown:e})}}readFromStorage(){let e=or.get(et);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(Io(this.params.config.storageExpiration));or.set(et,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(Io(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],or.set(et,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,bd.default)(e)){let o=i.filter(Io(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}or.set(et,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};function So(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}var tt=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};import{PlaybackState as yd}from"@vkontakte/videoplayer-core";import{Observable as mI,Subscription as bI,ValueSubject as yI,Subject as _o,fromEvent as II,isNullable as Id,merge as Eo,filter as Sd,filterChanged as _d}from"@vkontakte/videoplayer-shared";var Ed=(r,e)=>new mI(t=>{let i=new bI,o=new yI(void 0),n;i.add(r.info.isLive$.pipe(_d()).subscribe(A=>{n&&(n.unsubscribe(),o.next(void 0)),A?n=r.info.liveTime$.pipe(_d()).subscribe(o):n=r.info.position$.subscribe(o),i.add(n)}));let{playing$:s,paused$:u,ended$:l,looped$:d}=r.events,p=r.events.willSeek$.pipe(Sd(()=>r.info.playbackState$.getValue()===yd.PLAYING)),h=r.events.seeked$.pipe(Sd(()=>r.info.playbackState$.getValue()===yd.PLAYING)),c=!1,f=new _o;i.add(p.subscribe(()=>{c||f.next(),c=!0})).add(h.subscribe(()=>c=!1));let v=Eo(II(window,"beforeunload"),r.events.willDestruct$),g,b=()=>g=o.getValue(),m=()=>{let A=o.getValue();Id(g)||Id(A)||g===A||(t.next({from:g,to:A}),g=void 0)},y=new _o,U=new _o,B=Eo(s,f,y),_=Eo(u,h,v,l,d,U);if(i.add(B.subscribe(b)).add(_.subscribe(m)),e.heartbeatInterval&&isFinite(e.heartbeatInterval)){let A=[],Vd=e.heartbeatInterval*1e3,Fd=()=>{U.next(),y.next()};i.add(B.subscribe(()=>{let nt=window.setTimeout(Fd,Vd);A.push(nt)})).add(_.subscribe(()=>{A.forEach(nt=>{window.clearTimeout(nt)}),A=[]}))}return i});import{Subscription as SI}from"@vkontakte/videoplayer-core";import{Observable as _I}from"@vkontakte/videoplayer-shared";var Pd=(r,e)=>new _I(t=>{let i=new SI,o=1e4,n=0;return i.add(r.info.position$.subscribe(()=>{let s=e.getTotalViewTime()*1e3;s>n&&s%o===0&&(n=s,t.next({target_duration:o,current_tvt:s}))})),i});import{Observable as EI,Subscription as PI,merge as Td}from"@vkontakte/videoplayer-shared";var wd=r=>new EI(e=>{let t=new PI,i=0,o=1,n=0,s=!1,u=!1,l=()=>{if(!s)return;let _=Date.now();n+=(_-i)*o,i=_},d=()=>{(!s||u)&&(i=Date.now(),s=!0,u=!1)},p=()=>{s&&(l(),s=!1)},h=()=>{s&&(l(),s=!1,u=!0)},c=_=>{s&&l(),o=_,i=Date.now()},{started$:f,playing$:v,paused$:g,willSeek$:b,ended$:m,willDestruct$:y}=r.events,{currentPlaybackRate$:U}=r.info;t.add(b.subscribe(h)).add(Td(f,v).subscribe(d)).add(Td(g,m,y).subscribe(p)).add(U.subscribe(c));let B=()=>{let _=n;return s&&(_+=(Date.now()-i)*o),Math.floor(_/1e3)};return e.next(B),t});import{assertNever as Od}from"@vkontakte/videoplayer-shared";import{Surface as Ae,VideoFormat as E,VideoQuality as M}from"@vkontakte/videoplayer-core";var Po=r=>{if(r!==void 0)switch(r){case E.MPEG:return"MP4";case E.DASH:case E.DASH_LIVE:return"DASH";case E.DASH_SEP:return"DASH_SEP";case E.DASH_ONDEMAND:return"ONDEMAND_DASH";case E.HLS_ONDEMAND:return"ONDEMAND_HLS";case E.HLS:case E.HLS_LIVE:return"HLS";case E.DASH_WEBM:case E.DASH_LIVE_WEBM:return"WEBM";case E.DASH_LIVE_CMAF:return"ONDEMAND_DASH_LIVE";case E.HLS_LIVE_CMAF:return"ONDEMAND_HLS_LIVE";case E.WEB_RTC_LIVE:return"WEBRTC";case E.DASH_WEBM_AV1:return"AV1";case E.DASH_STREAMS:return"MULTI_DASH";default:return Od(r)}},Y=r=>{if(r!==void 0)switch(r){case M.Q_144P:return"144p";case M.Q_240P:return"240p";case M.Q_360P:return"360p";case M.Q_480P:return"480p";case M.Q_720P:return"720p";case M.Q_1080P:return"1080p";case M.Q_1440P:return"1440p";case M.Q_2160P:return"2160p";case M.INVARIANT:case M.Q_576P:case M.Q_4320P:return"UNKNOWN";default:return Od(r)}},Ad=r=>{if(r!==void 0)switch(r){case"MP4":case"ONDEMAND_DASH":case"ONDEMAND_DASH_LIVE":case"ONDEMAND_HLS":case"ONDEMAND_HLS_LIVE":case"MULTI_DASH":case"WEBM":case"AV1":return"vod";case"DASH":case"HLS":case"WEBRTC":return"live";default:return}},qd=(r,e,t)=>{if(r&&e)switch(r){case E.MPEG:return t&&e[r]&&e[r][t];default:return e[r]?.url}},xd=r=>{if(r!==void 0)switch(r){case Ae.NONE:return;case Ae.INLINE:return"inline";case Ae.FULLSCREEN:return"fullscreen";case Ae.SECOND_SCREEN:return"chromecast";case Ae.PIP:return"pip_external"}},Rd=r=>{if(r!==void 0)return r===Ae.INVISIBLE?"background":"foreground"};var To=P(uo(),1),Cd=()=>(0,To.default)(Math.floor(Math.random()*2**32).toString(36),13,"0"),kd=()=>(0,To.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");var xI="_thin-one-stat_",$d=`${xI}deviceId`,RI=()=>{let r=new wo;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},ot=class{constructor(e,t){this.debugLogger=new AI;this.thinOneStatDebugLog=this.debugLogger.createComponentLog("ThinOneStat");this.eventNumber=1;this.seekAction$=new it("unknown");this.playerSize$=new it({width:0,height:0});this.vsid$=new it(void 0);this.isid$=new it(void 0);this.statContext=e,this.config=pd(t.config??{}),this.subscription=new wo,this.config.synchronizeTime&&(this.timeSynchronisation=new tt);let i=new qI,o=Ld.get($d);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=So(),Ld.set($d,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??kd());let n=new Zr({error$:i,config:this.config,timeSynchronisation:this.timeSynchronisation});this.api=new Jr({config:this.config,apiTransport:n,error$:i,deviceId:this.deviceId,refreshAuthToken:t.refreshAuthToken}),this.logger=new rt({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=wI();this.isEmbed=s,this.embedHostname=u?new URL(u).hostname:void 0}authorize(e){return this.api.authorize(e)}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new wo,i=(n,s)=>t.add(n.subscribe(s));i(wd(e),n=>{this.getTotalViewTime=n}),i(e.info.isLive$,n=>this.isLive=n),i(e.info.position$,n=>this.position=n);let o;return i(e.info.hostname$,n=>{o!==void 0&&o!==n&&this.logFailover({cdn_host:n}),this.cdnHostname=o=n}),i(Ed(e,{heartbeatInterval:this.config.watchCoverageHeartbeatInterval}),n=>{let s=Math.round(n.from*1e3),u=Math.round(n.to*1e3),l={watch_interval:`${s}-${u}`,in_history:!!this.statContext.inHistory,content_type:Po(e.info.currentFormat$.getValue()),playback_quality:Y(e.info.currentQuality$.getValue()),recom_info:this.statContext.recomInfo};if(!e.info.isLive$.getValue())this.logWatchCoverage(l);else{let p=e.info.atLiveEdge$.getValue();this.logWatchCoverageLive({...l,live:!!p})}}),i(Pd(e,{getTotalViewTime:this.getTotalViewTime}),n=>{this.logWatchedN(n)}),i(Nd(e.events.willStart$,e.events.looped$),n=>{n&&this.resetViewSession();let s={isid:this.isid$.getValue(),stream_profile:Ad(Po(e.info.currentFormat$.getValue())),dpi:ne.display.pixelRatio,web_layout:ne.device.isMobile?"mobile":"desktop",iframe_host:this.isEmbed?this.embedHostname??void 0:null,from_downloads:!0,preloaded:this.statContext.preload,navigation:this.statContext.navigation,recom_info:this.statContext.recomInfo};this.logStartSession(s)}),i(e.events.willReady$,()=>{if(this.statContext.preload){let n=e.info.currentFormat$.getValue(),s=e.info.availableSources$.getValue(),u=e.info.currentBuffer$.getValue(),l=e.info.currentQuality$.getValue(),d={target_buffer_time:u?u.end-u.start:void 0,playback_url:qd(n,s,l),playback_quality:Y(l)};this.logPreloadStarted(d)}}),i(e.events.ready$,()=>{if(this.statContext.preload){let n=e.info.currentBuffer$.getValue(),s={buffer_time:n?n.end-n.start:void 0};this.logPreloadEnded(s)}}),i(e.events.playing$,()=>{this.logPlay()}),i(e.info.playbackState$,n=>{if(n===Dd.PLAYING){let s=e.info.currentBuffer$.getValue(),u={buffer_time:s?s.end-s.start:void 0};if(this.logPlaying(u),this.isStarted)this.logResume();else{this.isStarted=!0;let l=e.info.currentQuality$.getValue(),d=e.info.isAutoQualityEnabled$.getValue(),p=e.info.muted$.getValue(),h=e.info.volume$.getValue(),c=e.info.surface$.getValue(),f=e.info.availableTextTracks$.getValue(),v=e.info.currentTextTrack$.getValue(),g=e.info.currentAudioStream$.getValue(),b=e.info.currentPlaybackRate$.getValue(),m={playback_quality:Y(l),user_quality:d?"auto":Y(l),player_width:this.playerSize$.getValue().width,player_height:this.playerSize$.getValue().height,muted:p,sound_volume:h,buffer_time:s?Math.round(s.end-s.start):void 0,mode:xd(c),visibility:Rd(c),subtitles_enabled:!!v,auto_subtitles:!!f.find(({id:y})=>y===v)?.isAuto,audio_track_lang:g?.language,playback_rate:b,recom_info:this.statContext.recomInfo};this.logPlaybackStarted(m)}}else n===Dd.PAUSED&&this.logPause()}),i(e.events.willSeek$,({to:n})=>{let s={target_position:n,seek_type:this.seekAction$.getValue()};this.logSeeking(s)}),i(e.events.seeked$,()=>{let s={target_position:e.info.position$.getValue(),seek_type:this.seekAction$.getValue()};this.logSeeked(s),this.seekAction$.next("unknown")}),i(Nd(e.info.isBuffering$,e.info.isStalled$),n=>{n&&this.logShowLoader()}),i(e.info.currentQuality$,n=>{if(n){let s=e.info.isAutoQualityEnabled$.getValue(),u=e.info.currentVideoStream$.getValue()?.codec,l=e.info.currentAudioStream$.getValue()?.codec,d={user_quality:s?"auto":Y(n),playback_quality:Y(n),download_quality:Y(n),codec_info:u&&l?`${u},${l}`:void 0,manual_switch:!s};this.logQualityChanged(d)}}),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){let{subscribe:t,subscription:i}=RI();return t(e.actionSeek$,this.seekAction$),t(e.playerSize$,this.playerSize$),this.subscription.add(i),i}getDeviceId(){return this.deviceId}resetViewSession(){this.thinOneStatDebugLog({message:"VSID reset"}),this.vsid$.next(Cd()),this.eventNumber=0}destroy(){this.api.destroy()}createRequiredParams(e){let t=this.vsid$.getValue();TI(t);let i=this.eventNumber++;return{vsid:t,uv_movie_id:this.statContext.movieId,event_name:e,client_time:Date.now(),application:`@vkontakte/videoplayer-statistics:${Q}`,platform:`web:${ne.device.isMobile?"mobile":"desktop"}`,product:this.statContext.product,event_number:i,playback_position:this.isLive?void 0:Math.round(this.position),current_tvt:this.getTotalViewTime(),cdn_host:this.cdnHostname}}createRequiredFatParams(){return{stats_version:Q,browser:ne.browser.current,browser_version:String(ne.browser.currentVersion),os:ne.device.current,os_version:"",device_type:ne.device.isMobile?"mobile":"desktop",navigation:this.statContext.navigation}}log(e,t,i=!1){let o=this.createRequiredParams(e),n={};i&&(n=this.createRequiredFatParams()),this.logger.log({...o,...n,...t})}logWatchCoverage(e){this.log("watch_coverage",e,!0)}logWatchCoverageLive(e){this.log("watch_coverage_live",e,!0)}logWatchedN(e){this.log("watched_n",e,!0)}logStartSession(e){this.log("start_session",e,!0)}logPreloadStarted(e){this.log("preload_started",e)}logPreloadEnded(e){this.log("preload_ended",e)}logPlaybackStarted(e){this.log("playback_started",e,!0)}logPlay(){this.log("play")}logPlaying(e){this.log("playing",e)}logPause(){this.log("pause")}logResume(){this.log("resume")}logSeeking(e){this.log("seeking",e)}logSeeked(e){this.log("seeked",e)}logShowLoader(){this.log("show_loader")}logQualityChanged(e){this.log("quality_changed",e)}logFailover(e){this.log("failover",e)}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=OI(window,"beforeunload").subscribe(()=>{}),this.subscription.add(this.beforeunloadSubscription)}};export{Fe as ApiEnv,jt as ConnectionType,Bt as ContentType,Ia as InteractiveInterfaceClick,go as OneStat,Ut as Quality,Wt as SeekAction,Md as ThinOneStat,pr as VERSION};
6
+ var Wd=Object.create;var at=Object.defineProperty;var Hd=Object.getOwnPropertyDescriptor;var Kd=Object.getOwnPropertyNames;var Gd=Object.getPrototypeOf,zd=Object.prototype.hasOwnProperty;var a=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Qd=(r,e)=>{for(var t in e)at(r,t,{get:e[t],enumerable:!0})},Yd=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Kd(e))!zd.call(r,o)&&o!==t&&at(r,o,{get:()=>e[o],enumerable:!(i=Hd(e,o))||i.enumerable});return r};var P=(r,e,t)=>(t=r!=null?Wd(Gd(r)):{},Yd(e||!r||!r.__esModule?at(t,"default",{value:r,enumerable:!0}):t,r));var I=a((st,Oo)=>{"use strict";var Re=function(r){return r&&r.Math===Math&&r};Oo.exports=Re(typeof globalThis=="object"&&globalThis)||Re(typeof window=="object"&&window)||Re(typeof self=="object"&&self)||Re(typeof global=="object"&&global)||Re(typeof st=="object"&&st)||function(){return this}()||Function("return this")()});var T=a((DI,Ao)=>{"use strict";Ao.exports=function(r){try{return!!r()}catch{return!0}}});var Ce=a(($I,qo)=>{"use strict";var Jd=T();qo.exports=!Jd(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var ut=a((MI,Lo)=>{"use strict";var Xd=Ce(),Co=Function.prototype,xo=Co.apply,Ro=Co.call;Lo.exports=typeof Reflect=="object"&&Reflect.apply||(Xd?Ro.bind(xo):function(){return Ro.apply(xo,arguments)})});var O=a((VI,Do)=>{"use strict";var No=Ce(),ko=Function.prototype,ct=ko.call,Zd=No&&ko.bind.bind(ct,ct);Do.exports=No?Zd:function(r){return function(){return ct.apply(r,arguments)}}});var Le=a((FI,Mo)=>{"use strict";var $o=O(),ef=$o({}.toString),rf=$o("".slice);Mo.exports=function(r){return rf(ef(r),8,-1)}});var lt=a((BI,Vo)=>{"use strict";var tf=Le(),of=O();Vo.exports=function(r){if(tf(r)==="Function")return of(r)}});var S=a((UI,Fo)=>{"use strict";var dt=typeof document=="object"&&document.all;Fo.exports=typeof dt>"u"&&dt!==void 0?function(r){return typeof r=="function"||r===dt}:function(r){return typeof r=="function"}});var q=a((jI,Bo)=>{"use strict";var nf=T();Bo.exports=!nf(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var L=a((WI,Uo)=>{"use strict";var af=Ce(),nr=Function.prototype.call;Uo.exports=af?nr.bind(nr):function(){return nr.apply(nr,arguments)}});var ft=a(Ho=>{"use strict";var jo={}.propertyIsEnumerable,Wo=Object.getOwnPropertyDescriptor,sf=Wo&&!jo.call({1:2},1);Ho.f=sf?function(e){var t=Wo(this,e);return!!t&&t.enumerable}:jo});var Ne=a((KI,Ko)=>{"use strict";Ko.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var zo=a((GI,Go)=>{"use strict";var uf=O(),cf=T(),lf=Le(),pt=Object,df=uf("".split);Go.exports=cf(function(){return!pt("z").propertyIsEnumerable(0)})?function(r){return lf(r)==="String"?df(r,""):pt(r)}:pt});var ke=a((zI,Qo)=>{"use strict";Qo.exports=function(r){return r==null}});var se=a((QI,Yo)=>{"use strict";var ff=ke(),pf=TypeError;Yo.exports=function(r){if(ff(r))throw new pf("Can't call method on "+r);return r}});var J=a((YI,Jo)=>{"use strict";var hf=zo(),vf=se();Jo.exports=function(r){return hf(vf(r))}});var N=a((JI,Xo)=>{"use strict";var gf=S();Xo.exports=function(r){return typeof r=="object"?r!==null:gf(r)}});var ue=a((XI,Zo)=>{"use strict";Zo.exports={}});var j=a((ZI,rn)=>{"use strict";var ht=ue(),vt=I(),mf=S(),en=function(r){return mf(r)?r:void 0};rn.exports=function(r,e){return arguments.length<2?en(ht[r])||en(vt[r]):ht[r]&&ht[r][e]||vt[r]&&vt[r][e]}});var ar=a((eS,tn)=>{"use strict";var bf=O();tn.exports=bf({}.isPrototypeOf)});var X=a((rS,an)=>{"use strict";var yf=I(),on=yf.navigator,nn=on&&on.userAgent;an.exports=nn?String(nn):""});var mt=a((tS,fn)=>{"use strict";var dn=I(),gt=X(),sn=dn.process,un=dn.Deno,cn=sn&&sn.versions||un&&un.version,ln=cn&&cn.v8,k,sr;ln&&(k=ln.split("."),sr=k[0]>0&&k[0]<4?1:+(k[0]+k[1]));!sr&&gt&&(k=gt.match(/Edge\/(\d+)/),(!k||k[1]>=74)&&(k=gt.match(/Chrome\/(\d+)/),k&&(sr=+k[1])));fn.exports=sr});var bt=a((iS,hn)=>{"use strict";var pn=mt(),If=T(),Sf=I(),_f=Sf.String;hn.exports=!!Object.getOwnPropertySymbols&&!If(function(){var r=Symbol("symbol detection");return!_f(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&pn&&pn<41})});var yt=a((oS,vn)=>{"use strict";var Ef=bt();vn.exports=Ef&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var It=a((nS,gn)=>{"use strict";var Pf=j(),Tf=S(),wf=ar(),Of=yt(),Af=Object;gn.exports=Of?function(r){return typeof r=="symbol"}:function(r){var e=Pf("Symbol");return Tf(e)&&wf(e.prototype,Af(r))}});var De=a((aS,mn)=>{"use strict";var qf=String;mn.exports=function(r){try{return qf(r)}catch{return"Object"}}});var W=a((sS,bn)=>{"use strict";var xf=S(),Rf=De(),Cf=TypeError;bn.exports=function(r){if(xf(r))return r;throw new Cf(Rf(r)+" is not a function")}});var ur=a((uS,yn)=>{"use strict";var Lf=W(),Nf=ke();yn.exports=function(r,e){var t=r[e];return Nf(t)?void 0:Lf(t)}});var Sn=a((cS,In)=>{"use strict";var St=L(),_t=S(),Et=N(),kf=TypeError;In.exports=function(r,e){var t,i;if(e==="string"&&_t(t=r.toString)&&!Et(i=St(t,r))||_t(t=r.valueOf)&&!Et(i=St(t,r))||e!=="string"&&_t(t=r.toString)&&!Et(i=St(t,r)))return i;throw new kf("Can't convert object to primitive value")}});var V=a((lS,_n)=>{"use strict";_n.exports=!0});var Tn=a((dS,Pn)=>{"use strict";var En=I(),Df=Object.defineProperty;Pn.exports=function(r,e){try{Df(En,r,{value:e,configurable:!0,writable:!0})}catch{En[r]=e}return e}});var $e=a((fS,An)=>{"use strict";var $f=V(),Mf=I(),Vf=Tn(),wn="__core-js_shared__",On=An.exports=Mf[wn]||Vf(wn,{});(On.versions||(On.versions=[])).push({version:"3.43.0",mode:$f?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Pt=a((pS,xn)=>{"use strict";var qn=$e();xn.exports=function(r,e){return qn[r]||(qn[r]=e||{})}});var Tt=a((hS,Rn)=>{"use strict";var Ff=se(),Bf=Object;Rn.exports=function(r){return Bf(Ff(r))}});var F=a((vS,Cn)=>{"use strict";var Uf=O(),jf=Tt(),Wf=Uf({}.hasOwnProperty);Cn.exports=Object.hasOwn||function(e,t){return Wf(jf(e),t)}});var wt=a((gS,Ln)=>{"use strict";var Hf=O(),Kf=0,Gf=Math.random(),zf=Hf(1.1.toString);Ln.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+zf(++Kf+Gf,36)}});var x=a((mS,kn)=>{"use strict";var Qf=I(),Yf=Pt(),Nn=F(),Jf=wt(),Xf=bt(),Zf=yt(),ce=Qf.Symbol,Ot=Yf("wks"),ep=Zf?ce.for||ce:ce&&ce.withoutSetter||Jf;kn.exports=function(r){return Nn(Ot,r)||(Ot[r]=Xf&&Nn(ce,r)?ce[r]:ep("Symbol."+r)),Ot[r]}});var Vn=a((bS,Mn)=>{"use strict";var rp=L(),Dn=N(),$n=It(),tp=ur(),ip=Sn(),op=x(),np=TypeError,ap=op("toPrimitive");Mn.exports=function(r,e){if(!Dn(r)||$n(r))return r;var t=tp(r,ap),i;if(t){if(e===void 0&&(e="default"),i=rp(t,r,e),!Dn(i)||$n(i))return i;throw new np("Can't convert object to primitive value")}return e===void 0&&(e="number"),ip(r,e)}});var At=a((yS,Fn)=>{"use strict";var sp=Vn(),up=It();Fn.exports=function(r){var e=sp(r,"string");return up(e)?e:e+""}});var cr=a((IS,Un)=>{"use strict";var cp=I(),Bn=N(),qt=cp.document,lp=Bn(qt)&&Bn(qt.createElement);Un.exports=function(r){return lp?qt.createElement(r):{}}});var xt=a((SS,jn)=>{"use strict";var dp=q(),fp=T(),pp=cr();jn.exports=!dp&&!fp(function(){return Object.defineProperty(pp("div"),"a",{get:function(){return 7}}).a!==7})});var Kn=a(Hn=>{"use strict";var hp=q(),vp=L(),gp=ft(),mp=Ne(),bp=J(),yp=At(),Ip=F(),Sp=xt(),Wn=Object.getOwnPropertyDescriptor;Hn.f=hp?Wn:function(e,t){if(e=bp(e),t=yp(t),Sp)try{return Wn(e,t)}catch{}if(Ip(e,t))return mp(!vp(gp.f,e,t),e[t])}});var Rt=a((ES,Gn)=>{"use strict";var _p=T(),Ep=S(),Pp=/#|\.prototype\./,Me=function(r,e){var t=wp[Tp(r)];return t===Ap?!0:t===Op?!1:Ep(e)?_p(e):!!e},Tp=Me.normalize=function(r){return String(r).replace(Pp,".").toLowerCase()},wp=Me.data={},Op=Me.NATIVE="N",Ap=Me.POLYFILL="P";Gn.exports=Me});var Ve=a((PS,Qn)=>{"use strict";var zn=lt(),qp=W(),xp=Ce(),Rp=zn(zn.bind);Qn.exports=function(r,e){return qp(r),e===void 0?r:xp?Rp(r,e):function(){return r.apply(e,arguments)}}});var Ct=a((TS,Yn)=>{"use strict";var Cp=q(),Lp=T();Yn.exports=Cp&&Lp(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var H=a((wS,Jn)=>{"use strict";var Np=N(),kp=String,Dp=TypeError;Jn.exports=function(r){if(Np(r))return r;throw new Dp(kp(r)+" is not an object")}});var Z=a(Zn=>{"use strict";var $p=q(),Mp=xt(),Vp=Ct(),lr=H(),Xn=At(),Fp=TypeError,Lt=Object.defineProperty,Bp=Object.getOwnPropertyDescriptor,Nt="enumerable",kt="configurable",Dt="writable";Zn.f=$p?Vp?function(e,t,i){if(lr(e),t=Xn(t),lr(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Dt in i&&!i[Dt]){var o=Bp(e,t);o&&o[Dt]&&(e[t]=i.value,i={configurable:kt in i?i[kt]:o[kt],enumerable:Nt in i?i[Nt]:o[Nt],writable:!1})}return Lt(e,t,i)}:Lt:function(e,t,i){if(lr(e),t=Xn(t),lr(i),Mp)try{return Lt(e,t,i)}catch{}if("get"in i||"set"in i)throw new Fp("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var le=a((AS,ea)=>{"use strict";var Up=q(),jp=Z(),Wp=Ne();ea.exports=Up?function(r,e,t){return jp.f(r,e,Wp(1,t))}:function(r,e,t){return r[e]=t,r}});var R=a((qS,ta)=>{"use strict";var Fe=I(),Hp=ut(),Kp=lt(),Gp=S(),zp=Kn().f,Qp=Rt(),de=ue(),Yp=Ve(),fe=le(),ra=F();$e();var Jp=function(r){var e=function(t,i,o){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,o)}return Hp(r,this,arguments)};return e.prototype=r.prototype,e};ta.exports=function(r,e){var t=r.target,i=r.global,o=r.stat,n=r.proto,s=i?Fe:o?Fe[t]:Fe[t]&&Fe[t].prototype,u=i?de:de[t]||fe(de,t,{})[t],l=u.prototype,d,p,h,c,f,v,g,b,m;for(c in e)d=Qp(i?c:t+(o?".":"#")+c,r.forced),p=!d&&s&&ra(s,c),v=u[c],p&&(r.dontCallGetSet?(m=zp(s,c),g=m&&m.value):g=s[c]),f=p&&g?g:e[c],!(!d&&!n&&typeof v==typeof f)&&(r.bind&&p?b=Yp(f,Fe):r.wrap&&p?b=Jp(f):n&&Gp(f)?b=Kp(f):b=f,(r.sham||f&&f.sham||v&&v.sham)&&fe(b,"sham",!0),fe(u,c,b),n&&(h=t+"Prototype",ra(de,h)||fe(de,h,{}),fe(de[h],c,f),r.real&&l&&(d||!l[c])&&fe(l,c,f)))}});var oa=a((xS,ia)=>{"use strict";var Xp=Math.ceil,Zp=Math.floor;ia.exports=Math.trunc||function(e){var t=+e;return(t>0?Zp:Xp)(t)}});var dr=a((RS,na)=>{"use strict";var eh=oa();na.exports=function(r){var e=+r;return e!==e||e===0?0:eh(e)}});var sa=a((CS,aa)=>{"use strict";var rh=dr(),th=Math.max,ih=Math.min;aa.exports=function(r,e){var t=rh(r);return t<0?th(t+e,0):ih(t,e)}});var $t=a((LS,ua)=>{"use strict";var oh=dr(),nh=Math.min;ua.exports=function(r){var e=oh(r);return e>0?nh(e,9007199254740991):0}});var Mt=a((NS,ca)=>{"use strict";var ah=$t();ca.exports=function(r){return ah(r.length)}});var Vt=a((kS,da)=>{"use strict";var sh=J(),uh=sa(),ch=Mt(),la=function(r){return function(e,t,i){var o=sh(e),n=ch(o);if(n===0)return!r&&-1;var s=uh(i,n),u;if(r&&t!==t){for(;n>s;)if(u=o[s++],u!==u)return!0}else for(;n>s;s++)if((r||s in o)&&o[s]===t)return r||s||0;return!r&&-1}};da.exports={includes:la(!0),indexOf:la(!1)}});var Ft=a((DS,fa)=>{"use strict";fa.exports=function(){}});var pa=a(()=>{"use strict";var lh=R(),dh=Vt().includes,fh=T(),ph=Ft(),hh=fh(function(){return!Array(1).includes()});lh({target:"Array",proto:!0,forced:hh},{includes:function(e){return dh(this,e,arguments.length>1?arguments[1]:void 0)}});ph("includes")});var fr=a((VS,ha)=>{"use strict";var vh=j();ha.exports=vh});var ga=a((FS,va)=>{"use strict";pa();var gh=fr();va.exports=gh("Array","includes")});var ba=a((BS,ma)=>{"use strict";var mh=ga();ma.exports=mh});var pe=a((US,ya)=>{"use strict";var bh=ba();ya.exports=bh});var Oa=a(()=>{"use strict"});var Gt=a((r_,Aa)=>{"use strict";var Ue=I(),Sh=X(),_h=Le(),hr=function(r){return Sh.slice(0,r.length)===r};Aa.exports=function(){return hr("Bun/")?"BUN":hr("Cloudflare-Workers")?"CLOUDFLARE":hr("Deno/")?"DENO":hr("Node.js/")?"NODE":Ue.Bun&&typeof Bun.version=="string"?"BUN":Ue.Deno&&typeof Deno.version=="object"?"DENO":_h(Ue.process)==="process"?"NODE":Ue.window&&Ue.document?"BROWSER":"REST"}()});var vr=a((t_,qa)=>{"use strict";var Eh=Gt();qa.exports=Eh==="NODE"});var he=a((i_,xa)=>{"use strict";var Ph=le();xa.exports=function(r,e,t,i){return i&&i.enumerable?r[e]=t:Ph(r,e,t),r}});var Ca=a((o_,Ra)=>{"use strict";var Th=O(),wh=W();Ra.exports=function(r,e,t){try{return Th(wh(Object.getOwnPropertyDescriptor(r,e)[t]))}catch{}}});var Na=a((n_,La)=>{"use strict";var Oh=N();La.exports=function(r){return Oh(r)||r===null}});var Da=a((a_,ka)=>{"use strict";var Ah=Na(),qh=String,xh=TypeError;ka.exports=function(r){if(Ah(r))return r;throw new xh("Can't set "+qh(r)+" as a prototype")}});var zt=a((s_,$a)=>{"use strict";var Rh=Ca(),Ch=N(),Lh=se(),Nh=Da();$a.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Rh(Object.prototype,"__proto__","set"),t(e,[]),r=e instanceof Array}catch{}return function(o,n){return Lh(o),Nh(n),Ch(o)&&(r?t(o,n):o.__proto__=n),o}}():void 0)});var gr=a((u_,Va)=>{"use strict";var kh=x(),Dh=kh("toStringTag"),Ma={};Ma[Dh]="z";Va.exports=String(Ma)==="[object z]"});var je=a((c_,Fa)=>{"use strict";var $h=gr(),Mh=S(),mr=Le(),Vh=x(),Fh=Vh("toStringTag"),Bh=Object,Uh=mr(function(){return arguments}())==="Arguments",jh=function(r,e){try{return r[e]}catch{}};Fa.exports=$h?mr:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=jh(e=Bh(r),Fh))=="string"?t:Uh?mr(e):(i=mr(e))==="Object"&&Mh(e.callee)?"Arguments":i}});var Ua=a((l_,Ba)=>{"use strict";var Wh=gr(),Hh=je();Ba.exports=Wh?{}.toString:function(){return"[object "+Hh(this)+"]"}});var We=a((d_,Wa)=>{"use strict";var Kh=gr(),Gh=Z().f,zh=le(),Qh=F(),Yh=Ua(),Jh=x(),ja=Jh("toStringTag");Wa.exports=function(r,e,t,i){var o=t?r:r&&r.prototype;o&&(Qh(o,ja)||Gh(o,ja,{configurable:!0,value:e}),i&&!Kh&&zh(o,"toString",Yh))}});var Ka=a((f_,Ha)=>{"use strict";var Xh=Z();Ha.exports=function(r,e,t){return Xh.f(r,e,t)}});var Qa=a((p_,za)=>{"use strict";var Zh=j(),ev=Ka(),rv=x(),tv=q(),Ga=rv("species");za.exports=function(r){var e=Zh(r);tv&&e&&!e[Ga]&&ev(e,Ga,{configurable:!0,get:function(){return this}})}});var Ja=a((h_,Ya)=>{"use strict";var iv=ar(),ov=TypeError;Ya.exports=function(r,e){if(iv(e,r))return r;throw new ov("Incorrect invocation")}});var Yt=a((v_,Xa)=>{"use strict";var nv=O(),av=S(),Qt=$e(),sv=nv(Function.toString);av(Qt.inspectSource)||(Qt.inspectSource=function(r){return sv(r)});Xa.exports=Qt.inspectSource});var os=a((g_,is)=>{"use strict";var uv=O(),cv=T(),Za=S(),lv=je(),dv=j(),fv=Yt(),es=function(){},rs=dv("Reflect","construct"),Jt=/^\s*(?:class|function)\b/,pv=uv(Jt.exec),hv=!Jt.test(es),He=function(e){if(!Za(e))return!1;try{return rs(es,[],e),!0}catch{return!1}},ts=function(e){if(!Za(e))return!1;switch(lv(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return hv||!!pv(Jt,fv(e))}catch{return!0}};ts.sham=!0;is.exports=!rs||cv(function(){var r;return He(He.call)||!He(Object)||!He(function(){r=!0})||r})?ts:He});var as=a((m_,ns)=>{"use strict";var vv=os(),gv=De(),mv=TypeError;ns.exports=function(r){if(vv(r))return r;throw new mv(gv(r)+" is not a constructor")}});var Xt=a((b_,us)=>{"use strict";var ss=H(),bv=as(),yv=ke(),Iv=x(),Sv=Iv("species");us.exports=function(r,e){var t=ss(r).constructor,i;return t===void 0||yv(i=ss(t)[Sv])?e:bv(i)}});var Zt=a((y_,cs)=>{"use strict";var _v=j();cs.exports=_v("document","documentElement")});var ds=a((I_,ls)=>{"use strict";var Ev=O();ls.exports=Ev([].slice)});var ps=a((S_,fs)=>{"use strict";var Pv=TypeError;fs.exports=function(r,e){if(r<e)throw new Pv("Not enough arguments");return r}});var ei=a((__,hs)=>{"use strict";var Tv=X();hs.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Tv)});var ci=a((E_,Es)=>{"use strict";var C=I(),wv=ut(),Ov=Ve(),vs=S(),Av=F(),_s=T(),gs=Zt(),qv=ds(),ms=cr(),xv=ps(),Rv=ei(),Cv=vr(),ai=C.setImmediate,si=C.clearImmediate,Lv=C.process,ri=C.Dispatch,Nv=C.Function,bs=C.MessageChannel,kv=C.String,ti=0,Ke={},ys="onreadystatechange",Ge,ee,ii,oi;_s(function(){Ge=C.location});var ui=function(r){if(Av(Ke,r)){var e=Ke[r];delete Ke[r],e()}},ni=function(r){return function(){ui(r)}},Is=function(r){ui(r.data)},Ss=function(r){C.postMessage(kv(r),Ge.protocol+"//"+Ge.host)};(!ai||!si)&&(ai=function(e){xv(arguments.length,1);var t=vs(e)?e:Nv(e),i=qv(arguments,1);return Ke[++ti]=function(){wv(t,void 0,i)},ee(ti),ti},si=function(e){delete Ke[e]},Cv?ee=function(r){Lv.nextTick(ni(r))}:ri&&ri.now?ee=function(r){ri.now(ni(r))}:bs&&!Rv?(ii=new bs,oi=ii.port2,ii.port1.onmessage=Is,ee=Ov(oi.postMessage,oi)):C.addEventListener&&vs(C.postMessage)&&!C.importScripts&&Ge&&Ge.protocol!=="file:"&&!_s(Ss)?(ee=Ss,C.addEventListener("message",Is,!1)):ys in ms("script")?ee=function(r){gs.appendChild(ms("script"))[ys]=function(){gs.removeChild(this),ui(r)}}:ee=function(r){setTimeout(ni(r),0)});Es.exports={set:ai,clear:si}});var ws=a((P_,Ts)=>{"use strict";var Ps=I(),Dv=q(),$v=Object.getOwnPropertyDescriptor;Ts.exports=function(r){if(!Dv)return Ps[r];var e=$v(Ps,r);return e&&e.value}});var li=a((T_,As)=>{"use strict";var Os=function(){this.head=null,this.tail=null};Os.prototype={add:function(r){var e={item:r,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var r=this.head;if(r){var e=this.head=r.next;return e===null&&(this.tail=null),r.item}}};As.exports=Os});var xs=a((w_,qs)=>{"use strict";var Mv=X();qs.exports=/ipad|iphone|ipod/i.test(Mv)&&typeof Pebble<"u"});var Cs=a((O_,Rs)=>{"use strict";var Vv=X();Rs.exports=/web0s(?!.*chrome)/i.test(Vv)});var Vs=a((A_,Ms)=>{"use strict";var ge=I(),Fv=ws(),Ls=Ve(),di=ci().set,Bv=li(),Uv=ei(),jv=xs(),Wv=Cs(),fi=vr(),Ns=ge.MutationObserver||ge.WebKitMutationObserver,ks=ge.document,Ds=ge.process,br=ge.Promise,vi=Fv("queueMicrotask"),ve,pi,hi,yr,$s;vi||(ze=new Bv,Qe=function(){var r,e;for(fi&&(r=Ds.domain)&&r.exit();e=ze.get();)try{e()}catch(t){throw ze.head&&ve(),t}r&&r.enter()},!Uv&&!fi&&!Wv&&Ns&&ks?(pi=!0,hi=ks.createTextNode(""),new Ns(Qe).observe(hi,{characterData:!0}),ve=function(){hi.data=pi=!pi}):!jv&&br&&br.resolve?(yr=br.resolve(void 0),yr.constructor=br,$s=Ls(yr.then,yr),ve=function(){$s(Qe)}):fi?ve=function(){Ds.nextTick(Qe)}:(di=Ls(di,ge),ve=function(){di(Qe)}),vi=function(r){ze.head||ve(),ze.add(r)});var ze,Qe;Ms.exports=vi});var Bs=a((q_,Fs)=>{"use strict";Fs.exports=function(r,e){try{arguments.length===1?console.error(r):console.error(r,e)}catch{}}});var Ir=a((x_,Us)=>{"use strict";Us.exports=function(r){try{return{error:!1,value:r()}}catch(e){return{error:!0,value:e}}}});var Hs=a((R_,Ws)=>{"use strict";var Hv=I(),Kv=S(),js=Hv.WeakMap;Ws.exports=Kv(js)&&/native code/.test(String(js))});var Sr=a((C_,Gs)=>{"use strict";var Gv=Pt(),zv=wt(),Ks=Gv("keys");Gs.exports=function(r){return Ks[r]||(Ks[r]=zv(r))}});var _r=a((L_,zs)=>{"use strict";zs.exports={}});var yi=a((N_,Js)=>{"use strict";var Qv=Hs(),Ys=I(),Yv=N(),Jv=le(),gi=F(),mi=$e(),Xv=Sr(),Zv=_r(),Qs="Object already initialized",bi=Ys.TypeError,eg=Ys.WeakMap,Er,Ye,Pr,rg=function(r){return Pr(r)?Ye(r):Er(r,{})},tg=function(r){return function(e){var t;if(!Yv(e)||(t=Ye(e)).type!==r)throw new bi("Incompatible receiver, "+r+" required");return t}};Qv||mi.state?(D=mi.state||(mi.state=new eg),D.get=D.get,D.has=D.has,D.set=D.set,Er=function(r,e){if(D.has(r))throw new bi(Qs);return e.facade=r,D.set(r,e),e},Ye=function(r){return D.get(r)||{}},Pr=function(r){return D.has(r)}):(re=Xv("state"),Zv[re]=!0,Er=function(r,e){if(gi(r,re))throw new bi(Qs);return e.facade=r,Jv(r,re,e),e},Ye=function(r){return gi(r,re)?r[re]:{}},Pr=function(r){return gi(r,re)});var D,re;Js.exports={set:Er,get:Ye,has:Pr,enforce:rg,getterFor:tg}});var te=a((k_,Xs)=>{"use strict";var ig=I();Xs.exports=ig.Promise});var me=a((D_,tu)=>{"use strict";var og=I(),Je=te(),ng=S(),ag=Rt(),sg=Yt(),ug=x(),Zs=Gt(),cg=V(),Ii=mt(),eu=Je&&Je.prototype,lg=ug("species"),Si=!1,ru=ng(og.PromiseRejectionEvent),dg=ag("Promise",function(){var r=sg(Je),e=r!==String(Je);if(!e&&Ii===66||cg&&!(eu.catch&&eu.finally))return!0;if(!Ii||Ii<51||!/native code/.test(r)){var t=new Je(function(n){n(1)}),i=function(n){n(function(){},function(){})},o=t.constructor={};if(o[lg]=i,Si=t.then(function(){})instanceof i,!Si)return!0}return!e&&(Zs==="BROWSER"||Zs==="DENO")&&!ru});tu.exports={CONSTRUCTOR:dg,REJECTION_EVENT:ru,SUBCLASSING:Si}});var be=a(($_,ou)=>{"use strict";var iu=W(),fg=TypeError,pg=function(r){var e,t;this.promise=new r(function(i,o){if(e!==void 0||t!==void 0)throw new fg("Bad Promise constructor");e=i,t=o}),this.resolve=iu(e),this.reject=iu(t)};ou.exports.f=function(r){return new pg(r)}});var Pu=a(()=>{"use strict";var hg=R(),vg=V(),Ar=vr(),z=I(),gg=ue(),_e=L(),nu=he(),au=zt(),mg=We(),bg=Qa(),yg=W(),Or=S(),Ig=N(),Sg=Ja(),_g=Xt(),du=ci().set,wi=Vs(),Eg=Bs(),Pg=Ir(),Tg=li(),fu=yi(),qr=te(),Oi=me(),pu=be(),xr="Promise",hu=Oi.CONSTRUCTOR,wg=Oi.REJECTION_EVENT,Og=Oi.SUBCLASSING,_i=fu.getterFor(xr),Ag=fu.set,ye=qr&&qr.prototype,ie=qr,Tr=ye,vu=z.TypeError,Ei=z.document,Ai=z.process,Pi=pu.f,qg=Pi,xg=!!(Ei&&Ei.createEvent&&z.dispatchEvent),gu="unhandledrejection",Rg="rejectionhandled",su=0,mu=1,Cg=2,qi=1,bu=2,wr,uu,yu,cu,Iu=function(r){var e;return Ig(r)&&Or(e=r.then)?e:!1},Su=function(r,e){var t=e.value,i=e.state===mu,o=i?r.ok:r.fail,n=r.resolve,s=r.reject,u=r.domain,l,d,p;try{o?(i||(e.rejection===bu&&Ng(e),e.rejection=qi),o===!0?l=t:(u&&u.enter(),l=o(t),u&&(u.exit(),p=!0)),l===r.promise?s(new vu("Promise-chain cycle")):(d=Iu(l))?_e(d,l,n,s):n(l)):s(t)}catch(h){u&&!p&&u.exit(),s(h)}},_u=function(r,e){r.notified||(r.notified=!0,wi(function(){for(var t=r.reactions,i;i=t.get();)Su(i,r);r.notified=!1,e&&!r.rejection&&Lg(r)}))},Eu=function(r,e,t){var i,o;xg?(i=Ei.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(r,!1,!0),z.dispatchEvent(i)):i={promise:e,reason:t},!wg&&(o=z["on"+r])?o(i):r===gu&&Eg("Unhandled promise rejection",t)},Lg=function(r){_e(du,z,function(){var e=r.facade,t=r.value,i=lu(r),o;if(i&&(o=Pg(function(){Ar?Ai.emit("unhandledRejection",t,e):Eu(gu,e,t)}),r.rejection=Ar||lu(r)?bu:qi,o.error))throw o.value})},lu=function(r){return r.rejection!==qi&&!r.parent},Ng=function(r){_e(du,z,function(){var e=r.facade;Ar?Ai.emit("rejectionHandled",e):Eu(Rg,e,r.value)})},Ie=function(r,e,t){return function(i){r(e,i,t)}},Se=function(r,e,t){r.done||(r.done=!0,t&&(r=t),r.value=e,r.state=Cg,_u(r,!0))},Ti=function(r,e,t){if(!r.done){r.done=!0,t&&(r=t);try{if(r.facade===e)throw new vu("Promise can't be resolved itself");var i=Iu(e);i?wi(function(){var o={done:!1};try{_e(i,e,Ie(Ti,o,r),Ie(Se,o,r))}catch(n){Se(o,n,r)}}):(r.value=e,r.state=mu,_u(r,!1))}catch(o){Se({done:!1},o,r)}}};if(hu&&(ie=function(e){Sg(this,Tr),yg(e),_e(wr,this);var t=_i(this);try{e(Ie(Ti,t),Ie(Se,t))}catch(i){Se(t,i)}},Tr=ie.prototype,wr=function(e){Ag(this,{type:xr,done:!1,notified:!1,parent:!1,reactions:new Tg,rejection:!1,state:su,value:null})},wr.prototype=nu(Tr,"then",function(e,t){var i=_i(this),o=Pi(_g(this,ie));return i.parent=!0,o.ok=Or(e)?e:!0,o.fail=Or(t)&&t,o.domain=Ar?Ai.domain:void 0,i.state===su?i.reactions.add(o):wi(function(){Su(o,i)}),o.promise}),uu=function(){var r=new wr,e=_i(r);this.promise=r,this.resolve=Ie(Ti,e),this.reject=Ie(Se,e)},pu.f=Pi=function(r){return r===ie||r===yu?new uu(r):qg(r)},!vg&&Or(qr)&&ye!==Object.prototype)){cu=ye.then,Og||nu(ye,"then",function(e,t){var i=this;return new ie(function(o,n){_e(cu,i,o,n)}).then(e,t)},{unsafe:!0});try{delete ye.constructor}catch{}au&&au(ye,Tr)}hg({global:!0,constructor:!0,wrap:!0,forced:hu},{Promise:ie});yu=gg.Promise;mg(ie,xr,!1,!0);bg(xr)});var oe=a((F_,Tu)=>{"use strict";Tu.exports={}});var Ou=a((B_,wu)=>{"use strict";var kg=x(),Dg=oe(),$g=kg("iterator"),Mg=Array.prototype;wu.exports=function(r){return r!==void 0&&(Dg.Array===r||Mg[$g]===r)}});var xi=a((U_,qu)=>{"use strict";var Vg=je(),Au=ur(),Fg=ke(),Bg=oe(),Ug=x(),jg=Ug("iterator");qu.exports=function(r){if(!Fg(r))return Au(r,jg)||Au(r,"@@iterator")||Bg[Vg(r)]}});var Ru=a((j_,xu)=>{"use strict";var Wg=L(),Hg=W(),Kg=H(),Gg=De(),zg=xi(),Qg=TypeError;xu.exports=function(r,e){var t=arguments.length<2?zg(r):e;if(Hg(t))return Kg(Wg(t,r));throw new Qg(Gg(r)+" is not iterable")}});var Nu=a((W_,Lu)=>{"use strict";var Yg=L(),Cu=H(),Jg=ur();Lu.exports=function(r,e,t){var i,o;Cu(r);try{if(i=Jg(r,"return"),!i){if(e==="throw")throw t;return t}i=Yg(i,r)}catch(n){o=!0,i=n}if(e==="throw")throw t;if(o)throw i;return Cu(i),t}});var Cr=a((H_,Mu)=>{"use strict";var Xg=Ve(),Zg=L(),em=H(),rm=De(),tm=Ou(),im=Mt(),ku=ar(),om=Ru(),nm=xi(),Du=Nu(),am=TypeError,Rr=function(r,e){this.stopped=r,this.result=e},$u=Rr.prototype;Mu.exports=function(r,e,t){var i=t&&t.that,o=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),s=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),l=Xg(e,i),d,p,h,c,f,v,g,b=function(y){return d&&Du(d,"normal"),new Rr(!0,y)},m=function(y){return o?(em(y),u?l(y[0],y[1],b):l(y[0],y[1])):u?l(y,b):l(y)};if(n)d=r.iterator;else if(s)d=r;else{if(p=nm(r),!p)throw new am(rm(r)+" is not iterable");if(tm(p)){for(h=0,c=im(r);c>h;h++)if(f=m(r[h]),f&&ku($u,f))return f;return new Rr(!1)}d=om(r,p)}for(v=n?r.next:d.next;!(g=Zg(v,d)).done;){try{f=m(g.value)}catch(y){Du(d,"throw",y)}if(typeof f=="object"&&f&&ku($u,f))return f}return new Rr(!1)}});var ju=a((K_,Uu)=>{"use strict";var sm=x(),Fu=sm("iterator"),Bu=!1;try{Vu=0,Ri={next:function(){return{done:!!Vu++}},return:function(){Bu=!0}},Ri[Fu]=function(){return this},Array.from(Ri,function(){throw 2})}catch{}var Vu,Ri;Uu.exports=function(r,e){try{if(!e&&!Bu)return!1}catch{return!1}var t=!1;try{var i={};i[Fu]=function(){return{next:function(){return{done:t=!0}}}},r(i)}catch{}return t}});var Ci=a((G_,Wu)=>{"use strict";var um=te(),cm=ju(),lm=me().CONSTRUCTOR;Wu.exports=lm||!cm(function(r){um.all(r).then(void 0,function(){})})});var Hu=a(()=>{"use strict";var dm=R(),fm=L(),pm=W(),hm=be(),vm=Ir(),gm=Cr(),mm=Ci();dm({target:"Promise",stat:!0,forced:mm},{all:function(e){var t=this,i=hm.f(t),o=i.resolve,n=i.reject,s=vm(function(){var u=pm(t.resolve),l=[],d=0,p=1;gm(e,function(h){var c=d++,f=!1;p++,fm(u,t,h).then(function(v){f||(f=!0,l[c]=v,--p||o(l))},n)}),--p||o(l)});return s.error&&n(s.value),i.promise}})});var Gu=a(()=>{"use strict";var bm=R(),ym=V(),Im=me().CONSTRUCTOR,Ni=te(),Sm=j(),_m=S(),Em=he(),Ku=Ni&&Ni.prototype;bm({target:"Promise",proto:!0,forced:Im,real:!0},{catch:function(r){return this.then(void 0,r)}});!ym&&_m(Ni)&&(Li=Sm("Promise").prototype.catch,Ku.catch!==Li&&Em(Ku,"catch",Li,{unsafe:!0}));var Li});var zu=a(()=>{"use strict";var Pm=R(),Tm=L(),wm=W(),Om=be(),Am=Ir(),qm=Cr(),xm=Ci();Pm({target:"Promise",stat:!0,forced:xm},{race:function(e){var t=this,i=Om.f(t),o=i.reject,n=Am(function(){var s=wm(t.resolve);qm(e,function(u){Tm(s,t,u).then(i.resolve,o)})});return n.error&&o(n.value),i.promise}})});var Qu=a(()=>{"use strict";var Rm=R(),Cm=be(),Lm=me().CONSTRUCTOR;Rm({target:"Promise",stat:!0,forced:Lm},{reject:function(e){var t=Cm.f(this),i=t.reject;return i(e),t.promise}})});var ki=a((tE,Yu)=>{"use strict";var Nm=H(),km=N(),Dm=be();Yu.exports=function(r,e){if(Nm(r),km(e)&&e.constructor===r)return e;var t=Dm.f(r),i=t.resolve;return i(e),t.promise}});var Zu=a(()=>{"use strict";var $m=R(),Mm=j(),Ju=V(),Vm=te(),Xu=me().CONSTRUCTOR,Fm=ki(),Bm=Mm("Promise"),Um=Ju&&!Xu;$m({target:"Promise",stat:!0,forced:Ju||Xu},{resolve:function(e){return Fm(Um&&this===Bm?Vm:this,e)}})});var ec=a(()=>{"use strict";Pu();Hu();Gu();zu();Qu();Zu()});var oc=a(()=>{"use strict";var jm=R(),Wm=V(),Lr=te(),Hm=T(),tc=j(),ic=S(),Km=Xt(),rc=ki(),Gm=he(),$i=Lr&&Lr.prototype,zm=!!Lr&&Hm(function(){$i.finally.call({then:function(){}},function(){})});jm({target:"Promise",proto:!0,real:!0,forced:zm},{finally:function(r){var e=Km(this,tc("Promise")),t=ic(r);return this.then(t?function(i){return rc(e,r()).then(function(){return i})}:r,t?function(i){return rc(e,r()).then(function(){throw i})}:r)}});!Wm&&ic(Lr)&&(Di=tc("Promise").prototype.finally,$i.finally!==Di&&Gm($i,"finally",Di,{unsafe:!0}));var Di});var ac=a((cE,nc)=>{"use strict";Oa();ec();oc();var Qm=fr();nc.exports=Qm("Promise","finally")});var uc=a((lE,sc)=>{"use strict";var Ym=ac();sc.exports=Ym});var Mi=a((dE,cc)=>{"use strict";var Jm=uc();cc.exports=Jm});var dc=a((fE,lc)=>{"use strict";var Xm=T();lc.exports=!Xm(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Nr=a((pE,pc)=>{"use strict";var Zm=F(),eb=S(),rb=Tt(),tb=Sr(),ib=dc(),fc=tb("IE_PROTO"),Vi=Object,ob=Vi.prototype;pc.exports=ib?Vi.getPrototypeOf:function(r){var e=rb(r);if(Zm(e,fc))return e[fc];var t=e.constructor;return eb(t)&&e instanceof t?t.prototype:e instanceof Vi?ob:null}});var gc=a((hE,vc)=>{"use strict";var nb=O(),Fi=F(),ab=J(),sb=Vt().indexOf,ub=_r(),hc=nb([].push);vc.exports=function(r,e){var t=ab(r),i=0,o=[],n;for(n in t)!Fi(ub,n)&&Fi(t,n)&&hc(o,n);for(;e.length>i;)Fi(t,n=e[i++])&&(~sb(o,n)||hc(o,n));return o}});var Bi=a((vE,mc)=>{"use strict";mc.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Ui=a((gE,bc)=>{"use strict";var cb=gc(),lb=Bi();bc.exports=Object.keys||function(e){return cb(e,lb)}});var Pc=a((mE,Ec)=>{"use strict";var Ic=q(),db=T(),Sc=O(),fb=Nr(),pb=Ui(),hb=J(),vb=ft().f,_c=Sc(vb),gb=Sc([].push),mb=Ic&&db(function(){var r=Object.create(null);return r[2]=2,!_c(r,2)}),yc=function(r){return function(e){for(var t=hb(e),i=pb(t),o=mb&&fb(t)===null,n=i.length,s=0,u=[],l;n>s;)l=i[s++],(!Ic||(o?l in t:_c(t,l)))&&gb(u,r?[l,t[l]]:t[l]);return u}};Ec.exports={entries:yc(!0),values:yc(!1)}});var Tc=a(()=>{"use strict";var bb=R(),yb=Pc().entries;bb({target:"Object",stat:!0},{entries:function(e){return yb(e)}})});var Oc=a((IE,wc)=>{"use strict";Tc();var Ib=ue();wc.exports=Ib.Object.entries});var qc=a((SE,Ac)=>{"use strict";var Sb=Oc();Ac.exports=Sb});var Ee=a((_E,xc)=>{"use strict";var _b=qc();xc.exports=_b});var Lc=a((EE,Cc)=>{"use strict";var ji=q(),Eb=F(),Rc=Function.prototype,Pb=ji&&Object.getOwnPropertyDescriptor,Wi=Eb(Rc,"name"),Tb=Wi&&function(){}.name==="something",wb=Wi&&(!ji||ji&&Pb(Rc,"name").configurable);Cc.exports={EXISTS:Wi,PROPER:Tb,CONFIGURABLE:wb}});var kc=a(Nc=>{"use strict";var Ob=q(),Ab=Ct(),qb=Z(),xb=H(),Rb=J(),Cb=Ui();Nc.f=Ob&&!Ab?Object.defineProperties:function(e,t){xb(e);for(var i=Rb(t),o=Cb(t),n=o.length,s=0,u;n>s;)qb.f(e,u=o[s++],i[u]);return e}});var zi=a((TE,Uc)=>{"use strict";var Lb=H(),Nb=kc(),Dc=Bi(),kb=_r(),Db=Zt(),$b=cr(),Mb=Sr(),$c=">",Mc="<",Ki="prototype",Gi="script",Fc=Mb("IE_PROTO"),Hi=function(){},Bc=function(r){return Mc+Gi+$c+r+Mc+"/"+Gi+$c},Vc=function(r){r.write(Bc("")),r.close();var e=r.parentWindow.Object;return r=null,e},Vb=function(){var r=$b("iframe"),e="java"+Gi+":",t;return r.style.display="none",Db.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Bc("document.F=Object")),t.close(),t.F},kr,Dr=function(){try{kr=new ActiveXObject("htmlfile")}catch{}Dr=typeof document<"u"?document.domain&&kr?Vc(kr):Vb():Vc(kr);for(var r=Dc.length;r--;)delete Dr[Ki][Dc[r]];return Dr()};kb[Fc]=!0;Uc.exports=Object.create||function(e,t){var i;return e!==null?(Hi[Ki]=Lb(e),i=new Hi,Hi[Ki]=null,i[Fc]=e):i=Dr(),t===void 0?i:Nb.f(i,t)}});var Xi=a((wE,Hc)=>{"use strict";var Fb=T(),Bb=S(),Ub=N(),jb=zi(),jc=Nr(),Wb=he(),Hb=x(),Kb=V(),Ji=Hb("iterator"),Wc=!1,K,Qi,Yi;[].keys&&(Yi=[].keys(),"next"in Yi?(Qi=jc(jc(Yi)),Qi!==Object.prototype&&(K=Qi)):Wc=!0);var Gb=!Ub(K)||Fb(function(){var r={};return K[Ji].call(r)!==r});Gb?K={}:Kb&&(K=jb(K));Bb(K[Ji])||Wb(K,Ji,function(){return this});Hc.exports={IteratorPrototype:K,BUGGY_SAFARI_ITERATORS:Wc}});var Gc=a((OE,Kc)=>{"use strict";var zb=Xi().IteratorPrototype,Qb=zi(),Yb=Ne(),Jb=We(),Xb=oe(),Zb=function(){return this};Kc.exports=function(r,e,t,i){var o=e+" Iterator";return r.prototype=Qb(zb,{next:Yb(+!i,t)}),Jb(r,o,!1,!0),Xb[o]=Zb,r}});var ol=a((AE,il)=>{"use strict";var ey=R(),ry=L(),$r=V(),rl=Lc(),ty=S(),iy=Gc(),zc=Nr(),Qc=zt(),oy=We(),ny=le(),Zi=he(),ay=x(),Yc=oe(),tl=Xi(),sy=rl.PROPER,uy=rl.CONFIGURABLE,Jc=tl.IteratorPrototype,Mr=tl.BUGGY_SAFARI_ITERATORS,Xe=ay("iterator"),Xc="keys",Ze="values",Zc="entries",el=function(){return this};il.exports=function(r,e,t,i,o,n,s){iy(t,e,i);var u=function(m){if(m===o&&c)return c;if(!Mr&&m&&m in p)return p[m];switch(m){case Xc:return function(){return new t(this,m)};case Ze:return function(){return new t(this,m)};case Zc:return function(){return new t(this,m)}}return function(){return new t(this)}},l=e+" Iterator",d=!1,p=r.prototype,h=p[Xe]||p["@@iterator"]||o&&p[o],c=!Mr&&h||u(o),f=e==="Array"&&p.entries||h,v,g,b;if(f&&(v=zc(f.call(new r)),v!==Object.prototype&&v.next&&(!$r&&zc(v)!==Jc&&(Qc?Qc(v,Jc):ty(v[Xe])||Zi(v,Xe,el)),oy(v,l,!0,!0),$r&&(Yc[l]=el))),sy&&o===Ze&&h&&h.name!==Ze&&(!$r&&uy?ny(p,"name",Ze):(d=!0,c=function(){return ry(h,this)})),o)if(g={values:u(Ze),keys:n?c:u(Xc),entries:u(Zc)},s)for(b in g)(Mr||d||!(b in p))&&Zi(p,b,g[b]);else ey({target:e,proto:!0,forced:Mr||d},g);return(!$r||s)&&p[Xe]!==c&&Zi(p,Xe,c,{name:o}),Yc[e]=c,g}});var al=a((qE,nl)=>{"use strict";nl.exports=function(r,e){return{value:r,done:e}}});var ro=a((xE,dl)=>{"use strict";var cy=J(),eo=Ft(),sl=oe(),cl=yi(),ly=Z().f,dy=ol(),Vr=al(),fy=V(),py=q(),ll="Array Iterator",hy=cl.set,vy=cl.getterFor(ll);dl.exports=dy(Array,"Array",function(r,e){hy(this,{type:ll,target:cy(r),index:0,kind:e})},function(){var r=vy(this),e=r.target,t=r.index++;if(!e||t>=e.length)return r.target=null,Vr(void 0,!0);switch(r.kind){case"keys":return Vr(t,!1);case"values":return Vr(e[t],!1)}return Vr([t,e[t]],!1)},"values");var ul=sl.Arguments=sl.Array;eo("keys");eo("values");eo("entries");if(!fy&&py&&ul.name!=="values")try{ly(ul,"name",{value:"values"})}catch{}});var pl=a((RE,fl)=>{"use strict";var gy=q(),my=Z(),by=Ne();fl.exports=function(r,e,t){gy?my.f(r,e,by(0,t)):r[e]=t}});var hl=a(()=>{"use strict";var yy=R(),Iy=Cr(),Sy=pl();yy({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Iy(e,function(i,o){Sy(t,i,o)},{AS_ENTRIES:!0}),t}})});var gl=a((NE,vl)=>{"use strict";ro();hl();var _y=ue();vl.exports=_y.Object.fromEntries});var bl=a((kE,ml)=>{"use strict";ml.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 Il=a(()=>{"use strict";ro();var Ey=bl(),Py=I(),Ty=We(),yl=oe();for(Fr in Ey)Ty(Py[Fr],Fr),yl[Fr]=yl.Array;var Fr});var _l=a((ME,Sl)=>{"use strict";var wy=gl();Il();Sl.exports=wy});var Pl=a((VE,El)=>{"use strict";var Oy=_l();El.exports=Oy});var so=a((LP,Fl)=>{"use strict";var ky=je(),Dy=String;Fl.exports=function(r){if(ky(r)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return Dy(r)}});var Ul=a((NP,Bl)=>{"use strict";var $y=dr(),My=so(),Vy=se(),Fy=RangeError;Bl.exports=function(e){var t=My(Vy(this)),i="",o=$y(e);if(o<0||o===1/0)throw new Fy("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(t+=t))o&1&&(i+=t);return i}});var Gl=a((kP,Kl)=>{"use strict";var Hl=O(),By=$t(),jl=so(),Uy=Ul(),jy=se(),Wy=Hl(Uy),Hy=Hl("".slice),Ky=Math.ceil,Wl=function(r){return function(e,t,i){var o=jl(jy(e)),n=By(t),s=o.length,u=i===void 0?" ":jl(i),l,d;return n<=s||u===""?o:(l=n-s,d=Wy(u,Ky(l/u.length)),d.length>l&&(d=Hy(d,0,l)),r?o+d:d+o)}};Kl.exports={start:Wl(!1),end:Wl(!0)}});var Ql=a((DP,zl)=>{"use strict";var Gy=X();zl.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Gy)});var Yl=a(()=>{"use strict";var zy=R(),Qy=Gl().start,Yy=Ql();zy({target:"String",proto:!0,forced:Yy},{padStart:function(e){return Qy(this,e,arguments.length>1?arguments[1]:void 0)}})});var Xl=a((VP,Jl)=>{"use strict";Yl();var Jy=fr();Jl.exports=Jy("String","padStart")});var ed=a((FP,Zl)=>{"use strict";var Xy=Xl();Zl.exports=Xy});var uo=a((BP,rd)=>{"use strict";var Zy=ed();rd.exports=Zy});var ho=P(pe(),1);var Be=(s=>(s.PROD="prod",s.VK_ALIAS="vk_alias",s.VIDEOTEST="videotest",s.TEST="test",s.OKCDN="okcdn",s.AUTO="auto",s))(Be||{}),Bt=(d=>(d.Q144P="mobile",d.Q240P="lowest",d.Q360P="low",d.Q480P="medium",d.Q720P="high",d.Q1080P="fullhd",d.Q1440P="quadhd",d.Q2160P="ultrahd",d.UNKNOWN="unknown",d))(Bt||{}),Ut=(f=>(f.MP4="mp4",f.DASH="dash",f.DASH_SEP="dash_sep",f.ONDEMAND_DASH="ondemand_dash",f.HLS="hls",f.ONDEMAND_HLS="ondemand_hls",f.WEBM="webm",f.AV1="av1",f.ONDEMAND_DASH_LIVE="ondemand_dash_live",f.ONDEMAND_HLS_LIVE="ondemand_hls_live",f.WEBRTC="webrtc",f.UNKNOWN="unknown",f.RTMP="rtmp",f))(Ut||{});var jt=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.HTTP3="http3",i))(jt||{});var Wt=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(Wt||{}),Ia=(n=>(n.GRAPH_SHOW="iGraphShow",n.GRAPH_HIDE="iGraphHide",n.NEXT_AREA="iNextChapterArea",n.NEXT_BUTTON="iNextChapterBtn",n.WATCH_AGAIN="iWatchAgainBtn",n))(Ia||{}),Sa={action_play:"ap",action_play_interactive:"api",first_bytes:"fb",player_ready:"pr",first_frame:"ff",seek:"sk",watch_coverage_record:"wr",watch_coverage_live:"wl",empty_buffer:"eb",action_stop:"as",close_at_empty_buffer:"cb",content_error:"er",player_interface_click:"pc",next_movie:"nm",track_switch:"ts",failover:"fo",quality:"qt"},_a={vsid:"si",isid:"is",vid:"vi",place:"pl",quality:"qt",cdn_host:"ch",stat_type:"st",param:"pm",vk_app_id:"va",track_code:"tc",connection_type:"cnt",connection_reused:"cr",cached_data:"cd",live:"lv",muted:"mu",mode:"mo",subtitles:"sb",failover:"fo",download_speed:"ds",manual_quality:"mq",ref_domain:"rd",direct_url:"du"},Ea={unknown:"un",mobile:"m",lowest:"ls",low:"l",medium:"md",high:"h",fullhd:"f",quadhd:"q",ultrahd:"u"},Pa={pip:"pi",fullscreen:"fs",external:"ex",prefetch:"pr",airplay:"ap",chromecast:"cc",invisible:"iv"};import{fillWithDefault as yh}from"@vkontakte/videoplayer-shared";var pr="__VERSION__",Ta="CIOPGQJGDIHBABABA",Ht={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var Ih={apiEnv:"vk_alias",apiKey:Ta,requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageInterval:15e3,disabledOperations:["quality"],disabledCustomFields:[],shorten:!0,maxLoops:100,embedUrlParams:[],useBeacon:!0,synchronizeTime:!0,debugLog:!1,clearStorageAtUnload:!0,useVKComIsMobileLogic:!1,backoff:{start:1e3,factor:1.5,max:5*60*1e3,random:.1}},wa=r=>yh(r,Ih);function Kt(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}import{assertNonNullable as aI,combine as ud,fromEvent as cd,isNonNullable as Ae,isNullable as ld,merge as sI,now as G,observableFrom as uI,once as cI,safeStorage as dd,Subject as lI,Subscription as vo,ValueSubject as Qr,createURL as fd}from"@vkontakte/videoplayer-shared";import{Logger as dI,detectEmbed as fI}from"@vkontakte/videoplayer-shared";var Br=P(Mi(),1);var Tl=P(Ee(),1),wl=P(Pl(),1);var Ol=r=>{let{operation:e,custom:t}=r,i=(0,wl.default)((0,Tl.default)(t).map(([o,n])=>{let s=_a[o]??o,u=n;return n&&(o==="mode"?u=Pa[n]??n:o==="quality"&&(u=Ea[n]??n)),[s,u]}));return{...r,operation:Sa[e]??e,custom:i}};import{ValueSubject as Ay,getExponentialDelay as qy,ErrorCategory as Pe}from"@vkontakte/videoplayer-shared";var xy=/Mobile|mini|Fennec|Android|iP(ad|od|hone)|opera (mini|mobi)/i,er=class{constructor(e){this.consequentAuthErrors=0;this.authorized$=new Ay(!1);this.params=e}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this._authorizeWithBackoff()}logBeacon(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey??await this._authorizeWithBackoff();if(!o)return;let n=async(s,u=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,o)}catch(l){if(!l||!("error_code"in l)){this.params.error$.next({id:"logRequestUnknown",category:Pe.NETWORK,message:`Unknown ${t} error`,thrown:l});return}let d=l?.error_code;switch(d){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;default:{this.params.error$.next({id:`LogRequest#${d}`,category:Pe.EXTERNAL_API,message:`${t} error`,data:l});return}}}};return n(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,Br.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){let t="WEB",i=!1,o=`@vkontakte/videoplayer-statistics:${pr}`;if(this.params.config.useVKComIsMobileLogic){let{appVersion:n}=window.navigator;i=xy.test(n)}else this.params.mobile&&(i=!0);return i&&(t="M_WEB"),this.params.vktvVersion&&(t="SMART_TV",o=this.params.vktvVersion),{collector:"ok.mobile.apps.video",data:JSON.stringify({application:o,platform:t,items:this.params.config.shorten?e.map(Ol):e})}}_authorizeWithBackoff(){if(!this.consequentAuthErrors)return this._authorize();let e=qy(this.consequentAuthErrors,this.params.config.backoff);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(()=>{(0,Br.default)(this._authorize().then(t).catch(i=>this.params.error$.next({id:"AuthorizeBackoff",category:Pe.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})),()=>this.backoffTimeoutId=0)},e))})}async _authorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:pr.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,Br.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:Pe.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this._authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:Pe.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:Pe.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var{NativeAbortSignal:JE,NativeAbortController:XE}=function(r){return{NativeAbortSignal:r.AbortSignal,NativeAbortController:r.AbortController}}(typeof self<"u"?self:global);function Al(r){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=r,e}function ql(r){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"),Object.defineProperty(r,"name",{value:"AbortError"})}catch{r=new Error("This operation was aborted"),r.name="AbortError"}return r}var Ur=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let o=0,n=i.length;o<n;o++)if(i[o].callback===t){i.splice(o,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let o=0,n=i.length;o<n;o++){let s=i[o];try{s.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}s.options&&s.options.once&&this.removeEventListener(e.type,s.callback)}return!e.defaultPrevented}},Te=class extends Ur{constructor(){super(),this.listeners||Ur.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)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new ne;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new ne;function i(){t.abort(this.reason),o()}function o(){for(let n of e)n.removeEventListener("abort",i)}for(let n of e)if(n.aborted){t.abort(n.reason);break}else n.addEventListener("abort",i);return t.signal}},ne=class{constructor(){Object.defineProperty(this,"signal",{value:new Te,writable:!0,configurable:!0})}abort(e){let t=ql(e),i=Al(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(ne.prototype[Symbol.toStringTag]="AbortController",Te.prototype[Symbol.toStringTag]="AbortSignal");function jr(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function to(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o=!1}=r;if(!jr({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o}))return{fetch:e,Request:n};let n=t;(n&&!n.prototype.hasOwnProperty("signal")||o)&&(n=function(d,p){let h;p&&p.signal&&(h=p.signal,delete p.signal);let c=new t(d,p);return h&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:h}),c},n.prototype=t.prototype);let s=e;return{fetch:(l,d)=>{let p=n&&n.prototype.isPrototypeOf(l)?l.signal:d?d.signal:void 0;if(p){let h;try{h=new DOMException("Aborted","AbortError")}catch{h=new Error("Aborted"),h.name="AbortError"}if(p.aborted)return Promise.reject(h);let c=new Promise((f,v)=>{p.addEventListener("abort",()=>v(h),{once:!0})});return d&&d.signal&&delete d.signal,Promise.race([c,s(l,d)])}return s(l,d)},Request:n}}var Ry=()=>"fetch"in window,rr=Ry()&&jr({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),xl=rr?to({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,we=rr?xl.fetch:window.fetch,uP=rr?xl.Request:window.Request,cP=rr?ne:window.AbortController,lP=rr?Te:window.AbortSignal;var Rl=P(pe(),1),Cl=P(Ee(),1);import{ErrorCategory as Wr,now as io}from"@vkontakte/videoplayer-shared";var tr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=Ht[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await we(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"OneStat:ApiTransport:resolveApiBaseUrl",category:Wr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),Ht.vk_alias}finally{this.isApiBaseUrlFetched=!0}}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this._prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:Wr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i){let o=io(),n=s=>{if(s instanceof TypeError&&(0,Rl.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],s.message)){this.params.error$.next({id:"Network",category:Wr.NETWORK,message:"Request failed",thrown:s});return}this.params.error$.next({id:"OneStat:ApiTransport:sendRequest",category:Wr.NETWORK,message:"Unhandled request error",thrown:s,data:{method:e,params:t,sessionKey:i,time:io()-o}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),we(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded"},body:this._prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(s=>{let u=Number(s.headers.get("content-length"))===0,l=new Date(s.headers.get("date")??"").getTime(),d=io()-o;if(isFinite(l)&&this.timeSynchronisation?.addServerTime(l,d),!u)return s.json().then(p=>Object.prototype.hasOwnProperty.call(p,"error_msg")?Promise.reject(p):p,n)},n)}_prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,Cl.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var Nl=P(pe(),1),kl=P(Ee(),1);import{ErrorCategory as Cy,now as Ly,safeStorage as ir,debounceFn as Ll}from"@vkontakte/videoplayer-shared";var Hr="onestat_events",oo=r=>e=>e.timestamp+r>=Ly(),Kr=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{operation:t}=e;return(0,Nl.default)(["action_play","watch_coverage_record","watch_coverage_live"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=Ll(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=ir.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=Ll(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:Cy.WTF,message:e?String(e):"Unknown logger error",thrown:e})}}readFromStorage(){let e=ir.get(Hr);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(oo(this.params.config.storageExpiration));ir.set(Hr,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(oo(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],ir.set(Hr,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,kl.default)(e)){let o=i.filter(oo(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}ir.set(Hr,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.custom.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.custom.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};import{HttpConnectionType as no,Surface as Oe,VideoFormat as w,VideoQuality as $}from"@vkontakte/videoplayer-core";import{assertNever as Dl}from"@vkontakte/videoplayer-shared";var $l=r=>r&&{[$.INVARIANT]:"unknown",[$.Q_144P]:"mobile",[$.Q_240P]:"lowest",[$.Q_360P]:"low",[$.Q_480P]:"medium",[$.Q_576P]:"unknown",[$.Q_720P]:"high",[$.Q_1080P]:"fullhd",[$.Q_1440P]:"quadhd",[$.Q_2160P]:"ultrahd",[$.Q_4320P]:"unknown"}[r],ao=r=>r&&{[no.HTTP1]:"http1",[no.HTTP2]:"http2",[no.QUIC]:"http3"}[r],Ml=r=>{if(r!==void 0)switch(r){case w.MPEG:return"mp4";case w.DASH:case w.DASH_LIVE:case w.DASH_STREAMS:return"dash";case w.DASH_SEP:return"dash_sep";case w.DASH_ONDEMAND:return"ondemand_dash";case w.DASH_WEBM:case w.DASH_LIVE_WEBM:return"webm";case w.DASH_WEBM_AV1:return"av1";case w.DASH_LIVE_CMAF:return"ondemand_dash_live";case w.HLS:case w.HLS_LIVE:return"hls";case w.HLS_ONDEMAND:return"ondemand_hls";case w.HLS_LIVE_CMAF:return"ondemand_hls_live";case w.WEB_RTC_LIVE:return"webrtc";default:return Dl(r)}},Gr=r=>{if(r!==void 0)switch(r){case Oe.NONE:case Oe.INLINE:return;case Oe.FULLSCREEN:return"fullscreen";case Oe.SECOND_SCREEN:return"chromecast";case Oe.PIP:return"pip";case Oe.INVISIBLE:return"invisible";default:return Dl(r)}},Vl=r=>{switch(r){case"slow-2g":return"poor";case"2g":return"poor";case"3g":return"good";case"4g":return"excellent"}};var zr=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};var co=P(uo(),1),td=()=>(0,co.default)(Math.floor(Math.random()*2**32).toString(36),7,"0"),id=()=>(0,co.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");import{PlaybackState as od}from"@vkontakte/videoplayer-core";import{filter as nd,filterChanged as eI,fromEvent as rI,isNullable as ad,map as tI,merge as lo,Observable as iI,Subject as fo,Subscription as oI,ValueSubject as nI}from"@vkontakte/videoplayer-shared";var sd=(r,e)=>new iI(t=>{let i=new oI,o=lo(rI(window,"beforeunload"),r.events.willDestruct$),n=new nI(void 0),s;i.add(r.info.isLive$.pipe(eI()).subscribe(_=>{s&&(s.unsubscribe(),n.next(void 0)),_?s=r.info.liveTime$.pipe(tI(A=>A&&A/1e3)).subscribe(n):s=r.info.position$.subscribe(n),i.add(s)}));let{playing$:u,paused$:l}=r.events,d=r.events.willSeek$.pipe(nd(()=>r.info.playbackState$.getValue()===od.PLAYING)),p=r.events.seeked$.pipe(nd(()=>r.info.playbackState$.getValue()===od.PLAYING)),h=!1,c=new fo;i.add(d.subscribe(()=>{h||c.next(),h=!0})),i.add(p.subscribe(()=>h=!1));let f=new fo,v=new fo,g=lo(u,p,f),b=lo(l,c,o,r.events.looped$,v),m,y=()=>m=n.getValue(),B=()=>{let _=n.getValue();ad(m)||m===_||ad(_)||(t.next({from:m,to:_}),m=void 0)},U=()=>{v.next(),f.next()};if(i.add(g.subscribe(y)),i.add(b.subscribe(B)),e.forceInterval&&isFinite(e.forceInterval)){let _=0;i.add(g.subscribe(()=>_=window.setTimeout(U,e.forceInterval))),i.add(b.subscribe(()=>window.clearTimeout(_)))}return i});var pI="_one-stat_",pd=`${pI}deviceId`,po=()=>{let r=new vo;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},go=class{constructor(e,t){this.subscription=new vo;this.debugLogger=new dI;this.oneStatDebugLog=this.debugLogger.createComponentLog("onestat");this.loopCounter=0;this.disabled=!1;this.vsid$=new Qr(void 0);this.isid$=new Qr(void 0);this.zenUid$=new Qr(void 0);this.seekAction$=new Qr("unknown");this.statContext=e,this.config=wa(t.config??{}),Ae(t.apiEnv)&&(this.config.apiEnv=t.apiEnv),this.config.synchronizeTime&&(this.timeSynchronisation=new zr);let i=new lI;this.experimental={error$:i};let o=dd.get(pd);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=Kt(),dd.set(pd,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??id()),this.zenUid$.next(t.zenUid);let n=new tr({config:this.config,error$:i,timeSynchronisation:this.timeSynchronisation});this.api=new er({config:this.config,apiTransport:n,refreshAuthToken:t.refreshAuthToken,mobile:this.statContext.mobile??!1,deviceId:this.deviceId,error$:i,vktvVersion:t.vktvVersion}),this.logger=new Kr({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=fI();this.isEmbed=s,this.embedParent=u?new URL(u).hostname:void 0,this.subscribe()}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new vo,i=(c,f)=>t.add(c.subscribe(f));i(e.events.willStart$,()=>{let c=e.info.position$.getValue();this.logActionPlay({position:c}),this.statContext.projectId&&this.logActionPlayInteractive()}),i(e.events.looped$,()=>{this.resetViewSession(),++this.loopCounter>this.config.maxLoops&&(this.disabled=!0),this.logActionPlay({position:e.info.position$.getValue()})}),i(e.events.seeked$,()=>{this.logSeek({action:this.seekAction$.getValue(),time:e.info.position$.getValue()}),this.seekAction$.next("unknown")}),i(e.events.paused$,()=>{this.logPause({position:e.info.position$.getValue()})}),i(e.events.willResume$,()=>{this.logPlay()}),i(e.events.started$,()=>{this.statContext.clip&&this.logWatchCoverageRecord({start:0,end:0})}),i(e.events.playing$,()=>{this.logPlaying()}),i(sd(e,{forceInterval:this.config.watchCoverageInterval}),c=>{let f=e.info.isLive$.getValue(),v=e.info.atLiveEdge$.getValue(),g={start:parseFloat(c.from.toFixed(3)),end:parseFloat(c.to.toFixed(3))};if(v){let b=e.info.liveLatency$.getValue()??0,m=e.info.currentBuffer$.getValue()?.end??0,y=e.info.liveBufferTime$.getValue()??0,B=Math.round((b-(m-y))*1e3),U=Math.round(b*1e3);B&&U&&(g.latency=B,g.bufferLatency=U)}f?this.logWatchCoverageLive(g):this.logWatchCoverageRecord(g)});let o;i(e.info.isStalled$,c=>{c?o=G():(Ae(o)&&this.logEmptyBuffer({duration:G()-o}),o=void 0)});let n=!1;t.add(e.events.fatalError$.pipe(cI()).subscribe(()=>n=!0)),i(e.events.willStop$,()=>{if(e.info.isStalled$.getValue()){let f=Ae(o)?G()-o:void 0;this.logCloseAtEmptyBuffer({duration:f??0}),o=void 0}else n||this.logActionStop()}),i(e.events.managedError$,({id:c})=>{this.logError({fatal:!1,errorType:c})}),i(e.events.fatalError$,({id:c})=>{this.logError({fatal:!0,errorType:c})});let s,u,l=!1;i(e.events.firstBytes$,c=>{s=G(),this.logFirstBytes({time:c})}),i(e.events.willStart$,()=>u=G()),i(e.info.currentBuffer$,c=>{!l&&c&&c.end-c.start>0&&Ae(s)&&(this.logPlayerReady({duration:G()-s}),l=!0)}),i(e.events.firstFrame$,()=>{Ae(s)&&!l&&(this.logPlayerReady({duration:G()-s}),l=!0),Ae(u)&&this.logFirstFrame({time:G()-u})});let d;i(e.info.currentVideoStream$,c=>{c&&(d&&c.id!==d&&this.logTrackSwitch(c),d=c.id)});let p;i(e.info.currentAudioStream$,c=>{c&&(p&&c.id!==p&&this.logTrackSwitch(c),p=c.id)}),i(e.info.atLiveEdge$,c=>this.updateContext({liveEdge:c})),i(ud({muted:e.info.muted$,volume:e.info.volume$}),({muted:c,volume:f})=>this.updateContext({audible:!c&&f>0})),i(e.info.currentQuality$,c=>{let f=$l(c);this.updateContext({quality:f}),f&&this.logQuality(f)}),i(e.info.isAutoQualityEnabled$,c=>this.updateContext({autoQuality:c})),i(e.info.currentFormat$,c=>this.updateContext({contentType:Ml(c)})),i(e.info.currentPlaybackRate$,c=>this.updateContext({rate:c})),i(e.info.is3DVideo$,c=>this.updateContext({is3d:c}));let h;return i(e.info.hostname$,c=>{let f=h!==void 0&&h!==c;this.updateContext({cdnHostname:c,failover:f}),f&&this.logFailover(c),h=c}),i(e.info.throughputEstimation$,c=>this.updateContext({downloadSpeed:c})),i(e.info.httpConnectionType$,c=>{this.statContext.firstConnectionType||this.updateContext({firstConnectionType:ao(c)}),this.updateContext({connectionType:ao(c)})}),i(e.info.httpConnectionReused$,c=>{ld(this.statContext.firstConnectionReused)&&this.updateContext({firstConnectionReused:c}),this.updateContext({connectionReused:c})}),i(e.info.surface$,c=>this.updateContext({mode:Gr(c)})),i(ud({current:e.info.currentTextTrack$,available:e.info.availableTextTracks$}),({current:c,available:f})=>{let v=f.find(({id:b})=>b===c),g=v&&(v.isAuto?`${v.language}_auto`:v.language);this.updateContext({subtitles:g?.split(".")[0]})}),this.player=e,this.uiEvents&&this.attachToUi(this.uiEvents),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){this.uiEvents=e;let{subscription:t,subscribe:i}=po();return this.player&&(i(e.actionRewind$,()=>{this.player&&(this.resetViewSession(),this.logActionPlay({position:this.player.info.position$.getValue()}))}),i(e.actionSeek$,this.seekAction$),i(e.inPiP$,o=>{let n=o?"pip":Gr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.inFullscreen$,o=>{let n=o?"fullscreen":Gr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.actionSetSubtitle$,o=>this.updateContext({subtitles:o.split(".")[0]})),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t)),t}attachToAds(e){let{subscription:t,subscribe:i}=po();return i(e.slotRequested$,()=>this.logAdSlotRequest()),i(e.started$,o=>this.logAdStarted(o)),i(e.paused$,()=>this.logAdPaused()),i(e.resumed$,()=>this.logAdResumed()),i(e.ended$,()=>this.logAdEnded()),i(e.skipped$,()=>this.logAdSkipped()),i(e.clicked$,()=>this.logAdClicked()),i(e.error$,o=>this.logError({errorType:o,fatal:!1})),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToInteractive(e){let{subscription:t,subscribe:i}=po();return i(e.click$,o=>this.logInterfaceClick(o)),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t),t}authorize(e){return this.api.authorize(e)}pause(){this.logger.pause(),this.oneStatDebugLog({message:"paused"})}resume(){this.logger.resume(),this.oneStatDebugLog({message:"resumed"})}destroy(){this.logger.flush(),this.subscription.unsubscribe(),this.api.destroy(),this.logger.destroy()}resetViewSession(){this.oneStatDebugLog({message:"VSID reset"}),this.vsid$.next(td())}getDeviceId(){return this.deviceId}setFieldBlacklist(){}logInited(){}logReady(e){this.log({operation:"player_ready",param:String(e.time)})}logStarted(...e){this.logActionPlay(...e)}logPlay(){this.log({operation:"play_toggle"})}logPlaying(){this.log({operation:"playing"})}logPause(e){this.log({operation:"pause",param:String(Math.round(e.position))})}logSeek(e){this.log({operation:"seek",param:e.action,time:e.time})}logFirstBytes(e){this.log({operation:"first_bytes",param:String(e.time)})}logFirstFrame(e){this.log({operation:"first_frame",param:String(e.time)})}logError(e){this.log({operation:"content_error",param:`${e.fatal?"fatal":"recoverable"}_${e.errorType}`})}logWatchCoverageRecord(e){this.log({operation:"watch_coverage_record",param:`${e.start}-${e.end}`},{in_history:this.statContext.inHistory?1:void 0})}logWatchCoverageLive(e){let t=this.timeSynchronisation?.getOffset()??0,i=e.start+t,o=e.end+t;this.log({operation:"watch_coverage_live",param:`${i}-${o}`},{in_history:this.statContext.inHistory?1:void 0,latency:e.latency,buffer_latency:e.bufferLatency})}logEmptyBuffer(e){this.log({operation:"empty_buffer",param:String(e.duration)})}logDownloadSpeed(){}logAdSlotRequest(){this.log({operation:"adv",param:"slot_request"})}logAdStarted(e){this.log({operation:"adv",param:e})}logAdPaused(){this.log({operation:"adv",param:"pause"})}logAdResumed(){this.log({operation:"adv",param:"resume"})}logAdEnded(){this.log({operation:"adv",param:"ended"})}logAdSkipped(){this.log({operation:"adv",param:"skip"})}logAdClicked(){this.log({operation:"adv",param:"click"})}logInterfaceClick(e){this.log({operation:"player_interface_click",param:e})}logNextMovie(e){this.log({operation:"next_movie",param:String(e)})}subscribe(){this.resubscribeBeforeunload();let e=window.navigator.connection;e&&"onchange"in e&&"effectiveType"in e&&this.subscription.add(sI(cd(e,"change"),uI(["init"])).subscribe(()=>this.updateContext({network:Vl(e.effectiveType)}))),this.config.debugLog&&this.debugLogger.log$.subscribe(t=>{console.debug("%c stat ","background:#fa6470;",`component: ${t.component}.`,t.message)})}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=cd(window,"beforeunload").subscribe(()=>this.logger.flush({wantBeacon:!0,clearStorage:this.config.clearStorageAtUnload})),this.subscription.add(this.beforeunloadSubscription)}logPlayerReady(e){this.log({operation:"player_ready",param:String(Math.round(e.duration))})}logActionPlay(e){this.log({operation:"action_play",param:String(Math.round(e.position))})}logActionPlayInteractive(){this.statContext.projectId&&this.log({operation:"action_play_interactive",param:String(this.statContext.movieId)},{vid:this.statContext.projectId})}logFailover(e){this.log({operation:"failover",param:e})}logCloseAtEmptyBuffer(e){this.log({operation:"close_at_empty_buffer",param:String(Math.round(e.duration))})}logActionStop(){this.log({operation:"action_stop"})}logTrackSwitch(e){this.log({operation:"track_switch",param:e.id})}logQuality(e){this.log({operation:"quality",param:e})}log(e,t={}){if(this.disabled){this.oneStatDebugLog({message:`operation ${e.operation} but statistics is disabled`});return}if((0,ho.default)(this.config.disabledOperations,e.operation)){this.oneStatDebugLog({message:`operation ${e.operation} but it is disabled`});return}this.oneStatDebugLog({message:`operation ${e.operation} ${e.param}`});let i=this.createLogItem(e,t);this.logger.log(i)}createLogItem({operation:e,param:t,time:i},o={}){let n=this.timeSynchronisation?.now()??G(),s=this.vsid$.getValue();aI(s);let u=this.isid$.getValue(),l=e==="empty_buffer"||e==="close_at_empty_buffer"?this.statContext.connectionType:this.statContext.firstConnectionType,d=this.statContext.firstConnectionReused,p,h;if(this.isEmbed||this.statContext.place==="embed"){p=this.embedParent;let f=[...new URLSearchParams(location.search).entries()].filter(([v,g])=>(0,ho.default)(this.config.embedUrlParams,v));h=new URLSearchParams(f).toString()}else this.statContext.place==="direct"&&(this.statContext.refDomain?p=fd(this.statContext.refDomain)?.hostname??this.statContext.refDomain:document.referrer&&(p=fd(document.referrer)?.hostname??document.referrer),h=location.href.substring(0,1024));let c={vsid:s,isid:u,vid:this.statContext.movieId,uid:this.zenUid$.getValue(),ct:this.statContext.contentType,place:this.isEmbed?"embed":this.statContext.place,quality:this.statContext.quality,cdn_host:this.statContext.cdnHostname,stat_type:this.statContext.autoplay===!0?"auto":this.statContext.autoplay===!1?"":void 0,param:t,vk_app_id:this.statContext.vkAppId,track_code:this.statContext.trackCode,connection_type:l,connection_reused:d===!0?1:d===!1?0:void 0,cached_data:this.statContext.cached===!0?1:this.statContext.cached===!1?0:void 0,live:this.statContext.liveEdge?1:void 0,muted:this.statContext.audible===!1?1:void 0,mode:this.statContext.mode,subtitles:this.statContext.subtitles,download_speed:this.statContext.downloadSpeed,manual_quality:this.statContext.autoQuality?void 0:1,ref_domain:p,direct_url:h,rate:this.statContext.rate===1||ld(this.statContext.rate)?void 0:this.statContext.rate.toFixed(2),view_360:this.statContext.is3d?1:void 0,aid:this.statContext.albumId,vk_playlist_id:this.statContext.vkPlaylistId,...o};for(let f of this.config.disabledCustomFields)delete c[f];return{operation:e,type:1,time:i,network:this.statContext.network,timestamp:n,custom:c}}};var Bd={};Qd(Bd,{SeekType:()=>Yr,ThinOneStat:()=>ot,VERSION:()=>Q});import{assertNonNullable as AI,detectEmbed as qI,fromEvent as xI,Logger as RI,merge as $d,safeStorage as Md,Subject as CI,Subscription as wo,ValueSubject as it}from"@vkontakte/videoplayer-shared";import{clientChecker as ae,PlaybackState as Vd}from"@vkontakte/videoplayer-core";import{fillWithDefault as hI}from"@vkontakte/videoplayer-shared";var Yr=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(Yr||{});var Q="__VERSION__",vd="CIOPGQJGDIHBABABA",mo={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var vI={apiKey:vd,apiEnv:"vk_alias",requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageHeartbeatInterval:15,synchronizeTime:!0,useBeacon:!1,alwaysSendDesktop:!1},gd=r=>hI(r,vI);var bo=P(Mi(),1);import{getExponentialDelay as gI,ErrorCategory as qe,ValueSubject as mI}from"@vkontakte/videoplayer-shared";var Jr=class{constructor(e){this.params=e,this.authorized$=new mI(!1),this.consequentAuthErrors=0}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this.authorizeWithBackoff()}logBeacon(e){let t="log.logUvStat",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.logUvStat",i=this.createLogParams(e),o={},n=this.sessionKey??await this.authorizeWithBackoff();if(!n)return;let s=async(u,l=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,n,o)}catch(d){if(!d||!("error_code"in d)){this.params.error$.next({id:"logRequestUnknown",category:qe.NETWORK,message:`Unknown ${t} error`,thrown:d});return}let p=d?.error_code;switch(p){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;default:{this.params.error$.next({id:`LogRequest#${p}`,category:qe.EXTERNAL_API,message:`${t} error`,data:d});return}}}};return s(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,bo.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){return{collector:"ok.mobile.apps.video",uv_stat_data:JSON.stringify({application:`@vkontakte/videoplayer-statistics:${Q}`,platform:e[0].platform,product:e[0].product,events:e})}}authorizeWithBackoff(){if(!this.consequentAuthErrors)return this.doAuthorize();let e=gI(this.consequentAuthErrors);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(async()=>{try{let i=await this.doAuthorize();t(i)}catch(i){this.params.error$.next({id:"AuthorizeBackoff",category:qe.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})}finally{this.backoffTimeoutId=0}},e))})}doAuthorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:Q.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,bo.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:qe.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this.authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:qe.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:qe.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var md=P(pe(),1);var bd=P(Ee(),1);import{now as yo,ErrorCategory as Xr}from"@vkontakte/videoplayer-shared";var Zr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=mo[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this.prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:Xr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i,o){let n=yo(),s=u=>{if(u instanceof TypeError&&(0,md.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],u.message)){this.params.error$.next({id:"Network",category:Xr.NETWORK,message:"Request failed",thrown:u});return}this.params.error$.next({id:"ThinOneStat:ApiTransport:sendRequest",category:Xr.NETWORK,message:"Unhandled request error",thrown:u,data:{method:e,params:t,sessionKey:i,time:yo()-n}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),we(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded",...o},body:this.prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(u=>{let l=Number(u.headers.get("content-length"))===0,d=new Date(u.headers.get("date")??"").getTime(),p=yo()-n;if(isFinite(d)&&this.timeSynchronisation?.addServerTime(d,p),!l)return u.json().then(h=>Object.prototype.hasOwnProperty.call(h,"error_msg")?Promise.reject(h):h,s)},s)}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await we(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"ThinOneStat:ApiTransport:resolveApiBaseUrl",category:Xr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),mo.vk_alias}finally{this.isApiBaseUrlFetched=!0}}prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,bd.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var Id=P(pe(),1),Sd=P(Ee(),1);import{ErrorCategory as bI,now as yI,safeStorage as or,debounceFn as yd}from"@vkontakte/videoplayer-shared";var et="thinonestat_events",Io=r=>e=>e.client_time+r>=yI(),rt=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{event_name:t}=e;return(0,Id.default)(["watch_coverage","watch_coverage_live","watched_n","playback_started"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=yd(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=or.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=yd(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:bI.WTF,message:String(e)||"Unknown logger error",thrown:e})}}readFromStorage(){let e=or.get(et);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(Io(this.params.config.storageExpiration));or.set(et,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(Io(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],or.set(et,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,Sd.default)(e)){let o=i.filter(Io(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}or.set(et,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};function So(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}var tt=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};import{PlaybackState as _d}from"@vkontakte/videoplayer-core";import{Observable as II,Subscription as SI,ValueSubject as _I,Subject as _o,fromEvent as EI,isNullable as Ed,merge as Eo,filter as Pd,filterChanged as Td}from"@vkontakte/videoplayer-shared";var wd=(r,e)=>new II(t=>{let i=new SI,o=new _I(void 0),n;i.add(r.info.isLive$.pipe(Td()).subscribe(A=>{n&&(n.unsubscribe(),o.next(void 0)),A?n=r.info.liveTime$.pipe(Td()).subscribe(o):n=r.info.position$.subscribe(o),i.add(n)}));let{playing$:s,paused$:u,ended$:l,looped$:d}=r.events,p=r.events.willSeek$.pipe(Pd(()=>r.info.playbackState$.getValue()===_d.PLAYING)),h=r.events.seeked$.pipe(Pd(()=>r.info.playbackState$.getValue()===_d.PLAYING)),c=!1,f=new _o;i.add(p.subscribe(()=>{c||f.next(),c=!0})).add(h.subscribe(()=>c=!1));let v=Eo(EI(window,"beforeunload"),r.events.willDestruct$),g,b=()=>g=o.getValue(),m=()=>{let A=o.getValue();Ed(g)||Ed(A)||g===A||(t.next({from:g,to:A}),g=void 0)},y=new _o,B=new _o,U=Eo(s,f,y),_=Eo(u,h,v,l,d,B);if(i.add(U.subscribe(b)).add(_.subscribe(m)),e.heartbeatInterval&&isFinite(e.heartbeatInterval)){let A=[],Ud=e.heartbeatInterval*1e3,jd=()=>{B.next(),y.next()};i.add(U.subscribe(()=>{let nt=window.setTimeout(jd,Ud);A.push(nt)})).add(_.subscribe(()=>{A.forEach(nt=>{window.clearTimeout(nt)}),A=[]}))}return i});import{Subscription as PI}from"@vkontakte/videoplayer-core";import{Observable as TI}from"@vkontakte/videoplayer-shared";var Od=(r,e)=>new TI(t=>{let i=new PI,o=1e4,n=0;return i.add(r.info.position$.subscribe(()=>{let s=e.getTotalViewTime()*1e3;s>n&&s%o===0&&(n=s,t.next({target_duration:o,current_tvt:s}))})),i});import{Observable as wI,Subscription as OI,merge as Ad}from"@vkontakte/videoplayer-shared";var qd=r=>new wI(e=>{let t=new OI,i=0,o=1,n=0,s=!1,u=!1,l=()=>{if(!s)return;let _=Date.now();n+=(_-i)*o,i=_},d=()=>{(!s||u)&&(i=Date.now(),s=!0,u=!1)},p=()=>{s&&(l(),s=!1)},h=()=>{s&&(l(),s=!1,u=!0)},c=_=>{s&&l(),o=_,i=Date.now()},{started$:f,playing$:v,paused$:g,willSeek$:b,ended$:m,willDestruct$:y}=r.events,{currentPlaybackRate$:B}=r.info;t.add(b.subscribe(h)).add(Ad(f,v).subscribe(d)).add(Ad(g,m,y).subscribe(p)).add(B.subscribe(c));let U=()=>{let _=n;return s&&(_+=(Date.now()-i)*o),Math.floor(_/1e3)};return e.next(U),t});import{assertNever as xd}from"@vkontakte/videoplayer-shared";import{Surface as xe,VideoFormat as E,VideoQuality as M}from"@vkontakte/videoplayer-core";var Po=r=>{if(r!==void 0)switch(r){case E.MPEG:return"MP4";case E.DASH:case E.DASH_LIVE:return"DASH";case E.DASH_SEP:return"DASH_SEP";case E.DASH_ONDEMAND:return"ONDEMAND_DASH";case E.HLS_ONDEMAND:return"ONDEMAND_HLS";case E.HLS:case E.HLS_LIVE:return"HLS";case E.DASH_WEBM:case E.DASH_LIVE_WEBM:return"WEBM";case E.DASH_LIVE_CMAF:return"ONDEMAND_DASH_LIVE";case E.HLS_LIVE_CMAF:return"ONDEMAND_HLS_LIVE";case E.WEB_RTC_LIVE:return"WEBRTC";case E.DASH_WEBM_AV1:return"AV1";case E.DASH_STREAMS:return"MULTI_DASH";default:return xd(r)}},Y=r=>{if(r!==void 0)switch(r){case M.Q_144P:return"144p";case M.Q_240P:return"240p";case M.Q_360P:return"360p";case M.Q_480P:return"480p";case M.Q_720P:return"720p";case M.Q_1080P:return"1080p";case M.Q_1440P:return"1440p";case M.Q_2160P:return"2160p";case M.INVARIANT:case M.Q_576P:case M.Q_4320P:return"UNKNOWN";default:return xd(r)}},Rd=r=>{if(r!==void 0)switch(r){case"MP4":case"ONDEMAND_DASH":case"ONDEMAND_DASH_LIVE":case"ONDEMAND_HLS":case"ONDEMAND_HLS_LIVE":case"MULTI_DASH":case"WEBM":case"AV1":return"vod";case"DASH":case"HLS":case"WEBRTC":return"live";default:return}},Cd=(r,e,t)=>{if(r&&e)switch(r){case E.MPEG:return t&&e[r]&&e[r][t];default:return e[r]?.url}},Ld=r=>{if(r!==void 0)switch(r){case xe.NONE:return;case xe.INLINE:return"inline";case xe.FULLSCREEN:return"fullscreen";case xe.SECOND_SCREEN:return"chromecast";case xe.PIP:return"pip_external"}},Nd=r=>{if(r!==void 0)return r===xe.INVISIBLE?"background":"foreground"};var To=P(uo(),1),kd=()=>(0,To.default)(Math.floor(Math.random()*2**32).toString(36),13,"0"),Dd=()=>(0,To.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");var LI="_thin-one-stat_",Fd=`${LI}deviceId`,NI=()=>{let r=new wo;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},ot=class{constructor(e,t){this.debugLogger=new RI;this.thinOneStatDebugLog=this.debugLogger.createComponentLog("ThinOneStat");this.eventNumber=1;this.seekAction$=new it("unknown");this.playerSize$=new it({width:0,height:0});this.vsid$=new it(void 0);this.isid$=new it(void 0);this.statContext=e,this.config=gd(t.config??{}),this.subscription=new wo,this.config.synchronizeTime&&(this.timeSynchronisation=new tt);let i=new CI,o=Md.get(Fd);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=So(),Md.set(Fd,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??Dd());let n=new Zr({error$:i,config:this.config,timeSynchronisation:this.timeSynchronisation});this.api=new Jr({config:this.config,apiTransport:n,error$:i,deviceId:this.deviceId,refreshAuthToken:t.refreshAuthToken}),this.logger=new rt({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=qI();this.isEmbed=s,this.embedHostname=u?new URL(u).hostname:void 0}authorize(e){return this.api.authorize(e)}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new wo,i=(n,s)=>t.add(n.subscribe(s));i(qd(e),n=>{this.getTotalViewTime=n}),i(e.info.isLive$,n=>this.isLive=n),i(e.info.position$,n=>this.position=n);let o;return i(e.info.hostname$,n=>{o!==void 0&&o!==n&&this.logFailover({cdn_host:n}),this.cdnHostname=o=n}),i(wd(e,{heartbeatInterval:this.config.watchCoverageHeartbeatInterval}),n=>{let s=Math.round(n.from*1e3),u=Math.round(n.to*1e3),l={watch_interval:`${s}-${u}`,in_history:!!this.statContext.inHistory,content_type:Po(e.info.currentFormat$.getValue()),playback_quality:Y(e.info.currentQuality$.getValue()),recom_info:this.statContext.recomInfo};if(!e.info.isLive$.getValue())this.logWatchCoverage(l);else{let p=e.info.atLiveEdge$.getValue();this.logWatchCoverageLive({...l,live:!!p})}}),i(Od(e,{getTotalViewTime:this.getTotalViewTime}),n=>{this.logWatchedN(n)}),i($d(e.events.willStart$,e.events.looped$),n=>{n&&this.resetViewSession();let s={isid:this.isid$.getValue(),stream_profile:Rd(Po(e.info.currentFormat$.getValue())),dpi:ae.display.pixelRatio,web_layout:ae.device.isMobile?"mobile":"desktop",iframe_host:this.isEmbed?this.embedHostname??void 0:null,from_downloads:!0,preloaded:this.statContext.preload,navigation:this.statContext.navigation,recom_info:this.statContext.recomInfo};this.logStartSession(s)}),i(e.events.willReady$,()=>{if(this.statContext.preload){let n=e.info.currentFormat$.getValue(),s=e.info.availableSources$.getValue(),u=e.info.currentBuffer$.getValue(),l=e.info.currentQuality$.getValue(),d={target_buffer_time:u?u.end-u.start:void 0,playback_url:Cd(n,s,l),playback_quality:Y(l)};this.logPreloadStarted(d)}}),i(e.events.ready$,()=>{if(this.statContext.preload){let n=e.info.currentBuffer$.getValue(),s={buffer_time:n?n.end-n.start:void 0};this.logPreloadEnded(s)}}),i(e.events.playing$,()=>{this.logPlay()}),i(e.info.playbackState$,n=>{if(n===Vd.PLAYING){let s=e.info.currentBuffer$.getValue(),u={buffer_time:s?s.end-s.start:void 0};if(this.logPlaying(u),this.isStarted)this.logResume();else{this.isStarted=!0;let l=e.info.currentQuality$.getValue(),d=e.info.isAutoQualityEnabled$.getValue(),p=e.info.muted$.getValue(),h=e.info.volume$.getValue(),c=e.info.surface$.getValue(),f=e.info.availableTextTracks$.getValue(),v=e.info.currentTextTrack$.getValue(),g=e.info.currentAudioStream$.getValue(),b=e.info.currentPlaybackRate$.getValue(),m={playback_quality:Y(l),user_quality:d?"auto":Y(l),player_width:this.playerSize$.getValue().width,player_height:this.playerSize$.getValue().height,muted:p,sound_volume:h,buffer_time:s?Math.round(s.end-s.start):void 0,mode:Ld(c),visibility:Nd(c),subtitles_enabled:!!v,auto_subtitles:!!f.find(({id:y})=>y===v)?.isAuto,audio_track_lang:g?.language,playback_rate:b,recom_info:this.statContext.recomInfo};this.logPlaybackStarted(m)}}else n===Vd.PAUSED&&this.logPause()}),i(e.events.willSeek$,({to:n})=>{let s={target_position:n,seek_type:this.seekAction$.getValue()};this.logSeeking(s)}),i(e.events.seeked$,()=>{let s={target_position:e.info.position$.getValue(),seek_type:this.seekAction$.getValue()};this.logSeeked(s),this.seekAction$.next("unknown")}),i($d(e.info.isBuffering$,e.info.isStalled$),n=>{n&&this.logShowLoader()}),i(e.info.currentQuality$,n=>{if(n){let s=e.info.isAutoQualityEnabled$.getValue(),u=e.info.currentVideoStream$.getValue()?.codec,l=e.info.currentAudioStream$.getValue()?.codec,d={user_quality:s?"auto":Y(n),playback_quality:Y(n),download_quality:Y(n),codec_info:u&&l?`${u},${l}`:void 0,manual_switch:!s};this.logQualityChanged(d)}}),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){let{subscribe:t,subscription:i}=NI();return t(e.actionSeek$,this.seekAction$),t(e.playerSize$,this.playerSize$),this.subscription.add(i),i}getDeviceId(){return this.deviceId}resetViewSession(){this.thinOneStatDebugLog({message:"VSID reset"}),this.vsid$.next(kd()),this.eventNumber=0}destroy(){this.api.destroy()}createRequiredParams(e){let t=this.vsid$.getValue();AI(t);let i=this.eventNumber++;return{vsid:t,uv_movie_id:this.statContext.movieId,event_name:e,client_time:Date.now(),application:`@vkontakte/videoplayer-statistics:${Q}`,platform:`web:${ae.device.isMobile?"mobile":"desktop"}`,product:this.statContext.product,event_number:i,playback_position:this.isLive?void 0:Math.round(this.position),current_tvt:this.getTotalViewTime(),cdn_host:this.cdnHostname}}createRequiredFatParams(){return{stats_version:Q,browser:ae.browser.current,browser_version:String(ae.browser.currentVersion),os:ae.device.current,os_version:"",device_type:ae.device.isMobile?"mobile":"desktop",navigation:this.statContext.navigation}}log(e,t,i=!1){let o=this.createRequiredParams(e),n={};i&&(n=this.createRequiredFatParams()),this.logger.log({...o,...n,...t})}logWatchCoverage(e){this.log("watch_coverage",e,!0)}logWatchCoverageLive(e){this.log("watch_coverage_live",e,!0)}logWatchedN(e){this.log("watched_n",e,!0)}logStartSession(e){this.log("start_session",e,!0)}logPreloadStarted(e){this.log("preload_started",e)}logPreloadEnded(e){this.log("preload_ended",e)}logPlaybackStarted(e){this.log("playback_started",e,!0)}logPlay(){this.log("play")}logPlaying(e){this.log("playing",e)}logPause(){this.log("pause")}logResume(){this.log("resume")}logSeeking(e){this.log("seeking",e)}logSeeked(e){this.log("seeked",e)}logShowLoader(){this.log("show_loader")}logQualityChanged(e){this.log("quality_changed",e)}logFailover(e){this.log("failover",e)}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=xI(window,"beforeunload").subscribe(()=>{}),this.subscription.add(this.beforeunloadSubscription)}};export{Be as ApiEnv,jt as ConnectionType,Ut as ContentType,Ia as InteractiveInterfaceClick,go as OneStat,Bt as Quality,Wt as SeekAction,Bd as ThinOneStat,pr as VERSION};