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