@vkontakte/videoplayer-shared 1.0.31-dev.0e8d526.0 → 1.0.31-dev.2d3fd91.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/es2018.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-shared v1.0.31-dev.0e8d526.0
3
- * Tue, 12 Dec 2023 11:25:06 GMT
2
+ * @vkontakte/videoplayer-shared v1.0.31-dev.2d3fd91.0
3
+ * Tue, 12 Dec 2023 10:53:29 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
5
5
  */
6
- const Yc="1.0.31-dev.0e8d526.0";class dr{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const V=r=>{throw new Error(`${r} is value of unexpected type`)},zc=r=>{},Q=()=>{};class y{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){var n;let a;t?typeof t=="function"?a={next:t,error:Q}:a={next:s=>t.next(s),error:s=>{var v;return(v=t.error)===null||v===void 0?void 0:v.call(t,s)}}:a={next:Q,error:Q};const o=typeof e=="function"?{next:s=>{try{e(s)}catch(v){a.next(v)}},error:s=>a.next(s)}:{next:s=>e.next(s),error:s=>e.error?e.error(s):a.next(s)};let i;try{i=this._subscribe(o)}catch(s){(n=o.error)===null||n===void 0||n.call(o,s)}return new dr().add(()=>{switch(o.next=Q,o.error=Q,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return V(i)}})}pipe(...e){return e.reduce((t,n)=>n(t),this)}_subscribe(e){}}class at extends y{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>{var n;return(n=t.error)===null||n===void 0?void 0:n.call(t,e)})}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new dr().add(()=>this.subscribers.delete(t))}}class Qc{constructor(){this.log$=new at,this.logs=[],this.log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...t)=>{let n;try{n=e(...t)}catch(a){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}}function Wc(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function Hc(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function cn(r){return typeof r!="undefined"&&r!==null}function ln(r){return r==null}function Xc(r,e){if(!(r!=null&&r.length))throw new Error(e)}function Jc(r,e){if(r!=null&&r.length)throw new Error(e)}const Zc=(r,e,t)=>new Promise((n,a)=>{e.addEventListener("abort",()=>{s(),c.remove()});const o=()=>{s(),a()},i=()=>{s(),n()},s=()=>{v&&clearTimeout(v),c.removeEventListener("load",i),c.removeEventListener("error",o)};let v;t&&(v=window.setTimeout(o,t));const c=document.createElement("script");c.addEventListener("load",i),c.addEventListener("error",o),c.src=r,document.head.appendChild(c)});var br;const rl=typeof((br=window.performance)===null||br===void 0?void 0:br.now)=="function"?()=>window.performance.now():()=>Date.now(),el=(r,e)=>async(...t)=>{var n;const a=e(...t);let o=r.aborted,i;for(;!o&&!r.aborted;){const s=await a.next(i);o=(n=s.done)!==null&&n!==void 0?n:!1,i=s.value}return i};var _;(function(r){r.Unknown="Unknown",r.Yandex="Yandex",r.Chrome="Chrome",r.Chromium="Chromium",r.Firefox="Firefox",r.Safari="Safari",r.Opera="Opera",r.Edge="Edge",r.Rest="Rest"})(_||(_={}));var p;(function(r){r.Unknown="Unknown",r.Android="Android",r.iPhone="iPhone",r.iPad="iPad",r.iPod="iPod",r.RestMobile="RestMobile",r.Mac="Mac",r.Desktop="Desktop"})(p||(p={}));const ot=()=>{const{userAgent:r}=window.navigator,e=/yabrowser/i.test(r)?_.Yandex:void 0,t=/chrome|crios/i.test(r)?_.Chrome:void 0,n=/chromium/i.test(r)?_.Chromium:void 0,a=/firefox|fxios/i.test(r)?_.Firefox:void 0,o=/webkit|safari|khtml/i.test(r)?_.Safari:void 0,i=/opr\//i.test(r)?_.Opera:void 0,s=/edg/i.test(r)?_.Edge:void 0,v=/android/i.test(r)?p.Android:void 0,c=/iphone/i.test(r)?p.iPhone:void 0,l=/ipad/i.test(r)?p.iPad:void 0,f=/ipod/i.test(r)?p.iPod:void 0,u=/mac/i.test(r)?p.Mac:void 0,d=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(r)?p.RestMobile:void 0;return{browser:e||a||i||s||t||n||o||_.Rest,device:v||c||l||f||d||u||p.Desktop}},tl=(r=!1)=>{const t=[p.iPhone,p.iPad,p.iPod].includes(ot().device);if(!r)return t;const{userAgent:n,maxTouchPoints:a}=window.navigator;return!!(t||/macintosh/i.test(n)&&a>0)},nl=()=>{const{userAgent:r}=window.navigator,e=r.match(/Version\/(\d+(\.\d+)?)/i);if(!e)return null;const t=e[1],n=parseFloat(t);return isNaN(n)?null:n},al=()=>[p.Mac,p.iPhone,p.iPad,p.iPod].includes(ot().device),ol=(r,{start:e=0,factor:t=2,max:n=1/0,min:a=e,random:o=0}={})=>{let i=e;return i*=t**r,i*=1+(Math.random()*o*2-o),i=Math.round(i),i=Math.min(i,n),i=Math.max(i,a),i};var h;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(h||(h={}));let b,M;const yr=`vk-videoplayer-dummy-key-${Math.random()}`,B=()=>{if(M!==void 0)return M;try{localStorage.setItem(yr,"test"),localStorage.removeItem(yr),M=h.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(yr),M=h.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)M=h.RUNTIME;else throw e}else throw r}return M===h.RUNTIME&&(b=new Map),M},un=()=>B()===h.LOCAL_STORAGE,vn=r=>{var e,t;const n=B();switch(n){case h.LOCAL_STORAGE:return(e=localStorage.getItem(r))!==null&&e!==void 0?e:void 0;case h.SESSION_STORAGE:return(t=sessionStorage.getItem(r))!==null&&t!==void 0?t:void 0;case h.RUNTIME:return b==null?void 0:b.get(r);default:V(n)}},fn=(r,e)=>{const t=B();switch(t){case h.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case h.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case h.RUNTIME:return void(b==null?void 0:b.set(r,e));default:V(t)}},dn=r=>{var e;const t=B();switch(t){case h.LOCAL_STORAGE:return r in localStorage;case h.SESSION_STORAGE:return r in sessionStorage;case h.RUNTIME:return(e=b==null?void 0:b.has(r))!==null&&e!==void 0?e:!1;default:return V(t),!1}},hn=r=>{const e=B();switch(e){case h.LOCAL_STORAGE:return localStorage.removeItem(r);case h.SESSION_STORAGE:return sessionStorage.removeItem(r);case h.RUNTIME:return void(b==null?void 0:b.delete(r));default:V(e)}},pn=()=>{const r=B();switch(r){case h.LOCAL_STORAGE:return localStorage.clear();case h.SESSION_STORAGE:return sessionStorage.clear();case h.RUNTIME:return b==null?void 0:b.clear();default:V(r)}};var il=Object.freeze({__proto__:null,clear:pn,get:vn,has:dn,isPersistent:un,remove:hn,set:fn}),m;(function(r){r.INVARIANT="Invariant quality",r.Q_144P="144p",r.Q_240P="240p",r.Q_360P="360p",r.Q_480P="480p",r.Q_720P="720p",r.Q_1080P="1080p",r.Q_1440P="1440p",r.Q_2160P="2160p",r.Q_4320P="4320p"})(m||(m={}));const S={[m.Q_144P]:{width:256,height:144},[m.Q_240P]:{width:428,height:240},[m.Q_360P]:{width:640,height:360},[m.Q_480P]:{width:856,height:480},[m.Q_720P]:{width:1280,height:720},[m.Q_1080P]:{width:1920,height:1080},[m.Q_1440P]:{width:2560,height:1440},[m.Q_2160P]:{width:3840,height:2160},[m.Q_4320P]:{width:7680,height:4320}},sl=(r,e)=>S[r].height>S[e].height,cl=(r,e)=>S[r].height>=S[e].height,it=(r,e)=>S[r].height<S[e].height,ll=(r,e)=>S[r].height<=S[e].height,ul=r=>r.sort((e,t)=>e===t?0:e===m.INVARIANT?1:t===m.INVARIANT?-1:it(e,t)?1:-1)[0],st=Object.keys(S).sort((r,e)=>it(r,e)?-1:1),vl=(r,e=.02)=>[...st].find(n=>S[n].height*(1+e)>=r),fl=({width:r,height:e})=>{const t=Math.min(r,e),n=Math.max(r,e);return st.find(a=>{const o=S[a];return o.width>=n&&o.height>=t})},dl=r=>S[r].height,ct=r=>r===m.INVARIANT,hl=r=>r.every(e=>!ct(e));function pl(r){if(ct(r))throw new Error("Expected exact quality")}const bn=(r,e)=>{const t={};for(const n of Object.keys(e)){const a=e[n],o=r[n];Array.isArray(a)&&Array.isArray(o)?t[n]=o:typeof a=="object"&&typeof o=="object"?t[n]=bn(o,a):t[n]=n in r?o:a}return t};class bl extends at{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const t=super._subscribe(e);return e.next(this.value),t}}function yl(r){return new y(e=>{const t={};let n=Object.keys(r).length;const a=o=>i=>{o in t||n--,t[o]=i,n===0&&e.next(t)};return Object.entries(r).reduce((o,[i,s])=>o.add(s.subscribe(a(i))),new dr)})}function gl(...r){return new y(e=>r.reduce((t,n)=>t.add(n.subscribe(e)),new dr))}var Ol=r=>new y(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},r);return()=>window.clearTimeout(t)}),$l=r=>new y(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),wl=r=>new y(e=>{r.forEach(t=>e.next(t))}),ml=(r,e)=>new y(t=>{const n=a=>t.next(a);return r.addEventListener(e,n),()=>r.removeEventListener(e,n)});function El(r){return e=>new y(t=>e.subscribe(new yn(t,r)))}class yn{constructor(e,t){this.destination=e,this.size=t,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const gn={leading:!1,trailing:!0};function Sl(r,e=gn){return t=>new y(n=>t.subscribe(new On(n,r,e)))}class On{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,cn(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const $n={leading:!0,trailing:!1};function Tl(r,e=$n){return t=>new y(n=>t.subscribe(new wn(n,r,e)))}class wn{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,ln(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Il(r){return e=>new y(t=>e.subscribe(new mn(t,r)))}class mn{constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Pl(r=(e,t)=>e===t){return e=>new y(t=>e.subscribe(new En(t,r)))}const ce={};class En{constructor(e,t){this.destination=e,this.predicate=t,this.lastValue=ce}next(e){let t;try{t=this.lastValue===ce||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Sn(r){return e=>new y(t=>e.subscribe(new Tn(t,r)))}let Tn=class{constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(t)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}};function _l(r){return Sn(()=>r)}function Al(){return r=>new y(e=>{let t=!1,n=!1;const a=r.subscribe(o=>{t||(t=!0,e.next(o)),n&&a.unsubscribe()},o=>{var i;t=!0,(i=e.error)===null||i===void 0||i.call(e,o),n&&a.unsubscribe()});return n=!0,t&&a.unsubscribe(),a})}function jl(){return r=>new y(e=>r.subscribe(new In(e)))}class In{constructor(e){this.destination=e,this.hasLast=!1}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Ll(r){return e=>new y(t=>e.subscribe(new Pn(t,r)))}class Pn{constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}var le;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(le||(le={}));class ue{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:n})}removeEventListener(e,t){if(!(e in this.listeners))return;const n=this.listeners[e];for(let a=0,o=n.length;a<o;a++)if(n[a].callback===t){n.splice(a,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;const n=this.listeners[e.type].slice();for(let a=0,o=n.length;a<o;a++){const i=n[a];try{i.callback.call(this,e)}catch(s){Promise.resolve().then(()=>{throw s})}i.options&&i.options.once&&this.removeEventListener(e.type,i.callback)}return!e.defaultPrevented}}class lt extends ue{constructor(){super(),this.listeners||ue.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)}}class Rn{constructor(){Object.defineProperty(this,"signal",{value:new lt,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch(a){typeof document!="undefined"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let n=e;if(n===void 0)if(typeof document=="undefined")n=new Error("This operation was aborted"),n.name="AbortError";else try{n=new DOMException("signal is aborted without reason")}catch(a){n=new Error("This operation was aborted"),n.name="AbortError"}this.signal.reason=n,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}}typeof Symbol!="undefined"&&Symbol.toStringTag&&(Rn.prototype[Symbol.toStringTag]="AbortController",lt.prototype[Symbol.toStringTag]="AbortSignal");function ut(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function _n(r){typeof r=="function"&&(r={fetch:r});const{fetch:e,Request:t=e.Request,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a=!1}=r;if(!ut({fetch:e,Request:t,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return{fetch:e,Request:o};let o=t;(o&&!o.prototype.hasOwnProperty("signal")||a)&&(o=function(c,l){let f;l&&l.signal&&(f=l.signal,delete l.signal);const u=new t(c,l);return f&&Object.defineProperty(u,"signal",{writable:!1,enumerable:!1,configurable:!0,value:f}),u},o.prototype=t.prototype);const i=e;return{fetch:(v,c)=>{const l=o&&o.prototype.isPrototypeOf(v)?v.signal:c?c.signal:void 0;if(l){let f;try{f=new DOMException("Aborted","AbortError")}catch(d){f=new Error("Aborted"),f.name="AbortError"}if(l.aborted)return Promise.reject(f);const u=new Promise((d,$)=>{l.addEventListener("abort",()=>$(f),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([u,i(v,c)])}return i(v,c)},Request:o}}const Wr=ut({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),vt=Wr?_n({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,An=Wr?vt.fetch:window.fetch;Wr?vt.Request:window.Request;var gr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function jn(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var j=function(r){try{return!!r()}catch(e){return!0}},Ln=j,hr=!Ln(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")}),ft=hr,dt=Function.prototype,kr=dt.call,xn=ft&&dt.bind.bind(kr,kr),N=ft?xn:function(r){return function(){return kr.apply(r,arguments)}},ht=N,Mn=ht({}.toString),Nn=ht("".slice),Hr=function(r){return Nn(Mn(r),8,-1)},Cn=N,Fn=j,Gn=Hr,Or=Object,Dn=Cn("".split),kn=Fn(function(){return!Or("z").propertyIsEnumerable(0)})?function(r){return Gn(r)=="String"?Dn(r,""):Or(r)}:Or,Xr=function(r){return r==null},Un=Xr,Vn=TypeError,pt=function(r){if(Un(r))throw Vn("Can't call method on "+r);return r},Bn=kn,Kn=pt,H=function(r){return Bn(Kn(r))},K={},Z=function(r){return r&&r.Math==Math&&r},I=Z(typeof globalThis=="object"&&globalThis)||Z(typeof window=="object"&&window)||Z(typeof self=="object"&&self)||Z(typeof gr=="object"&&gr)||function(){return this}()||gr||Function("return this")(),Ur=typeof document=="object"&&document.all,qn=typeof Ur=="undefined"&&Ur!==void 0,bt={all:Ur,IS_HTMLDDA:qn},yt=bt,Yn=yt.all,P=yt.IS_HTMLDDA?function(r){return typeof r=="function"||r===Yn}:function(r){return typeof r=="function"},zn=I,Qn=P,ve=zn.WeakMap,Wn=Qn(ve)&&/native code/.test(String(ve)),fe=P,gt=bt,Hn=gt.all,q=gt.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:fe(r)||r===Hn}:function(r){return typeof r=="object"?r!==null:fe(r)},Xn=j,C=!Xn(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),Y={},Jn=I,de=q,Vr=Jn.document,Zn=de(Vr)&&de(Vr.createElement),Ot=function(r){return Zn?Vr.createElement(r):{}},ra=C,ea=j,ta=Ot,$t=!ra&&!ea(function(){return Object.defineProperty(ta("div"),"a",{get:function(){return 7}}).a!=7}),na=C,aa=j,wt=na&&aa(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42}),oa=q,ia=String,sa=TypeError,z=function(r){if(oa(r))return r;throw sa(ia(r)+" is not an object")},ca=hr,rr=Function.prototype.call,F=ca?rr.bind(rr):function(){return rr.apply(rr,arguments)},Jr={},$r=Jr,wr=I,la=P,he=function(r){return la(r)?r:void 0},mt=function(r,e){return arguments.length<2?he($r[r])||he(wr[r]):$r[r]&&$r[r][e]||wr[r]&&wr[r][e]},ua=N,Et=ua({}.isPrototypeOf),va=typeof navigator!="undefined"&&String(navigator.userAgent)||"",St=I,mr=va,pe=St.process,be=St.Deno,ye=pe&&pe.versions||be&&be.version,ge=ye&&ye.v8,T,ur;ge&&(T=ge.split("."),ur=T[0]>0&&T[0]<4?1:+(T[0]+T[1]));!ur&&mr&&(T=mr.match(/Edge\/(\d+)/),(!T||T[1]>=74)&&(T=mr.match(/Chrome\/(\d+)/),T&&(ur=+T[1])));var fa=ur,Oe=fa,da=j,ha=I,pa=ha.String,Tt=!!Object.getOwnPropertySymbols&&!da(function(){var r=Symbol();return!pa(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Oe&&Oe<41}),ba=Tt,It=ba&&!Symbol.sham&&typeof Symbol.iterator=="symbol",ya=mt,ga=P,Oa=Et,$a=It,wa=Object,Pt=$a?function(r){return typeof r=="symbol"}:function(r){var e=ya("Symbol");return ga(e)&&Oa(e.prototype,wa(r))},ma=String,Zr=function(r){try{return ma(r)}catch(e){return"Object"}},Ea=P,Sa=Zr,Ta=TypeError,re=function(r){if(Ea(r))return r;throw Ta(Sa(r)+" is not a function")},Ia=re,Pa=Xr,ee=function(r,e){var t=r[e];return Pa(t)?void 0:Ia(t)},Er=F,Sr=P,Tr=q,Ra=TypeError,_a=function(r,e){var t,n;if(e==="string"&&Sr(t=r.toString)&&!Tr(n=Er(t,r))||Sr(t=r.valueOf)&&!Tr(n=Er(t,r))||e!=="string"&&Sr(t=r.toString)&&!Tr(n=Er(t,r)))return n;throw Ra("Can't convert object to primitive value")},Rt={exports:{}},$e=I,Aa=Object.defineProperty,ja=function(r,e){try{Aa($e,r,{value:e,configurable:!0,writable:!0})}catch(t){$e[r]=e}return e},La=I,xa=ja,we="__core-js_shared__",Ma=La[we]||xa(we,{}),_t=Ma,me=_t;(Rt.exports=function(r,e){return me[r]||(me[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.31.0",mode:"pure",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.0/LICENSE",source:"https://github.com/zloirock/core-js"});var At=Rt.exports,Na=pt,Ca=Object,jt=function(r){return Ca(Na(r))},Fa=N,Ga=jt,Da=Fa({}.hasOwnProperty),x=Object.hasOwn||function(e,t){return Da(Ga(e),t)},ka=N,Ua=0,Va=Math.random(),Ba=ka(1 .toString),Lt=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Ba(++Ua+Va,36)},Ka=I,qa=At,Ee=x,Ya=Lt,za=Tt,Qa=It,U=Ka.Symbol,Ir=qa("wks"),Wa=Qa?U.for||U:U&&U.withoutSetter||Ya,L=function(r){return Ee(Ir,r)||(Ir[r]=za&&Ee(U,r)?U[r]:Wa("Symbol."+r)),Ir[r]},Ha=F,Se=q,Te=Pt,Xa=ee,Ja=_a,Za=L,ro=TypeError,eo=Za("toPrimitive"),to=function(r,e){if(!Se(r)||Te(r))return r;var t=Xa(r,eo),n;if(t){if(e===void 0&&(e="default"),n=Ha(t,r,e),!Se(n)||Te(n))return n;throw ro("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ja(r,e)},no=to,ao=Pt,te=function(r){var e=no(r,"string");return ao(e)?e:e+""},oo=C,io=$t,so=wt,er=z,Ie=te,co=TypeError,Pr=Object.defineProperty,lo=Object.getOwnPropertyDescriptor,Rr="enumerable",_r="configurable",Ar="writable";Y.f=oo?so?function(e,t,n){if(er(e),t=Ie(t),er(n),typeof e=="function"&&t==="prototype"&&"value"in n&&Ar in n&&!n[Ar]){var a=lo(e,t);a&&a[Ar]&&(e[t]=n.value,n={configurable:_r in n?n[_r]:a[_r],enumerable:Rr in n?n[Rr]:a[Rr],writable:!1})}return Pr(e,t,n)}:Pr:function(e,t,n){if(er(e),t=Ie(t),er(n),io)try{return Pr(e,t,n)}catch(a){}if("get"in n||"set"in n)throw co("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var pr=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}},uo=C,vo=Y,fo=pr,X=uo?function(r,e,t){return vo.f(r,e,fo(1,t))}:function(r,e,t){return r[e]=t,r},ho=At,po=Lt,Pe=ho("keys"),ne=function(r){return Pe[r]||(Pe[r]=po(r))},ae={},bo=Wn,xt=I,yo=q,go=X,jr=x,Lr=_t,Oo=ne,$o=ae,Re="Object already initialized",Br=xt.TypeError,wo=xt.WeakMap,vr,W,fr,mo=function(r){return fr(r)?W(r):vr(r,{})},Eo=function(r){return function(e){var t;if(!yo(e)||(t=W(e)).type!==r)throw Br("Incompatible receiver, "+r+" required");return t}};if(bo||Lr.state){var R=Lr.state||(Lr.state=new wo);R.get=R.get,R.has=R.has,R.set=R.set,vr=function(r,e){if(R.has(r))throw Br(Re);return e.facade=r,R.set(r,e),e},W=function(r){return R.get(r)||{}},fr=function(r){return R.has(r)}}else{var G=Oo("state");$o[G]=!0,vr=function(r,e){if(jr(r,G))throw Br(Re);return e.facade=r,go(r,G,e),e},W=function(r){return jr(r,G)?r[G]:{}},fr=function(r){return jr(r,G)}}var So={set:vr,get:W,has:fr,enforce:mo,getterFor:Eo},To=hr,Mt=Function.prototype,_e=Mt.apply,Ae=Mt.call,Io=typeof Reflect=="object"&&Reflect.apply||(To?Ae.bind(_e):function(){return Ae.apply(_e,arguments)}),Po=Hr,Ro=N,Nt=function(r){if(Po(r)==="Function")return Ro(r)},Ct={},Ft={},Gt={}.propertyIsEnumerable,Dt=Object.getOwnPropertyDescriptor,_o=Dt&&!Gt.call({1:2},1);Ft.f=_o?function(e){var t=Dt(this,e);return!!t&&t.enumerable}:Gt;var Ao=C,jo=F,Lo=Ft,xo=pr,Mo=H,No=te,Co=x,Fo=$t,je=Object.getOwnPropertyDescriptor;Ct.f=Ao?je:function(e,t){if(e=Mo(e),t=No(t),Fo)try{return je(e,t)}catch(n){}if(Co(e,t))return xo(!jo(Lo.f,e,t),e[t])};var Go=j,Do=P,ko=/#|\.prototype\./,J=function(r,e){var t=Vo[Uo(r)];return t==Ko?!0:t==Bo?!1:Do(e)?Go(e):!!e},Uo=J.normalize=function(r){return String(r).replace(ko,".").toLowerCase()},Vo=J.data={},Bo=J.NATIVE="N",Ko=J.POLYFILL="P",qo=J,Le=Nt,Yo=re,zo=hr,Qo=Le(Le.bind),kt=function(r,e){return Yo(r),e===void 0?r:zo?Qo(r,e):function(){return r.apply(e,arguments)}},tr=I,Wo=Io,Ho=Nt,Xo=P,Jo=Ct.f,Zo=qo,D=Jr,ri=kt,k=X,xe=x,ei=function(r){var e=function(t,n,a){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,n)}return new r(t,n,a)}return Wo(r,this,arguments)};return e.prototype=r.prototype,e},Ut=function(r,e){var t=r.target,n=r.global,a=r.stat,o=r.proto,i=n?tr:a?tr[t]:(tr[t]||{}).prototype,s=n?D:D[t]||k(D,t,{})[t],v=s.prototype,c,l,f,u,d,$,E,w,g;for(u in e)c=Zo(n?u:t+(a?".":"#")+u,r.forced),l=!c&&i&&xe(i,u),$=s[u],l&&(r.dontCallGetSet?(g=Jo(i,u),E=g&&g.value):E=i[u]),d=l&&E?E:e[u],!(l&&typeof $==typeof d)&&(r.bind&&l?w=ri(d,tr):r.wrap&&l?w=ei(d):o&&Xo(d)?w=Ho(d):w=d,(r.sham||d&&d.sham||$&&$.sham)&&k(w,"sham",!0),k(s,u,w),o&&(f=t+"Prototype",xe(D,f)||k(D,f,{}),k(D[f],u,d),r.real&&v&&(c||!v[u])&&k(v,u,d)))},Kr=C,ti=x,Vt=Function.prototype,ni=Kr&&Object.getOwnPropertyDescriptor,oe=ti(Vt,"name"),ai=oe&&function(){}.name==="something",oi=oe&&(!Kr||Kr&&ni(Vt,"name").configurable),ii={EXISTS:oe,PROPER:ai,CONFIGURABLE:oi},Bt={},si=Math.ceil,ci=Math.floor,li=Math.trunc||function(e){var t=+e;return(t>0?ci:si)(t)},ui=li,Kt=function(r){var e=+r;return e!==e||e===0?0:ui(e)},vi=Kt,fi=Math.max,di=Math.min,hi=function(r,e){var t=vi(r);return t<0?fi(t+e,0):di(t,e)},pi=Kt,bi=Math.min,yi=function(r){return r>0?bi(pi(r),9007199254740991):0},gi=yi,qt=function(r){return gi(r.length)},Oi=H,$i=hi,wi=qt,Me=function(r){return function(e,t,n){var a=Oi(e),o=wi(a),i=$i(n,o),s;if(r&&t!=t){for(;o>i;)if(s=a[i++],s!=s)return!0}else for(;o>i;i++)if((r||i in a)&&a[i]===t)return r||i||0;return!r&&-1}},mi={includes:Me(!0),indexOf:Me(!1)},Ei=N,xr=x,Si=H,Ti=mi.indexOf,Ii=ae,Ne=Ei([].push),Pi=function(r,e){var t=Si(r),n=0,a=[],o;for(o in t)!xr(Ii,o)&&xr(t,o)&&Ne(a,o);for(;e.length>n;)xr(t,o=e[n++])&&(~Ti(a,o)||Ne(a,o));return a},Yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Pi,_i=Yt,Ai=Object.keys||function(e){return Ri(e,_i)},ji=C,Li=wt,xi=Y,Mi=z,Ni=H,Ci=Ai;Bt.f=ji&&!Li?Object.defineProperties:function(e,t){Mi(e);for(var n=Ni(t),a=Ci(t),o=a.length,i=0,s;o>i;)xi.f(e,s=a[i++],n[s]);return e};var Fi=mt,Gi=Fi("document","documentElement"),Di=z,ki=Bt,Ce=Yt,Ui=ae,Vi=Gi,Bi=Ot,Ki=ne,Fe=">",Ge="<",qr="prototype",Yr="script",zt=Ki("IE_PROTO"),Mr=function(){},Qt=function(r){return Ge+Yr+Fe+r+Ge+"/"+Yr+Fe},De=function(r){r.write(Qt("")),r.close();var e=r.parentWindow.Object;return r=null,e},qi=function(){var r=Bi("iframe"),e="java"+Yr+":",t;return r.style.display="none",Vi.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Qt("document.F=Object")),t.close(),t.F},nr,sr=function(){try{nr=new ActiveXObject("htmlfile")}catch(e){}sr=typeof document!="undefined"?document.domain&&nr?De(nr):qi():De(nr);for(var r=Ce.length;r--;)delete sr[qr][Ce[r]];return sr()};Ui[zt]=!0;var Wt=Object.create||function(e,t){var n;return e!==null?(Mr[qr]=Di(e),n=new Mr,Mr[qr]=null,n[zt]=e):n=sr(),t===void 0?n:ki.f(n,t)},Yi=j,zi=!Yi(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype}),Qi=x,Wi=P,Hi=jt,Xi=ne,Ji=zi,ke=Xi("IE_PROTO"),zr=Object,Zi=zr.prototype,Ht=Ji?zr.getPrototypeOf:function(r){var e=Hi(r);if(Qi(e,ke))return e[ke];var t=e.constructor;return Wi(t)&&e instanceof t?t.prototype:e instanceof zr?Zi:null},rs=X,Xt=function(r,e,t,n){return n&&n.enumerable?r[e]=t:rs(r,e,t),r},es=j,ts=P,ns=q,as=Wt,Ue=Ht,os=Xt,is=L,Qr=is("iterator"),Jt=!1,A,Nr,Cr;[].keys&&(Cr=[].keys(),"next"in Cr?(Nr=Ue(Ue(Cr)),Nr!==Object.prototype&&(A=Nr)):Jt=!0);var ss=!ns(A)||es(function(){var r={};return A[Qr].call(r)!==r});ss?A={}:A=as(A);ts(A[Qr])||os(A,Qr,function(){return this});var Zt={IteratorPrototype:A,BUGGY_SAFARI_ITERATORS:Jt},cs=L,ls=cs("toStringTag"),rn={};rn[ls]="z";var ie=String(rn)==="[object z]",us=ie,vs=P,cr=Hr,fs=L,ds=fs("toStringTag"),hs=Object,ps=cr(function(){return arguments}())=="Arguments",bs=function(r,e){try{return r[e]}catch(t){}},se=us?cr:function(r){var e,t,n;return r===void 0?"Undefined":r===null?"Null":typeof(t=bs(e=hs(r),ds))=="string"?t:ps?cr(e):(n=cr(e))=="Object"&&vs(e.callee)?"Arguments":n},ys=ie,gs=se,Os=ys?{}.toString:function(){return"[object "+gs(this)+"]"},$s=ie,ws=Y.f,ms=X,Es=x,Ss=Os,Ts=L,Ve=Ts("toStringTag"),en=function(r,e,t,n){if(r){var a=t?r:r.prototype;Es(a,Ve)||ws(a,Ve,{configurable:!0,value:e}),n&&!$s&&ms(a,"toString",Ss)}},Is=Zt.IteratorPrototype,Ps=Wt,Rs=pr,_s=en,As=K,js=function(){return this},Ls=function(r,e,t,n){var a=e+" Iterator";return r.prototype=Ps(Is,{next:Rs(+!n,t)}),_s(r,a,!1,!0),As[a]=js,r},xs=Ut,Ms=F,tn=ii,Ns=Ls,Cs=Ht,Fs=en,Be=Xt,Gs=L,Ke=K,nn=Zt,Ds=tn.PROPER;tn.CONFIGURABLE;nn.IteratorPrototype;var ar=nn.BUGGY_SAFARI_ITERATORS,Fr=Gs("iterator"),qe="keys",or="values",Ye="entries",ks=function(){return this},Us=function(r,e,t,n,a,o,i){Ns(t,e,n);var s=function(g){if(g===a&&u)return u;if(!ar&&g in l)return l[g];switch(g){case qe:return function(){return new t(this,g)};case or:return function(){return new t(this,g)};case Ye:return function(){return new t(this,g)}}return function(){return new t(this)}},v=e+" Iterator",c=!1,l=r.prototype,f=l[Fr]||l["@@iterator"]||a&&l[a],u=!ar&&f||s(a),d=e=="Array"&&l.entries||f,$,E,w;if(d&&($=Cs(d.call(new r)),$!==Object.prototype&&$.next&&(Fs($,v,!0,!0),Ke[v]=ks)),Ds&&a==or&&f&&f.name!==or&&(c=!0,u=function(){return Ms(f,this)}),a)if(E={values:s(or),keys:o?u:s(qe),entries:s(Ye)},i)for(w in E)(ar||c||!(w in l))&&Be(l,w,E[w]);else xs({target:e,proto:!0,forced:ar||c},E);return i&&l[Fr]!==u&&Be(l,Fr,u,{name:a}),Ke[e]=u,E},Vs=function(r,e){return{value:r,done:e}},Bs=H,ze=K,an=So;Y.f;var Ks=Us,ir=Vs,on="Array Iterator",qs=an.set,Ys=an.getterFor(on);Ks(Array,"Array",function(r,e){qs(this,{type:on,target:Bs(r),index:0,kind:e})},function(){var r=Ys(this),e=r.target,t=r.kind,n=r.index++;return!e||n>=e.length?(r.target=void 0,ir(void 0,!0)):t=="keys"?ir(n,!1):t=="values"?ir(e[n],!1):ir([n,e[n]],!1)},"values");ze.Arguments=ze.Array;var zs=L,Qs=K,Ws=zs("iterator"),Hs=Array.prototype,Xs=function(r){return r!==void 0&&(Qs.Array===r||Hs[Ws]===r)},Js=se,Qe=ee,Zs=Xr,rc=K,ec=L,tc=ec("iterator"),sn=function(r){if(!Zs(r))return Qe(r,tc)||Qe(r,"@@iterator")||rc[Js(r)]},nc=F,ac=re,oc=z,ic=Zr,sc=sn,cc=TypeError,lc=function(r,e){var t=arguments.length<2?sc(r):e;if(ac(t))return oc(nc(t,r));throw cc(ic(r)+" is not iterable")},uc=F,We=z,vc=ee,fc=function(r,e,t){var n,a;We(r);try{if(n=vc(r,"return"),!n){if(e==="throw")throw t;return t}n=uc(n,r)}catch(o){a=!0,n=o}if(e==="throw")throw t;if(a)throw n;return We(n),t},dc=kt,hc=F,pc=z,bc=Zr,yc=Xs,gc=qt,He=Et,Oc=lc,$c=sn,Xe=fc,wc=TypeError,lr=function(r,e){this.stopped=r,this.result=e},Je=lr.prototype,mc=function(r,e,t){var n=t&&t.that,a=!!(t&&t.AS_ENTRIES),o=!!(t&&t.IS_RECORD),i=!!(t&&t.IS_ITERATOR),s=!!(t&&t.INTERRUPTED),v=dc(e,n),c,l,f,u,d,$,E,w=function(O){return c&&Xe(c,"normal",O),new lr(!0,O)},g=function(O){return a?(pc(O),s?v(O[0],O[1],w):v(O[0],O[1])):s?v(O,w):v(O)};if(o)c=r.iterator;else if(i)c=r;else{if(l=$c(r),!l)throw wc(bc(r)+" is not iterable");if(yc(l)){for(f=0,u=gc(r);u>f;f++)if(d=g(r[f]),d&&He(Je,d))return d;return new lr(!1)}c=Oc(r,l)}for($=o?r.next:c.next;!(E=hc($,c)).done;){try{d=g(E.value)}catch(O){Xe(c,"throw",O)}if(typeof d=="object"&&d&&He(Je,d))return d}return new lr(!1)},Ec=te,Sc=Y,Tc=pr,Ic=function(r,e,t){var n=Ec(e);n in r?Sc.f(r,n,Tc(0,t)):r[n]=t},Pc=Ut,Rc=mc,_c=Ic;Pc({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Rc(e,function(n,a){_c(t,n,a)},{AS_ENTRIES:!0}),t}});var Ac=Jr,jc=Ac.Object.fromEntries,Lc={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},xc=Lc,Mc=I,Nc=se,Cc=X,Ze=K,Fc=L,rt=Fc("toStringTag");for(var Gr in xc){var et=Mc[Gr],Dr=et&&et.prototype;Dr&&Nc(Dr)!==rt&&Cc(Dr,rt,Gr),Ze[Gr]=Ze.Array}var Gc=jc,Dc=Gc,kc=Dc,Uc=kc,Vc=jn(Uc),tt;(function(r){r.Armenian="58",r.Azerbaijani="57",r.Belarusian="114",r.English="3",r.Kazakh="97",r.Portuguese="73",r.Russian="0",r.Spanish="4",r.Ukrainian="1",r.Uzbek="65",r.Vietnamese="75"})(tt||(tt={}));const Bc="vk.com",xl=async(r,e,t)=>{const n=new URL(`https://${Bc}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),r!==void 0&&n.searchParams.set("lang",r);const o=await(await An(n.toString())).json();return Kc(o,t)},Kc=(r,e)=>Vc(Object.entries(r.keys).map(([t,n])=>[t.substring(`${e}_`.length),qc(n)])),qc=r=>Array.isArray(r)?r[0]:r;var nt;(function(r){r.RU="ru",r.EN="en"})(nt||(nt={}));export{_ as CurrentClientBrowser,p as CurrentClientDevice,le as ErrorCategory,nt as InterfaceLanguage,Qc as Logger,y as Observable,at as Subject,dr as Subscription,Yc as VERSION,tt as VKNumericLanguage,bl as ValueSubject,m as VideoQuality,el as abortable,Zc as addScript,hl as areQualitiesExact,Jc as assertEmptyArray,V as assertNever,Wc as assertNonNullable,Xc as assertNotEmptyArray,Hc as assertNullable,pl as assertQualityIsExact,El as buffer,zc as checkNever,yl as combine,Sl as debounce,bn as fillWithDefault,Il as filter,Pl as filterChanged,ml as fromEvent,ot as getCurrentBrowser,ol as getExponentialDelay,ul as getHighestQuality,nl as getIOSVersion,$l as interval,sl as isHigher,cl as isHigherOrEqual,tl as isIOS,ct as isInvariantQuality,it as isLower,ll as isLowerOrEqual,al as isMacLike,cn as isNonNullable,ln as isNullable,xl as loadVKLangPack,Sn as map,_l as mapTo,gl as merge,Q as noop,rl as now,wl as observableFrom,Al as once,jl as pairwise,il as safeStorage,Ll as tap,Tl as throttle,Ol as timeout,vl as videoHeightToQuality,dl as videoQualityToHeight,fl as videoSizeToQuality};
6
+ const Yc="1.0.31-dev.2d3fd91.0";class dr{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const V=r=>{throw new Error(`${r} is value of unexpected type`)},zc=r=>{},Q=()=>{};class y{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){var n;let a;t?typeof t=="function"?a={next:t,error:Q}:a={next:s=>t.next(s),error:s=>{var v;return(v=t.error)===null||v===void 0?void 0:v.call(t,s)}}:a={next:Q,error:Q};const o=typeof e=="function"?{next:s=>{try{e(s)}catch(v){a.next(v)}},error:s=>a.next(s)}:{next:s=>e.next(s),error:s=>e.error?e.error(s):a.next(s)};let i;try{i=this._subscribe(o)}catch(s){(n=o.error)===null||n===void 0||n.call(o,s)}return new dr().add(()=>{switch(o.next=Q,o.error=Q,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return V(i)}})}pipe(...e){return e.reduce((t,n)=>n(t),this)}_subscribe(e){}}class at extends y{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>{var n;return(n=t.error)===null||n===void 0?void 0:n.call(t,e)})}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new dr().add(()=>this.subscribers.delete(t))}}class Qc{constructor(){this.log$=new at,this.logs=[],this.log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...t)=>{let n;try{n=e(...t)}catch(a){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}}function Wc(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function Hc(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function cn(r){return typeof r!="undefined"&&r!==null}function ln(r){return r==null}function Xc(r,e){if(!(r!=null&&r.length))throw new Error(e)}function Jc(r,e){if(r!=null&&r.length)throw new Error(e)}const Zc=(r,e,t)=>new Promise((n,a)=>{e.addEventListener("abort",()=>{s(),c.remove()});const o=()=>{s(),a()},i=()=>{s(),n()},s=()=>{v&&clearTimeout(v),c.removeEventListener("load",i),c.removeEventListener("error",o)};let v;t&&(v=window.setTimeout(o,t));const c=document.createElement("script");c.addEventListener("load",i),c.addEventListener("error",o),c.src=r,document.head.appendChild(c)});var br;const rl=typeof((br=window.performance)===null||br===void 0?void 0:br.now)=="function"?()=>window.performance.now():()=>Date.now(),el=(r,e)=>async(...t)=>{var n;const a=e(...t);let o=r.aborted,i;for(;!o&&!r.aborted;){const s=await a.next(i);o=(n=s.done)!==null&&n!==void 0?n:!1,i=s.value}return i};var _;(function(r){r.Unknown="Unknown",r.Yandex="Yandex",r.Chrome="Chrome",r.Chromium="Chromium",r.Firefox="Firefox",r.Safari="Safari",r.Opera="Opera",r.Edge="Edge",r.Rest="Rest"})(_||(_={}));var p;(function(r){r.Unknown="Unknown",r.Android="Android",r.iPhone="iPhone",r.iPad="iPad",r.iPod="iPod",r.RestMobile="RestMobile",r.Mac="Mac",r.Desktop="Desktop"})(p||(p={}));const ot=()=>{const{userAgent:r}=window.navigator,e=/yabrowser/i.test(r)?_.Yandex:void 0,t=/chrome|crios/i.test(r)?_.Chrome:void 0,n=/chromium/i.test(r)?_.Chromium:void 0,a=/firefox|fxios/i.test(r)?_.Firefox:void 0,o=/webkit|safari|khtml/i.test(r)?_.Safari:void 0,i=/opr\//i.test(r)?_.Opera:void 0,s=/edg/i.test(r)?_.Edge:void 0,v=/android/i.test(r)?p.Android:void 0,c=/iphone/i.test(r)?p.iPhone:void 0,l=/ipad/i.test(r)?p.iPad:void 0,f=/ipod/i.test(r)?p.iPod:void 0,u=/mac/i.test(r)?p.Mac:void 0,d=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(r)?p.RestMobile:void 0;return{browser:e||a||i||s||t||n||o||_.Rest,device:v||c||l||f||d||u||p.Desktop}},tl=(r=!1)=>{const t=[p.iPhone,p.iPad,p.iPod].includes(ot().device);if(!r)return t;const{userAgent:n,maxTouchPoints:a}=window.navigator;return!!(t||/macintosh/i.test(n)&&a>0)},nl=()=>{const{userAgent:r}=window.navigator,e=r.match(/Version\/(\d+(\.\d+)?)/i);if(!e)return null;const t=e[1],n=parseFloat(t);return isNaN(n)?null:n},al=()=>[p.Mac,p.iPhone,p.iPad,p.iPod].includes(ot().device),ol=(r,{start:e=0,factor:t=2,max:n=1/0,min:a=e,random:o=0}={})=>{let i=e;return i*=t**r,i*=1+(Math.random()*o*2-o),i=Math.round(i),i=Math.min(i,n),i=Math.max(i,a),i};var h;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(h||(h={}));let b,M;const yr=`vk-videoplayer-dummy-key-${Math.random()}`,B=()=>{if(M!==void 0)return M;try{localStorage.setItem(yr,"test"),localStorage.removeItem(yr),M=h.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(yr),M=h.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)M=h.RUNTIME;else throw e}else throw r}return M===h.RUNTIME&&(b=new Map),M},un=()=>B()===h.LOCAL_STORAGE,vn=r=>{var e,t;const n=B();switch(n){case h.LOCAL_STORAGE:return(e=localStorage.getItem(r))!==null&&e!==void 0?e:void 0;case h.SESSION_STORAGE:return(t=sessionStorage.getItem(r))!==null&&t!==void 0?t:void 0;case h.RUNTIME:return b==null?void 0:b.get(r);default:V(n)}},fn=(r,e)=>{const t=B();switch(t){case h.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case h.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case h.RUNTIME:return void(b==null?void 0:b.set(r,e));default:V(t)}},dn=r=>{var e;const t=B();switch(t){case h.LOCAL_STORAGE:return r in localStorage;case h.SESSION_STORAGE:return r in sessionStorage;case h.RUNTIME:return(e=b==null?void 0:b.has(r))!==null&&e!==void 0?e:!1;default:return V(t),!1}},hn=r=>{const e=B();switch(e){case h.LOCAL_STORAGE:return localStorage.removeItem(r);case h.SESSION_STORAGE:return sessionStorage.removeItem(r);case h.RUNTIME:return void(b==null?void 0:b.delete(r));default:V(e)}},pn=()=>{const r=B();switch(r){case h.LOCAL_STORAGE:return localStorage.clear();case h.SESSION_STORAGE:return sessionStorage.clear();case h.RUNTIME:return b==null?void 0:b.clear();default:V(r)}};var il=Object.freeze({__proto__:null,clear:pn,get:vn,has:dn,isPersistent:un,remove:hn,set:fn}),m;(function(r){r.INVARIANT="Invariant quality",r.Q_144P="144p",r.Q_240P="240p",r.Q_360P="360p",r.Q_480P="480p",r.Q_720P="720p",r.Q_1080P="1080p",r.Q_1440P="1440p",r.Q_2160P="2160p",r.Q_4320P="4320p"})(m||(m={}));const S={[m.Q_144P]:{width:256,height:144},[m.Q_240P]:{width:428,height:240},[m.Q_360P]:{width:640,height:360},[m.Q_480P]:{width:856,height:480},[m.Q_720P]:{width:1280,height:720},[m.Q_1080P]:{width:1920,height:1080},[m.Q_1440P]:{width:2560,height:1440},[m.Q_2160P]:{width:3840,height:2160},[m.Q_4320P]:{width:7680,height:4320}},sl=(r,e)=>S[r].height>S[e].height,cl=(r,e)=>S[r].height>=S[e].height,it=(r,e)=>S[r].height<S[e].height,ll=(r,e)=>S[r].height<=S[e].height,ul=r=>r.sort((e,t)=>e===t?0:e===m.INVARIANT?1:t===m.INVARIANT?-1:it(e,t)?1:-1)[0],st=Object.keys(S).sort((r,e)=>it(r,e)?-1:1),vl=(r,e=.02)=>[...st].find(n=>S[n].height*(1+e)>=r),fl=({width:r,height:e})=>{const t=Math.min(r,e),n=Math.max(r,e);return st.find(a=>{const o=S[a];return o.width>=n&&o.height>=t})},dl=r=>S[r].height,ct=r=>r===m.INVARIANT,hl=r=>r.every(e=>!ct(e));function pl(r){if(ct(r))throw new Error("Expected exact quality")}const bn=(r,e)=>{const t={};for(const n of Object.keys(e)){const a=e[n],o=r[n];Array.isArray(a)&&Array.isArray(o)?t[n]=o:typeof a=="object"&&typeof o=="object"?t[n]=bn(o,a):t[n]=n in r?o:a}return t};class bl extends at{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const t=super._subscribe(e);return e.next(this.value),t}}function yl(r){return new y(e=>{const t={};let n=Object.keys(r).length;const a=o=>i=>{o in t||n--,t[o]=i,n===0&&e.next(t)};return Object.entries(r).reduce((o,[i,s])=>o.add(s.subscribe(a(i))),new dr)})}function gl(...r){return new y(e=>r.reduce((t,n)=>t.add(n.subscribe(e)),new dr))}var Ol=r=>new y(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},r);return()=>window.clearTimeout(t)}),$l=r=>new y(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),wl=r=>new y(e=>{r.forEach(t=>e.next(t))}),ml=(r,e)=>new y(t=>{const n=a=>t.next(a);return r.addEventListener(e,n),()=>r.removeEventListener(e,n)});function El(r){return e=>new y(t=>e.subscribe(new yn(t,r)))}class yn{constructor(e,t){this.destination=e,this.size=t,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const gn={leading:!1,trailing:!0};function Sl(r,e=gn){return t=>new y(n=>t.subscribe(new On(n,r,e)))}class On{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,cn(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const $n={leading:!0,trailing:!1};function Tl(r,e=$n){return t=>new y(n=>t.subscribe(new wn(n,r,e)))}class wn{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,ln(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Il(r){return e=>new y(t=>e.subscribe(new mn(t,r)))}class mn{constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Pl(r=(e,t)=>e===t){return e=>new y(t=>e.subscribe(new En(t,r)))}const ce={};class En{constructor(e,t){this.destination=e,this.predicate=t,this.lastValue=ce}next(e){let t;try{t=this.lastValue===ce||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Sn(r){return e=>new y(t=>e.subscribe(new Tn(t,r)))}let Tn=class{constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(t)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}};function _l(r){return Sn(()=>r)}function Al(){return r=>new y(e=>{let t=!1,n=!1;const a=r.subscribe(o=>{t||(t=!0,e.next(o)),n&&a.unsubscribe()},o=>{var i;t=!0,(i=e.error)===null||i===void 0||i.call(e,o),n&&a.unsubscribe()});return n=!0,t&&a.unsubscribe(),a})}function jl(){return r=>new y(e=>r.subscribe(new In(e)))}class In{constructor(e){this.destination=e,this.hasLast=!1}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function Ll(r){return e=>new y(t=>e.subscribe(new Pn(t,r)))}class Pn{constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}var le;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(le||(le={}));class ue{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:n})}removeEventListener(e,t){if(!(e in this.listeners))return;const n=this.listeners[e];for(let a=0,o=n.length;a<o;a++)if(n[a].callback===t){n.splice(a,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;const n=this.listeners[e.type].slice();for(let a=0,o=n.length;a<o;a++){const i=n[a];try{i.callback.call(this,e)}catch(s){Promise.resolve().then(()=>{throw s})}i.options&&i.options.once&&this.removeEventListener(e.type,i.callback)}return!e.defaultPrevented}}class lt extends ue{constructor(){super(),this.listeners||ue.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)}}class Rn{constructor(){Object.defineProperty(this,"signal",{value:new lt,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch(a){typeof document!="undefined"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let n=e;if(n===void 0)if(typeof document=="undefined")n=new Error("This operation was aborted"),n.name="AbortError";else try{n=new DOMException("signal is aborted without reason")}catch(a){n=new Error("This operation was aborted"),n.name="AbortError"}this.signal.reason=n,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}}typeof Symbol!="undefined"&&Symbol.toStringTag&&(Rn.prototype[Symbol.toStringTag]="AbortController",lt.prototype[Symbol.toStringTag]="AbortSignal");function ut(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function _n(r){typeof r=="function"&&(r={fetch:r});const{fetch:e,Request:t=e.Request,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a=!1}=r;if(!ut({fetch:e,Request:t,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return{fetch:e,Request:o};let o=t;(o&&!o.prototype.hasOwnProperty("signal")||a)&&(o=function(c,l){let f;l&&l.signal&&(f=l.signal,delete l.signal);const u=new t(c,l);return f&&Object.defineProperty(u,"signal",{writable:!1,enumerable:!1,configurable:!0,value:f}),u},o.prototype=t.prototype);const i=e;return{fetch:(v,c)=>{const l=o&&o.prototype.isPrototypeOf(v)?v.signal:c?c.signal:void 0;if(l){let f;try{f=new DOMException("Aborted","AbortError")}catch(d){f=new Error("Aborted"),f.name="AbortError"}if(l.aborted)return Promise.reject(f);const u=new Promise((d,$)=>{l.addEventListener("abort",()=>$(f),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([u,i(v,c)])}return i(v,c)},Request:o}}const Wr=ut({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),vt=Wr?_n({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,An=Wr?vt.fetch:window.fetch;Wr?vt.Request:window.Request;var gr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function jn(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var j=function(r){try{return!!r()}catch(e){return!0}},Ln=j,hr=!Ln(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")}),ft=hr,dt=Function.prototype,kr=dt.call,xn=ft&&dt.bind.bind(kr,kr),N=ft?xn:function(r){return function(){return kr.apply(r,arguments)}},ht=N,Mn=ht({}.toString),Nn=ht("".slice),Hr=function(r){return Nn(Mn(r),8,-1)},Cn=N,Fn=j,Gn=Hr,Or=Object,Dn=Cn("".split),kn=Fn(function(){return!Or("z").propertyIsEnumerable(0)})?function(r){return Gn(r)=="String"?Dn(r,""):Or(r)}:Or,Xr=function(r){return r==null},Un=Xr,Vn=TypeError,pt=function(r){if(Un(r))throw Vn("Can't call method on "+r);return r},Bn=kn,Kn=pt,H=function(r){return Bn(Kn(r))},K={},Z=function(r){return r&&r.Math==Math&&r},I=Z(typeof globalThis=="object"&&globalThis)||Z(typeof window=="object"&&window)||Z(typeof self=="object"&&self)||Z(typeof gr=="object"&&gr)||function(){return this}()||gr||Function("return this")(),Ur=typeof document=="object"&&document.all,qn=typeof Ur=="undefined"&&Ur!==void 0,bt={all:Ur,IS_HTMLDDA:qn},yt=bt,Yn=yt.all,P=yt.IS_HTMLDDA?function(r){return typeof r=="function"||r===Yn}:function(r){return typeof r=="function"},zn=I,Qn=P,ve=zn.WeakMap,Wn=Qn(ve)&&/native code/.test(String(ve)),fe=P,gt=bt,Hn=gt.all,q=gt.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:fe(r)||r===Hn}:function(r){return typeof r=="object"?r!==null:fe(r)},Xn=j,C=!Xn(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),Y={},Jn=I,de=q,Vr=Jn.document,Zn=de(Vr)&&de(Vr.createElement),Ot=function(r){return Zn?Vr.createElement(r):{}},ra=C,ea=j,ta=Ot,$t=!ra&&!ea(function(){return Object.defineProperty(ta("div"),"a",{get:function(){return 7}}).a!=7}),na=C,aa=j,wt=na&&aa(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42}),oa=q,ia=String,sa=TypeError,z=function(r){if(oa(r))return r;throw sa(ia(r)+" is not an object")},ca=hr,rr=Function.prototype.call,F=ca?rr.bind(rr):function(){return rr.apply(rr,arguments)},Jr={},$r=Jr,wr=I,la=P,he=function(r){return la(r)?r:void 0},mt=function(r,e){return arguments.length<2?he($r[r])||he(wr[r]):$r[r]&&$r[r][e]||wr[r]&&wr[r][e]},ua=N,Et=ua({}.isPrototypeOf),va=typeof navigator!="undefined"&&String(navigator.userAgent)||"",St=I,mr=va,pe=St.process,be=St.Deno,ye=pe&&pe.versions||be&&be.version,ge=ye&&ye.v8,T,ur;ge&&(T=ge.split("."),ur=T[0]>0&&T[0]<4?1:+(T[0]+T[1]));!ur&&mr&&(T=mr.match(/Edge\/(\d+)/),(!T||T[1]>=74)&&(T=mr.match(/Chrome\/(\d+)/),T&&(ur=+T[1])));var fa=ur,Oe=fa,da=j,ha=I,pa=ha.String,Tt=!!Object.getOwnPropertySymbols&&!da(function(){var r=Symbol();return!pa(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Oe&&Oe<41}),ba=Tt,It=ba&&!Symbol.sham&&typeof Symbol.iterator=="symbol",ya=mt,ga=P,Oa=Et,$a=It,wa=Object,Pt=$a?function(r){return typeof r=="symbol"}:function(r){var e=ya("Symbol");return ga(e)&&Oa(e.prototype,wa(r))},ma=String,Zr=function(r){try{return ma(r)}catch(e){return"Object"}},Ea=P,Sa=Zr,Ta=TypeError,re=function(r){if(Ea(r))return r;throw Ta(Sa(r)+" is not a function")},Ia=re,Pa=Xr,ee=function(r,e){var t=r[e];return Pa(t)?void 0:Ia(t)},Er=F,Sr=P,Tr=q,Ra=TypeError,_a=function(r,e){var t,n;if(e==="string"&&Sr(t=r.toString)&&!Tr(n=Er(t,r))||Sr(t=r.valueOf)&&!Tr(n=Er(t,r))||e!=="string"&&Sr(t=r.toString)&&!Tr(n=Er(t,r)))return n;throw Ra("Can't convert object to primitive value")},Rt={exports:{}},$e=I,Aa=Object.defineProperty,ja=function(r,e){try{Aa($e,r,{value:e,configurable:!0,writable:!0})}catch(t){$e[r]=e}return e},La=I,xa=ja,we="__core-js_shared__",Ma=La[we]||xa(we,{}),_t=Ma,me=_t;(Rt.exports=function(r,e){return me[r]||(me[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.31.0",mode:"pure",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.0/LICENSE",source:"https://github.com/zloirock/core-js"});var At=Rt.exports,Na=pt,Ca=Object,jt=function(r){return Ca(Na(r))},Fa=N,Ga=jt,Da=Fa({}.hasOwnProperty),x=Object.hasOwn||function(e,t){return Da(Ga(e),t)},ka=N,Ua=0,Va=Math.random(),Ba=ka(1 .toString),Lt=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Ba(++Ua+Va,36)},Ka=I,qa=At,Ee=x,Ya=Lt,za=Tt,Qa=It,U=Ka.Symbol,Ir=qa("wks"),Wa=Qa?U.for||U:U&&U.withoutSetter||Ya,L=function(r){return Ee(Ir,r)||(Ir[r]=za&&Ee(U,r)?U[r]:Wa("Symbol."+r)),Ir[r]},Ha=F,Se=q,Te=Pt,Xa=ee,Ja=_a,Za=L,ro=TypeError,eo=Za("toPrimitive"),to=function(r,e){if(!Se(r)||Te(r))return r;var t=Xa(r,eo),n;if(t){if(e===void 0&&(e="default"),n=Ha(t,r,e),!Se(n)||Te(n))return n;throw ro("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ja(r,e)},no=to,ao=Pt,te=function(r){var e=no(r,"string");return ao(e)?e:e+""},oo=C,io=$t,so=wt,er=z,Ie=te,co=TypeError,Pr=Object.defineProperty,lo=Object.getOwnPropertyDescriptor,Rr="enumerable",_r="configurable",Ar="writable";Y.f=oo?so?function(e,t,n){if(er(e),t=Ie(t),er(n),typeof e=="function"&&t==="prototype"&&"value"in n&&Ar in n&&!n[Ar]){var a=lo(e,t);a&&a[Ar]&&(e[t]=n.value,n={configurable:_r in n?n[_r]:a[_r],enumerable:Rr in n?n[Rr]:a[Rr],writable:!1})}return Pr(e,t,n)}:Pr:function(e,t,n){if(er(e),t=Ie(t),er(n),io)try{return Pr(e,t,n)}catch(a){}if("get"in n||"set"in n)throw co("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var pr=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}},uo=C,vo=Y,fo=pr,X=uo?function(r,e,t){return vo.f(r,e,fo(1,t))}:function(r,e,t){return r[e]=t,r},ho=At,po=Lt,Pe=ho("keys"),ne=function(r){return Pe[r]||(Pe[r]=po(r))},ae={},bo=Wn,xt=I,yo=q,go=X,jr=x,Lr=_t,Oo=ne,$o=ae,Re="Object already initialized",Br=xt.TypeError,wo=xt.WeakMap,vr,W,fr,mo=function(r){return fr(r)?W(r):vr(r,{})},Eo=function(r){return function(e){var t;if(!yo(e)||(t=W(e)).type!==r)throw Br("Incompatible receiver, "+r+" required");return t}};if(bo||Lr.state){var R=Lr.state||(Lr.state=new wo);R.get=R.get,R.has=R.has,R.set=R.set,vr=function(r,e){if(R.has(r))throw Br(Re);return e.facade=r,R.set(r,e),e},W=function(r){return R.get(r)||{}},fr=function(r){return R.has(r)}}else{var G=Oo("state");$o[G]=!0,vr=function(r,e){if(jr(r,G))throw Br(Re);return e.facade=r,go(r,G,e),e},W=function(r){return jr(r,G)?r[G]:{}},fr=function(r){return jr(r,G)}}var So={set:vr,get:W,has:fr,enforce:mo,getterFor:Eo},To=hr,Mt=Function.prototype,_e=Mt.apply,Ae=Mt.call,Io=typeof Reflect=="object"&&Reflect.apply||(To?Ae.bind(_e):function(){return Ae.apply(_e,arguments)}),Po=Hr,Ro=N,Nt=function(r){if(Po(r)==="Function")return Ro(r)},Ct={},Ft={},Gt={}.propertyIsEnumerable,Dt=Object.getOwnPropertyDescriptor,_o=Dt&&!Gt.call({1:2},1);Ft.f=_o?function(e){var t=Dt(this,e);return!!t&&t.enumerable}:Gt;var Ao=C,jo=F,Lo=Ft,xo=pr,Mo=H,No=te,Co=x,Fo=$t,je=Object.getOwnPropertyDescriptor;Ct.f=Ao?je:function(e,t){if(e=Mo(e),t=No(t),Fo)try{return je(e,t)}catch(n){}if(Co(e,t))return xo(!jo(Lo.f,e,t),e[t])};var Go=j,Do=P,ko=/#|\.prototype\./,J=function(r,e){var t=Vo[Uo(r)];return t==Ko?!0:t==Bo?!1:Do(e)?Go(e):!!e},Uo=J.normalize=function(r){return String(r).replace(ko,".").toLowerCase()},Vo=J.data={},Bo=J.NATIVE="N",Ko=J.POLYFILL="P",qo=J,Le=Nt,Yo=re,zo=hr,Qo=Le(Le.bind),kt=function(r,e){return Yo(r),e===void 0?r:zo?Qo(r,e):function(){return r.apply(e,arguments)}},tr=I,Wo=Io,Ho=Nt,Xo=P,Jo=Ct.f,Zo=qo,D=Jr,ri=kt,k=X,xe=x,ei=function(r){var e=function(t,n,a){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,n)}return new r(t,n,a)}return Wo(r,this,arguments)};return e.prototype=r.prototype,e},Ut=function(r,e){var t=r.target,n=r.global,a=r.stat,o=r.proto,i=n?tr:a?tr[t]:(tr[t]||{}).prototype,s=n?D:D[t]||k(D,t,{})[t],v=s.prototype,c,l,f,u,d,$,E,w,g;for(u in e)c=Zo(n?u:t+(a?".":"#")+u,r.forced),l=!c&&i&&xe(i,u),$=s[u],l&&(r.dontCallGetSet?(g=Jo(i,u),E=g&&g.value):E=i[u]),d=l&&E?E:e[u],!(l&&typeof $==typeof d)&&(r.bind&&l?w=ri(d,tr):r.wrap&&l?w=ei(d):o&&Xo(d)?w=Ho(d):w=d,(r.sham||d&&d.sham||$&&$.sham)&&k(w,"sham",!0),k(s,u,w),o&&(f=t+"Prototype",xe(D,f)||k(D,f,{}),k(D[f],u,d),r.real&&v&&(c||!v[u])&&k(v,u,d)))},Kr=C,ti=x,Vt=Function.prototype,ni=Kr&&Object.getOwnPropertyDescriptor,oe=ti(Vt,"name"),ai=oe&&function(){}.name==="something",oi=oe&&(!Kr||Kr&&ni(Vt,"name").configurable),ii={EXISTS:oe,PROPER:ai,CONFIGURABLE:oi},Bt={},si=Math.ceil,ci=Math.floor,li=Math.trunc||function(e){var t=+e;return(t>0?ci:si)(t)},ui=li,Kt=function(r){var e=+r;return e!==e||e===0?0:ui(e)},vi=Kt,fi=Math.max,di=Math.min,hi=function(r,e){var t=vi(r);return t<0?fi(t+e,0):di(t,e)},pi=Kt,bi=Math.min,yi=function(r){return r>0?bi(pi(r),9007199254740991):0},gi=yi,qt=function(r){return gi(r.length)},Oi=H,$i=hi,wi=qt,Me=function(r){return function(e,t,n){var a=Oi(e),o=wi(a),i=$i(n,o),s;if(r&&t!=t){for(;o>i;)if(s=a[i++],s!=s)return!0}else for(;o>i;i++)if((r||i in a)&&a[i]===t)return r||i||0;return!r&&-1}},mi={includes:Me(!0),indexOf:Me(!1)},Ei=N,xr=x,Si=H,Ti=mi.indexOf,Ii=ae,Ne=Ei([].push),Pi=function(r,e){var t=Si(r),n=0,a=[],o;for(o in t)!xr(Ii,o)&&xr(t,o)&&Ne(a,o);for(;e.length>n;)xr(t,o=e[n++])&&(~Ti(a,o)||Ne(a,o));return a},Yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Pi,_i=Yt,Ai=Object.keys||function(e){return Ri(e,_i)},ji=C,Li=wt,xi=Y,Mi=z,Ni=H,Ci=Ai;Bt.f=ji&&!Li?Object.defineProperties:function(e,t){Mi(e);for(var n=Ni(t),a=Ci(t),o=a.length,i=0,s;o>i;)xi.f(e,s=a[i++],n[s]);return e};var Fi=mt,Gi=Fi("document","documentElement"),Di=z,ki=Bt,Ce=Yt,Ui=ae,Vi=Gi,Bi=Ot,Ki=ne,Fe=">",Ge="<",qr="prototype",Yr="script",zt=Ki("IE_PROTO"),Mr=function(){},Qt=function(r){return Ge+Yr+Fe+r+Ge+"/"+Yr+Fe},De=function(r){r.write(Qt("")),r.close();var e=r.parentWindow.Object;return r=null,e},qi=function(){var r=Bi("iframe"),e="java"+Yr+":",t;return r.style.display="none",Vi.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Qt("document.F=Object")),t.close(),t.F},nr,sr=function(){try{nr=new ActiveXObject("htmlfile")}catch(e){}sr=typeof document!="undefined"?document.domain&&nr?De(nr):qi():De(nr);for(var r=Ce.length;r--;)delete sr[qr][Ce[r]];return sr()};Ui[zt]=!0;var Wt=Object.create||function(e,t){var n;return e!==null?(Mr[qr]=Di(e),n=new Mr,Mr[qr]=null,n[zt]=e):n=sr(),t===void 0?n:ki.f(n,t)},Yi=j,zi=!Yi(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype}),Qi=x,Wi=P,Hi=jt,Xi=ne,Ji=zi,ke=Xi("IE_PROTO"),zr=Object,Zi=zr.prototype,Ht=Ji?zr.getPrototypeOf:function(r){var e=Hi(r);if(Qi(e,ke))return e[ke];var t=e.constructor;return Wi(t)&&e instanceof t?t.prototype:e instanceof zr?Zi:null},rs=X,Xt=function(r,e,t,n){return n&&n.enumerable?r[e]=t:rs(r,e,t),r},es=j,ts=P,ns=q,as=Wt,Ue=Ht,os=Xt,is=L,Qr=is("iterator"),Jt=!1,A,Nr,Cr;[].keys&&(Cr=[].keys(),"next"in Cr?(Nr=Ue(Ue(Cr)),Nr!==Object.prototype&&(A=Nr)):Jt=!0);var ss=!ns(A)||es(function(){var r={};return A[Qr].call(r)!==r});ss?A={}:A=as(A);ts(A[Qr])||os(A,Qr,function(){return this});var Zt={IteratorPrototype:A,BUGGY_SAFARI_ITERATORS:Jt},cs=L,ls=cs("toStringTag"),rn={};rn[ls]="z";var ie=String(rn)==="[object z]",us=ie,vs=P,cr=Hr,fs=L,ds=fs("toStringTag"),hs=Object,ps=cr(function(){return arguments}())=="Arguments",bs=function(r,e){try{return r[e]}catch(t){}},se=us?cr:function(r){var e,t,n;return r===void 0?"Undefined":r===null?"Null":typeof(t=bs(e=hs(r),ds))=="string"?t:ps?cr(e):(n=cr(e))=="Object"&&vs(e.callee)?"Arguments":n},ys=ie,gs=se,Os=ys?{}.toString:function(){return"[object "+gs(this)+"]"},$s=ie,ws=Y.f,ms=X,Es=x,Ss=Os,Ts=L,Ve=Ts("toStringTag"),en=function(r,e,t,n){if(r){var a=t?r:r.prototype;Es(a,Ve)||ws(a,Ve,{configurable:!0,value:e}),n&&!$s&&ms(a,"toString",Ss)}},Is=Zt.IteratorPrototype,Ps=Wt,Rs=pr,_s=en,As=K,js=function(){return this},Ls=function(r,e,t,n){var a=e+" Iterator";return r.prototype=Ps(Is,{next:Rs(+!n,t)}),_s(r,a,!1,!0),As[a]=js,r},xs=Ut,Ms=F,tn=ii,Ns=Ls,Cs=Ht,Fs=en,Be=Xt,Gs=L,Ke=K,nn=Zt,Ds=tn.PROPER;tn.CONFIGURABLE;nn.IteratorPrototype;var ar=nn.BUGGY_SAFARI_ITERATORS,Fr=Gs("iterator"),qe="keys",or="values",Ye="entries",ks=function(){return this},Us=function(r,e,t,n,a,o,i){Ns(t,e,n);var s=function(g){if(g===a&&u)return u;if(!ar&&g in l)return l[g];switch(g){case qe:return function(){return new t(this,g)};case or:return function(){return new t(this,g)};case Ye:return function(){return new t(this,g)}}return function(){return new t(this)}},v=e+" Iterator",c=!1,l=r.prototype,f=l[Fr]||l["@@iterator"]||a&&l[a],u=!ar&&f||s(a),d=e=="Array"&&l.entries||f,$,E,w;if(d&&($=Cs(d.call(new r)),$!==Object.prototype&&$.next&&(Fs($,v,!0,!0),Ke[v]=ks)),Ds&&a==or&&f&&f.name!==or&&(c=!0,u=function(){return Ms(f,this)}),a)if(E={values:s(or),keys:o?u:s(qe),entries:s(Ye)},i)for(w in E)(ar||c||!(w in l))&&Be(l,w,E[w]);else xs({target:e,proto:!0,forced:ar||c},E);return i&&l[Fr]!==u&&Be(l,Fr,u,{name:a}),Ke[e]=u,E},Vs=function(r,e){return{value:r,done:e}},Bs=H,ze=K,an=So;Y.f;var Ks=Us,ir=Vs,on="Array Iterator",qs=an.set,Ys=an.getterFor(on);Ks(Array,"Array",function(r,e){qs(this,{type:on,target:Bs(r),index:0,kind:e})},function(){var r=Ys(this),e=r.target,t=r.kind,n=r.index++;return!e||n>=e.length?(r.target=void 0,ir(void 0,!0)):t=="keys"?ir(n,!1):t=="values"?ir(e[n],!1):ir([n,e[n]],!1)},"values");ze.Arguments=ze.Array;var zs=L,Qs=K,Ws=zs("iterator"),Hs=Array.prototype,Xs=function(r){return r!==void 0&&(Qs.Array===r||Hs[Ws]===r)},Js=se,Qe=ee,Zs=Xr,rc=K,ec=L,tc=ec("iterator"),sn=function(r){if(!Zs(r))return Qe(r,tc)||Qe(r,"@@iterator")||rc[Js(r)]},nc=F,ac=re,oc=z,ic=Zr,sc=sn,cc=TypeError,lc=function(r,e){var t=arguments.length<2?sc(r):e;if(ac(t))return oc(nc(t,r));throw cc(ic(r)+" is not iterable")},uc=F,We=z,vc=ee,fc=function(r,e,t){var n,a;We(r);try{if(n=vc(r,"return"),!n){if(e==="throw")throw t;return t}n=uc(n,r)}catch(o){a=!0,n=o}if(e==="throw")throw t;if(a)throw n;return We(n),t},dc=kt,hc=F,pc=z,bc=Zr,yc=Xs,gc=qt,He=Et,Oc=lc,$c=sn,Xe=fc,wc=TypeError,lr=function(r,e){this.stopped=r,this.result=e},Je=lr.prototype,mc=function(r,e,t){var n=t&&t.that,a=!!(t&&t.AS_ENTRIES),o=!!(t&&t.IS_RECORD),i=!!(t&&t.IS_ITERATOR),s=!!(t&&t.INTERRUPTED),v=dc(e,n),c,l,f,u,d,$,E,w=function(O){return c&&Xe(c,"normal",O),new lr(!0,O)},g=function(O){return a?(pc(O),s?v(O[0],O[1],w):v(O[0],O[1])):s?v(O,w):v(O)};if(o)c=r.iterator;else if(i)c=r;else{if(l=$c(r),!l)throw wc(bc(r)+" is not iterable");if(yc(l)){for(f=0,u=gc(r);u>f;f++)if(d=g(r[f]),d&&He(Je,d))return d;return new lr(!1)}c=Oc(r,l)}for($=o?r.next:c.next;!(E=hc($,c)).done;){try{d=g(E.value)}catch(O){Xe(c,"throw",O)}if(typeof d=="object"&&d&&He(Je,d))return d}return new lr(!1)},Ec=te,Sc=Y,Tc=pr,Ic=function(r,e,t){var n=Ec(e);n in r?Sc.f(r,n,Tc(0,t)):r[n]=t},Pc=Ut,Rc=mc,_c=Ic;Pc({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Rc(e,function(n,a){_c(t,n,a)},{AS_ENTRIES:!0}),t}});var Ac=Jr,jc=Ac.Object.fromEntries,Lc={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},xc=Lc,Mc=I,Nc=se,Cc=X,Ze=K,Fc=L,rt=Fc("toStringTag");for(var Gr in xc){var et=Mc[Gr],Dr=et&&et.prototype;Dr&&Nc(Dr)!==rt&&Cc(Dr,rt,Gr),Ze[Gr]=Ze.Array}var Gc=jc,Dc=Gc,kc=Dc,Uc=kc,Vc=jn(Uc),tt;(function(r){r.Armenian="58",r.Azerbaijani="57",r.Belarusian="114",r.English="3",r.Kazakh="97",r.Portuguese="73",r.Russian="0",r.Spanish="4",r.Ukrainian="1",r.Uzbek="65",r.Vietnamese="75"})(tt||(tt={}));const Bc="vk.com",xl=async(r,e,t)=>{const n=new URL(`https://${Bc}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),r!==void 0&&n.searchParams.set("lang",r);const o=await(await An(n.toString())).json();return Kc(o,t)},Kc=(r,e)=>Vc(Object.entries(r.keys).map(([t,n])=>[t.substring(`${e}_`.length),qc(n)])),qc=r=>Array.isArray(r)?r[0]:r;var nt;(function(r){r.RU="ru",r.EN="en"})(nt||(nt={}));export{_ as CurrentClientBrowser,p as CurrentClientDevice,le as ErrorCategory,nt as InterfaceLanguage,Qc as Logger,y as Observable,at as Subject,dr as Subscription,Yc as VERSION,tt as VKNumericLanguage,bl as ValueSubject,m as VideoQuality,el as abortable,Zc as addScript,hl as areQualitiesExact,Jc as assertEmptyArray,V as assertNever,Wc as assertNonNullable,Xc as assertNotEmptyArray,Hc as assertNullable,pl as assertQualityIsExact,El as buffer,zc as checkNever,yl as combine,Sl as debounce,bn as fillWithDefault,Il as filter,Pl as filterChanged,ml as fromEvent,ot as getCurrentBrowser,ol as getExponentialDelay,ul as getHighestQuality,nl as getIOSVersion,$l as interval,sl as isHigher,cl as isHigherOrEqual,tl as isIOS,ct as isInvariantQuality,it as isLower,ll as isLowerOrEqual,al as isMacLike,cn as isNonNullable,ln as isNullable,xl as loadVKLangPack,Sn as map,_l as mapTo,gl as merge,Q as noop,rl as now,wl as observableFrom,Al as once,jl as pairwise,il as safeStorage,Ll as tap,Tl as throttle,Ol as timeout,vl as videoHeightToQuality,dl as videoQualityToHeight,fl as videoSizeToQuality};
package/esnext.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-shared v1.0.31-dev.0e8d526.0
3
- * Tue, 12 Dec 2023 11:25:06 GMT
2
+ * @vkontakte/videoplayer-shared v1.0.31-dev.2d3fd91.0
3
+ * Tue, 12 Dec 2023 10:53:29 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
5
5
  */
6
- "use strict";const q="1.0.31-dev.0e8d526.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(r=>typeof r=="function"?r():r.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const p=e=>{throw new Error(`${e} is value of unexpected type`)},F=e=>{},m=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,r){let n;r?typeof r=="function"?n={next:r,error:m}:n={next:o=>r.next(o),error:o=>r.error?.(o)}:n={next:m,error:m};const s=typeof t=="function"?{next:o=>{try{t(o)}catch(u){n.next(u)}},error:o=>n.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):n.next(o)};let i;try{i=this._subscribe(s)}catch(o){s.error?.(o)}return new v().add(()=>{switch(s.next=m,s.error=m,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return p(i)}})}pipe(...t){return t.reduce((r,n)=>n(r),this)}_subscribe(t){}}class A extends l{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(r=>r.next(t))}error(t){this.subscribers.forEach(r=>r.error?.(t))}_subscribe(t){const r=this.keyCounter++;return this.subscribers.set(r,t),new v().add(()=>this.subscribers.delete(r))}}class U{log$=new A;logs=[];log=t=>{const r={...t,timestamp:Date.now()};this.logs.push(r),this.log$.next(r)};createCustomLog(t){return(...r)=>{let n;try{n=t(...r)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(r=>({component:t,...r}))}getAllLogs=()=>this.logs}function G(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function B(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function T(e){return typeof e<"u"&&e!==null}function I(e){return e==null}function z(e,t){if(!e?.length)throw new Error(t)}function H(e,t){if(e?.length)throw new Error(t)}const $=(e,t,r)=>new Promise((n,s)=>{t.addEventListener("abort",()=>{u(),c.remove()});const i=()=>{u(),s()},o=()=>{u(),n()},u=()=>{h&&clearTimeout(h),c.removeEventListener("load",o),c.removeEventListener("error",i)};let h;r&&(h=window.setTimeout(i,r));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",i),c.src=e,document.head.appendChild(c)}),Y=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),W=(e,t)=>async(...r)=>{const n=t(...r);let s=e.aborted,i;for(;!s&&!e.aborted;){const o=await n.next(i);s=o.done??!1,i=o.value}return i};exports.CurrentClientBrowser=void 0;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const x=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?exports.CurrentClientBrowser.Yandex:void 0,r=/chrome|crios/i.test(e)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(e)?exports.CurrentClientBrowser.Chromium:void 0,s=/firefox|fxios/i.test(e)?exports.CurrentClientBrowser.Firefox:void 0,i=/webkit|safari|khtml/i.test(e)?exports.CurrentClientBrowser.Safari:void 0,o=/opr\//i.test(e)?exports.CurrentClientBrowser.Opera:void 0,u=/edg/i.test(e)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(e)?exports.CurrentClientDevice.Android:void 0,c=/iphone/i.test(e)?exports.CurrentClientDevice.iPhone:void 0,f=/ipad/i.test(e)?exports.CurrentClientDevice.iPad:void 0,b=/ipod/i.test(e)?exports.CurrentClientDevice.iPod:void 0,g=/mac/i.test(e)?exports.CurrentClientDevice.Mac:void 0,S=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:t||s||o||u||r||n||i||exports.CurrentClientBrowser.Rest,device:h||c||f||b||S||g||exports.CurrentClientDevice.Desktop}},K=(e=!1)=>{const r=[exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device);if(!e)return r;const{userAgent:n,maxTouchPoints:s}=window.navigator;return!!(r||/macintosh/i.test(n)&&s>0)},X=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const r=t[1],n=parseFloat(r);return isNaN(n)?null:n},J=()=>[exports.CurrentClientDevice.Mac,exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device),Z=(e,{start:t=0,factor:r=2,max:n=1/0,min:s=t,random:i=0}={})=>{let o=t;return o*=r**e,o*=1+(Math.random()*i*2-i),o=Math.round(o),o=Math.min(o,n),o=Math.max(o,s),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let E,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)w=a.RUNTIME;else throw t}else throw e}return w===a.RUNTIME&&(E=new Map),w},ee=()=>y()===a.LOCAL_STORAGE,te=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return E?.get(e);default:p(t)}},re=(e,t)=>{const r=y();switch(r){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void E?.set(e,t);default:p(r)}},ne=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return E?.has(e)??!1;default:return p(t),!1}},ie=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void E?.delete(e);default:p(t)}},se=()=>{const e=y();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return E?.clear();default:p(e)}};var oe=Object.freeze({__proto__:null,clear:se,get:te,has:ne,isPersistent:ee,remove:ie,set:re});exports.VideoQuality=void 0;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const d={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},ae=(e,t)=>d[e].height>d[t].height,ce=(e,t)=>d[e].height>=d[t].height,R=(e,t)=>d[e].height<d[t].height,le=(e,t)=>d[e].height<=d[t].height,ue=e=>e.sort((t,r)=>t===r?0:t===exports.VideoQuality.INVARIANT?1:r===exports.VideoQuality.INVARIANT?-1:R(t,r)?1:-1)[0],N=Object.keys(d).sort((e,t)=>R(e,t)?-1:1),de=(e,t=.02)=>[...N].find(n=>d[n].height*(1+t)>=e),he=({width:e,height:t})=>{const r=Math.min(e,t),n=Math.max(e,t);return N.find(s=>{const i=d[s];return i.width>=n&&i.height>=r})},fe=e=>d[e].height,C=e=>e===exports.VideoQuality.INVARIANT,be=e=>e.every(t=>!C(t));function we(e){if(C(e))throw new Error("Expected exact quality")}const M=(e,t)=>{const r={};for(const n of Object.keys(t)){const s=t[n],i=e[n];Array.isArray(s)&&Array.isArray(i)?r[n]=i:typeof s=="object"&&typeof i=="object"?r[n]=M(i,s):r[n]=n in e?i:s}return r};class pe extends A{value;constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const r=super._subscribe(t);return t.next(this.value),r}}function ge(e){return new l(t=>{const r={};let n=Object.keys(e).length;const s=i=>o=>{i in r||n--,r[i]=o,n===0&&t.next(r)};return Object.entries(e).reduce((i,[o,u])=>i.add(u.subscribe(s(o))),new v)})}function me(...e){return new l(t=>e.reduce((r,n)=>r.add(n.subscribe(t)),new v))}var Ee=e=>new l(t=>{const r=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(r)}),ye=e=>new l(t=>{const r=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(r)}),ve=e=>new l(t=>{e.forEach(r=>t.next(r))}),Se=(e,t)=>new l(r=>{const n=s=>r.next(s);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function Oe(e){return t=>new l(r=>t.subscribe(new Ae(r,e)))}class Ae{destination;size;lastValues=[];constructor(t,r){this.destination=t,this.size=r}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const xe={leading:!1,trailing:!0};function Re(e,t=xe){return r=>new l(n=>r.subscribe(new Ce(n,e,t)))}class Ce{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,T(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(r){if(this.destination.error)this.destination.error(r);else throw r}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const Le={leading:!0,trailing:!1};function _e(e,t=Le){return r=>new l(n=>r.subscribe(new Pe(n,e,t)))}class Pe{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,I(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){this.destination.error?.(t)}}function Te(e){return t=>new l(r=>t.subscribe(new Ie(r,e)))}class Ie{destination;predicate;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.predicate(t)}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Ne(e=(t,r)=>t===r){return t=>new l(r=>t.subscribe(new Me(r,e)))}const _={};class Me{destination;predicate;lastValue=_;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.lastValue===_||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Q(e){return t=>new l(r=>t.subscribe(new Qe(r,e)))}let Qe=class{destination;mapper;constructor(t,r){this.destination=t,this.mapper=r}next(t){let r;try{r=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(r)}error(t){this.destination.error?.(t)}};function Ve(e){return Q(()=>e)}function De(){return e=>new l(t=>{let r=!1,n=!1;const s=e.subscribe(i=>{r||(r=!0,t.next(i)),n&&s.unsubscribe()},i=>{r=!0,t.error?.(i),n&&s.unsubscribe()});return n=!0,r&&s.unsubscribe(),s})}function je(){return e=>new l(t=>e.subscribe(new ke(t)))}class ke{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const r=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([r,t])}error(t){this.destination.error?.(t)}}function qe(e){return t=>new l(r=>t.subscribe(new Fe(r,e)))}class Fe{destination;effect;constructor(t,r){this.destination=t,this.effect=r}next(t){try{this.effect(t)}catch(r){throw this.error(r),r}this.destination.next(t)}error(t){this.destination.error?.(t)}}exports.ErrorCategory=void 0;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));class P{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,r,n){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:r,options:n})}removeEventListener(t,r){if(!(t in this.listeners))return;const n=this.listeners[t];for(let s=0,i=n.length;s<i;s++)if(n[s].callback===r){n.splice(s,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const n=this.listeners[t.type].slice();for(let s=0,i=n.length;s<i;s++){const o=n[s];try{o.callback.call(this,t)}catch(u){Promise.resolve().then(()=>{throw u})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class V extends P{constructor(){super(),this.listeners||P.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(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class Ue{constructor(){Object.defineProperty(this,"signal",{value:new V,writable:!0,configurable:!0})}abort(t){let r;try{r=new Event("abort")}catch{typeof document<"u"?document.createEvent?(r=document.createEvent("Event"),r.initEvent("abort",!1,!1)):(r=document.createEventObject(),r.type="abort"):r={type:"abort",bubbles:!1,cancelable:!1}}let n=t;if(n===void 0)if(typeof document>"u")n=new Error("This operation was aborted"),n.name="AbortError";else try{n=new DOMException("signal is aborted without reason")}catch{n=new Error("This operation was aborted"),n.name="AbortError"}this.signal.reason=n,this.signal.dispatchEvent(r)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(Ue.prototype[Symbol.toStringTag]="AbortController",V.prototype[Symbol.toStringTag]="AbortSignal");function D(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function Ge(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:r=t.Request,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s=!1}=e;if(!D({fetch:t,Request:r,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s}))return{fetch:t,Request:i};let i=r;(i&&!i.prototype.hasOwnProperty("signal")||s)&&(i=function(c,f){let b;f&&f.signal&&(b=f.signal,delete f.signal);const g=new r(c,f);return b&&Object.defineProperty(g,"signal",{writable:!1,enumerable:!1,configurable:!0,value:b}),g},i.prototype=r.prototype);const o=t;return{fetch:(h,c)=>{const f=i&&i.prototype.isPrototypeOf(h)?h.signal:c?c.signal:void 0;if(f){let b;try{b=new DOMException("Aborted","AbortError")}catch{b=new Error("Aborted"),b.name="AbortError"}if(f.aborted)return Promise.reject(b);const g=new Promise((S,k)=>{f.addEventListener("abort",()=>k(b),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([g,o(h,c)])}return o(h,c)},Request:i}}const L=D({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),j=L?Ge({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Be=L?j.fetch:window.fetch;L?j.Request:window.Request;exports.VKNumericLanguage=void 0;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(exports.VKNumericLanguage||(exports.VKNumericLanguage={}));const ze="vk.com",He=async(e,t,r)=>{const n=new URL(`https://${ze}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",t),e!==void 0&&n.searchParams.set("lang",e);const i=await(await Be(n.toString())).json();return $e(i,r)},$e=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([r,n])=>[r.substring(`${t}_`.length),Ye(n)])),Ye=e=>Array.isArray(e)?e[0]:e;exports.InterfaceLanguage=void 0;(function(e){e.RU="ru",e.EN="en"})(exports.InterfaceLanguage||(exports.InterfaceLanguage={}));exports.Logger=U;exports.Observable=l;exports.Subject=A;exports.Subscription=v;exports.VERSION=q;exports.ValueSubject=pe;exports.abortable=W;exports.addScript=$;exports.areQualitiesExact=be;exports.assertEmptyArray=H;exports.assertNever=p;exports.assertNonNullable=G;exports.assertNotEmptyArray=z;exports.assertNullable=B;exports.assertQualityIsExact=we;exports.buffer=Oe;exports.checkNever=F;exports.combine=ge;exports.debounce=Re;exports.fillWithDefault=M;exports.filter=Te;exports.filterChanged=Ne;exports.fromEvent=Se;exports.getCurrentBrowser=x;exports.getExponentialDelay=Z;exports.getHighestQuality=ue;exports.getIOSVersion=X;exports.interval=ye;exports.isHigher=ae;exports.isHigherOrEqual=ce;exports.isIOS=K;exports.isInvariantQuality=C;exports.isLower=R;exports.isLowerOrEqual=le;exports.isMacLike=J;exports.isNonNullable=T;exports.isNullable=I;exports.loadVKLangPack=He;exports.map=Q;exports.mapTo=Ve;exports.merge=me;exports.noop=m;exports.now=Y;exports.observableFrom=ve;exports.once=De;exports.pairwise=je;exports.safeStorage=oe;exports.tap=qe;exports.throttle=_e;exports.timeout=Ee;exports.videoHeightToQuality=de;exports.videoQualityToHeight=fe;exports.videoSizeToQuality=he;
6
+ "use strict";const q="1.0.31-dev.2d3fd91.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(r=>typeof r=="function"?r():r.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const p=e=>{throw new Error(`${e} is value of unexpected type`)},F=e=>{},m=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,r){let n;r?typeof r=="function"?n={next:r,error:m}:n={next:o=>r.next(o),error:o=>r.error?.(o)}:n={next:m,error:m};const s=typeof t=="function"?{next:o=>{try{t(o)}catch(u){n.next(u)}},error:o=>n.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):n.next(o)};let i;try{i=this._subscribe(s)}catch(o){s.error?.(o)}return new v().add(()=>{switch(s.next=m,s.error=m,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return p(i)}})}pipe(...t){return t.reduce((r,n)=>n(r),this)}_subscribe(t){}}class A extends l{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(r=>r.next(t))}error(t){this.subscribers.forEach(r=>r.error?.(t))}_subscribe(t){const r=this.keyCounter++;return this.subscribers.set(r,t),new v().add(()=>this.subscribers.delete(r))}}class U{log$=new A;logs=[];log=t=>{const r={...t,timestamp:Date.now()};this.logs.push(r),this.log$.next(r)};createCustomLog(t){return(...r)=>{let n;try{n=t(...r)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(r=>({component:t,...r}))}getAllLogs=()=>this.logs}function G(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function B(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function T(e){return typeof e<"u"&&e!==null}function I(e){return e==null}function z(e,t){if(!e?.length)throw new Error(t)}function H(e,t){if(e?.length)throw new Error(t)}const $=(e,t,r)=>new Promise((n,s)=>{t.addEventListener("abort",()=>{u(),c.remove()});const i=()=>{u(),s()},o=()=>{u(),n()},u=()=>{h&&clearTimeout(h),c.removeEventListener("load",o),c.removeEventListener("error",i)};let h;r&&(h=window.setTimeout(i,r));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",i),c.src=e,document.head.appendChild(c)}),Y=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),W=(e,t)=>async(...r)=>{const n=t(...r);let s=e.aborted,i;for(;!s&&!e.aborted;){const o=await n.next(i);s=o.done??!1,i=o.value}return i};exports.CurrentClientBrowser=void 0;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const x=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?exports.CurrentClientBrowser.Yandex:void 0,r=/chrome|crios/i.test(e)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(e)?exports.CurrentClientBrowser.Chromium:void 0,s=/firefox|fxios/i.test(e)?exports.CurrentClientBrowser.Firefox:void 0,i=/webkit|safari|khtml/i.test(e)?exports.CurrentClientBrowser.Safari:void 0,o=/opr\//i.test(e)?exports.CurrentClientBrowser.Opera:void 0,u=/edg/i.test(e)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(e)?exports.CurrentClientDevice.Android:void 0,c=/iphone/i.test(e)?exports.CurrentClientDevice.iPhone:void 0,f=/ipad/i.test(e)?exports.CurrentClientDevice.iPad:void 0,b=/ipod/i.test(e)?exports.CurrentClientDevice.iPod:void 0,g=/mac/i.test(e)?exports.CurrentClientDevice.Mac:void 0,S=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:t||s||o||u||r||n||i||exports.CurrentClientBrowser.Rest,device:h||c||f||b||S||g||exports.CurrentClientDevice.Desktop}},K=(e=!1)=>{const r=[exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device);if(!e)return r;const{userAgent:n,maxTouchPoints:s}=window.navigator;return!!(r||/macintosh/i.test(n)&&s>0)},X=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const r=t[1],n=parseFloat(r);return isNaN(n)?null:n},J=()=>[exports.CurrentClientDevice.Mac,exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device),Z=(e,{start:t=0,factor:r=2,max:n=1/0,min:s=t,random:i=0}={})=>{let o=t;return o*=r**e,o*=1+(Math.random()*i*2-i),o=Math.round(o),o=Math.min(o,n),o=Math.max(o,s),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let E,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)w=a.RUNTIME;else throw t}else throw e}return w===a.RUNTIME&&(E=new Map),w},ee=()=>y()===a.LOCAL_STORAGE,te=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return E?.get(e);default:p(t)}},re=(e,t)=>{const r=y();switch(r){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void E?.set(e,t);default:p(r)}},ne=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return E?.has(e)??!1;default:return p(t),!1}},ie=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void E?.delete(e);default:p(t)}},se=()=>{const e=y();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return E?.clear();default:p(e)}};var oe=Object.freeze({__proto__:null,clear:se,get:te,has:ne,isPersistent:ee,remove:ie,set:re});exports.VideoQuality=void 0;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const d={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},ae=(e,t)=>d[e].height>d[t].height,ce=(e,t)=>d[e].height>=d[t].height,R=(e,t)=>d[e].height<d[t].height,le=(e,t)=>d[e].height<=d[t].height,ue=e=>e.sort((t,r)=>t===r?0:t===exports.VideoQuality.INVARIANT?1:r===exports.VideoQuality.INVARIANT?-1:R(t,r)?1:-1)[0],N=Object.keys(d).sort((e,t)=>R(e,t)?-1:1),de=(e,t=.02)=>[...N].find(n=>d[n].height*(1+t)>=e),he=({width:e,height:t})=>{const r=Math.min(e,t),n=Math.max(e,t);return N.find(s=>{const i=d[s];return i.width>=n&&i.height>=r})},fe=e=>d[e].height,C=e=>e===exports.VideoQuality.INVARIANT,be=e=>e.every(t=>!C(t));function we(e){if(C(e))throw new Error("Expected exact quality")}const M=(e,t)=>{const r={};for(const n of Object.keys(t)){const s=t[n],i=e[n];Array.isArray(s)&&Array.isArray(i)?r[n]=i:typeof s=="object"&&typeof i=="object"?r[n]=M(i,s):r[n]=n in e?i:s}return r};class pe extends A{value;constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const r=super._subscribe(t);return t.next(this.value),r}}function ge(e){return new l(t=>{const r={};let n=Object.keys(e).length;const s=i=>o=>{i in r||n--,r[i]=o,n===0&&t.next(r)};return Object.entries(e).reduce((i,[o,u])=>i.add(u.subscribe(s(o))),new v)})}function me(...e){return new l(t=>e.reduce((r,n)=>r.add(n.subscribe(t)),new v))}var Ee=e=>new l(t=>{const r=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(r)}),ye=e=>new l(t=>{const r=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(r)}),ve=e=>new l(t=>{e.forEach(r=>t.next(r))}),Se=(e,t)=>new l(r=>{const n=s=>r.next(s);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function Oe(e){return t=>new l(r=>t.subscribe(new Ae(r,e)))}class Ae{destination;size;lastValues=[];constructor(t,r){this.destination=t,this.size=r}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const xe={leading:!1,trailing:!0};function Re(e,t=xe){return r=>new l(n=>r.subscribe(new Ce(n,e,t)))}class Ce{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,T(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(r){if(this.destination.error)this.destination.error(r);else throw r}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const Le={leading:!0,trailing:!1};function _e(e,t=Le){return r=>new l(n=>r.subscribe(new Pe(n,e,t)))}class Pe{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,I(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){this.destination.error?.(t)}}function Te(e){return t=>new l(r=>t.subscribe(new Ie(r,e)))}class Ie{destination;predicate;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.predicate(t)}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Ne(e=(t,r)=>t===r){return t=>new l(r=>t.subscribe(new Me(r,e)))}const _={};class Me{destination;predicate;lastValue=_;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.lastValue===_||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Q(e){return t=>new l(r=>t.subscribe(new Qe(r,e)))}let Qe=class{destination;mapper;constructor(t,r){this.destination=t,this.mapper=r}next(t){let r;try{r=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(r)}error(t){this.destination.error?.(t)}};function Ve(e){return Q(()=>e)}function De(){return e=>new l(t=>{let r=!1,n=!1;const s=e.subscribe(i=>{r||(r=!0,t.next(i)),n&&s.unsubscribe()},i=>{r=!0,t.error?.(i),n&&s.unsubscribe()});return n=!0,r&&s.unsubscribe(),s})}function je(){return e=>new l(t=>e.subscribe(new ke(t)))}class ke{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const r=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([r,t])}error(t){this.destination.error?.(t)}}function qe(e){return t=>new l(r=>t.subscribe(new Fe(r,e)))}class Fe{destination;effect;constructor(t,r){this.destination=t,this.effect=r}next(t){try{this.effect(t)}catch(r){throw this.error(r),r}this.destination.next(t)}error(t){this.destination.error?.(t)}}exports.ErrorCategory=void 0;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));class P{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,r,n){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:r,options:n})}removeEventListener(t,r){if(!(t in this.listeners))return;const n=this.listeners[t];for(let s=0,i=n.length;s<i;s++)if(n[s].callback===r){n.splice(s,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const n=this.listeners[t.type].slice();for(let s=0,i=n.length;s<i;s++){const o=n[s];try{o.callback.call(this,t)}catch(u){Promise.resolve().then(()=>{throw u})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class V extends P{constructor(){super(),this.listeners||P.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(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class Ue{constructor(){Object.defineProperty(this,"signal",{value:new V,writable:!0,configurable:!0})}abort(t){let r;try{r=new Event("abort")}catch{typeof document<"u"?document.createEvent?(r=document.createEvent("Event"),r.initEvent("abort",!1,!1)):(r=document.createEventObject(),r.type="abort"):r={type:"abort",bubbles:!1,cancelable:!1}}let n=t;if(n===void 0)if(typeof document>"u")n=new Error("This operation was aborted"),n.name="AbortError";else try{n=new DOMException("signal is aborted without reason")}catch{n=new Error("This operation was aborted"),n.name="AbortError"}this.signal.reason=n,this.signal.dispatchEvent(r)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(Ue.prototype[Symbol.toStringTag]="AbortController",V.prototype[Symbol.toStringTag]="AbortSignal");function D(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function Ge(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:r=t.Request,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s=!1}=e;if(!D({fetch:t,Request:r,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s}))return{fetch:t,Request:i};let i=r;(i&&!i.prototype.hasOwnProperty("signal")||s)&&(i=function(c,f){let b;f&&f.signal&&(b=f.signal,delete f.signal);const g=new r(c,f);return b&&Object.defineProperty(g,"signal",{writable:!1,enumerable:!1,configurable:!0,value:b}),g},i.prototype=r.prototype);const o=t;return{fetch:(h,c)=>{const f=i&&i.prototype.isPrototypeOf(h)?h.signal:c?c.signal:void 0;if(f){let b;try{b=new DOMException("Aborted","AbortError")}catch{b=new Error("Aborted"),b.name="AbortError"}if(f.aborted)return Promise.reject(b);const g=new Promise((S,k)=>{f.addEventListener("abort",()=>k(b),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([g,o(h,c)])}return o(h,c)},Request:i}}const L=D({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),j=L?Ge({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Be=L?j.fetch:window.fetch;L?j.Request:window.Request;exports.VKNumericLanguage=void 0;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(exports.VKNumericLanguage||(exports.VKNumericLanguage={}));const ze="vk.com",He=async(e,t,r)=>{const n=new URL(`https://${ze}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",t),e!==void 0&&n.searchParams.set("lang",e);const i=await(await Be(n.toString())).json();return $e(i,r)},$e=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([r,n])=>[r.substring(`${t}_`.length),Ye(n)])),Ye=e=>Array.isArray(e)?e[0]:e;exports.InterfaceLanguage=void 0;(function(e){e.RU="ru",e.EN="en"})(exports.InterfaceLanguage||(exports.InterfaceLanguage={}));exports.Logger=U;exports.Observable=l;exports.Subject=A;exports.Subscription=v;exports.VERSION=q;exports.ValueSubject=pe;exports.abortable=W;exports.addScript=$;exports.areQualitiesExact=be;exports.assertEmptyArray=H;exports.assertNever=p;exports.assertNonNullable=G;exports.assertNotEmptyArray=z;exports.assertNullable=B;exports.assertQualityIsExact=we;exports.buffer=Oe;exports.checkNever=F;exports.combine=ge;exports.debounce=Re;exports.fillWithDefault=M;exports.filter=Te;exports.filterChanged=Ne;exports.fromEvent=Se;exports.getCurrentBrowser=x;exports.getExponentialDelay=Z;exports.getHighestQuality=ue;exports.getIOSVersion=X;exports.interval=ye;exports.isHigher=ae;exports.isHigherOrEqual=ce;exports.isIOS=K;exports.isInvariantQuality=C;exports.isLower=R;exports.isLowerOrEqual=le;exports.isMacLike=J;exports.isNonNullable=T;exports.isNullable=I;exports.loadVKLangPack=He;exports.map=Q;exports.mapTo=Ve;exports.merge=me;exports.noop=m;exports.now=Y;exports.observableFrom=ve;exports.once=De;exports.pairwise=je;exports.safeStorage=oe;exports.tap=qe;exports.throttle=_e;exports.timeout=Ee;exports.videoHeightToQuality=de;exports.videoQualityToHeight=fe;exports.videoSizeToQuality=he;
package/esnext.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-shared v1.0.31-dev.0e8d526.0
3
- * Tue, 12 Dec 2023 11:25:06 GMT
2
+ * @vkontakte/videoplayer-shared v1.0.31-dev.2d3fd91.0
3
+ * Tue, 12 Dec 2023 10:53:29 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
5
5
  */
