(function(){'use strict';var r,aa=typeof Object.create=="function"?Object.create:function(a){function b(){} b.prototype=a;return new b},ba=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a; a[b]=c.value;return a},ca=globalThis; function da(a,b){if(b)a:{var c=ca;a=a.split(".");for(var d=0;d>>0),oa=0;function pa(a,b,c){return a.call.apply(a.bind,arguments)} function qa(a,b,c){qa=pa;return qa.apply(null,arguments)} function ra(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}} function sa(){return Date.now()} function ta(a){return a} function ua(a,b){function c(){} c.prototype=b.prototype;a.Ca=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),h=2;hencodeURIComponent(c.brand)+";"+encodeURIComponent(c.version)).join("|"))); a.wow64!=null&&(b+="&uaw="+Number(a.wow64));return b.slice(1)} var ya=class{constructor({url:a,Fi:b}){this.i=a;this.o=b;this.j=(new Date).getTime()-17040672E5;this.h={};const c=/[?&]([^&=]+)=([^&]*)/g;for(;b=c.exec(a);)this.h[b[1]]=b[2]}};function za(a,b){if(b!==null&&b!==void 0){if(typeof b!=="object"&&typeof b!=="function")throw new TypeError("Object expected.");if(c===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");var c=b[Symbol.dispose]}if(typeof c!=="function")throw new TypeError("Object not disposable.");a.stack.push({value:b,dispose:c,async:!1})}return b} function Aa(a){function b(f){a.error=a.hb?new SuppressedError(f,a.error,"An error was suppressed during disposal."):f;a.hb=!0} function c(){for(;d=a.stack.pop();)try{if(!d.async&&e===1)return e=0,a.stack.push(d),Promise.resolve().then(c);if(d.dispose){var f=d.dispose.call(d.value);if(d.async)return e|=2,Promise.resolve(f).then(c,function(g){b(g);return c()})}else e|=1}catch(g){b(g)}if(e===1)return a.hb?Promise.reject(a.error):Promise.resolve(); if(a.hb)throw a.error;} var d,e=0;c()} ;function Ba(a,b){if(Error.captureStackTrace)Error.captureStackTrace(this,Ba);else{const c=Error().stack;c&&(this.stack=c)}a&&(this.message=String(a));b!==void 0&&(this.cause=b)} ua(Ba,Error);Ba.prototype.name="CustomError";/* Copyright Google LLC SPDX-License-Identifier: Apache-2.0 */ let Ca=globalThis.trustedTypes,Da;function Ea(){let a=null;if(!Ca)return a;try{const b=c=>c; a=Ca.createPolicy("goog#html",{createHTML:b,createScript:b,createScriptURL:b})}catch(b){}return a} function Fa(){Da===void 0&&(Da=Ea());return Da} ;var Ga=class{constructor(a){this.h=a}toString(){return this.h+""}};function Ha(a){const b=Fa();a=b?b.createScriptURL(a):a;return new Ga(a)} function Ia(a){if(a instanceof Ga)return a.h;throw Error("");} ;function Ja(a){return a.toString().indexOf("`")===-1} Ja(a=>a``)||Ja(a=>a`\0`)||Ja(a=>a`\n`)||Ja(a=>a`\u0000`);var Ka=class{constructor(a){this.h=a}toString(){return this.h}},La=new Ka("about:invalid#zClosurez");class Ma{constructor(a){this.We=a}}function Na(a){return new Ma(b=>b.substr(0,a.length+1).toLowerCase()===a+":")} const Oa=[Na("data"),Na("http"),Na("https"),Na("mailto"),Na("ftp"),new Ma(a=>/^[^:]*([/?#]|$)/.test(a))]; function Pa(a,b=Oa){if(a instanceof Ka)return a;for(let c=0;c{if(d instanceof ab)d=d.h;else throw Error("");return d}).every(d=>"data-loaded".indexOf(d)!==0))throw Error('Attribute "data-loaded" does not match any of the allowed prefixes.'); a.setAttribute("data-loaded",b)} ;const db="alternate author bookmark canonical cite help icon license modulepreload next prefetch dns-prefetch prerender preconnect preload prev search subresource".split(" ");function eb(a,b){if(b instanceof Ga)a.href=Ia(b).toString(),a.rel="stylesheet";else{if(db.indexOf("stylesheet")===-1)throw Error('TrustedResourceUrl href attribute required with rel="stylesheet"');b=Ra(b);b!==void 0&&(a.href=b,a.rel="stylesheet")}} ;function fb(a,b){return Array.prototype.indexOf.call(a,b,void 0)} function gb(a,b){Array.prototype.forEach.call(a,b,void 0)} function hb(a,b){return Array.prototype.filter.call(a,b,void 0)} function ib(a,b){return Array.prototype.map.call(a,b,void 0)} function jb(a,b){return Array.prototype.reduce.call(a,b,{duration:0})} function kb(a,b){a:{const c=a.length,d=typeof a==="string"?a.split(""):a;for(let e=0;e=0)&&Array.prototype.splice.call(a,b,1);return c} function mb(a){const b=a.length;if(b>0){const c=Array(b);for(let d=0;db?1:a4);e++)b[tb(a[e])]||(c+="\nInner error "+d++ +": ",a[e].stack&&a[e].stack.indexOf(a[e].toString())==0||(c+=typeof a[e]==="string"?a[e]:a[e].message+"\n"),c+=rb(a[e],b));e>>0;return b} ;const wb=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function xb(a){return a?decodeURI(a):a} function yb(a){return xb(a.match(wb)[3]||null)} function zb(a){return xb(a.match(wb)[5]||null)} function Ab(a){var b=a.match(wb);a=b[5];var c=b[6];b=b[7];let d="";a&&(d+=a);c&&(d+="?"+c);b&&(d+="#"+b);return d} function Bb(a){const b=a.indexOf("#");return b<0?a:a.slice(0,b)} function Cb(a,b){if(a){a=a.split("&");for(let c=0;c=0?(e=a[c].substring(0,d),f=a[c].substring(d+1)):e=a[c];b(e,f?ub(f):"")}}} function Db(a,b,c){if(Array.isArray(b))for(let d=0;dc?(d=c,e=""):e=a.substring(d+1,c);a=[a.slice(0,d),e,a.slice(c)];c=a[1];a[1]=b?c?c+"&"+b:b:c;b=a[0]+(a[1]?"?"+a[1]:"")+a[2]}else b=a;return b} function Gb(a,b,c,d){const e=c.length;for(;(b=a.indexOf(c,b))>=0&&b=0;)f.push(a.substring(d,e)),d=Math.min(a.indexOf("&",e)+1||c,c);f.push(a.slice(d));return f.join("").replace(Ib,"$1")} ;function Kb(){try{return!!window?.top?.location.href&&!1}catch(a){return!0}} ;var x=class extends Error{constructor(a,b,c=Error()){super();this.code=a;b+=":";c instanceof Error?(this.message=b+c.message,this.stack=c.stack||""):(this.message=b+String(c),this.stack="");Object.setPrototypeOf(this,new.target.prototype)}};function Lb(a){a&&typeof a.dispose=="function"&&a.dispose()} ;function Mb(a){for(let b=0,c=arguments.length;b{const c=window===window.top?window:Kb()?window:window.top;let d=c[a];d?.bevasrs?b(new Pb(d.bevasrs)):(d||(d={nqfbel:[]},c[a]=d),d.nqfbel.push(e=>{b(new Pb(e))}))})} function Qb(a){a.h!==void 0&&(a.i.forEach(b=>{a.h?.removeEventListener(b,a.j)}),a.h=void 0)} class Pb extends y{constructor(a){super();this.vm=a;this.i="keydown keypress keyup input focusin focusout select copy cut paste change click dblclick auxclick pointerover pointerdown pointerup pointermove pointerout dragenter dragleave drag dragend mouseover mousedown mouseup mousemove mouseout touchstart touchend touchmove wheel".split(" ");this.h=void 0;this.Gb=this.vm.p;this.j=this.Tb.bind(this);this.addOnDisposeCallback(()=>void Qb(this))}snapshot(a){return this.vm.s({...(a.Ia&&{c:a.Ia}), ...(a.Ec&&{s:a.Ec}),...(a.bd!==void 0&&{p:a.bd})})}Tb(a){this.vm.e(a)}ec(a,b){return this.vm.c(a,b,!1)}Yb(){return this.vm.l()}};function Rb(a){const b={Ia:a.c,Lc:a.e,ff:a.mc??!1,gf:a.me??!1};a.co&&(b.cc={kd:a.co.c,he:a.co.a,zf:a.co.s});return b} function Sb(a){return async()=>{const b=await a();return{f:()=>b.Fb.promise, c:c=>{if(c>150)var d=!1;else try{b.cache=new Tb(c,b.logger),d=!0}catch(e){Ub(b,new x(22,"GBJ:init",e)),d=!1}return d}, m:c=>b.Za(Rb(c)), mws:c=>b.uc(Rb(c))}}} function Vb(a,b,c="bevasrsg"){b={s:f=>a.snapshot({...(f.c&&{Ia:f.c}),...(f.s&&{Ec:f.s}),Di:f.p??!0}), e:f=>void a.Tb?.(f), c:(f,g)=>a.ec(f,g), p:a.Gb,l:()=>a.Yb(), wpc:b?Sb(b):void 0};const d=window===window.top?window:Kb()?window:window.top;let e=d[c];if(e){e.bevasrs=b;if(e.nqfbel!==void 0)for(const f of e.nqfbel)f(b);e.nqfbel=void 0}else e={bevasrs:b,nqfbel:void 0},d[c]=e} ;function Wb(a){const b=[];Xb(a,Yb,6).forEach(c=>{Zb(c,2)<=53&&b.push(Zb(c,1))}); return b} function $b(a){const b=[];Xb(a,Yb,6).forEach(c=>{Zb(c,2)>53&&b.push(Zb(c,1))}); return b} ;function ac(a){a.then(()=>{},()=>{})} var bc=class extends y{constructor(){super(...arguments);this.R=1}share(){if(this.F)throw Error("E:AD");this.R++;return this}dispose(){--this.R||super.dispose()}};function cc(a){return{fieldType:2,fieldName:a}} function dc(a){return{fieldType:3,fieldName:a}} ;var fc=class{constructor(a){this.h=a;ec(a,"/client_streamz/bg/frs",dc("mk"))}record(a,b){this.h.record("/client_streamz/bg/frs",a,b)}},hc=class{constructor(a){this.h=a;ec(a,"/client_streamz/bg/wrl",dc("mn"),cc("ac"),cc("sc"),dc("rk"),dc("mk"))}record(a,b,c,d,e,f){this.h.record("/client_streamz/bg/wrl",a,b,c,d,e,f)}},kc=class{constructor(a){this.i=a;ic(a,"/client_streamz/bg/ec",dc("en"),dc("mk"))}h(a,b){jc(this.i,"/client_streamz/bg/ec",[a,b])}},lc=class{constructor(a){this.h=a;ec(a,"/client_streamz/bg/el", dc("en"),dc("mk"))}record(a,b,c){this.h.record("/client_streamz/bg/el",a,b,c)}},mc=class{constructor(a){this.i=a;ic(a,"/client_streamz/bg/cec",cc("ec"),dc("mk"))}h(a,b){jc(this.i,"/client_streamz/bg/cec",[a,b])}},nc=class{constructor(a){this.i=a;ic(a,"/client_streamz/bg/po/csc",cc("cs"),dc("mk"))}h(a,b){jc(this.i,"/client_streamz/bg/po/csc",[a,b])}},oc=class{constructor(a){this.i=a;ic(a,"/client_streamz/bg/po/ctav",dc("av"),dc("mk"))}h(a,b){jc(this.i,"/client_streamz/bg/po/ctav",[a,b])}},pc=class{constructor(a){this.i= a;ic(a,"/client_streamz/bg/po/cwsc",dc("su"),dc("mk"))}h(a,b){jc(this.i,"/client_streamz/bg/po/cwsc",[a,b])}};let qc;function rc(a){return(qc||(qc=new TextEncoder)).encode(a)} ;function sc(a){t.setTimeout(()=>{throw a;},0)} ;function tc(a){const b=[];let c=0;for(let d=0;d>6|192:((e&64512)==55296&&d+1>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b} ;var uc=ia(610401301,!1),vc=ia(748402147,!0),wc=ia(824656860,ia(1,!0));function xc(){var a=t.navigator;return a&&(a=a.userAgent)?a:""} var yc;const zc=t.navigator;yc=zc?zc.userAgentData||null:null;function Ac(a){if(!uc||!yc)return!1;for(let b=0;b0:!1} function Cc(){return Bc()?!1:A("Opera")} function Dc(){return A("Firefox")||A("FxiOS")} function Ec(){return Bc()?Ac("Chromium"):(A("Chrome")||A("CriOS"))&&!(Bc()?0:A("Edge"))||A("Silk")} ;function Fc(){return uc?!!yc&&!!yc.platform:!1} function Gc(){return A("iPhone")&&!A("iPod")&&!A("iPad")} ;function Hc(a){Hc[" "](a);return a} Hc[" "]=function(){};var Ic=Cc(),Jc=Bc()?!1:A("Trident")||A("MSIE"),Kc=A("Edge"),Lc=A("Gecko")&&!(xc().toLowerCase().indexOf("webkit")!=-1&&!A("Edge"))&&!(A("Trident")||A("MSIE"))&&!A("Edge"),Mc=xc().toLowerCase().indexOf("webkit")!=-1&&!A("Edge");Mc&&A("Mobile");Fc()||A("Macintosh");Fc()||A("Windows");(Fc()?yc.platform==="Linux":A("Linux"))||Fc()||A("CrOS");var Nc=Fc()?yc.platform==="Android":A("Android");Gc();A("iPad");A("iPod");Gc()||A("iPad")||A("iPod");xc().toLowerCase().indexOf("kaios");Dc();const Oc=Gc()||A("iPod"),Pc=A("iPad");!A("Android")||Ec()||Dc()||Cc()||A("Silk");Ec();const Qc=A("Safari")&&!(Ec()||(Bc()?0:A("Coast"))||Cc()||(Bc()?0:A("Edge"))||(Bc()?Ac("Microsoft Edge"):A("Edg/"))||(Bc()?Ac("Opera"):A("OPR"))||Dc()||A("Silk")||A("Android"))&&!(Gc()||A("iPad")||A("iPod"));const Rc={};let Sc=null;function Tc(a,b){ka(a);b===void 0&&(b=0);Uc();b=Rc[b];const c=Array(Math.floor(a.length/3)),d=b[64]||"";let e=0,f=0;for(;e>2];g=b[(g&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[f++]=""+l+g+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[f]=""+b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join("")} function Vc(a){const b=a.length;let c=b*3/4;c%3?c=Math.floor(c):"=.".indexOf(a[b-1])!=-1&&(c="=.".indexOf(a[b-2])!=-1?c-2:c-1);const d=new Uint8Array(c);let e=0;Wc(a,function(f){d[e++]=f}); return e!==c?d.subarray(0,e):d} function Wc(a,b){function c(e){for(;d>4);g!=64&&(b(f<<4&240|g>>2),h!=64&&b(g<<6&192|h))}} function Uc(){if(!Sc){Sc={};var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"];for(let c=0;c<5;c++){const d=a.concat(b[c].split(""));Rc[c]=d;for(let e=0;e=b||(c[a]=d+1,a=Error(),pb(a,"incident"),sc(a))}} ;function jd(a,b=!1){return b&&Symbol.for&&a?Symbol.for(a):a!=null?Symbol(a):Symbol()} var C=jd("jas",!0),kd=jd(),ld=jd(),md=jd(),nd=jd(),od=jd(),pd=jd(),qd=jd("m_m",!0),rd=jd(),sd=jd();[...Object.values({Gh:1,Fh:2,Eh:4,Kh:8,Mh:16,Ih:32,Uf:64,Ch:128,Zf:256,Lh:512,ag:1024,Dh:2048,Jh:4096,Hh:8192})];var td;const ud=[];ud[C]=7;td=Object.freeze(ud);var vd={};function wd(a,b){return b===void 0?a.h!==xd&&!!(2&(a.U[C]|0)):!!(2&b)&&a.h!==xd} const xd={};function yd(a,b){if(a!=null)if(typeof a==="string")a=a?new cd(a,$c):ad();else if(a.constructor!==cd)if(a!=null&&a instanceof Uint8Array)a instanceof Uint8Array||Array.isArray(a),a=a.length?new cd(new Uint8Array(a),$c):ad();else{if(!b)throw Error();a=void 0}return a} var zd=Object.freeze({});function Ad(a,b,c){const d=b&128?0:-1,e=a.length;var f;if(f=!!e)f=a[e-1],f=f!=null&&typeof f==="object"&&f.constructor===Object;const g=e+(f?-1:0);for(b=b&128?1:0;btypeof a==="number"),Ed=Cd(a=>typeof a==="string"); function Fd(){var a=Gd;return Cd(b=>{for(const c in a)if(b===a[c]&&!/^[0-9]+$/.test(c))return!0;return!1})} var Hd=Cd(a=>a!=null&&typeof a==="object"&&typeof a.then==="function"),Id=Cd(a=>!!a&&(typeof a==="object"||typeof a==="function"));function Jd(a){if(Ed(a)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(a))throw Error(String(a));}else if(Dd(a)&&!Number.isSafeInteger(a))throw Error(String(a));return BigInt(a)} var Md=Cd(a=>a>=Kd&&a<=Ld); const Kd=BigInt(Number.MIN_SAFE_INTEGER),Ld=BigInt(Number.MAX_SAFE_INTEGER);let Nd=0,Od=0,Pd;function Qd(a){const b=a>>>0;Nd=b;Od=(a-b)/4294967296>>>0} function Rd(a){if(a<0){Qd(0-a);a=Nd;var b=Od;b=~b;a?a=~a+1:b+=1;const [c,d]=[a,b];Nd=c>>>0;Od=d>>>0}else Qd(a)} function Sd(a,b){const c=b*4294967296+(a>>>0);return Number.isSafeInteger(c)?c:Td(a,b)} function Td(a,b){b>>>=0;a>>>=0;var c;b<=2097151?c=""+(4294967296*b+a):c=""+(BigInt(b)<>>0)):c=Td(a,b);return c} function Vd(a){a.length<16?Rd(Number(a)):(a=BigInt(a),Nd=Number(a&BigInt(4294967295))>>>0,Od=Number(a>>BigInt(32)&BigInt(4294967295)))} ;const Wd=typeof BigInt==="function"?BigInt.asIntN:void 0,Xd=typeof BigInt==="function"?BigInt.asUintN:void 0,Yd=Number.isSafeInteger,Zd=Number.isFinite,$d=Math.trunc;function ae(a){return a.displayName||a.name||"unknown type name"} function be(a){if(a!=null&&typeof a!=="boolean")throw Error(`Expected boolean but got ${ja(a)}: ${a}`);return a} const ce=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function de(a){switch(typeof a){case "bigint":return!0;case "number":return Zd(a);case "string":return ce.test(a);default:return!1}} function ee(a){if(typeof a!=="number")throw hd("int32");if(!Zd(a))throw hd("int32");return a|0} function fe(a){return a==null?a:ee(a)} function ge(a){if(a==null)return a;if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;return Zd(a)?a|0:void 0} function he(a){if(a==null)return a;if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;return Zd(a)?a>>>0:void 0} function ie(a){var b=wc?1024:0;if(!de(a))throw hd("int64");const c=typeof a;switch(b){case 512:switch(c){case "string":return je(a);case "bigint":return String(Wd(64,a));default:return ke(a)}case 1024:switch(c){case "string":return le(a);case "bigint":return Jd(Wd(64,a));default:return me(a)}case 0:switch(c){case "string":return je(a);case "bigint":return Jd(Wd(64,a));default:return ne(a)}default:return Ta(b,"Unknown format requested type for int64")}} function oe(a){return a==null?a:ie(a)} function ne(a){de(a);a=$d(a);if(!Yd(a)){Rd(a);var b=Nd,c=Od;if(a=c&2147483648)b=~b+1>>>0,c=~c>>>0,b==0&&(c=c+1>>>0);b=Sd(b,c);a=typeof b==="number"?a?-b:b:a?"-"+b:b}return a} function ke(a){de(a);a=$d(a);Yd(a)?a=String(a):(Rd(a),a=Ud());return a} function je(a){de(a);var b=$d(Number(a));if(Yd(b))return String(b);b=a.indexOf(".");b!==-1&&(a=a.substring(0,b));a.indexOf(".");b=a.length;(a[0]==="-"?b<20||b===20&&a<="-9223372036854775808":b<19||b===19&&a<="9223372036854775807")||(Vd(a),a=Ud());return a} function le(a){var b=$d(Number(a));if(Yd(b))return Jd(b);b=a.indexOf(".");b!==-1&&(a=a.substring(0,b));return Jd(Wd(64,BigInt(a)))} function me(a){return Yd(a)?Jd(ne(a)):Jd(ke(a))} function pe(a){if(a==null)return a;if(typeof a==="bigint")return Md(a)?a=Number(a):(a=Wd(64,a),a=Md(a)?Number(a):String(a)),a;if(de(a))return typeof a==="number"?ne(a):je(a)} function qe(a){const b=typeof a;if(a==null)return a;if(b==="bigint")return Jd(Wd(64,a));if(de(a))return b==="string"?le(a):me(a)} function re(a){if(a==null)return a;const b=typeof a;if(b==="bigint")return String(Wd(64,a));if(de(a)){if(b==="string")return je(a);if(b==="number")return ne(a)}} function se(a){if(a==null)return a;var b=typeof a;if(b==="bigint")return String(Xd(64,a));if(de(a)){if(b==="string")return de(a),b=$d(Number(a)),Yd(b)&&b>=0?a=String(b):(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),a.indexOf("."),a[0]==="-"?b=!1:(b=a.length,b=b<20?!0:b===20&&a<="18446744073709551615"),b||(Vd(a),a=Td(Nd,Od))),a;if(b==="number")return de(a),a=$d(a),a>=0&&Yd(a)||(Rd(a),a=Sd(Nd,Od)),a}} function te(a){if(typeof a!=="string")throw Error();return a} function ue(a){if(a!=null&&typeof a!=="string")throw Error();return a} function ve(a){return a==null||typeof a==="string"?a:void 0} function we(a,b){if(!(a instanceof b))throw Error(`Expected instanceof ${ae(b)} but got ${a&&ae(a.constructor)}`);} function xe(a,b,c){if(a!=null&&a[qd]===vd)return a;if(Array.isArray(a)){var d=a[C]|0;c=d|c&32|c&2;c!==d&&(a[C]=c);return new b(a)}} ;const ye={};function ze(a){return a} ;function Ae(a){const b=ta(ld);return b?a[b]:void 0} const Be={wi:!0};function Ce(a,b){b<100||id(nd,1)} ;function De(a,b,c,d){const e=d!==void 0;d=!!d;var f=ta(ld),g;!e&&f&&(g=a[f])&&g.Le(Ce);f=[];var h=a.length;let k;g=4294967295;let l=!1;const m=!!(b&64),n=m?b&128?0:-1:void 0;b&1||(k=h&&a[h-1],k!=null&&typeof k==="object"&&k.constructor===Object?(h--,g=h):k=void 0,!m||b&128||e||(l=!0,g=(Ee??ze)(g-n,n,a,k,void 0)+n));b=void 0;for(var u=0;u=g){const z=u-n;(b??(b={}))[z]=p}else f[u]=p}if(k)for(let p in k){h=k[p];if(h==null||(h=c(h,d))==null)continue; u=+p;let z;m&&!Number.isNaN(u)&&(z=u+n)0?void 0:a===0?Je||(Je=[0,void 0]):[-a,void 0];case "string":return[0,a];case "object":return a}} function Le(a,b,c,d=0){if(a==null){var e=32;c?(a=[c],e|=128):a=[];b&&(e=e&-16760833|(b&1023)<<14)}else{if(!Array.isArray(a))throw Error("narr");e=a[C]|0;if(vc&&1&e)throw Error("rfarr");2048&e&&!(2&e)&&Me();if(e&256)throw Error("farr");if(e&64)return(e|d)!==e&&(a[C]=e|d),a;if(c&&(e|=128,c!==a[0]))throw Error("mid");a:{c=a;e|=64;var f=c.length;if(f){var g=f-1;const k=c[g];if(k!=null&&typeof k==="object"&&k.constructor===Object){b=e&128?0:-1;g-=b;if(g>=1024)throw Error("pvtlmt");for(var h in k)if(f= +h,f1024)throw Error("spvt");e=e&-16760833|(h&1023)<<14}}}a[C]=e|64|d;return a} function Me(){if(vc)throw Error("carr");id(pd,5)} ;function Ne(a,b){if(typeof a!=="object")return a;if(Array.isArray(a)){var c=a[C]|0;a.length===0&&c&1?a=void 0:c&2||(!b||4096&c||16&c?a=Oe(a,c,!1,b&&!(c&16)):(a[C]|=34,c&4&&Object.freeze(a)));return a}if(a!=null&&a[qd]===vd)return b=a.U,c=b[C]|0,wd(a,c)?a:Pe(a,b,c)?Qe(a,b):Oe(b,c);if(a instanceof cd)return a} function Qe(a,b,c){a=new a.constructor(b);c&&(a.h=xd);a.i=xd;return a} function Oe(a,b,c,d){d??(d=!!(34&b));a=De(a,b,Ne,d);d=32;c&&(d|=2);b=b&16769217|d;a[C]=b;return a} function Re(a){const b=a.U,c=b[C]|0;return wd(a,c)?Pe(a,b,c)?Qe(a,b,!0):new a.constructor(Oe(b,c,!1)):a} function Se(a){if(a.h!==xd)return!1;var b=a.U;b=Oe(b,b[C]|0);b[C]|=2048;a.U=b;a.h=void 0;a.i=void 0;return!0} function Te(a){if(!Se(a)&&wd(a,a.U[C]|0))throw Error();} function Ue(a,b){b===void 0&&(b=a[C]|0);b&32&&!(b&4096)&&(a[C]=b|4096)} function Pe(a,b,c){return c&2?!0:c&32&&!(c&4096)?(b[C]=c|2,a.h=xd,!0):!1} ;const Ve=Jd(0),We={};function Xe(a,b,c,d,e){Object.isExtensible(a);b=Ye(a.U,b,c,e);if(b!==null||d&&a.i!==xd)return b} function Ye(a,b,c,d){if(b===-1)return null;const e=b+(c?0:-1),f=a.length-1;let g,h;if(!(f<1+(c?0:-1))){if(e>=f)if(g=a[f],g!=null&&typeof g==="object"&&g.constructor===Object)c=g[b],h=!0;else if(e===f)c=g;else return;else c=a[e];if(d&&c!=null){d=d(c);if(d==null)return d;if(!Object.is(d,c))return h?g[b]=d:a[e]=d,d}return c}} function E(a,b,c,d){Te(a);const e=a.U;Ze(e,e[C]|0,b,c,d);return a} function Ze(a,b,c,d,e){const f=c+(e?0:-1);var g=a.length-1;if(g>=1+(e?0:-1)&&f>=g){const h=a[g];if(h!=null&&typeof h==="object"&&h.constructor===Object)return h[c]=d,b}if(f<=g)return a[f]=d,b;d!==void 0&&(g=(b??(b=a[C]|0))>>14&1023||536870912,c>=g?d!=null&&(a[g+(e?0:-1)]={[c]:d}):a[f]=d);return b} function $e(a,b,c){a=Ye(a,b,c);return Array.isArray(a)?a:td} function af(a,b){2&b&&(a|=2);return a|1} function bf(a){return!!(2&a)&&!!(4&a)||!!(256&a)} function cf(a){return yd(a,!0)} function df(a){a=Xe(a,1,void 0,void 0,cf);return a==null?ad():a} function ef(a,b,c){Te(a);const d=a.U;let e=d[C]|0;if(b==null)return Ze(d,e,3),a;if(!Array.isArray(b))throw hd();let f=b===td?7:b[C]|0,g=f;var h=bf(f);let k=h||Object.isFrozen(b);h||(f=0);k||(b=[...b],g=0,f=ff(f,e),k=!1);f|=5;h=(4&f?512&f?512:1024&f?1024:0:void 0)??(wc?1024:0);f|=h;for(let l=0;l{const h=xe(g,c,b);f=h!==g&&h!=null;return h}); if(d!=null)return f&&!wd(d)&&Ue(a,b),d} function lf(a,b,c,d){let e=a.U,f=e[C]|0;b=kf(e,f,b,c,d);if(b==null)return b;f=e[C]|0;if(!wd(a,f)){const g=Re(b);g!==b&&(Se(a)&&(e=a.U,f=e[C]|0),b=g,f=Ze(e,f,c,b,d),Ue(e,f))}return b} function Xb(a,b,c){var d=void 0===zd?2:4;var e=a.U,f=e,g=e[C]|0,h=wd(a,g);e=h?1:d;d=e===3;var k=!h;(e===2||k)&&Se(a)&&(f=a.U,g=f[C]|0);h=$e(f,c);var l=h===td?7:h[C]|0,m=af(l,g);if(a=!(4&m)){var n=h,u=g;const p=!!(2&m);p&&(u|=2);let z=!p,D=!0,B=0,M=0;for(;B>>0;this.h=b>>>0}};let uf;function wf(a){if(!a)return xf||(xf=new yf(0,0));if(!/^-?\d+$/.test(a))return null;Vd(a);return new yf(Nd,Od)} var yf=class{constructor(a,b){this.i=a>>>0;this.h=b>>>0}};let xf;function zf(a,b,c){for(;c>0||b>127;)a.h.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.h.push(b)} function Af(a,b){a.h.push(b>>>0&255);a.h.push(b>>>8&255);a.h.push(b>>>16&255);a.h.push(b>>>24&255)} function Bf(a,b){for(;b>127;)a.h.push(b&127|128),b>>>=7;a.h.push(b)} var Cf=class{constructor(){this.h=[]}length(){return this.h.length}end(){const a=this.h;this.h=[];return a}writeUint8(a){this.h.push(a>>>0&255)}writeInt8(a){this.h.push(a>>>0&255)}};function Df(a,b){b.length!==0&&(a.j.push(b),a.i+=b.length)} function Ef(a,b){Bf(a.h,b*8+2);b=a.h.end();Df(a,b);b.push(a.i);return b} function Ff(a,b){var c=b.pop();for(c=a.i+a.h.length()-c;c>127;)b.push(c&127|128),c>>>=7,a.i++;b.push(c);a.i++} function Gf(a,b,c){if(c!=null){switch(typeof c){case "string":tf(c)}Bf(a.h,b*8+1);switch(typeof c){case "number":a=a.h;Qd(c);Af(a,Nd);Af(a,Od);break;case "bigint":c=BigInt.asUintN(64,c);c=new vf(Number(c&BigInt(4294967295)),Number(c>>BigInt(32)));a=a.h;b=c.h;Af(a,c.i);Af(a,b);break;default:c=tf(c),a=a.h,b=c.h,Af(a,c.i),Af(a,b)}}} var Hf=class{constructor(){this.j=[];this.i=0;this.h=new Cf}};function If(){const a=class{constructor(){throw Error();}};Object.setPrototypeOf(a,a.prototype);return a} var Jf=If(),Kf=If(),Lf=If(),Mf=If(),Nf=If(),Of=If(),Pf=If();function Qf(a,b){if(b==null||b=="")return new a;b=JSON.parse(b);if(!Array.isArray(b))throw Error("dnarr");b[C]|=32;return new a(b)} var G=class{constructor(a,b,c){this.U=Le(a,b,c,2048)}toJSON(){return He(this)}serialize(a){return JSON.stringify(He(this,a))}clone(){const a=this.U,b=a[C]|0;return Pe(this,a,b)?Qe(this,a,!0):new this.constructor(Oe(a,b,!1))}};G.prototype[qd]=vd;G.prototype.toString=function(){return this.U.toString()};var H=class{constructor(a,b){this.Hc=a;a=ta(Jf);this.h=!!a&&b===a||!1}};function Rf(a,b,c,d,e){b=Sf(b,d);b!=null&&(c=Ef(a,c),e(b,a),Ff(a,c))} const Tf=new H(Rf,Jf),Uf=new H(Rf,Jf);var Vf=Symbol(),Wf=Symbol();let Xf,Yf; function Zf(a){var b=$f,c=ag,d=a[Vf];if(d)return d;d={};d.Ph=a;d.ud=Ke(a[0]);var e=a[1];let f=1;e&&e.constructor===Object&&(d.extensions=e,e=a[++f],typeof e==="function"&&(d.Ve=!0,Xf??(Xf=e),Yf??(Yf=a[f+1]),e=a[f+=2]));const g={};for(;e&&bg(e);){for(var h=0;h0} function Sf(a,b){if(a instanceof G)return a.U;if(Array.isArray(a))return Le(a,b[0],b[1])} ;function $f(a,b,c){a[b]=c.Hc} function ag(a,b,c,d){let e,f;const g=c.Hc;a[b]=(h,k,l)=>g(h,k,l,f||(f=Zf(d).ud),e||(e=cg(d)))} function cg(a){let b=a[Wf];if(!b){const c=Zf(a);b=(d,e)=>dg(d,e,c); a[Wf]=b}return b} function dg(a,b,c){Ad(a,a[C]|0,(d,e)=>{if(e!=null){var f=eg(c,d);f?f(b,e,d):d<500||id(od,3)}}); (a=Ae(a))&&a.Le((d,e,f)=>{Df(b,b.h.end());for(d=0;dd(g,h,k,f,e)}else c=d; return a[b]=c}} ;function fg(a,b,c){if(Array.isArray(b)){var d=b[C]|0;if(d&4)return b;for(var e=0,f=0;e>BigInt(32)));zf(a.h,c.i,c.h);break;default:c=wf(b),zf(a.h,c.i,c.h)}}} function ig(a,b,c){b=ge(b);if(b!=null&&b!=null)if(Bf(a.h,c*8),a=a.h,c=b,c>=0)Bf(a,c);else{for(b=0;b<9;b++)a.h.push(c&127|128),c>>=7;a.h.push(1)}} function jg(a,b,c){b=b==null||typeof b==="boolean"?b:typeof b==="number"?!!b:void 0;b!=null&&(Bf(a.h,c*8),a.h.h.push(b?1:0))} function kg(a,b,c){b=ve(b);b!=null&&(b=rc(b),Bf(a.h,c*8+2),Bf(a.h,b.length),Df(a,a.h.end()),Df(a,b))} function lg(a,b,c,d,e){b=Sf(b,d);b!=null&&(c=Ef(a,c),e(b,a),Ff(a,c))} var mg=new H(jg,Kf),ng=new H(kg,Lf),og=function(a,b,c=Jf){return new H(b,c)}(function(a,b,c,d,e){if(a.h()!==2)return!1; var f=a.i;d=Le(void 0,d[0],d[1]);var g=b[C]|0;if(g&2)throw Error();const h=g&128?Bd:void 0;let k=$e(b,c,h),l=k===td?7:k[C]|0,m=af(l,g);if(2&m||bf(m)||16&m)m===l||bf(m)||(k[C]=m),k=[...k],l=0,m=ff(m,g),Ze(b,g,c,k,h);m&=-13;m!==l&&(k[C]=m);k.push(d);f.call(a,d,e);return!0},function(a,b,c,d,e){if(Array.isArray(b)){for(let f=0;fQf(a,b)} ;function tg(a,b){return ef(a,b,ee)} var ug=class extends G{constructor(a){super(a)}};var vg=class extends G{constructor(a){super(a)}},wg=[1,2,3];var xg=class extends G{constructor(a){super(a)}},yg=[1,2,3];var zg=class extends G{constructor(a){super(a)}};var Ag=class extends G{constructor(a){super(a)}};var Bg=class extends G{constructor(a){super(a)}},Cg=[1,2,3];var Dg=class extends G{constructor(a){super(a)}};Dg.prototype.j=function(a){return function(){const b=new Hf;dg(this.U,b,Zf(a));Df(b,b.h.end());const c=new Uint8Array(b.i),d=b.j,e=d.length;let f=0;for(let g=0;g>>31)&4294967295;n=e[0];var z=e[1],D=e[2],B=e[3],M=e[4];for(p=0;p<80;p++){if(p<40)if(p<20){var K=B^z&(D^B);var Y=1518500249}else K=z^D^B,Y=1859775393;else p<60?(K=z&D|B&(z|D),Y=2400959708):(K=z^D^B,Y=3395469782);K=((n<<5|n>>>27)&4294967295)+K+M+Y+u[p]&4294967295;M=B;B=D;D=(z<<30|z>>>2)&4294967295;z=n;n=K}e[0]=e[0]+n&4294967295;e[1]=e[1]+z&4294967295;e[2]= e[2]+D&4294967295;e[3]=e[3]+B&4294967295;e[4]=e[4]+M&4294967295} function c(n,u){if(typeof n==="string"){n=unescape(encodeURIComponent(n));for(var p=[],z=0,D=n.length;z=56;p--)f[p]=u&255,u>>>=8;b(f);for(p=u=0;p<5;p++)for(var z=24;z>=0;z-=8)n[u++]=e[p]>>z&255;return n} for(var e=[],f=[],g=[],h=[128],k=1;k<64;++k)h[k]=0;var l,m;a();return{reset:a,update:c,digest:d,te:function(){for(var n=d(),u="",p=0;p=0;b--)this.remove(a[b])}; function Pg(a){a=(a.h.cookie||"").split(";");const b=[],c=[];let d,e;for(let f=0;fsa(); this.i=this.h()}setInterval(a){this.intervalMs=a;this.timer&&this.enabled?(this.stop(),this.start()):this.timer&&this.stop()}start(){this.enabled=!0;this.timer||(this.timer=setTimeout(()=>{this.tick()},this.intervalMs),this.i=this.h())}stop(){this.enabled=!1; this.timer&&(clearTimeout(this.timer),this.timer=void 0)}tick(){if(this.enabled){const a=Math.max(this.h()-this.i,0);a{this.tick()},this.intervalMs-a):(this.timer&&(clearTimeout(this.timer),this.timer=void 0),this.callback(),this.enabled&&(this.stop(),this.start()))}else this.timer=void 0}};var Xg=class extends G{constructor(a){super(a)}};var Yg=class extends G{constructor(a){super(a)}};function Zg(a,b){this.x=a!==void 0?a:0;this.y=b!==void 0?b:0} r=Zg.prototype;r.clone=function(){return new Zg(this.x,this.y)}; r.equals=function(a){return a instanceof Zg&&(this==a?!0:this&&a?this.x==a.x&&this.y==a.y:!1)}; r.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this}; r.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this}; r.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}; r.scale=function(a,b){this.x*=a;this.y*=typeof b==="number"?b:a;return this};function $g(a,b){this.width=a;this.height=b} r=$g.prototype;r.clone=function(){return new $g(this.width,this.height)}; r.aspectRatio=function(){return this.width/this.height}; r.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this}; r.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this}; r.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this}; r.scale=function(a,b){this.width*=a;this.height*=typeof b==="number"?b:a;return this};function ah(a,b){for(const c in a)b.call(void 0,a[c],c,a)} function bh(a){const b=[];let c=0;for(const d in a)b[c++]=a[d];return b} function ch(a){var b=dh;for(const c in b)if(a.call(void 0,b[c],c,b))return c} function eh(a){for(const b in a)return!1;return!0} function fh(a,b){if(a!==null&&b in a)throw Error(`The object already contains the key "${b}"`);a[b]=!0} function gh(a){return a!==null&&"privembed"in a?a.privembed:!1} function hh(a,b){for(const c in a)if(!(c in b)||a[c]!==b[c])return!1;for(const c in b)if(!(c in a))return!1;return!0} function ih(a){const b={};for(const c in a)b[c]=a[c];return b} function jh(a){if(!a||typeof a!=="object")return a;if(typeof a.clone==="function")return a.clone();if(typeof Map!=="undefined"&&a instanceof Map)return new Map(a);if(typeof Set!=="undefined"&&a instanceof Set)return new Set(a);if(a instanceof Date)return new Date(a.getTime());const b=Array.isArray(a)?[]:typeof ArrayBuffer!=="function"||typeof ArrayBuffer.isView!=="function"||!ArrayBuffer.isView(a)||a instanceof DataView?{}:new a.constructor(a.length);for(const c in a)b[c]=jh(a[c]);return b} const kh="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function lh(a,b){let c,d;for(let e=1;e{var e=new uh;e=F(e,1,d.brand);return F(e,2,d.version)})); typeof a.mobile==="boolean"&&E(wh,2,be(a.mobile));Bh=a.getHighEntropyValues(b)}const c=new Set(b);return Bh.then(d=>{const e=wh.clone();c.has("platform")&&F(e,3,d.platform);c.has("platformVersion")&&F(e,4,d.platformVersion);c.has("architecture")&&F(e,5,d.architecture);c.has("model")&&F(e,6,d.model);c.has("uaFullVersion")&&F(e,7,d.uaFullVersion);return e.serialize()}).catch(()=>wh.serialize())} ;function Dh(a){return sf(a,1,1)} var Eh=class extends G{constructor(a){super(a)}};var Fh=class extends G{constructor(a){super(a,4)}};var Gh=class extends G{constructor(a){super(a,36)}};var Hh=class extends G{constructor(a){super(a,19)}Xb(a){return sf(this,2,a)}};function Ih(a,b){nf(a.h,Eh,1,b);rf(b)||Dh(b);a.Qa||(b=Jh(a),qf(b,5)||F(b,5,a.locale));a.j&&(b=Jh(a),lf(b,xh,9)||nf(b,xh,9,a.j))} function Jh(a){var b=lf(a.h,Eh,1);b||(b=new Eh,Ih(a,b));a=b;b=lf(a,zh,11);b||(b=new zh,nf(a,zh,11,b));return b} function Kh(a,b){a.i=b} function Lh(a){const b=a.Qa?void 0:window;b?Ch(b,Ah).then(c=>{a.j=yh(c??"[]");c=Jh(a);nf(c,xh,9,a.j);return!0}).catch(()=>!1):Promise.resolve(!1)} function Mh(a,b,c=0,d=0,e=null,f=0,g=0){if(!a.Qa){var h=Jh(a);var k=new th;k=sf(k,1,a.i);k=E(k,2,be(a.isFinal));d=E(k,3,fe(d>0?d:void 0));f=E(d,4,fe(f>0?f:void 0));g=E(f,5,fe(g>0?g:void 0));f=g.U;d=f[C]|0;g=wd(g,d)?g:Pe(g,f,d)?Qe(g,f):new g.constructor(Oe(f,d,!0));nf(h,th,10,g)}a=a.h.clone();h=Date.now().toString();a=E(a,4,oe(h));b=b.slice();b=of(a,Gh,3,b);e&&(a=new Xg,e=E(a,13,fe(e)),a=new Yg,e=nf(a,Xg,2,e),a=new Fh,e=nf(a,Yg,1,e),e=sf(e,2,9),nf(b,Fh,18,e));c&&E(b,14,oe(c));return b} var Nh=class{constructor(a,b=!1){this.Qa=b;this.j=this.locale=null;this.i=0;this.isFinal=!1;this.h=new Hh;Number.isInteger(a)&&this.h.Xb(a);b||(this.locale=document.documentElement.getAttribute("lang"));Ih(this,new Eh)}Xb(a){this.h.Xb(a);return this}};function Oh(a,b,c,d){this.o=a;this.u=b;this.h=this.j=a;this.M=c||0;this.A=d||2} Oh.prototype.i=0;Oh.prototype.reset=function(){this.h=this.j=this.o;this.i=0}; Oh.prototype.getValue=function(){return this.j}; function Ph(a){a.h=Math.min(a.u,a.h*a.A);a.j=Math.min(a.u,a.h+(a.M?Math.round(a.M*(Math.random()-.5)*2*a.h):0));a.i++} ;var rg=class extends G{constructor(a){super(a,8)}},Qh=sg(rg);var Rh;Rh=new qg(class extends G{constructor(a){super(a)}});function Sh(){return"https://play.google.com/log?format=json&hasfast=true"} function Th(a,b){return a.za?b?()=>{b().then(()=>{a.flush()})}:()=>{a.flush()}:()=>{}} function Uh(a){a.j.isFinal=!0;a.flush();a.j.isFinal=!1} function Vh(a){a.H||(a.H=Sh());try{return(new URL(a.H)).toString()}catch(b){return(new URL(a.H,window.location.origin)).toString()}} function Wh(a){Xh(a,(b,c)=>{b=new URL(b);b.searchParams.set("format","json");let d=!1;try{d=window.navigator.sendBeacon(b.toString(),c.serialize())}catch{}d||(a.R=!1);return d})} function Yh(a,b,c=null,d=a.withCredentials){const e={},f=new URL(Vh(a));c&&(e.Authorization=c);a.sessionIndex&&(e["X-Goog-AuthUser"]=a.sessionIndex,f.searchParams.set("authuser",a.sessionIndex));a.pageId&&(Object.defineProperty(e,"X-Goog-PageId",{value:a.pageId}),f.searchParams.set("pageId",a.pageId));return{url:f.toString(),body:b,ke:1,Bc:e,requestType:"POST",withCredentials:d,timeoutMillis:a.timeoutMillis}} function Xh(a,b){if(a.h.length!==0){var c=new URL(Vh(a));c.searchParams.delete("format");var d=a.ub();d&&c.searchParams.set("auth",d);c.searchParams.set("authuser",a.sessionIndex||"0");for(d=0;d<10&&a.h.length;++d){const e=a.h.slice(0,32),f=Mh(a.j,e,a.o,a.A,a.lb,a.ba,a.V);if(!b(c.toString(),f)){++a.A;break}a.o=0;a.A=0;a.ba=0;a.V=0;a.h=a.h.slice(e.length)}a.i.enabled&&a.i.stop()}} var Zh=class extends y{constructor(a){super();this.componentId="";this.h=[];this.Da="";this.pageId=null;this.Ha=this.fa=-1;this.D=this.experimentIds=null;this.V=this.ba=this.A=this.o=0;this.Sa=1;this.timeoutMillis=0;this.ia=!1;this.logSource=a.logSource;this.ub=a.ub||(()=>{}); this.j=new Nh(a.logSource,a.Qa);this.network=a.network||null;this.lb=a.lb||null;this.bufferSize=1E3;this.H=a.Ff||null;this.sessionIndex=a.sessionIndex||null;this.Pb=a.Pb||!1;this.logger=null;this.withCredentials=!a.Kc;this.Qa=a.Qa||!1;this.R=!this.Qa&&!!window&&!!window.navigator&&window.navigator.sendBeacon!==void 0;this.za=typeof URLSearchParams!=="undefined"&&!!(new URL(Sh())).searchParams&&!!(new URL(Sh())).searchParams.set;const b=Dh(new Eh);Ih(this.j,b);this.u=new Oh(1E4,3E5,.1);a=Th(this,a.hd); this.i=new Wg(this.u.getValue(),a);this.na=new Wg(6E5,a);this.Pb||this.na.start();this.Qa||(document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Uh(this)}),document.addEventListener("pagehide",()=>{Uh(this)}))}X(){Uh(this); this.i.stop();this.na.stop();super.X()}log(a){if(this.za){a=a.clone();var b=this.Sa++;a=E(a,21,oe(b));this.componentId&&F(a,26,this.componentId);b=a;{var c=Xe(b,1);const d=typeof c;c=c==null?c:d==="bigint"?String(Wd(64,c)):de(c)?d==="string"?je(c):ne(c):void 0}c==null&&(c=Date.now(),c=Number.isFinite(c)?c.toString():"0",E(b,1,oe(c)));(wc?pe(Xe(b,15,void 0,void 0,qe)):pe(Xe(b,15)))==null&&E(b,15,oe((new Date).getTimezoneOffset()*60));this.experimentIds&&(c=this.experimentIds.clone(),nf(b,Vg,16,c)); b=this.h.length-this.bufferSize+1;b>0&&(this.h.splice(0,b),this.o+=b);this.h.push(a);this.Pb||this.i.enabled||this.i.start()}}flush(a,b){if(this.h.length===0)a&&a();else if(this.ia&&this.R)this.j.i=3,Wh(this);else{var c=Date.now();if(this.Ha>c&&this.fa{this.u.reset();this.i.setInterval(this.u.getValue());if(m){var n=null;try{var u=JSON.stringify(JSON.parse(m.replace(")]}'\n","")));n=Qh(u)}catch(p){}if(n){m=Number(pf(n,1,Jd("-1")));m>0&&(this.fa=Date.now(),this.Ha=this.fa+m);(m=ta(ld))&&n.U[m]?.[175237375]!=null&&id(md,3);if(ta(sd)&&ta(ld)&&void 0===sd&&(m=n.U,u=m[ld])&&(u=u.xi))try{u(m,175237375,Be)}catch(p){sc(p)}n= Rh.ctor?Rh.h(n,Rh.ctor,175237375,Rh.i):Rh.h(n,175237375,null,Rh.i);if(n=n===null?void 0:n)n=Zb(n,1,-1),n!==-1&&(this.u=new Oh(n<1?1:n,3E5,.1),this.i.setInterval(this.u.getValue()))}}a&&a();this.A=0},k=(m,n)=>{var u=Xb(d,Gh,3); var p=Number(pf(d,14));Ph(this.u);this.i.setInterval(this.u.getValue());m===401&&e&&(this.Da=e);p&&(this.o+=p);n===void 0&&(n=this.isRetryable(m));n&&(this.h=u.concat(this.h),this.Pb||this.i.enabled||this.i.start());b&&b("net-send-failed",m);++this.A},l=()=>{this.network&&this.network.send(g,h,k)}; f?f.then(m=>{g.Bc["Content-Encoding"]="gzip";g.Bc["Content-Type"]="application/binary";g.body=m;g.ke=2;l()},()=>{l()}):l()}}}}isRetryable(a){return 500<=a&&a<600||a===401||a===0}};var $h=class{constructor(){this.de=typeof AbortController!=="undefined"}async send(a,b,c){const d=this.de?new AbortController:void 0,e=d?setTimeout(()=>{d.abort()},a.timeoutMillis):void 0; try{const f=await fetch(a.url,{method:a.requestType,headers:{...a.Bc},...(a.body&&{body:a.body}),...(a.withCredentials&&{credentials:"include"}),signal:a.timeoutMillis&&d?d.signal:null});f.status===200?b?.(await f.text()):c?.(f.status)}catch(f){switch(f?.name){case "AbortError":c?.(408);break;default:c?.(400)}}finally{clearTimeout(e)}}kc(){return 4}};function ai(a,b){a.buildLabel=b;return a} function bi(a){a.network=new ci;return a} function di(a,b){a.h=b} function ei(a){a.i=!0;return a} function fi(a){a.network||(a.network=new $h);const b=new Zh({logSource:a.logSource,ub:a.ub?a.ub:Tg,sessionIndex:a.sessionIndex,Ff:a.fb,Qa:!1,Pb:!1,Kc:a.j,hd:a.hd,network:a.network});Nb(a,b);if(a.buildLabel){var c=a.buildLabel,d=Jh(b.j);F(d,7,c)}b.D=new Ug;a.componentId&&(b.componentId=a.componentId);a.lb&&(b.lb=a.lb);a.pageId&&(b.pageId=a.pageId);a.h&&((d=a.h)?(b.experimentIds||(b.experimentIds=new Vg),c=b.experimentIds,d=d.serialize(),F(c,4,d)):b.experimentIds&&E(b.experimentIds,4));a.i&&(b.ia=b.R); Lh(b.j);a.bufferSize&&(b.bufferSize=a.bufferSize);a.network.Xb&&a.network.Xb(a.logSource);a.network.sf&&a.network.sf(b);return b} var gi=class extends y{constructor(){super();this.logSource=1828;this.sessionIndex="0";this.fb="https://play.google.com/log?format=json&hasfast=true";this.network=this.buildLabel=null;this.componentId="";this.h=this.lb=null;this.i=!1;this.pageId=null;this.bufferSize=void 0}Kc(){this.j=!0;return this}};var hi=class extends y{constructor(a){super();this.logSource=1828;this.componentId="";a||(a=new gi,a.componentId="",Nb(this,a),a=fi(a));this.h=a}flush(a){a=a||[];if(a.length){var b=new Eg;const f=[];for(let g=0;gb.fieldType)} function Hg(a,...b){b=ji(b);return a.h.has(b)?a.h.get(b):void 0} function Gg(a){return a.fields.map(b=>b.fieldName)} function ji(...a){return a?a.join(","):"key"} var ki=class{constructor(a,b,c){this.i=a;this.j=b;this.fields=c||[];this.h=new Map}clear(){this.h.clear()}};var li=class extends ki{constructor(a,b){super(a,3,b)}};var mi=class extends ki{constructor(a,b){super(a,2,b)}record(a,...b){b=[b];const c=Hg(this,b);c?c.push(new ii(a)):(b=ji([b]),this.h.set(b,[new ii(a)]))}};function ni(a,b){this.type=a;this.h=this.target=b;this.defaultPrevented=this.j=!1} ni.prototype.stopPropagation=function(){this.j=!0}; ni.prototype.preventDefault=function(){this.defaultPrevented=!0};function oi(a,b){ni.call(this,a?a.type:"");this.relatedTarget=this.h=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.pointerId=0;this.pointerType="";this.i=null;a&&this.init(a,b)} ua(oi,ni); oi.prototype.init=function(a,b){const c=this.type=a.type,d=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.h=b;b=a.relatedTarget;b||(c=="mouseover"?b=a.fromElement:c=="mouseout"&&(b=a.toElement));this.relatedTarget=b;d?(this.clientX=d.clientX!==void 0?d.clientX:d.pageX,this.clientY=d.clientY!==void 0?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0):(this.clientX=a.clientX!==void 0?a.clientX:a.pageX,this.clientY=a.clientY!== void 0?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||(c=="keypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.pointerId=a.pointerId||0;this.pointerType=a.pointerType;this.state=a.state;this.i=a;a.defaultPrevented&&oi.Ca.preventDefault.call(this)}; oi.prototype.stopPropagation=function(){oi.Ca.stopPropagation.call(this);this.i.stopPropagation?this.i.stopPropagation():this.i.cancelBubble=!0}; oi.prototype.preventDefault=function(){oi.Ca.preventDefault.call(this);const a=this.i;a.preventDefault?a.preventDefault():a.returnValue=!1};var pi="closure_listenable_"+(Math.random()*1E6|0);var qi=0;function ri(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.handler=e;this.key=++qi;this.Wb=this.dc=!1} function si(a){a.Wb=!0;a.listener=null;a.proxy=null;a.src=null;a.handler=null} ;function ti(a){this.src=a;this.listeners={};this.h=0} ti.prototype.add=function(a,b,c,d,e){const f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.h++);const g=ui(a,b,d,e);g>-1?(b=a[g],c||(b.dc=!1)):(b=new ri(b,this.src,f,!!d,e),b.dc=c,a.push(b));return b}; ti.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;const e=this.listeners[a];b=ui(e,b,c,d);return b>-1?(si(e[b]),Array.prototype.splice.call(e,b,1),e.length==0&&(delete this.listeners[a],this.h--),!0):!1}; function vi(a,b){const c=b.type;c in a.listeners&&lb(a.listeners[c],b)&&(si(b),a.listeners[c].length==0&&(delete a.listeners[c],a.h--))} function ui(a,b,c,d){for(let e=0;e-1?b[a]:null)&&Ji(c))} function Ji(a){if(typeof a!=="number"&&a&&!a.Wb){var b=a.src;if(b&&b[pi])vi(b.i,a);else{var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(Fi(c),d):b.addListener&&b.removeListener&&b.removeListener(d);yi--;(c=Di(b))?(vi(c,a),c.h==0&&(c.src=null,b[wi]=null)):si(a)}}} function Fi(a){return a in xi?xi[a]:xi[a]="on"+a} function Gi(a,b){if(a.Wb)a=!0;else{b=new oi(b,this);const c=a.listener,d=a.handler||a.src;a.dc&&Ji(a);a=c.call(d,b)}return a} function Di(a){a=a[wi];return a instanceof ti?a:null} var Ki="__closure_events_fn_"+(Math.random()*1E9>>>0);function Bi(a){if(typeof a==="function")return a;a[Ki]||(a[Ki]=function(b){return a.handleEvent(b)}); return a[Ki]} ;function Li(){y.call(this);this.i=new ti(this);this.na=this;this.ba=null} ua(Li,y);Li.prototype[pi]=!0;r=Li.prototype;r.addEventListener=function(a,b,c,d){zi(this,a,b,c,d)}; r.removeEventListener=function(a,b,c,d){Ii(this,a,b,c,d)}; function Mi(a,b){var c=a.ba;if(c){var d=[];for(var e=1;c;c=c.ba)d.push(c),++e}a=a.na;c=b.type||b;typeof b==="string"?b=new ni(b,a):b instanceof ni?b.target=b.target||a:(e=b,b=new ni(c,a),lh(b,e));e=!0;let f,g;if(d)for(g=d.length-1;!b.j&&g>=0;g--)f=b.h=d[g],e=Ni(f,c,!0,b)&&e;b.j||(f=b.h=a,e=Ni(f,c,!0,b)&&e,b.j||(e=Ni(f,c,!1,b)&&e));if(d)for(g=0;!b.j&&ga&&AsyncContext.Snapshot.wrap(a):a=>a;function Pi(a,b){a.o(b);a.i<100&&(a.i++,b.next=a.h,a.h=b)} class Qi{constructor(a,b){this.j=a;this.o=b;this.i=0;this.h=null}get(){let a;this.i>0?(this.i--,a=this.h,this.h=a.next,a.next=null):a=this.j();return a}};class Ri{constructor(){this.i=this.h=null}add(a,b){const c=Si.get();c.set(a,b);this.i?this.i.next=c:this.h=c;this.i=c}remove(){let a=null;this.h&&(a=this.h,this.h=this.h.next,this.h||(this.i=null),a.next=null);return a}}var Si=new Qi(()=>new Ti,a=>a.reset()); class Ti{constructor(){this.next=this.scope=this.h=null}set(a,b){this.h=a;this.scope=b;this.next=null}reset(){this.next=this.scope=this.h=null}};let Ui,Vi=!1,Wi=new Ri,Yi=(a,b)=>{Ui||Xi();Vi||(Ui(),Vi=!0);Wi.add(a,b)},Xi=()=>{const a=Promise.resolve(void 0); Ui=()=>{a.then(Zi)}}; function Zi(){let a;for(;a=Wi.remove();){try{a.h.call(a.scope)}catch(b){sc(b)}Pi(Si,a)}Vi=!1} ;function $i(){} function aj(a){let b=!1,c;return function(){b||(c=a(),b=!0);return c}} ;function bj(a){this.ha=0;this.Ed=void 0;this.rb=this.Ua=this.parent_=null;this.lc=this.Mc=!1;if(a!=$i)try{const b=this;a.call(void 0,function(c){cj(b,2,c)},function(c){cj(b,3,c)})}catch(b){cj(this,3,b)}} function dj(){this.next=this.context=this.h=this.i=this.child=null;this.j=!1} dj.prototype.reset=function(){this.context=this.h=this.i=this.child=null;this.j=!1}; var ej=new Qi(function(){return new dj},function(a){a.reset()}); function fj(a,b,c){const d=ej.get();d.i=a;d.h=b;d.context=c;return d} function gj(a){return new bj(function(b,c){c(a)})} bj.prototype.then=function(a,b,c){return hj(this,Oi(typeof a==="function"?a:null),Oi(typeof b==="function"?b:null),c)}; bj.prototype.$goog_Thenable=!0;function ij(a,b,c,d){jj(a,fj(b||$i,c||null,d))} r=bj.prototype;r.finally=function(a){a=Oi(a);return new bj((b,c)=>{ij(this,d=>{a();b(d)},d=>{a(); c(d)})})}; r.Fc=function(a,b){return hj(this,null,Oi(a),b)}; r.catch=bj.prototype.Fc;r.cancel=function(a){if(this.ha==0){const b=new kj(a);Yi(function(){lj(this,b)},this)}}; function lj(a,b){if(a.ha==0)if(a.parent_){var c=a.parent_;if(c.Ua){var d=0,e=null,f=null;for(let g=c.Ua;g&&(g.j||(d++,g.child==a&&(e=g),!(e&&d>1)));g=g.next)e||(f=g);e&&(c.ha==0&&d==1?lj(c,b):(f?(d=f,d.next==c.rb&&(c.rb=d),d.next=d.next.next):mj(c),nj(c,e,3,b)))}a.parent_=null}else cj(a,3,b)} function jj(a,b){a.Ua||a.ha!=2&&a.ha!=3||oj(a);a.rb?a.rb.next=b:a.Ua=b;a.rb=b} function hj(a,b,c,d){const e=fj(null,null,null);e.child=new bj(function(f,g){e.i=b?function(h){try{const k=b.call(d,h);f(k)}catch(k){g(k)}}:f; e.h=c?function(h){try{const k=c.call(d,h);k===void 0&&h instanceof kj?g(h):f(k)}catch(k){g(k)}}:g}); e.child.parent_=a;jj(a,e);return e.child} r.Df=function(a){this.ha=0;cj(this,2,a)}; r.Ef=function(a){this.ha=0;cj(this,3,a)}; function cj(a,b,c){if(a.ha==0){a===c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.ha=1;a:{var d=c,e=a.Df,f=a.Ef;if(d instanceof bj){ij(d,e,f,a);var g=!0}else{if(d)try{var h=!!d.$goog_Thenable}catch(k){h=!1}else h=!1;if(h)d.then(e,f,a),g=!0;else{if(la(d))try{const k=d.then;if(typeof k==="function"){pj(d,k,e,f,a);g=!0;break a}}catch(k){f.call(a,k);g=!0;break a}g=!1}}}g||(a.Ed=c,a.ha=b,a.parent_=null,oj(a),b!=3||c instanceof kj||qj(a,c))}} function pj(a,b,c,d,e){function f(k){h||(h=!0,d.call(e,k))} function g(k){h||(h=!0,c.call(e,k))} let h=!1;try{b.call(a,g,f)}catch(k){f(k)}} function oj(a){a.Mc||(a.Mc=!0,Yi(a.Ee,a))} function mj(a){let b=null;a.Ua&&(b=a.Ua,a.Ua=b.next,b.next=null);a.Ua||(a.rb=null);return b} r.Ee=function(){let a;for(;a=mj(this);)nj(this,a,this.ha,this.Ed);this.Mc=!1}; function nj(a,b,c,d){if(c==3&&b.h&&!b.j)for(;a&&a.lc;a=a.parent_)a.lc=!1;if(b.child)b.child.parent_=null,rj(b,c,d);else try{b.j?b.i.call(b.context):rj(b,c,d)}catch(e){sj.call(null,e)}Pi(ej,b)} function rj(a,b,c){b==2?a.i.call(a.context,c):a.h&&a.h.call(a.context,c)} function qj(a,b){a.lc=!0;Yi(function(){a.lc&&sj.call(null,b)})} var sj=sc;function kj(a){Ba.call(this,a)} ua(kj,Ba);kj.prototype.name="cancel";function tj(a,b){Li.call(this);this.j=a||1;this.h=b||t;this.o=qa(this.Bf,this);this.u=sa()} ua(tj,Li);r=tj.prototype;r.enabled=!1;r.Ga=null;r.setInterval=function(a){this.j=a;this.Ga&&this.enabled?(this.stop(),this.start()):this.Ga&&this.stop()}; r.Bf=function(){if(this.enabled){const a=sa()-this.u;a>0&&a=a.j&&a.o()} function vj(a){for(let b=0;bb.h.size); a.length&&this.H.flush(a,this.A);vj(a);this.u=0;this.h.enabled&&this.h.stop()}record(a,b,...c){(a=wj(this,a))&&a instanceof mi&&(a.record(b,c),uj(this))}};function yj(a){switch(a){case 200:return 0;case 400:return 3;case 401:return 16;case 403:return 7;case 404:return 5;case 409:return 10;case 412:return 9;case 429:return 8;case 499:return 1;case 500:return 2;case 501:return 12;case 503:return 14;case 504:return 4;default:return 2}} function zj(a){switch(a){case 0:return"OK";case 1:return"CANCELLED";case 2:return"UNKNOWN";case 3:return"INVALID_ARGUMENT";case 4:return"DEADLINE_EXCEEDED";case 5:return"NOT_FOUND";case 6:return"ALREADY_EXISTS";case 7:return"PERMISSION_DENIED";case 16:return"UNAUTHENTICATED";case 8:return"RESOURCE_EXHAUSTED";case 9:return"FAILED_PRECONDITION";case 10:return"ABORTED";case 11:return"OUT_OF_RANGE";case 12:return"UNIMPLEMENTED";case 13:return"INTERNAL";case 14:return"UNAVAILABLE";case 15:return"DATA_LOSS"; default:return""}} ;var Aj=class extends Error{constructor(a,b){super(b);this.code=a;this.metadata={};this.name="RpcError";Object.setPrototypeOf(this,new.target.prototype)}toString(){let a=`RpcError(${zj(this.code)||String(this.code)})`;this.message&&(a+=": "+this.message);return a}};function Bj(){} Bj.prototype.serialize=function(a){const b=[];Cj(this,a,b);return b.join("")}; function Cj(a,b,c){if(b==null)c.push("null");else{if(typeof b=="object"){if(Array.isArray(b)){var d=b;b=d.length;c.push("[");var e="";for(var f=0;f"content-type"==f.toLowerCase()); e=t.FormData&&a instanceof t.FormData;!(fb(Ij,b)>=0)||d||e||c.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(const [f,g]of c)this.J.setRequestHeader(f,g);this.ia&&(this.J.responseType=this.ia);"withCredentials"in this.J&&this.J.withCredentials!==this.fa&&(this.J.withCredentials=this.fa);try{this.u&&(clearTimeout(this.u),this.u=null),this.D>0&&(this.getStatus(),this.u=setTimeout(this.Cf.bind(this),this.D)),this.getStatus(),this.A=!0,this.J.send(a),this.A=!1}catch(f){this.getStatus(), Lj(this,f)}}; r.Cf=function(){typeof ha!="undefined"&&this.J&&(this.o="Timed out after "+this.D+"ms, aborting",this.getStatus(),Mi(this,"timeout"),this.abort(8))}; function Lj(a,b){a.h=!1;a.J&&(a.j=!0,a.J.abort(),a.j=!1);a.o=b;Mj(a);Nj(a)} function Mj(a){a.H||(a.H=!0,Mi(a,"complete"),Mi(a,"error"))} r.abort=function(){this.J&&this.h&&(this.getStatus(),this.h=!1,this.j=!0,this.J.abort(),this.j=!1,Mi(this,"complete"),Mi(this,"abort"),Nj(this))}; r.X=function(){this.J&&(this.h&&(this.h=!1,this.j=!0,this.J.abort(),this.j=!1),Nj(this,!0));Gj.Ca.X.call(this)}; r.wd=function(){this.F||(this.R||this.A||this.j?Oj(this):this.jf())}; r.jf=function(){Oj(this)}; function Oj(a){if(a.h&&typeof ha!="undefined")if(a.A&&(a.J?a.J.readyState:0)==4)setTimeout(a.wd.bind(a),0);else if(Mi(a,"readystatechange"),a.isComplete()){a.getStatus();a.h=!1;try{if(Pj(a))Mi(a,"complete"),Mi(a,"success");else{try{var b=(a.J?a.J.readyState:0)>2?a.J.statusText:""}catch(c){b=""}a.o=b+" ["+a.getStatus()+"]";Mj(a)}}finally{Nj(a)}}} function Nj(a,b){if(a.J){a.u&&(clearTimeout(a.u),a.u=null);const c=a.J;a.J=null;b||Mi(a,"ready");try{c.onreadystatechange=null}catch(d){}}} r.isActive=function(){return!!this.J}; r.isComplete=function(){return(this.J?this.J.readyState:0)==4}; function Pj(a){var b=a.getStatus();a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var c=!0;break a;default:c=!1}if(!c){if(b=b===0)a=String(a.V).match(wb)[1]||null,!a&&t.self&&t.self.location&&(a=t.self.location.protocol.slice(0,-1)),b=!Hj.test(a?a.toLowerCase():"");c=b}return c} r.getStatus=function(){try{return(this.J?this.J.readyState:0)>2?this.J.status:-1}catch(a){return-1}}; r.getLastError=function(){return typeof this.o==="string"?this.o:String(this.o)};var ci=class{send(a,b=()=>{},c=()=>{}){Kj(a.url,d=>{d=d.target; if(Pj(d)){try{var e=d.J?d.J.responseText:""}catch(f){e=""}b(e)}else c(d.getStatus())},a.requestType,a.body,a.Bc,a.timeoutMillis,a.withCredentials)}kc(){return 1}};var Rj=class{constructor(a,b){this.logger=a;this.event=b;this.startTime=Qj()}done(){this.logger.j(this.event,Qj()-this.startTime)}};function Sj(a,b,c){const d=Qj();b=b();a.j(c,Qj()-d);return b} var Tj=class extends bc{constructor(){super(...arguments)}},Uj=class extends Tj{o(){}h(){}j(){}wa(){}i(){}D(){}u(){}A(){}},Vj=class extends Tj{constructor(a){super();this.logger=a;this.addOnDisposeCallback(()=>void this.logger.dispose())}update(a){this.logger.dispose(); this.logger=a}h(a){this.logger.h(a)}j(a,b){this.logger.j(a,b)}wa(a){this.logger.wa(a)}i(){this.logger.i()}D(a){this.logger.D(a)}u(a){this.logger.u(a)}A(a){this.logger.A(a)}o(a){this.logger.o(a)}};function Wj(a,b,c,d){a=ei(bi(ai(new gi,a))).Kc();b.length&&di(a,tg(new ug,b));d!==void 0&&(a.fb=d);const e=new hi(fi(a));Nb(e,a);const f=new xj({flush(g){try{e.flush(g)}catch(h){c(h)}}});f.addOnDisposeCallback(()=>{setTimeout(()=>{try{f.o()}finally{e.dispose()}})}); f.j=1E5;f.flushInterval=3E4;f.h.setInterval(3E4);return f} function Xj(a){if(a.timer===void 0){const b=Math.max(0,a.h+a.i-Qj());a.timer=setTimeout(()=>{try{a.callback()}finally{a.h=Qj(),a.timer=void 0}},b)}} class Yj extends y{constructor(a,b){super();this.callback=a;this.i=b;this.h=-b;this.addOnDisposeCallback(()=>void clearTimeout(this.timer))}} class Zj extends Tj{constructor(a,b){super();this.metrics=a;this.qa=b}o(a){this.metrics.xf.record(a,this.qa)}h(a){this.metrics.eventCount.h(a,this.qa)}j(a,b){this.metrics.De.record(b,a,this.qa)}wa(a){this.metrics.errorCount.h(a,this.qa)}D(a){this.metrics.If.h(a,this.qa)}u(a){this.metrics.le.h(a,this.qa)}A(a){this.metrics.Hf.h(a,this.qa)}}function ak(a,b=[]){return new bk(a,b)} var bk=class extends Zj{constructor(a,b=[]){const c={qa:a.qa||"_",Nc:a.Nc||[],Rc:a.Rc|0,fb:a.fb,wc:a.wc||(()=>{}), Ib:a.Ib||((e,f)=>Wj(e,f,c.wc,c.fb))},d=c.Ib("53",c.Nc.concat(b)); super({xf:new fc(d),errorCount:new mc(d),eventCount:new kc(d),De:new lc(d),Gi:new hc(d),If:new nc(d),le:new oc(d),Hf:new pc(d)},c.qa);this.options=c;this.service=d;this.V=!a.Ib;this.H=new Yj(()=>void this.service.o(),c.Rc); this.addOnDisposeCallback(()=>{this.H.dispose();this.V&&this.service.dispose()}); b.slice().sort(ob)}i(){Xj(this.H)}};function Qj(){return globalThis.performance?.now?.()??Date.now()} ;var ck=class extends G{constructor(a){super(a)}};var dk=class extends G{constructor(a){super(a)}};var ek=class extends G{constructor(a){super(a,0,"bfkj")}},fk=function(a){return Cd(b=>b instanceof a&&!wd(b))}(ek); ek.df="bfkj";var Yb=class extends G{constructor(a){super(a)}};var gk=class extends G{constructor(a){super(a)}},hk=sg(gk);class ik{constructor(){this.promise=new Promise((a,b)=>{this.resolve=a;this.reject=b})}} ;function jk(a,b){if(a.disable)return new Uj;b=b?Wb(b):[];return ak({qa:a.qa,Nc:a.Ge,Rc:a.ef,fb:a.fb,wc:a.wc,Ib:a.Ib},b)} class kk extends y{constructor(a){super();this.j=Math.floor(Math.random()*200);this.h=new gk;let b;if("challenge"in a&&fk(a.challenge)){b=qf(a.challenge,4,void 0,Bd);var c=qf(a.challenge,5,void 0,Bd);qf(a.challenge,7,void 0,Bd)&&(this.h=hk(qf(a.challenge,7,void 0,Bd)))}else({program:b,globalName:c}=a);this.addOnDisposeCallback(async()=>{const {wf:l}=await this.i;l?.()}); this.logger=jk(a.Cb||{},this.h);Nb(this,this.logger);const d=new ik;this.i=d.promise;this.logger.h("t");const e=this.logger.share(),f=new Rj(e,"t"),g=(l,m,n,u)=>{if(!this.logger.F){var p="k";m?p="h":n&&(p="u");p!=="k"?u!==0&&(this.logger.h(p),this.logger.j(p,l)):this.j<=0?(this.logger.h(p),this.logger.j(p,l),this.j=Math.floor(Math.random()*200)):this.j--}},h=(l,m,n,u)=>{Promise.resolve().then(()=>{f.done(); e.i();e.dispose();d.resolve({ee:l,wf:m,mf:n,ne:u})})}; if(!t[c])throw this.logger.wa(25),Error("EGOU");if(!t[c].a)throw this.logger.wa(26),Error("ELIU");try{const l=t[c].a;c=[];const m=[];var k=Wb(this.h);for(let p=0;p{})}catch(l){throw this.logger.wa(28),l; }}snapshot(a){if(this.F)throw Error("Already disposed");this.logger.h("n");const b=this.logger.share();return this.i.then(({ee:c})=>new Promise(d=>{const e=new Rj(b,"n");c(f=>{e.done();b.o(f.length);b.i();b.dispose();d(f)},[a.Ia, a.Ec,a.Rd,a.bd])}))}Hd(a){if(this.F)throw Error("Already disposed"); this.logger.h("n");const b=Sj(this.logger,()=>this.o([a.Ia,a.Ec,a.Rd,a.bd]),"n"); this.logger.o(b.length);this.logger.i();return b}Tb(a){this.i.then(({mf:b})=>{b?.(a)})}ec(a,b){return this.i.then(({ne:c})=>c?.(a,b,!1))}Yb(){return this.logger.share()}} ;function lk(a){if(!a)return null;a=ve(Xe(a,4,void 0,We));return a===null||a===void 0?null:Ha(a)} ;function mk(){nk.instance||(nk.instance=new nk);return nk.instance} function ok(a,b,c,d){if(!b&&!c)return Promise.resolve();if(!d)return pk(b,c);let e;(e=a.promises)[d]||(e[d]=new Promise((f,g)=>{pk(b,c).then(()=>{a.h=d;f()},h=>{delete a.promises[d]; g(h)})})); return a.promises[d]} function qk(a,b){return ok(a,lf(b,ck,1,Bd),lf(b,dk,2,Bd),qf(b,3,void 0,Bd))} var nk=class{constructor(){this.promises={};this.h=null}};function pk(a,b){return b?rk(b):a?sk(a):Promise.resolve()} function rk(a){return new Promise((b,c)=>{const d=ph("SCRIPT"),e=lk(a);$a(d,e);d.onload=()=>{rh(d);b()}; d.onerror=()=>{rh(d);c(Error("EWLS"))}; (document.getElementsByTagName("HEAD")[0]||document.documentElement).appendChild(d)})} function sk(a){return new Promise(b=>{const c=ph("SCRIPT");if(a){var d=ve(Xe(a,6,void 0,We));d=d===null||d===void 0?null:Xa(d)}else d=null;c.textContent=Ya(d);Za(c);(document.getElementsByTagName("HEAD")[0]||document.documentElement).appendChild(c);rh(c);b()})} ;function tk(a,b){return gf(a,1,ue(b))} function uk(a,b){return gf(a,2,ue(b))} var vk=class extends G{constructor(a){super(a)}};async function wk(a,b,c,d=mk(),e=Promise.resolve(void 0),f){await 0;let g;for(;;){let h=null;if(g){xk(a,7);try{h=await yk(g.snapshot({}),f.se,()=>Promise.resolve("E:CTO"))}catch(m){h="E:UCE"}}let k; const l=new Oh(g?f.ze:f.Ae,f.Be,f.Ce,f.ye);for(let m=1;m<=f.maxAttempts;m++){if(m!==1){xk(a,0);a.h=new zk(l.getValue(),f.Gc,f.Ld);const n=await a.h.promise;a.h=void 0;n===1?(m=1,l.reset()):Ph(l)}try{let n;c?n=c:(xk(a,5),n=await yk(Ak(b,d.h,h),f.Je,()=>Promise.reject(Error("RGF:Fetch timed out")))); xk(a,3);await yk(qk(d,n),f.Ye,()=>Promise.reject(Error("DTZ:Script timed out"))); xk(a,8);await e;const u=new kk({challenge:n,Cb:a.options.Cb,Od:a.options.Od});await yk(u.Gb,f.uf,()=>Promise.reject(Error("QEG:Setup timed out"))); k=u;break}catch(n){a.handleError(n),Bk(a)}}if(a.F)break;k&&(c=void 0,Ck(a,g),g=k,Dk(a,k),Bk(a));xk(a,2);a.h=new zk(f.Bd,f.Gc,f.Ld);a.isPaused&&a.h.pause();await a.h.promise;a.h=void 0;if(a.F)break}g?.dispose()} function Ek(a){a.D=Error("Cancelled by dispose");a.u.resolve();ac(a.A.promise);a.A.reject(Error("Cancelled by dispose"));a.logger.dispose();Promise.all(a.o).then(async()=>{a.i?.dispose();a.i=void 0}); a.o=[];a.h?.i();ac(a.j.promise);a.j.reject(Error("Cancelled by dispose"))} function Fk(a,b){const c=a.xc;a.xc=()=>{c();b()}} function Dk(a,b){a.F||(a.i=b,a.logger.update(b.Yb()),a.u.resolve(),a.A.resolve(void 0),a.xc())} function Ck(a,b){b&&(Promise.all(a.o).then(()=>void b.dispose()),a.o=[])} function xk(a,b){a.R=b;a.options.li?.(b)} function Bk(a){a.F||(a.j.resolve(),a.j=new ik)} var Ik=class extends y{constructor(a){super();this.options=a;this.A=new ik;this.Gb=this.A.promise;this.u=new ik;this.R=1;this.j=new ik;this.o=[];this.isPaused=!1;this.xc=a.xc||(()=>{}); this.logger=new Vj(jk(a.Cb||{}));wk(this,a.Ma,a.Pe,a.yi,a.Ai,{...Gk,...(a.Jb||{})});this.addOnDisposeCallback(()=>void Ek(this))}async snapshot(a){if(this.F)throw Error("Already disposed"); this.i||this.D||await this.u.promise;if(this.i)return await this.i.snapshot(a);throw this.D;}pause(){this.F||this.isPaused||(this.isPaused=!0,this.h&&this.h.pause())}resume(){!this.F&&this.isPaused&&(this.isPaused=!1,this.h&&this.h.resume())}async checkForRefresh(){if(this.F)throw Error("Already disposed");if(this.h){var a=this.h;a.isExpired()?(Hk(a),a.Cc(0),a=!0):a=!1;a&&await this.j.promise}else await this.j.promise}async H(){if(this.F)throw Error("Already disposed");this.h?.i();await this.j.promise}Tb(a){this.i?.Tb?.(a)}ec(a, b){return this.i?.ec?.(a,b)??Promise.resolve()}handleError(a){this.F||(this.D=a,this.u.resolve(),this.options.vc?.(a))}Yb(){return this.logger.share()}},Gk={Bd:432E5,Gc:3E5,Ld:10,se:1E4,Je:3E4,Ye:3E4,uf:6E4,Ae:1E3,ze:6E4,Be:6E5,Ce:.25,ye:2,maxAttempts:10};function yk(a,b,c){let d;const e=new Promise(f=>{d=setTimeout(f,b)}); return Promise.race([a.finally(()=>void clearTimeout(d)), e.then(c)])} function Jk(a,b){a.endTimeMs=Date.now()+b;a.tick()} function Hk(a){a.h&&(clearTimeout(a.h),a.h=null)} class zk{constructor(a,b,c){this.endTimeMs=0;this.h=null;this.isPaused=!1;this.tick=()=>{if(!this.isPaused){var d=this.endTimeMs-Date.now();d<=this.j?(this.h=null,this.Cc(0)):this.h=setTimeout(this.tick,Math.min(d,this.Gc))}}; this.Gc=b;this.j=c;this.promise=new Promise(d=>{this.Cc=d}); Jk(this,a)}pause(){this.isPaused||(this.isPaused=!0,Hk(this))}resume(){this.isPaused&&(this.isPaused=!1,this.tick())}i(){Hk(this);this.endTimeMs=0;this.isPaused=!1;this.Cc(1)}isExpired(){return Date.now()>this.endTimeMs}};function Kk(a,b){try{return globalThis.sessionStorage.setItem(a,b),!0}catch(c){return!1}} const Lk=Math.imul??((a,b)=>a*b|0); function Mk(a,b=0,c=a.length,d){let e=0;for(d&&(e=Mk(d));b>1,Nk),Mk(a,a.length>>1)];return b.toString(16)+c.toString(16)} function Pk(a,b){var c=[Mk(b,0,b.length>>1,void 0),Mk(b,b.length>>1)];a=new Uint32Array(a.buffer);b=a[0];const [d,e]=c;for(c=1;c>>8|g<<24,g+=f|0,g^=h+38293,f=f<<3|f>>>29,f^=g,k=k>>>8|k<<24,k+=h|0,k^=l+38293,h=h<<3|h>>>29,h^=k;f=[f,g];a[c]^=f[0];c+1void globalThis.sessionStorage.removeItem(l))?Kk(b,Tc(g))?"s":"t":"i"} function Rk(a,b){var c=globalThis.sessionStorage.getItem(a);if(!c)return["m"];let d;try{d=Vc(c),Pk(d,b)}catch(e){return globalThis.sessionStorage.removeItem(a),["c"]}for(b=4;b<7&&d[b]===0;)b++;for(c=0;c=c?(globalThis.sessionStorage.removeItem(a),["e"]):["a",new Uint8Array(d.buffer,b+4)]} function Sk(a){var b=globalThis.sessionStorage.getItem("iU5q-!O9@$");if(!b)return new Tk(a);var c=b.split(",");if(c.length<2)return globalThis.sessionStorage.removeItem("iU5q-!O9@$"),new Tk(a);b=c.slice(1);b.length===1&&b[0]===""&&(b=[]);c=Number(c[0]);return isNaN(c)||c<0||c>b.length?(globalThis.sessionStorage.removeItem("iU5q-!O9@$"),new Tk(a)):new Tk(a,c,b)} class Tk{constructor(a,b=0,c=[]){this.maxItems=a;this.h=b;this.i=c}serialize(){return String(this.h)+","+this.i.join()}la(a,b){let c=void 0;if(this.i[this.h]!==a){const d=this.i.indexOf(a);d!==-1?(this.i.splice(d,1),dQk(this.index,Ok(a),b,c,d),"W"):"u"; this.logger.A(e)}i(a,b){const [c,d]=this.index?Sj(this.logger,()=>Rk(Ok(a),b),"R"):["u"]; this.logger.u(c);return d}};var Uk={toString:function(a){let b=[],c=0;a-=-2147483648;b[c++]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(a%52);for(a=Math.floor(a/52);a>0;)b[c++]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".charAt(a%62),a=Math.floor(a/62);return b.join("")}};function Vk(a){function b(){c-=d;c-=e;c^=e>>>13;d-=e;d-=c;d^=c<<8;e-=c;e-=d;e^=d>>>13;c-=d;c-=e;c^=e>>>12;d-=e;d-=c;d^=c<<16;e-=c;e-=d;e^=d>>>5;c-=d;c-=e;c^=e>>>3;d-=e;d-=c;d^=c<<10;e-=c;e-=d;e^=d>>>15} a=Wk(a);let c=2654435769,d=2654435769,e=314159265;const f=a.length;let g=f,h=0;for(;g>=12;g-=12,h+=12)c+=Xk(a,h),d+=Xk(a,h+4),e+=Xk(a,h+8),b();e+=f;switch(g){case 11:e+=a[h+10]<<24;case 10:e+=a[h+9]<<16;case 9:e+=a[h+8]<<8;case 8:d+=a[h+7]<<24;case 7:d+=a[h+6]<<16;case 6:d+=a[h+5]<<8;case 5:d+=a[h+4];case 4:c+=a[h+3]<<24;case 3:c+=a[h+2]<<16;case 2:c+=a[h+1]<<8;case 1:c+=a[h+0]}b();return Uk.toString(e)} function Wk(a){const b=[];for(let c=0;c{a.j.resolve()},b); a.addOnDisposeCallback(()=>void clearTimeout(c))} var Zk=class extends y{constructor(a){super();this.logger=a;this.j=new ik}uc(a,b){const c=this.Za(a);b?.(c);return Sj(this.logger,()=>Tc(c,2),this.i)}Uc(a,b,c){return Sj(this.logger,()=>b?this.uc(a,c):this.Za(a,c),this.h)}},$k=class extends Zk{constructor(a,b,c,d){super(a); this.o=b;this.A=c;this.h="m";this.i="x";this.u=0;Yk(this,d)}Za(a,b){this.logger.h(this.h);++this.u>=this.A&&this.j.resolve();const c=a();a=Sj(this.logger,()=>this.o(c),"C"); if(a===void 0)throw new x(17,"YNJ:Undefined");if(!(a instanceof Uint8Array))throw new x(18,"ODM:Invalid");b?.(a);return a}},al=class extends Zk{constructor(a,b,c){super(a);this.o=b;this.h="f";this.i="z";Yk(this,c)}Za(){return this.o}},bl=class extends Zk{constructor(a,b,c){super(a);this.o=b;this.h="w";this.i="z";Yk(this,c)}Za(){return Sj(this.logger,()=>Vc(this.o),"d")}uc(){return this.o}}; function cl(a,b){var c=`${b(a.error.message)}:${b(a.error.stack)}`.substring(0,2048);b=c.length+1;c=dl(c);const d=new Uint8Array(4+c.length);d.set([42,b&127|128,b>>7,a.error.code]);d.set(c,4);return d} var el=class extends Zk{constructor(a,b){super(a);this.error=b;this.h="e";this.i="y"}Za(){if(this.o)return this.o;this.o=cl(this,a=>"_"+Vk(a)); return cl(this,a=>a)}},fl=class extends Zk{constructor(a,b){super(a); this.clientState=b;this.h="S";this.i="q"}Za(){var a=Math.floor(Date.now()/1E3),b=[Math.random()*255,Math.random()*255],c=b.concat([0,this.clientState],[a>>24&255,a>>16&255,a>>8&255,a&255]);a=new Uint8Array(2+c.length);a[0]=34;a[1]=c.length;a.set(c,2);c=a.subarray(2);b=b.length;for(let d=b;dvoid f.resolve()); await f.promise}const d=a.logger.share();try{a.state=5;const f=[],g=await yk(a.vm.snapshot({Ia:{},Rd:f}),a.Jb.yf,()=>Promise.reject(new x(15,"MDA:Timeout"))); if(a.F)throw new x(a.h?20:32,"MDA:Disposed");const h=f[0];a.state=6;const k=await yk(il(a.Ma,g),a.Jb.Ke,()=>Promise.reject(new x(10,"BWB:Timeout"))); if(a.F)throw new x(a.h?20:32,"BWB:Disposed");a.state=7;b=Sj(d,()=>{const l=jl(a,k,c,h);l.j.promise.then(()=>void a.o()); return l},"i")}catch(f){b?.dispose(); if(!a.i){const g=kl(a,f);c.resolve();var e;if(e=a.vm instanceof Ik&&a.j<2)a:if(f instanceof x)e=f.code!==32&&f.code!==20&&f.code!==10;else{if(f instanceof Aj)switch(f.code){case 2:case 13:case 14:case 4:break;default:e=!1;break a}e=!0}if(e){const h=setTimeout(()=>void a.o(),(1+Math.random()*.25)*(a.h?6E4:1E3)); a.addOnDisposeCallback(()=>void clearTimeout(h)); return}a.i=g}d.wa(a.h?13:14);a.Fb.reject(a.i);return}finally{d.dispose()}a.state=8;a.j=0;a.h?.dispose();a.h=b;a.Fb.resolve()} function kl(a,b){if(!(b instanceof x))if(b instanceof Aj){const c=Error(b.toString());c.stack=b.stack;b=new x(11,"EBH:Error",c)}else b=new x(12,"BSO:Unknown",b);return Ub(a,b)} function jl(a,b,c,d){const e=(he(Xe(b,2))??0)*1E3;if(e<=0)throw new x(31,"TTM:Invalid");if(qf(b,4))return new bl(a.logger,qf(b,4),e);if(!(he(Xe(b,3))??0))return new al(a.logger,fd(df(b)),e);if(!d)throw new x(4,"PMD:Undefined");d=d(fd(df(b)));if(typeof d!=="function")throw new x(16,"APF:Failed");a.u=Math.floor((Date.now()+e)/1E3);a=new $k(a.logger,d,he(Xe(b,3))??0,e);a.addOnDisposeCallback(()=>void c.resolve()); return a} function ll(a,b,c){try{if(a.F)throw new x(21,"BNT:disposed");if(!a.h&&a.i)throw a.i;return ml(a,b,c)??nl(a,b,c)??ol(a,b,c)}catch(d){if(!b.gf)throw pl(a,d);return ql(a,c,d)}} function pl(a,b){b=b instanceof x?b:new x(5,"TVD:error",b);return Ub(a,b)} function ml(a,b,c){return a.h?.Uc(()=>rl(a,b),c,d=>{if(a.h instanceof $k&&b.cc?.zf)try{a.cache?.h(rl(a,b),d,b.cc.kd,a.u-120)}catch(e){Ub(a,new x(24,"ELX:write",e))}})} function nl(a,b,c){if(b.cc?.he)try{const d=a.cache?.i(rl(a,b),b.cc.kd);return d?c?Sj(a.logger,()=>Tc(d,2),"a"):d:void 0}catch(d){Ub(a,new x(23,"RXO:read",d))}} function ol(a,b,c){const d={stack:[],error:void 0,hb:!1};try{if(!b.ff)throw new x(29,"SDF:notready");return za(d,new fl(a.logger,a.state)).Uc(()=>rl(a,b),c)}catch(e){d.error=e,d.hb=!0}finally{Aa(d)}} function ql(a,b,c){const d={stack:[],error:void 0,hb:!1};try{const e=pl(a,c);return za(d,new el(a.logger,e)).Uc(()=>[],b)}catch(e){d.error=e,d.hb=!0}finally{Aa(d)}} function rl(a,b){return b.Lc?b.Lc:b.Ia?Sj(a.logger,()=>b.Lc=dl(b.Ia),"c"):[]} class sl extends y{constructor(a){super();this.Fb=new ik;this.j=0;this.i=void 0;this.state=2;this.vm=a.vm;this.Ma=a.Ma;this.Jb={...gl,...(a.Jb||{})};this.logger=a.vm.Yb();this.onError=a.onError??(()=>{}); this.gd=a.gd||!1;if(tl(a)){const d=this.vm;this.o=()=>d.H().catch(e=>{this.i=e=Ub(this,new x(this.h?20:32,"TRG:Disposed",e));this.h?.dispose();this.h=void 0;this.Fb.reject(e)}); Fk(d,()=>void hl(this)); d.R===2&&hl(this)}else this.o=a.ki,hl(this);const b=this.logger.share();b.h("o");const c=new Rj(b,"o");this.Fb.promise.then(()=>{c.done();b.i();b.dispose()},()=>void b.dispose()); this.addOnDisposeCallback(()=>{this.h?(this.h.dispose(),this.h=void 0):this.i?this.logger.i():(this.i=Ub(this,new x(32,"TNP:Disposed")),this.logger.i(),this.Fb.reject(this.i))}); Nb(this,this.logger)}Za(a){return ll(this,{...a},!1)}uc(a){return ll(this,{...a},!0)}}const tl=function(a){return Cd(b=>{if(!Id(b))return!1;for(const [c,d]of Object.entries(a)){const e=c,f=d;if(!(e in b)){if(f.di===!0)continue;return!1}if(!f(b[e]))return!1}return!0})}({vm:function(a){return Cd(b=>b instanceof a)}(Ik)},"");var wl=class{constructor(){if(!ul){ul=new xj(new vl);var a=I("client_streamz_web_flush_count",-1);a!==-1&&(ul.j=a)}this.i=a=ul;ic(a,"/client_streamz/youtube/aba/gac",cc("type"),cc("sequence"))}h(a,b){jc(this.i,"/client_streamz/youtube/aba/gac",[a,b])}};var xl=window;function yl(a){var b=zl;if(b)for(const c in b)Object.prototype.hasOwnProperty.call(b,c)&&a(b[c],c,b)} function Al(){const a=[];yl(b=>{a.push(b)}); return a} ;var zl={Jf:"allow-forms",Kf:"allow-modals",Lf:"allow-orientation-lock",Mf:"allow-pointer-lock",Nf:"allow-popups",Of:"allow-popups-to-escape-sandbox",Pf:"allow-presentation",Qf:"allow-same-origin",Rf:"allow-scripts",Sf:"allow-top-navigation",Tf:"allow-top-navigation-by-user-activation"};const Bl=aj(()=>Al()); function Cl(){const a=document.createElement("iframe"),b={};gb(Bl(),c=>{a.sandbox&&a.sandbox.supports&&a.sandbox.supports(c)&&(b[c]=!0)}); return b} ;function Dl(a){typeof a=="number"&&(a=Math.round(a)+"px");return a} ;let El=(new Date).getTime();var Fl=sg(class extends G{constructor(a){super(a)}});function Gl(){var a=Hl;Il.instance||(Il.instance=new Il(a));return Il.instance} function Jl(a,b){return a.u?a.u:a.u=new Promise(async c=>{const d=window.AbortController?new window.AbortController:void 0,e=d?.signal;let f=!1;try{d&&(a.j=a.Fa.ra(()=>{d.abort()},b||2E4)),await fetch("/generate_204",{method:"HEAD", signal:e}),f=!0}catch{f=!1}finally{a.u=void 0,a.j&&(a.Fa.sa(a.j),a.j=0),f!==a.h&&(a.h=f,a.h?Mi(a,"networkstatus-online"):Mi(a,"networkstatus-offline")),c(f)}})} function Kl(a){a.A=a.Fa.ra(async()=>{a.h?window.navigator?.onLine||await Jl(a):await Jl(a);Kl(a)},3E4)} var Il=class extends Li{constructor(a){super();this.A=this.j=0;this.Fa=a??{ra:(b,c)=>setTimeout(b,c), sa:b=>{clearTimeout(b)}}; this.h=window.navigator?.onLine??!0;this.o=async()=>{await Jl(this)}; window.addEventListener("offline",this.o);window.addEventListener("online",this.o);this.A||Kl(this)}dispose(){window.removeEventListener("offline",this.o);window.removeEventListener("online",this.o);this.Fa.sa(this.A);delete Il.instance}va(){return this.h}};function Ll(a){a.h===-1&&(a.h=a.data.reduce((b,c,d)=>b+(c?2**d:0),0)); return a.h} var Ml=class{constructor(){this.data=[];this.h=-1}set(a,b=!0){0<=a&&a<52&&Number.isInteger(a)&&this.data[a]!==b&&(this.data[a]=b,this.h=-1)}get(a){return!!this.data[a]}};function Nl(){this.blockSize=-1} ;function Ol(){this.blockSize=-1;this.blockSize=64;this.h=[];this.u=[];this.M=[];this.j=[];this.j[0]=128;for(let a=1;a>>31)&4294967295;b=a.h[0];c=a.h[1];e=a.h[2];let f=a.h[3],g=a.h[4];let h;for(let l=0;l<80;l++){if(l<40)if(l<20){var k=f^c&(e^f);h=1518500249}else k=c^e^f,h=1859775393;else l<60?(k=c&e|f&(c|e),h=2400959708): (k=c^e^f,h=3395469782);k=(b<<5|b>>>27)+k+g+h+d[l]&4294967295;g=f;f=e;e=(c<<30|c>>>2)&4294967295;c=b;b=k}a.h[0]=a.h[0]+b&4294967295;a.h[1]=a.h[1]+c&4294967295;a.h[2]=a.h[2]+e&4294967295;a.h[3]=a.h[3]+f&4294967295;a.h[4]=a.h[4]+g&4294967295} Ol.prototype.update=function(a,b){if(a!=null){b===void 0&&(b=a.length);for(var c=b-this.blockSize,d=0,e=this.u,f=this.i;d=56;c--)this.u[c]=b&255,b/=256;Pl(this,this.u);b=0;for(c=0;c<5;c++)for(let d=24;d>=0;d-=8)a[b]=this.h[c]>>d&255,++b;return a};function Ql(a){return typeof a.className=="string"?a.className:a.getAttribute&&a.getAttribute("class")||""} function Rl(a,b){typeof a.className=="string"?a.className=b:a.setAttribute&&a.setAttribute("class",b)} function Sl(a,b){a.classList?b=a.classList.contains(b):(a=a.classList?a.classList:Ql(a).match(/\S+/g)||[],b=fb(a,b)>=0);return b} function Tl(){var a=document.body;a.classList?a.classList.remove("inverted-hdpi"):Sl(a,"inverted-hdpi")&&Rl(a,Array.prototype.filter.call(a.classList?a.classList:Ql(a).match(/\S+/g)||[],function(b){return b!="inverted-hdpi"}).join(" "))} ;function Ul(){} Ul.prototype.next=function(){return Vl}; const Vl={done:!0,value:void 0};Ul.prototype.pb=function(){return this};function Wl(a){if(a instanceof Xl||a instanceof Yl||a instanceof Zl)return a;if(typeof a.next=="function")return new Xl(()=>a); if(typeof a[Symbol.iterator]=="function")return new Xl(()=>a[Symbol.iterator]()); if(typeof a.pb=="function")return new Xl(()=>a.pb()); throw Error("Not an iterator or iterable.");} class Xl{constructor(a){this.h=a}pb(){return new Yl(this.h())}[Symbol.iterator](){return new Zl(this.h())}i(){return new Zl(this.h())}}class Yl extends Ul{constructor(a){super();this.h=a}next(){return this.h.next()}[Symbol.iterator](){return new Zl(this.h)}i(){return new Zl(this.h)}}class Zl extends Xl{constructor(a){super(()=>a); this.j=a}next(){return this.j.next()}};function J(a){y.call(this);this.u=1;this.j=[];this.o=0;this.h=[];this.i={};this.A=!!a} ua(J,y);r=J.prototype;r.subscribe=function(a,b,c){let d=this.i[a];d||(d=this.i[a]=[]);const e=this.u;this.h[e]=a;this.h[e+1]=b;this.h[e+2]=c;this.u=e+3;d.push(e);return e}; r.unsubscribe=function(a,b,c){if(a=this.i[a]){const d=this.h;if(a=a.find(function(e){return d[e+1]==b&&d[e+2]==c}))return this.ac(a)}return!1}; r.ac=function(a){const b=this.h[a];if(b){const c=this.i[b];this.o!=0?(this.j.push(a),this.h[a+1]=()=>{}):(c&&lb(c,a),delete this.h[a],delete this.h[a+1],delete this.h[a+2])}return!!b}; r.ob=function(a,b){var c=this.i[a];if(c){const e=Array(arguments.length-1);var d=arguments.length;let f;for(f=1;f0&&this.o==0)for(;c=this.j.pop();)this.ac(c)}}return f!=0}return!1}; function $l(a,b,c){Yi(function(){a.apply(b,c)})} r.clear=function(a){if(a){const b=this.i[a];b&&(b.forEach(this.ac,this),delete this.i[a])}else this.h.length=0,this.i={}}; r.X=function(){J.Ca.X.call(this);this.clear();this.j.length=0};function am(a){this.h=a} am.prototype.set=function(a,b){b===void 0?this.h.remove(a):this.h.set(a,(new Bj).serialize(b))}; am.prototype.get=function(a){let b;try{b=this.h.get(a)}catch(c){return}if(b!==null)try{return JSON.parse(b)}catch(c){throw"Storage: Invalid value was encountered";}}; am.prototype.remove=function(a){this.h.remove(a)};function bm(a){this.h=a} ua(bm,am);function cm(a){this.data=a} function dm(a){return a===void 0||a instanceof cm?a:new cm(a)} bm.prototype.set=function(a,b){bm.Ca.set.call(this,a,dm(b))}; bm.prototype.i=function(a){a=bm.Ca.get.call(this,a);if(a===void 0||a instanceof Object)return a;throw"Storage: Invalid value was encountered";}; bm.prototype.get=function(a){if(a=this.i(a)){if(a=a.data,a===void 0)throw"Storage: Invalid value was encountered";}else a=void 0;return a};function em(a){this.h=a} ua(em,bm);em.prototype.set=function(a,b,c){if(b=dm(b)){if(c){if(csa())em.prototype.remove.call(this,a);else return b}};function fm(){} ;function gm(){} ua(gm,fm);gm.prototype[Symbol.iterator]=function(){return Wl(this.pb(!0)).i()}; gm.prototype.clear=function(){const a=Array.from(this);for(const b of a)this.remove(b)};function hm(a){this.h=a;this.i=null} ua(hm,gm);r=hm.prototype;r.isAvailable=function(){if(this.i===null){var a=this.h;if(a)try{a.setItem("__sak","1");a.removeItem("__sak");var b=!0}catch(c){b=c instanceof DOMException&&(c.name==="QuotaExceededError"||c.code===22||c.code===1014||c.name==="NS_ERROR_DOM_QUOTA_REACHED")&&a&&a.length!==0}else b=!1;this.i=b}return this.i}; r.set=function(a,b){im(this);try{this.h.setItem(a,b)}catch(c){if(this.h.length==0)throw"Storage mechanism: Storage disabled";throw"Storage mechanism: Quota exceeded";}}; r.get=function(a){im(this);a=this.h.getItem(a);if(typeof a!=="string"&&a!==null)throw"Storage mechanism: Invalid value was encountered";return a}; r.remove=function(a){im(this);this.h.removeItem(a)}; r.pb=function(a){im(this);var b=0,c=this.h,d=new Ul;d.next=function(){if(b>=c.length)return Vl;var e=c.key(b++);if(a)return{value:e,done:!1};e=c.getItem(e);if(typeof e!=="string")throw"Storage mechanism: Invalid value was encountered";return{value:e,done:!1}}; return d}; r.clear=function(){im(this);this.h.clear()}; r.key=function(a){im(this);return this.h.key(a)}; function im(a){if(a.h==null)throw Error("Storage mechanism: Storage unavailable");a.isAvailable()||sc(Error("Storage mechanism: Storage unavailable"))} ;function jm(){let a=null;try{a=t.localStorage||null}catch(b){}hm.call(this,a)} ua(jm,hm);function km(a,b){this.i=a;this.h=b+"::"} ua(km,gm);km.prototype.set=function(a,b){this.i.set(this.h+a,b)}; km.prototype.get=function(a){return this.i.get(this.h+a)}; km.prototype.remove=function(a){this.i.remove(this.h+a)}; km.prototype.pb=function(a){const b=this.i[Symbol.iterator](),c=this,d=new Ul;d.next=function(){var e=b.next();if(e.done)return e;for(e=e.value;e.slice(0,c.h.length)!=c.h;){e=b.next();if(e.done)return e;e=e.value}return{value:a?e.slice(c.h.length):c.i.get(e),done:!1}}; return d};function lm(a){if(a.Wa&&typeof a.Wa=="function")return a.Wa();if(typeof Map!=="undefined"&&a instanceof Map||typeof Set!=="undefined"&&a instanceof Set)return Array.from(a.values());if(typeof a==="string")return a.split("");if(ka(a)){const b=[],c=a.length;for(let d=0;d1|| f.length==1&&f[0]!="")&&f.pop(),d&&g==e.length&&f.push("")):(f.push(h),d=!0)}d=f.join("/")}else d=e}c?b.h=d:c=a.M.toString()!=="";c?rm(b,a.M.clone()):c=!!a.u;c&&(b.u=a.u);return b}; om.prototype.clone=function(){return new om(this)}; function pm(a,b,c){a.j=c?sm(b,!0):b;a.j&&(a.j=a.j.replace(/:$/,""))} function qm(a,b){if(b){b=Number(b);if(isNaN(b)||b<0)throw Error("Bad port number "+b);a.D=b}else a.D=null} function rm(a,b,c){b instanceof tm?(a.M=b,Am(a.M,a.o)):(c||(b=um(b,Bm)),a.M=new tm(b,a.o))} function sm(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""} function um(a,b,c){return typeof a==="string"?(a=encodeURI(a).replace(b,Cm),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null} function Cm(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)} var wm=/[#\/\?@]/g,ym=/[#\?:]/g,xm=/[#\?]/g,Bm=/[#\?@]/g,zm=/#/g;function tm(a,b){this.i=this.h=null;this.j=a||null;this.o=!!b} function Dm(a){a.h||(a.h=new Map,a.i=0,a.j&&Cb(a.j,function(b,c){a.add(ub(b),c)}))} r=tm.prototype;r.add=function(a,b){Dm(this);this.j=null;a=Em(this,a);let c=this.h.get(a);c||this.h.set(a,c=[]);c.push(b);this.i=this.i+1;return this}; r.remove=function(a){Dm(this);a=Em(this,a);return this.h.has(a)?(this.j=null,this.i=this.i-this.h.get(a).length,this.h.delete(a)):!1}; r.clear=function(){this.h=this.j=null;this.i=0}; function Fm(a,b){Dm(a);b=Em(a,b);return a.h.has(b)} r.forEach=function(a,b){Dm(this);this.h.forEach(function(c,d){c.forEach(function(e){a.call(b,e,d,this)},this)},this)}; r.Rb=function(){Dm(this);const a=Array.from(this.h.values()),b=Array.from(this.h.keys()),c=[];for(let d=0;d0?String(a[0]):b}; r.toString=function(){if(this.j)return this.j;if(!this.h)return"";const a=[],b=Array.from(this.h.keys());for(let d=0;d0&&(this.j=null,this.h.set(Em(this,e),mb(c)),this.i=this.i+c.length))},a)); a.o=b} r.extend=function(a){for(let b=0;b>>6:(f<65536?h[c++]=224|f>>>12:(h[c++]=240|f>>>18,h[c++]=128|f>>>12&63),h[c++]=128|f>>> 6&63),h[c++]=128|f&63);return h} ;let Lm={};Lm=function(a,b,c,d){var e=a&65535|0;a=a>>>16&65535|0;for(var f;c!==0;){f=c>2E3?2E3:c;c-=f;do e=e+b[d++]|0,a=a+e|0;while(--f);e%=65521;a%=65521}return e|a<<16|0};let Mm={};for(var Nm,Om=[],Pm=0;Pm<256;Pm++){Nm=Pm;for(var Qm=0;Qm<8;Qm++)Nm=Nm&1?3988292384^Nm>>>1:Nm>>>1;Om[Pm]=Nm}Mm=function(a,b,c,d){c=d+c;for(a^=-1;d>>8^Om[(a^b[d])&255];return a^-1};let Rm={};Rm={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};function Sm(a){for(var b=a.length;--b>=0;)a[b]=0} var Tm=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Um=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Vm=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Wm=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Xm=Array(576);Sm(Xm);var Ym=Array(60);Sm(Ym);var Zm=Array(512);Sm(Zm);var $m=Array(256);Sm($m);var an=Array(29);Sm(an);var bn=Array(30);Sm(bn);function cn(a,b,c,d,e){this.Id=a;this.Ie=b;this.He=c;this.we=d;this.cf=e;this.qd=a&&a.length} var dn,en,fn;function gn(a,b){this.md=a;this.Bb=0;this.bb=b} function hn(a,b){a.Z[a.pending++]=b&255;a.Z[a.pending++]=b>>>8&255} function jn(a,b,c){a.ga>16-c?(a.pa|=b<>16-a.ga,a.ga+=c-16):(a.pa|=b<>>=1,c<<=1;while(--b>0);return c>>>1} function mn(a,b,c){var d=Array(16),e=0,f;for(f=1;f<=15;f++)d[f]=e=e+c[f-1]<<1;for(c=0;c<=b;c++)e=a[c*2+1],e!==0&&(a[c*2]=ln(d[e]++,e))} function nn(a){var b;for(b=0;b<286;b++)a.ta[b*2]=0;for(b=0;b<30;b++)a.gb[b*2]=0;for(b=0;b<19;b++)a.ja[b*2]=0;a.ta[512]=1;a.Ra=a.Hb=0;a.Aa=a.matches=0} function on(a){a.ga>8?hn(a,a.pa):a.ga>0&&(a.Z[a.pending++]=a.pa);a.pa=0;a.ga=0} function pn(a,b,c){on(a);hn(a,c);hn(a,~c);L.qb(a.Z,a.window,b,c,a.pending);a.pending+=c} function qn(a,b,c,d){var e=b*2,f=c*2;return a[e]>>7)];kn(a,g,c);h=Um[g];h!==0&&(e-=bn[g],jn(a,e,h))}}while(d>1;g>=1;g--)rn(a,c,g);k=f;do g=a.aa[1],a.aa[1]=a.aa[a.Pa--],rn(a,c,1),d=a.aa[1],a.aa[--a.xb]=g,a.aa[--a.xb]=d,c[k*2]=c[g*2]+c[d*2],a.depth[k]=(a.depth[g]>=a.depth[d]?a.depth[g]:a.depth[d])+1,c[g*2+1]=c[d*2+1]=k,a.aa[1]=k++,rn(a,c,1);while(a.Pa>= 2);a.aa[--a.xb]=a.aa[1];g=b.md;k=b.Bb;d=b.bb.Id;e=b.bb.qd;f=b.bb.Ie;var l=b.bb.He,m=b.bb.cf,n,u=0;for(n=0;n<=15;n++)a.La[n]=0;g[a.aa[a.xb]*2+1]=0;for(b=a.xb+1;b<573;b++){var p=a.aa[b];n=g[g[p*2+1]*2+1]+1;n>m&&(n=m,u++);g[p*2+1]=n;if(!(p>k)){a.La[n]++;var z=0;p>=l&&(z=f[p-l]);var D=g[p*2];a.Ra+=D*(n+z);e&&(a.Hb+=D*(d[p*2+1]+z))}}if(u!==0){do{for(n=m-1;a.La[n]===0;)n--;a.La[n]--;a.La[n+1]+=2;a.La[m]--;u-=2}while(u>0);for(n=m;n!==0;n--)for(p=a.La[n];p!==0;)d=a.aa[--b],d>k||(g[d*2+1]!==n&&(a.Ra+=(n-g[d* 2+1])*g[d*2],g[d*2+1]=n),p--)}mn(c,h,a.La)} function un(a,b,c){var d,e=-1,f=b[1],g=0,h=7,k=4;f===0&&(h=138,k=3);b[(c+1)*2+1]=65535;for(d=0;d<=c;d++){var l=f;f=b[(d+1)*2+1];++g>>=1)if(b&1&&a.ta[c*2]!==0)return 0;if(a.ta[18]!==0||a.ta[20]!==0||a.ta[26]!==0)return 1;for(c=32;c<256;c++)if(a.ta[c*2]!==0)return 1;return 0} var xn=!1;function yn(a,b,c){a.Z[a.Ob+a.Aa*2]=b>>>8&255;a.Z[a.Ob+a.Aa*2+1]=b&255;a.Z[a.Qc+a.Aa]=c&255;a.Aa++;b===0?a.ta[c*2]++:(a.matches++,b--,a.ta[($m[c]+256+1)*2]++,a.gb[(b<256?Zm[b]:Zm[256+(b>>>7)])*2]++);return a.Aa===a.Sb-1} ;function zn(a,b){a.msg=Rm[b];return b} function An(a){for(var b=a.length;--b>=0;)a[b]=0} function Bn(a){var b=a.state,c=b.pending;c>a.S&&(c=a.S);c!==0&&(L.qb(a.output,b.Z,b.Ub,c,a.Db),a.Db+=c,b.Ub+=c,a.cd+=c,a.S-=c,b.pending-=c,b.pending===0&&(b.Ub=0))} function Cn(a,b){var c=a.xa>=0?a.xa:-1,d=a.v-a.xa,e=0;if(a.level>0){a.K.Jc===2&&(a.K.Jc=wn(a));tn(a,a.oc);tn(a,a.hc);un(a,a.ta,a.oc.Bb);un(a,a.gb,a.hc.Bb);tn(a,a.jd);for(e=18;e>=3&&a.ja[Wm[e]*2+1]===0;e--);a.Ra+=3*(e+1)+5+5+4;var f=a.Ra+3+7>>>3;var g=a.Hb+3+7>>>3;g<=f&&(f=g)}else f=g=d+5;if(d+4<=f&&c!==-1)jn(a,b?1:0,3),pn(a,c,d);else if(a.strategy===4||g===f)jn(a,2+(b?1:0),3),sn(a,Xm,Ym);else{jn(a,4+(b?1:0),3);c=a.oc.Bb+1;d=a.hc.Bb+1;e+=1;jn(a,c-257,5);jn(a,d-1,5);jn(a,e-4,4);for(f=0;f>>8&255;a.Z[a.pending++]=b&255} function En(a,b){var c=a.td,d=a.v,e=a.ya,f=a.vd,g=a.v>a.ma-262?a.v-(a.ma-262):0,h=a.window,k=a.cb,l=a.Ja,m=a.v+258,n=h[d+e-1],u=h[d+e];a.ya>=a.pd&&(c>>=2);f>a.B&&(f=a.B);do{var p=b;if(h[p+e]===u&&h[p+e-1]===n&&h[p]===h[d]&&h[++p]===h[d+1]){d+=2;for(p++;h[++d]===h[++p]&&h[++d]===h[++p]&&h[++d]===h[++p]&&h[++d]===h[++p]&&h[++d]===h[++p]&&h[++d]===h[++p]&&h[++d]===h[++p]&&h[++d]===h[++p]&&de){a.Ab=b;e=p;if(p>=f)break;n=h[d+e-1];u=h[d+e]}}}while((b=l[b&k])>g&&--c!==0);return e<= a.B?e:a.B} function Fn(a){var b=a.ma,c;do{var d=a.Td-a.B-a.v;if(a.v>=b+(b-262)){L.qb(a.window,a.window,b,b,0);a.Ab-=b;a.v-=b;a.xa-=b;var e=c=a.nc;do{var f=a.head[--e];a.head[e]=f>=b?f-b:0}while(--c);e=c=b;do f=a.Ja[--e],a.Ja[e]=f>=b?f-b:0;while(--c);d+=b}if(a.K.oa===0)break;e=a.K;c=a.window;f=a.v+a.B;var g=e.oa;g>d&&(g=d);g===0?c=0:(e.oa-=g,L.qb(c,e.input,e.kb,g,f),e.state.wrap===1?e.I=Lm(e.I,c,g,f):e.state.wrap===2&&(e.I=Mm(e.I,c,g,f)),e.kb+=g,e.mb+=g,c=g);a.B+=c;if(a.B+a.la>=3)for(d=a.v-a.la,a.P=a.window[d], a.P=(a.P<=3&&(a.P=(a.P<=3)if(c=yn(a,a.v-a.Ab,a.T-3),a.B-=a.T,a.T<=a.Sc&&a.B>=3){a.T--;do a.v++,a.P=(a.P<=3&&(a.P=(a.P<4096)&&(a.T=2));if(a.ya>=3&&a.T<=a.ya){d=a.v+a.B-3;c=yn(a,a.v-1-a.yd,a.ya-3);a.B-=a.ya-1;a.ya-=2;do++a.v<=d&&(a.P=(a.P<=3&&a.v>0&&(d=a.v-1,c=f[d],c===f[++d]&&c===f[++d]&&c===f[++d])){for(e=a.v+258;c===f[++d]&&c===f[++d]&&c===f[++d]&&c===f[++d]&&c===f[++d]&&c===f[++d]&&c===f[++d]&&c===f[++d]&&da.B&&(a.T=a.B)}a.T>=3?(c=yn(a,1,a.T-3),a.B-=a.T,a.v+=a.T,a.T=0):(c=yn(a,0,a.window[a.v]),a.B--,a.v++);if(c&&(Cn(a,!1),a.K.S===0))return 1}a.la=0;return b===4?(Cn(a,!0),a.K.S===0?3:4): a.Aa&&(Cn(a,!1),a.K.S===0)?1:2} function Jn(a,b){for(var c;;){if(a.B===0&&(Fn(a),a.B===0)){if(b===0)return 1;break}a.T=0;c=yn(a,0,a.window[a.v]);a.B--;a.v++;if(c&&(Cn(a,!1),a.K.S===0))return 1}a.la=0;return b===4?(Cn(a,!0),a.K.S===0?3:4):a.Aa&&(Cn(a,!1),a.K.S===0)?1:2} function Kn(a,b,c,d,e){this.Oe=a;this.bf=b;this.hf=c;this.af=d;this.Me=e} var Ln;Ln=[new Kn(0,0,0,0,function(a,b){var c=65535;for(c>a.Ba-5&&(c=a.Ba-5);;){if(a.B<=1){Fn(a);if(a.B===0&&b===0)return 1;if(a.B===0)break}a.v+=a.B;a.B=0;var d=a.xa+c;if(a.v===0||a.v>=d)if(a.B=a.v-d,a.v=d,Cn(a,!1),a.K.S===0)return 1;if(a.v-a.xa>=a.ma-262&&(Cn(a,!1),a.K.S===0))return 1}a.la=0;if(b===4)return Cn(a,!0),a.K.S===0?3:4;a.v>a.xa&&Cn(a,!1);return 1}), new Kn(4,4,8,4,Gn),new Kn(4,5,16,8,Gn),new Kn(4,6,32,32,Gn),new Kn(4,4,16,16,Hn),new Kn(8,16,32,32,Hn),new Kn(8,16,128,128,Hn),new Kn(8,32,128,256,Hn),new Kn(32,128,258,1024,Hn),new Kn(32,258,258,4096,Hn)]; function Mn(){this.K=null;this.status=0;this.Z=null;this.wrap=this.pending=this.Ub=this.Ba=0;this.G=null;this.Ea=0;this.method=8;this.zb=-1;this.cb=this.ed=this.ma=0;this.window=null;this.Td=0;this.head=this.Ja=null;this.vd=this.pd=this.strategy=this.level=this.Sc=this.td=this.ya=this.B=this.Ab=this.v=this.ib=this.yd=this.T=this.xa=this.Oa=this.Na=this.Oc=this.nc=this.P=0;this.ta=new L.Ka(1146);this.gb=new L.Ka(122);this.ja=new L.Ka(78);An(this.ta);An(this.gb);An(this.ja);this.jd=this.hc=this.oc= null;this.La=new L.Ka(16);this.aa=new L.Ka(573);An(this.aa);this.xb=this.Pa=0;this.depth=new L.Ka(573);An(this.depth);this.ga=this.pa=this.la=this.matches=this.Hb=this.Ra=this.Ob=this.Aa=this.Sb=this.Qc=0} function Nn(a,b){if(!a||!a.state||b>5||b<0)return a?zn(a,-2):-2;var c=a.state;if(!a.output||!a.input&&a.oa!==0||c.status===666&&b!==4)return zn(a,a.S===0?-5:-2);c.K=a;var d=c.zb;c.zb=b;if(c.status===42)if(c.wrap===2)a.I=0,N(c,31),N(c,139),N(c,8),c.G?(N(c,(c.G.text?1:0)+(c.G.Xa?2:0)+(c.G.extra?4:0)+(c.G.name?8:0)+(c.G.comment?16:0)),N(c,c.G.time&255),N(c,c.G.time>>8&255),N(c,c.G.time>>16&255),N(c,c.G.time>>24&255),N(c,c.level===9?2:c.strategy>=2||c.level<2?4:0),N(c,c.G.os&255),c.G.extra&&c.G.extra.length&& (N(c,c.G.extra.length&255),N(c,c.G.extra.length>>8&255)),c.G.Xa&&(a.I=Mm(a.I,c.Z,c.pending,0)),c.Ea=0,c.status=69):(N(c,0),N(c,0),N(c,0),N(c,0),N(c,0),N(c,c.level===9?2:c.strategy>=2||c.level<2?4:0),N(c,3),c.status=113);else{var e=8+(c.ed-8<<4)<<8;e|=(c.strategy>=2||c.level<2?0:c.level<6?1:c.level===6?2:3)<<6;c.v!==0&&(e|=32);c.status=113;Dn(c,e+(31-e%31));c.v!==0&&(Dn(c,a.I>>>16),Dn(c,a.I&65535));a.I=1}if(c.status===69)if(c.G.extra){for(e=c.pending;c.Ea<(c.G.extra.length&65535)&&(c.pending!==c.Ba|| (c.G.Xa&&c.pending>e&&(a.I=Mm(a.I,c.Z,c.pending-e,e)),Bn(a),e=c.pending,c.pending!==c.Ba));)N(c,c.G.extra[c.Ea]&255),c.Ea++;c.G.Xa&&c.pending>e&&(a.I=Mm(a.I,c.Z,c.pending-e,e));c.Ea===c.G.extra.length&&(c.Ea=0,c.status=73)}else c.status=73;if(c.status===73)if(c.G.name){e=c.pending;do{if(c.pending===c.Ba&&(c.G.Xa&&c.pending>e&&(a.I=Mm(a.I,c.Z,c.pending-e,e)),Bn(a),e=c.pending,c.pending===c.Ba)){var f=1;break}f=c.Ea e&&(a.I=Mm(a.I,c.Z,c.pending-e,e));f===0&&(c.Ea=0,c.status=91)}else c.status=91;if(c.status===91)if(c.G.comment){e=c.pending;do{if(c.pending===c.Ba&&(c.G.Xa&&c.pending>e&&(a.I=Mm(a.I,c.Z,c.pending-e,e)),Bn(a),e=c.pending,c.pending===c.Ba)){f=1;break}f=c.Eae&&(a.I=Mm(a.I,c.Z,c.pending-e,e));f===0&&(c.status=103)}else c.status=103;c.status===103&&(c.G.Xa?(c.pending+2>c.Ba&&Bn(a),c.pending+2<=c.Ba&&(N(c,a.I& 255),N(c,a.I>>8&255),a.I=0,c.status=113)):c.status=113);if(c.pending!==0){if(Bn(a),a.S===0)return c.zb=-1,0}else if(a.oa===0&&(b<<1)-(b>4?9:0)<=(d<<1)-(d>4?9:0)&&b!==4)return zn(a,-5);if(c.status===666&&a.oa!==0)return zn(a,-5);if(a.oa!==0||c.B!==0||b!==0&&c.status!==666){d=c.strategy===2?Jn(c,b):c.strategy===3?In(c,b):Ln[c.level].Me(c,b);if(d===3||d===4)c.status=666;if(d===1||d===3)return a.S===0&&(c.zb=-1),0;if(d===2&&(b===1?(jn(c,2,3),kn(c,256,Xm),c.ga===16?(hn(c,c.pa),c.pa=0,c.ga=0):c.ga>=8&& (c.Z[c.pending++]=c.pa&255,c.pa>>=8,c.ga-=8)):b!==5&&(jn(c,0,3),pn(c,0,0),b===3&&(An(c.head),c.B===0&&(c.v=0,c.xa=0,c.la=0))),Bn(a),a.S===0))return c.zb=-1,0}if(b!==4)return 0;if(c.wrap<=0)return 1;c.wrap===2?(N(c,a.I&255),N(c,a.I>>8&255),N(c,a.I>>16&255),N(c,a.I>>24&255),N(c,a.mb&255),N(c,a.mb>>8&255),N(c,a.mb>>16&255),N(c,a.mb>>24&255)):(Dn(c,a.I>>>16),Dn(c,a.I&65535));Bn(a);c.wrap>0&&(c.wrap=-c.wrap);return c.pending!==0?0:1} ;let On={};On=function(){this.input=null;this.mb=this.oa=this.kb=0;this.output=null;this.cd=this.S=this.Db=0;this.msg="";this.state=null;this.Jc=2;this.I=0};var Pn=Object.prototype.toString; function Qn(a){if(!(this instanceof Qn))return new Qn(a);a=this.options=L.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},a||{});a.raw&&a.windowBits>0?a.windowBits=-a.windowBits:a.gzip&&a.windowBits>0&&a.windowBits<16&&(a.windowBits+=16);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.K=new On;this.K.S=0;var b=this.K;var c=a.level,d=a.method,e=a.windowBits,f=a.memLevel,g=a.strategy;if(b){var h=1;c===-1&&(c=6);e<0?(h=0,e=-e):e>15&&(h=2,e-=16);if(f<1||f> 9||d!==8||e<8||e>15||c<0||c>9||g<0||g>4)b=zn(b,-2);else{e===8&&(e=9);var k=new Mn;b.state=k;k.K=b;k.wrap=h;k.G=null;k.ed=e;k.ma=1<>=7;f<30;f++)for(bn[f]=g<<7,e=0;e<1<=l.ma&&(b===0&&(An(l.head),l.v=0,l.xa=0,l.la=0),c=new L.nb(l.ma),L.qb(c,f,g-l.ma,l.ma,0),f=c,g=l.ma);c=a.oa;d=a.kb;e=a.input;a.oa=g;a.kb=0;a.input=f;for(Fn(l);l.B>=3;){f=l.v;g=l.B-2;do l.P=(l.P<0||c.S===0)&&a!==1);if(e===4)return(c=this.K)&&c.state?(d=c.state.status,d!==42&&d!==69&&d!==73&&d!==91&&d!==103&&d!==113&&d!==666?a=zn(c,-2):(c.state=null,a=d===113?zn(c,-3):0)):a=-2,Rn(this,a),this.ended=!0,a===0;e===2&&(Rn(this,0),c.S=0);return!0}; function Rn(a,b){b===0&&(a.result=a.options.to==="string"?a.chunks.join(""):L.nd(a.chunks));a.chunks=[];a.err=b;a.msg=a.K.msg} function Sn(a){var b=b||{};b.gzip=!0;b=new Qn(b);b.push(a,!0);if(b.err)throw b.msg||Rm[b.err];return b.result} ;function Tn(a){return a?(a=a.privateDoNotAccessOrElseSafeScriptWrappedValue)?Xa(a):null:null} function Un(a){return a?(a=a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue)?Ha(a):null:null} ;function Vn(a){return Ha(a===null?"null":a===void 0?"undefined":a)} ;var Wn=class{constructor(a){this.name=a}};var Xn=new Wn("rawColdConfigGroup");var Yn=new Wn("rawHotConfigGroup");var Zn=class extends G{constructor(a){super(a)}};var $n=class extends G{constructor(a){super(a)}setTrackingParams(a){return E(this,1,yd(a,!1))}};var ao=new Wn("continuationCommand");var bo=new Wn("webCommandMetadata");var co=new Wn("signalServiceEndpoint");var eo={Yf:"EMBEDDED_PLAYER_MODE_UNKNOWN",Vf:"EMBEDDED_PLAYER_MODE_DEFAULT",Xf:"EMBEDDED_PLAYER_MODE_PFP",Wf:"EMBEDDED_PLAYER_MODE_PFL"};var fo=new Wn("feedbackEndpoint");var Gd={ph:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_UNKNOWN",wg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_FOR_TESTING",Ug:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_RESUME_TO_HOME_TTL",fh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_START_TO_SHORTS_ANALYSIS_SLICE",kg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_DEVICE_LAYER_SLICE",oh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_UNIFIED_LAYER_SLICE",rh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_VISITOR_LAYER_SLICE",dh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_SHOW_SHEET_COMMAND_HANDLER_BLOCK", th:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WIZ_NEXT_MIGRATED_COMPONENT",sh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WIZ_NEXT_CHANNEL_NAME_TOOLTIP",Yg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ROTATION_LOCK_SUPPORTED",ih:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_THEATER_MODE_ENABLED",zh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_SHOW_PIN_SUGGESTION",yh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_SHOW_LONG_PRESS_EDU_TOAST",xh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_SHOW_AMBIENT",jh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_TIME_WATCHED_PANEL", ah:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_SEARCH_FROM_SEARCH_BAR_OVERLAY",Ah:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_SHOW_VOICE_SEARCH_EDU_TOAST",hh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_SUGGESTED_LANGUAGE_SELECTED",Bh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_TRIGGER_SHORTS_PIP",Dg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IN_ZP_VOICE_CRASHY_SET",Qg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_REEL_FAST_SWIPE_SUPPRESSED",Pg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_REEL_FAST_SWIPE_ALLOWED",Sg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_REEL_PULL_TO_REFRESH_ATTEMPT", uh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_BLOCK_KABUKI",Tg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_REEL_TALL_SCREEN",Rg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_REEL_NORMAL_SCREEN",dg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ACCESSIBILITY_MODE_ENABLED",cg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ACCESSIBILITY_MODE_DISABLED",eg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_AUTOPLAY_ENABLED",fg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_CAST_MATCH_OCCURRED",pg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EMC3DS_ELIGIBLE",sg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ENDSCREEN_TRIGGERED", Og:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_POSTPLAY_TRIGGERED",Ng:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_POSTPLAY_LACT_THRESHOLD_EXCEEDED",xg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IDENTITIES_STATE_MATCHED_ON_REMOTE_CONNECTION",zg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IDENTITIES_STATE_SWITCHABLE_ON_REMOTE_CONNECTION",yg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IDENTITIES_STATE_MISATTRIBUTED_ON_REMOTE_CONNECTION",Cg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IDENTITIES_TV_IS_SIGNED_IN_ON_REMOTE_CONNECTION",mh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_TV_START_TYPE_COLD_ON_REMOTE_CONNECTION", nh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_TV_START_TYPE_NON_COLD_ON_REMOTE_CONNECTION",Jg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ON_REMOTE_CONNECTION",jg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_COBALT_PERSISTENT_SETTINGS_TEST_VALID",hg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_COBALT_PERSISTENT_SETTINGS_TEST_INVALID",ig:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_COBALT_PERSISTENT_SETTINGS_TEST_UNDEFINED",gg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_COBALT_PERSISTENT_SETTINGS_TEST_DEFINED",Eg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_LACT_THRESHOLD_EXCEEDED", Zg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ROUND_TRIP_HANDLING_ON_REMOTE_CONNECTION",Bg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IDENTITIES_STATE_SWITCHED_ON_REMOTE_CONNECTION_BEFORE_APP_RELOAD",Ag:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_IDENTITIES_STATE_SWITCHED_ON_REMOTE_CONNECTION_AFTER_APP_RELOAD",qg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EMC3DS_INELIGIBLE",kh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_TVHTML5_MID_ROLL_THRESHOLD_REACHED",ug:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EXP_COBALT_HTTP3_CONFIG_PENDING", tg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EXP_COBALT_HTTP3_CONFIG_ACTIVATED",rg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EMC3DS_M2_ELIGIBLE",Wg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ROTATE_DEVICE_TO_LANDSCAPE",Xg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ROTATE_DEVICE_TO_PORTRAIT",og:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EMBEDS_FACEOFF_UI_EVENT",vg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_EXP_COBALT_HTTP3_CONFIG_RECEIVED",ng:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_ELIGIBLE_TO_SUPPRESS_TRANSPORT_CONTROLS_BUTTONS", qh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_USER_HAS_THEATER_MODE_COOKIE_ENABLED",mg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_DOCUMENT_PICTURE_IN_PICTURE_SUPPORTED",bh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_SHORTS_NON_DEFAULT_ASPECT_RATIO",Mg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_PLAYER_IN_SQUEEZEBACK",Fg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_LIVE_CREATOR_AR_GIFT_RECEIVED",Vg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_RETURNED_TO_VIDEO_AFTER_FAILED_ATTEMPT_TO_BACKGROUND",wh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_WOULD_ENTER_AUTO_ZOOM", Kg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_PASSIVE_IN_CONTROL",Lg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_PASSIVE_IN_TREATMENT",lg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_DISABLE_PLAYER_OPEN_ON_FULLSCREEN",Ig:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_MDX_RECONNECT_WITH_RETRY",eh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_SINGLE_COLUMN_GRID_TRIGGERED",Hg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_MDX_CONNECTION_TIMEOUT",Gg:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_LIVE_GHOST_LOADING_ELIGIBLE",gh:"GENERIC_CLIENT_EXPERIMENT_EVENT_TYPE_STREAMED_GET_WATCH_SUPPORTED"};var go=new Wn("shareEndpoint"),ho=new Wn("shareEntityEndpoint"),io=new Wn("shareEntityServiceEndpoint"),jo=new Wn("webPlayerShareEntityServiceEndpoint");var ko=new Wn("playlistEditEndpoint");var lo=new Wn("modifyChannelNotificationPreferenceEndpoint");var mo=new Wn("undoFeedbackEndpoint");var no=new Wn("unsubscribeEndpoint");var oo=new Wn("subscribeEndpoint");function po(){var a=qo;w("yt.ads.biscotti.getId_")||v("yt.ads.biscotti.getId_",a)} function ro(a){v("yt.ads.biscotti.lastId_",a)} ;function so(a,b){b.length>1?a[b[0]]=b[1]:b.length===1&&Object.assign(a,b[0])} ;const to=t.window,uo=to?.yt?.config_||to?.ytcfg?.data_||{};v("yt.config_",uo);function vo(...a){so(uo,arguments)} function O(a,b){return a in uo?uo[a]:b} function wo(a){const b=uo.EXPERIMENT_FLAGS;return b?b[a]:void 0} ;const xo=[];function yo(a){xo.forEach(b=>b(a))} function P(a){return a&&window.yterr?function(){try{return a.apply(this,arguments)}catch(b){zo(b)}}:a} function zo(a){var b=w("yt.logging.errors.log");b?b(a,"ERROR",void 0,void 0,void 0,void 0,void 0):(b=O("ERRORS",[]),b.push([a,"ERROR",void 0,void 0,void 0,void 0,void 0]),vo("ERRORS",b));yo(a)} function Ao(a,b,c,d,e){var f=w("yt.logging.errors.log");f?f(a,"WARNING",b,c,d,void 0,e):(f=O("ERRORS",[]),f.push([a,"WARNING",b,c,d,void 0,e]),vo("ERRORS",f))} ;const Bo=/^[\w.]*$/,Co={q:!0,search_query:!0};function Do(a,b){b=a.split(b);const c={};for(let f=0,g=b.length;f{const e=encodeURIComponent(String(d));c=Array.isArray(c)?c:[c];gb(c,f=>{f==""?b.push(e):b.push(`${e}=${encodeURIComponent(String(f))}`)})}); return b.join("&")} function Ho(a){a.charAt(0)==="?"&&(a=a.substring(1));return Do(a,"&")} function Io(a){return a.indexOf("?")!==-1?(a=(a||"").split("#")[0],a=a.split("?",2),Ho(a.length>1?a[1]:a[0])):{}} function Jo(a,b){return Ko(a,b||{},!0)} function Ko(a,b,c){var d=a.split("#",2);a=d[0];d=d.length>1?"#"+d[1]:"";var e=a.split("?",2);a=e[0];e=Ho(e[1]||"");for(const f in b)!c&&e!==null&&f in e||(e[f]=b[f]);return Fb(a,e)+d} function Lo(a){if(!b)var b=window.location.href;const c=a.match(wb)[1]||null,d=yb(a);c&&d?(a=a.match(wb),b=b.match(wb),a=a[3]==b[3]&&a[1]==b[1]&&a[4]==b[4]):a=d?yb(b)===d&&(Number(b.match(wb)[4]||null)||null)===(Number(a.match(wb)[4]||null)||null):!0;return a} function Eo(a){return a&&a.match(Bo)?a:ub(a)} ;function Mo(a=w("yt.ads.biscotti.lastId_")||""){var b=No,c=Object,d=c.assign;a:{try{var e=b.h.top.location.href}catch(Y){e=2;break a}e=e?e===b.i.location.href?0:1:2}e={dt:El,flash:"0",frm:e};try{e.u_tz=-(new Date).getTimezoneOffset();try{var f=xl.history.length}catch(Y){f=0}e.u_his=f;e.u_h=xl.screen?.height;e.u_w=xl.screen?.width;e.u_ah=xl.screen?.availHeight;e.u_aw=xl.screen?.availWidth;e.u_cd=xl.screen?.colorDepth}catch(Y){}f=b.h;let g,h,k,l,m,n,u,p,z;try{var D=f.screenX;g=f.screenY}catch(Y){}try{h= f.outerWidth,k=f.outerHeight}catch(Y){}try{l=f.innerWidth,m=f.innerHeight}catch(Y){}try{n=f.screenLeft,u=f.screenTop}catch(Y){}try{l=f.innerWidth,m=f.innerHeight}catch(Y){}try{p=f.screen.availWidth,z=f.screen.availTop}catch(Y){}D=[n,u,D,g,p,z,h,k,l,m];try{var B=(b.h.top||window).document,M=B.compatMode=="CSS1Compat"?B.documentElement:B.body;var K=(new $g(M.clientWidth,M.clientHeight)).round()}catch(Y){K=new $g(-12245933,-12245933)}M=K;K=new Ml;"SVGElement"in t&&"createElementNS"in t.document&&K.set(0); B=Cl();B["allow-top-navigation-by-user-activation"]&&K.set(1);B["allow-popups-to-escape-sandbox"]&&K.set(2);t.crypto&&t.crypto.subtle&&K.set(3);"TextDecoder"in t&&"TextEncoder"in t&&K.set(4);K=Ll(K);B=M.height;M=M.width;D=D.join();b=b.i;c=d.call(c,e,{bc:K,bih:B,biw:M,brdim:D,vis:b.prerendering?3:{visible:1,hidden:2,prerender:3,preview:4,unloaded:5,"":0}[b.visibilityState||b.webkitVisibilityState||b.mozVisibilityState||""]??0,wgl:!!xl.WebGLRenderingContext});c.ca_type="image";a&&(c.bid=a);return c} const No=new class{constructor(a,b){this.h=a;this.i=b}}(window,window.document);v("yt.ads_.signals_.getAdSignalsString",function(a){return Go(Mo(a))});sa();navigator.userAgent.indexOf(" (CrKey ");const Oo="XMLHttpRequest"in t?()=>new XMLHttpRequest:null; function Po(){if(!Oo)return null;const a=Oo();return"open"in a?a:null} function Qo(a){switch(Ro(a)){case 200:case 201:case 202:case 203:case 204:case 205:case 206:case 304:return!0;default:return!1}} function Ro(a){return a&&"status"in a?a.status:-1} ;function So(a,b){typeof a==="function"&&(a=P(a));return window.setTimeout(a,b)} ;var To="client_dev_domain client_dev_expflag client_dev_regex_map client_dev_root_url client_rollout_override expflag forcedCapability jsfeat jsmode mods".split(" ");[...To];function R(a){a=Uo(a);return typeof a==="string"&&a==="false"?!1:!!a} function I(a,b){a=Uo(a);return a===void 0&&b!==void 0?b:Number(a||0)} function Vo(){const a=Uo("html5_web_po_experiment_ids");return Array.isArray(a)?ib(a,b=>Number(b||0)):[Number(a||0)]} function Wo(a){a=Uo(a);return a!==void 0?String(a):""} function Uo(a){return O("EXPERIMENT_FLAGS",{})[a]} function Xo(){const a=[],b=O("EXPERIMENTS_FORCED_FLAGS",{});for(var c of Object.keys(b))a.push({key:c,value:String(b[c])});c=O("EXPERIMENT_FLAGS",{});for(const d of Object.keys(c))d.startsWith("force_")&&b[d]===void 0&&a.push({key:d,value:String(c[d])});return a} ;const Yo={Authorization:"AUTHORIZATION","X-Goog-EOM-Visitor-Id":"EOM_VISITOR_DATA","X-Goog-Visitor-Id":"SANDBOXED_VISITOR_ID","X-Youtube-Domain-Admin-State":"DOMAIN_ADMIN_STATE","X-Youtube-Chrome-Connected":"CHROME_CONNECTED_HEADER","X-YouTube-Client-Name":"INNERTUBE_CONTEXT_CLIENT_NAME","X-YouTube-Client-Version":"INNERTUBE_CONTEXT_CLIENT_VERSION","X-YouTube-Delegation-Context":"INNERTUBE_CONTEXT_SERIALIZED_DELEGATION_CONTEXT","X-YouTube-Device":"DEVICE","X-Youtube-Identity-Token":"ID_TOKEN","X-YouTube-Page-CL":"PAGE_CL", "X-YouTube-Page-Label":"PAGE_BUILD_LABEL","X-Goog-AuthUser":"SESSION_INDEX","X-Goog-PageId":"DELEGATED_SESSION_ID"},Zo=["app","debugcss","debugjs","expflag","force_ad_params","force_ad_encrypted","force_viral_ad_response_params","forced_experiments","innertube_snapshots","innertube_goldens","internalcountrycode","internalipoverride","absolute_experiments","conditional_experiments","sbb","sr_bns_address",...To];let $o=!1; function ap(a,b,c="GET",d="",e,f,g,h=!1,k){const l=Po();if(!l)return null;const m=()=>{(l&&"readyState"in l?l.readyState:0)===4&&b&&P(b)(l)}; "onloadend"in l?l.addEventListener("loadend",m,!1):l.onreadystatechange=m;R("debug_forward_web_query_parameters")&&(a=bp(a));l.open(c,a,!0);f&&(l.responseType=f);g&&(l.withCredentials=!0);c=c==="POST"&&(window.FormData===void 0||!(d instanceof FormData));if(e=cp(a,e))for(const n in e)l.setRequestHeader(n,e[n]),"content-type"===n.toLowerCase()&&(c=!1);c&&l.setRequestHeader("Content-Type","application/x-www-form-urlencoded");k&&"onprogress"in l&&(l.onprogress=()=>{k(l.responseText)}); if(h&&"setAttributionReporting"in XMLHttpRequest.prototype){a={eventSourceEligible:!0,triggerEligible:!1};try{l.setAttributionReporting(a)}catch(n){Ao(n)}}l.send(d);return l} function cp(a,b={}){const c=Lo(a),d=O("INNERTUBE_CLIENT_NAME"),e=R("web_ajax_ignore_global_headers_if_set");for(const h in Yo){let k=O(Yo[h]);const l=h==="X-Goog-AuthUser"||h==="X-Goog-PageId";h!=="X-Goog-Visitor-Id"||k||(k=O("VISITOR_DATA"));var f;if(!(f=!k)){if(!(f=c||(yb(a)?!1:!0))){f=a;var g;if(g=R("add_auth_headers_to_remarketing_google_dot_com_ping")&&h==="Authorization"&&(d==="TVHTML5"||d==="TVHTML5_UNPLUGGED"||d==="TVHTML5_SIMPLY"))g=yb(f),g=g!==null?g.split(".").reverse():null,g=g===null? !1:g[1]==="google"?!0:g[2]==="google"?g[0]==="au"&&g[1]==="com"?!0:g[0]==="uk"&&g[1]==="co"?!0:!1:!1;g&&(f=zb(f)||"",f=f.split("/"),f="/"+(f.length>1?f[1]:""),g=f==="/pagead");f=g?!0:!1}f=!f}f||e&&b[h]!==void 0||d==="TVHTML5_UNPLUGGED"&&l||(b[h]=k)}"X-Goog-EOM-Visitor-Id"in b&&"X-Goog-Visitor-Id"in b&&delete b["X-Goog-Visitor-Id"];if(c||!yb(a))b["X-YouTube-Utc-Offset"]=String(-(new Date).getTimezoneOffset());if(c||!yb(a)){let h;try{h=(new Intl.DateTimeFormat).resolvedOptions().timeZone}catch{}h&& (b["X-YouTube-Time-Zone"]=h)}document.location.hostname.endsWith("youtubeeducation.com")||!c&&yb(a)||(b["X-YouTube-Ad-Signals"]=Go(Mo()));return b} function dp(a,b){b.method="POST";b.postParams||(b.postParams={});return ep(a,b)} function ep(a,b){const c=b.format||"JSON";a=fp(a,b);var d=gp(a,b);let e=!1,f;const g=hp(a,h=>{if(!e){e=!0;f&&window.clearTimeout(f);var k=Qo(h),l=null,m=400<=h.status&&h.status<500,n=500<=h.status&&h.status<600;if(k||m||n)l=ip(a,c,h,b.convertToSafeHtml);k&&(k=jp(c,h,l));l=l||{};m=b.context||t;k?b.onSuccess&&b.onSuccess.call(m,h,l):b.onError&&b.onError.call(m,h,l);b.onFinish&&b.onFinish.call(m,h,l)}},b.method,d,b.headers,b.responseType,b.withCredentials,!1,b.onProgress); d=b.timeout||0;if(b.onTimeout&&d>0){const h=b.onTimeout;f=So(()=>{e||(e=!0,g.abort(),window.clearTimeout(f),h.call(b.context||t,g))},d)}return g} function fp(a,b){b.includeDomain&&(a=document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:"")+a);const c=O("XSRF_FIELD_NAME");if(b=b.urlParams)b[c]&&delete b[c],a=Jo(a,b);return a} function gp(a,b){const c=O("XSRF_FIELD_NAME"),d=O("XSRF_TOKEN");var e=b.postBody||"",f=b.postParams;const g=O("XSRF_FIELD_NAME");let h;b.headers&&(h=b.headers["Content-Type"]);b.excludeXsrf||yb(a)&&!b.withCredentials&&yb(a)!==document.location.hostname||b.method!=="POST"||h&&h!=="application/x-www-form-urlencoded"||b.postParams&&b.postParams[g]||(f||(f={}),f[c]=d);(R("ajax_parse_query_data_only_when_filled")&&f&&Object.keys(f).length>0||f)&&typeof e==="string"&&(e=Ho(e),lh(e,f),e=b.postBodyFormat&& b.postBodyFormat==="JSON"?JSON.stringify(e):Eb(e));f=e||f&&!eh(f);!$o&&f&&b.method!=="POST"&&($o=!0,zo(Error("AJAX request with postData should use POST")));return e} function ip(a,b,c,d){let e=null;switch(b){case "JSON":let f;try{f=c.responseText}catch(g){throw d=Error("Error reading responseText"),d.params=a,Ao(d),g;}a=c.getResponseHeader("Content-Type")||"";f&&a.indexOf("json")>=0&&(f.substring(0,5)===")]}'\n"&&(f=f.substring(5)),e=JSON.parse(f));break;case "XML":if(a=(a=c.responseXML)?kp(a):null)e={},gb(a.getElementsByTagName("*"),g=>{e[g.tagName]=lp(g)})}d&&mp(e); return e} function mp(a){if(la(a))for(const c in a){var b;(b=c==="html_content")||(b=c.length-5,b=b>=0&&c.indexOf("_html",b)==b);if(b){b=a[c];const d=Fa();b=d?d.createHTML(b):b;a[c]=new Ua(b)}else mp(a[c])}} function jp(a,b,c){if(b&&b.status===204)return!0;switch(a){case "JSON":return!!c;case "XML":return Number(c&&c.return_code)===0;case "RAW":return!0;default:return!!c}} function kp(a){return a?(a=("responseXML"in a?a.responseXML:a).getElementsByTagName("root"))&&a.length>0?a[0]:null:null} function lp(a){let b="";gb(a.childNodes,c=>{b+=c.nodeValue}); return b} function bp(a){var b=window.location.search,c=yb(a);R("debug_handle_relative_url_for_query_forward_killswitch")||!c&&Lo(a)&&(c=document.location.hostname);var d=zb(a);d=(c=c&&(c.endsWith("youtube.com")||c.endsWith("youtube-nocookie.com")))&&d&&d.startsWith("/api/");if(!c||d)return a;const e=Ho(b),f={};gb(Zo,g=>{e[g]&&(f[g]=e[g])}); return Ko(a,f||{},!1)} var hp=ap;const np=[{Tc:a=>`Cannot read property '${a.key}'`, yc:{Error:[{regexp:/(Permission denied) to access property "([^']+)"/,groups:["reason","key"]}],TypeError:[{regexp:/Cannot read property '([^']+)' of (null|undefined)/,groups:["key","value"]},{regexp:/\u65e0\u6cd5\u83b7\u53d6\u672a\u5b9a\u4e49\u6216 (null|undefined) \u5f15\u7528\u7684\u5c5e\u6027\u201c([^\u201d]+)\u201d/,groups:["value","key"]},{regexp:/\uc815\uc758\ub418\uc9c0 \uc54a\uc74c \ub610\ub294 (null|undefined) \ucc38\uc870\uc778 '([^']+)' \uc18d\uc131\uc744 \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4./, groups:["value","key"]},{regexp:/No se puede obtener la propiedad '([^']+)' de referencia nula o sin definir/,groups:["key"]},{regexp:/Unable to get property '([^']+)' of (undefined or null) reference/,groups:["key","value"]},{regexp:/(null) is not an object \(evaluating '(?:([^.]+)\.)?([^']+)'\)/,groups:["value","base","key"]}]}},{Tc:a=>`Cannot call '${a.key}'`, yc:{TypeError:[{regexp:/(?:([^ ]+)?\.)?([^ ]+) is not a function/,groups:["base","key"]},{regexp:/([^ ]+) called on (null or undefined)/,groups:["key","value"]},{regexp:/Object (.*) has no method '([^ ]+)'/,groups:["base","key"]},{regexp:/Object doesn't support property or method '([^ ]+)'/,groups:["key"]},{regexp:/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f '([^']+)' \u30d7\u30ed\u30d1\u30c6\u30a3\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093/, groups:["key"]},{regexp:/\uac1c\uccb4\uac00 '([^']+)' \uc18d\uc131\uc774\ub098 \uba54\uc11c\ub4dc\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4./,groups:["key"]}]}},{Tc:a=>`${a.key} is not defined`, yc:{ReferenceError:[{regexp:/(.*) is not defined/,groups:["key"]},{regexp:/Can't find variable: (.*)/,groups:["key"]}]}}];var qp={Ya:[],Va:[{callback:op,weight:500},{callback:pp,weight:500}]};function op(a){if(a.name==="JavaException")return!0;a=a.stack;return a.includes("chrome://")||a.includes("-extension://")||a.includes("webkit-masked-url://")} function pp(a){if(!a.stack)return!0;const b=!a.stack.includes("\n");return b&&a.stack.includes("ErrorType: ")||b&&a.stack.includes("Anonymous function (Unknown script")||a.stack.toLowerCase()==="not available"||a.fileName==="user-script"||a.fileName.startsWith("user-script:")?!0:!1} ;function rp(){if(!sp){var a=sp=new tp;a.Ya.length=0;a.Va.length=0;up(a,qp)}return sp} function up(a,b){b.Ya&&a.Ya.push.apply(a.Ya,b.Ya);b.Va&&a.Va.push.apply(a.Va,b.Va)} var tp=class{constructor(){this.Va=[];this.Ya=[]}},sp;const vp=new J;function wp(a){const b=a.length;let c=0;const d=()=>a.charCodeAt(c++); do{var e=xp(d);if(e===Infinity)break;const f=e>>3;switch(e&7){case 0:e=xp(d);if(f===2)return e;break;case 1:if(f===2)return;c+=8;break;case 2:e=xp(d);if(f===2)return a.substr(c,e);c+=e;break;case 5:if(f===2)return;c+=4;break;default:return}}while(c500));d++);d=e}else if(typeof a==="object")for(e in a){if(a[e]){var f=e;var g=a[e],h=b,k=c;f=typeof g!=="string"||f!=="clickTrackingParams"&&f!=="trackingParams"?0:(g=wp(atob(g.replace(/-/g,"+").replace(/_/g,"/"))))?zp(`${f}.ve`,g,h,k):0;d+=f;d+=zp(e,a[e],b,c);if(d>500)break}}else c[b]=Ap(a),d+=c[b].length;else c[b]=Ap(a),d+=c[b].length;return d} function zp(a,b,c,d){c+=`.${a}`;a=Ap(b);d[c]=a;return c.length+a.length} function Ap(a){try{return(typeof a==="string"?a:String(JSON.stringify(a))).substr(0,500)}catch(b){return`unable to serialize ${typeof a} (${b.message})`}} ;function Bp(){if(!t.matchMedia)return"WEB_DISPLAY_MODE_UNKNOWN";try{return t.matchMedia("(display-mode: standalone)").matches?"WEB_DISPLAY_MODE_STANDALONE":t.matchMedia("(display-mode: minimal-ui)").matches?"WEB_DISPLAY_MODE_MINIMAL_UI":t.matchMedia("(display-mode: fullscreen)").matches?"WEB_DISPLAY_MODE_FULLSCREEN":t.matchMedia("(display-mode: browser)").matches?"WEB_DISPLAY_MODE_BROWSER":"WEB_DISPLAY_MODE_UNKNOWN"}catch(a){return"WEB_DISPLAY_MODE_UNKNOWN"}} var Cp=class{constructor(a){this.i=void 0;this.h=!1;a.addEventListener("beforeinstallprompt",b=>{b.preventDefault();this.i=b}); a.addEventListener("appinstalled",()=>{this.h=!0},{once:!0})}};function Dp(a){const b={};var c=[];"USER_SESSION_ID"in uo&&c.push({key:"u",value:O("USER_SESSION_ID")});if(c=Tg(c))b.Authorization=c,c=a=a?.sessionIndex,c===void 0&&(c=Number(O("SESSION_INDEX",0)),c=isNaN(c)?0:c),R("voice_search_auth_header_removal")||(b["X-Goog-AuthUser"]=c.toString()),"INNERTUBE_HOST_OVERRIDE"in uo||(b["X-Origin"]=window.location.origin),a===void 0&&"DELEGATED_SESSION_ID"in uo&&(b["X-Goog-PageId"]=O("DELEGATED_SESSION_ID"));return b} var Ep=class{constructor(){this.Jd=!0}};var Fp={identityType:"UNAUTHENTICATED_IDENTITY_TYPE_UNKNOWN"};function Gp(a,b,c,d="youtube.com",e=!1){Qg.set(""+a,b,{qc:c,path:"/",domain:d,secure:e})} function Hp(a){return Qg.get(""+a,void 0)} function Ip(a,b="/",c="youtube.com"){Qg.remove(""+a,b,c)} function Jp(){if(!Qg.isEnabled())return!1;if(Qg.h.cookie)return!0;Qg.set("TESTCOOKIESENABLED","1",{qc:60});if(Qg.get("TESTCOOKIESENABLED")!=="1")return!1;Qg.remove("TESTCOOKIESENABLED");return!0} ;const Kp=w("ytglobal.prefsUserPrefsPrefs_")||{};v("ytglobal.prefsUserPrefsPrefs_",Kp);function Lp(){Mp||(Mp=new Np);return Mp} function Op(a){return!!((Pp(`f${Math.floor(a/31)+1}`)||0)&1<=a.o;b--)if(a.i[b].length>0)return b>0?fq(a)?3:2:1;return 0} function gq(a){a.R.length=0;for(let b=5;b>=0;b--)a.i[b].length=0;a.i[8].length=0;a.j={};a.stop()} function fq(a){return!a.isHidden()&&a.na} function hq(a){for(const b of cq)if(a.i[b].length)return!0;return!1} function iq(a,b,c){a.V&&a.A===4&&a.h||a.stop();a.u=!0;b=sa()+(b||a.D);for(var d=a.i[5];d.length;){var e=d.shift(),f=a.j[e];delete a.j[e];if(f){e=a;try{f(c)}catch(g){e.wa(g)}}}for(d=a.i[4];d.length;)c=d.shift(),f=a.j[c],delete a.j[c],f&&dq(a,f);d=a.ia?0:1;d=a.o>d?a.o:d;if(!(sa()>=b)){do{a:{c=a;f=d;for(e=3;e>=f;e--){const g=c.i[e];for(;g.length;){const h=g.shift(),k=c.j[h];delete c.j[h];if(k){c=k;break a}}}c=null}c&&dq(a,c)}while(c&&sa(){const e=qq().Ta(a,b);mq[d]=e},c); return d} function uq(a){qq().H(a)} function vq(a){const b=qq();if(a<0)b.sa(-a);else{var c=mq[a];c?(b.sa(c),delete mq[a]):window.clearTimeout(a)}} function wq(){xq()} function xq(){window.clearTimeout(oq);qq().start()} function yq(){qq().pause();window.clearTimeout(oq);oq=window.setTimeout(wq,nq)} function zq(){window.clearTimeout(pq);pq=window.setTimeout(()=>{Aq(0)},nq)} function Aq(a){zq();var b=qq();b.o=a;b.start()} function Bq(a){zq();var b=qq();b.o>a&&(b.o=a,b.start())} function Cq(){window.clearTimeout(pq);var a=qq();a.o=0;a.start()} ;function Dq(){Eq.instance||(Eq.instance=new Eq);return Eq.instance} var Eq=class extends $p{Ta(a,b,c){c!==void 0&&Number.isNaN(Number(c))&&(c=void 0);const d=w("yt.scheduler.instance.addJob");return d?d(a,b,c):c===void 0?(a(),NaN):So(a,c||0)}sa(a){if(a===void 0||!Number.isNaN(Number(a))){var b=w("yt.scheduler.instance.cancelJob");b?b(a):window.clearTimeout(a)}}start(){const a=w("yt.scheduler.instance.start");a&&a()}pause(){const a=w("yt.scheduler.instance.pause");a&&a()}},Hl=Dq(); w("yt.scheduler.initialized")||(v("yt.scheduler.instance.dispose",rq),v("yt.scheduler.instance.addJob",tq),v("yt.scheduler.instance.addImmediateJob",uq),v("yt.scheduler.instance.cancelJob",vq),v("yt.scheduler.instance.cancelAllJobs",sq),v("yt.scheduler.instance.start",xq),v("yt.scheduler.instance.pause",yq),v("yt.scheduler.instance.setPriorityThreshold",Aq),v("yt.scheduler.instance.enablePriorityThreshold",Bq),v("yt.scheduler.instance.clearPriorityThreshold",Cq),v("yt.scheduler.initialized",!0));const Fq=class{constructor(a){const b=new jm;this.h=(a=b.isAvailable()?a?new km(b,a):b:null)?new em(a):null;this.j=document.domain||window.location.hostname}i(){return!!this.h}set(a,b,c,d){c=c||31104E3;this.remove(a);if(this.i())try{this.h.set(a,b,Date.now()+c*1E3);return}catch(f){}var e="";if(d)try{e=escape((new Bj).serialize(b))}catch(f){return}else e=escape(b);Gp(a,e,c,this.j)}get(a,b){var c=void 0,d=!this.i();if(!d)try{c=this.h.get(a)}catch(e){d=!0}if(d&&(c=Hp(a))&&(c=unescape(c),b))try{c=JSON.parse(c)}catch(e){this.remove(a), c=void 0}return c}remove(a){this.i()&&this.h.remove(a);Ip(a,"/",this.j)}};const Gq=(()=>{let a;return()=>{a||(a=new Fq("ytidb"));return a}})(); function Hq(){return Gq()?.get("LAST_RESULT_ENTRY_KEY",!0)} ;const Iq=[];let Jq,Kq=!1;function Lq(){({handleError:a=Mq,logEvent:b=Nq}={});var a;for(Jq=new Oq(a,b);Iq.length>0;){var b=Iq.shift();switch(b.type){case "ERROR":Jq.wa(b.payload);break;case "EVENT":Jq.logEvent(b.eventType,b.payload)}}} function Pq(a){Kq||(Jq?Jq.wa(a):(Iq.push({type:"ERROR",payload:a}),Iq.length>10&&Iq.shift()))} function Qq(a,b){Kq||(Jq?Jq.logEvent(a,b):(Iq.push({type:"EVENT",eventType:a,payload:b}),Iq.length>10&&Iq.shift()))} ;function Rq(a){if(a.indexOf(":")>=0)throw Error("Database name cannot contain ':'");} function Sq(a){return a.substr(0,a.indexOf(":"))||a} ;var Tq=Oc||Pc;function Uq(a){const b=xc();return b?b.toLowerCase().indexOf(a)>=0:!1} ;const Vq={AUTH_INVALID:"No user identifier specified.",EXPLICIT_ABORT:"Transaction was explicitly aborted.",IDB_NOT_SUPPORTED:"IndexedDB is not supported.",MISSING_INDEX:"Index not created.",MISSING_OBJECT_STORES:"Object stores not created.",DB_DELETED_BY_MISSING_OBJECT_STORES:"Database is deleted because expected object stores were not created.",DB_REOPENED_BY_MISSING_OBJECT_STORES:"Database is reopened because expected object stores were not created.",UNKNOWN_ABORT:"Transaction was aborted for unknown reasons.", QUOTA_EXCEEDED:"The current transaction exceeded its quota limitations.",QUOTA_MAYBE_EXCEEDED:"The current transaction may have failed because of exceeding quota limitations.",EXECUTE_TRANSACTION_ON_CLOSED_DB:"Can't start a transaction on a closed database",INCOMPATIBLE_DB_VERSION:"The binary is incompatible with the database version"},Wq={AUTH_INVALID:"ERROR",EXECUTE_TRANSACTION_ON_CLOSED_DB:"WARNING",EXPLICIT_ABORT:"IGNORED",IDB_NOT_SUPPORTED:"ERROR",MISSING_INDEX:"WARNING",MISSING_OBJECT_STORES:"ERROR", DB_DELETED_BY_MISSING_OBJECT_STORES:"WARNING",DB_REOPENED_BY_MISSING_OBJECT_STORES:"WARNING",QUOTA_EXCEEDED:"WARNING",QUOTA_MAYBE_EXCEEDED:"WARNING",UNKNOWN_ABORT:"WARNING",INCOMPATIBLE_DB_VERSION:"WARNING"},Xq={AUTH_INVALID:!1,EXECUTE_TRANSACTION_ON_CLOSED_DB:!1,EXPLICIT_ABORT:!1,IDB_NOT_SUPPORTED:!1,MISSING_INDEX:!1,MISSING_OBJECT_STORES:!1,DB_DELETED_BY_MISSING_OBJECT_STORES:!1,DB_REOPENED_BY_MISSING_OBJECT_STORES:!1,QUOTA_EXCEEDED:!1,QUOTA_MAYBE_EXCEEDED:!0,UNKNOWN_ABORT:!0,INCOMPATIBLE_DB_VERSION:!1}; var T=class extends S{constructor(a,b={},c=Vq[a],d=Wq[a],e=Xq[a]){super(c,{name:"YtIdbKnownError",isSw:self.document===void 0,isIframe:self!==self.top,type:a,...b});this.type=a;this.message=c;this.level=d;this.h=e;Object.setPrototypeOf(this,T.prototype)}},Yq=class extends T{constructor(a,b){super("MISSING_OBJECT_STORES",{expectedObjectStores:b,foundObjectStores:a},Vq.MISSING_OBJECT_STORES);Object.setPrototypeOf(this,Yq.prototype)}},Zq=class extends Error{constructor(a,b){super();this.index=a;this.objectStore= b;Object.setPrototypeOf(this,Zq.prototype)}};const $q=["The database connection is closing","Can't start a transaction on a closed database","A mutation operation was attempted on a database that did not allow mutations"]; function ar(a,b,c,d){b=Sq(b);let e;e=a instanceof Error?a:Error(`Unexpected error: ${a}`);if(e instanceof T)return e;a={objectStoreNames:c,dbName:b,dbVersion:d};if(e.name==="QuotaExceededError")return new T("QUOTA_EXCEEDED",a);if(Qc&&e.name==="UnknownError")return new T("QUOTA_MAYBE_EXCEEDED",a);if(e instanceof Zq)return new T("MISSING_INDEX",{...a,objectStore:e.objectStore,index:e.index});if(e.name==="InvalidStateError"&&$q.some(f=>e.message.includes(f)))return new T("EXECUTE_TRANSACTION_ON_CLOSED_DB", a); if(e.name==="AbortError")return new T("UNKNOWN_ABORT",a,e.message);e.args=[{...a,name:"IdbError",xd:e.name}];e.level="WARNING";return e} function br(a,b,c){const d=Hq();return new T("IDB_NOT_SUPPORTED",{context:{caller:a,publicName:b,version:c,hasSucceededOnce:d?.hasSucceededOnce}})} ;function cr(a){if(!a)throw Error();throw a;} function dr(a){return a} var er=class{constructor(a){this.h=a}};function fr(a,b,c,d,e){try{if(a.state.status!=="FULFILLED")throw Error("calling handleResolve before the promise is fulfilled.");const f=c(a.state.value);f instanceof gr?hr(a,b,f,d,e):d(f)}catch(f){e(f)}} function ir(a,b,c,d,e){try{if(a.state.status!=="REJECTED")throw Error("calling handleReject before the promise is rejected.");const f=c(a.state.reason);f instanceof gr?hr(a,b,f,d,e):d(f)}catch(f){e(f)}} function hr(a,b,c,d,e){b===c?e(new TypeError("Circular promise chain detected.")):c.then(f=>{f instanceof gr?hr(a,b,f,d,e):d(f)},f=>{e(f)})} var gr=class{constructor(a){this.state={status:"PENDING"};this.h=[];this.i=[];a=a.h;const b=d=>{if(this.state.status==="PENDING"){this.state={status:"FULFILLED",value:d};for(const e of this.h)e()}},c=d=>{if(this.state.status==="PENDING"){this.state={status:"REJECTED", reason:d};for(const e of this.i)e()}}; try{a(b,c)}catch(d){c(d)}}static all(a){return new gr(new er((b,c)=>{const d=[];let e=a.length;e===0&&b(d);for(let f=0;f{d[f]=g;e--;e===0&&b(d)}).catch(g=>{c(g)})}))}static resolve(a){return new gr(new er((b,c)=>{a instanceof gr?a.then(b,c):b(a)}))}static reject(a){return new gr(new er((b,c)=>{c(a)}))}then(a,b){const c=a??dr,d=b??cr; return new gr(new er((e,f)=>{this.state.status==="PENDING"?(this.h.push(()=>{fr(this,this,c,e,f)}),this.i.push(()=>{ir(this,this,d,e,f)})):this.state.status==="FULFILLED"?fr(this,this,c,e,f):this.state.status==="REJECTED"&&ir(this,this,d,e,f)}))}catch(a){return this.then(void 0,a)}};function jr(a,b,c){const d=()=>{try{a.removeEventListener("success",e),a.removeEventListener("error",f)}catch{}},e=()=>{b(a.result); d()},f=()=>{c(a.error); d()}; a.addEventListener("success",e);a.addEventListener("error",f)} function kr(a){return new Promise((b,c)=>{jr(a,b,c)})} function lr(a){return new gr(new er((b,c)=>{jr(a,b,c)}))} ;function mr(a,b){return new gr(new er((c,d)=>{const e=()=>{const f=a?b(a):null;f?f.then(g=>{a=g;e()},d):c()}; e()}))} ;const nr=window;var U=nr.ytcsi&&nr.ytcsi.now?nr.ytcsi.now:nr.performance&&nr.performance.timing&&nr.performance.now&&nr.performance.timing.navigationStart?()=>nr.performance.timing.navigationStart+nr.performance.now():()=>(new Date).getTime();function or(){return R("idb_immediate_commit")} async function pr(a,b,c,d){const e={mode:"readonly",ka:!1,tag:"IDB_TRANSACTION_TAG_UNKNOWN"};typeof c==="string"?e.mode=c:Object.assign(e,c);a.transactionCount++;c=e.ka?3:1;let f=0,g;for(;!g;){f++;const m=Math.round(U());try{var h=a.h.transaction(b,e.mode),k=d,l=!!e.commit;const n=new qr(h),u=await rr(n,k,l),p=Math.round(U());sr(a,m,p,f,void 0,b.join(),e);return u}catch(n){k=Math.round(U());const u=ar(n,a.h.name,b.join(),a.h.version);if(u instanceof T&&!u.h||f>=c)sr(a,m,k,f,u,b.join(),e),g=u}}return Promise.reject(g)} function tr(a,b,c){a=a.h.createObjectStore(b,c);return new ur(a)} function vr(a,b,c){return pr(a,[b],{mode:"readwrite",ka:!0,commit:or()},d=>{d=d.objectStore(b);return lr(d.h.put(c,void 0))})} function sr(a,b,c,d,e,f,g){b=c-b;e?(e instanceof T&&(e.type==="QUOTA_EXCEEDED"||e.type==="QUOTA_MAYBE_EXCEEDED")&&Qq("QUOTA_EXCEEDED",{dbName:Sq(a.h.name),objectStoreNames:f,transactionCount:a.transactionCount,transactionMode:g.mode}),e instanceof T&&e.type==="UNKNOWN_ABORT"&&(c-=a.j,c<0&&c>=2147483648&&(c=0),Qq("TRANSACTION_UNEXPECTEDLY_ABORTED",{objectStoreNames:f,transactionDuration:b,transactionCount:a.transactionCount,dbDuration:c}),a.i=!0),wr(a,!1,d,f,b,g.tag),Pq(e)):wr(a,!0,d,f,b,g.tag)} function wr(a,b,c,d,e,f="IDB_TRANSACTION_TAG_UNKNOWN"){Qq("TRANSACTION_ENDED",{objectStoreNames:d,connectionHasUnknownAbortedTransaction:a.i,duration:e,isSuccessful:b,tryCount:c,tag:f})} var xr=class{constructor(a,b){this.h=a;this.options=b;this.transactionCount=0;this.j=Math.round(U());this.i=!1}add(a,b,c){return pr(this,[a],{mode:"readwrite",ka:!0,commit:or()},d=>d.objectStore(a).add(b,c))}clear(a){return pr(this,[a],{mode:"readwrite", ka:!0},b=>b.objectStore(a).clear())}close(){this.h.close(); this.options?.closed&&this.options.closed()}count(a,b){return pr(this,[a],{mode:"readonly",ka:!0,commit:or()},c=>c.objectStore(a).count(b))}delete(a,b){return pr(this,[a],{mode:"readwrite", ka:!0,commit:or()&&!(b instanceof IDBKeyRange)},c=>c.objectStore(a).delete(b))}get(a,b){return pr(this,[a],{mode:"readonly", ka:!0,commit:or()},c=>c.objectStore(a).get(b))}objectStoreNames(){return Array.from(this.h.objectStoreNames)}getName(){return this.h.name}}; function yr(a,b,c){a.h.createIndex(b,c,{unique:!1})} function zr(a,b,c){a=a.h.openCursor(b.query,b.direction);return Ar(a).then(d=>mr(d,c))} function Br(a,b){return zr(a,{query:b},c=>c.delete().then(()=>Cr(c))).then(()=>{})} var ur=class{constructor(a){this.h=a}add(a,b){return lr(this.h.add(a,b))}autoIncrement(){return this.h.autoIncrement}clear(){return lr(this.h.clear()).then(()=>{})}count(a){return lr(this.h.count(a))}delete(a){return a instanceof IDBKeyRange?Br(this,a):lr(this.h.delete(a))}get(a){return lr(this.h.get(a))}index(a){try{return new Dr(this.h.index(a))}catch(b){if(b instanceof Error&&b.name==="NotFoundError")throw new Zq(a,this.h.name); throw b;}}getName(){return this.h.name}keyPath(){return this.h.keyPath}};function rr(a,b,c){const d=new Promise((e,f)=>{try{const g=b(a);c&&a.commit();g.then(h=>{e(h)}).catch(f)}catch(g){f(g),a.abort()}}); return Promise.all([d,a.done]).then(([e])=>e)} var qr=class{constructor(a){this.h=a;this.i=new Map;this.aborted=!1;this.done=new Promise((b,c)=>{this.h.addEventListener("complete",()=>{b()}); this.h.addEventListener("error",d=>{d.currentTarget===d.target&&c(this.h.error)}); this.h.addEventListener("abort",()=>{var d=this.h.error;if(d)c(d);else if(!this.aborted){d=T;var e=this.h.objectStoreNames;const f=[];for(let g=0;gmr(f,c))} var Dr=class{constructor(a){this.h=a}count(a){return lr(this.h.count(a))}delete(a){return Er(this,{query:a},b=>b.delete().then(()=>Cr(b)))}get(a){return lr(this.h.get(a))}keyPath(){return this.h.keyPath}unique(){return this.h.unique}}; function Ar(a){return lr(a).then(b=>b?new Fr(a,b):null)} function Cr(a){a.cursor.continue(void 0);return Ar(a.request)} var Fr=class{constructor(a,b){this.request=a;this.cursor=b}delete(){return lr(this.cursor.delete()).then(()=>{})}getValue(){return this.cursor.value}update(a){return lr(this.cursor.update(a))}};function Gr(a,b,c){return new Promise((d,e)=>{let f;f=b!==void 0?self.indexedDB.open(a,b):self.indexedDB.open(a);const g=c.je,h=c.blocking,k=c.Af,l=c.upgrade,m=c.closed;let n;const u=()=>{n||(n=new xr(f.result,{closed:m}));return n}; f.addEventListener("upgradeneeded",p=>{try{if(p.newVersion===null)throw Error("Invariant: newVersion on IDbVersionChangeEvent is null");if(f.transaction===null)throw Error("Invariant: transaction on IDbOpenDbRequest is null");p.dataLoss&&p.dataLoss!=="none"&&Qq("IDB_DATA_CORRUPTED",{reason:p.dataLossMessage||"unknown reason",dbName:Sq(a)});const z=u(),D=new qr(f.transaction);l&&l(z,B=>p.oldVersion=B,D); D.done.catch(B=>{e(B)})}catch(z){e(z)}}); f.addEventListener("success",()=>{const p=f.result;h&&p.addEventListener("versionchange",()=>{h(u())}); p.addEventListener("close",()=>{Qq("IDB_UNEXPECTEDLY_CLOSED",{dbName:Sq(a),dbVersion:p.version});k&&k()}); d(u())}); f.addEventListener("error",()=>{e(f.error)}); g&&f.addEventListener("blocked",()=>{g()})})} function Hr(a,b,c={}){return Gr(a,b,c)} async function Ir(a,b={}){try{const c=self.indexedDB.deleteDatabase(a),d=b.je;d&&c.addEventListener("blocked",()=>{d()}); await kr(c)}catch(c){throw ar(c,a,"",-1);}} ;function Jr(a,b){return new T("INCOMPATIBLE_DB_VERSION",{dbName:a.name,oldVersion:a.options.version,newVersion:b})} function Kr(a,b){if(!b)throw br("openWithToken",Sq(a.name));return a.open()} var Lr=class{constructor(a,b){this.name=a;this.options=b;this.j=!0;this.u=this.o=0}i(a,b,c={}){return Hr(a,b,c)}delete(a={}){return Ir(this.name,a)}open(){if(!this.j)throw Jr(this);if(this.h)return this.h;let a;const b=()=>{this.h===a&&(this.h=void 0)},c={blocking:e=>{e.close()}, closed:b,Af:b,upgrade:this.options.upgrade},d=async()=>{var e=Error().stack??"";try{const h=await this.i(this.name,this.options.version,c);var f=h,g=this.options;const k=[];for(const l of Object.keys(g.Eb)){const {Lb:m,ti:n=Number.MAX_VALUE}=g.Eb[l];!(f.h.version>=m)||f.h.version>=n||f.h.objectStoreNames.contains(l)||k.push(l)}if(k.length!==0){const l=Object.keys(this.options.Eb),m=h.objectStoreNames();if(this.uthis.options.version+1)throw e.close(),this.j=!1,Jr(this,f);return e}b();h instanceof Error&&!R("ytidb_async_stack_killswitch")&&(h.stack=`${h.stack}\n${e.substring(e.indexOf("\n")+1)}`);throw ar(h,this.name,"",this.options.version??-1);}}; return this.h=a=d()}};const Mr=new Lr("YtIdbMeta",{Eb:{databases:{Lb:1}},upgrade(a,b){b(1)&&tr(a,"databases",{keyPath:"actualName"})}});async function Nr(a,b){return pr(await Kr(Mr,b),["databases"],{ka:!0,mode:"readwrite"},c=>{const d=c.objectStore("databases");return d.get(a.actualName).then(e=>{if(e?a.actualName!==e.actualName||a.publicName!==e.publicName||a.userIdentifier!==e.userIdentifier:1)return lr(d.h.put(a,void 0)).then(()=>{})})})} async function Or(a,b){return a?(await Kr(Mr,b)).delete("databases",a):void 0} async function Pr(a,b){const c=[];b=await Kr(Mr,b);await pr(b,["databases"],{ka:!0,mode:"readonly"},d=>{c.length=0;return zr(d.objectStore("databases"),{},e=>{a(e.getValue())&&c.push(e.getValue());return Cr(e)})}); return c} function Qr(a){return Pr(b=>b.publicName==="LogsDatabaseV2"&&b.userIdentifier!==void 0,a)} function Rr(a,b,c){return Pr(d=>c?d.userIdentifier!==void 0&&!a.includes(d.userIdentifier)&&c.includes(d.publicName):d.userIdentifier!==void 0&&!a.includes(d.userIdentifier),b)} async function Sr(a){const b=Yp("YtIdbMeta hasAnyMeta other");return(await Pr(c=>c.userIdentifier!==void 0&&c.userIdentifier!==b,a)).length>0} ;let Tr;const Ur=new class{constructor(){}}(new class{constructor(){}}); async function Vr(){if(Hq()?.hasSucceededOnce)return!0;var a;if(a=Tq)a=/WebKit\/([0-9]+)/.exec(xc()),a=!!(a&&parseInt(a[1],10)>=600);a&&(a=/WebKit\/([0-9]+)/.exec(xc()),a=!(a&&parseInt(a[1],10)>=602));if(!(a=a||Kc)){try{a=self;var b=!!(a.indexedDB&&a.IDBIndex&&a.IDBKeyRange&&a.IDBObjectStore)}catch(c){b=!1}a=!b}if(a||!("IDBTransaction"in self&&"objectStoreNames"in IDBTransaction.prototype))return!1;try{return await Nr({actualName:"yt-idb-test-do-not-use",publicName:"yt-idb-test-do-not-use",userIdentifier:void 0}, Ur),await Or("yt-idb-test-do-not-use",Ur),!0}catch(c){return!1}} function Wr(){if(Tr!==void 0)return Tr;Kq=!0;return Tr=Vr().then(a=>{Kq=!1;if(Gq()?.i()){var b={hasSucceededOnce:Hq()?.hasSucceededOnce||a};Gq()?.set("LAST_RESULT_ENTRY_KEY",b,2592E3,!0)}return a})} function Xr(){return w("ytglobal.idbToken_")||void 0} function Yr(){const a=Xr();return a?Promise.resolve(a):Wr().then(b=>{b?(v("ytglobal.idbToken_",Ur),b=Ur):b=void 0;return b})} ;let Zr=0;function $r(a,b){Zr||(Zr=Hl.ra(async()=>{const c=await Yr();if(c){var d=!0;try{const e=await Rr(a,c,b);if(e.length){const f=e[0];await Ir(f.actualName);await Or(f.actualName,c)}else d=!1}catch(e){Pq(e),d=!1}Hl.sa(Zr);Zr=0;d&&$r(a,b)}}))} async function as(){const a=await Yr();return a?Sr(a):!1} new ik;function bs(a){if(!Xp())throw a=new T("AUTH_INVALID",{dbName:a}),Pq(a),a;const b=Yp();return{actualName:`${a}:${b}`,publicName:a,userIdentifier:b}} async function cs(a,b,c,d){var e=Error().stack??"";const f=await Yr();if(!f)throw b=br("openDbImpl",a,b),R("ytidb_async_stack_killswitch")||(b.stack=`${b.stack}\n${e.substring(e.indexOf("\n")+1)}`),Pq(b),b;Rq(a);e=c?{actualName:a,publicName:a,userIdentifier:void 0}:bs(a);try{return await Nr(e,f),await Hr(e.actualName,b,d)}catch(g){try{await Or(e.actualName,f)}catch{}throw g;}} function ds(a,b,c={}){return cs(a,b,!1,c)} function es(a,b,c={}){return cs(a,b,!0,c)} async function gs(a,b={}){const c=await Yr();c&&(Rq(a),a=bs(a),await Ir(a.actualName,b),await Or(a.actualName,c))} function hs(a,b,c){a=a.map(async d=>{await Ir(d.actualName,b);await Or(d.actualName,c)}); return Promise.all(a).then(()=>{})} async function is(){var a={};const b=await Yr();if(b){Rq("LogsDatabaseV2");var c=await Qr(b);await hs(c,a,b)}} async function js(a,b={}){const c=await Yr();c&&(Rq(a),await Ir(a,b),await Or(a,c))} ;function ks(a,b){let c;return()=>{c||(c=new ls(a,b));return c}} var ls=class extends Lr{constructor(a,b){super(a,b);this.options=b;Rq(a)}i(a,b,c={}){return(this.options.shared?es:ds)(a,b,{...c})}delete(a={}){return(this.options.shared?js:gs)(this.name,a)}};function ms(a,b){return ks(a,b)} ;var ns=ms("ytGcfConfig",{Eb:{coldConfigStore:{Lb:1},hotConfigStore:{Lb:1}},shared:!1,upgrade(a,b){b(1)&&(yr(tr(a,"hotConfigStore",{keyPath:"key",autoIncrement:!0}),"hotTimestampIndex","timestamp"),yr(tr(a,"coldConfigStore",{keyPath:"key",autoIncrement:!0}),"coldTimestampIndex","timestamp"))},version:1});function ps(a){return Kr(ns(),a)} async function qs(a,b,c){a={config:a,hashData:b,timestamp:U()};c=await ps(c);await c.clear("hotConfigStore");return await vr(c,"hotConfigStore",a)} async function rs(a,b,c,d){a={config:a,hashData:b,configData:c,timestamp:U()};d=await ps(d);await d.clear("coldConfigStore");return await vr(d,"coldConfigStore",a)} async function ss(a){a=await ps(a);let b=void 0;await pr(a,["coldConfigStore"],{mode:"readwrite",ka:!0},c=>Er(c.objectStore("coldConfigStore").index("coldTimestampIndex"),{direction:"prev"},d=>{b=d.getValue()})); return b} async function ts(a){a=await ps(a);let b=void 0;await pr(a,["hotConfigStore"],{mode:"readwrite",ka:!0},c=>Er(c.objectStore("hotConfigStore").index("hotTimestampIndex"),{direction:"prev"},d=>{b=d.getValue()})); return b} ;var us=class extends y{constructor(){super();this.i=[];this.h=[];const a=w("yt.gcf.config.hotUpdateCallbacks");a?(this.i=[...a],this.h=a):(this.h=[],v("yt.gcf.config.hotUpdateCallbacks",this.h))}X(){for(const b of this.i){var a=this.h;const c=a.indexOf(b);c>=0&&a.splice(c,1)}this.i.length=0;super.X()}};async function vs(a,b,c){if(R("start_client_gcf")){c&&(a.j=c,v("yt.gcf.config.hotConfigGroup",a.j||null));a.o(b);const d=Xr();d&&(c||(c=(await ts(d))?.config),await qs(c,b,d));if(c){a=a.i;for(const e of a.h)e(c)}}} async function ws(a,b,c){R("start_client_gcf")&&(a.coldHashData=b,v("yt.gcf.config.coldHashData",a.coldHashData||null),a=Xr())&&(c||(c=(await ss(a))?.config),c&&await rs(c,b,c.configData,a))} function xs(){if(!ys.instance){var a=new ys;ys.instance=a}a=ys.instance;var b=U()-a.h;if(!(a.h!==0&&b0&&(b.request={internalExperimentFlags:c});c=a.sd;c!=="WEB"&&c!=="MWEB"&&c!==1&&c!==2||!b||(b.client.mainAppWebInfo=b.client.mainAppWebInfo??{},b.client.mainAppWebInfo.webDisplayMode= Bp());(c=w("yt.embedded_player.embed_url"))&&b&&(b.thirdParty={embedUrl:c});R("web_log_memory_total_kbytes")&&t.navigator?.deviceMemory&&(c=t.navigator?.deviceMemory,b&&(b.client.memoryTotalKbytes=`${c*1E6}`));a.appInstallData&&b&&(b.client.configInfo=b.client.configInfo||{},b.client.configInfo.appInstallData=a.appInstallData);(a=Vp())&&b&&(b.client.connectionType=a);R("web_log_effective_connection_type")&&(a=Wp())&&b&&(b.client.effectiveConnectionType=a);if(R("start_client_gcf")){var d=xs();d&&(a= d.coldConfigData,c=d.coldHashData,d=d.hotHashData,b&&(b.client.configInfo=b.client.configInfo||{},a&&(b.client.configInfo.coldConfigData=a),c&&(b.client.configInfo.coldHashData=c),d&&(b.client.configInfo.hotHashData=d)))}O("DELEGATED_SESSION_ID")&&!R("pageid_as_header_web")&&(b.user={onBehalfOfUser:O("DELEGATED_SESSION_ID")});!R("fill_delegate_context_in_gel_killswitch")&&(a=O("INNERTUBE_CONTEXT_SERIALIZED_DELEGATION_CONTEXT"))&&(b.user={...b.user,serializedDelegationContext:a});a=O("INNERTUBE_CONTEXT"); R("enable_persistent_device_token")&&a?.client?.rolloutToken&&(b.client.rolloutToken=a?.client?.rolloutToken);a=Object;c=a.assign;d=b.client;var e=O("DEVICE","");const f={};for(const [g,h]of Object.entries(Ho(e))){e=g;const k=h;e==="cbrand"?f.deviceMake=k:e==="cmodel"?f.deviceModel=k:e==="cbr"?f.browserName=k:e==="cbrver"?f.browserVersion=k:e==="cos"?f.osName=k:e==="cosver"?f.osVersion=k:e==="cplatform"&&(f.platform=k)}b.client=c.call(a,d,f);return b} function Cs(a,b,c={}){let d={};O("EOM_VISITOR_DATA")?d={"X-Goog-EOM-Visitor-Id":O("EOM_VISITOR_DATA")}:d={"X-Goog-Visitor-Id":c.visitorData||O("VISITOR_DATA","")};if(b&&b.includes("www.youtube-nocookie.com"))return d;b=c.authorization||O("AUTHORIZATION");b||(a?b=`Bearer ${w("gapi.auth.getToken")().Oh}`:(Ep.instance||(Ep.instance=new Ep),a=Dp(),R("pageid_as_header_web")||delete a["X-Goog-PageId"],d={...d,...a}));b&&(d.Authorization=b);return d} ;const Ds=typeof TextEncoder!=="undefined"?new TextEncoder:null,Es=Ds?a=>Ds.encode(a):a=>{a=tc(a); const b=new Uint8Array(a.length);for(let c=0;c{var g=w("ytPubsub2Pubsub2SkipSubKey");g&&g==d||(g=()=>{if(Ks[d])try{if(f&&b instanceof Is&&b!=e)try{{var h=b.h,k=f;if(!k.args||!k.version)throw Error("yt.pubsub2.Data.deserialize(): serializedData is incomplete.");let l;try{if(!h.Pd){const m=new h;h.Pd=m.version}l=h.Pd}catch(m){}if(!l||k.version!=l)throw Error("yt.pubsub2.Data.deserialize(): serializedData version is incompatible.");try{f=Reflect.construct(h, mb(k.args))}catch(m){throw m.message="yt.pubsub2.Data.deserialize(): "+m.message,m;}}}catch(l){throw l.message="yt.pubsub2.pubsub2 cross-binary conversion error for "+b.toString()+": "+l.message,l;}a.call(window,f)}catch(l){zo(l)}},Ms[b.toString()]?w("yt.scheduler.instance")?Hl.ra(g):So(g,0):g())}); Ks[d]=!0;Ls[b.toString()]||(Ls[b.toString()]=[]);Ls[b.toString()].push(d);return d} function Rs(){var a=Ss;const b=Ps(function(c){a.apply(void 0,arguments);Ts(b)}); return b} function Ts(a){const b=Os();b&&(typeof a==="number"&&(a=[a]),gb(a,c=>{b.unsubscribeByKey(c);delete Ks[c]}))} function Os(){return w("ytPubsub2Pubsub2Instance")} ;function Us(a,b,c={sampleRate:.1}){Math.random(){c=c.data;if(c.op==="gzippedGelBatch"){var d=ft.get(c.key);d&&(jt(c.gzippedBatch,d.latencyPayload,d.url,d.options,d.sendFn),ft.delete(c.key))}},b=Ys(); b&&(b.addEventListener("message",a),b.onerror=()=>{ft.clear()},et=!0)}} function kt(a,b,c,d,e=!1){const f={startTime:U(),ticks:{},infos:{}};if(at)try{const h=lt(b);if(h!=null&&(h>Zs||h<$s))d(a,c);else{if(R("gzip_gel_with_worker")){et||ht();const k=Ys();if(k&&!e){ft.set(gt,{latencyPayload:f,url:a,options:c,sendFn:d});k.postMessage({op:"gelBatchToGzip",serializedBatch:b,key:gt});gt++;return}}var g=Sn(Es(b));jt(g,f,a,c,d)}}catch(h){Ao(h),d(a,c)}else d(a,c)} function jt(a,b,c,d,e){const f=U();b.ticks.gelc=f;ct++;R("disable_compression_due_to_performance_degredation")&&f-b.startTime>=dt&&(bt++,at=!1);R("gel_compression_csi_killswitch")||!R("log_gel_compression_latency")&&!R("log_gel_compression_latency_lr")||Us("gel_compression",b,{sampleRate:.1});d.headers||(d.headers={});d.headers["Content-Encoding"]="gzip";d.postBody=a;d.postParams=void 0;e(c,d)} function mt(a){U();if(at){if(!a.body)return a;try{const b=typeof a.body==="string"?a.body:JSON.stringify(a.body);let c=b;if(typeof b==="string"){const d=lt(b);if(d!=null&&(d>Zs||d<$s))return a;c=Sn(Es(b));U()}a.headers={"Content-Encoding":"gzip",...(a.headers||{})};a.body=c;return a}catch(b){return Ao(b),a}}else return a} function lt(a){try{return(new Blob(a.split(""))).size}catch(b){return Ao(b),null}} ;function nt(a){a=Object.assign({},a);delete a.Authorization;const b=Tg();if(b){const c=new Ol;c.update(O("INNERTUBE_API_KEY"));c.update(b);a.hash=Tc(c.digest(),3)}return a} ;let ot;function pt(){ot||(ot=new Fq("yt.innertube"));return ot} function qt(a,b,c,d){if(d)return null;d=pt().get("nextId",!0)||1;const e=pt().get("requests",!0)||{};e[d]={method:a,request:b,authState:nt(c),requestTime:Math.round(U())};pt().set("nextId",d+1,86400,!0);pt().set("requests",e,86400,!0);return d} function rt(a){const b=pt().get("requests",!0)||{};delete b[a];pt().set("requests",b,86400,!0)} function st(a){const b=pt().get("requests",!0);if(b){for(const d in b){const e=b[d];if(!(Math.round(U())-e.requestTime<6E4)){var c=e.authState;const f=nt(Cs(!1));hh(c,f)&&(c=e.request,"requestTimeMs"in c&&(c.requestTimeMs=Math.round(U())),tt(a,e.method,c,{}));delete b[d]}}pt().set("requests",b,86400,!0)}} ;function ut(a){return!!a.W||a.bc} function vt(a){ut(a)&&!a.Qb&&(a.h=!0,a.jc&&Math.random()<=a.fc&&a.ea.oe(a.W),wt(a),a.da.va()&&a.j(),a.da.listen(a.Xc,a.j.bind(a)),a.da.listen(a.Wc,a.o.bind(a)))} function wt(a){if(!ut(a))throw Error("IndexedDB is not supported: retryQueuedRequests");a.ea.od("QUEUED",a.W).then(b=>{b&&!xt(a,b,a.zd)?a.Fa.ra(async()=>{b.id!==void 0&&await a.ea.Yc(b.id,a.W);wt(a)}):a.da.va()&&a.j()})} async function zt(a,b){if(!ut(a))throw Error("IndexedDB is not supported: immediateSend");b.id!==void 0&&(await a.ea.Ze(b.id,a.W)||a.wb(Error("The request cannot be found in the database.")));xt(a,b,a.Dd)?(b.skipRetry||(b=At(a,b)),b&&(b.skipRetry&&b.id!==void 0&&await a.ea.sb(b.id,a.W),a.sendFn(b.url,b.options,!!b.skipRetry))):(a.wb(Error("Networkless Logging: Stored logs request expired age limit")),b.id!==void 0&&await a.ea.sb(b.id,a.W))} function Bt(a,b){a.Ud&&!a.da.va()?a.Ud(b):a.handleError(b)} function xt(a,b,c){b=b.timestamp;return a.now()-b>=c?!1:!0} function At(a,b){if(!ut(a))throw Error("IndexedDB is not supported: updateRequestHandlers");const c=b.options.onError?b.options.onError:()=>{}; b.options.onError=async(e,f)=>{const g=Ct(f),h=Dt(f);h&&a.Y&&a.Y("web_enable_error_204")&&a.handleError(Error("Request failed due to compression"),b.url,f);if(a.Y&&a.Y("nwl_consider_error_code")&&g||a.Y&&!a.Y("nwl_consider_error_code")&&a.potentialEsfErrorCounter<=a.zc)if(a.da.Dc&&await a.da.Dc(),!a.da.va()){c(e,f);a.Y&&a.Y("nwl_consider_error_code")&&b?.id!==void 0&&await a.ea.Yc(b.id,a.W,!1);return}a.Y&&a.Y("nwl_consider_error_code")&&!g&&a.potentialEsfErrorCounter>a.zc||(a.potentialEsfErrorCounter++, b?.id!==void 0&&(b.sendCount{a.da.va()&&a.j()},a.Fd)):await a.ea.sb(b.id,a.W)),c(e,f))}; const d=b.options.onSuccess?b.options.onSuccess:()=>{}; b.options.onSuccess=async(e,f)=>{b?.id!==void 0&&await a.ea.sb(b.id,a.W);a.da.jb&&a.Y&&a.Y("vss_network_hint")&&a.da.jb(!0);d(e,f)}; return b} var Et=class{constructor(a){this.bc=this.h=!1;this.potentialEsfErrorCounter=this.i=0;this.handleError=()=>{}; this.wb=()=>{}; this.now=Date.now;this.Qb=!1;this.Kd=a.Kd??100;this.Gd=a.Gd??1;this.Dd=a.Dd??2592E6;this.zd=a.zd??12E4;this.Fd=a.Fd??5E3;this.W=a.W??void 0;this.jc=!!a.jc;this.fc=a.fc??.1;this.zc=a.zc??10;a.handleError&&(this.handleError=a.handleError);a.wb&&(this.wb=a.wb);a.Qb&&(this.Qb=a.Qb);a.bc&&(this.bc=a.bc);this.Y=a.Y;this.Fa=a.Fa;this.ea=a.ea;this.da=a.da;this.sendFn=a.sendFn;this.Xc=a.Xc;this.Wc=a.Wc;ut(this)&&(!this.Y||this.Y("networkless_logging"))&&vt(this)}writeThenSend(a,b={}){if(ut(this)&&this.h){const c= {url:a,options:b,timestamp:this.now(),status:"NEW",sendCount:0};this.ea.set(c,this.W).then(d=>{c.id=d;this.da.va()&&zt(this,c)}).catch(d=>{zt(this,c); Bt(this,d)})}else this.sendFn(a,b)}sendThenWrite(a,b={},c){if(ut(this)&&this.h){const d={url:a, options:b,timestamp:this.now(),status:"NEW",sendCount:0};this.Y&&this.Y("nwl_skip_retry")&&(d.skipRetry=c);if(this.da.va()||this.Y&&this.Y("nwl_aggressive_send_then_write")&&!d.skipRetry){if(!d.skipRetry){const e=b.onError?b.onError:()=>{}; b.onError=async(f,g)=>{await this.ea.set(d,this.W).catch(h=>{Bt(this,h)}); e(f,g)}}this.sendFn(a,b,d.skipRetry)}else this.ea.set(d,this.W).catch(e=>{this.sendFn(a,b,d.skipRetry); Bt(this,e)})}else this.sendFn(a,b,this.Y&&this.Y("nwl_skip_retry")&&c)}sendAndWrite(a,b={}){if(ut(this)&&this.h){const c={url:a, options:b,timestamp:this.now(),status:"NEW",sendCount:0};let d=!1;const e=b.onSuccess?b.onSuccess:()=>{}; c.options.onSuccess=(f,g)=>{c.id!==void 0?this.ea.sb(c.id,this.W):d=!0;this.da.jb&&this.Y&&this.Y("vss_network_hint")&&this.da.jb(!0);e(f,g)}; this.sendFn(c.url,c.options,void 0,!0);this.ea.set(c,this.W).then(f=>{c.id=f;d&&this.ea.sb(c.id,this.W)}).catch(f=>{Bt(this,f)})}else this.sendFn(a,b,void 0,!0)}j(){if(!ut(this))throw Error("IndexedDB is not supported: throttleSend"); this.i||(this.i=this.Fa.ra(async()=>{const a=await this.ea.od("NEW",this.W);a?(await zt(this,a),this.i&&(this.i=0,this.j())):this.o()},this.Kd))}o(){this.Fa.sa(this.i); this.i=0}};function Ct(a){return(a=a?.error?.code)&&a>=400&&a<=599?!1:!0} function Dt(a){a=a?.error?.code;return!(a!==400&&a!==415)} ;let Ft; function Gt(){if(Ft)return Ft();Ft=ms("LogsDatabaseV2",{Eb:{LogsRequestsStore:{Lb:2}},shared:!1,upgrade(a,b,c){b(2)&&tr(a,"LogsRequestsStore",{keyPath:"id",autoIncrement:!0});b(3);b(5)&&(c=c.objectStore("LogsRequestsStore"),c.h.indexNames.contains("newRequest")&&c.h.deleteIndex("newRequest"),yr(c,"newRequestV2",["status","interface","timestamp"]));b(7)&&a.h.objectStoreNames.contains("sapisid")&&a.h.deleteObjectStore("sapisid");b(9)&&a.h.objectStoreNames.contains("SWHealthLog")&&a.h.deleteObjectStore("SWHealthLog")},version:9}); return Ft()} ;function Ht(a){return Kr(Gt(),a)} async function It(a,b){const c={startTime:U(),infos:{transactionType:"YT_IDB_TRANSACTION_TYPE_WRITE"},ticks:{}};b=await Ht(b);a={...a,options:JSON.parse(JSON.stringify(a.options)),interface:O("INNERTUBE_CONTEXT_CLIENT_NAME",0)};a=await vr(b,"LogsRequestsStore",a);c.ticks.tc=U();Jt(c);return a} async function Kt(a,b){const c={startTime:U(),infos:{transactionType:"YT_IDB_TRANSACTION_TYPE_READ"},ticks:{}};b=await Ht(b);var d=O("INNERTUBE_CONTEXT_CLIENT_NAME",0),e=[a,d,0];d=[a,d,U()];const f=IDBKeyRange.bound(e,d);let g="prev";R("use_fifo_for_networkless")&&(g="next");let h=void 0;e=a==="NEW"?"readwrite":"readonly";R("use_readonly_for_get_most_recent_by_status_killswitch")&&(e="readwrite");await pr(b,["LogsRequestsStore"],{mode:e,ka:!0},k=>Er(k.objectStore("LogsRequestsStore").index("newRequestV2"), {query:f,direction:g},l=>{l.getValue()&&(h=l.getValue(),a==="NEW"&&(h.status="QUEUED",l.update(h)))})); c.ticks.tc=U();Jt(c);return h} async function Lt(a,b){return pr(await Ht(b),["LogsRequestsStore"],{mode:"readwrite",ka:!0},c=>{const d=c.objectStore("LogsRequestsStore");return d.get(a).then(e=>{if(e)return e.status="QUEUED",lr(d.h.put(e,void 0)).then(()=>e)})})} async function Mt(a,b,c=!0,d){return pr(await Ht(b),["LogsRequestsStore"],{mode:"readwrite",ka:!0},e=>{const f=e.objectStore("LogsRequestsStore");return f.get(a).then(g=>g?(g.status="NEW",c&&(g.sendCount+=1),d!==void 0&&(g.options.compress=d),lr(f.h.put(g,void 0)).then(()=>g)):gr.resolve(void 0))})} async function Nt(a,b){return(await Ht(b)).delete("LogsRequestsStore",a)} async function Ot(a){a=await Ht(a);const b=U()-2592E6;await pr(a,["LogsRequestsStore"],{mode:"readwrite",ka:!0},c=>zr(c.objectStore("LogsRequestsStore"),{},d=>{if(d.getValue().timestamp<=b)return d.delete().then(()=>Cr(d))}))} async function Pt(){await is()} function Jt(a){R("nwl_csi_killswitch")||Us("networkless_performance",a,{sampleRate:1})} ;var Qt={accountStateChangeSignedIn:23,accountStateChangeSignedOut:24,delayedEventMetricCaptured:11,latencyActionBaselined:6,latencyActionInfo:7,latencyActionTicked:5,offlineTransferStatusChanged:2,offlineImageDownload:335,playbackStartStateChanged:9,systemHealthCaptured:3,mangoOnboardingCompleted:10,mangoPushNotificationReceived:230,mangoUnforkDbMigrationError:121,mangoUnforkDbMigrationSummary:122,mangoUnforkDbMigrationPreunforkDbVersionNumber:133,mangoUnforkDbMigrationPhoneMetadata:134,mangoUnforkDbMigrationPhoneStorage:135, mangoUnforkDbMigrationStep:142,mangoAsyncApiMigrationEvent:223,mangoDownloadVideoResult:224,mangoHomepageVideoCount:279,mangoHomeV3State:295,mangoImageClientCacheHitEvent:273,sdCardStatusChanged:98,framesDropped:12,thumbnailHovered:13,deviceRetentionInfoCaptured:14,thumbnailLoaded:15,backToAppEvent:318,streamingStatsCaptured:17,offlineVideoShared:19,appCrashed:20,youThere:21,offlineStateSnapshot:22,mdxSessionStarted:25,mdxSessionConnected:26,mdxSessionDisconnected:27,bedrockResourceConsumptionSnapshot:28, nextGenWatchWatchSwiped:29,kidsAccountsSnapshot:30,zeroStepChannelCreated:31,tvhtml5SearchCompleted:32,offlineSharePairing:34,offlineShareUnlock:35,mdxRouteDistributionSnapshot:36,bedrockRepetitiveActionTimed:37,unpluggedDegradationInfo:229,uploadMp4HeaderMoved:38,uploadVideoTranscoded:39,uploadProcessorStarted:46,uploadProcessorEnded:47,uploadProcessorReady:94,uploadProcessorRequirementPending:95,uploadProcessorInterrupted:96,uploadFrontendEvent:241,assetPackDownloadStarted:41,assetPackDownloaded:42, assetPackApplied:43,assetPackDeleted:44,appInstallAttributionEvent:459,playbackSessionStopped:45,adBlockerMessagingShown:48,distributionChannelCaptured:49,dataPlanCpidRequested:51,detailedNetworkTypeCaptured:52,sendStateUpdated:53,receiveStateUpdated:54,sendDebugStateUpdated:55,receiveDebugStateUpdated:56,kidsErrored:57,mdxMsnSessionStatsFinished:58,appSettingsCaptured:59,mdxWebSocketServerHttpError:60,mdxWebSocketServer:61,startupCrashesDetected:62,coldStartInfo:435,offlinePlaybackStarted:63,liveChatMessageSent:225, liveChatUserPresent:434,liveChatBeingModerated:457,liveCreationCameraUpdated:64,liveCreationEncodingCaptured:65,liveCreationError:66,liveCreationHealthUpdated:67,liveCreationVideoEffectsCaptured:68,liveCreationStageOccured:75,liveCreationBroadcastScheduled:123,liveCreationArchiveReplacement:149,liveCreationCostreamingConnection:421,liveCreationPlayablesMetrics:533,liveCreationStreamWebrtcStats:288,liveCreationWebrtcError:526,mdxSessionRecoveryStarted:69,mdxSessionRecoveryCompleted:70,mdxSessionRecoveryStopped:71, visualElementShown:72,visualElementHidden:73,visualElementGestured:78,visualElementStateChanged:208,screenCreated:156,playbackAssociated:202,visualElementAttached:215,playbackContextEvent:214,cloudCastingPlaybackStarted:74,webPlayerApiCalled:76,tvhtml5AccountDialogOpened:79,foregroundHeartbeat:80,foregroundHeartbeatScreenAssociated:111,kidsOfflineSnapshot:81,mdxEncryptionSessionStatsFinished:82,playerRequestCompleted:83,liteSchedulerStatistics:84,mdxSignIn:85,spacecastMetadataLookupRequested:86,spacecastBatchLookupRequested:87, spacecastSummaryRequested:88,spacecastPlayback:89,spacecastDiscovery:90,tvhtml5LaunchUrlComponentChanged:91,mdxBackgroundPlaybackRequestCompleted:92,mdxBrokenAdditionalDataDeviceDetected:93,tvhtml5LocalStorage:97,tvhtml5DeviceStorageStatus:147,autoCaptionsAvailable:99,playbackScrubbingEvent:339,flexyState:100,interfaceOrientationCaptured:101,mainAppBrowseFragmentCache:102,offlineCacheVerificationFailure:103,offlinePlaybackExceptionDigest:217,vrCopresenceStats:104,vrCopresenceSyncStats:130,vrCopresenceCommsStats:137, vrCopresencePartyStats:153,vrCopresenceEmojiStats:213,vrCopresenceEvent:141,vrCopresenceFlowTransitEvent:160,vrCowatchPartyEvent:492,vrCowatchUserStartOrJoinEvent:504,vrPlaybackEvent:345,kidsAgeGateTracking:105,offlineDelayAllowedTracking:106,mainAppAutoOfflineState:107,videoAsThumbnailDownload:108,videoAsThumbnailPlayback:109,liteShowMore:110,renderingError:118,kidsProfilePinGateTracking:119,abrTrajectory:124,scrollEvent:125,streamzIncremented:126,kidsProfileSwitcherTracking:127,kidsProfileCreationTracking:129, buyFlowStarted:136,mbsConnectionInitiated:138,mbsPlaybackInitiated:139,mbsLoadChildren:140,liteProfileFetcher:144,mdxRemoteTransaction:146,reelPlaybackError:148,reachabilityDetectionEvent:150,mobilePlaybackEvent:151,courtsidePlayerStateChanged:152,musicPersistentCacheChecked:154,musicPersistentCacheCleared:155,playbackInterrupted:157,playbackInterruptionResolved:158,fixFopFlow:159,anrDetection:161,backstagePostCreationFlowEnded:162,clientError:163,gamingAccountLinkStatusChanged:164,liteHousewarming:165, buyFlowEvent:167,kidsParentalGateTracking:168,kidsSignedOutSettingsStatus:437,kidsSignedOutPauseHistoryFixStatus:438,tvhtml5WatchdogViolation:444,ypcUpgradeFlow:169,yongleStudy:170,ypcUpdateFlowStarted:171,ypcUpdateFlowCancelled:172,ypcUpdateFlowSucceeded:173,ypcUpdateFlowFailed:174,liteGrowthkitPromo:175,paymentFlowStarted:341,transactionFlowShowPaymentDialog:405,transactionFlowStarted:176,transactionFlowSecondaryDeviceStarted:222,transactionFlowSecondaryDeviceSignedOutStarted:383,transactionFlowCancelled:177, transactionFlowPaymentCallBackReceived:387,transactionFlowPaymentSubmitted:460,transactionFlowPaymentSucceeded:329,transactionFlowSucceeded:178,transactionFlowFailed:179,transactionFlowPlayBillingConnectionStartEvent:428,transactionFlowSecondaryDeviceSuccess:458,transactionFlowErrorEvent:411,liteVideoQualityChanged:180,watchBreakEnablementSettingEvent:181,watchBreakFrequencySettingEvent:182,videoEffectsCameraPerformanceMetrics:183,adNotify:184,startupTelemetry:185,playbackOfflineFallbackUsed:186, outOfMemory:187,ypcPauseFlowStarted:188,ypcPauseFlowCancelled:189,ypcPauseFlowSucceeded:190,ypcPauseFlowFailed:191,uploadFileSelected:192,ypcResumeFlowStarted:193,ypcResumeFlowCancelled:194,ypcResumeFlowSucceeded:195,ypcResumeFlowFailed:196,adsClientStateChange:197,ypcCancelFlowStarted:198,ypcCancelFlowCancelled:199,ypcCancelFlowSucceeded:200,ypcCancelFlowFailed:201,ypcCancelFlowGoToPaymentProcessor:402,ypcDeactivateFlowStarted:320,ypcRedeemFlowStarted:203,ypcRedeemFlowCancelled:204,ypcRedeemFlowSucceeded:205, ypcRedeemFlowFailed:206,ypcFamilyCreateFlowStarted:258,ypcFamilyCreateFlowCancelled:259,ypcFamilyCreateFlowSucceeded:260,ypcFamilyCreateFlowFailed:261,ypcFamilyManageFlowStarted:262,ypcFamilyManageFlowCancelled:263,ypcFamilyManageFlowSucceeded:264,ypcFamilyManageFlowFailed:265,restoreContextEvent:207,embedsAdEvent:327,autoplayTriggered:209,clientDataErrorEvent:210,experimentalVssValidation:211,tvhtml5TriggeredEvent:212,tvhtml5FrameworksFieldTrialResult:216,tvhtml5FrameworksFieldTrialStart:220,musicOfflinePreferences:218, watchTimeSegment:219,appWidthLayoutError:221,accountRegistryChange:226,userMentionAutoCompleteBoxEvent:227,downloadRecommendationEnablementSettingEvent:228,musicPlaybackContentModeChangeEvent:231,offlineDbOpenCompleted:232,kidsFlowEvent:233,kidsFlowCorpusSelectedEvent:234,videoEffectsEvent:235,unpluggedOpsEogAnalyticsEvent:236,playbackAudioRouteEvent:237,interactionLoggingDebugModeError:238,offlineYtbRefreshed:239,kidsFlowError:240,musicAutoplayOnLaunchAttempted:242,deviceContextActivityEvent:243, deviceContextEvent:244,templateResolutionException:245,musicSideloadedPlaylistServiceCalled:246,embedsStorageAccessNotChecked:247,embedsHasStorageAccessResult:248,embedsItpPlayedOnReload:249,embedsRequestStorageAccessResult:250,embedsShouldRequestStorageAccessResult:251,embedsRequestStorageAccessState:256,embedsRequestStorageAccessFailedState:257,embedsItpWatchLaterResult:266,searchSuggestDecodingPayloadFailure:252,siriShortcutActivated:253,tvhtml5KeyboardPerformance:254,latencyActionSpan:255,elementsLog:267, ytbFileOpened:268,tfliteModelError:269,apiTest:270,yongleUsbSetup:271,touStrikeInterstitialEvent:272,liteStreamToSave:274,appBundleClientEvent:275,ytbFileCreationFailed:276,adNotifyFailure:278,ytbTransferFailed:280,blockingRequestFailed:281,liteAccountSelector:282,liteAccountUiCallbacks:283,dummyPayload:284,browseResponseValidationEvent:285,entitiesError:286,musicIosBackgroundFetch:287,mdxNotificationEvent:289,layersValidationError:290,musicPwaInstalled:291,liteAccountCleanup:292,html5PlayerHealthEvent:293, watchRestoreAttempt:294,liteAccountSignIn:296,notaireEvent:298,kidsVoiceSearchEvent:299,adNotifyFilled:300,delayedEventDropped:301,analyticsSearchEvent:302,systemDarkThemeOptOutEvent:303,flowEvent:304,networkConnectivityBaselineEvent:305,ytbFileImported:306,downloadStreamUrlExpired:307,directSignInEvent:308,lyricImpressionEvent:309,accessibilityStateEvent:310,tokenRefreshEvent:311,genericAttestationExecution:312,tvhtml5VideoSeek:313,unpluggedAutoPause:314,scrubbingEvent:315,bedtimeReminderEvent:317, tvhtml5UnexpectedRestart:319,tvhtml5DeviceStorageStats:535,tvhtml5StabilityTraceEvent:478,tvhtml5OperationHealth:467,tvhtml5WatchKeyEvent:321,voiceLanguageChanged:322,tvhtml5LiveChatStatus:323,parentToolsCorpusSelectedEvent:324,offerAdsEnrollmentInitiated:325,networkQualityIntervalEvent:326,deviceStartupMetrics:328,heartbeatActionPlayerTransitioned:330,tvhtml5Lifecycle:331,heartbeatActionPlayerHalted:332,adaptiveInlineMutedSettingEvent:333,mainAppLibraryLoadingState:334,thirdPartyLogMonitoringEvent:336, appShellAssetLoadReport:337,tvhtml5AndroidAttestation:338,tvhtml5StartupSoundEvent:340,iosBackgroundRefreshTask:342,iosBackgroundProcessingTask:343,sliEventBatch:344,postImpressionEvent:346,musicSideloadedPlaylistExport:347,idbUnexpectedlyClosed:348,voiceSearchEvent:349,mdxSessionCastEvent:350,idbQuotaExceeded:351,idbTransactionEnded:352,idbTransactionAborted:353,tvhtml5KeyboardLogging:354,idbIsSupportedCompleted:355,creatorStudioMobileEvent:356,idbDataCorrupted:357,parentToolsAppChosenEvent:358, webViewBottomSheetResized:359,activeStateControllerScrollPerformanceSummary:360,navigatorValidation:361,mdxSessionHeartbeat:362,clientHintsPolyfillDiagnostics:363,clientHintsPolyfillEvent:364,proofOfOriginTokenError:365,kidsAddedAccountSummary:366,musicWearableDevice:367,ypcRefundFlowEvent:368,tvhtml5PlaybackMeasurementEvent:369,tvhtml5WatermarkMeasurementEvent:370,clientExpGcfPropagationEvent:371,mainAppReferrerIntent:372,leaderLockEnded:373,leaderLockAcquired:374,googleHatsEvent:375,persistentLensLaunchEvent:376, parentToolsChildWelcomeChosenEvent:378,browseThumbnailPreloadEvent:379,finalPayload:380,mdxDialAdditionalDataUpdateEvent:381,webOrchestrationTaskLifecycleRecord:382,startupSignalEvent:384,accountError:385,gmsDeviceCheckEvent:386,accountSelectorEvent:388,accountUiCallbacks:389,mdxDialAdditionalDataProbeEvent:390,downloadsSearchIcingApiStats:391,downloadsSearchIndexUpdatedEvent:397,downloadsSearchIndexSnapshot:398,dataPushClientEvent:392,kidsCategorySelectedEvent:393,mdxDeviceManagementSnapshotEvent:394, prefetchRequested:395,prefetchableCommandExecuted:396,gelDebuggingEvent:399,webLinkTtsPlayEnd:400,clipViewInvalid:401,persistentStorageStateChecked:403,cacheWipeoutEvent:404,playerEvent:410,sfvEffectPipelineStartedEvent:412,sfvEffectPipelinePausedEvent:429,sfvEffectPipelineEndedEvent:413,sfvEffectChosenEvent:414,sfvEffectLoadedEvent:415,sfvEffectUserInteractionEvent:465,sfvEffectFirstFrameProcessedLatencyEvent:416,sfvEffectAggregatedFramesProcessedLatencyEvent:417,sfvEffectAggregatedFramesDroppedEvent:418, sfvEffectPipelineErrorEvent:430,sfvEffectGraphFrozenEvent:419,sfvEffectGlThreadBlockedEvent:420,mdeQosEvent:510,mdeVideoChangedEvent:442,mdePlayerPerformanceMetrics:472,mdeExporterEvent:497,genericClientExperimentEvent:423,homePreloadTaskScheduled:424,homePreloadTaskExecuted:425,homePreloadCacheHit:426,polymerPropertyChangedInObserver:427,applicationStarted:431,networkCronetRttBatch:432,networkCronetRttSummary:433,repeatChapterLoopEvent:436,seekCancellationEvent:462,lockModeTimeoutEvent:483,externalVideoShareToYoutubeAttempt:501, parentCodeEvent:502,offlineTransferStarted:4,musicOfflineMixtapePreferencesChanged:16,mangoDailyNewVideosNotificationAttempt:40,mangoDailyNewVideosNotificationError:77,dtwsPlaybackStarted:112,dtwsTileFetchStarted:113,dtwsTileFetchCompleted:114,dtwsTileFetchStatusChanged:145,dtwsKeyframeDecoderBufferSent:115,dtwsTileUnderflowedOnNonkeyframe:116,dtwsBackfillFetchStatusChanged:143,dtwsBackfillUnderflowed:117,dtwsAdaptiveLevelChanged:128,blockingVisitorIdTimeout:277,liteSocial:18,mobileJsInvocation:297, biscottiBasedDetection:439,coWatchStateChange:440,embedsVideoDataDidChange:441,shortsFirst:443,cruiseControlEvent:445,qoeClientLoggingContext:446,atvRecommendationJobExecuted:447,tvhtml5UserFeedback:448,producerProjectCreated:449,producerProjectOpened:450,producerProjectDeleted:451,producerProjectElementAdded:453,producerProjectElementRemoved:454,producerAppStateChange:509,producerProjectDiskInsufficientExportFailure:516,producerMediaServicesResetDetails:522,tvhtml5ShowClockEvent:455,deviceCapabilityCheckMetrics:456, youtubeClearcutEvent:461,offlineBrowseFallbackEvent:463,getCtvTokenEvent:464,startupDroppedFramesSummary:466,screenshotEvent:468,miniAppPlayEvent:469,elementsDebugCounters:470,fontLoadEvent:471,webKillswitchReceived:473,webKillswitchExecuted:474,cameraOpenEvent:475,manualSmoothnessMeasurement:476,tvhtml5AppQualityEvent:477,polymerPropertyAccessEvent:479,miniAppSdkUsage:480,cobaltTelemetryEvent:481,crossDevicePlayback:482,channelCreatedWithObakeImage:484,channelEditedWithObakeImage:485,offlineDeleteEvent:486, crossDeviceNotificationTransfer:487,androidIntentEvent:488,unpluggedAmbientInterludesCounterfactualEvent:489,keyPlaysPlayback:490,shortsCreationFallbackEvent:493,vssData:491,castMatch:494,miniAppPerformanceMetrics:495,userFeedbackEvent:496,kidsGuestSessionMismatch:498,musicSideloadedPlaylistMigrationEvent:499,sleepTimerSessionFinishEvent:500,watchEpPromoConflict:503,innertubeResponseCacheMetrics:505,miniAppAdEvent:506,dataPlanUpsellEvent:507,producerProjectRenamed:508,producerMediaSelectionEvent:511, embedsAutoplayStatusChanged:512,remoteConnectEvent:513,connectedSessionMisattributionEvent:514,producerProjectElementModified:515,adsSeenClientLogging:517,producerEvent:518,tvhtml5CleanStart:519,deviceAccountMetricsEvent:520,derpLogEvent:521,playablesPortalEvent:523,ipValidationStarted:524,ipValidationReceived:525,reelsSequenceMutationEvent:527,watchZoomStateChange:528,metadataEditorEvent:529,kidsPrismaDeeplinksEvent:530,creationOrchestrationEvent:531,coordinatedSamplingTriggered:532,dnaRecapScreenshotEvent:534, mdxLocalNetworkPermissionRequestEvent:536,mdxLocalNetworkPermissionResponseEvent:537,sessionReplayEvent:538,sessionReplayStatusEvent:539,loggingReliabilityProbe:540};var Rt=ms("ServiceWorkerLogsDatabase",{Eb:{SWHealthLog:{Lb:1}},shared:!0,upgrade:(a,b)=>{b(1)&&yr(tr(a,"SWHealthLog",{keyPath:"id",autoIncrement:!0}),"swHealthNewRequest",["interface","timestamp"])}, version:1});function St(a){return Kr(Rt(),a)} async function Tt(a){a=await St(a);const b=U()-2592E6;await pr(a,["SWHealthLog"],{mode:"readwrite",ka:!0},c=>zr(c.objectStore("SWHealthLog"),{},d=>{if(d.getValue().timestamp<=b)return d.delete().then(()=>Cr(d))}))} async function Ut(a){await (await St(a)).clear("SWHealthLog")} ;const Vt={};let Wt=0;function Xt(a){const b=new Image,c=""+Wt++;Vt[c]=b;b.onload=b.onerror=()=>{delete Vt[c]}; ({}).zi&&(b.referrerPolicy="no-referrer");b.src=a} ;let Yt;function Zt(){Yt||(Yt=new Fq("yt.offline"));return Yt} function $t(a){if(R("offline_error_handling")){var b=Zt().get("errors",!0)||{};b[a.message]={name:a.name,stack:a.stack};a.level&&(b[a.message].level=a.level);Zt().set("errors",b,2592E3,!0)}} ;function au(){if(!bu.instance){const a=w("yt.networkRequestMonitor.instance")||new bu;v("yt.networkRequestMonitor.instance",a);bu.instance=a}return bu.instance} var bu=class{constructor(){this.h=new Map;this.i=!1}requestComplete(a,b){b&&(this.i=!0);a=this.removeParams(a);this.h.get(a)||this.h.set(a,b)}isEndpointCFR(a){a=this.removeParams(a);return(a=this.h.get(a))?!1:a===!1&&this.i?!0:null}removeParams(a){return a.split("?")[0]}};bu.prototype.removeParams=bu.prototype.removeParams;bu.prototype.isEndpointCFR=bu.prototype.isEndpointCFR;bu.prototype.requestComplete=bu.prototype.requestComplete;bu.getInstance=au;function cu(){if(!du.instance){const a=w("yt.networkStatusManager.instance")||new du;v("yt.networkStatusManager.instance",a);du.instance=a}return du.instance} var du=class extends Li{constructor(){super();this.j=!1;this.h=Gl();this.h.listen("networkstatus-online",()=>{if(this.j&&R("offline_error_handling")){var a=Zt().get("errors",!0);if(a){for(const b in a)if(a[b]){const c=new S(b,"sent via offline_errors");c.name=a[b].name;c.stack=a[b].stack;c.level=a[b].level;zo(c)}Zt().set("errors",{},2592E3,!0)}}})}va(){return this.h.va()}jb(a){this.h.h=a}Ne(){const a=window.navigator.onLine; return a===void 0?!0:a}xe(){this.j=!0}listen(a,b){return this.h.listen(a,b)}Dc(a){return Jl(this.h,a)}};du.prototype.sendNetworkCheckRequest=du.prototype.Dc;du.prototype.listen=du.prototype.listen;du.prototype.enableErrorFlushing=du.prototype.xe;du.prototype.getWindowStatus=du.prototype.Ne;du.prototype.networkStatusHint=du.prototype.jb;du.prototype.isNetworkAvailable=du.prototype.va;du.getInstance=cu;function eu(a,b){a.rateLimit?a.h?(Hl.sa(a.u),a.u=Hl.ra(()=>{a.o!==b&&(Mi(a,b),a.o=b,a.h=U())},a.rateLimit-(U()-a.h))):(Mi(a,b),a.o=b,a.h=U()):Mi(a,b)} var fu=class extends Li{constructor(a={}){super();this.h=this.u=0;this.j=cu();const b=w("yt.networkStatusManager.instance.listen").bind(this.j);b&&(a.rateLimit?(this.rateLimit=a.rateLimit,b("networkstatus-online",()=>{eu(this,"publicytnetworkstatus-online")}),b("networkstatus-offline",()=>{eu(this,"publicytnetworkstatus-offline")})):(b("networkstatus-online",()=>{Mi(this,"publicytnetworkstatus-online")}),b("networkstatus-offline",()=>{Mi(this,"publicytnetworkstatus-offline")})))}va(){const a=w("yt.networkStatusManager.instance.isNetworkAvailable"); return a?a.bind(this.j)():!0}jb(a){const b=w("yt.networkStatusManager.instance.networkStatusHint").bind(this.j);b&&b(a)}async Dc(a){const b=w("yt.networkStatusManager.instance.sendNetworkCheckRequest").bind(this.j);return R("skip_network_check_if_cfr")&&au().isEndpointCFR("generate_204")?new Promise(c=>{this.jb(window.navigator?.onLine||!0);c(this.va())}):b?b(a):!0}};let gu;function hu(){let a=w("yt.networklessRequestController.instance");a||(a=new iu,v("yt.networklessRequestController.instance",a),R("networkless_logging")&&Yr().then(b=>{a.W=b;vt(a);a.u.resolve();a.jc&&Math.random()<=a.fc&&a.W&&Tt(a.W);R("networkless_immediately_drop_sw_health_store")&&ju(a)})); return a} async function ju(a){if(!a.W)throw br("clearSWHealthLogsDb");Ut(a.W).catch(b=>{a.handleError(b)})} var iu=class extends Et{constructor(){gu||(gu=new fu({gi:!0,Vh:!0}));super({ea:{oe:Ot,sb:Nt,od:Kt,Ze:Lt,Yc:Mt,set:It},da:gu,handleError:(a,b,c)=>{const d=c?.error?.code;d===400||d===415?(a=new S(a.message,b,c?.error?.code),Ao(a,void 0,void 0,void 0,!0)):zo(a)}, wb:Ao,sendFn:ku,now:U,Ud:$t,Fa:Dq(),Xc:"publicytnetworkstatus-online",Wc:"publicytnetworkstatus-offline",jc:!0,fc:.1,zc:I("potential_esf_error_limit",10),Y:R,Qb:!(Xp()&&lu())});this.u=new ik;R("networkless_immediately_drop_all_requests")&&Pt();js("LogsDatabaseV2")}writeThenSend(a,b){b||(b={});b=mu(a,b);Xp()||(this.h=!1);super.writeThenSend(a,b)}sendThenWrite(a,b,c){b||(b={});b=mu(a,b);Xp()||(this.h=!1);super.sendThenWrite(a,b,c)}sendAndWrite(a,b){b||(b={});b=mu(a,b);Xp()||(this.h=!1);super.sendAndWrite(a, b)}awaitInitialization(){return this.u.promise}}; function ku(a,b,c,d=!1){b=R("web_fp_via_jspb")?Object.assign({},b):b;R("use_request_time_ms_header")?b.headers&&Lo(a)&&(b.headers["X-Goog-Request-Time"]=JSON.stringify(Math.round(U()))):b.postParams?.requestTimeMs&&(b.postParams.requestTimeMs=Math.round(U()));if(c&&Object.keys(b).length===0){if(a)if(O("USE_NET_AJAX_FOR_PING_TRANSPORT",!1))ap(a,void 0,"GET","",void 0,void 0,!1,!1);else{b:{try{c:{var e=new ya({url:a});if(e.h.dsh==="1")var f=null;else{var g=e.h.ae;if(g==="1"){const u=e.h.adurl;if(u)try{f= {version:3,ue:decodeURIComponent(u),ge:va(e.i,"act=1","ri=1",xa(e))};break c}catch(p){}}f=g==="2"?{version:4,ue:va(e.i,"dct=1","suid="+e.j,"ri=1"),ge:va(e.i,"act=1","ri=1","suid="+e.j)}:null}}if(f){const u=zb(a);var h;if(!(h=!u||!u.endsWith("/aclk"))){{const p=a.search(Hb);let z=Gb(a,0,"ri",p);if(z<0)var k=null;else{var l=a.indexOf("&",z);if(l<0||l>p)l=p;k=ub(a.slice(z+3,l!==-1?l:0))}}h=k!=="1"}var m=!h;break b}}catch(u){}m=!1}if(m){b:{try{if(window.navigator&&window.navigator.sendBeacon&&window.navigator.sendBeacon(a, "")){var n=!0;break b}}catch(u){}n=!1}c=n?!0:!1}else c=!1;c||Xt(a)}}else b.compress?b.postBody?(typeof b.postBody!=="string"&&(b.postBody=JSON.stringify(b.postBody)),kt(a,b.postBody,b,ep,d)):kt(a,JSON.stringify(b.postParams),b,dp,d):ep(a,b)} function mu(a,b){R("use_event_time_ms_header")&&Lo(a)&&(b.headers||(b.headers={}),b.headers["X-Goog-Event-Time"]=JSON.stringify(Math.round(U())));return b} function lu(){return yb(document.location.toString())!=="www.youtube-nocookie.com"} ;let nu=!1;const ou=t.ytNetworklessLoggingInitializationOptions||{isNwlInitialized:nu};v("ytNetworklessLoggingInitializationOptions",ou);async function pu(){await Yr()&&(Xp()||R("nwl_init_require_datasync_id_killswitch"))&&lu()&&(nu=!0,ou.isNwlInitialized=nu,await hu().awaitInitialization())} ;function tt(a,b,c,d){!O("VISITOR_DATA")&&b!=="visitor_id"&&Math.random()<.01&&Ao(new S("Missing VISITOR_DATA when sending innertube request.",b,c,d));if(!a.isReady()){var e=new S("innertube xhrclient not ready",b,c,d);zo(e);throw e;}const f={headers:d.headers||{},method:"POST",postParams:c,postBody:d.postBody,postBodyFormat:d.postBodyFormat||"JSON",onTimeout:()=>{d.onTimeout()}, onFetchTimeout:d.onTimeout,onSuccess:(n,u)=>{if(d.onSuccess)d.onSuccess(u)}, onFetchSuccess:n=>{if(d.onSuccess)d.onSuccess(n)}, onProgress:n=>{if(d.onProgress)d.onProgress(n)}, onError:(n,u)=>{if(d.onError)d.onError(u)}, onFetchError:n=>{if(d.onError)d.onError(n)}, timeout:d.timeout,withCredentials:!0,compress:d.compress};f.headers["Content-Type"]||(f.headers["Content-Type"]="application/json");let g="";(e=a.config_.Te)&&(g=e);const h=a.config_.Ue||!1,k=Cs(h,g,d);Object.assign(f.headers,k);f.headers.Authorization&&!g&&h&&(f.headers["x-origin"]=window.location.origin);const l=Jo(`${g}${`/${"youtubei"}/${a.config_.innertubeApiVersion}/${b}`}`,{alt:"json"}),m=(n=!1)=>{let u;if(d.retry&&g!="www.youtube-nocookie.com"&&(n||R("skip_ls_gel_retry")||f.headers["Content-Type"]!== "application/json"||(u=qt(b,c,k,h)),u)){const p=f.onSuccess,z=f.onFetchSuccess;f.onSuccess=(D,B)=>{rt(u);p(D,B)}; c.onFetchSuccess=(D,B)=>{rt(u);z(D,B)}}try{if(n&&d.retry&&!d.networklessOptions.bypassNetworkless)f.method="POST",d.networklessOptions.writeThenSend?hu().writeThenSend(l,f):hu().sendAndWrite(l,f); else if(d.compress){const p=!d.networklessOptions.writeThenSend;if(f.postBody){let z=f.postBody;typeof z!=="string"&&(z=JSON.stringify(f.postBody));kt(l,z,f,ep,p)}else kt(l,JSON.stringify(f.postParams),f,dp,p)}else dp(l,f)}catch(p){if(p.name==="InvalidAccessError")u&&(rt(u),u=0),Ao(Error("An extension is blocking network request."));else throw p;}u&&Zp(()=>{st(a)},5E3)}; (w("ytNetworklessLoggingInitializationOptions")?ou.isNwlInitialized:nu)?Wr().then(n=>{m(n)}):m(!1)} var qu=class{constructor(a){this.config_=null;a?this.config_=a:zs()&&(this.config_=As());Zp(()=>{st(this)},5E3)}isReady(){!this.config_&&zs()&&(this.config_=As()); return!!this.config_}};let ru=0;const su=Mc?"webkit":Lc?"moz":Jc?"ms":Ic?"o":"";v("ytDomDomGetNextId",w("ytDomDomGetNextId")||(()=>++ru));const tu={stopImmediatePropagation:1,stopPropagation:1,preventMouseEvent:1,preventManipulation:1,preventDefault:1,layerX:1,layerY:1,screenX:1,screenY:1,scale:1,rotation:1,webkitMovementX:1,webkitMovementY:1};function uu(a){if(document.body&&document.documentElement){const b=document.body.scrollTop+document.documentElement.scrollTop;a.h=a.clientX+(document.body.scrollLeft+document.documentElement.scrollLeft);a.i=a.clientY+b}} class vu{constructor(a){this.type="";this.state=this.source=this.data=this.currentTarget=this.relatedTarget=this.target=null;this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.ctrlKey=this.altKey=!1;this.rotation=this.clientY=this.clientX=0;this.scale=1;this.changedTouches=this.touches=null;try{if(a=a||window.event){this.event=a;for(let d in a)d in tu||(this[d]=a[d]);this.scale=a.scale;this.rotation=a.rotation;var b=a.target||a.srcElement;b&&b.nodeType==3&&(b=b.parentNode);this.target=b; var c=a.relatedTarget;if(c)try{c=c.nodeName?c:null}catch(d){c=null}else this.type=="mouseover"?c=a.fromElement:this.type=="mouseout"&&(c=a.toElement);this.relatedTarget=c;this.clientX=a.clientX!=void 0?a.clientX:a.pageX;this.clientY=a.clientY!=void 0?a.clientY:a.pageY;this.keyCode=a.keyCode?a.keyCode:a.which;this.charCode=a.charCode||(this.type=="keypress"?this.keyCode:0);this.altKey=a.altKey;this.ctrlKey=a.ctrlKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.h=a.pageX;this.i=a.pageY}}catch(d){}}preventDefault(){this.event&& (this.event.returnValue=!1,this.event.preventDefault&&this.event.preventDefault())}stopPropagation(){this.event&&(this.event.cancelBubble=!0,this.event.stopPropagation&&this.event.stopPropagation())}stopImmediatePropagation(){this.event&&(this.event.cancelBubble=!0,this.event.stopImmediatePropagation&&this.event.stopImmediatePropagation())}};const dh=t.ytEventsEventsListeners||{};v("ytEventsEventsListeners",dh);const wu=t.ytEventsEventsCounter||{count:0};v("ytEventsEventsCounter",wu); function xu(a,b,c,d={}){a.addEventListener&&(b!="mouseenter"||"onmouseenter"in document?b!="mouseleave"||"onmouseenter"in document?b=="mousewheel"&&"MozBoxSizing"in document.documentElement.style&&(b="MozMousePixelScroll"):b="mouseout":b="mouseover");return ch(e=>{const f=typeof e[4]==="boolean"&&e[4]==!!d,g=la(e[4])&&la(d)&&hh(e[4],d);return!!e.length&&e[0]==a&&e[1]==b&&e[2]==c&&(f||g)})} function yu(a,b,c,d={}){if(!a||!a.addEventListener&&!a.attachEvent)return"";let e=xu(a,b,c,d);if(e)return e;e=++wu.count+"";const f=!(b!="mouseenter"&&b!="mouseleave"||!a.addEventListener||"onmouseenter"in document);let g;g=f?h=>{h=new vu(h);if(!sh(h.relatedTarget,k=>k==a))return h.currentTarget=a,h.type=b,c.call(a,h)}:h=>{h=new vu(h); h.currentTarget=a;return c.call(a,h)}; g=P(g);a.addEventListener?(b=="mouseenter"&&f?b="mouseover":b=="mouseleave"&&f?b="mouseout":b=="mousewheel"&&"MozBoxSizing"in document.documentElement.style&&(b="MozMousePixelScroll"),zu()||typeof d==="boolean"?a.addEventListener(b,g,d):a.addEventListener(b,g,!!d.capture)):a.attachEvent(`on${b}`,g);dh[e]=[a,b,c,g,d];return e} function Au(a){a&&(typeof a=="string"&&(a=[a]),gb(a,b=>{if(b in dh){var c=dh[b];const d=c[0],e=c[1],f=c[3];c=c[4];d.removeEventListener?zu()||typeof c==="boolean"?d.removeEventListener(e,f,c):d.removeEventListener(e,f,!!c.capture):d.detachEvent&&d.detachEvent(`on${e}`,f);delete dh[b]}}))} const zu=aj(function(){let a=!1;try{const b=Object.defineProperty({},"capture",{get:function(){a=!0}}); window.addEventListener("test",null,b)}catch(b){}return a});function Bu(a){this.D=a;this.h=null;this.o=0;this.A=null;this.u=0;this.i=[];for(a=0;a<4;a++)this.i.push(0);this.j=0;this.R=yu(window,"mousemove",qa(this.V,this));a=qa(this.H,this);typeof a==="function"&&(a=P(a));this.ba=window.setInterval(a,25)} ua(Bu,y);Bu.prototype.V=function(a){a.h===void 0&&uu(a);var b=a.h;a.i===void 0&&uu(a);this.h=new Zg(b,a.i)}; Bu.prototype.H=function(){if(this.h){var a=U();if(this.o!=0){var b=this.A,c=this.h,d=b.x-c.x;b=b.y-c.y;d=Math.sqrt(d*d+b*b)/(a-this.o);this.i[this.j]=Math.abs((d-this.u)/this.u)>.5?1:0;b=0;for(c=0;c<4;c++)b+=this.i[c]||0;b>=3&&this.D();this.u=d}this.o=a;this.A=this.h;this.j=(this.j+1)%4}}; Bu.prototype.X=function(){window.clearInterval(this.ba);Au(this.R)};const Cu={};function Du({mi:a=!1,Wh:b=!0}={}){if(w("_lact",window)==null){var c=parseInt(O("LACT"),10);c=isFinite(c)?Date.now()-Math.max(c,0):-1;v("_lact",c,window);v("_fact",c,window);c==-1&&Eu();Fu(a,b);new Bu(()=>{Gu("mouse",100)})}} function Fu(a=!1,b=!0){var c=window;yu(c.document,"keydown",Eu);yu(c.document,"keyup",Eu);yu(c.document,"mousedown",Eu);yu(c.document,"mouseup",Eu);a?yu(c,"touchmove",()=>{Gu("touchmove",200)},{passive:!0}):(yu(c,"resize",()=>{Gu("resize",200)}),b&&yu(c,"scroll",()=>{Gu("scroll",200)})); yu(c.document,"touchstart",Eu,{passive:!0});yu(c.document,"touchend",Eu,{passive:!0})} function Gu(a,b){Cu[a]||(Cu[a]=!0,Hl.ra(()=>{Eu();Cu[a]=!1},b))} function Eu(){w("_lact",window)==null&&Du();var a=Date.now();v("_lact",a,window);w("_fact",window)==-1&&v("_fact",a,window);(a=w("ytglobal.ytUtilActivityCallback_"))&&a()} function Hu(){const a=w("_lact",window);return a==null?-1:Math.max(Date.now()-a,0)} ;const Iu=t.ytPubsubPubsubInstance||new J,Ju=t.ytPubsubPubsubSubscribedKeys||{},Ku=t.ytPubsubPubsubTopicToKeys||{},Lu=t.ytPubsubPubsubIsSynchronous||{};function Mu(a,b){const c=Nu();if(c&&b){const d=c.subscribe(a,function(){const e=arguments,f=()=>{Ju[d]&&b.apply&&typeof b.apply=="function"&&b.apply(window,e)}; try{Lu[a]?f():So(f,0)}catch(g){zo(g)}},void 0); Ju[d]=!0;Ku[a]||(Ku[a]=[]);Ku[a].push(d);return d}return 0} function Ou(a){const b=Nu();b&&(typeof a==="number"?a=[a]:typeof a==="string"&&(a=[parseInt(a,10)]),gb(a,c=>{b.unsubscribeByKey(c);delete Ju[c]}))} function Pu(a,b){const c=Nu();c&&c.publish.apply(c,arguments)} function Qu(a){const b=Nu();if(b)if(b.clear(a),a)Ru(a);else for(let c in Ku)Ru(c)} function Nu(){return t.ytPubsubPubsubInstance} function Ru(a){Ku[a]&&(a=Ku[a],gb(a,b=>{Ju[b]&&delete Ju[b]}),a.length=0)} J.prototype.subscribe=J.prototype.subscribe;J.prototype.unsubscribeByKey=J.prototype.ac;J.prototype.publish=J.prototype.ob;J.prototype.clear=J.prototype.clear;v("ytPubsubPubsubInstance",Iu);v("ytPubsubPubsubTopicToKeys",Ku);v("ytPubsubPubsubIsSynchronous",Lu);v("ytPubsubPubsubSubscribedKeys",Ju);var Su=Symbol("injectionDeps"),Tu=class{constructor(a){this.name=a}toString(){return`InjectionToken(${this.name})`}},Uu=class{constructor(a){this.key=a}};function Vu(a,b){a.i.set(b.Vb,b);const c=a.j.get(b.Vb);if(c)try{c.Cc(a.resolve(b.Vb))}catch(d){c.si(d)}} function Wu(a,b,c,d=!1){if(c.indexOf(b)>-1)throw Error(`Deps cycle for: ${b}`);if(a.h.has(b))return a.h.get(b);if(!a.i.has(b)){if(d)return;throw Error(`No provider for: ${b}`);}d=a.i.get(b);c.push(b);if(d.Nd!==void 0)var e=d.Nd;else if(d.Gf)e=d[Su]?Xu(a,d[Su],c):[],e=d.Gf(...e);else if(d.dd){e=d.dd;const f=e[Su]?Xu(a,e[Su],c):[];e=new e(...f)}else throw Error(`Could not resolve providers for: ${b}`);c.pop();d.Ci||a.h.set(b,e);return e} function Xu(a,b,c){return b?b.map(d=>d instanceof Uu?Wu(a,d.key,c,!0):Wu(a,d,c)):[]} var Yu=class{constructor(){this.i=new Map;this.j=new Map;this.h=new Map}resolve(a){return a instanceof Uu?Wu(this,a.key,[],!0):Wu(this,a,[])}};let Zu;function $u(){Zu||(Zu=new Yu);return Zu} ;let av=window;function bv(){return"h5vcc"in av&&av.h5vcc.traceEvent?.traceBegin&&av.h5vcc.traceEvent?.traceEnd?1:"performance"in av&&av.performance.mark&&av.performance.measure?2:0} function cv(a){const b=bv();switch(b){case 1:av.h5vcc.traceEvent.traceBegin("YTLR",a);break;case 2:av.performance.mark(`${a}-start`);break;case 0:break;default:Ta(b,"unknown trace type")}} function dv(a){var b=bv();switch(b){case 1:av.h5vcc.traceEvent.traceEnd("YTLR",a);break;case 2:b=`${a}-start`;const c=`${a}-end`;av.performance.mark(c);av.performance.measure(a,b,c);break;case 0:break;default:Ta(b,"unknown trace type")}} ;var ev=R("web_enable_lifecycle_monitoring")&&bv()!==0,fv=R("web_enable_lifecycle_monitoring");function gv(a){var b=Array.from(a.h.keys()).sort((c,d)=>a.getPriority(a.h[d])-a.getPriority(a.h[c])); for(const c of b)b=a.h[c],b.jobId===void 0||b.Ac||(a.scheduler.sa(b.jobId),a.scheduler.Ta(b.Pc,10))} var hv=class{constructor(a){this.scheduler=Dq();this.i=new ik;this.h=a;for(let c=0;c{d.Pc();this.h[c].Ac=!0;this.h.every(e=>e.Ac===!0)&&this.i.resolve()}; var b=this.getPriority(d);b=this.scheduler.Ta(a,b);this.h[c]={...d,Pc:a,jobId:b}}}cancel(){for(const a of this.h)a.jobId===void 0||a.Ac||this.scheduler.sa(a.jobId),a.Ac=!0;this.i.resolve()}getPriority(a){return a.priority??0}};function iv(a,b,c){fv&&console.groupCollapsed&&console.groupEnd&&(console.groupCollapsed(`[${a.constructor.name}] '${a.state}' to '${b}'`),console.log("with message: ",c),console.groupEnd())} function jv(a,b){const c=b.filter(e=>(a.i??e.priority??0)===10),d=b.filter(e=>(a.i??e.priority??0)!==10); return a.A.Bi?async(...e)=>{await kv(c,...e);lv(a,d,...e)}:(...e)=>{mv(c,...e); lv(a,d,...e)}} async function kv(a,...b){const c=Dq();for(const d of a){let e;c.H(()=>{nv(d.name);const f=ov(()=>d.callback(...b)); Hd(f)?e=R("web_lifecycle_error_handling_killswitch")?f.then(()=>{pv(d.name)}):f.then(()=>{pv(d.name)},g=>{window.onerror?.(g.message,"",0,0,g); pv(d.name)}):pv(d.name)}); e&&await e}} function lv(a,b,...c){b=b.map(d=>({Pc:()=>{nv(d.name);ov(()=>d.callback(...c)); pv(d.name)}, priority:a.i??d.priority??0})); b.length&&(a.o=new hv(b))} function mv(a,...b){const c=Dq();for(const d of a)c.H(()=>{nv(d.name);ov(()=>d.callback(...b)); pv(d.name)})} function nv(a){ev&&a&&cv(a)} function pv(a){ev&&a&&dv(a)} var qv=class{constructor(a){this.state=a;this.plugins=[];this.i=void 0;this.A={};ev&&cv(this.state)}get currentState(){return this.state}install(a){this.plugins.push(a);return this}uninstall(...a){a.forEach(b=>{b=this.plugins.indexOf(b);b>-1&&this.plugins.splice(b,1)})}transition(a,b){ev&&dv(this.state); var c=this.transitions.find(d=>Array.isArray(d.from)?d.from.find(e=>e===this.state&&d.to===a):d.from===this.state&&d.to===a); if(c){this.o&&(gv(this.o),this.o=void 0);iv(this,a,b);this.state=a;ev&&cv(this.state);c=c.action.bind(this);const d=this.plugins.filter(e=>e[a]).map(e=>e[a]); c(jv(this,d),b)}else throw Error(`no transition specified from ${this.state} to ${a}`);}};function ov(a){if(R("web_lifecycle_error_handling_killswitch"))return a();try{return a()}catch(b){window.onerror?.(b.message,"",0,0,b)}} ;function rv(){sv||(sv=new tv);return sv} var tv=class extends qv{constructor(){super("none");this.h=null;this.i=10;this.transitions=[{from:"none",to:"application_navigating",action:this.j},{from:"application_navigating",to:"none",action:this.u},{from:"application_navigating",to:"application_navigating",action:()=>{}}, {from:"none",to:"none",action:()=>{}}]}j(a,b){this.h=Zp(()=>{this.currentState==="application_navigating"&&this.transition("none")},5E3); a(b?.event)}u(a,b){this.h&&(Hl.sa(this.h),this.h=null);a(b?.event)}},sv;let uv=[];v("yt.logging.transport.getScrapedGelPayloads",function(){return uv});function vv(a,b){const c=wv(b);if(a.h[c])return a.h[c];const d=Object.keys(a.store)||[];if(d.length<=1&&wv(b)===d[0])return d;const e=[];for(let g=0;g{Xv({writeThenSend:!0},void 0,!1,b.tier)}; c>=1E3?g():c>=a?Kv||(Kv=Yv(()=>{g();Kv=void 0},0)):d-f>=10&&(Zv(!1,b.tier),e.o=d)} function Uv(a,b){if(a.endpoint==="log_event"){R("more_accurate_gel_parser")&&Ov().storePayload({isJspb:!1},a.payload);Qv(a);var c=Rv(a),d=new Map;d.set(c,[a.payload]);var e=Sv(a.payload)||"";b&&(Ev=new b);return new bj((f,g)=>{Ev&&Ev.isReady()?$v(d,Ev,f,g,{bypassNetworkless:!0},!0,e==="gelDebuggingEvent"):f()})}} function Rv(a){var b="";if(a.dangerousLogToVisitorSession)b="visitorOnlyApprovedKey";else if(a.cttAuthInfo){b=a.cttAuthInfo;const c={};b.videoId?c.videoId=b.videoId:b.playlistId&&(c.playlistId=b.playlistId);Mv[a.cttAuthInfo.token]=c;b=a.cttAuthInfo.token}return b} function Xv(a={},b,c=!1,d){new bj((e,f)=>{const g=Wv(c,d),h=g.j;g.j=!1;aw(g.i);aw(g.h);g.h=0;Ev&&Ev.isReady()?d===void 0&&R("enable_web_tiered_gel")?bw(e,f,a,b,c,300,h):bw(e,f,a,b,c,d,h):(Zv(c,d),e())})} function bw(a,b,c={},d,e=!1,f=200,g=!1){var h=Ev;const k=new Map,l={isJspb:e,cttAuthInfo:d,tier:f};e={isJspb:e,cttAuthInfo:d};if(d!==void 0)f=R("enable_web_tiered_gel")?Ov().smartExtractMatchingEntries({keys:[l,e],sizeLimit:1E3}):Ov().extractMatchingEntries(e),k.set(d,f);else for(const m of Object.keys(Nv))d=R("enable_web_tiered_gel")?Ov().smartExtractMatchingEntries({keys:[{isJspb:!1,cttAuthInfo:m,tier:f},{isJspb:!1,cttAuthInfo:m}],sizeLimit:1E3}):Ov().extractMatchingEntries({isJspb:!1,cttAuthInfo:m}), d.length>0&&k.set(m,d),(R("web_fp_via_jspb_and_json")&&c.writeThenSend||!R("web_fp_via_jspb_and_json"))&&delete Nv[m];$v(k,h,a,b,c,!1,g)} function Zv(a=!1,b=200){const c=()=>{Xv({writeThenSend:!0},void 0,a,b)},d=Wv(a,b); var e=d===Jv||d===Iv?5E3:Cv;R("web_gel_timeout_cap")&&!d.h&&(e=Yv(()=>{c()},e),d.h=e); aw(d.i);e=O("LOGGING_BATCH_TIMEOUT",I("web_gel_debounce_ms",1E4));R("shorten_initial_gel_batch_timeout")&&Lv&&(e=Bv);e=Yv(()=>{I("gel_min_batch_size")>0?Ov().getSequenceCount({cttAuthInfo:void 0,isJspb:a,tier:b})>=Dv&&c():c()},e); d.i=e} function $v(a,b,c,d,e={},f,g){const h=Math.round(U());let k=a.size;const l=cw(g);for(const [m,n]of a){a=m;g=n;const u=jh({context:Bs(b.config_||As())});if(!ka(g)&&!R("throw_err_when_logevent_malformed_killswitch")){d();break}u.events=g;(g=Mv[a])&&dw(u,a,g);delete Mv[a];const p=a==="visitorOnlyApprovedKey";ew(u,h,p);R("always_send_and_write")&&(e.writeThenSend=!1);const z=M=>{R("start_client_gcf")&&Hl.ra(async()=>{await fw(M)}); k--;k||c()}; let D=0;const B=()=>{D++;if(e.bypassNetworkless&&D===1)try{tt(b,l,u,gw({writeThenSend:!0},p,z,B,f)),Lv=!1}catch(M){zo(M),d()}k--;k||c()}; try{tt(b,l,u,gw(e,p,z,B,f)),Lv=!1}catch(M){zo(M),d()}}} function gw(a,b,c,d,e){a={retry:!0,onSuccess:c,onError:d,networklessOptions:a,dangerousLogToVisitorSession:b,Qh:!!e,headers:{},postBodyFormat:"",postBody:"",compress:R("compress_gel")||R("compress_gel_lr")};hw()&&(a.headers["X-Goog-Request-Time"]=JSON.stringify(Math.round(U())));return a} function ew(a,b,c){hw()||(a.requestTimeMs=String(b));R("unsplit_gel_payloads_in_logs")&&(a.unsplitGelPayloadsInLogs=!0);!c&&(b=O("EVENT_ID"))&&((c=O("BATCH_CLIENT_COUNTER")||0)||(c=Math.floor(Math.random()*65535/2)),c++,c>65535&&(c=1),vo("BATCH_CLIENT_COUNTER",c),a.serializedClientEventId={serializedEventId:b,clientCounter:String(c)})} function dw(a,b,c){let d;if(c.videoId)d="VIDEO";else if(c.playlistId)d="PLAYLIST";else return;a.credentialTransferTokenTargetId=c;a.context=a.context||{};a.context.user=a.context.user||{};a.context.user.credentialTransferTokens=[{token:b,scope:d}]} function Qv(a){var b=Wo("il_payload_scraping")==="enable_il_payload_scraping";if(!w("yt.logging.transport.enableScrapingForTest"))if(b)uv=[],v("yt.logging.transport.enableScrapingForTest",!0),v("yt.logging.transport.scrapedPayloadsForTesting",uv),v("yt.logging.transport.payloadToScrape","visualElementShown visualElementHidden visualElementAttached screenCreated visualElementGestured visualElementStateChanged".split(" ")),v("yt.logging.transport.getScrapedPayloadFromClientEventsFunction"),v("yt.logging.transport.scrapeClientEvent", !0);else return;b=w("yt.logging.transport.scrapedPayloadsForTesting");const c=w("yt.logging.transport.payloadToScrape"),d=w("yt.logging.transport.scrapeClientEvent");if(c&&c.length>=1)for(let e=0;e{rv().currentState==="none"?a():rv().install({none:{callback:a}})},b):Zp(a,b)} function aw(a){R("transport_use_scheduler")?Hl.sa(a):window.clearTimeout(a)} async function fw(a){a=a?.responseContext?.globalConfigGroup;var b=zv(a,Yn),c=a?.hotHashData;const d=zv(a,Xn),e=a?.coldHashData,f=$u().resolve(new Uu(ys));f&&(c&&(b?await vs(f,c,b):await vs(f,c)),e&&(d?await ws(f,e,d):await ws(f,e)));b=a?.rawFinchStaticConfigGroup;(a=a?.finchStaticHashData)?(c=$u().resolve(new Uu(Av)))?await c.ni({config:b||{},Rh:a||""}):(b||a)&&Ao(new S("FinchConfigManagerService is not present, but Finch config data is present.")):b&&Ao(new S("Finch config data is present, but hash is missing."))} function Wv(a,b=200){return a?b===300?Jv:Hv:b===300?Iv:Gv} function Sv(a){a=Object.keys(a);for(const b of a)if(Qt[b])return b} function Tv(a){switch(a){case "DELAYED_EVENT_TIER_UNSPECIFIED":return 0;case "DELAYED_EVENT_TIER_DEFAULT":return 100;case "DELAYED_EVENT_TIER_DISPATCH_TO_EMPTY":return 200;case "DELAYED_EVENT_TIER_FAST":return 300;case "DELAYED_EVENT_TIER_IMMEDIATE":return 400;default:return 200}} function cw(a=!1){return a&&R("vss_through_gel_video_stats")?"video_stats":"log_event"} ;const iw=t.ytLoggingGelSequenceIdObj_||{};v("ytLoggingGelSequenceIdObj_",iw); function jw(a,b,c,d={}){const e={},f=Math.round(d.timestamp||U());e.eventTimeMs=f=5)){f=[];for(g of pw)try{g()&&f.push(g())}catch(B){}var g= f;g=[...ow,...g];var h=qb(a);f=h.message||"Unknown Error";const z=h.name||"UnknownError";var k=h.stack||a.i||"Not available";if(k.startsWith(`${z}: ${f}`)){var l=k.split("\n");l.shift();k=l.join("\n")}l=h.lineNumber||"Not available";h=h.fileName||"Not available";let D=0;if(a.hasOwnProperty("args")&&a.args&&a.args.length)for(var m=0;m=500);m++);else if(a.hasOwnProperty("params")&&a.params){const B=a.params;if(typeof a.params==="object")for(m in B){if(!B[m])continue; const M=`params.${m}`,K=Ap(B[m]);b[M]=K;D+=M.length+K.length;if(D>500)break}else b.params=Ap(B)}if(g.length)for(m=0;m=500);m++);navigator.vendor&&!b.hasOwnProperty("vendor")&&(b["device.vendor"]=navigator.vendor);b={message:f,name:z,lineNumber:l,fileName:h,stack:k,params:b,sampleWeight:1};m=Number(a.columnNumber);isNaN(m)||(b.lineNumber=`${b.lineNumber}:${m}`);if(a.level==="IGNORED")var n=0;else a:{a=rp();for(n of a.Ya)if(b.message&&b.message.match(n.ii)){n= n.weight;break a}for(var u of a.Va)if(u.callback(b)){n=u.weight;break a}n=1}b.sampleWeight=n;n=b;for(var p of np)if(p.yc[n.name]){u=p.yc[n.name];for(const B of u)if(u=n.message.match(B.regexp)){n.params["params.error.original"]=u[0];a=B.groups;b={};for(m=0;ma!==void 0)} function Pw(a=0){a=Iw(a);if(!a&&!O("USE_CSN_FALLBACK",!0))return null;a||(a="UNDEFINED_CSN");return a?a:null} v("yt_logging_screen.getCurrentCsn",Pw);function Qw(a,b,c){const d=Nw();(c=Pw(c))&&delete d[c];b&&(d[a]=b)} function Rw(a){return Nw()[a]} v("yt_logging_screen.getCttAuthInfo",Rw);v("yt_logging_screen.setCurrentScreen",function(a,b,c=0,d){if(a!==Iw(c)||b!==O(Kw(c)))if(Qw(a,d,c),Jw(a,c),vo(Kw(c),b),b=()=>{setTimeout(()=>{a&&Nq("foregroundHeartbeatScreenAssociated",{clientDocumentNonce:Fw,clientScreenNonce:a})},0)},"requestAnimationFrame"in window)try{window.requestAnimationFrame(b)}catch(e){b()}else b()});function Sw(){const a=ih(Tw);let b;return(new bj((c,d)=>{a.onSuccess=e=>{Qo(e)?c(new Uw(e)):d(new Vw(`Request failed, status=${Ro(e)}`,"net.badstatus",e))}; a.onError=e=>{d(new Vw("Unknown request error","net.unknown",e))}; a.onTimeout=e=>{d(new Vw("Request timed out","net.timeout",e))}; b=ep("//googleads.g.doubleclick.net/pagead/id",a)})).Fc(c=>{c instanceof kj&&b?.abort(); return gj(c)})} var Vw=class extends Ba{constructor(a,b,c){super(`${a}, errorCode=${b}`);this.errorCode=b;this.xhr=c;this.name="PromiseAjaxError"}},Uw=class{constructor(a){this.xhr=a}};function Ww(a,b=null){a.ha=2;a.h=b} function Xw(a,b=null){a.ha=1;a.h=b} class Yw{constructor(){this.ha=0;this.h=null}then(a,b,c){return this.ha===1&&a?(a=a.call(c,this.h))&&typeof a.then==="function"?a:Zw(a):this.ha===2&&b?(a=b.call(c,this.h))&&typeof a.then==="function"?a:$w(a):this}getValue(){return this.h}isRejected(){return this.ha==2}}Yw.prototype.$goog_Thenable=!0;function $w(a=null){const b=new Yw;Ww(b,a);return b} function Zw(a=null){const b=new Yw;Xw(b,a);return b} ;function ax(a){const b=O("INNERTUBE_HOST_OVERRIDE");b&&(a=String(b)+String(Ab(a)));return a} function bx(a){const b={};R("json_condensed_response")&&(b.prettyPrint="false");return a=Ko(a,b||{},!1)} function cx(a,b="POST"){a={method:b,mode:Lo(a)?"same-origin":"cors",credentials:Lo(a)?"same-origin":"include"};b={};const c={};for(const d of Object.keys(b))b[d]&&(c[d]=b[d]);Object.keys(c).length>0&&(a.headers=c);return a} ;function dx(){return Rg()||(Oc||Pc)&&Uq("applewebkit")&&!Uq("version")&&(!Uq("safari")||Uq("gsa/"))||Nc&&Uq("version/")?!0:O("EOM_VISITOR_DATA")?!1:!0} ;function ex(a){var b=a.docid||a.video_id||a.videoId||a.id;if(b)return b;b=a.raw_player_response;b||(a=a.player_response)&&(b=JSON.parse(a));return b&&b.videoDetails&&b.videoDetails.videoId||null} ;function fx(a){var b="EMBEDDED_PLAYER_MODE_UNKNOWN";window.location.hostname.includes("youtubeeducation.com")&&(b="EMBEDDED_PLAYER_MODE_PFL");let c=a.raw_embedded_player_response;if(!c&&(a=a.embedded_player_response))try{c=JSON.parse(a)}catch(d){return b}if(c)a:for(const d in eo)if(eo[d]==c.embeddedPlayerMode){b=eo[d];break a}return b} ;class gx extends Ba{constructor(a){super(a.message||a.description||a.name);this.isMissing=a instanceof hx;this.isTimeout=a instanceof Vw&&a.errorCode=="net.timeout";this.isCanceled=a instanceof kj}}gx.prototype.name="BiscottiError";class hx extends Ba{constructor(){super("Biscotti ID is missing from server")}}hx.prototype.name="BiscottiMissingError";const Tw={format:"RAW",method:"GET",timeout:5E3,withCredentials:!0};let ix=null; function jx(){if(R("disable_biscotti_fetch_entirely_for_all_web_clients"))return Error("Biscotti id fetching has been disabled entirely.");if(!dx())return Error("User has not consented - not fetching biscotti id.");const a=O("PLAYER_VARS",{});if(gh(a)=="1")return Error("Biscotti ID is not available in private embed mode");if(fx(a)==="EMBEDDED_PLAYER_MODE_PFL")return Error("Biscotti id fetching has been disabled for pfl.")} function qo(){const a=jx();if(a!==void 0)return gj(a);ix||(ix=Sw().then(kx).Fc(b=>lx(2,b))); return ix} function kx(a){a=a.xhr.responseText;if(a.lastIndexOf(")]}'",0)!=0)throw new hx;a=JSON.parse(a.substr(4));if((a.type||1)>1)throw new hx;a=a.id;ro(a);ix=Zw(a);mx(18E5,2);return a} function lx(a,b){b=new gx(b);ro("");ix=$w(b);a>0&&mx(12E4,a-1);throw b;} function mx(a,b){So(function(){Sw().then(kx,c=>lx(b,c)).Fc($i)},a)} function nx(){try{const a=w("yt.ads.biscotti.getId_");return a?a():qo()}catch(a){return gj(a)}} ;function ox(a){a&&(a.dataset?a.dataset[px()]="true":bb(a))} function qx(a){return a?a.dataset?a.dataset[px()]:a.getAttribute("data-loaded"):null} const rx={};function px(){return rx.loaded||(rx.loaded="loaded".replace(/\-([a-z])/g,(a,b)=>b.toUpperCase()))} ;class sx{constructor(a){a=a||{};const b={},c={};this.url=a.url||"";this.args=a.args||ih(b);this.assets=a.assets||{};this.attrs=a.attrs||ih(c);this.fallback=a.fallback||null;this.fallbackMessage=a.fallbackMessage||null;this.html5=!!a.html5;this.disable=a.disable||{};this.loaded=!!a.loaded;this.messages=a.messages||{}}clone(){const a=new sx;for(const b in this)if(this.hasOwnProperty(b)){const c=this[b];ja(c)=="object"?a[b]=ih(c):a[b]=c}return a}};var tx=["att/get"],ux=["share/get_share_panel"],vx=["share/get_web_player_share_panel"],wx=["feedback"],xx=["notification/modify_channel_preference"],yx=["browse/edit_playlist"],zx=["subscription/subscribe"],Ax=["subscription/unsubscribe"];const Bx=window.yt&&window.yt.msgs_||window.ytcfg&&window.ytcfg.msgs||{};v("yt.msgs_",Bx);function Cx(a){so(Bx,arguments)} ;function Dx(a,b,c=null){Ex(a,b,c)} function Fx(a){a=Gx(a);const b=document.getElementById(a);b&&(Qu(a),b.parentNode.removeChild(b))} function Hx(a,b){a&&b&&(a=`${ma(b)}`,(a=Ix[a])&&Ou(a))} function Ex(a,b,c=null){const d=Gx(typeof a==="string"?a:a.toString());let e=document.getElementById(d);var f=e&&qx(e);const g=e&&!f;f?b&&b():(b&&(f=Mu(d,b),b=`${ma(b)}`,Ix[b]=f),g||(e=Jx(a,d,()=>{qx(e)||(ox(e),Pu(d),So(()=>{Qu(d)},0))},c)))} function Jx(a,b,c,d=null){const e=ph("SCRIPT");e.id=b;e.onload=()=>{c&&setTimeout(c,0)}; e.onreadystatechange=()=>{switch(e.readyState){case "loaded":case "complete":e.onload()}}; d&&e.setAttribute("nonce",d);$a(e,typeof a==="string"?Vn(a):a);a=document.getElementsByTagName("head")[0]||document.body;a.insertBefore(e,a.firstChild);return e} function Gx(a){const b=document.createElement("a");Sa(b,a);a=b.href.replace(/^[a-zA-Z]+:\/\//,"//");return`js-${vb(a)}`} const Ix={};function Kx(a){const b=Lx(a);let c=document.getElementById(b);const d=c&&qx(c);d||c&&!d||(c=Mx(a,b,()=>{if(!qx(c)){ox(c);Pu(b);const e=ra(Qu,b);So(e,0)}}))} function Mx(a,b,c){const d=document.createElement("link");d.id=b;d.onload=()=>{c&&setTimeout(c,0)}; a=Vn(a);eb(d,a);(document.getElementsByTagName("head")[0]||document.body).appendChild(d);return d} function Lx(a){const b=ph("A");Sa(b,new Ka(a));a=b.href.replace(/^[a-zA-Z]+:\/\//,"//");return`css-${vb(a)}`} ;function Nx(a,...b){if(!Ox(a)||b.some(c=>!Ox(c)))throw Error("Only objects may be merged."); for(const c of b)Px(a,c)} function Px(a,b){for(const c in b)if(Ox(b[c])){if(c in a&&!Ox(a[c]))throw Error("Cannot merge an object into a non-object.");c in a||(a[c]={});Px(a[c],b[c])}else if(Qx(b[c])){if(c in a&&!Qx(a[c]))throw Error("Cannot merge an array into a non-array.");c in a||(a[c]=[]);Rx(a[c],b[c])}else a[c]=b[c];return a} function Rx(a,b){for(const c of b)Ox(c)?a.push(Px({},c)):Qx(c)?a.push(Rx([],c)):a.push(c);return a} function Ox(a){return typeof a==="object"&&!Array.isArray(a)} function Qx(a){return typeof a==="object"&&Array.isArray(a)} ;const Sx="absolute_experiments app conditional_experiments debugcss debugjs expflag forced_experiments pbj pbjreload sbb spf spfreload sr_bns_address sttick".split(" "); function Tx(a,b){var c=O("VALID_SESSION_TEMPDATA_DOMAINS",[]),d=yb(window.location.href);d&&c.push(d);d=yb(a);if(fb(c,d)>=0||!d&&a.lastIndexOf("/",0)==0)if(c=document.createElement("a"),Sa(c,a),a=c.href)if(a=Ab(a),a=Bb(a))if(!b.csn&&(b.itct||b.ved)&&(b=Object.assign({csn:Pw()},b)),e){var e=parseInt(e,10);isFinite(e)&&e>0&&Ux(a,b,e)}else Ux(a,b)} function Ux(a,b,c){a=Vx(a);b=b?Eb(b):"";c=c||5;dx()&&Gp(a,b,c)} function Vx(a){for(let b of Sx)a=Jb(a,b);return"ST-"+vb(a).toString(36)} ;function Wx(a){let b=0;for(let c=0;c1E3&&V(new S("IL Attach cache exceeded limit"))}g=ey(c,b);$x.has(g)?fy(c,b):by.set(g,!0)}}d=d.filter(h=> {h.csn!==b?(h.csn=b,h=!0):h=!1;return h}); c={csn:b,parentVe:c.getAsJson(),childVes:ib(d,h=>h.getAsJson())}; b==="UNDEFINED_CSN"?gy("visualElementAttached",f,c):a?jw("visualElementAttached",c,a,f):Nq("visualElementAttached",c,f)} function gy(a,b,c){Yx.push({nf:a,payload:c,fi:void 0,options:b});Zx||(Zx=Rs())} function Ss(a){if(Yx){for(const b of Yx)b.payload&&(b.payload.csn=a.csn,Nq(b.nf,b.payload,b.options));Yx.length=0}Zx=0} function ey(a,b){return`${a.getAsJson().veType}${a.getAsJson().veCounter}${b}`} function fy(a,b){a=ey(a,b);$x.has(a)&&(b=$x.get(a)||[],cy(b[0],b[1],b[2],[b[3]],!0,{}),$x.delete(a))} function dy(a,b){R("log_sequence_info_on_gel_web")&&(a.sequenceGroup=b);return a} ;class hy{flush(a=[],b=!1){if(R("enable_client_streamz_web"))for(const c of a)a=Fg(c),this.h&&nf(a,Bg,2,this.h),a={serializedIncrementBatch:Tc(a.j())},Nq("streamzIncremented",a,{sendIsolatedPayload:b})}}var vl=class extends hy{constructor(){super()}},iy=class extends hy{constructor(a){super();var b=new Bg;var c=new Ag;c=F(c,1,"botguard");a=F(c,2,a);a=mf(a,Ag);hf(b,1,Cg,a);a&&!wd(a)&&Ue(b.U);this.h=b}};let ul;const jy=new Map;function ky(){try{return!!self.localStorage}catch{return!1}} ;function ly(a){a=a.match(/(.*)::.*::.*/);if(a!==null)return a[1]} function my(a){if(ky()){var b=Object.keys(window.localStorage);for(const c of b)b=ly(c),b===void 0||a.includes(b)||self.localStorage.removeItem(c)}} function ny(){if(!ky())return!1;const a=Yp();var b=Object.keys(window.localStorage);for(const c of b)if(b=ly(c),b!==void 0&&b!==a)return!0;return!1} ;function oy(){let a=!1;try{a=!!window.sessionStorage.getItem("session_logininfo")}catch{a=!0}return(O("INNERTUBE_CLIENT_NAME")==="WEB"||O("INNERTUBE_CLIENT_NAME")==="WEB_CREATOR")&&a} function py(){try{window.sessionStorage.removeItem("stickiness_reload");window.sessionStorage.removeItem("session_logininfo");vo("LOGIN_INFO","");window.sessionStorage.setItem("from_switch_account","1");var a;let c=qy;c||(c=document.querySelector("#persist_identity"));if(a=c){var b=a.src?(new URL(a.src)).origin:"*";a.contentWindow?.postMessage({action:"clear"},b)}}catch{}} function ry(a){if(a)if(a.startsWith("https://accounts.google.com/AddSession"))py();else if(a.startsWith("https://accounts.google.com/ServiceLogin"))py();else{var b;if(b=a.startsWith("https://myaccount.google.com"))b=(a instanceof om?a.clone():new om(a)).h.endsWith("/youtubeoptions");b&&py()}if(O("LOGGED_IN",!0)&&oy()){b=O("VALID_SESSION_TEMPDATA_DOMAINS",[]);var c=yb(window.location.href);c&&b.push(c);c=yb(a);fb(b,c)>=0||!c&&a.lastIndexOf("/",0)==0?(b=Ab(a),(b=Bb(b))?(b=Vx(b),b=(b=Hp(b)||null)?Ho(b): {}):b=null):b=null;b==null&&(b={});c=b;var d=void 0;oy()?(d||(d=O("LOGIN_INFO")),d?(c.session_logininfo=d,c=!0):c=!1):c=!1;c&&Tx(a,b)}} let qy=null;function sy(a,b={},c=!1){const d=O("EVENT_ID");d&&(b.ei||(b.ei=d));b&&Tx(a,b);if(c)return!1;ry(a);b=window;a=Fb(a,{});ry(a);a=Pa(a+"",Oa)||La;b=b.location;a=Ra(a);a!==void 0&&(b.href=a);return!0} ;function ty(a){if(gh(O("PLAYER_VARS",{}))!="1"){a&&po();try{nx().then(()=>{},()=>{}),So(ty,18E5)}catch(b){zo(b)}}} ;var uy=class{constructor(){this.h={}}contains(a){return Object.prototype.hasOwnProperty.call(this.h,a)}get(a){if(this.contains(a))return this.h[a]}set(a,b){this.h[a]=b}Rb(){return Object.keys(this.h)}remove(a){delete this.h[a]}};new class{constructor(){this.mappings=new uy}get(a){a:{var b=this.mappings.get(a.toString());switch(b.type){case "mapping":a=b.value;break a;case "factory":b=b.value();this.mappings.set(a.toString(),{type:"mapping",value:b});a=b;break a;default:a=Ta(b,void 0)}}return a}};const vy=new Map([["dark","USER_INTERFACE_THEME_DARK"],["light","USER_INTERFACE_THEME_LIGHT"]]);function wy(){var a=window.location.href;if(R("kevlar_disable_theme_param"))return null;const b=zb(a);if(R("enable_dark_theme_only_on_shorts")&&b?.startsWith("/shorts/"))return"USER_INTERFACE_THEME_DARK";try{const c=Io(a).theme;return vy.get(c)||null}catch(c){}return null} ;function xy(a){const b=new ek;if(a.interpreterJavascript){var c=Tn(a.interpreterJavascript);c=Ya(c).toString();var d=new ck;F(d,6,c);nf(b,ck,1,d,Bd)}else a.interpreterUrl&&(c=Un(a.interpreterUrl),c=Ia(c).toString(),d=new dk,F(d,4,c),nf(b,dk,2,d,Bd));a.interpreterHash&&gf(b,3,ue(a.interpreterHash),Bd);a.program&&gf(b,4,ue(a.program),Bd);a.globalName&&gf(b,5,ue(a.globalName),Bd);a.clientExperimentsStateBlob&&gf(b,7,ue(a.clientExperimentsStateBlob),Bd);return b} function yy(a){const b={};a=a.split("&");for(const c of a)a=c.split("="),a.length===2&&(b[a[0]]=a[1]);return b} function zy(a){return Number(a.t)||7200} ;async function Ay(){var a=window;await Ob(By());const b=a.bgevmc;if(!b)throw Error("BGE Controls not exposed");return{pause:()=>{b.p()}, resume:()=>{b.r()}, checkForRefresh:()=>b.cr()}} function By(){return R("bg_st_hr")?"havuokmhhs-0":`${"havuokmhhs"}-${Math.floor(globalThis.performance?.timeOrigin||0)}`} function Cy(a){window.bgens=a} class Dy{constructor(a){this.h=a}bindInnertubeChallengeFetcher(a){this.h.bicf(a)}registerChallengeFetchedCallback(a){this.h.bcr(a)}getLatestChallengeResponse(){return this.h.blc()}}function Ey(){return new Promise(a=>{const b=window;b.ntpevasrs!==void 0?a(new Dy(b.ntpevasrs)):(b.ntpqfbel===void 0&&(b.ntpqfbel=[]),b.ntpqfbel.push(c=>{a(new Dy(c))}))})} ;const Fy=[];var Gy=function(a,...b){if(b.length===0)return Ha(a[0]);let c=a[0];for(let d=0;d{Hy=!0;"google_ad_status"in window?vo("DCLKSTAT",1):vo("DCLKSTAT",2)}; try{Dx(Gy,b)}catch(c){}Fy.push(Hl.ra(()=>{if(!(Hy||"google_ad_status"in window)){try{Hx(Gy.toString(),b)}catch(c){}Hy=!0;vo("DCLKSTAT",3)}},5E3))}}} function Jy(){const a=Number(O("DCLKSTAT",0));return isNaN(a)?0:a} ;var W=class{constructor(a){this.h=a}};[new W("b.f_"),new W("j.s_"),new W("r.s_"),new W("e.h_"),new W("i.s_"),new W("s.t_"),new W("p.h_"),new W("s.i_"),new W("f.i_"),new W("a.b_"),new W("a.o_"),new W("g.o_"),new W("p.i_"),new W("p.m_"),new W("n.k_"),new W("i.f_"),new W("a.s_"),new W("m.c_"),new W("n.h_"),new W("o.p_"),new W("m.p_"),new W("o.a_"),new W("d.p_"),new W("e.i_")].reduce((a,b)=>{a[b.h]=b;return a},{});function Ky(a){return w("ytcsi."+(a||"")+"data_")||Ly(a)} function My(){const a=Ky();a.info||(a.info={});return a.info} function Ny(a){a=Ky(a);a.metadata||(a.metadata={});return a.metadata} function Oy(a){a=Ky(a);a.tick||(a.tick={});return a.tick} function Py(a){a=Ky(a);if(a.gel){const b=a.gel;b.gelInfos||(b.gelInfos={});b.gelTicks||(b.gelTicks={})}else a.gel={gelTicks:{},gelInfos:{}};return a.gel} function Qy(a){a=Py(a);a.gelInfos||(a.gelInfos={});return a.gelInfos} function Ry(){const a=Py();a.preLoggedGelInfos||(a.preLoggedGelInfos=[]);return a.preLoggedGelInfos} function Sy(a){let b=Ky(a).nonce;b||(b=Ew(),Ky(a).nonce=b);return b} function Ly(a){const b={tick:{},info:{}};v("ytcsi."+(a||"")+"data_",b);return b} ;function Ty(){let a=w("ytcsi.debug");a||(a=[],v("ytcsi.debug",a),v("ytcsi.reference",{}));return a} function Uy(a){a=a||"";const b=Vy();if(b[a])return b[a];const c=Ty(),d={timerName:a,info:{},tick:{},span:{},jspbInfo:[]};c.push(d);return b[a]=d} function Vy(){const a=w("ytcsi.reference");if(a)return a;Ty();return w("ytcsi.reference")} ;var Wy={auto_search:"LATENCY_ACTION_AUTO_SEARCH",ad_to_ad:"LATENCY_ACTION_AD_TO_AD",ad_to_video:"LATENCY_ACTION_AD_TO_VIDEO",app_startup:"LATENCY_ACTION_APP_STARTUP",browse:"LATENCY_ACTION_BROWSE",cast_splash:"LATENCY_ACTION_CAST_SPLASH",channel_activity:"LATENCY_ACTION_KIDS_CHANNEL_ACTIVITY",channels:"LATENCY_ACTION_CHANNELS",chips:"LATENCY_ACTION_CHIPS",commerce_transaction:"LATENCY_ACTION_COMMERCE_TRANSACTION",direct_playback:"LATENCY_ACTION_DIRECT_PLAYBACK",editor:"LATENCY_ACTION_EDITOR",embed:"LATENCY_ACTION_EMBED", embed_no_video:"LATENCY_ACTION_EMBED_NO_VIDEO",entity_key_serialization_perf:"LATENCY_ACTION_ENTITY_KEY_SERIALIZATION_PERF",entity_key_deserialization_perf:"LATENCY_ACTION_ENTITY_KEY_DESERIALIZATION_PERF",explore:"LATENCY_ACTION_EXPLORE",favorites:"LATENCY_ACTION_FAVORITES",home:"LATENCY_ACTION_HOME",inboarding:"LATENCY_ACTION_INBOARDING",landing:"LATENCY_ACTION_LANDING",learning:"LATENCY_ACTION_LEARNING",learning_journey_browse:"LATENCY_ACTION_LEARNING_JOURNEY_BROWSE",learning_journey_watch:"LATENCY_ACTION_LEARNING_JOURNEY_WATCH", library:"LATENCY_ACTION_LIBRARY",live:"LATENCY_ACTION_LIVE",live_pagination:"LATENCY_ACTION_LIVE_PAGINATION",management:"LATENCY_ACTION_MANAGEMENT",mini_app:"LATENCY_ACTION_MINI_APP_PLAY",notification_settings:"LATENCY_ACTION_KIDS_NOTIFICATION_SETTINGS",onboarding:"LATENCY_ACTION_ONBOARDING",parent_profile_settings:"LATENCY_ACTION_KIDS_PARENT_PROFILE_SETTINGS",parent_tools_collection:"LATENCY_ACTION_PARENT_TOOLS_COLLECTION",parent_tools_dashboard:"LATENCY_ACTION_PARENT_TOOLS_DASHBOARD",player_att:"LATENCY_ACTION_PLAYER_ATTESTATION", prebuffer:"LATENCY_ACTION_PREBUFFER",prefetch:"LATENCY_ACTION_PREFETCH",profile_settings:"LATENCY_ACTION_KIDS_PROFILE_SETTINGS",profile_switcher:"LATENCY_ACTION_LOGIN",projects:"LATENCY_ACTION_PROJECTS",reel_watch:"LATENCY_ACTION_REEL_WATCH",results:"LATENCY_ACTION_RESULTS",red:"LATENCY_ACTION_PREMIUM_PAGE_GET_BROWSE",premium:"LATENCY_ACTION_PREMIUM_PAGE_GET_BROWSE",privacy_policy:"LATENCY_ACTION_KIDS_PRIVACY_POLICY",review:"LATENCY_ACTION_REVIEW",search_overview_answer:"LATENCY_ACTION_SEARCH_OVERVIEW_ANSWER", search_ui:"LATENCY_ACTION_SEARCH_UI",search_suggest:"LATENCY_ACTION_SUGGEST",search_zero_state:"LATENCY_ACTION_SEARCH_ZERO_STATE",secret_code:"LATENCY_ACTION_KIDS_SECRET_CODE",seek:"LATENCY_ACTION_PLAYER_SEEK",settings:"LATENCY_ACTION_SETTINGS",store:"LATENCY_ACTION_STORE",supervision_dashboard:"LATENCY_ACTION_KIDS_SUPERVISION_DASHBOARD",tenx:"LATENCY_ACTION_TENX",video_preview:"LATENCY_ACTION_VIDEO_PREVIEW",video_to_ad:"LATENCY_ACTION_VIDEO_TO_AD",watch:"LATENCY_ACTION_WATCH",watch_it_again:"LATENCY_ACTION_KIDS_WATCH_IT_AGAIN", "watch,watch7":"LATENCY_ACTION_WATCH","watch,watch7_html5":"LATENCY_ACTION_WATCH","watch,watch7ad":"LATENCY_ACTION_WATCH","watch,watch7ad_html5":"LATENCY_ACTION_WATCH",wn_comments:"LATENCY_ACTION_LOAD_COMMENTS",ww_rqs:"LATENCY_ACTION_WHO_IS_WATCHING",voice_assistant:"LATENCY_ACTION_VOICE_ASSISTANT",cast_load_by_entity_to_watch:"LATENCY_ACTION_CAST_LOAD_BY_ENTITY_TO_WATCH",networkless_performance:"LATENCY_ACTION_NETWORKLESS_PERFORMANCE",gel_compression:"LATENCY_ACTION_GEL_COMPRESSION",gel_jspb_serialize:"LATENCY_ACTION_GEL_JSPB_SERIALIZE", attestation_challenge_fetch:"LATENCY_ACTION_ATTESTATION_CHALLENGE_FETCH"};function Xy(a){return Wy[a]||"LATENCY_ACTION_UNKNOWN"} ;var Yy=class extends Hs{constructor(a,b){super(arguments);this.timer=b}},Zy=new Is("aft-recorded",Yy);v("ytLoggingGelSequenceIdObj_",t.ytLoggingGelSequenceIdObj_||{});const $y=t.ytLoggingLatencyUsageStats_||{};v("ytLoggingLatencyUsageStats_",$y);function az(){bz.instance||(bz.instance=new bz);return bz.instance} function cz(a,b){$y[b]=$y[b]||{count:0};var c=$y[b];c.count++;c.time=U();a.h||(a.h=Zp(()=>{const d=U();for(const e in $y)$y[e]&&d-$y[e].time>6E4&&delete $y[e];a&&(a.h=0)},5E3)); return c.count>5?(c.count===6&&Math.random()*1E5<1&&(c=new S("CSI data exceeded logging limit with key",b.split("_")),b.indexOf("plev")>=0||V(c)),!0):!1} var bz=class{constructor(){this.h=0}tick(a,b,c,d){cz(this,`tick_${a}_${b}`)||Nq("latencyActionTicked",{tickName:a,clientActionNonce:b},{timestamp:c,cttAuthInfo:d})}info(a,b,c){const d=Object.keys(a).join("");cz(this,`info_${d}_${b}`)||(a=Object.assign({},a),a.clientActionNonce=b,Nq("latencyActionInfo",a,{cttAuthInfo:c}))}jspbInfo(){}span(a,b,c){const d=Object.keys(a).join("");cz(this,`span_${d}_${b}`)||(a.clientActionNonce=b,Nq("latencyActionSpan",a,{cttAuthInfo:c}))}};const dz=window;class ez{constructor(){this.timing={};this.clearResourceTimings=()=>{}; this.webkitClearResourceTimings=()=>{}; this.mozClearResourceTimings=()=>{}; this.msClearResourceTimings=()=>{}; this.oClearResourceTimings=()=>{}}} function fz(){var a;R("csi_use_performance_navigation_timing")?(a=X?.getEntriesByType?.("navigation")?.[0]?.toJSON?.())?(a.requestStart=gz(a.requestStart),a.responseEnd=gz(a.responseEnd),a.redirectStart=gz(a.redirectStart),a.redirectEnd=gz(a.redirectEnd),a.domainLookupEnd=gz(a.domainLookupEnd),a.connectStart=gz(a.connectStart),a.connectEnd=gz(a.connectEnd),a.responseStart=gz(a.responseStart),a.secureConnectionStart=gz(a.secureConnectionStart),a.domainLookupStart=gz(a.domainLookupStart),a.isPerformanceNavigationTiming= !0):a=X.timing:a=R("csi_performance_timing_to_object")?JSON.parse(JSON.stringify(X.timing)):X.timing;return a} function gz(a){return Math.round(hz()+a)} function hz(){return(R("csi_use_time_origin")||R("csi_use_time_origin_tvhtml5"))&&X.timeOrigin?Math.floor(X.timeOrigin):X.timing.navigationStart} var X=dz.performance||dz.mozPerformance||dz.msPerformance||dz.webkitPerformance||new ez;let iz=!1,jz=!1; var kz={'script[name="scheduler/scheduler"]':"sj",'script[name="player/base"]':"pj",'link[rel="preload"][name="player/embed"]':"pej",'link[rel="stylesheet"][name="www-player"]':"pc",'link[rel="stylesheet"][name="player/www-player"]':"pc",'script[name="desktop_polymer/desktop_polymer"]':"dpj",'link[rel="import"][name="desktop_polymer"]':"dph",'script[name="mobile-c3"]':"mcj",'link[rel="stylesheet"][name="mobile-c3"]':"mcc",'script[name="player-plasma-ias-phone/base"]':"mcppj",'script[name="player-plasma-ias-tablet/base"]':"mcptj",'link[rel="stylesheet"][name="mobile-polymer-player-ias"]':"mcpc", 'link[rel="stylesheet"][name="mobile-polymer-player-svg-ias"]':"mcpsc",'script[name="mobile_blazer_core_mod"]':"mbcj",'link[rel="stylesheet"][name="mobile_blazer_css"]':"mbc",'script[name="mobile_blazer_logged_in_users_mod"]':"mbliuj",'script[name="mobile_blazer_logged_out_users_mod"]':"mblouj",'script[name="mobile_blazer_noncore_mod"]':"mbnj","#player_css":"mbpc",'script[name="mobile_blazer_desktopplayer_mod"]':"mbpj",'link[rel="stylesheet"][name="mobile_blazer_tablet_css"]':"mbtc",'script[name="mobile_blazer_watch_mod"]':"mbwj", 'script[name="embed_client"]':"ecj",'link[rel="stylesheet"][name="embed-ui"]':"ecc"},lz=qa(X.clearResourceTimings||X.webkitClearResourceTimings||X.mozClearResourceTimings||X.msClearResourceTimings||X.oClearResourceTimings||$i,X); function mz(){const a=Ry(),b=Qy();var c=void 0;for(var d=0;d{Nx(b,h);Nx(f,h);g=!0}; for(const h of a)e(h);g&&oz(f)}} function pz(a,b){Z("_start",a,b)} function oz(a,b){if(!R("web_csi_action_sampling_enabled")||!Ky(b).actionDisabled){var c=Uy(b||"");Nx(c.info,a);a.loadType&&(c=a.loadType,Ny(b).loadType=c);Nx(Qy(b),a);c=Sy(b);b=Ky(b).cttAuthInfo;az().info(a,c,b)}} function qz(){return($u().resolve(new Uu(ys))?.sc()?.loggingHotConfig?.csiConfig?.debugTicks??[]).map(a=>Object.values(a)[0])} function Z(a,b,c){if(!R("web_csi_action_sampling_enabled")||!Ky(c).actionDisabled){var d=Sy(c),e;if(e=R("web_csi_debug_sample_enabled")&&d){$u().resolve(new Uu(ys))?.sc()&&!jz&&(jz=!0,Z("gcfl",U(),c));e=$u().resolve(new Uu(ys))?.sc()?.loggingHotConfig?.csiConfig?.debugSampleWeight||0;var f;if(f=e!==0)b:{f=qz();if(f.length>0)for(let h=0;h{b.name.startsWith("mark_")&&X.clearMarks?.(b.name)})} function tz(){var a=document;if("visibilityState"in a)a=a.visibilityState;else{var b=su+"VisibilityState";a=b in a?a[b]:void 0}switch(a){case "hidden":return 0;case "visible":return 1;case "prerender":return 2;case "unloaded":return 3;default:return-1}} function uz(){var a=O("TIMING_INFO",{});const b={},c=(d,e,f)=>{e=e.match("_rid")?e.split("_rid")[0]:e;typeof f==="number"&&(f=JSON.stringify(f));d.requestIds?d.requestIds.push({endpoint:e,id:f}):d.requestIds=[{endpoint:e,id:f}]}; for(const [d,e]of Object.entries(a)){a=d;const f=e;switch(a){case "GetBrowse_rid":c(b,a,f);break;case "GetGuide_rid":c(b,a,f);break;case "GetHome_rid":c(b,a,f);break;case "GetPlayer_rid":c(b,a,f);break;case "GetSearch_rid":c(b,a,f);break;case "GetSettings_rid":c(b,a,f);break;case "GetTrending_rid":c(b,a,f);break;case "GetWatchNext_rid":c(b,a,f);break;case "yt_red":b.isRedSubscriber=!!f;break;case "yt_ad":b.isMonetized=!!f}}return b} function vz(a,b){a=document.querySelector(a);if(!a)return!1;var c="";const d=a.nodeName;d==="SCRIPT"?(c=a.src,c||(c=a.getAttribute("data-timing-href"))&&(c=window.location.protocol+c)):d==="LINK"&&(c=a.href);Va(document)&&a.setAttribute("nonce",Va(document));return c?(a=X.getEntriesByName(c))&&a[0]&&(a=a[0],c=hz(),Z("rsf_"+b,c+Math.round(a.fetchStart)),Z("rse_"+b,c+Math.round(a.responseEnd)),a.transferSize!==void 0&&a.transferSize===0)?!0:!1:!1} function wz(){const a=window.location.protocol;var b=X.getEntriesByType("resource");b=hb(b,c=>c.name.indexOf(`${a}//fonts.gstatic.com/s/`)===0); (b=jb(b,(c,d)=>d.duration>c.duration?d:c))&&b.startTime>0&&b.responseEnd>0&&(Z("wffs",gz(b.startTime)),Z("wffe",gz(b.responseEnd)))} function xz(a){var b=nz("aft",a);if(b)return b;b=O((a||"")+"TIMING_AFT_KEYS",["ol"]);const c=b.length;for(let d=0;dc.name==="first-paint"))return gz(a.startTime)}let b; R("csi_use_performance_navigation_timing")?b=X.getEntriesByType("first-paint")[0].startTime:b=X.timing.ji;return b?Math.max(0,b):0} ;function Az(a,b){P(()=>{Uy("").info.actionType=a;b&&vo("TIMING_AFT_KEYS",b);vo("TIMING_ACTION",a);var c=uz();Object.keys(c).length>0&&oz(c);c={isNavigation:!0,actionType:Xy(O("TIMING_ACTION"))};var d=O("PREVIOUS_ACTION");d&&(c.previousAction=Xy(d));if(d=O("CLIENT_PROTOCOL"))c.httpProtocol=d;if(d=O("CLIENT_TRANSPORT"))c.transportProtocol=d;(d=Pw())&&d!=="UNDEFINED_CSN"&&(c.clientScreenNonce=d);d=tz();if(d===1||d===-1)c.isVisible=!0;Ny();My();c.loadType="cold";d=My();var e=fz();let f=hz();const g=O("CSI_START_TIMESTAMP_MILLIS", 0);g>0&&!R("embeds_web_enable_csi_start_override_killswitch")&&(f=g);f&&(Z("srt",e.responseStart),d.prerender!==1&&pz(f));d=zz();d>0&&Z("fpt",d);d=fz();d.isPerformanceNavigationTiming&&oz({performanceNavigationTiming:!0},void 0);Z("nreqs",d.requestStart,void 0);Z("nress",d.responseStart,void 0);Z("nrese",d.responseEnd,void 0);d.redirectEnd-d.redirectStart>0&&(Z("nrs",d.redirectStart,void 0),Z("nre",d.redirectEnd,void 0));d.domainLookupEnd-d.domainLookupStart>0&&(Z("ndnss",d.domainLookupStart,void 0), Z("ndnse",d.domainLookupEnd,void 0));d.connectEnd-d.connectStart>0&&(Z("ntcps",d.connectStart,void 0),Z("ntcpe",d.connectEnd,void 0));d.secureConnectionStart>=hz()&&d.connectEnd-d.secureConnectionStart>0&&(Z("nstcps",d.secureConnectionStart,void 0),Z("ntcpe",d.connectEnd,void 0));X&&"getEntriesByType"in X&&wz();d=[];if(document.querySelector&&X&&X.getEntriesByName)for(var h in kz)kz.hasOwnProperty(h)&&(e=kz[h],vz(h,e)&&d.push(e));if(d.length>0){c.resourceInfo=[];for(const k of d)c.resourceInfo.push({resourceCache:k})}oz(c); mz();yz();h=O("TIMING_ACTION");w("ytglobal.timingready_")&&h&&Bz()&&xz()&&rz()})()} function Cz(){var a={};P(()=>{Dz();var b=a.sampleRate;if(!R("web_csi_action_sampling_enabled")||b===void 0||b<=1)b=!1;else{var c=Sy("attestation_challenge_fetch");b=Wx(c)%b!==0}b&&(Ky("attestation_challenge_fetch").actionDisabled=!0);Uy("attestation_challenge_fetch").info.actionType="attestation_challenge_fetch";a.cttAuthInfo&&(Ky("attestation_challenge_fetch").cttAuthInfo=a.cttAuthInfo);vo("attestation_challenge_fetchTIMING_ACTION","attestation_challenge_fetch");P(pz)(a.startTime,"attestation_challenge_fetch"); b={actionType:Xy("attestation_challenge_fetch")};a.hi&&(b.previousAction=Xy(O("TIMING_ACTION")));(c=Pw())&&c!=="UNDEFINED_CSN"&&(b.clientScreenNonce=c);Ez(b,"attestation_challenge_fetch");yz("attestation_challenge_fetch")})()} function Dz(){P(()=>{Bz("attestation_challenge_fetch")&&Fz("aa",void 0,"attestation_challenge_fetch");const a=Vy();a.attestation_challenge_fetch&&delete a.attestation_challenge_fetch;const b={timerName:"attestation_challenge_fetch",info:{},tick:{},span:{},jspbInfo:[]};Ty().push(b);a.attestation_challenge_fetch=b;Ly("attestation_challenge_fetch");lz();sz()})()} function Bz(a){return P(()=>Gz("_start",a))()} function Ez(a,b,c=!1){P(oz)(a,b,c)} function Fz(a,b,c){return P(Z)(a,b,c)} function Gz(a,b){return P(()=>{const c=Oy(b);return a in c})()} function Hz(a){if(!R("universal_csi_network_ticks"))return"";a=zb(a)||"";const b=Object.keys(Fs);for(let c=0;c{}; const b=Fs[a];return b?(Jz(b),()=>{var c=R("universal_csi_network_ticks")?(c=Gs[a])?Jz(c):!1:!1;return c}):()=>{}} function Jz(a){return P(()=>{if(Gz(a))return!1;Fz(a,void 0,void 0);return!0})()} function Kz(a){P(()=>{if(!Bz("attestation_challenge_fetch")||Gz(a,"attestation_challenge_fetch"))return!1;Fz(a,void 0,"attestation_challenge_fetch");return!0})()} function Lz(){P(()=>{const a=Sy();requestAnimationFrame(()=>{setTimeout(()=>{a===Sy()&&Fz("ol",void 0,void 0)},0)})})()} const Mz=window;Mz.ytcsi&&(Mz.ytcsi.infoGel=Ez,Mz.ytcsi.tick=Fz);function Nz(a){const b={engagementType:"ENGAGEMENT_TYPE_UNBOUND"};a&&(b.interpreterHash=a);return b} function Oz(a,b){a.h=b} async function Pz(a,b=0){var c=Nz(mk().h);let d,e,f;if(R("att_fet_ks"))try{a.i.h(5,a.j++);d=await a.tb(c);if(!d)throw Error("Fetching Attestation challenge returned falsy");if(!d.challenge)throw Error("Missing Attestation challenge");e=d.challenge;f=yy(e);if("c1a"in f&&(!d.bgChallenge||!d.bgChallenge.program))throw Error("Expected bg challenge but missing.");}catch(h){V(h);b++;if(b>=5)return V(Error("Failed to fetch attestation challenge after "+`${b} attempts; not retrying for 24h.`)),Qz(a,864E5), {challenge:"",eb:{},vm:void 0,bgChallenge:void 0};const k=1E3*Math.pow(2,b-1)+Math.random()*1E3;return new Promise(l=>{Zp(()=>{l(Pz(a,b))},k)})}else try{const h=await Rz(a,c); e=h.kf;f=h.lf;d=h}catch(h){return V(Error("Failed to fetch attestation challenge after "+`${b} attempts; not retrying for 24h.`)),Qz(a,864E5),{challenge:"",eb:{},vm:void 0,bgChallenge:void 0}}Qz(a,zy(f)*1E3);c=void 0;let g;if("c1a"in f&&d.bgChallenge){g=xy(d.bgChallenge);try{await qk(mk(),g)}catch(h){return V(h),{challenge:e,eb:f,vm:c,bgChallenge:g}}try{c=new kk({challenge:g,Cb:{qa:"aGIf"}}),await c.Gb}catch(h){V(h),c=void 0}}return{challenge:e,eb:f,vm:c,bgChallenge:g}} function Qz(a,b){const c=Date.now()+b,d=async()=>{const e=c-Date.now();e<1E3?await Sz(a):Zp(d,Math.min(e,6E4))}; d()} async function Rz(a,b){let c=void 0,d=0;for(;d<5;){if(d>0){const e=1E3*Math.pow(2,d-1)+Math.random()*1E3;await new Promise(f=>{Zp(()=>{f(void 0)},e)})}try{a.i.h(4,a.j++); const e=await a.tb(b);return Tz(e)}catch(e){c=e,e instanceof Error&&V(e)}d++}throw c;} async function Uz(a,b){Cy(2);try{const c=await a.network.tb(b);c?c.challenge&&!c.bgChallenge?Cy(1):Cy(4):Cy(3);return c}catch(c){Cy(3)}} function Tz(a){if(!a)throw Error("Fetching Attestation challenge returned falsy");if(!a.challenge)throw Error("Missing Attestation challenge");const b=a.challenge,c=yy(b);if("c1a"in c&&(!a.bgChallenge||!a.bgChallenge.program))throw Error("Expected bg challenge but missing.");return{...a,kf:b,lf:c}} async function Sz(a){const b=await Promise.race([a.h,null]);var c=Pz(a);a.h=c;b?.vm?.dispose()} var Wz=class{constructor(a,b,c){this.network=a;this.options=b;this.M=c;this.j=0;this.h=null;this.i=new wl;if(b.Md){const d=new ik;this.h=d.promise;t.ytAtRC?Hl.Ta(async()=>{if(t.ytAtRC){this.i.h(2,this.j++);var e=await this.tb(Nz(null));t.ytAtRC&&t.ytAtRC(JSON.stringify(e))}else this.i.h(6,this.j++)},2,I("att_init_delay",0)):this.i.h(1,this.j++); Ey().then(async e=>{e.bindInnertubeChallengeFetcher(h=>{this.i.h(3,this.j++);return this.tb(Nz(h))}); const f=await Ob(By());var g=e.getLatestChallengeResponse().challenge;if(!g)throw Error("BGE_MACIL");g={challenge:g,eb:yy(g),vm:f,bgChallenge:new ek};d.resolve(g);e.registerChallengeFetchedCallback(h=>{h=h.challenge;if(!h)throw Error("BGE_MACR");h={challenge:h,eb:yy(h),vm:f,bgChallenge:new ek};this.h=Promise.resolve(h)})})}else b.preload&&Oz(this,new Promise(d=>{Zp(()=>{d(Pz(this))},0)}))}async u(){return!!await Promise.race([this.h, null])}async o(a,b,c){this.h===null&&Oz(this,Pz(this));let d=!1;const e={};return Promise.race([(async()=>{this.options.Xh&&this.options.Md&&await (await Ay())?.checkForRefresh();var f=await this.h;e.challenge=f.challenge;if(f.vm){var g={c:f.challenge,e:a,...b};try{d=!0;let h;(h=await f.vm.snapshot({Ia:g}))?e.webResponse=h:e.error="ATTESTATION_ERROR_VM_NO_RESPONSE"}catch{e.error="ATTESTATION_ERROR_VM_INTERNAL_ERROR"}}else"c1a"in f.eb&&(e.error="ATTESTATION_ERROR_VM_NOT_INITIALIZED");a==="ENGAGEMENT_TYPE_PLAYBACK"&& (f=f.eb,g={},f.c6a&&(g.reportingStatus=String(Number(f.c)^Jy())),f.c6b&&(g.broadSpectrumDetectionResult=String(Number(f.c)^Number(O("CATSTAT",0)))),e.adblockReporting=g);return e})(), Vz(c,()=>{const f=Object.assign({},e);d&&(f.error="ATTESTATION_ERROR_VM_TIMEOUT");return f})])}async tb(a){const b=this.M; if(!b||b.va())return Uz(this,a);Kz("att_pna");return new Promise(c=>{Hi(b,"publicytnetworkstatus-online",()=>{Uz(this,a).then(c)})})}}; function Vz(a,b){return new Promise(c=>{Zp(()=>{c(b())},a)})} ;const Xz={WEB_UNPLUGGED:"^unplugged/",WEB_UNPLUGGED_ONBOARDING:"^unplugged/",WEB_UNPLUGGED_OPS:"^unplugged/",WEB_UNPLUGGED_PUBLIC:"^unplugged/",WEB_CREATOR:"^creator/",WEB_KIDS:"^kids/",WEB_EXPERIMENTS:"^experiments/",WEB_MUSIC:"^music/",WEB_REMIX:"^music/",WEB_MUSIC_EMBEDDED_PLAYER:"^music/",WEB_MUSIC_EMBEDDED_PLAYER:"^main_app/|^sfv/"}; function Yz(a){if(a.length===1)return a[0];var b=Xz.UNKNOWN_INTERFACE;if(b){b=new RegExp(b);for(var c of a)if(b.exec(c))return c}const d=[];Object.entries(Xz).forEach(([e,f])=>{"UNKNOWN_INTERFACE"!==e&&d.push(f)}); c=new RegExp(d.join("|"));a.sort((e,f)=>e.length-f.length); for(const e of a)if(!c.exec(e))return e;return a[0]} ;var aA=class{constructor(){this.h=Zz.instance}tb(a){Kz("att_fsr");return $z(this.h,a).then(b=>{Kz("att_frr");return b})}};var bA=new Tu("INNERTUBE_TRANSPORT_TOKEN");async function cA(){var a=$u().resolve(bA);if(a){if(a=await dA(a)){if(a.errorMetadata){V(Error(`Datasync IDs fetch responded with ${a.errorMetadata.status}: ${a.error}`));return}return a.Sh}V(Error("Network request to get Datasync IDs failed."))}else V(Error("InnertubeTransportService unavailable in fetchDatasyncIds"))} ;function eA(a,b){if(b.encryptedTokenJarContents&&(a.h[b.encryptedTokenJarContents]=b,typeof b.expirationSeconds==="string")){const c=Number(b.expirationSeconds);setTimeout(()=>{delete a.h[b.encryptedTokenJarContents]},c*1E3); a.i&&Gp("CONSISTENCY",b.encryptedTokenJarContents,c,void 0,!0)}} var fA=class{constructor(){this.h={};if(this.i=Jp()){const a=Hp("CONSISTENCY");a&&eA(this,{encryptedTokenJarContents:a})}}handleResponse(a,b){if(!b)throw Error("request needs to be passed into ConsistencyService");b=b.yb.context?.request?.consistencyTokenJars||[];if(a=a.responseContext?.consistencyTokenJar){for(const c of b)delete this.h[c.encryptedTokenJarContents];eA(this,a)}}};const gA=window.location.hostname.split(".").slice(-2).join(".");function hA(a){return a.localStorage===void 0?new Fq("yt-client-location"):a.localStorage} function iA(){jA=w("yt.clientLocationService.instance");jA||(jA=new kA,v("yt.clientLocationService.instance",jA));return jA} var kA=class{constructor(){this.i=-1;let a=O("LOCATION_PLAYABILITY_TOKEN");O("INNERTUBE_CLIENT_NAME")==="TVHTML5"&&(this.localStorage=hA(this))&&(a=this.localStorage.get("yt-location-playability-token"));a&&(this.locationPlayabilityToken=a,this.h=void 0)}setLocationOnInnerTubeContext(a){a.client||(a.client={});if(this.h)a.client.locationInfo||(a.client.locationInfo={}),a.client.locationInfo.latitudeE7=Math.floor(this.h.coords.latitude*1E7),a.client.locationInfo.longitudeE7=Math.floor(this.h.coords.longitude* 1E7),a.client.locationInfo.horizontalAccuracyMeters=Math.round(this.h.coords.accuracy),a.client.locationInfo.forceLocationPlayabilityTokenRefresh=!0;else if(this.j||this.locationPlayabilityToken)a.client.locationPlayabilityToken=this.j||this.locationPlayabilityToken}handleResponse(a){a=a.responseContext?.locationPlayabilityToken;a!==void 0&&(this.locationPlayabilityToken=a,this.h=void 0,O("INNERTUBE_CLIENT_NAME")==="TVHTML5"?(this.localStorage=hA(this))&&this.localStorage.set("yt-location-playability-token", a,15552E3):Gp("YT_CL",JSON.stringify({loctok:a}),15552E3,gA,!0))}clearLocationPlayabilityToken(a){a==="TVHTML5"?(this.localStorage=hA(this))&&this.localStorage.remove("yt-location-playability-token"):Ip("YT_CL");this.j=void 0;this.i!==-1&&(clearTimeout(this.i),this.i=-1)}getCurrentPositionFromGeolocation(){if(!(navigator&&navigator.geolocation&&navigator.geolocation.getCurrentPosition))return Promise.reject(Error("Geolocation unsupported"));let a=!1,b=1E4;O("INNERTUBE_CLIENT_NAME")==="MWEB"&&(a=!0, b=15E3);return new Promise((c,d)=>{navigator.geolocation.getCurrentPosition(e=>{this.h=e;c(e)},e=>{d(e)},{enableHighAccuracy:a, maximumAge:0,timeout:b})})}createUnpluggedLocationInfo(a){const b={}; a=a.coords;a?.latitude&&(b.latitudeE7=Math.floor(a.latitude*1E7));a?.longitude&&(b.longitudeE7=Math.floor(a.longitude*1E7));a?.accuracy&&(b.locationRadiusMeters=Math.round(a.accuracy));return b}createLocationInfo(a){const b={};a=a.coords;a?.latitude&&(b.latitudeE7=Math.floor(a.latitude*1E7));a?.longitude&&(b.longitudeE7=Math.floor(a.longitude*1E7));return b}},jA;function lA(a,b=!1,c=!1){var d=O("INNERTUBE_CONTEXT");if(!d)return rw(Error("Error: No InnerTubeContext shell provided in ytconfig.")),{};d=jh(d);R("web_no_tracking_params_in_shell_killswitch")||delete d.clickTracking;d.client||(d.client={});var e=d.client;e.clientName==="MWEB"&&e.clientFormFactor!=="AUTOMOTIVE_FORM_FACTOR"&&(e.clientFormFactor=O("IS_TABLET")?"LARGE_FORM_FACTOR":"SMALL_FORM_FACTOR");e.screenWidthPoints=window.innerWidth;e.screenHeightPoints=window.innerHeight;e.screenPixelDensity= Math.round(window.devicePixelRatio||1);e.screenDensityFloat=window.devicePixelRatio||1;e.utcOffsetMinutes=-Math.floor((new Date).getTimezoneOffset());Lp();var f="USER_INTERFACE_THEME_LIGHT";Op(165)?f="USER_INTERFACE_THEME_DARK":Op(174)?f="USER_INTERFACE_THEME_LIGHT":!R("kevlar_legacy_browsers")&&window.matchMedia&&window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(f="USER_INTERFACE_THEME_DARK");f=wy()||f;e.userInterfaceTheme=f;if(!b){if(f= Vp())e.connectionType=f;R("web_log_effective_connection_type")&&(f=Wp())&&(d.client.effectiveConnectionType=f)}R("web_log_memory_total_kbytes")&&t.navigator?.deviceMemory&&(d.client.memoryTotalKbytes=`${t.navigator?.deviceMemory*1E6}`);if(R("web_gcf_hashes_innertube")){var g=xs();if(g){f=g.coldConfigData;const m=g.coldHashData;g=g.hotHashData;d.client.configInfo=d.client.configInfo||{};f&&(d.client.configInfo.coldConfigData=f);m&&(d.client.configInfo.coldHashData=m);g&&(d.client.configInfo.hotHashData= g)}}f=Io(t.location.href);!R("web_populate_internal_geo_killswitch")&&f.internalcountrycode&&(e.internalGeo=f.internalcountrycode);e.clientName==="MWEB"||e.clientName==="WEB"?(e.mainAppWebInfo||(e.mainAppWebInfo={}),e.mainAppWebInfo.graftUrl=t.location.href,R("kevlar_woffle")&&Cp.instance&&(f=Cp.instance,e.mainAppWebInfo.pwaInstallabilityStatus=!f.h&&f.i?"PWA_INSTALLABILITY_STATUS_CAN_BE_INSTALLED":"PWA_INSTALLABILITY_STATUS_UNKNOWN"),e.mainAppWebInfo.webDisplayMode=Bp(),e.mainAppWebInfo.isWebNativeShareAvailable= navigator&&navigator.share!==void 0):e.clientName==="TVHTML5"&&(!R("web_lr_app_quality_killswitch")&&(f=O("LIVING_ROOM_APP_QUALITY"))&&(e.tvAppInfo=Object.assign(e.tvAppInfo||{},{appQuality:f})),f=O("LIVING_ROOM_CERTIFICATION_SCOPE"))&&(e.tvAppInfo=Object.assign(e.tvAppInfo||{},{certificationScope:f}));if(!R("web_populate_time_zone_itc_killswitch")){a:{if(typeof Intl!=="undefined")try{var h=(new Intl.DateTimeFormat).resolvedOptions().timeZone;break a}catch{}h=void 0}h&&(e.timeZone=h)}(h=O("EXPERIMENTS_TOKEN", ""))?e.experimentsToken=h:delete e.experimentsToken;e=Xo();fA.instance||(fA.instance=new fA);h=bh(fA.instance.h);d.request={...d.request,internalExperimentFlags:e,consistencyTokenJars:h};!R("web_prequest_context_killswitch")&&(e=O("INNERTUBE_CONTEXT_PREQUEST_CONTEXT"))&&(d.request.externalPrequestContext=e);h=Lp();e=Op(58);h=h.get("gsml","");d.user={...d.user};e&&(d.user.enableSafetyMode=e);h&&(d.user.lockedSafetyMode=!0);R("warm_op_csn_cleanup")?c&&(b=Pw())&&(d.clientScreenNonce=b):!b&&(b=Pw())&& (d.clientScreenNonce=b);a&&(d.clickTracking={clickTrackingParams:a});if(a=w("yt.mdx.remote.remoteClient_"))d.remoteClient=a;iA().setLocationOnInnerTubeContext(d);try{var k=Mo(),l=k.bid;delete k.bid;d.adSignalsInfo={params:[],bid:l};for(const [m,n]of Object.entries(k))k=m,l=n,d.adSignalsInfo.params?.push({key:k,value:`${l}`});if(d.client?.clientName==="TVHTML5"||d.client?.clientName==="TVHTML5_UNPLUGGED"){const m=O("INNERTUBE_CONTEXT");m.adSignalsInfo&&(d.adSignalsInfo.advertisingId=m.adSignalsInfo.advertisingId, d.adSignalsInfo.advertisingIdSignalType="DEVICE_ID_TYPE_CONNECTED_TV_IFA",d.adSignalsInfo.limitAdTracking=m.adSignalsInfo.limitAdTracking)}}catch(m){rw(m)}return d} ;function mA(a){const b={"Content-Type":"application/json"};O("EOM_VISITOR_DATA")?b["X-Goog-EOM-Visitor-Id"]=O("EOM_VISITOR_DATA"):O("VISITOR_DATA")&&(b["X-Goog-Visitor-Id"]=O("VISITOR_DATA"));b["X-Youtube-Bootstrap-Logged-In"]=O("LOGGED_IN",!1);O("DEBUG_SETTINGS_METADATA")&&(b["X-Debug-Settings-Metadata"]=O("DEBUG_SETTINGS_METADATA"));a!=="cors"&&((a=O("INNERTUBE_CONTEXT_CLIENT_NAME"))&&(b["X-Youtube-Client-Name"]=a),(a=O("INNERTUBE_CONTEXT_CLIENT_VERSION"))&&(b["X-Youtube-Client-Version"]=a),(a= O("CHROME_CONNECTED_HEADER"))&&(b["X-Youtube-Chrome-Connected"]=a),(a=O("DOMAIN_ADMIN_STATE"))&&(b["X-Youtube-Domain-Admin-State"]=a));(a=O("SERIALIZED_LAVA_DEVICE_CONTEXT"))&&(b["X-YouTube-Lava-Device-Context"]=a);return b} ;function nA(a){return()=>new a} ;var oA=class{u(a,b={},c=Fp){var d={context:lA(a.clickTrackingParams,!1,this.o)};var e=this.i(a);if(e)return this.h(d,e,b),b=`/youtubei/v1/${Yz(this.j())}`,(e=zv(a.commandMetadata,bo)?.apiUrl)&&(b=e),b=bx(ax(b)),a={command:a,...(void 0)},d={input:b,ab:cx(b),yb:d,config:a},d.config.Mb?d.config.Mb.identity=c:d.config.Mb={identity:c},d;c=new S("Error: Failed to create Request from Command.",a);rw(c)}get o(){return!1}},pA=class extends oA{};const qA={GET_DATASYNC_IDS:nA(class extends pA{u(){return{input:"/getDatasyncIdsEndpoint",ab:cx("/getDatasyncIdsEndpoint","GET"),yb:{}}}j(){return[]}i(){}h(){}})};const rA="tokens consistency service_params mss client_location entities adblock_detection response_received_commands store manifest player_preload shorts_prefetch".split(" "),sA=["type.googleapis.com/youtube.api.pfiinnertube.YoutubeApiInnertube.BrowseResponse","type.googleapis.com/youtube.api.pfiinnertube.YoutubeApiInnertube.PlayerResponse","type.googleapis.com/youtube.api.pfiinnertube.YoutubeApiInnertube.PanelResponse"]; function tA(a,b,c){var d=uA;if(Zz.instance!==void 0){if(c=Zz.instance,a=[d!==c.o,a!==c.da,b!==c.i,!1,!1,!1,!1],a.some(e=>e))throw new S("InnerTubeTransportService is already initialized",a); }else Zz.instance=new Zz(d,a,b,c)} function $z(a,b){var c=`/youtubei/v1/${Yz(tx)}`,d={Mb:{identity:Fp}};let e=()=>{}; e=Iz(Hz(c));b.context||(b.context=lA(void 0,!0));return new bj(async f=>{var g=ax(c);g=Lo(g)?"same-origin":"cors";g=a.i.Jd?vA(d,g):await wA(d,g);var h=bx(ax(c));h={input:h,ab:cx(h),yb:b,config:d};f(xA(a,h,g,e))})} function dA(a){var b={signalServiceEndpoint:{signal:"GET_DATASYNC_IDS"}};const c=yA(a,b);return c?new bj(async(d,e)=>{const f=(await c).u(b,void 0,Fp);f?(ry(f.input),e=f.ab?.mode==="cors"?"cors":void 0,e=a.i.Jd?vA(f.config,e):await wA(f.config,e),d(xA(a,f,e))):e(new S("Error: Failed to build request for command.",b))}):gj(new S("Error: No request builder found for command.",b))} function yA(a,b){a:{a=a.o;var c=zv(b,co)?.signal;if(c&&a.Zb&&(c=a.Zb[c])){var d=c();break a}if((c=zv(b,ao)?.request)&&a.re&&(c=a.re[c])){d=c();break a}for(d in b)if(a.ld[d]&&(b=a.ld[d])){d=b();break a}d=void 0}if(d!==void 0)return Promise.resolve(d)} function vA(a,b){a=Dp({sessionIndex:a?.Mb?.sessionIndex});return{...mA(b),...a}} async function wA(a,b){a=Dp({sessionIndex:a?.Mb?.sessionIndex});if(!(a instanceof bj)){var c=new bj($i);cj(c,2,a);a=c}a=await a;return Promise.resolve({...mA(b),...a})} async function xA(a,b,c,d=()=>{}){await zA(b); const e=b.config?.requestKey;if(e&&a.h.has(e))var f=a.h.get(e);else f=JSON.stringify(b.yb),b.ab={...b.ab,headers:{...(b.ab?.headers??{}),...c}},c={...b.ab},b.ab.method==="POST"&&(c={...c,body:f}),b.config?.qf&&Fz(b.config.qf),f=a.da.fetch(b.input,c,b.config),e&&a.h.set(e,f);(f=await f)&&R("web_streaming_player")&&Array.isArray(f)&&(f=f[0].playerResponse);if(f&&"error"in f&&f?.error?.details){c=f.error.details;for(const g of c)(c=g["@type"])&&sA.indexOf(c)>-1&&(delete g["@type"],f=g)}e&&a.h.has(e)&& a.h.delete(e);b.config?.rf&&Fz(b.config.rf);AA(a,f,b);b.config?.pf&&Fz(b.config.pf);d();return f||void 0} async function zA(a){if(a?.yb?.context){a=a.yb.context;for(const b of[])await b.oi(a)}} function AA(a,b,c){if(b&&!b?.sequenceMetaData?.skipProcessing&&a.j)for(const d of rA)a.j[d]&&a.j[d].handleResponse(b,c)} var Zz=class{constructor(a,b,c,d){this.o=a;this.da=b;this.i=c;this.j=d;this.h=new Map;a.Zb||(a.Zb={});a.Zb={...qA,...a.Zb}}};var BA=class extends pA{j(){return zx}get o(){return!0}i(a){return zv(a,oo)||void 0}h(a,b,c={}){b.channelIds&&(a.channelIds=b.channelIds);b.siloName&&(a.siloName=b.siloName);b.params&&(a.params=b.params);c.botguardResponse&&(a.botguardResponse=c.botguardResponse);c.feature&&(a.clientFeature=c.feature)}};var CA=class extends pA{j(){return Ax}get o(){return!0}i(a){return zv(a,no)||void 0}h(a,b){b.channelIds&&(a.channelIds=b.channelIds);b.siloName&&(a.siloName=b.siloName);b.params&&(a.params=b.params)}};var DA=class extends pA{constructor(a){super();this.M=a}j(){return ux}i(a){return zv(a,ho)||zv(a,io)||zv(a,go)}h(a,b){b.serializedShareEntity&&(a.serializedSharedEntity=b.serializedShareEntity);b.clientParamIdentifier&&this.M?.h(b.clientParamIdentifier)&&(a.clientParams=this.M.i(b.clientParamIdentifier))}};DA[Su]=[new Tu("SHARE_CLIENT_PARAMS_PROVIDER_TOKEN")];var EA=class extends pA{j(){return wx}get o(){return!0}i(a){return zv(a,fo)||void 0}h(a,b,c){a.feedbackTokens=[];b.feedbackToken&&a.feedbackTokens.push(b.feedbackToken);if(b=b.cpn||c.cpn)a.feedbackContext={cpn:b};a.isFeedbackTokenUnencrypted=!!c.is_feedback_token_unencrypted;a.shouldMerge=!1;c.extra_feedback_tokens&&(a.shouldMerge=!0,a.feedbackTokens=a.feedbackTokens.concat(c.extra_feedback_tokens))}};var FA=class extends pA{j(){return wx}i(a){return zv(a,mo)}get o(){return!0}h(a,b){b.undoToken&&(a.feedbackTokens=[b.undoToken]);b.isUndoTokenUnencrypted&&(a.isFeedbackTokenUnencrypted=b.isUndoTokenUnencrypted)}};var GA=class extends pA{j(){return xx}i(a){return zv(a,lo)||void 0}h(a,b){b.params&&(a.params=b.params);b.secondaryParams&&(a.secondaryParams=b.secondaryParams)}};var HA=class extends pA{j(){return yx}i(a){return zv(a,ko)||void 0}h(a,b){b.actions&&(a.actions=b.actions);b.params&&(a.params=b.params);b.playlistId&&(a.playlistId=b.playlistId)}};var IA=class extends pA{j(){return vx}i(a){return zv(a,jo)}h(a,b,c={}){b.serializedShareEntity&&(a.serializedSharedEntity=b.serializedShareEntity);c.includeListId&&(a.includeListId=!0)}};let JA=t.caches,KA;function LA(a){const b=a.indexOf(":");return b===-1?{xd:a}:{xd:a.substring(0,b),datasyncId:a.substring(b+1)}} async function MA(){return KA!==void 0?KA:KA=new Promise(async a=>{try{await JA.open("test-only"),await JA.delete("test-only")}catch(b){if(b instanceof Error&&b.name==="SecurityError"){a(!1);return}}a("caches"in window)})} async function NA(a){if(await MA()){var b=[],c=await JA.keys();for(const d of c)({datasyncId:c}=LA(d)),!c||a.includes(c)||b.push(JA.delete(d));Promise.all(b).then(d=>d.some(e=>e))}} async function OA(){if(!await MA())return!1;const a=Yp("cache contains other");var b=await JA.keys();for(const c of b)if({datasyncId:b}=LA(c),b&&b!==a)return!0;return!1} ;function PA(){try{return!!self.sessionStorage}catch{return!1}} ;function QA(a){a=a.match(/(.*)::.*::.*/);if(a!==null)return a[1]} function RA(a){if(PA()){var b=Object.keys(window.sessionStorage);for(const c of b)b=QA(c),b===void 0||a.includes(b)||self.sessionStorage.removeItem(c)}} function SA(){if(!PA())return!1;const a=Yp();var b=Object.keys(window.sessionStorage);for(const c of b)if(b=QA(c),b!==void 0&&b!==a)return!0;return!1} ;function TA(){cA().then(a=>{a&&($r(a),NA(a),my(a),RA(a))})} function UA(){var a=new fu;Hl.ra(async()=>{if(!R("ytidb_clear_optimizations_killswitch")){var b=Yp("clear");if(b.startsWith("V")&&b.endsWith("||")){b=[b];$r(b);NA(b);my(b);RA(b);return}b=ny();const c=SA(),d=await OA(),e=await as();if(!(b||c||d||e))return}a.va()?TA():Hi(a,"publicytnetworkstatus-online",TA)})} ;function VA(a){return new Promise(b=>{window.setTimeout(b,a)})} async function Ak(a,b,c){Cz();Fz("att_fs",void 0,"attestation_challenge_fetch");if(!a.h)throw new Aj(9,"Missing fetcher");const d=await a.h(b,c);b=d?.bgChallenge;if(!b)throw new Aj(15,"Missing field");a.i=d;a.j.forEach(e=>{e(d)}); a=xy(b);Fz("att_fc",void 0,"attestation_challenge_fetch");Dz();return a} async function il(a,b){const c=new Oh(100,3E5,.25,2);let d=void 0;for(;c.i<10;)try{return c.i>0&&await VA(c.getValue()),await WA(a,b)}catch(e){d=e instanceof Aj?e:new Aj(9,e instanceof Error?e.message:"Unknown"),Ph(c)}if(d)throw d;throw new Aj(9,"Unknown error");} function WA(a,b){b=tk(uk(new vk,b),a.requestKey);const c=new ik,d=a.u();d.open("POST",a.o);d.setRequestHeader("X-Goog-Api-Key","AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw");d.setRequestHeader("Content-Type","application/json+protobuf");d.onload=()=>{if(Qo(d)){const e=Fl(d.responseText);c.resolve(e)}else c.reject(new Aj(yj(Ro(d)),d.statusText))}; d.onerror=()=>{c.reject(new Aj(yj(Ro(d)),d.statusText))}; d.send(b.serialize());return c.promise} var XA=class{constructor(a,b,c){this.requestKey=a;this.o=b;this.i=c;this.u=()=>new XMLHttpRequest; this.h=void 0;this.j=[]}getLatestChallengeResponse(){return this.i}};function YA(a){const b={bicf:d=>{a.h=d}, blc:()=>a.getLatestChallengeResponse(), bcr:d=>{a.j.push(d)}},c=window; c.ntpevasrs=b;if(c.ntpqfbel!==void 0)for(const d of c.ntpqfbel)d(b);c.ntpqfbel=void 0} ;function ZA(a){if(a instanceof Error){var b=w("yt.logging.errors.log");b&&b(a,"WARNING")}} ;function $A(a,b){a=new aB(a,b);bB(a);b?.Uh||cB(a)} function bB(a){if(!a.vm){var b={maxAttempts:5,Bd:a.ttlSeconds*1E3};a.Nb.ytcsi?.tick?.("pot_ist");a.vm=a.Qd({Ma:a.Ma,Cb:{disable:R("html5_web_po_disable_remote_logging"),qa:"aGIf",Ge:Vo(),ef:R("wpo_dis_lfdms")?0:1E3,Ib:d=>{var e=jy.get(d);e||(e=new iy(d),e=new xj(e),jy.set(d,e));return e}}, Jb:b,Pe:a.bgChallenge,vc:ZA});a.h=Date.now();Fk(a.vm,()=>{a.h=Date.now()}); a.Nb.bgevmc={p:()=>{a.vm?.pause()}, r:()=>{a.vm?.resume()}, cr:()=>a.vm?.checkForRefresh()??Promise.resolve()}; Vb(a.vm,async()=>cB(a),By()); var c=a.j.bind(a);a.Vc&&a.ttlSeconds>0&&a.Vc.then(d=>{d.listen("publicytnetworkstatus-online",c)}); a.Cd(c)}} function cB(a){if(a.i)return a.i;if(!a.vm)throw Error("VMNI");a.i=new sl({vm:a.vm,Ma:a.Ma,gd:!0,onError:ZA,Jb:a.Sd});return a.i} var aB=class{constructor(a,b){this.h=0;this.Nb=b?.Nb??window;this.Vc=b?.Vc;this.requestKey=b?.requestKey??(Wo("par_bir_key")||"O43z0dpjhgX20SCx4KAo");this.Qd=b?.Qd??(d=>new Ik(d)); const c=b?.Zh??((d,e,f)=>new XA(d,e,f)); this.bgChallenge=xy(a.bgChallenge);this.ttlSeconds=zy(yy(a.challenge||""));this.Ma=c(this.requestKey,R("par_at_ep")?["www.youtube.com","m.youtube.com"].includes(t.location.hostname)?"/api/jnn/v1/GenerateIT":"https://jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT":"https://jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT",a);this.Sd=b?.Sd;YA(this.Ma);this.Cd=b?.Cd??(d=>{zi(this.Nb.document,"visibilitychange",()=>{this.Nb.document.visibilityState==="visible"&&d()})})}j(){Date.now()> this.h+this.ttlSeconds*1E3&&this.vm?.H()}}; function dB(a){try{const b=JSON.parse(a);if(b.bgChallenge)return b}catch(b){}} function eB(a=window){var b={},c=a.ytAtR;b?.rd?.ri();if(c){if(c=dB(c))b?.rd?.Ad("SUCCESS"),$A(c,b);a.ytAtR=void 0}else a.ytAtRC=d=>{if(d=dB(d))b?.rd?.Ad("SUCCESS"),$A(d,b),a.ytAtRC=void 0}} ;const fB=["www.youtube-nocookie.com","www.youtubeeducation.com","youtube.googleapis.com"];function gB(a,b,c,d,e,f){c?(a.state=2,Dx(Vn(c),()=>{window.trayride?hB(a,d,e):(a.state=3,Fx(c),V(new S("BL:ULB",`${c}`)))},f)):b?(f=ph("SCRIPT"),b instanceof Wa?(f.textContent=Ya(b),Za(f)):f.textContent=b,f.nonce=Va(document),document.head.appendChild(f),document.head.removeChild(f),window.trayride?hB(a,d,e):(a.state=4,V(new S("BL:ULBJ")))):V(new S("BL:ULV"))} function hB(a,b,c){a.state=5;const d=!!a.h&&fB.includes(yb(a.h)||"");try{const e=new kk({program:b,globalName:"trayride",Cb:{disable:!R("att_web_record_metrics")||!R("att_skip_metrics_for_cookieless_domains_ks")&&d,qa:"aGIf"}});e.Gb.then(()=>{a.state=6;c&&c(b)}); a.i(e)}catch(e){a.state=7,e instanceof Error&&V(e)}} var iB=class{constructor(){this.state=1;this.vm=null;this.h=void 0}initialize(a,b,c,d){this.h=d;if(a.program){var e;d=a.interpreterUrl??null;a.interpreterSafeScript?e=Tn(a.interpreterSafeScript):e=a.interpreterScript??null;a.interpreterSafeUrl&&(d=Un(a.interpreterSafeUrl).toString());gB(this,e,d,a.program,b,c)}else V(Error("BL:CIP"))}isLoading(){return this.state===2}invoke(a={}){return this.j()?this.o({Ia:a}):null}dispose(){this.i(null);this.state=8}j(){return!!this.vm}o(a){return this.vm.Hd(a)}i(a){Lb(this.vm); this.vm=a}};function jB(){const a=w("yt.abuse.playerAttLoader");return a&&["bgvma","bgvmb","bgvmc"].every(b=>b in a)?a:null} ;var kB=class extends iB{i(a){jB()?.bgvma();if(a){const b={bgvma:a.dispose.bind(a),bgvmb:a.snapshot.bind(a),bgvmc:a.Hd.bind(a)};v("yt.abuse.playerAttLoader",b);v("yt.abuse.playerAttLoaderRun",c=>a.snapshot(c))}else v("yt.abuse.playerAttLoader",null),v("yt.abuse.playerAttLoaderRun",null)}j(){return!!jB()}o(a){return jB().bgvmc(a)}};var lB=new Tu("AUTH_SERVICE_TOKEN");var mB=class extends qv{constructor(){super("document_active");this.i=10;this.h=new Map;this.transitions=[{from:"document_active",to:"document_disposed_preventable",action:this.D},{from:"document_active",to:"document_disposed",action:this.u},{from:"document_disposed_preventable",to:"document_disposed",action:this.u},{from:"document_disposed_preventable",to:"flush_logs",action:this.M},{from:"document_disposed_preventable",to:"document_active",action:this.j},{from:"document_disposed",to:"flush_logs", action:this.M},{from:"document_disposed",to:"document_active",action:this.j},{from:"document_disposed",to:"document_disposed",action:()=>{}}, {from:"flush_logs",to:"document_active",action:this.j}];window.addEventListener("pagehide",a=>{this.transition("document_disposed",{event:a})}); window.addEventListener("beforeunload",a=>{this.transition("document_disposed_preventable",{event:a})})}D(a,b){if(!this.h.get("document_disposed_preventable")&&(a(b?.event),b?.event?.defaultPrevented||b?.event?.returnValue)){b.event.returnValue||(b.event.returnValue=!0); b.event.defaultPrevented||b.event.preventDefault();this.h=new Map;this.transition("document_active");return}this.h.set("document_disposed_preventable",!0);this.h.get("document_disposed")?this.transition("flush_logs"):this.transition("document_disposed")}u(a,b){this.h.get("document_disposed")?this.transition("document_active"):(a(b?.event),this.h.set("document_disposed",!0),this.transition("flush_logs"))}M(a,b){a(b?.event);this.transition("document_active")}j(){this.h=new Map}};var nB=class extends qv{constructor(){super("document_visibility_unknown");this.transitions=[{from:"document_visibility_unknown",to:"document_visible",action:this.j},{from:"document_visibility_unknown",to:"document_hidden",action:this.h},{from:"document_visibility_unknown",to:"document_foregrounded",action:this.M},{from:"document_visibility_unknown",to:"document_backgrounded",action:this.u},{from:"document_visible",to:"document_hidden",action:this.h},{from:"document_visible",to:"document_foregrounded", action:this.M},{from:"document_visible",to:"document_visible",action:this.j},{from:"document_foregrounded",to:"document_visible",action:this.j},{from:"document_foregrounded",to:"document_hidden",action:this.h},{from:"document_foregrounded",to:"document_foregrounded",action:this.M},{from:"document_hidden",to:"document_visible",action:this.j},{from:"document_hidden",to:"document_backgrounded",action:this.u},{from:"document_hidden",to:"document_hidden",action:this.h},{from:"document_backgrounded",to:"document_hidden", action:this.h},{from:"document_backgrounded",to:"document_backgrounded",action:this.u},{from:"document_backgrounded",to:"document_visible",action:this.j}];document.addEventListener("visibilitychange",a=>{document.visibilityState==="visible"?this.transition("document_visible",{event:a}):this.transition("document_hidden",{event:a})}); R("visibility_lifecycles_dynamic_backgrounding")&&(window.addEventListener("blur",a=>{this.transition("document_backgrounded",{event:a})}),window.addEventListener("focus",a=>{this.transition("document_foregrounded",{event:a})}))}j(a,b){a(b?.event); R("visibility_lifecycles_dynamic_backgrounding")&&this.transition("document_foregrounded")}h(a,b){a(b?.event);R("visibility_lifecycles_dynamic_backgrounding")&&this.transition("document_backgrounded")}u(a,b){a(b?.event)}M(a,b){a(b?.event)}};var oB=class{constructor(){this.o=new mB;this.u=new nB}install(...a){a.forEach(b=>{this.o.install(b)}); a.forEach(b=>{this.u.install(b)})}};function pB(a,b,c,d=0){if(!b)return!1;d=Pw(d);if(!d)return!1;a=a.client;b=new Hw({trackingParams:b});var e=void 0;if(R("no_client_ve_attach_unless_shown")){var f=ey(b,d);ay.set(f,!0);fy(b,d)}e=e||"INTERACTION_LOGGING_GESTURE_TYPE_GENERIC_CLICK";f=dy({cttAuthInfo:Rw(d)||void 0,automatedLogEventSource:void 0},d);b={csn:d,ve:b.getAsJson(),gestureType:e};c&&(b.clientData=c);d==="UNDEFINED_CSN"?gy("visualElementGestured",f,b):a?jw("visualElementGestured",b,a,f):Nq("visualElementGestured",b,f);return!0} function qB(a,b,c,d=0){const e=Pw(d);b=b||Mw(d);e&&b&&(a=a.client,d=dy({cttAuthInfo:Rw(e)||void 0},e),c={csn:e,ve:b.getAsJson(),clientData:c},e==="UNDEFINED_CSN"?gy("visualElementStateChanged",d,c):a?jw("visualElementStateChanged",c,a,d):Nq("visualElementStateChanged",c,d))} function rB(a,b){if(b===void 0){const c=Ow();for(let d=0;d{(d=a.h.get(d))&&cy(a.client,b,d,c)}),a.i.clear(),a.h.clear()} var sB=class{constructor(){this.o=[];this.i=new Map;this.h=new Map;this.j=new Set}clickCommand(a,b,c=0){return pB(this,a.clickTrackingParams,b,c)}stateChanged(a,b,c=0){this.visualElementStateChanged(new Hw({trackingParams:a}),b,c)}visualElementStateChanged(a,b,c=0){c===0&&this.j.has(c)?this.o.push([a,b]):qB(this,a,b,c)}};var uB=class extends oB{constructor(){super();this.install({document_disposed:{callback:this.h}});R("combine_ve_grafts")&&this.install({document_disposed:{callback:this.i}});this.install({flush_logs:{callback:this.j}});R("web_log_cfg_cee_ks")||Zp(tB)}j(){Nq("finalPayload",{csn:Pw()})}h(){Aw(Cw)}i(){var a=rB;sB.instance||(sB.instance=new sB);a(sB.instance)}}; function tB(){const a=O("CLIENT_EXPERIMENT_EVENTS");if(a){var b=Fd();for(const c of a)b(c)&&Nq("genericClientExperimentEvent",{eventType:c});delete uo.CLIENT_EXPERIMENT_EVENTS}} ;var vB=class extends S{constructor(){super("JSON parsing failed after fetch",[]);this.errorType=1;Object.setPrototypeOf(this,new.target.prototype)}};function wB(a,b,c){if(a.h){const d=zb(Jb(b,"key"))||"/UNKNOWN_PATH";a.h.start(d)}a=c;R("wug_networking_gzip_request")&&(a=mt(c));return new window.Request(b,a)} var xB=class{constructor(a){this.h=a}async fetch(a,b,c){a=wB(this,a,b);return fetch(a).then(d=>this.handleResponse(d,c)).catch(d=>{V(d); if(c?.Fe&&d instanceof vB&&d.errorType===1)return Promise.reject(d)})}handleResponse(a,b){let c; c=a.text().then(d=>{if(b?.Xe&&a.ok)return Qf(b.Xe,d);d=d.replace(")]}'","");let e;if(b?.Fe&&d)try{e=JSON.parse(d)}catch(f){throw new vB;}return e??JSON.parse(d)}); a.redirected||a.ok?this.h&&this.h.success():(this.h&&this.h.Yh(),c=c.then(d=>{V(new S("Error: API fetch failed",a.status,a.url,d));return{...d,errorMetadata:{status:a.status}}})); return c}};xB[Su]=[new Uu(new Tu("NETWORK_SLI_TOKEN"))];var yB=new Tu("NETWORK_MANAGER_TOKEN");function zB(){let a=w("ytglobal.storage_");a||(a=new AB,v("ytglobal.storage_",a));return a} var AB=class{async estimate(){const a=navigator;if(a.storage?.estimate)return a.storage.estimate();if(a.webkitTemporaryStorage?.queryUsageAndQuota)return BB()}};function BB(){const a=navigator;return new Promise((b,c)=>{a.webkitTemporaryStorage?.queryUsageAndQuota?a.webkitTemporaryStorage.queryUsageAndQuota((d,e)=>{b({usage:d,quota:e})},d=>{c(d)}):c(Error("webkitTemporaryStorage is not supported."))})} v("ytglobal.storageClass_",AB);function CB(a,b){zB().estimate().then(c=>{a.h("idbQuotaExceeded",{...b,isSw:self.document===void 0,isIframe:self!==self.top,deviceStorageUsageMbytes:DB(c?.usage),deviceStorageQuotaMbytes:DB(c?.quota)})})} class Oq{constructor(a,b){this.handleError=a;this.h=b;this.i=!1;self.document===void 0||self.addEventListener("beforeunload",()=>{this.i=!0}); this.j=Math.random()<=.2}wa(a){this.handleError(a)}logEvent(a,b){switch(a){case "IDB_DATA_CORRUPTED":R("idb_data_corrupted_killswitch")||this.h("idbDataCorrupted",b);break;case "IDB_UNEXPECTEDLY_CLOSED":this.h("idbUnexpectedlyClosed",b);break;case "IS_SUPPORTED_COMPLETED":R("idb_is_supported_completed_killswitch")||this.h("idbIsSupportedCompleted",b);break;case "QUOTA_EXCEEDED":CB(this,b);break;case "TRANSACTION_ENDED":this.j&&Math.random()<=.1&&this.h("idbTransactionEnded",b);break;case "TRANSACTION_UNEXPECTEDLY_ABORTED":this.h("idbTransactionAborted", {...b,hasWindowUnloaded:this.i})}}}function DB(a){return typeof a==="undefined"?"-1":String(Math.ceil(a/1048576))} ;var uA={ld:{feedbackEndpoint:nA(EA),modifyChannelNotificationPreferenceEndpoint:nA(GA),playlistEditEndpoint:nA(HA),shareEntityEndpoint:nA(DA),subscribeEndpoint:nA(BA),undoFeedbackEndpoint:nA(FA),unsubscribeEndpoint:nA(CA),webPlayerShareEntityServiceEndpoint:nA(IA)}};function EB(){const a=$u();Vu(a,{Vb:yB,dd:xB});Vu(a,{Vb:lB,dd:Ep});const b=iA(),c=a.resolve(lB),d=a.resolve(yB),e={};b&&(e.client_location=b);tA(d,c,e);Vu(a,{Vb:bA,Nd:Zz.instance})} ;const FB=new Map;function GB(a,b,c,d=()=>{},e=null){b=new HB(a,b,c,d,e); FB.set(a,b)} function IB(a){if(!a.onReadyPatchApplied){var b=a.addEventListener;a.addEventListener=(c,d)=>{c==="onReady"?Promise.resolve().then(()=>{d(a)}):b.call(a,c,d)}; a.onReadyPatchApplied=!0}} function JB(a){if(w("yt.player.Application.create"))Promise.resolve().then(()=>{KB(a)}); else{LB(Un(a.webPlayerContextConfig.trustedJsUrl),()=>{KB(a)},()=>{a.F||a.vc()}); const b=a.webPlayerContextConfig.trustedCssUrl;b&&MB(Un(b))}} function KB(a){if(!a.F){var b=w("yt.player.Application.create");try{a.api=b(a.container,{args:a.playerVars},a.webPlayerContextConfig,void 0).getInternalApi(),IB(a.api),a.api.isReady=()=>!0,a.h(a.api)}catch(c){throw a.vc(),c; }}} var HB=class extends y{constructor(a,b,c,d,e){super();this.container=a;this.webPlayerContextConfig=b;this.h=c;this.vc=d;this.playerVars=e;JB(this)}X(){this.api&&this.api.destroy();qh(this.container);super.X()}};function MB(a){const b=`ytp-${a.toString()}`;if(!document.getElementById(b)){var c=document.createElement("link");c.id=b;eb(c,a);(document.getElementsByTagName("head")[0]||document.body).appendChild(c)}} function LB(a,b,c){const d=`ytp-${a.toString()}`,e=document.getElementById(d);if(e)e.dataset.failed?c():e.dataset.loaded?b():(e.addEventListener("error",()=>{c()}),e.addEventListener("load",()=>{b()})); else{var f=document.createElement("script");f.id=d;f.addEventListener("error",()=>{f.dataset.failed="true";c()}); f.addEventListener("load",()=>{f.dataset.loaded="true";b()}); $a(f,a);a=document.getElementsByTagName("head")[0]||document.body;a.insertBefore(f,a.firstChild)}} ;function NB(a){O("ENABLE_WEBVIEW_API")&&window.ytwebviewplayer&&(window.addEventListener("message",b=>{try{const d=JSON.parse(b.data),e=d.methodName,f=d.args||[];a:{for(const g of f)if(String(g).includes("javascript:")){var c=!0;break a}c=!1}if(c)throw Error(`Dangerous call to "${e}" with [${f}].`);if(e&&typeof a[e]==="function")a[e](...f);else throw Error(`Unknown API method: "${e}".`);}catch(d){rw(d)}}),a.addEventListener("onReady",()=>{window.ytwebviewplayer.postMessage(JSON.stringify({type:"onPlayerReady"}))}), a.addEventListener("onStateChange",b=>{window.ytwebviewplayer.postMessage(JSON.stringify({type:"onStateChange", state:b}))}),a.addEventListener("onError",b=>{window.ytwebviewplayer.postMessage(JSON.stringify({type:"onError", errorCode:b}))}))} ;const OB={["api.invalidparam"]:2,auth:150,["drm.auth"]:150,["heartbeat.net"]:150,["heartbeat.servererror"]:150,["heartbeat.stop"]:150,["html5.unsupportedads"]:5,["fmt.noneavailable"]:5,["fmt.decode"]:5,["fmt.unplayable"]:5,["html5.missingapi"]:5,["html5.unsupportedlive"]:5,["drm.unavailable"]:5,["mrm.blocked"]:151,["embedder.identity.denied"]:152,["embedder.identity.missing.referrer"]:153};const PB=new Set("endSeconds startSeconds mediaContentUrl suggestedQuality videoId rct rctn playmuted muted_autoplay_duration_mode".split(" "));function QB(a){return(a.search("cue")===0||a.search("load")===0)&&a!=="loadModule"} function RB(a,b,c){if(typeof a==="string")return{videoId:a,startSeconds:b,suggestedQuality:c};b={};for(const d of PB)a[d]&&(b[d]=a[d]);if(a=a.embedConfig||a.embed_config)if(typeof a==="string")b.embed_config=a;else if(la(a))try{const d=JSON.stringify(a);b.embed_config=d}catch(d){console.error("Invalid embedConfig JSON",d)}return b} function SB(a,b,c,d){if(la(a)&&!Array.isArray(a)){b="playlist list listType index startSeconds suggestedQuality".split(" ");c={};for(d=0;d{b==="onError"?a.api.logApiCall(`${b} invocation`,c,d):a.api.logApiCall(`${b} invocation`,c);a.sendMessage(b,d)}} var bC=class extends y{constructor(){var a=ZB,b=$B;super();this.api=a;this.j=this.D=!1;this.H=[];this.R={};this.o=[];this.i=[];this.ba=!1;this.sessionId=this.h=null;this.targetOrigin="*";this.V=R("web_player_split_event_bus_iframe");this.A=O("POST_MESSAGE_ORIGIN")||`${document.location.protocol}//${document.location.hostname}`;this.u=c=>{this.onMessage(c)}; aC.addEventListener("message",this.u);if(a=O("WIDGET_ID"))this.sessionId=a;b&&this.u(b);TB(this,"onReady",()=>{this.D=!0;var c=this.api.getVideoData();c.isPlayable||(this.ba=!0,this.errorCode=(c=c.errorCode)?OB[c]||5:5,this.sendMessage("onError",Number(this.errorCode)));UB(this);this.h||this.j||window.parent===window||!this.sessionId||WB(this,{event:"readyToListen"},window.parent)}); TB(this,"onVideoProgress",this.Sa.bind(this));TB(this,"onVolumeChange",this.Kb.bind(this));TB(this,"onApiChange",this.fa.bind(this));TB(this,"onPlaybackQualityChange",this.za.bind(this));TB(this,"onPlaybackRateChange",this.Da.bind(this));TB(this,"onStateChange",this.Ha.bind(this));TB(this,"onWebglSettingsChanged",this.Ic.bind(this));TB(this,"onCaptionsTrackListChanged",this.ia.bind(this));TB(this,"captionssettingschanged",this.na.bind(this))}sendMessage(a,b){a={event:a,info:b===void 0?null:b};this.j? WB(this,a):this.H.push(a)}Ha(a){a={playerState:a,currentTime:this.api.getCurrentTime(),duration:this.api.getDuration(),videoData:this.api.getVideoData(),videoStartBytes:0,videoBytesTotal:this.api.getVideoBytesTotal(),videoLoadedFraction:this.api.getVideoLoadedFraction(),playbackQuality:this.api.getPlaybackQuality(),availableQualityLevels:this.api.getAvailableQualityLevels(),currentTimeLastUpdated_:Date.now()/1E3,playbackRate:this.api.getPlaybackRate(),mediaReferenceTime:this.api.getMediaReferenceTime()}; this.api.getVideoUrl&&(a.videoUrl=this.api.getVideoUrl());this.api.getVideoContentRect&&(a.videoContentRect=this.api.getVideoContentRect());this.api.getProgressState&&(a.progressState=this.api.getProgressState());this.api.getPlaylist&&(a.playlist=this.api.getPlaylist());this.api.getPlaylistIndex&&(a.playlistIndex=this.api.getPlaylistIndex());XB(this,a)}za(a){a={playbackQuality:a};this.api.getAvailableQualityLevels&&(a.availableQualityLevels=this.api.getAvailableQualityLevels());this.api.getPreferredQuality&& (a.preferredQuality=this.api.getPreferredQuality());XB(this,a)}Da(a){XB(this,{playbackRate:a})}fa(){const a=this.api.getOptions(),b={namespaces:a};for(let c=0,d=a.length;c0&&QB(b)){var e=c;if(la(e[0])&&!Array.isArray(e[0]))d=e[0];else switch(d={},b){case "loadVideoById":case "cueVideoById":d=RB(e[0],e[1]!== void 0?Number(e[1]):void 0,e[2]);break;case "loadVideoByUrl":case "cueVideoByUrl":d=e[0];typeof d==="string"&&(d={mediaContentUrl:d,startSeconds:e[1]!==void 0?Number(e[1]):void 0,suggestedQuality:e[2]});b:{if((e=d.mediaContentUrl)&&(e=/\/([ve]|embed)\/([^#?]+)/.exec(e))&&e[2]){e=e[2];break b}e=null}d.videoId=e;d=RB(d);break;case "loadPlaylist":case "cuePlaylist":d=SB(e[0],e[1],e[2],e[3])}c.length=1;c[0]=d}this.api.handleExternalCall(b,c,a);QB(b)&&XB(this,VB(this))}}}}X(){super.X();aC.removeEventListener("message", this.u);for(var a=0;a{this.onMessage(d)}; hC.addEventListener("message",this.i);cC(this,"RECEIVING")}addListener(a,b){if(!(a in this.h)){var c=this.o.bind(this,a);this.h[a]=c;this.addEventListener(a,c,b)}}o(a,b){this.F||cC(this,a,eC(a,b))}removeListener(a,b){a in this.h&&(this.removeEventListener(a,this.h[a],b),delete this.h[a])}addEventListener(a,b,c){this.j?a==="onReady"?this.api.addEventListener(a,b):this.api.handleExternalCall("addEventListener",[a,b],c||null):this.api.addEventListener(a,b)}removeEventListener(a,b,c){this.j?a==="onReady"? this.api.removeEventListener(a,b):this.api.handleExternalCall("removeEventListener",[a,b],c||null):this.api.removeEventListener(a,b)}onMessage(a){if(a.origin===this.origin){var b=a.data;if(typeof b==="string"){try{b=JSON.parse(b)}catch(e){return}if(b.command){var c=b.command;b=b.data;a=a.origin;if(!this.F){var d=b||{};switch(c){case "addEventListener":typeof d.event==="string"&&this.addListener(d.event,a);break;case "removeEventListener":typeof d.event==="string"&&this.removeListener(d.event,a);break; default:this.api.isReady()&&this.api.isExternalMethodAvailable(c,a||null)&&(b=fC(c,b||{}),b=this.api.handleExternalCall(c,b,a||null),(b=gC(c,b))&&cC(this,c,b))}}}}}}X(){hC.removeEventListener("message",this.i);for(const a in this.h)this.h.hasOwnProperty(a)&&this.removeListener(a);super.X()}};let hC=window,dC=window.parent;let jC=new kB;function kC(){return jC.j()} function lC(a={}){return jC.invoke(a)} ;function mC(a){a.Da=!1;if(a.ia)for(var b in a.h)a.h.hasOwnProperty(b)&&a.ia(b,a.h[b]);for(const c in a.H)a.H.hasOwnProperty(c)&&clearTimeout(Number(c));a.H={};a.u=null;a.ia=null;b=a.api;for(const c in b)b.hasOwnProperty(c)&&(b[c]=null);b.addEventListener=(c,d)=>{a.addEventListener(c,d)}; b.removeEventListener=(c,d)=>{a.removeEventListener(c,d)}; b.destroy=()=>{a.dispose()}; b.getLastError=()=>a.getLastError(); b.getPlayerType=()=>a.getPlayerType(); b.getCurrentVideoConfig=()=>a.Ha; b.loadNewVideoConfig=c=>{a.loadNewVideoConfig(c)}; b.isReady=()=>a.isReady()} function nC(a){let b;a.webPlayerContextConfig?b=a.webPlayerContextConfig.rootElementId:b=a.config.attrs.id;a.elementId=b||a.elementId;a.elementId==="video-player"&&(a.elementId=a.A,a.webPlayerContextConfig?a.webPlayerContextConfig.rootElementId=a.A:a.config.attrs.id=a.A);a.i?.id===a.elementId&&(a.elementId=`${a.elementId}-player`,a.webPlayerContextConfig?a.webPlayerContextConfig.rootElementId=a.elementId:a.config.attrs.id=a.elementId)} function oC(a){if(!a.F&&!a.V){var b=pC(a);if(b&&(qC(a)?"html5":null)==="html5")a.ba="html5",a.isReady()||rC(a);else if(sC(a),a.ba="html5",b&&a.j&&a.o)a.o.appendChild(a.j),rC(a);else{a.config&&(a.config.loaded=!0);let c=!1;a.D=()=>{c=!0;let d;d=tC(a,"player_bootstrap_method")?w("yt.player.Application.createAlternate")||w("yt.player.Application.create"):w("yt.player.Application.create");const e=a.config?uC(a.config):void 0;d&&d(a.o,e,a.webPlayerContextConfig,void 0);rC(a)}; a.V=!0;b?a.D():(Dx(vC(a),a.D),(b=wC(a))&&Kx(b||""),xC(a)&&!c&&v("yt.player.Application.create",null))}}} function yC(a){a.config&&a.config.loaded!==!0&&(a.config.loaded=!0,!a.config.args||a.config.args.autoplay!=="0"&&a.config.args.autoplay!==0&&a.config.args.autoplay!==!1?a.api.loadVideoByPlayerVars(a.config.args??null):a.api.cueVideoByPlayerVars(a.config.args))} function uC(a){const b={};for(const c of Object.keys(a)){const d=a[c];b[c]=typeof d==="object"?ih(d):d}return b} function zC(a,b){let c=b;if(typeof b==="string"){if(a.za[b])return a.za[b];c=(...d)=>{const e=w(b);if(e)try{e.apply(t,d)}catch(f){throw d=new S("PlayerProxy error when executing callback",{error:f}),d.level="ERROR",d;}}; a.za[b]=c}return c?c:null} function qC(a){let b=oh(a.elementId);!b&&a.i&&a.i.querySelector&&(b=a.i.querySelector(`#${a.elementId}`));return b} function vC(a){return a.webPlayerContextConfig?a.webPlayerContextConfig.jsUrl:(a=a.config.assets)?a.js:""} function pC(a){let b=!0;const c=qC(a);c&&a.config&&(b=c.dataset.version===vC(a));return b&&!!w("yt.player.Application.create")} function tC(a,b){let c;a.webPlayerContextConfig?c=a.webPlayerContextConfig.serializedExperimentFlags:a.config?.args&&(c=a.config.args.fflags);return(c||"").split("&").includes(`${b}=true`)} function rC(a){if(!a.F){const b=qC(a);let c=!1;b&&b.getApiInterface&&b.getApiInterface()&&(c=!0);c?(a.V=!1,!tC(a,"html5_remove_not_servable_check_killswitch")&&b?.isNotServable&&a.config&&b?.isNotServable(a.config.args?.video_id)||AC(a)):a.Sa=setTimeout(()=>{rC(a)},50)}} function sC(a){a.cancel();mC(a);a.ba=null;a.config&&(a.config.loaded=!1);const b=qC(a);b&&(pC(a)||!xC(a)?a.j=b:(b&&b.destroy&&b.destroy(),a.j=null));a.o&&qh(a.o)} function wC(a){return a.webPlayerContextConfig?a.webPlayerContextConfig.cssUrl:(a=a.config.assets)?a.css:""} function xC(a){a=a.config?.args?.fflags;return!!a&&a.indexOf("player_destroy_old_version=true")!==-1} function AC(a){mC(a);a.Da=!0;const b=qC(a);if(b){a.u=BC(a,b,"addEventListener");a.ia=BC(a,b,"removeEventListener");let c=b.getApiInterface();c=c.concat(b.getInternalApiInterface());const d=a.api;for(let e=0;e{try{return a.lastError=null,d.apply(b,e)}catch(f){if(c!=="sendAbandonmentPing")throw f.params=c,a.lastError=f,e=new S("PlayerProxy error in method call",{error:f,method:c,playerId:a.A}),e.level="WARNING",e;}}} function CC(a,b){const c=d=>{const e=()=>{if(!a.F)try{a.R.ob(b,d??void 0)}catch(g){var f=new S("PlayerProxy error when creating global callback",{error:g.message,event:b,playerId:a.A,data:d,originalStack:g.stack,componentStack:g.qe});f.level="WARNING";throw f;}}; if(tC(a,"web_player_publish_events_immediately"))e();else{const f=setTimeout(()=>{e();var g=a.H,h=String(f);h in g&&delete g[h]},0); fh(a.H,String(f))}}; return a.h[b]=c} var DC=class extends y{constructor(a,b,c,d){super();this.A=b;this.webPlayerContextConfig=d;this.Da=!1;this.api={};this.ia=this.u=null;this.R=new J;this.h={};this.ba=this.na=this.elementId=this.Ha=this.config=null;this.V=!1;this.j=this.D=null;this.za={};this.Kb=["onReady"];this.lastError=null;this.Sa=NaN;this.H={};this.fa=0;this.i=this.o=a;Nb(this,this.R);mC(this);c?this.fa=setTimeout(()=>{this.loadNewVideoConfig(c)},0):d&&(nC(this),oC(this))}getId(){return this.A}loadNewVideoConfig(a){if(!this.F){this.fa&& (clearTimeout(this.fa),this.fa=0); var b=a||{};b instanceof sx||(b=new sx(b));this.config=b;this.setConfig(a);oC(this);this.isReady()&&yC(this)}}setConfig(a){this.Ha=a;this.config=uC(a);nC(this);this.na||(this.na=zC(this,this.config.args?.jsapicallback||"onYouTubePlayerReady"));this.config.args?this.config.args.jsapicallback=null:this.config.args={jsapicallback:null};if(this.config?.attrs){a=this.config.attrs;const b=a.width;b&&this.i&&(this.i.style.width=Dl(Number(b)||b));(a=a.height)&&this.i&&(this.i.style.height=Dl(Number(a)||a))}}isReady(){return this.Da}addEventListener(a, b){const c=zC(this,b);c&&(fb(this.Kb,a)>=0||this.h[a]||(b=CC(this,a),this.u&&this.u(a,b)),this.R.subscribe(a,c),a==="onReady"&&this.isReady()&&setTimeout(()=>{c(this.api)},0))}removeEventListener(a,b){this.F||(b=zC(this,b))&&this.R.unsubscribe(a,b)}getPlayerType(){return this.ba||(qC(this)?"html5":null)}getLastError(){return this.lastError}cancel(){this.D&&Hx(vC(this),this.D); clearTimeout(this.Sa);this.V=!1}X(){sC(this);if(this.j&&this.config&&this.j.destroy)try{this.j.destroy()}catch(b){var a=new S("PlayerProxy error during disposal",{error:b});a.level="ERROR";throw a;}this.za=null;for(a in this.h)this.h.hasOwnProperty(a)&&delete this.h[a];this.Ha=this.config=this.api=null;delete this.o;delete this.i;super.X()}};const EC={},FC="player_uid_"+(Math.random()*1E9>>>0);function GC(a,b){var c="player";c=typeof c==="string"?oh(c):c;const d=`${FC}_${ma(c)}`;let e=EC[d];e=new DC(c,d,a,b);EC[d]=e;e.addOnDisposeCallback(()=>{delete EC[e.getId()]}); return e.api} ;let ZB=null,HC=null,$B;function IC(a){ZB=a;ZB.addEventListener("onVideoDataChange",JC);ZB.addEventListener("onReady",KC);a=O("POST_MESSAGE_ID","player");const b=O("POST_MESSAGE_ORIGIN");O("ENABLE_JS_API")?HC=new bC:O("ENABLE_POST_API")&&typeof a==="string"&&typeof b==="string"&&(HC=new iC(a,b));$B=void 0} function LC(){Iy();R("ytidb_create_logger_embed_killswitch")||Lq();uB.h||(uB.h=new uB);uB.h.install({flush_logs:{callback:()=>{Xv()}}}); Tq||pu();EB();Hl.ra(()=>{UA()}); const a=I("att_init_delay",200);R("enable_rta_manager")&&setTimeout(()=>{R("attmusi")&&eB(window);var b=new aA;var c={preload:!R("enable_rta_npi"),Md:R("attmusi")};let d=!1;if(typeof c==="boolean")var e={preload:c};else typeof c==="undefined"?e={preload:!0}:(e=c,d=!!c.Th);c=d?void 0:new fu;Wz.instance=new Wz(b,e,c);b=Wz.instance;if(R("attmusi")&&R("attmusi_ue")){b={s:b.o.bind(b),ir:b.u.bind(b)};e=window;e.attmp=b;if(e.attmq!==void 0)for(var f of e.attmq)f(b);e.attmq=void 0}else f=b.o.bind(b),v("yt.aba.att", f),f=b.u.bind(b),v("yt.aba.att2",f)},a); Zp(()=>{if(R("enable_zw_ping")){var b=O("INNERTUBE_CLIENT_NAME","UNKNOWN_INTERFACE"),c="/establish_zw";b==="WEB_EMBEDDED_PLAYER"?c="/embed/establish_zw":b==="TVHTML5"&&(c="https://www.youtube.com/tv/establish_zw");O("COOKIELESS",!1)&&b==="WEB_EMBEDDED_PLAYER"?(b=new Headers,b.set("X-Goog-Visitor-Id",O("VISITOR_DATA")),fetch(c,{method:"GET",mode:"no-cors",headers:b})):fetch(c,{method:"GET",mode:"no-cors",credentials:"include"})}})} function MC(){Lz();const a=Lp();var b=Op(119),c=window.devicePixelRatio>1;if(document.body&&Sl(document.body,"exp-invert-logo"))if(c&&!Sl(document.body,"inverted-hdpi")){var d=document.body;if(d.classList)d.classList.add("inverted-hdpi");else if(!Sl(d,"inverted-hdpi")){const f=Ql(d);Rl(d,f+(f.length>0?" inverted-hdpi":"inverted-hdpi"))}}else!c&&Sl(document.body,"inverted-hdpi")&&Tl();if(b!=c){b=`f${Math.floor(119/31)+1}`;d=Pp(b)||0;d=c?d|67108864:d&-67108865;d===0?delete Kp[b]:(c=d.toString(16),Kp[b]= c.toString());b=!0;R("web_secure_pref_cookie_killswitch")&&(b=!1);c=a.h;d=[];for(e in Kp)Kp.hasOwnProperty(e)&&d.push(`${e}=`+encodeURIComponent(String(Kp[e])));var e=d.join("&");Gp(c,e,63072E3,a.i,b)}} function JC(){NC()} function KC(){Fz("ep_init_pr");NC()} function NC(){var a=ZB.getVideoData(1);a=a.title?a.title+" - YouTube":"YouTube";document.title!==a&&(document.title=a)} function OC(){ZB&&ZB.sendAbandonmentPing&&ZB.sendAbandonmentPing();O("PL_ATT")&&jC.dispose();var a=Hl;for(let b=0,c=Fy.length;b{O("ENABLE_WEBVIEW_API")?(c=c.getTrustedApi(),IB(c),NB(c)):IC(c)},()=>{throw Error("Unable to load player JS"); },a.args),O("ENABLE_WEBVIEW_API")||LC()):(a=GC(a,b),IC(a),LC()); Fz("ep_init_wee")}); v("yt.abuse.player.botguardInitialized",w("yt.abuse.player.botguardInitialized")||kC);v("yt.abuse.player.invokeBotguard",w("yt.abuse.player.invokeBotguard")||lC);v("yt.abuse.dclkstatus.checkDclkStatus",w("yt.abuse.dclkstatus.checkDclkStatus")||Jy);v("yt.player.exports.navigate",w("yt.player.exports.navigate")||sy);v("yt.util.activity.init",w("yt.util.activity.init")||Du);v("yt.util.activity.getTimeSinceActive",w("yt.util.activity.getTimeSinceActive")||Hu); v("yt.util.activity.setTimestamp",w("yt.util.activity.setTimestamp")||Eu);window.addEventListener("load",P(function(){MC()})); window.addEventListener("pageshow",P(function(a){a.persisted||MC()})); window.addEventListener("pagehide",P(function(a){R("embeds_web_enable_dispose_player_if_page_not_cached_killswitch")?OC():a.persisted||OC()})); v("yt.logging.errors.log",rw);gb(O("ERRORS")||[],a=>{rw.apply(null,a)}); vo("ERRORS",[]);up(rp(),{}); window.onerror=function(a,b="Unknown file",c=0,d,e,f){var g=!1,h=wo("log_window_onerror_fraction");if(h&&Math.random()0){g=!0;break}}g&&(g=!1,e?g=!0:(typeof a==="string"?h=a:ErrorEvent&&a instanceof ErrorEvent?(g=!0,h=a.message,b=a.filename,c=a.lineno,d=a.colno):(h="Unknown error",b="Unknown file",c=0),e=new S(h),e.name="UnhandledWindowError",e.message=h,e.fileName=b,e.lineNumber=c, isNaN(d)?delete e.columnNumber:e.columnNumber=d),R("wiz_enable_component_stack_propagation_killswitch")||(a=e,f?.componentStack||!(a=a.qe))||(f||(f={}),f.componentStack=a),f&&zw(e,f),g?rw(e):V(e))}; sj=sw;window.addEventListener("unhandledrejection",a=>{if(a.reason instanceof Error){const b=a.reason;zw(b,{source:"unhandledrejection"});b.name==="AbortError"&&(b.level="WARNING")}sw(a.reason);a.preventDefault()}); (function(){if(O("ENABLE_JS_API")){var a=b=>{$B=b;window.removeEventListener("message",a)}; window.addEventListener("message",a)}})(); Fz("ep_init_epe");}).call(this);