1/*! For license information please see chunk-29.95be0c9b37e0246b9bff.js.LICENSE.txt */ 2"use strict";(("undefined"==typeof window?self:window).webpackChunkdebugbear_gae=("undefined"==typeof window?self:window).webpackChunkdebugbear_gae||[]).push([[29],{80029(t,e,i){i.d(e,{o:()=>r});var n=i(78433);function o(t,e,i){return t<e?e:t>i?i:t}class r{static getScreenshotPositions(t,e,i){const n=(s=t).left+s.width/2,r=s.top+s.height/2;var s;const a=o(n-e.width/2,0,i.width-e.width),l=o(r-e.height/2,0,i.height-e.height);return{screenshot:{left:a,top:l},clip:{left:t.left-a,top:t.top-l}}}static renderClipPathInScreenshot(t,e,i,o,r){const s=t.find("clipPath",e),a=`clip-${n.R.getUniqueSuffix()}`;s.id=a,e.style.clipPath=`url(#${a})`;const l=i.top/r.height,c=l+o.height/r.height,u=i.left/r.width,d=u+o.width/r.width,p=[`0,0 1,0 1,${l} 0,${l}`,`0,${c} 1,${c} 1,1 0,1`,`0,${l} ${u},${l} ${u},${c} 0,${c}`,`${d},${l} 1,${l} 1,${c} ${d},${c}`];for(const e of p){const i=t.createElementNS("http://www.w3.org/2000/svg","polygon");i.setAttribute("points",e),s.append(i)}}static installFullPageScreenshot(t,e){t.style.setProperty("--element-screenshot-url",`url('${e.data}')`)}static installOverlayFeature(t){const{dom:e,rootEl:i,overlayContainerEl:n,fullPageScreenshot:o}=t,s="lh-screenshot-overlay--enabled";i.classList.contains(s)||(i.classList.add(s),i.addEventListener("click",t=>{const i=t.target;if(!i)return;const s=i.closest(".lh-node > .lh-element-screenshot");if(!s)return;const a=e.createElement("div","lh-element-screenshot__overlay");n.append(a);const l={width:.95*a.clientWidth,height:.8*a.clientHeight},c={width:Number(s.dataset.rectWidth),height:Number(s.dataset.rectHeight),left:Number(s.dataset.rectLeft),right:Number(s.dataset.rectLeft)+Number(s.dataset.rectWidth),top:Number(s.dataset.rectTop),bottom:Number(s.dataset.rectTop)+Number(s.dataset.rectHeight)},u=r.render(e,o.screenshot,c,l);u?(a.append(u),a.addEventListener("click",()=>a.remove())):a.remove()}))}static _computeZoomFactor(t,e){const i={x:e.width/t.width,y:e.height/t.height},n=.75*Math.min(i.x,i.y);return Math.min(1,n)}static render(t,e,i,n){if(!function(t,e){return e.left<=t.width&&0<=e.right&&e.top<=t.height&&0<=e.bottom}(e,i))return null;const o=t.createComponent("elementScreenshot"),s=t.find("div.lh-element-screenshot",o);s.dataset.rectWidth=i.width.toString(),s.dataset.rectHeight=i.height.toString(),s.dataset.rectLeft=i.left.toString(),s.dataset.rectTop=i.top.toString();const a=this._computeZoomFactor(i,n),l={width:n.width/a,height:n.height/a};l.width=Math.min(e.width,l.width),l.height=Math.min(e.height,l.height);const c=l.width*a,u=l.height*a,d=r.getScreenshotPositions(i,l,{width:e.width,height:e.height}),p=t.find("div.lh-element-screenshot__image",s);p.style.width=c+"px",p.style.height=u+"px",p.style.backgroundPositionY=-d.screenshot.top*a+"px",p.style.backgroundPositionX=-d.screenshot.left*a+"px",p.style.backgroundSize=`${e.width*a}px ${e.height*a}px`;const h=t.find("div.lh-element-screenshot__element-marker",s);h.style.width=i.width*a+"px",h.style.height=i.height*a+"px",h.style.left=d.clip.left*a+"px",h.style.top=d.clip.top*a+"px";const g=t.find("div.lh-element-screenshot__mask",s);return g.style.width=c+"px",g.style.height=u+"px",r.renderClipPathInScreenshot(t,g,d.clip,i,l),s}}},78433(t,e,i){i.d(e,{R:()=>r});var n=i(23541);let o=0;class r{static i18n=null;static strings={};static reportJson=null;static apply(t){r.strings={...n.J,...t.providedStrings},r.i18n=t.i18n,r.reportJson=t.reportJson}static getUniqueSuffix(){return o++}static resetUniqueSuffix(){o=0}}},23541(t,e,i){i.d(e,{y:()=>a,J:()=>l});var n=i(62078),o=i(78433);const r="data:image/jpeg;base64,",s=n.J.RATINGS;class a{static prepareReportResult(t){const e=JSON.parse(JSON.stringify(t));!function(t){t.configSettings.locale||(t.configSettings.locale="en"),t.configSettings.formFactor||(t.configSettings.formFactor=t.configSettings.emulatedFormFactor),t.finalDisplayedUrl=n.J.getFinalDisplayedUrl(t),t.mainDocumentUrl=n.J.getMainDocumentUrl(t);for(const e of Object.values(t.audits))if("not_applicable"!==e.scoreDisplayMode&&"not-applicable"!==e.scoreDisplayMode||(e.scoreDisplayMode="notAp
2plicable"),"informative"===e.scoreDisplayMode&&(e.score=1),e.details){if(void 0!==e.details.type&&"diagnostic"!==e.details.type||(e.details.type="debugdata"),"filmstrip"===e.details.type)for(const t of e.details.items)t.data.startsWith(r)||(t.data=r+t.data);if("table"===e.details.type)for(const t of e.details.headings){const{itemType:e,text:i}=t;void 0!==e&&(t.valueType=e,delete t.itemType),void 0!==i&&(t.label=i,delete t.text);const n=t.subItemsHeading?.itemType;t.subItemsHeading&&void 0!==n&&(t.subItemsHeading.valueType=n,delete t.subItemsHeading.itemType)}if("third-party-summary"===e.id&&("opportunity"===e.details.type||"table"===e.details.type)){const{headings:t,items:i}=e.details;if("link"===t[0].valueType){t[0].valueType="text";for(const t of i)"object"==typeof t.entity&&"link"===t.entity.type&&(t.entity=t.entity.text);e.details.isEntityGrouped=!0}}}const[e]=t.lighthouseVersion.split(".").map(Number),i=t.categories.performance;if(i)if(e<9){t.categoryGroups||(t.categoryGroups={}),t.categoryGroups.hidden={title:""};for(const t of i.auditRefs)t.group?"load-opportunities"===t.group&&(t.group="diagnostics"):t.group="hidden"}else if(e<12)for(const t of i.auditRefs)t.group||(t.group="diagnostics");if(e<12&&i){const e=new Map;for(const t of i.auditRefs){const i=t.relevantAudits;if(i&&t.acronym)for(const n of i){const i=e.get(n)||[];
2i.push(t.acronym),e.set(n,i)}}for(const[i,n]of e){if(!n.length)continue;const e=t.audits[i];if(e&&!e.metricSavings){e.metricSavings={};for(const t of n)e.metricSavings[t]=0}}}if(t.environment||(t.environment={benchmarkIndex:0,networkUserAgent:t.userAgent,hostUserAgent:t.userAgent}),t.configSettings.screenEmulation||(t.configSettings.screenEmulation={width:-1,height:-1,deviceScaleFactor:-1,mobile:/mobile/i.test(t.environment.hostUserAgent),disabled:!1}),t.i18n||(t.i18n={}),t.audits["full-page-screenshot"]){const e=t.audits["full-page-screenshot"].details;t.fullPageScreenshot=e?{screenshot:e.screenshot,nodes:e.nodes}:null,delete t.audits["full-page-screenshot"]}}(e);for(const t of Object.values(e.audits))t.details&&("opportunity"!==t.details.type&&"table"!==t.details.type||!t.details.isEntityGrouped&&e.entities&&a.classifyEntities(e.entities,t.details));if("object"!=typeof e.categories)throw new Error("No categories provided.");const i=new Map;for(const t of Object.values(e.categories))t.auditRefs.forEach(t=>{t.acronym&&i.set(t.acronym,t)}),t.auditRefs.forEach(t=>{const n=e.audits[t.id];t.result=n;const o=Object.keys(t.result.metricSavings||{});if(o.length){t.relevantMetrics=[];for(const e of o){const n=i.get(e);n&&t.relevantMetrics.push(n)}}if(e.stackPacks){const i=[t.id,...t.result.replacesAudits??[]];e.stackPacks.forEach(e=>{const n=i.find(t=>e.descriptions[t]);n&&e.descriptions[n]&&(t.stackPacks=t.stackPacks||[],t.stackPacks.push({title:e.title,iconDataURL:e.iconDataURL,description:e.descriptions[n]}))})}});return e}static getUrlLocatorFn(t){const e=t.find(t=>"url"===t.valueType)?.key;if(e&&"string"==typeof e)return t=>{const i=t[e];if("string"==typeof i)return i};const i=t.find(t=>"source-location"===t.valueType)?.key;return i?t=>{const e=t[i];if("object"==typeof e&&"source-location"===e.type)return e.url}:void 0}static classifyEntities(t,e){const{items:i,headings:o}=e;if(!i.length||i.some(t=>t.entity))return;const r=a.getUrlLocatorFn(o);if(r)for(const e of i){const i=r(e);if(!i)continue;let o="";try{o=n.J.parseURL(i).origin}catch{}if(!o)continue;const s=t.find(t=>t.origins.includes(o));s&&(e.entity=s.name)}}static getTableItemSortComparator(t){return(e,i)=>{for(const n of t){const t=e[n],o=i[n];if(typeof t==typeof o&&["number","string"].includes(typeof t)||console.warn(`Warning: Attempting to sort unsupported value type: ${n}.`),"number"==typeof t&&"number"==typeof o&&t!==o)return o-t;if("string"==typeof t&&"string"==typeof o&&t!==o)return t.localeCompare(o)}return 0}}static getEmulationDescriptions(t){let e,i,n;const r=t.throttling,s=o.R.i18n,a=o.R.strings;switch(t.throttlingMethod){case"provided":n=i=e=a.throttlingProvided;break;case"devtools":{const{cpuSlowdownMultiplier:t,requestLatencyMs:o}=r;e=`${s.formatNumber(t)}x slowdown (DevTools)`,i=`${s.formatMilliseconds(o)} HTTP RTT, ${s.formatKbps(r.downloadThroughputKbps)} down, ${s.formatKbps(r.uploadThroughputKbps)} up (DevTools)`,n=562.5===o&&r.downloadThroughputKbps===1638.4*.9&&675===r.uploadThroughputKbps?a.runtimeSlow4g:a.runtimeCustom;break}case"simulate":{const{cpuSlowdownMultiplier:t,rttMs:o,throughputKbps:l}=r;e=`${s.formatNumber(t)}x slowdown (Simulated)`,i=`${s.formatMilliseconds(o)} TCP RTT, ${s.formatKbps(l)} throughput (Simulated)`,n=150===o&&1638.4===l?a.runtimeSlow4g:a.runtimeCustom;break}default:n=e=i=a.runtimeUnknown}const l="devtools"!==t.channel&&t.screenEmulation.disabled,c="devtools"===t.channel?"mobile"===t.formFactor:t.screenEmulation.mobile;let u=a.runtimeMobileEmulation;return l?u=a.runtimeNoEmulation:c||(u=a.runtimeDesktopEmulation),{deviceEmulation:u,screenEmulation:l?void 0:`${t.screenEmulation.width}x${t.screenEmulation.height}, DPR ${t.screenEmulation.deviceScaleFactor}`,cpuThrottling:e,networkThrottling:i,summary:n}}static showAsPassed(t){switch(t.scoreDisplayMode){case"manual":case"notApplicable":return!0;case"error":case"informative":return!1;default:return Number(t.score)>=s.PASS.minScore}}static calculateRating(t,e){if("manual"===e||"notApplicable"===e)return s.PASS.label;if("error"===e)return s.ERROR.label;if(null===t)return s.FAIL.label;let i=s.FAIL.label;return t>=s.PASS.minScore?i=s.PASS.label:t>=s.AVERAGE.minScore&&(i=s.AVERAGE.label),i}static calculateCategoryFraction(t){let e=0,i=0,n=0,o=0;for(const r of t.auditRefs){const t=a.showAsPassed(r.result);
2"hidden"!==r.group&&"manual"!==r.result.scoreDisplayMode&&"notApplicable"!==r.result.scoreDisplayMode&&("informative"!==r.result.scoreDisplayMode?(++e,o+=r.weight,t&&i++):t||++n)}return{numPassed:i,numPassableAudits:e,numInformative:n,totalWeight:o}}static isPluginCategory(t){return t.startsWith("lighthouse-plugin-")}static shouldDisplayAsFraction(t){return"timespan"===t||"snapshot"===t}}const l={varianceDisclaimer:"Values are estimated and may vary. The [performance score is calculated](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) directly from these metrics.",calculatorLink:"See calculator.",showRelevantAudits:"Show audits relevant to:",opportunityResourceColumnLabel:"Opportunity",opportunitySavingsColumnLabel:"Estimated Savings",errorMissingAuditInfo:"Report error: no audit information",errorLabel:"Error!",warningHeader:"Warnings: ",warningAuditsGroupTitle:"Passed audits but with warnings",passedAuditsGroupTitle:"Passed audits",notApplicableAuditsGroupTitle:"Not applicable",manualAuditsGroupTitle:"Additional items to manually check",toplevelWarningsMessage:"There were issues affecting this run of Lighthouse:",crcInitialNavigation:"Initial Navigation",crcLongestDurationLabel:"Maximum critical path latency:",snippetExpandButtonLabel:"Expand snippet",snippetCollapseButtonLabel:"Collapse snippet",lsPerformanceCategoryDescription:"[Lighthouse](https://developers.google.com/web/tools/lighthouse/) analysis of the current page on an emulated mobile network. Values are estimated and may vary.",labDataTitle:"Lab Data",thirdPartyResourcesLabel:"Show 3rd-party resources",viewTreemapLabel:"View Treemap",viewTraceLabel:"View Trace",dropdownPrintSummary:"Print Summary",dropdownPrintExpanded:"Print Expanded",dropdownCopyJSON:"Copy JSON",dropdownSaveHTML:"Save as HTML",dropdownSaveJSON:"Save as JSON",dropdownViewer:"Open in Viewer",dropdownSaveGist:"Save as Gist",dropdownDarkTheme:"Toggle Dark Theme",dropdownViewUnthrottledTrace:"View Unthrottled Trace",runtimeSettingsDevice:"Device",runtimeSettingsNetworkThrottling:"Network throttling",runtimeSettingsCPUThrottling:"CPU throttling",runtimeSettingsUANetwork:"User agent (network)",runtimeSettingsBenchmark:"Unthrottled CPU/Memory Power",runtimeSettingsAxeVersion:"Axe version",runtimeSettingsScreenEmulation:"Screen emulation",footerIssue:"File an issue",runtimeNoEmulation:"No emulation",runtimeMobileEmulation:"Emulated Moto G Power",runtimeDesktopEmulation:"Emulated Desktop",runtimeUnknown:"Unknown",runtimeSingleLoad:"Single page session",runtimeAnalysisWindow:"Initial page load",runtimeAnalysisWindowTimespan:"User interactions timespan",runtimeAnalysisWindowSnapshot:"Point-in-time snapshot",runtimeSingleLoadTooltip:"This data is taken from a single page session, as opposed to field data summarizing many sessions.",throttlingProvided:"Provided by environment",show:"Show",hide:"Hide",expandView:"Expand view",collapseView:"Collapse view",runtimeSlow4g:"Slow 4G throttling",runtimeCustom:"Custom throttling",firstPartyChipLabel:"1st party",openInANewTabTooltip:"Open in a new tab",unattributable:"Unattributable",insightsNotice:"Later this year, insights will replace performance audits. [Learn more and provide feedback here](https://github.com/GoogleChrome/lighthouse/discussions/16462).",tryInsights:"Try insights",goBackToAudits:"Go back to audits"}},62078(t,e,i){i.d(e,{J:()=>s});const n="â¦",o={PASS:{label:"pass",minScore:.9},AVERAGE:{label:"average",minScore:.5},FAIL:{label:"fail"},ERROR:{label:"error"}},r=["com","co","gov","edu","ac","org","go","gob","or","net","in","ne","nic","gouv","web","spb","blog","jus","kiev","mil","wi","qc","ca","bel","on"];class s{static get RATINGS(){return o}static get PASS_THRESHOLD(){return.9}static get MS_DISPLAY_VALUE(){return"%10d ms"}static getFinalDisplayedUrl(t){if(t.finalDisplayedUrl)return t.finalDisplayedUrl;if(t.finalUrl)return t.finalUrl;throw new Error("Could not determine final displayed URL")}static getMainDocumentUrl(t){return t.mainDocumentUrl||t.finalUrl}static getFullPageScreenshot(t){if(t.fullPageScreenshot)return t.fullPageScreenshot;const e=t.audits["full-page-screenshot"]?.details;return e}static getEntityFromUrl(t,e){return e&&e.find(e=>e.origins.find(e=>t.startsWith(e)))||s.getPseudoRootDomain(t)}static splitMarkdownCodeSpans(t){const e=[],i=t.split(/`(.*?)`/g);for(let t=0;t<i.length;t++){const n=i[t];if(!n)continue;const o=t%2!=0;e.push({isCode:o,text:n})}return e}static splitMarkdownLink(t){const e=[],i=t.split(/\[([^\]]+?)\]\((https?:\/\/.*?)\)/g);for(;i.length;){const[t,n,o]=i.splice(0,3);t&&e.push({isLink:!1,text:t}),n&&o&&e.push({isLink:!0,text:n,linkHref:o})}return e}static truncate(t,e,i="â¦"){if(t.length<=e)return t;const n=new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(t)[Symbol.iterator]();let o=0;for(let r=0;r<=e-i.length;r++){const e=n.next();if(e.done)return t;o=e.value.index}for(let e=0;e<i.length;e++)if(n.next().done)return t;return t.slice(0,o)+i}static getURLDisplayName(t,e){const i=void 0!==(e=e||{numPathParts:void 0,preserveQuery:void 0,preserveHost:void 0}).numPathParts?e.numPathParts:2,o=void 0===e.preserveQuery||e.preserveQuery,r=e.preserveHost||!1;let s;if("about:"===t.protocol||"data:"===t.protocol)s=t.href;else{s=t.pathname;const e=s.split("/").filter(t=>t.length);i&&e.length>i&&(s=n+e.slice(-1*i).join("/")),r&&(s=`${t.host}/${s.replace(/^\//,"")}`),o&&(s=`${s}${t.search}`)}if("data:"!==t.protocol&&(s=s.slice(0,200),s=s.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g,`$1${n}`),s=s.replace(/([a-zA-Z0-9-_]{9})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9-_]{10,}/g,`$1${n}`),s=s.replace(/(\d{3})\d{6,}/g,`$1${n}`),s=s.replace(/\u2026+/g,n),s.length>64&&s.includes("?")&&(s=s.replace(/\?([^=]*)(=)?.*/,`?$1$2${n}`),s.length>64&&(s=s.replace(/\?.*/,`?${n}`)))),s.length>64){const t=s.lastIndexOf(".");
2s=t>=0?s.slice(0,63-(s.length-t))+`${n}${s.slice(t)}`:s.slice(0,63)+n}return s}static getChromeExtensionOrigin(t){const e=new URL(t);return e.protocol+"//"+e.host}static parseURL(t){const e=new URL(t);return{file:s.getURLDisplayName(e),hostname:e.hostname,origin:"chrome-extension:"===e.protocol?s.getChromeExtensionOrigin(t):e.origin}}static createOrReturnURL(t){return t instanceof URL?t:new URL(t)}static getPseudoTld(t){const e=t.split(".").slice(-2);return r.includes(e[0])?`.${e.join(".")}`:`.${e[e.length-1]}`}static getPseudoRootDomain(t){const e=s.createOrReturnURL(t).hostname,i=s.getPseudoTld(e).split(".");return e.split(".").slice(-i.length).join(".")}static filterRelevantLines(t,e,i){if(0===e.length)return t.slice(0,2*i+1);const n=new Set;return(e=e.sort((t,e)=>(t.lineNumber||0)-(e.lineNumber||0))).forEach(({lineNumber:t})=>{let e=t-i,o=t+i;for(;e<1;)e++,o++;n.has(e-3-1)&&(e-=3);for(let t=e;t<=o;t++){const e=t;n.add(e)}}),t.filter(t=>n.has(t.lineNumber))}static computeLogNormalScore(t,e){let i=function({median:t,p10:e},i){if(t<=0)throw new Error("median must be greater than zero");if(e<=0)throw new Error("p10 must be greater than zero");if(e>=t)throw new Error("p10 must be less than the median");if(i<=0)return 1;const n=Math.max(Number.MIN_VALUE,i/t),o=Math.log(n),r=Math.max(Number.MIN_VALUE,e/t),s=(1-function(t){const e=Math.sign(t),i=1/(1+.3275911*(t=Math.abs(t)));return e*(1-i*(.254829592+i*(i*(1.421413741+i*(1.061405429*i-1.453152027))-.284496736))*Math.exp(-t*t))}(.9061938024368232*o/-Math.log(r)))/2;let a;return a=i<=e?Math.max(.9,Math.min(1,s)):i<=t?Math.max(.5,Math.min(.8999999999999999,s)):Math.max(0,Math.min(.49999999999999994,s)),a}(t,e);return i>.9&&(i+=.05*(i-.9)),Math.floor(100*i)/100}}}}]);
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.