6
- const be="1.0.31-dev.0e8d526.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(n=>typeof n=="function"?n():n.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const S=e=>{throw new Error(`${e} is value of unexpected type`)},pe=e=>{},y=()=>{};class u{constructor(t){t&&(this._subscribe=t)}subscribe(t,n){let r;n?typeof n=="function"?r={next:n,error:y}:r={next:o=>n.next(o),error:o=>n.error?.(o)}:r={next:y,error:y};const i=typeof t=="function"?{next:o=>{try{t(o)}catch(d){r.next(d)}},error:o=>r.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):r.next(o)};let s;try{s=this._subscribe(i)}catch(o){i.error?.(o)}return new v().add(()=>{switch(i.next=y,i.error=y,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return S(s)}})}pipe(...t){return t.reduce((n,r)=>r(n),this)}_subscribe(t){}}class N extends u{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(n=>n.next(t))}error(t){this.subscribers.forEach(n=>n.error?.(t))}_subscribe(t){const n=this.keyCounter++;return this.subscribers.set(n,t),new v().add(()=>this.subscribers.delete(n))}}class we{log$=new N;logs=[];log=t=>{const n={...t,timestamp:Date.now()};this.logs.push(n),this.log$.next(n)};createCustomLog(t){return(...n)=>{let r;try{r=t(...n)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(t){return this.createCustomLog(n=>({component:t,...n}))}getAllLogs=()=>this.logs}function me(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function ge(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function V(e){return typeof e<"u"&&e!==null}function D(e){return e==null}function Ee(e,t){if(!e?.length)throw new Error(t)}function Se(e,t){if(e?.length)throw new Error(t)}const Oe=(e,t,n)=>new Promise((r,i)=>{t.addEventListener("abort",()=>{d(),c.remove()});const s=()=>{d(),i()},o=()=>{d(),r()},d=()=>{b&&clearTimeout(b),c.removeEventListener("load",o),c.removeEventListener("error",s)};let b;n&&(b=window.setTimeout(s,n));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",s),c.src=e,document.head.appendChild(c)}),Ae=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ye=(e,t)=>async(...n)=>{const r=t(...n);let i=e.aborted,s;for(;!i&&!e.aborted;){const o=await r.next(s);i=o.done??!1,s=o.value}return s};var m;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(m||(m={}));var l;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(l||(l={}));const j=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?m.Yandex:void 0,n=/chrome|crios/i.test(e)?m.Chrome:void 0,r=/chromium/i.test(e)?m.Chromium:void 0,i=/firefox|fxios/i.test(e)?m.Firefox:void 0,s=/webkit|safari|khtml/i.test(e)?m.Safari:void 0,o=/opr\//i.test(e)?m.Opera:void 0,d=/edg/i.test(e)?m.Edge:void 0,b=/android/i.test(e)?l.Android:void 0,c=/iphone/i.test(e)?l.iPhone:void 0,p=/ipad/i.test(e)?l.iPad:void 0,w=/ipod/i.test(e)?l.iPod:void 0,E=/mac/i.test(e)?l.Mac:void 0,x=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?l.RestMobile:void 0;return{browser:t||i||o||d||n||r||s||m.Rest,device:b||c||p||w||x||E||l.Desktop}},ve=(e=!1)=>{const n=[l.iPhone,l.iPad,l.iPod].includes(j().device);if(!e)return n;const{userAgent:r,maxTouchPoints:i}=window.navigator;return!!(n||/macintosh/i.test(r)&&i>0)},xe=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const n=t[1],r=parseFloat(n);return isNaN(r)?null:r},Re=()=>[l.Mac,l.iPhone,l.iPad,l.iPod].includes(j().device),_e=(e,{start:t=0,factor:n=2,max:r=1/0,min:i=t,random:s=0}={})=>{let o=t;return o*=n**e,o*=1+(Math.random()*s*2-s),o=Math.round(o),o=Math.min(o,r),o=Math.max(o,i),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let O,g;const R=`vk-videoplayer-dummy-key-${Math.random()}`,A=()=>{if(g!==void 0)return g;try{localStorage.setItem(R,"test"),localStorage.removeItem(R),g=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(R),g=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)g=a.RUNTIME;else throw t}else throw e}return g===a.RUNTIME&&(O=new Map),g},z=()=>A()===a.LOCAL_STORAGE,$=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return O?.get(e);default:S(t)}},Y=(e,t)=>{const n=A();switch(n){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.RUNTIME:return void O?.set(e,t);default:S(n)}},H=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return O?.has(e)??!1;default:return S(t),!1}},W=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void O?.delete(e);default:S(t)}},B=()=>{const e=A();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return O?.clear();default:S(e)}};var Pe=Object.freeze({__proto__:null,clear:B,get:$,has:H,isPersistent:z,remove:W,set:Y}),h;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(h||(h={}));const f={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},Le=(e,t)=>f[e].height>f[t].height,Te=(e,t)=>f[e].height>=f[t].height,k=(e,t)=>f[e].height<f[t].height,Ie=(e,t)=>f[e].height<=f[t].height,Me=e=>e.sort((t,n)=>t===n?0:t===h.INVARIANT?1:n===h.INVARIANT?-1:k(t,n)?1:-1)[0],q=Object.keys(f).sort((e,t)=>k(e,t)?-1:1),Ne=(e,t=.02)=>[...q].find(r=>f[r].height*(1+t)>=e),je=({width:e,height:t})=>{const n=Math.min(e,t),r=Math.max(e,t);return q.find(i=>{const s=f[i];return s.width>=r&&s.height>=n})},ke=e=>f[e].height,F=e=>e===h.INVARIANT,qe=e=>e.every(t=>!F(t));function Fe(e){if(F(e))throw new Error("Expected exact quality")}const X=(e,t)=>{const n={};for(const r of Object.keys(t)){const i=t[r],s=e[r];Array.isArray(i)&&Array.isArray(s)?n[r]=s:typeof i=="object"&&typeof s=="object"?n[r]=X(s,i):n[r]=r in e?s:i}return n};class Ce extends N{value;constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const n=super._subscribe(t);return t.next(this.value),n}}function Qe(e){return new u(t=>{const n={};let r=Object.keys(e).length;const i=s=>o=>{s in n||r--,n[s]=o,r===0&&t.next(n)};return Object.entries(e).reduce((s,[o,d])=>s.add(d.subscribe(i(o))),new v)})}function Ue(...e){return new u(t=>e.reduce((n,r)=>n.add(r.subscribe(t)),new v))}var Ge=e=>new u(t=>{const n=window.setTimeout(()=>{try{t.next()}catch(r){if(t.error)t.error(r);else throw r}},e);return()=>window.clearTimeout(n)}),Ve=e=>new u(t=>{const n=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(n)}),De=e=>new u(t=>{e.forEach(n=>t.next(n))}),ze=(e,t)=>new u(n=>{const r=i=>n.next(i);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)});function $e(e){return t=>new u(n=>t.subscribe(new J(n,e)))}class J{destination;size;lastValues=[];constructor(t,n){this.destination=t,this.size=n}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const Z={leading:!1,trailing:!0};function Ye(e,t=Z){return n=>new u(r=>n.subscribe(new K(r,e,t)))}class K{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,V(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(n){if(this.destination.error)this.destination.error(n);else throw n}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const ee={leading:!0,trailing:!1};function He(e,t=ee){return n=>new u(r=>n.subscribe(new te(r,e,t)))}class te{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,D(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){this.destination.error?.(t)}}function We(e){return t=>new u(n=>t.subscribe(new ne(n,e)))}class ne{destination;predicate;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.predicate(t)}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Be(e=(t,n)=>t===n){return t=>new u(n=>t.subscribe(new re(n,e)))}const P={};class re{destination;predicate;lastValue=P;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.lastValue===P||!this.predicate(this.lastValue,t),this.lastValue=t}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function se(e){return t=>new u(n=>t.subscribe(new ie(n,e)))}let ie=class{destination;mapper;constructor(t,n){this.destination=t,this.mapper=n}next(t){let n;try{n=this.mapper(t)}catch(r){throw this.error(r),r}this.destination.next(n)}error(t){this.destination.error?.(t)}};function Je(e){return se(()=>e)}function Ze(){return e=>new u(t=>{let n=!1,r=!1;const i=e.subscribe(s=>{n||(n=!0,t.next(s)),r&&i.unsubscribe()},s=>{n=!0,t.error?.(s),r&&i.unsubscribe()});return r=!0,n&&i.unsubscribe(),i})}function Ke(){return e=>new u(t=>e.subscribe(new oe(t)))}class oe{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const n=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([n,t])}error(t){this.destination.error?.(t)}}function et(e){return t=>new u(n=>t.subscribe(new ae(n,e)))}class ae{destination;effect;constructor(t,n){this.destination=t,this.effect=n}next(t){try{this.effect(t)}catch(n){throw this.error(n),n}this.destination.next(t)}error(t){this.destination.error?.(t)}}var L;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(L||(L={}));class T{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,n,r){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:n,options:r})}removeEventListener(t,n){if(!(t in this.listeners))return;const r=this.listeners[t];for(let i=0,s=r.length;i<s;i++)if(r[i].callback===n){r.splice(i,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const r=this.listeners[t.type].slice();for(let i=0,s=r.length;i<s;i++){const o=r[i];try{o.callback.call(this,t)}catch(d){Promise.resolve().then(()=>{throw d})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class C extends T{constructor(){super(),this.listeners||T.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(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class ce{constructor(){Object.defineProperty(this,"signal",{value:new C,writable:!0,configurable:!0})}abort(t){let n;try{n=new Event("abort")}catch{typeof document<"u"?document.createEvent?(n=document.createEvent("Event"),n.initEvent("abort",!1,!1)):(n=document.createEventObject(),n.type="abort"):n={type:"abort",bubbles:!1,cancelable:!1}}let r=t;if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason")}catch{r=new Error("This operation was aborted"),r.name="AbortError"}this.signal.reason=r,this.signal.dispatchEvent(n)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(ce.prototype[Symbol.toStringTag]="AbortController",C.prototype[Symbol.toStringTag]="AbortSignal");function Q(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function le(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:n=t.Request,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i=!1}=e;if(!Q({fetch:t,Request:n,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i}))return{fetch:t,Request:s};let s=n;(s&&!s.prototype.hasOwnProperty("signal")||i)&&(s=function(c,p){let w;p&&p.signal&&(w=p.signal,delete p.signal);const E=new n(c,p);return w&&Object.defineProperty(E,"signal",{writable:!1,enumerable:!1,configurable:!0,value:w}),E},s.prototype=n.prototype);const o=t;return{fetch:(b,c)=>{const p=s&&s.prototype.isPrototypeOf(b)?b.signal:c?c.signal:void 0;if(p){let w;try{w=new DOMException("Aborted","AbortError")}catch{w=new Error("Aborted"),w.name="AbortError"}if(p.aborted)return Promise.reject(w);const E=new Promise((x,G)=>{p.addEventListener("abort",()=>G(w),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([E,o(b,c)])}return o(b,c)},Request:s}}const _=Q({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),U=_?le({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,ue=_?U.fetch:window.fetch;_?U.Request:window.Request;var I;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(I||(I={}));const he="vk.com",tt=async(e,t,n)=>{const r=new URL(`https://${he}/js/lang-pack.js`);r.searchParams.set("format","json"),r.searchParams.set("name",t),e!==void 0&&r.searchParams.set("lang",e);const s=await(await ue(r.toString())).json();return de(s,n)},de=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([n,r])=>[n.substring(`${t}_`.length),fe(r)])),fe=e=>Array.isArray(e)?e[0]:e;var M;(function(e){e.RU="ru",e.EN="en"})(M||(M={}));export{m as CurrentClientBrowser,l as CurrentClientDevice,L as ErrorCategory,M as InterfaceLanguage,we as Logger,u as Observable,N as Subject,v as Subscription,be as VERSION,I as VKNumericLanguage,Ce as ValueSubject,h as VideoQuality,ye as abortable,Oe as addScript,qe as areQualitiesExact,Se as assertEmptyArray,S as assertNever,me as assertNonNullable,Ee as assertNotEmptyArray,ge as assertNullable,Fe as assertQualityIsExact,$e as buffer,pe as checkNever,Qe as combine,Ye as debounce,X as fillWithDefault,We as filter,Be as filterChanged,ze as fromEvent,j as getCurrentBrowser,_e as getExponentialDelay,Me as getHighestQuality,xe as getIOSVersion,Ve as interval,Le as isHigher,Te as isHigherOrEqual,ve as isIOS,F as isInvariantQuality,k as isLower,Ie as isLowerOrEqual,Re as isMacLike,V as isNonNullable,D as isNullable,tt as loadVKLangPack,se as map,Je as mapTo,Ue as merge,y as noop,Ae as now,De as observableFrom,Ze as once,Ke as pairwise,Pe as safeStorage,et as tap,He as throttle,Ge as timeout,Ne as videoHeightToQuality,ke as videoQualityToHeight,je as videoSizeToQuality};
6
+ const be="1.0.31-dev.2d3fd91.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(n=>typeof n=="function"?n():n.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const S=e=>{throw new Error(`${e} is value of unexpected type`)},pe=e=>{},y=()=>{};class u{constructor(t){t&&(this._subscribe=t)}subscribe(t,n){let r;n?typeof n=="function"?r={next:n,error:y}:r={next:o=>n.next(o),error:o=>n.error?.(o)}:r={next:y,error:y};const i=typeof t=="function"?{next:o=>{try{t(o)}catch(d){r.next(d)}},error:o=>r.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):r.next(o)};let s;try{s=this._subscribe(i)}catch(o){i.error?.(o)}return new v().add(()=>{switch(i.next=y,i.error=y,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return S(s)}})}pipe(...t){return t.reduce((n,r)=>r(n),this)}_subscribe(t){}}class N extends u{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(n=>n.next(t))}error(t){this.subscribers.forEach(n=>n.error?.(t))}_subscribe(t){const n=this.keyCounter++;return this.subscribers.set(n,t),new v().add(()=>this.subscribers.delete(n))}}class we{log$=new N;logs=[];log=t=>{const n={...t,timestamp:Date.now()};this.logs.push(n),this.log$.next(n)};createCustomLog(t){return(...n)=>{let r;try{r=t(...n)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(t){return this.createCustomLog(n=>({component:t,...n}))}getAllLogs=()=>this.logs}function me(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function ge(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function V(e){return typeof e<"u"&&e!==null}function D(e){return e==null}function Ee(e,t){if(!e?.length)throw new Error(t)}function Se(e,t){if(e?.length)throw new Error(t)}const Oe=(e,t,n)=>new Promise((r,i)=>{t.addEventListener("abort",()=>{d(),c.remove()});const s=()=>{d(),i()},o=()=>{d(),r()},d=()=>{b&&clearTimeout(b),c.removeEventListener("load",o),c.removeEventListener("error",s)};let b;n&&(b=window.setTimeout(s,n));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",s),c.src=e,document.head.appendChild(c)}),Ae=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ye=(e,t)=>async(...n)=>{const r=t(...n);let i=e.aborted,s;for(;!i&&!e.aborted;){const o=await r.next(s);i=o.done??!1,s=o.value}return s};var m;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(m||(m={}));var l;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(l||(l={}));const j=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?m.Yandex:void 0,n=/chrome|crios/i.test(e)?m.Chrome:void 0,r=/chromium/i.test(e)?m.Chromium:void 0,i=/firefox|fxios/i.test(e)?m.Firefox:void 0,s=/webkit|safari|khtml/i.test(e)?m.Safari:void 0,o=/opr\//i.test(e)?m.Opera:void 0,d=/edg/i.test(e)?m.Edge:void 0,b=/android/i.test(e)?l.Android:void 0,c=/iphone/i.test(e)?l.iPhone:void 0,p=/ipad/i.test(e)?l.iPad:void 0,w=/ipod/i.test(e)?l.iPod:void 0,E=/mac/i.test(e)?l.Mac:void 0,x=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?l.RestMobile:void 0;return{browser:t||i||o||d||n||r||s||m.Rest,device:b||c||p||w||x||E||l.Desktop}},ve=(e=!1)=>{const n=[l.iPhone,l.iPad,l.iPod].includes(j().device);if(!e)return n;const{userAgent:r,maxTouchPoints:i}=window.navigator;return!!(n||/macintosh/i.test(r)&&i>0)},xe=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const n=t[1],r=parseFloat(n);return isNaN(r)?null:r},Re=()=>[l.Mac,l.iPhone,l.iPad,l.iPod].includes(j().device),_e=(e,{start:t=0,factor:n=2,max:r=1/0,min:i=t,random:s=0}={})=>{let o=t;return o*=n**e,o*=1+(Math.random()*s*2-s),o=Math.round(o),o=Math.min(o,r),o=Math.max(o,i),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let O,g;const R=`vk-videoplayer-dummy-key-${Math.random()}`,A=()=>{if(g!==void 0)return g;try{localStorage.setItem(R,"test"),localStorage.removeItem(R),g=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(R),g=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)g=a.RUNTIME;else throw t}else throw e}return g===a.RUNTIME&&(O=new Map),g},z=()=>A()===a.LOCAL_STORAGE,$=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return O?.get(e);default:S(t)}},Y=(e,t)=>{const n=A();switch(n){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.RUNTIME:return void O?.set(e,t);default:S(n)}},H=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return O?.has(e)??!1;default:return S(t),!1}},W=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void O?.delete(e);default:S(t)}},B=()=>{const e=A();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return O?.clear();default:S(e)}};var Pe=Object.freeze({__proto__:null,clear:B,get:$,has:H,isPersistent:z,remove:W,set:Y}),h;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(h||(h={}));const f={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},Le=(e,t)=>f[e].height>f[t].height,Te=(e,t)=>f[e].height>=f[t].height,k=(e,t)=>f[e].height<f[t].height,Ie=(e,t)=>f[e].height<=f[t].height,Me=e=>e.sort((t,n)=>t===n?0:t===h.INVARIANT?1:n===h.INVARIANT?-1:k(t,n)?1:-1)[0],q=Object.keys(f).sort((e,t)=>k(e,t)?-1:1),Ne=(e,t=.02)=>[...q].find(r=>f[r].height*(1+t)>=e),je=({width:e,height:t})=>{const n=Math.min(e,t),r=Math.max(e,t);return q.find(i=>{const s=f[i];return s.width>=r&&s.height>=n})},ke=e=>f[e].height,F=e=>e===h.INVARIANT,qe=e=>e.every(t=>!F(t));function Fe(e){if(F(e))throw new Error("Expected exact quality")}const X=(e,t)=>{const n={};for(const r of Object.keys(t)){const i=t[r],s=e[r];Array.isArray(i)&&Array.isArray(s)?n[r]=s:typeof i=="object"&&typeof s=="object"?n[r]=X(s,i):n[r]=r in e?s:i}return n};class Ce extends N{value;constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const n=super._subscribe(t);return t.next(this.value),n}}function Qe(e){return new u(t=>{const n={};let r=Object.keys(e).length;const i=s=>o=>{s in n||r--,n[s]=o,r===0&&t.next(n)};return Object.entries(e).reduce((s,[o,d])=>s.add(d.subscribe(i(o))),new v)})}function Ue(...e){return new u(t=>e.reduce((n,r)=>n.add(r.subscribe(t)),new v))}var Ge=e=>new u(t=>{const n=window.setTimeout(()=>{try{t.next()}catch(r){if(t.error)t.error(r);else throw r}},e);return()=>window.clearTimeout(n)}),Ve=e=>new u(t=>{const n=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(n)}),De=e=>new u(t=>{e.forEach(n=>t.next(n))}),ze=(e,t)=>new u(n=>{const r=i=>n.next(i);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)});function $e(e){return t=>new u(n=>t.subscribe(new J(n,e)))}class J{destination;size;lastValues=[];constructor(t,n){this.destination=t,this.size=n}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const Z={leading:!1,trailing:!0};function Ye(e,t=Z){return n=>new u(r=>n.subscribe(new K(r,e,t)))}class K{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,V(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(n){if(this.destination.error)this.destination.error(n);else throw n}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const ee={leading:!0,trailing:!1};function He(e,t=ee){return n=>new u(r=>n.subscribe(new te(r,e,t)))}class te{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,D(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){this.destination.error?.(t)}}function We(e){return t=>new u(n=>t.subscribe(new ne(n,e)))}class ne{destination;predicate;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.predicate(t)}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Be(e=(t,n)=>t===n){return t=>new u(n=>t.subscribe(new re(n,e)))}const P={};class re{destination;predicate;lastValue=P;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.lastValue===P||!this.predicate(this.lastValue,t),this.lastValue=t}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function se(e){return t=>new u(n=>t.subscribe(new ie(n,e)))}let ie=class{destination;mapper;constructor(t,n){this.destination=t,this.mapper=n}next(t){let n;try{n=this.mapper(t)}catch(r){throw this.error(r),r}this.destination.next(n)}error(t){this.destination.error?.(t)}};function Je(e){return se(()=>e)}function Ze(){return e=>new u(t=>{let n=!1,r=!1;const i=e.subscribe(s=>{n||(n=!0,t.next(s)),r&&i.unsubscribe()},s=>{n=!0,t.error?.(s),r&&i.unsubscribe()});return r=!0,n&&i.unsubscribe(),i})}function Ke(){return e=>new u(t=>e.subscribe(new oe(t)))}class oe{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const n=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([n,t])}error(t){this.destination.error?.(t)}}function et(e){return t=>new u(n=>t.subscribe(new ae(n,e)))}class ae{destination;effect;constructor(t,n){this.destination=t,this.effect=n}next(t){try{this.effect(t)}catch(n){throw this.error(n),n}this.destination.next(t)}error(t){this.destination.error?.(t)}}var L;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(L||(L={}));class T{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,n,r){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:n,options:r})}removeEventListener(t,n){if(!(t in this.listeners))return;const r=this.listeners[t];for(let i=0,s=r.length;i<s;i++)if(r[i].callback===n){r.splice(i,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const r=this.listeners[t.type].slice();for(let i=0,s=r.length;i<s;i++){const o=r[i];try{o.callback.call(this,t)}catch(d){Promise.resolve().then(()=>{throw d})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class C extends T{constructor(){super(),this.listeners||T.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(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class ce{constructor(){Object.defineProperty(this,"signal",{value:new C,writable:!0,configurable:!0})}abort(t){let n;try{n=new Event("abort")}catch{typeof document<"u"?document.createEvent?(n=document.createEvent("Event"),n.initEvent("abort",!1,!1)):(n=document.createEventObject(),n.type="abort"):n={type:"abort",bubbles:!1,cancelable:!1}}let r=t;if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason")}catch{r=new Error("This operation was aborted"),r.name="AbortError"}this.signal.reason=r,this.signal.dispatchEvent(n)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(ce.prototype[Symbol.toStringTag]="AbortController",C.prototype[Symbol.toStringTag]="AbortSignal");function Q(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function le(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:n=t.Request,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i=!1}=e;if(!Q({fetch:t,Request:n,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i}))return{fetch:t,Request:s};let s=n;(s&&!s.prototype.hasOwnProperty("signal")||i)&&(s=function(c,p){let w;p&&p.signal&&(w=p.signal,delete p.signal);const E=new n(c,p);return w&&Object.defineProperty(E,"signal",{writable:!1,enumerable:!1,configurable:!0,value:w}),E},s.prototype=n.prototype);const o=t;return{fetch:(b,c)=>{const p=s&&s.prototype.isPrototypeOf(b)?b.signal:c?c.signal:void 0;if(p){let w;try{w=new DOMException("Aborted","AbortError")}catch{w=new Error("Aborted"),w.name="AbortError"}if(p.aborted)return Promise.reject(w);const E=new Promise((x,G)=>{p.addEventListener("abort",()=>G(w),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([E,o(b,c)])}return o(b,c)},Request:s}}const _=Q({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),U=_?le({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,ue=_?U.fetch:window.fetch;_?U.Request:window.Request;var I;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(I||(I={}));const he="vk.com",tt=async(e,t,n)=>{const r=new URL(`https://${he}/js/lang-pack.js`);r.searchParams.set("format","json"),r.searchParams.set("name",t),e!==void 0&&r.searchParams.set("lang",e);const s=await(await ue(r.toString())).json();return de(s,n)},de=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([n,r])=>[n.substring(`${t}_`.length),fe(r)])),fe=e=>Array.isArray(e)?e[0]:e;var M;(function(e){e.RU="ru",e.EN="en"})(M||(M={}));export{m as CurrentClientBrowser,l as CurrentClientDevice,L as ErrorCategory,M as InterfaceLanguage,we as Logger,u as Observable,N as Subject,v as Subscription,be as VERSION,I as VKNumericLanguage,Ce as ValueSubject,h as VideoQuality,ye as abortable,Oe as addScript,qe as areQualitiesExact,Se as assertEmptyArray,S as assertNever,me as assertNonNullable,Ee as assertNotEmptyArray,ge as assertNullable,Fe as assertQualityIsExact,$e as buffer,pe as checkNever,Qe as combine,Ye as debounce,X as fillWithDefault,We as filter,Be as filterChanged,ze as fromEvent,j as getCurrentBrowser,_e as getExponentialDelay,Me as getHighestQuality,xe as getIOSVersion,Ve as interval,Le as isHigher,Te as isHigherOrEqual,ve as isIOS,F as isInvariantQuality,k as isLower,Ie as isLowerOrEqual,Re as isMacLike,V as isNonNullable,D as isNullable,tt as loadVKLangPack,se as map,Je as mapTo,Ue as merge,y as noop,Ae as now,De as observableFrom,Ze as once,Ke as pairwise,Pe as safeStorage,et as tap,He as throttle,Ge as timeout,Ne as videoHeightToQuality,ke as videoQualityToHeight,je as videoSizeToQuality};
package/evergreen.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-shared v1.0.31-dev.0e8d526.0
3
- * Tue, 12 Dec 2023 11:25:06 GMT
2
+ * @vkontakte/videoplayer-shared v1.0.31-dev.2d3fd91.0
3
+ * Tue, 12 Dec 2023 10:53:29 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
5
5
  */
