1"use strict";(self.webpackChunkhbApp=self.webpackChunkhbApp||[]).push([[7077],{88526(A,m,e){e.d(m,{E:()=>O});var g=e(29293),c=e.n(g),o=e(47266),i=e(14907),E=e(78950),p=e(54843),D=e(41584),M=e(43524);let O=(()=>{class d{#e;#n;#a;constructor(){this.#e=(0,o.WQX)(i.M),this.#n=(0,o.WQX)(E.Z),this.#a=(0,o.WQX)(M.PianoService),this.PIANO_PAYWALL_TIMEOUT=5e3,this.hasPaywall=(0,o.vPA)(null),this.isBlurry=(0,o.vPA)(!1),this.position=(0,o.vPA)("bottom"),this.wordCount=(0,o.vPA)(null),this.gotPianoPaywallData=(0,o.vPA)(!1),this.componentLoaded=(0,o.vPA)(!1),this.componentAlreadyLoading=!1,this.updatePaywallData(this.#e.funnel.pianoPaywallDefault)}updatePaywallStatus(a){var r=this;return c()(function*(){r.hasPaywall()!==a&&(r.hasPaywall.set(a),a&&(r.loadPaywallData(),r.componentAlreadyLoading||(yield r.loadPaywallComponent())))})()}loadPaywallComponent(){var a=this;return c()(function*(){a.componentAlreadyLoading=!0,yield a.#e.funnel.loadPaywall(),a.componentLoaded.set(!0)})()}loadPaywallData(){var a=this;return c()(function*(){if(a.gotPianoPaywallData.set(!1),!1===(yield a.#a.waitForScriptLoaded))return;const P=Date.now(),f=yield Promise.race([a.#e.funnel.getPaywallData(),(0,p._)((0,D.O)(a.PIANO_PAYWALL_TIMEOUT)).then(()=>null)]);if(null===f)return void a.#n.count("piano_paywall_data_timeout");a.updatePaywallData(f),a.gotPianoPaywallData.set(!0);const h=Date.now()-P,L={group:a.#n.getGroupForSummaryInSeconds(h)};a.#n.summary("piano_paywall_load_time",h,L),a.#n.count("piano_paywall_data_received")})()}updatePaywallData({blurry:a,position:r,wordCount:P}){this.gotPianoPaywallData()||(this.isBlurry.set(a),this.position.set(r),this.wordCount.set(P))}static{this.\u0275fac=function(r){return new(r||d)}}static{this.\u0275prov=o.jDH({token:d,factory:d.\u0275fac,providedIn:"root"})}}return d})()},17077(A,m,e){e.r(m),e.d(m,{PerformanceMetricsService:()=>v});var g=e(29293),c=e.n(g),o=e(31635),i=e(47266),E=e(88526),p=e(97084),D=e(12654),M=e(78950),O=e(23634),d=e(55312),C=e(29885),a=e(25550),r=e(84347),P=e(54843);function f(_){return"attribution"in _&&"object"==typeof _.attribution&&null!==_.attribution}class v{#e=(0,i.WQX)(p.u);#n=(0,i.WQX)(i.SKi);#a=(0,i.WQX)(C.UserService);#t=(0,i.WQX)(M.Z);#i=(0,i.WQX)(O.u);#r=(0,i.WQX)(E.E);#s=(0,i.WQX)(d.o);#o=(0,i.WQX)(i.qQL);#_=(0,i.WQX)(a._);init(){var n=this;this.#n.runOutsideAngular(c()(function*(){const t=yield e.e(6217).then(e.bind(e,36217));n.initCallbacks(t)}))}initCallbacks({onINP:n,onCLS:t,onLCP:u}){n(l=>{this.logMetricsInContentService(l)}),t(l=>{this.logMetricsInContentService(l)}),u(l=>{this.logMetricsInContentService(l)})}logMetricsInContentService(n){var t=this;return c()(function*(){yield t.#e.readyToLoad;const u=t.getValue(n),y={group:t.getPerformanceGroup(n),mobile:/Android|iPhone/i.test(t.#_).toString()};t.#t.coreWebVital(n.name,u,y,{referrer:(0,r.b7)(t.#o.location.toString())??"",pageType:t.#i.pageType()??"unknown",classification:t.#i.classification()??"unknown",hasPaywall:t.#r.hasPaywall()??"unknown",element:t.getAttributionElement(n)??"unknown",authenticatedUser:yield t.#a.isUserLoggedIn(),premiumProducts:JSON.stringify(yield(0,P._)(t.#a.premiumProducts))??"unknown",accessCategories:JSON.stringify(yield t.#a.accessCategories)??"unknown",isInitialNavigation:!t.#s.hasNavigated}),"LCP"===n.name&&t.trackLcpRelevantPerformanceData(y)})()}trackLcpRelevantPerformanceData(n){const t=["/api/content/eager/"],u=this.#o.defaultView?.performance.getEntriesByType("navigation")[0],l=this.#o.defaultView?.performance.getEntriesByType("resource");if(void 0!==u&&(this.#t.summary("frontend_navigation_request_start",u.requestStart,n),this.#t.summary("frontend_navigation_response_start",u.responseStart,n),this.#t.summary("frontend_navigation_response_end",u.responseEnd,n),this.#t.summary("frontend_navigation_dom_content_loaded",u.domContentLoadedEventStart,n)),l)for(const s of l){const y=t.some(b=>s.name.includes(b));("xmlhttprequest"===s.initiatorType||"fetch"===s.initiatorType)&&y&&this.#t.summary("frontend_outgoing_request_duration",s.duration,{...n,url:(0,r.b7)(s.name)??"unknown"});const W=new RegExp("/beta-frontend/(.*/)?main.(.*).js"),I=new URL("/main.js",this.#o.location.origin),S=W.exec(s.name)||s.name===I.toString();
1["script","other"].includes(s.initiatorType)&&S&&(this.#t.summary("frontend_main_bundle_request_start",s.requestStart,n),this.#t.summary("frontend_main_bundle_response_start",s.responseStart,n),this.#t.summary("frontend_main_bundle_response_end",s.responseEnd,n))}}getAttributionElement(n){if(function h(_){return"CLS"===_.name&&f(_)}(n))return n.attribution.largestShiftTarget;if(function L(_){return"LCP"===_.name&&f(_)}(n)){const t=n.attribution.target;if("string"==typeof t)return t}if(function T(_){return"INP"===_.name&&f(_)}(n)){const t=n.attribution.interactionTarget;if("string"==typeof t)return t}}getValue(n){return n.value}getPerformanceGroup(n){const t=this.getValue(n);return"LCP"===n.name?t<2e3?"<2s":t<3e3?"<3s":">= 3s":"CLS"===n.name?t<.1?"<0.1":t<.15?"<0.15":t<.2?"<0.2":t<.25?"<0.25":">= 0.25":"default"}static{this.\u0275fac=function(t){return new(t||v)}}static{this.\u0275prov=i.jDH({token:v,factory:v.\u0275fac,providedIn:"root"})}}(0,o.Cg)([(0,D.Y)(),(0,o.Sn)("design:type",Function),(0,o.Sn)("design:paramtypes",[Object]),(0,o.Sn)("design:returntype",void 0)],v.prototype,"initCallbacks",null)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.