6
- const rt="1.0.31-dev.0e8d526.0";class x{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(s=>typeof s=="function"?s():s.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const m=t=>{throw new Error(`${t} is value of unexpected type`)},ot=t=>{},S=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let n;s?typeof s=="function"?n={next:s,error:S}:n={next:r=>s.next(r),error:r=>s.error?.(r)}:n={next:S,error:S};const o=typeof e=="function"?{next:r=>{try{e(r)}catch(f){n.next(f)}},error:r=>n.next(r)}:{next:r=>e.next(r),error:r=>e.error?e.error(r):n.next(r)};let i;try{i=this._subscribe(o)}catch(r){o.error?.(r)}return new x().add(()=>{switch(o.next=S,o.error=S,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return m(i)}})}pipe(...e){return e.reduce((s,n)=>n(s),this)}_subscribe(e){}}class I extends u{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(s=>s.next(e))}error(e){this.subscribers.forEach(s=>s.error?.(e))}_subscribe(e){const s=this.keyCounter++;return this.subscribers.set(s,e),new x().add(()=>this.subscribers.delete(s))}}class at{log$=new I;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let n;try{n=e(...s)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function ct(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function ut(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function U(t){return typeof t<"u"&&t!==null}function j(t){return t==null}function ht(t,e){if(!t?.length)throw new Error(e)}function dt(t,e){if(t?.length)throw new Error(e)}const lt=(t,e,s)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{f(),b.remove()});const i=()=>{f(),o()},r=()=>{f(),n()},f=()=>{E&&clearTimeout(E),b.removeEventListener("load",r),b.removeEventListener("error",i)};let E;s&&(E=window.setTimeout(i,s));const b=document.createElement("script");b.addEventListener("load",r),b.addEventListener("error",i),b.src=t,document.head.appendChild(b)}),ft=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),bt=(t,e)=>async(...s)=>{const n=e(...s);let o=t.aborted,i;for(;!o&&!t.aborted;){const r=await n.next(i);o=r.done??!1,i=r.value}return i};var l;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(l||(l={}));var c;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Mac="Mac",t.Desktop="Desktop"})(c||(c={}));const T=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?l.Yandex:void 0,s=/chrome|crios/i.test(t)?l.Chrome:void 0,n=/chromium/i.test(t)?l.Chromium:void 0,o=/firefox|fxios/i.test(t)?l.Firefox:void 0,i=/webkit|safari|khtml/i.test(t)?l.Safari:void 0,r=/opr\//i.test(t)?l.Opera:void 0,f=/edg/i.test(t)?l.Edge:void 0,E=/android/i.test(t)?c.Android:void 0,b=/iphone/i.test(t)?c.iPhone:void 0,L=/ipad/i.test(t)?c.iPad:void 0,N=/ipod/i.test(t)?c.iPod:void 0,k=/mac/i.test(t)?c.Mac:void 0,Q=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?c.RestMobile:void 0;return{browser:e||o||r||f||s||n||i||l.Rest,device:E||b||L||N||Q||k||c.Desktop}},wt=(t=!1)=>{const s=[c.iPhone,c.iPad,c.iPod].includes(T().device);if(!t)return s;const{userAgent:n,maxTouchPoints:o}=window.navigator;return!!(s||/macintosh/i.test(n)&&o>0)},mt=()=>{const{userAgent:t}=window.navigator,e=t.match(/Version\/(\d+(\.\d+)?)/i);if(!e)return null;const s=e[1],n=parseFloat(s);return isNaN(n)?null:n},pt=()=>[c.Mac,c.iPhone,c.iPad,c.iPod].includes(T().device),gt=(t,{start:e=0,factor:s=2,max:n=1/0,min:o=e,random:i=0}={})=>{let r=e;return r*=s**t,r*=1+(Math.random()*i*2-i),r=Math.round(r),r=Math.min(r,n),r=Math.max(r,o),r};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let p,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)w=a.RUNTIME;else throw e}else throw t}return w===a.RUNTIME&&(p=new Map),w},G=()=>g()===a.LOCAL_STORAGE,V=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return p?.get(t);default:m(e)}},D=(t,e)=>{const s=g();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void p?.set(t,e);default:m(s)}},F=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return p?.has(t)??!1;default:return m(e),!1}},z=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void p?.delete(t);default:m(e)}},$=()=>{const t=g();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return p?.clear();default:m(t)}};var Et=Object.freeze({__proto__:null,clear:$,get:V,has:F,isPersistent:G,remove:z,set:D}),h;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(h||(h={}));const d={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},St=(t,e)=>d[t].height>d[e].height,xt=(t,e)=>d[t].height>=d[e].height,R=(t,e)=>d[t].height<d[e].height,Ot=(t,e)=>d[t].height<=d[e].height,At=t=>t.sort((e,s)=>e===s?0:e===h.INVARIANT?1:s===h.INVARIANT?-1:R(e,s)?1:-1)[0],y=Object.keys(d).sort((t,e)=>R(t,e)?-1:1),vt=(t,e=.02)=>[...y].find(n=>d[n].height*(1+e)>=t),_t=({width:t,height:e})=>{const s=Math.min(t,e),n=Math.max(t,e);return y.find(o=>{const i=d[o];return i.width>=n&&i.height>=s})},Pt=t=>d[t].height,M=t=>t===h.INVARIANT,It=t=>t.every(e=>!M(e));function Tt(t){if(M(t))throw new Error("Expected exact quality")}const q=(t,e)=>{const s={};for(const n of Object.keys(e)){const o=e[n],i=t[n];Array.isArray(o)&&Array.isArray(i)?s[n]=i:typeof o=="object"&&typeof i=="object"?s[n]=q(i,o):s[n]=n in t?i:o}return s};class Rt extends I{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const s=super._subscribe(e);return e.next(this.value),s}}function yt(t){return new u(e=>{const s={};let n=Object.keys(t).length;const o=i=>r=>{i in s||n--,s[i]=r,n===0&&e.next(s)};return Object.entries(t).reduce((i,[r,f])=>i.add(f.subscribe(o(r))),new x)})}function Mt(...t){return new u(e=>t.reduce((s,n)=>s.add(n.subscribe(e)),new x))}var Lt=t=>new u(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(s)}),Nt=t=>new u(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),kt=t=>new u(e=>{t.forEach(s=>e.next(s))}),Qt=(t,e)=>new u(s=>{const n=o=>s.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function Ut(t){return e=>new u(s=>e.subscribe(new H(s,t)))}class H{destination;size;lastValues=[];constructor(e,s){this.destination=e,this.size=s}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const Y={leading:!1,trailing:!0};function jt(t,e=Y){return s=>new u(n=>s.subscribe(new W(n,t,e)))}class W{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,U(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(s){if(this.destination.error)this.destination.error(s);else throw s}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const X={leading:!0,trailing:!1};function Gt(t,e=X){return s=>new u(n=>s.subscribe(new C(n,t,e)))}class C{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,j(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Vt(t){return e=>new u(s=>e.subscribe(new J(s,t)))}class J{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Dt(t=(e,s)=>e===s){return e=>new u(s=>e.subscribe(new Z(s,t)))}const A={};class Z{destination;predicate;lastValue=A;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.lastValue===A||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function B(t){return e=>new u(s=>e.subscribe(new K(s,t)))}let K=class{destination;mapper;constructor(e,s){this.destination=e,this.mapper=s}next(e){let s;try{s=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(s)}error(e){this.destination.error?.(e)}};function zt(t){return B(()=>t)}function $t(){return t=>new u(e=>{let s=!1,n=!1;const o=t.subscribe(i=>{s||(s=!0,e.next(i)),n&&o.unsubscribe()},i=>{s=!0,e.error?.(i),n&&o.unsubscribe()});return n=!0,s&&o.unsubscribe(),o})}function qt(){return t=>new u(e=>t.subscribe(new tt(e)))}class tt{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const s=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([s,e])}error(e){this.destination.error?.(e)}}function Ht(t){return e=>new u(s=>e.subscribe(new et(s,t)))}class et{destination;effect;constructor(e,s){this.destination=e,this.effect=s}next(e){try{this.effect(e)}catch(s){throw this.error(s),s}this.destination.next(e)}error(e){this.destination.error?.(e)}}var v;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(v||(v={}));var _;(function(t){t.Armenian="58",t.Azerbaijani="57",t.Belarusian="114",t.English="3",t.Kazakh="97",t.Portuguese="73",t.Russian="0",t.Spanish="4",t.Ukrainian="1",t.Uzbek="65",t.Vietnamese="75"})(_||(_={}));const st="vk.com",Yt=async(t,e,s)=>{const n=new URL(`https://${st}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),t!==void 0&&n.searchParams.set("lang",t);const i=await(await fetch(n.toString())).json();return nt(i,s)},nt=(t,e)=>Object.fromEntries(Object.entries(t.keys).map(([s,n])=>[s.substring(`${e}_`.length),it(n)])),it=t=>Array.isArray(t)?t[0]:t;var P;(function(t){t.RU="ru",t.EN="en"})(P||(P={}));export{l as CurrentClientBrowser,c as CurrentClientDevice,v as ErrorCategory,P as InterfaceLanguage,at as Logger,u as Observable,I as Subject,x as Subscription,rt as VERSION,_ as VKNumericLanguage,Rt as ValueSubject,h as VideoQuality,bt as abortable,lt as addScript,It as areQualitiesExact,dt as assertEmptyArray,m as assertNever,ct as assertNonNullable,ht as assertNotEmptyArray,ut as assertNullable,Tt as assertQualityIsExact,Ut as buffer,ot as checkNever,yt as combine,jt as debounce,q as fillWithDefault,Vt as filter,Dt as filterChanged,Qt as fromEvent,T as getCurrentBrowser,gt as getExponentialDelay,At as getHighestQuality,mt as getIOSVersion,Nt as interval,St as isHigher,xt as isHigherOrEqual,wt as isIOS,M as isInvariantQuality,R as isLower,Ot as isLowerOrEqual,pt as isMacLike,U as isNonNullable,j as isNullable,Yt as loadVKLangPack,B as map,zt as mapTo,Mt as merge,S as noop,ft as now,kt as observableFrom,$t as once,qt as pairwise,Et as safeStorage,Ht as tap,Gt as throttle,Lt as timeout,vt as videoHeightToQuality,Pt as videoQualityToHeight,_t as videoSizeToQuality};
6
+ const rt="1.0.31-dev.2d3fd91.0";class x{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(s=>typeof s=="function"?s():s.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const m=t=>{throw new Error(`${t} is value of unexpected type`)},ot=t=>{},S=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let n;s?typeof s=="function"?n={next:s,error:S}:n={next:r=>s.next(r),error:r=>s.error?.(r)}:n={next:S,error:S};const o=typeof e=="function"?{next:r=>{try{e(r)}catch(f){n.next(f)}},error:r=>n.next(r)}:{next:r=>e.next(r),error:r=>e.error?e.error(r):n.next(r)};let i;try{i=this._subscribe(o)}catch(r){o.error?.(r)}return new x().add(()=>{switch(o.next=S,o.error=S,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return m(i)}})}pipe(...e){return e.reduce((s,n)=>n(s),this)}_subscribe(e){}}class I extends u{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(s=>s.next(e))}error(e){this.subscribers.forEach(s=>s.error?.(e))}_subscribe(e){const s=this.keyCounter++;return this.subscribers.set(s,e),new x().add(()=>this.subscribers.delete(s))}}class at{log$=new I;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let n;try{n=e(...s)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function ct(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function ut(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function U(t){return typeof t<"u"&&t!==null}function j(t){return t==null}function ht(t,e){if(!t?.length)throw new Error(e)}function dt(t,e){if(t?.length)throw new Error(e)}const lt=(t,e,s)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{f(),b.remove()});const i=()=>{f(),o()},r=()=>{f(),n()},f=()=>{E&&clearTimeout(E),b.removeEventListener("load",r),b.removeEventListener("error",i)};let E;s&&(E=window.setTimeout(i,s));const b=document.createElement("script");b.addEventListener("load",r),b.addEventListener("error",i),b.src=t,document.head.appendChild(b)}),ft=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),bt=(t,e)=>async(...s)=>{const n=e(...s);let o=t.aborted,i;for(;!o&&!t.aborted;){const r=await n.next(i);o=r.done??!1,i=r.value}return i};var l;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(l||(l={}));var c;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Mac="Mac",t.Desktop="Desktop"})(c||(c={}));const T=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?l.Yandex:void 0,s=/chrome|crios/i.test(t)?l.Chrome:void 0,n=/chromium/i.test(t)?l.Chromium:void 0,o=/firefox|fxios/i.test(t)?l.Firefox:void 0,i=/webkit|safari|khtml/i.test(t)?l.Safari:void 0,r=/opr\//i.test(t)?l.Opera:void 0,f=/edg/i.test(t)?l.Edge:void 0,E=/android/i.test(t)?c.Android:void 0,b=/iphone/i.test(t)?c.iPhone:void 0,L=/ipad/i.test(t)?c.iPad:void 0,N=/ipod/i.test(t)?c.iPod:void 0,k=/mac/i.test(t)?c.Mac:void 0,Q=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?c.RestMobile:void 0;return{browser:e||o||r||f||s||n||i||l.Rest,device:E||b||L||N||Q||k||c.Desktop}},wt=(t=!1)=>{const s=[c.iPhone,c.iPad,c.iPod].includes(T().device);if(!t)return s;const{userAgent:n,maxTouchPoints:o}=window.navigator;return!!(s||/macintosh/i.test(n)&&o>0)},mt=()=>{const{userAgent:t}=window.navigator,e=t.match(/Version\/(\d+(\.\d+)?)/i);if(!e)return null;const s=e[1],n=parseFloat(s);return isNaN(n)?null:n},pt=()=>[c.Mac,c.iPhone,c.iPad,c.iPod].includes(T().device),gt=(t,{start:e=0,factor:s=2,max:n=1/0,min:o=e,random:i=0}={})=>{let r=e;return r*=s**t,r*=1+(Math.random()*i*2-i),r=Math.round(r),r=Math.min(r,n),r=Math.max(r,o),r};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let p,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)w=a.RUNTIME;else throw e}else throw t}return w===a.RUNTIME&&(p=new Map),w},G=()=>g()===a.LOCAL_STORAGE,V=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return p?.get(t);default:m(e)}},D=(t,e)=>{const s=g();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void p?.set(t,e);default:m(s)}},F=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return p?.has(t)??!1;default:return m(e),!1}},z=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void p?.delete(t);default:m(e)}},$=()=>{const t=g();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return p?.clear();default:m(t)}};var Et=Object.freeze({__proto__:null,clear:$,get:V,has:F,isPersistent:G,remove:z,set:D}),h;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(h||(h={}));const d={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},St=(t,e)=>d[t].height>d[e].height,xt=(t,e)=>d[t].height>=d[e].height,R=(t,e)=>d[t].height<d[e].height,Ot=(t,e)=>d[t].height<=d[e].height,At=t=>t.sort((e,s)=>e===s?0:e===h.INVARIANT?1:s===h.INVARIANT?-1:R(e,s)?1:-1)[0],y=Object.keys(d).sort((t,e)=>R(t,e)?-1:1),vt=(t,e=.02)=>[...y].find(n=>d[n].height*(1+e)>=t),_t=({width:t,height:e})=>{const s=Math.min(t,e),n=Math.max(t,e);return y.find(o=>{const i=d[o];return i.width>=n&&i.height>=s})},Pt=t=>d[t].height,M=t=>t===h.INVARIANT,It=t=>t.every(e=>!M(e));function Tt(t){if(M(t))throw new Error("Expected exact quality")}const q=(t,e)=>{const s={};for(const n of Object.keys(e)){const o=e[n],i=t[n];Array.isArray(o)&&Array.isArray(i)?s[n]=i:typeof o=="object"&&typeof i=="object"?s[n]=q(i,o):s[n]=n in t?i:o}return s};class Rt extends I{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const s=super._subscribe(e);return e.next(this.value),s}}function yt(t){return new u(e=>{const s={};let n=Object.keys(t).length;const o=i=>r=>{i in s||n--,s[i]=r,n===0&&e.next(s)};return Object.entries(t).reduce((i,[r,f])=>i.add(f.subscribe(o(r))),new x)})}function Mt(...t){return new u(e=>t.reduce((s,n)=>s.add(n.subscribe(e)),new x))}var Lt=t=>new u(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(s)}),Nt=t=>new u(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),kt=t=>new u(e=>{t.forEach(s=>e.next(s))}),Qt=(t,e)=>new u(s=>{const n=o=>s.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function Ut(t){return e=>new u(s=>e.subscribe(new H(s,t)))}class H{destination;size;lastValues=[];constructor(e,s){this.destination=e,this.size=s}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const Y={leading:!1,trailing:!0};function jt(t,e=Y){return s=>new u(n=>s.subscribe(new W(n,t,e)))}class W{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,U(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(s){if(this.destination.error)this.destination.error(s);else throw s}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const X={leading:!0,trailing:!1};function Gt(t,e=X){return s=>new u(n=>s.subscribe(new C(n,t,e)))}class C{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,j(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Vt(t){return e=>new u(s=>e.subscribe(new J(s,t)))}class J{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Dt(t=(e,s)=>e===s){return e=>new u(s=>e.subscribe(new Z(s,t)))}const A={};class Z{destination;predicate;lastValue=A;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.lastValue===A||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function B(t){return e=>new u(s=>e.subscribe(new K(s,t)))}let K=class{destination;mapper;constructor(e,s){this.destination=e,this.mapper=s}next(e){let s;try{s=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(s)}error(e){this.destination.error?.(e)}};function zt(t){return B(()=>t)}function $t(){return t=>new u(e=>{let s=!1,n=!1;const o=t.subscribe(i=>{s||(s=!0,e.next(i)),n&&o.unsubscribe()},i=>{s=!0,e.error?.(i),n&&o.unsubscribe()});return n=!0,s&&o.unsubscribe(),o})}function qt(){return t=>new u(e=>t.subscribe(new tt(e)))}class tt{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const s=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([s,e])}error(e){this.destination.error?.(e)}}function Ht(t){return e=>new u(s=>e.subscribe(new et(s,t)))}class et{destination;effect;constructor(e,s){this.destination=e,this.effect=s}next(e){try{this.effect(e)}catch(s){throw this.error(s),s}this.destination.next(e)}error(e){this.destination.error?.(e)}}var v;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(v||(v={}));var _;(function(t){t.Armenian="58",t.Azerbaijani="57",t.Belarusian="114",t.English="3",t.Kazakh="97",t.Portuguese="73",t.Russian="0",t.Spanish="4",t.Ukrainian="1",t.Uzbek="65",t.Vietnamese="75"})(_||(_={}));const st="vk.com",Yt=async(t,e,s)=>{const n=new URL(`https://${st}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),t!==void 0&&n.searchParams.set("lang",t);const i=await(await fetch(n.toString())).json();return nt(i,s)},nt=(t,e)=>Object.fromEntries(Object.entries(t.keys).map(([s,n])=>[s.substring(`${e}_`.length),it(n)])),it=t=>Array.isArray(t)?t[0]:t;var P;(function(t){t.RU="ru",t.EN="en"})(P||(P={}));export{l as CurrentClientBrowser,c as CurrentClientDevice,v as ErrorCategory,P as InterfaceLanguage,at as Logger,u as Observable,I as Subject,x as Subscription,rt as VERSION,_ as VKNumericLanguage,Rt as ValueSubject,h as VideoQuality,bt as abortable,lt as addScript,It as areQualitiesExact,dt as assertEmptyArray,m as assertNever,ct as assertNonNullable,ht as assertNotEmptyArray,ut as assertNullable,Tt as assertQualityIsExact,Ut as buffer,ot as checkNever,yt as combine,jt as debounce,q as fillWithDefault,Vt as filter,Dt as filterChanged,Qt as fromEvent,T as getCurrentBrowser,gt as getExponentialDelay,At as getHighestQuality,mt as getIOSVersion,Nt as interval,St as isHigher,xt as isHigherOrEqual,wt as isIOS,M as isInvariantQuality,R as isLower,Ot as isLowerOrEqual,pt as isMacLike,U as isNonNullable,j as isNullable,Yt as loadVKLangPack,B as map,zt as mapTo,Mt as merge,S as noop,ft as now,kt as observableFrom,$t as once,qt as pairwise,Et as safeStorage,Ht as tap,Gt as throttle,Lt as timeout,vt as videoHeightToQuality,Pt as videoQualityToHeight,_t as videoSizeToQuality};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-shared",
3
- "version": "1.0.31-dev.0e8d526.0",
3
+ "version": "1.0.31-dev.2d3fd91.0",
4
4
  "author": "vk.com",
5
5
  "description": "Shared code for vk.com videoplayer",
6
6
  "homepage": "https://vk.com",
@@ -41,14 +41,12 @@
41
41
  "./es2018.esm.js": "./es2018.esm.js",
42
42
  "./es2018.cjs.js": "./es2018.cjs.js",
43
43
  "./es2015.esm.js": "./es2015.esm.js",
44
- "./es2015.cjs.js": "./es2015.cjs.js",
45
- "./es2015.umd.js": "./es2015.umd.js"
44
+ "./es2015.cjs.js": "./es2015.cjs.js"
46
45
  },
47
46
  "files": [
48
47
  "*.cjs.js",
49
48
  "*.esm.js",
50
- "**/*.d.ts",
51
- "*.umd.js"
49
+ "**/*.d.ts"
52
50
  ],
53
51
  "dependencies": {}
54
52
  }