stackoverflow.com
https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results2/3
Success Rate
Overview
2 of 3 tested scraper methods completed successfully, while the remaining methods were blocked or returned incomplete results.
The best-performing option was curl-cffi:0.14 with datacenter proxy routing. It returned HTTP 200. Total runtime was 0.79s. Estimated request cost was $0.000049.
Protection signals were detected including WAFs cloudflare , CAPTCHA systems geetest , and antibot tooling browser-check, challenge, js_required, js_verification_required, perimeterx_script, plugins, screen, suspicious_status_403 .
Tested Methods
| Scraper | Proxy | Response | Time | Request Cost | |
|---|---|---|---|---|---|
|
apiritif/curl-cffi:0.14
|
datacenter |
200 | 0.79s |
$0.000049 $0.049/1k |
|
|
apiritif/playwright:1.58
|
datacenter |
403 | 1.84s |
$0.000004 $0.004/1k |
|
|
apiritif/scrapling-stealthyfetcher:0.4
|
datacenter |
200 | 7.76s |
$0.000080 $0.080/1k |
<!DOCTYPE html>
<html itemscope itemtype="https://schema.org/QAPage" class="html__responsive " lang="en">
<head>
<title>Export PageSpeed Insights (by Google) results - Stack Overflow</title>
<link rel="shortcut icon" href="https://stackoverflow.com/Content/Sites/stackoverflow/Img/favicon.ico?v=562fb39d93c8">
<link rel="apple-touch-icon" href="https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5">
<link rel="image_src" href="https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5">
<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml">
<link rel="canonical" href="https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results" />
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
<meta property="og:type" content="website" />
<meta property="og:url" content="https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results" />
<meta property="og:site_name" content="Stack Overflow" />
<meta property="og:image" content="https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://stackoverflow.com/#website",
"name": "Stack Overflow",
"url": "https://stackoverflow.com",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"publisher": {
"@id": "https://stackoverflow.com/#organization"
}
},
{
"@type": "Organization",
"@id": "https://stackoverflow.com/#organization",
"name": "Stack Overflow",
"url": "https://stackoverflow.com",
"logo": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/logo.png?v=0a124c963f5f",
"sameAs": [
"https://stackoverflow.co/",
"https://www.facebook.com/officialstackoverflow/",
"https://x.com/stackoverflow",
"https://www.linkedin.com/company/stack-overflow",
"https://www.youtube.com/c/StackOverflowOfficial",
"https://twitter.com/stackoverflow"
],
"contactPoint": [
{
"@type": "ContactPoint",
"contactType": "Customer support",
"url": "https://stackoverflow.com/contact"
},
{
"@type": "ContactPoint",
"contactType": "Stack Ads",
"url": "https://stackoverflow.co/advertising/"
},
{
"@type": "ContactPoint",
"contactType": "Stack Internal",
"url": "https://stackoverflow.co/teams/"
},
{
"@type": "ContactPoint",
"contactType": "Stack Data Licensing",
"url": "https://stackoverflow.co/api-solutions/"
}
],
"description": "Q\u0026A for professional and enthusiast programmers"
}
]
}
</script>
<meta name="twitter:card" content="summary" />
<meta name="twitter:domain" content="stackoverflow.com" />
<meta name="twitter:title" property="og:title" content="Export PageSpeed Insights (by Google) results" />
<meta name="twitter:description" property="og:description" content="Is there any way to export PageSpeed (the Google Chrome extension) results into a file?
I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console." />
<meta itemprop="name" content="Export PageSpeed Insights (by Google) results" />
<meta itemprop="description" content="Is there any way to export PageSpeed (the Google Chrome extension) results into a file?
I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console." />
<meta itemprop="image" content="https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579" />
<meta itemprop="primaryImageOfPage" content="https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579" />
<meta itemprop="url" content="https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results" />
<meta itemprop="isPartOf" content="https://stackoverflow.com/#website" />
<meta itemprop="publisher" content="https://stackoverflow.com/#organization" />
<script id="webpack-public-path" type="text/uri-list">https://stackoverflow.com/Content/</script>
<script type="application/json" data-role="module-args" data-module-name="args/options.mod">{"options":{"locale":"en","serverTime":1773916049,"routeName":"Questions/Show","stackAuthUrl":"https://stackauth.com","networkMetaHostname":"meta.stackexchange.com","site":{"name":"Stack Overflow","description":"Q\u0026A for professional and enthusiast programmers","isNoticesTabEnabled":true,"enableNewTagCreationWarning":true,"insertSpaceAfterNameTabCompletion":false,"id":1,"cookieDomain":".stackoverflow.com","childUrl":"https://meta.stackoverflow.com","negativeVoteScoreFloor":null,"enableSocialMediaInSharePopup":true,"protocol":"https"},"user":{"fkey":"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e","tid":"49b38fe5-a4e2-40e0-8afb-b7da5623a536","rep":0,"isAnonymous":true,"isAnonymousNetworkWide":true},"events":{"postType":{"question":1},"postEditionSection":{"title":1,"body":2,"tags":3}}}}</script>
<script type="application/json" data-role="module-args" data-module-name="args/settings.mod">{"settings":{"markdown":{"enableTables":true},"elections":{"opaVoteResultsBaseUrl":"https://www.opavote.com/results/"},"auth":{"oauthInPopup":true},"flags":{"allowRetractingFlags":true,"allowRetractingCommentFlags":true},"accounts":{"currentPasswordRequiredForChangingStackIdPassword":true},"questionLinkTitleReplacement":{"maxNumberOfSitesProcessed":10,"maxReplacementsPerSite":20},"image":{"maxImageUploadSizeInBytesAnimatedGif":2097152,"maxImageUploadSizeInBytes":10485760},"search":{},"paths":{"jQueryUIJSPath":"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js","jQueryUICSSPath":"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css"},"api":{"oneTrustDataLicensingApiConfigId":"019c4e40-2b18-7d09-b854-450af38a31c8"},"snippets":{"snippetsEnabled":true,"renderDomain":"stacksnippets.net","stacksEditorSnippetsEnabledFor":{"Metadata":{"Name":"SnippetSettings.StacksEditorSnippetsEnabledFor","Filter":0},"AppliedFilter":0,"IsNobody":false,"All":true,"Anonymous":false,"LoggedIn":false,"ChannelsMembers":false,"Moderators":false,"Employees":false,"Developers":false,"TeamAdmins":false,"AccountIds":[],"ExcludedAccountIds":[],"Serialization":"All"}},"questions":{"maxTitleSize":150,"enableQuestionTitleLengthLiveWarning":true,"enableSavesFeature":true,"questionTitleLengthStartLiveWarningChars":50},"subscriptions":{"defaultFreemiumMaxTrueUpSeats":50,"defaultBasicMaxTrueUpSeats":250,"defaultMaxTrueUpSeats":1000},"tags":{},"comments":{},"intercom":{"appId":"inf0secd"},"site":{"enableImageHttps":true,"allowImageUploads":true,"stacksEditorPreviewEnabled":true,"forceHttpsImages":true,"enableUserHovercards":true,"styleCode":true},"signup":{},"mentions":{"maxNumUsersInDropdown":50},"legal":{"useCustomConsent":false,"oneTrustTCFConfigId":"c3d9f1e3-55f3-4eba-b268-46cee4c6789c"},"userMessaging":{"showNewFeatureNotice":true}}}</script>
<script type="text/javascript">
(function () {
// see getArgs() in modules.ts
function readModuleArgs(moduleName) {
const selector = `script[type="application/json"][data-role="module-args"][data-module-name="${moduleName}"]`;
return JSON.parse(document.querySelector(selector).innerText);
}
StackExchange = window.StackExchange || {};
var options = StackExchange.options = readModuleArgs("args/options.mod").options;
StackExchange.settings = readModuleArgs("args/settings.mod").settings;
options.serverTimeOffsetSec = options.serverTime - (new Date()).getTime() / 1000;
options.enableLogging = (options.user.isEmployee || options.isDebugBuild) && typeof console !== 'undefined' && typeof console.log !== 'undefined';
})();
</script>
<script src="https://stackoverflow.com/Content/Js/google-analytics.en.js?v=48615a9a9bc4"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script defer src="https://stackoverflow.com/Content/Js/third-party/npm/@stackoverflow/stacks/dist/js/stacks.min.js?v=c7bcc7a1b4fd"></script>
<script src="https://stackoverflow.com/Content/Js/stub.en.js?v=e307fb81e738"></script>
<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/Content/Shared/stacks.css?v=b2264ccf0463">
<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/Content/Sites/stackoverflow/primary.css?v=aebbc6c1e33e">
<link rel="alternate" type="application/atom+xml" title="Feed for question 'Export PageSpeed Insights (by Google) results'" href="/feeds/question/25806351">
<script defer src="https://stackoverflow.com/Content/Js/misc/copy.en.js?v=eaf5f2a0965b"></script><script type="application/json" data-role="module-args" data-module-name="entry-points/misc/copy.mod">{"sortType":4,"numberOfVisibleAnswers":3,"trackQuestions":true,"trackArticles":false,"userReputation":0,"userReputationBand":0,"sendPrizmEvent":false,"sendAEHEvent":true}</script><script>
StackExchange.ready(function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.initSnippetRenderer();
});
StackExchange.using("postValidation", function () {
StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer');
});
StackExchange.question.init({showAnswerHelp:true,showTrendingSortLaunchPopover:false,showTrendingSortPostLaunchPopover:false,totalCommentCount:1,shownCommentCount:1,enableTables:true,questionId:25806351});
styleCode();
StackExchange.realtime.subscribeToQuestion('1', '25806351');
StackExchange.using("gps", function () { StackExchange.gps.trackOutboundClicks('#content', '.js-post-body'); });
});
</script>
<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/Content/Shared/Channels/channels.css?v=d431b1be5a03">
<script>StackExchange.init();</script>
<script>
StackExchange.using.setCacheBreakers({"Js/adops.en.js":"6da43f5e0a84","Js/ask.en.js":"","Js/begin-edit-event.en.js":"dd955babf04d","Js/events.en.js":"","Js/explore-qlist.en.js":"ee2a4f8c3992","Js/full-anon.en.js":"f093f39ff8ae","Js/full.en.js":"ec3ecdf3f41e","Js/google-analytics.en.js":"48615a9a9bc4","Js/highlightjs-loader.en.js":"41dd0ff14471","Js/inline-tag-editing.en.js":"8517756a2cb6","Js/keyboard-shortcuts.en.js":"9ce498b8114c","Js/markdown-it-loader.en.js":"9e901e1e3a2c","Js/mentions-transpiled.en.js":"adcf85e61d88","Js/moderator.en.js":"126c985e92ad","Js/postCollections-transpiled.en.js":"27fabb0f4bf8","Js/post-validation.en.js":"44d59ccfc490","Js/question-editor.en.js":"","Js/review-v2-transpiled.en.js":"d023f2d98d16","Js/revisions.en.js":"9dd135bb585f","Js/stacks-editor.en.js":"c1cefe7c11f1","Js/tageditor.en.js":"5b8f289d02ef","Js/tageditornew.en.js":"8a29c1ec524c","Js/tagsuggestions.en.js":"c54b483b692e","Js/wmd.en.js":"e65961906f11","Js/snippet-javascript-codemirror.en.js":"ede55efa5a37"});
StackExchange.using("gps", function() {
StackExchange.gps.init(false);
});
</script>
<noscript id="noscript-css"><style>body, .s-topbar { margin-top: 1.9em }</style></noscript>
<script src="https://cdn.cookielaw.org/scripttemplates/gpp.stub.js"></script>
<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" charset="UTF-8" data-document-language="true" data-domain-script="c3d9f1e3-55f3-4eba-b268-46cee4c6789c"></script>
<script defer src="https://stackoverflow.com/Content/Js/sprinkles/cookie-consent.en.js?v=7ee6963139c5"></script>
<script type="text/javascript">var abp;</script>
<script type="text/javascript" src="/px.js?ch=1"></script>
<script type="text/javascript" src="/px.js?ch=2"></script>
</head>
<body class="question-page unified-theme">
<div id="signup-modal-container"></div>
<script type="application/json" data-role="module-args" data-module-name="islands/signup-modal/index.mod">{"ContainerElementId":"signup-modal-container","FKey":"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e","TriggerEvent":"signupModalShow","OauthInPopup":true,"ReturnUrl":"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results","ReturnUrlForPopup":"https://stackoverflow.com/users/after-signup/oauth-only","SiteName":"Stack Overflow","SiteLogoPath":"https://stackoverflow.com/Content/Sites/stackoverflow/Img/icon-48.png?v=6452e6a98212","AuthProviders":["Google","GitHub"],"ParentSiteUrl":"","IsInitiallyVisible":false,"IsSignupProductEventsEnabled":false}</script>
<script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3"></script><script defer src="https://stackoverflow.com/Content/Js/islands/signup-modal.en.js?v=f64ec881ea96"></script>
<script defer>
dispatchEvent(new CustomEvent("openSignupModal"));
</script>
<div id="one-tap-container"></div>
<script type="application/json" data-role="module-args" data-module-name="islands/one-tap/index.mod">{"ContainerElementId":"one-tap-container","FKey":"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e","GoogleClientId":"717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com","Autoselect":false,"ReturnUrl":"https%253a%252f%252fstackoverflow.com%252fquestions%252f25806351%252fexport-pagespeed-insights-by-google-results"}</script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24"></script><script defer src="https://stackoverflow.com/Content/Js/islands/one-tap.en.js?v=102f0378a2cf"></script>
<div id="notify-container"></div>
<div id="custom-header"></div>
<header class="s-topbar ps-fixed t0 l0 js-top-bar">
<a href="#content" class="s-topbar--skip-link">Skip to main content</a>
<div class="s-topbar--container">
<a href="#" class="s-topbar--menu-btn js-left-sidebar-toggle" aria-haspopup="true" aria-controls="left-sidebar" aria-expanded="false"><span></span></a>
<div class="topbar-dialog leftnav-dialog js-leftnav-dialog dno">
<div class="left-sidebar js-unpinned-left-sidebar" data-can-be="left-sidebar" data-is-here-when="sm"></div>
</div>
<a href="https://stackoverflow.com" class="s-topbar--logo js-gps-track" title="Stack Overflow" data-gps-track="top_nav.click({is_current:false, location:2, destination:8}); homelogo_nav.click({location:2})">
<svg aria-hidden="true" class="fc-black-600 sm:d-none svg-icon iconLogoNewSm" width="175" height="22" viewBox="0 0 175 22"><path fill="currentColor" d="M18.52 9.69q-1.43 1.07-2.52 2.48l.03.01v.01l-.03-.02a14 14 0 0 0-1.77 2.99l-.02.05a13 13 0 0 0-.93 3.32v.02q-.13.92-.13 1.88c0 .55.07 1.04.13 1.57H0v-3.47h11.5l.07-.43L.5 15.16l.93-3.4 11.21 2.98.16-.34L2.72 8.66 4.5 5.6l10.22 5.83.25-.29L6.6 2.89 9.12.4zM28.9 5.78c3.3 0 5.98 2.15 5.98 5.24h-2.96c-.13-1.67-1.09-2.66-3.11-2.66-2.03 0-3.04.81-3.04 1.95 0 3.42 9.34.33 9.34 6.58 0 2.89-2.28 4.51-6.13 4.51-3.57 0-6.22-2.25-6.33-5.27h3c.14 1.7 1.59 2.71 3.48 2.71 1.78 0 3.07-.68 3.07-1.95 0-3.14-9.37-.28-9.37-6.58 0-2.45 2.33-4.53 6.08-4.53m20.15 2.58c1.75 0 2.96.7 3.75 1.95V8.7h2.76V21H52.8v-1.53c-.74 1.2-1.93 1.93-3.75 1.93-3.44 0-5.55-2.69-5.55-6.5 0-3.83 2.1-6.54 5.55-6.54m.43 2.48c-2.02 0-3.14 1.7-3.14 4.05 0 2.33 1.12 4 3.14 4 2.23 0 3.32-1.72 3.32-4s-1.1-4.05-3.32-4.05m13.78-2.48c3.37 0 5.73 2.48 5.75 5.2h-2.89c-.07-1.35-.88-2.7-2.86-2.7-2.4 0-3.44 1.75-3.44 4.03s1.04 3.98 3.44 3.98c2.06 0 2.87-1.45 2.94-3h2.86c-.05 3.2-2.3 5.53-5.8 5.53-3.8 0-6.27-2.69-6.27-6.5 0-3.83 2.48-6.54 6.27-6.54m28.26-2.58c4.91 0 7.6 3.57 7.6 7.8 0 4.22-2.71 7.82-7.6 7.82s-7.62-3.55-7.62-7.82c0-4.23 2.7-7.8 7.62-7.8m0 2.58c-3.22 0-4.68 2.68-4.68 5.22s1.44 5.24 4.68 5.24 4.6-2.71 4.6-5.24-1.38-5.22-4.6-5.22m25.93 0c3.34 0 6.2 2.7 5.6 7.44h-9c.23 1.8 1.3 3.1 3.4 3.1 1.44 0 2.35-.89 2.73-1.9h2.89a5.5 5.5 0 0 1-5.62 4.4c-3.83 0-6.3-2.69-6.3-6.5 0-3.83 2.47-6.54 6.3-6.54m0 2.48c-1.93 0-2.97 1.11-3.35 2.68h6.23c-.15-1.46-1.06-2.68-2.88-2.68m33.42-2.48c3.8 0 6.28 2.7 6.28 6.53 0 3.82-2.49 6.5-6.28 6.5s-6.3-2.68-6.3-6.5 2.47-6.53 6.3-6.53m0 2.48c-2.3 0-3.47 1.77-3.47 4.05 0 2.33 1.16 4 3.47 4 2.3 0 3.47-1.67 3.47-4s-1.17-4.05-3.47-4.05M40.5 8.71h2.1v2.36h-2.1v7.62h2.46V21h-5.22v-9.93H36V8.7h1.74V6h2.76zm32.69 4.94 3.97-4.94h3.27l-4 4.97 4.4 7.32h-3.08l-2.99-5.3-1.57 1.98V21H70.4V6h2.79zm32.15 4.91 2.79-9.85h2.96L107.24 21h-3.77L99.62 8.71h2.96zm25.88-9.85V11h-3.97v10h-2.76V8.71zm7.98-4.17v2.35h-1.78q-1.18.01-1.19 1.09v.73h2.71V11h-2.7v10h-2.77V11h-1.26V8.71h1.26v-.73c0-2.2 1.27-3.44 3.93-3.44zm3.97 0V21h-2.78V4.54zm18.97 13.42 2.05-9.25h3l2.06 9.27 1.82-9.27h2.94L171.05 21h-3.67l-1.67-7.5-1.67 7.5h-3.67L157.4 8.71h2.96z"/></svg>
<svg aria-hidden="true" class="fc-black-600 d-none sm:d-flex svg-icon iconGlyphNew" width="26" height="31" viewBox="0 0 26 31"><path fill="currentColor" d="m22.18 16.32.05.02-.02.01za19 19 0 0 0-2.45 4.14l-.03.07q-.94 2.19-1.29 4.6v.03a18 18 0 0 0-.05 4.85H.01v-4.88h15.94l.1-.6L.69 20.48l1.28-4.7 15.55 4.1.22-.46-13.96-7.96 2.47-4.22 14.16 8.07.34-.4L9.15 3.47 12.65 0l11.78 11.64 1.25 1.23q-1.97 1.5-3.5 3.44"/></svg>
</a>
<ol class="s-navigation fw-nowrap ai-center" role="presentation">
<li class="md:d-none">
<a href="https://stackoverflow.co/" class="s-navigation--item js-gps-track"
data-gps-track="top_nav.products.click({location:2, destination:7})"
data-ga="["top navigation","about menu click",null,null,null]">
<span class="s-navigation--item-text" data-text="About">About</span>
</a>
</li>
<li>
<button
class="s-navigation--item js-gps-track sm:d-none"
type="button"
aria-controls="products-popover"
aria-expanded="false"
data-controller="s-popover"
data-action="s-popover#toggle"
data-s-popover-toggle-class="is-selected"
data-gps-track="top_nav.products.click({location:2, destination:1})"
data-ga="["top navigation","products menu click",null,null,null]">
<span class="s-navigation--item-text" data-text="Products">Products</span>
</button>
</li>
<li class="md:d-none">
<a href="https://stackoverflow.co/internal/" class="s-navigation--item js-gps-track"
data-gps-track="top_nav.products.click({location:2, destination:7})"
data-ga="["top navigation","learn more - teams",null,null,null]">
<span class="s-navigation--item-text" data-text="For Teams">For Teams</span>
</a>
</li>
<li>
<button class="js-beta-link s-btn s-btn__outlined s-btn__featured g6 d-flex ai-center fw-nowrap"
type="button"
data-user-id="0">
<span class="ws-nowrap sm:d-none">Try new site</span>
<span class="ws-nowrap d-none sm:d-flex">Try</span>
<span class="s-badge bg-purple-400 fc-white myn6 lh-md bar-sm sm:px8 fw-bold">BETA</span>
</button>
</li>
<script defer src="https://stackoverflow.com/Content/Js/topbar/top-bar-events.en.js?v=9f5a4d15c5cd"></script>
</ol>
<div class="s-popover ws2 mtn2 p0"
id="products-popover"
role="menu"
aria-hidden="true">
<div class="s-popover--arrow"></div>
<ol class="list-reset s-anchors s-anchors__inherit">
<li class="m6">
<a href="https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-for-teams" class="bar-sm p6 d-block h:bg-black-225 js-gps-track"
data-gps-track="top_nav.products.click({location:2, destination:3})"
data-ga="["top navigation","teams submenu click",null,null,null]">
<span class="fs-body1 d-block">Stack Internal</span>
<span class="fs-caption d-block fc-black-400">Implement a knowledge platform layer to power your enterprise and AI tools.</span>
</a>
</li>
<li class="m6">
<a href="https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-api" class="bar-sm p6 d-block h:bg-black-225 js-gps-track"
data-gps-track="top_nav.products.click({location:2, destination:11})"
data-ga="["top navigation","overflowapi submenu click",null,null,null]">
<span class="fs-body1 d-block">Stack Data Licensing</span>
<span class="fs-caption d-block fc-black-400">Get access to top-class technical expertise with trusted & attributed content.</span>
</a>
</li>
<li class="m6">
<a href="https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-advertising" class="bar-sm p6 d-block h:bg-black-225 js-gps-track"
data-gps-track="top_nav.products.click({location:2, destination:6})"
data-ga="["top navigation","advertising submenu click",null,null,null]">
<span class="fs-body1 d-block">Stack Ads</span>
<span class="fs-caption d-block fc-black-400">Connect your brand to the world’s most trusted technologist communities.</span>
</a>
</li>
<li class="bt bc-black-200 py6 px6 bbr-md">
<a href="https://stackoverflow.blog/releases/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=releases" class="bar-sm p6 d-block h:bg-black-225 js-gps-track"
data-gps-track="top_nav.products.click({location:2, destination:13})"
data-ga="["top navigation","labs submenu click",null,null,null]">
<span class="fs-body1 d-block">Releases</span>
<span class="fs-caption d-block fc-black-400">Keep up-to-date on features we add to Stack Overflow and Stack Internal.</span>
</a>
</li>
<li class="bg-black-100 bt bc-black-200 py6 px6 bbr-md">
<a href="https://stackoverflow.co/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=about-the-company" class="fc-black-400 d-block py6 px6 h:fc-black-600"
data-ga="["top navigation","about submenu click",null,null,null]">About the company</a>
<a href="https://stackoverflow.blog/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=blog" class="fc-black-400 d-block py6 px6 h:fc-black-600"
data-ga="["top navigation","blog submenu click",null,null,null]">Visit the blog</a>
</li>
</ol>
</div>
<form id="search" role="search" action=/search class="s-topbar--searchbar js-searchbar " autocomplete="off">
<div class="s-topbar--searchbar--input-group">
<input name="q"
type="text"
role="combobox"
placeholder="Search…"
value=""
autocomplete="off"
maxlength="240"
class="s-input s-input__search js-search-field wmn1 "
aria-label="Search"
aria-controls="top-search"
data-controller="s-popover"
data-action="focus->s-popover#show"
data-s-popover-placement="bottom-start" />
<svg aria-hidden="true" class="s-input-icon s-input-icon__search svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0"/></svg>
<div class="s-popover p0 wmx100 wmn4 sm:wmn-initial js-top-search-popover" id="top-search" role="menu">
<div class="s-popover--arrow"></div>
<div class="s-popover--content">
<div class="js-spinner p24 d-flex ai-center jc-center d-none">
<div class="s-spinner s-spinner__sm fc-orange-400">
<div class="v-visible-sr">Loading…</div>
</div>
</div>
<span class="v-visible-sr js-screen-reader-info"></span>
<div class="js-ac-results overflow-y-auto hmx3 d-none"></div>
<div class="js-search-hints" aria-describedby="Tips for searching"></div>
</div>
</div>
</div>
</form>
<nav class="h100 ml-auto overflow-x-auto pr12" aria-label="Topbar">
<ol class="s-topbar--content">
<li class="js-topbar-dialog-corral">
<div class="topbar-dialog siteSwitcher-dialog dno" role="menu">
<div class="header fw-wrap">
<h3 class="flex--item">
<a href="https://stackoverflow.com">current community</a>
</h3>
<div class="flex--item fl1">
<div class="ai-center d-flex jc-end">
<button
class="js-close-button s-btn s-btn__muted p0 ml8 d-none sm:d-block"
type="button"
aria-label="Close"
>
<svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg>
</button>
</div>
</div>
</div>
<div class="modal-content bg-blue-200 current-site-container">
<ul class="current-site">
<li class="d-flex">
<div class="fl1">
<a href="https://stackoverflow.com"
class="current-site-link d-flex gx8 site-link js-gps-track"
data-id="1"
data-gps-track="site_switcher.click({ item_type:3 })">
<div class="favicon favicon-stackoverflow site-icon flex--item" title="Stack Overflow"></div>
<span class="flex--item fl1">
Stack Overflow
</span>
</a>
</div>
<div class="related-links">
<a href="https://stackoverflow.com/help" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:14 })">help</a>
<a href="https://chat.stackoverflow.com/?tab=explore" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:6 })">chat</a>
</div>
</li>
<li class="related-site d-flex">
<div class="L-shaped-icon-container">
<span class="L-shaped-icon"></span>
</div>
<a href="https://meta.stackoverflow.com"
class="s-block-link px16 d-flex gx8 site-link js-gps-track"
data-id="552"
data-gps-track="site.switch({ target_site:552, item_type:3 }),site_switcher.click({ item_type:4 })">
<div class="favicon favicon-stackoverflowmeta site-icon flex--item" title="Meta Stack Overflow"></div>
<span class="flex--item fl1">
Meta Stack Overflow
</span>
</a>
</li>
</ul>
</div>
<div class="header" id="your-communities-header">
<h3>
your communities </h3>
</div>
<div class="modal-content" id="your-communities-section">
<div class="call-to-login">
<a href="https://stackoverflow.com/users/signup?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:10 })">Sign up</a> or <a href="https://stackoverflow.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:11 })">log in</a> to customize your list. </div>
</div>
<div class="header">
<h3><a href="https://stackexchange.com/sites">more stack exchange communities</a>
</h3>
<a href="https://stackoverflow.blog" class="float-right">company blog</a>
</div>
<div class="modal-content">
<div class="child-content"></div>
</div>
</div>
</li>
<li><button class="s-topbar--item s-btn s-btn__icon s-btn__muted d-none sm:d-inline-flex js-searchbar-trigger" aria-label="Search" aria-haspopup="true" aria-controls="search" title="Click to show search"><svg aria-hidden="true" class="svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0"/></svg></button></li>
<li>
<a href="https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results" class="s-topbar--item s-topbar--item__unset s-btn s-btn__outlined ws-nowrap js-gps-track" rel="nofollow"
data-gps-track="login.click" data-ga="["top navigation","login button click",null,null,null]">Log in</a>
</li>
<li><a href="https://stackoverflow.com/users/signup?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results" class="s-topbar--item s-topbar--item__unset ml4 s-btn s-btn__filled ws-nowrap js-signup-button js-gps-track" rel="nofollow" data-gps-track="signup.topbar.click" data-ga="["sign up","Sign Up Navigation","Header",null,null]">Sign up</a></li>
</ol>
</nav>
</div>
</header>
<script>
StackExchange.ready(function () { StackExchange.topbar.init(); });
StackExchange.scrollPadding.setPaddingTop(50, 10);
</script>
<div class="container">
<script defer src="https://stackoverflow.com/Content/Js/sprinkles/left-nav-events.en.js?v=2ac13fd60bf6"></script>
<div id="homepage-wizard-container"></div>
<script type="application/json" data-role="module-args" data-module-name="islands/homepage-wizard/index.mod">{"ContainerElementId":"homepage-wizard-container","FKey":"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e","Tags":["javascript","python","java","c#","php","android","html","jquery","c++","css","ios","sql","mysql","r","reactjs","node.js","arrays","c","asp.net","json","python-3.x",".net","ruby-on-rails","sql-server","swift","django","angular","objective-c","excel","pandas","angularjs","regex","typescript","ruby","linux","ajax","iphone","vba","xml","laravel","spring","asp.net-mvc","database","wordpress","string","flutter","postgresql","mongodb","wpf","windows","xcode","amazon-web-services","bash","git","oracle-database","spring-boot","dataframe","azure","firebase","list","multithreading","docker","vb.net","react-native","eclipse","algorithm","powershell","macos","visual-studio","numpy","image","forms","scala","function","vue.js","performance","twitter-bootstrap","selenium","winforms","kotlin","loops","dart","express","sqlite","hibernate","matlab","python-2.7","shell","rest","apache","entity-framework","android-studio","csv","maven","linq","qt","dictionary","unit-testing","asp.net-core","facebook","apache-spark","tensorflow","file","swing","class","unity-game-engine","sorting","date","authentication","go","symfony","t-sql","opencv","matplotlib",".htaccess","google-chrome","for-loop","datetime","codeigniter","perl","http","validation","sockets","google-maps","object","uitableview","xaml","oop","visual-studio-code","if-statement","cordova","ubuntu","web-services","email","android-layout","github","spring-mvc","elasticsearch","kubernetes","selenium-webdriver","ms-access","ggplot2","user-interface","parsing","pointers","google-sheets","c++11","security","machine-learning","google-apps-script","ruby-on-rails-3","templates","flask","nginx","variables","exception","sql-server-2008","gradle","debugging","tkinter","delphi","listview","jpa","asynchronous","haskell","web-scraping","jsp","pdf","ssl","amazon-s3","google-cloud-platform","xamarin","testing","jenkins","wcf","batch-file","generics","npm","ionic-framework","network-programming","unix","recursion","google-app-engine","mongoose","visual-studio-2010",".net-core","android-fragments","assembly","animation","math","rust","svg","session","intellij-idea","hadoop","join","winapi","curl","django-models","laravel-5","next.js","url","heroku","http-redirect","tomcat","inheritance","google-cloud-firestore","webpack","gcc","swiftui","image-processing","keras","asp.net-mvc-4","logging","dom","matrix","pyspark","actionscript-3","button","post","optimization","firebase-realtime-database","cocoa","jquery-ui","xpath","iis","web","d3.js","javafx","firefox","xslt","internet-explorer","caching","select","asp.net-mvc-3","opengl","events","asp.net-web-api","plot","dplyr","encryption","magento","stored-procedures","search","amazon-ec2","ruby-on-rails-4","memory","multidimensional-array","canvas","audio","random","jsf","vector","redux","cookies","input","facebook-graph-api","flash","indexing","xamarin.forms","arraylist","ipad","cocoa-touch","data-structures","video","model-view-controller","azure-devops","serialization","apache-kafka","jdbc","razor","awk","woocommerce","routes","servlets","mod-rewrite","excel-formula","beautifulsoup","filter","iframe","docker-compose","design-patterns","aws-lambda","text","visual-c++","django-rest-framework","cakephp","mobile","android-intent","struct","react-hooks","methods","groovy","mvvm","lambda","ssh","time","checkbox","ecmascript-6","grails","installation","google-chrome-extension","cmake","sharepoint","shiny","spring-security","jakarta-ee","plsql","android-recyclerview","core-data","types","sed","meteor","android-activity","bootstrap-4","activerecord","websocket","replace","graph","group-by","scikit-learn","vim","file-upload","boost","junit","memory-management","sass","async-await","import","deep-learning","error-handling","eloquent","dynamic","dependency-injection","silverlight","soap","layout","apache-spark-sql","charts","deployment","browser","gridview","svn","while-loop","google-bigquery","vuejs2","highcharts","dll","ffmpeg","view","foreach","makefile","plugins","redis","c#-4.0","reporting-services","jupyter-notebook","unicode","merge","reflection","https","server","google-maps-api-3","twitter","oauth-2.0","extjs","terminal","pip","axios","split","cmd","encoding","pytorch","django-views","collections","database-design","hash","automation","netbeans","data-binding","ember.js","build","tcp","pdo","apache-flex","sqlalchemy","entity-framework-core","concurrency","command-line","spring-data-jpa","printing","react-redux","java-8","lua","html-table","neo4j","ansible","service","jestjs","enums","parameters","flexbox","module","promise","material-ui","visual-studio-2012","mysqli","outlook","web-applications","uwp","webview","firebase-authentication","jquery-mobile","utf-8","python-requests","datatable","parallel-processing","colors","drop-down-menu","scipy","tfs","scroll","hive","count","syntax","ms-word","twitter-bootstrap-3","ssis","fonts","rxjs","constructor","file-io","google-analytics","paypal","three.js","powerbi","cassandra","graphql","discord","graphics","compiler-errors","gwt","react-router","socket.io","backbone.js","solr","memory-leaks","url-rewriting","datatables","nlp","terraform","oauth","datagridview","drupal","zend-framework","oracle11g","knockout.js","triggers","interface","neural-network","django-forms","casting","angular-material","jmeter","linked-list","google-api","path","timer","django-templates","arduino","orm","windows-phone-7","directory","proxy","parse-platform","visual-studio-2015","cron","conditional-statements","push-notification","functional-programming","primefaces","pagination","model","jar","xamarin.android","hyperlink","uiview","visual-studio-2013","vbscript","google-cloud-functions","azure-active-directory","gitlab","jwt","download","swift3","sql-server-2005","rspec","pygame","process","configuration","properties","callback","combobox","windows-phone-8","linux-kernel","safari","scrapy","emacs","permissions","x86","clojure","scripting","raspberry-pi","io","scope","azure-functions","compilation","responsive-design","mongodb-query","nhibernate","expo","angularjs-directive","reference","binding","bluetooth","architecture","request","dns","playframework","3d","pyqt","version-control","discord.js","doctrine-orm","package","f#","rubygems","get","sql-server-2012","autocomplete","tree","datepicker","openssl","kendo-ui","jackson","yii","controller","grep","nested","xamarin.ios","static","null","transactions","statistics","datagrid","active-directory","uiviewcontroller","dockerfile","webforms","sas","computer-vision","discord.py","phpmyadmin","notifications","duplicates","pycharm","mocking","youtube","nullpointerexception","yaml","menu","blazor","sum","plotly","bitmap","visual-studio-2008","asp.net-mvc-5","floating-point","yii2","css-selectors","stl","android-listview","electron","jsf-2","time-series","cryptography","ant","hashmap","character-encoding","msbuild","stream","asp.net-core-mvc","sdk","google-drive-api","selenium-chromedriver","jboss","joomla","devise","cuda","navigation","cors","frontend","anaconda","background","multiprocessing","binary","pyqt5","camera","iterator","linq-to-sql","mariadb","onclick","ios7","android-jetpack-compose","microsoft-graph-api","android-asynctask","rabbitmq","tabs","amazon-dynamodb","environment-variables","laravel-4","uicollectionview","insert","linker","coldfusion","xsd","console","continuous-integration","upload","textview","ftp","opengl-es","macros","operating-system","mockito","localization","formatting","json.net","xml-parsing","type-conversion","vuejs3","data.table","kivy","timestamp","integer","calendar","segmentation-fault","android-ndk","prolog","char","drag-and-drop","crash","jasmine","azure-pipelines","dependencies","automated-tests","geometry","fortran","android-gradle-plugin","itext","sprite-kit","mfc","header","attributes","nosql","firebase-cloud-messaging","format","nuxt.js","db2","odoo","jquery-plugins","event-handling","julia","jenkins-pipeline","leaflet","annotations","flutter-layout","keyboard","nestjs","postman","arm","textbox","stripe-payments","visual-studio-2017","gulp","libgdx","uikit","timezone","synchronization","azure-web-app-service","dom-events","wso2","google-sheets-formula","xampp","crystal-reports","aggregation-framework","namespaces","android-emulator","uiscrollview","swagger","jvm","sequelize.js","chart.js","com","snowflake-cloud-data-platform","subprocess","html5-canvas","geolocation","garbage-collection","webdriver","sql-update","dialog","centos","concatenation","numbers","widget","qml","tuples","set","java-stream","mapreduce","ionic2","smtp","android-edittext","windows-10","nuget","rotation","spring-data","modal-dialog","radio-button","doctrine","http-headers","grid","lucene","sonarqube","xmlhttprequest","listbox","initialization","switch-statement","internationalization","boolean","components","apache-camel","google-play","gdb","serial-port","ios5","return","ldap","youtube-api","pivot","eclipse-plugin","latex","frameworks","tags","containers","c++17","subquery","github-actions","embedded","dataset","foreign-keys","asp-classic","label","uinavigationcontroller","delegates","copy","google-cloud-storage","struts2","migration","protractor","base64","uibutton","queue","find","sql-server-2008-r2","arguments","composer-php","append","jaxb","stack","tailwind-css","zip","cucumber","autolayout","ide","entity-framework-6","iteration","popup","r-markdown","windows-7","vb6","clang","g++","airflow","hover","ssl-certificate","jqgrid","range","gmail"],"TriggerEvent":"homepageWizardShow","OauthInPopup":true,"ReturnUrl":"https://stackoverflow.com","ReturnUrlForPopup":"https://stackoverflow.com/users/after-signup/oauth-only","ThemePreferenceFlags":0,"IsSignupProductEventsEnabled":false}</script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte-labs.en.js?v=bc7112df14a4"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/1130.en.js?v=8bb363934465"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/6457.en.js?v=341577cbad05"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/1383.en.js?v=fb8605a674b1"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/2458.en.js?v=33cc3da05f78"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/2269.en.js?v=17778cad1acb"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3"></script><script defer src="https://stackoverflow.com/Content/Js/webpack-chunks/9001.en.js?v=3a153d433746"></script><script defer src="https://stackoverflow.com/Content/Js/islands/homepage-wizard.en.js?v=ef8541a769fe"></script>
<div id="left-sidebar" data-is-here-when="md lg" class="left-sidebar js-pinned-left-sidebar ps-relative">
<div class="left-sidebar--sticky-container js-sticky-leftnav">
<nav aria-label="Primary">
<ol class="nav-links">
<li>
<ol class="nav-links">
<li class="ps-relative" aria-current="false">
<a
href="/"
class="s-block-link pl8 js-homepage-wizard-link js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:8, has_activity_notification:False});home_nav.click({location:2})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconHome" width="18" height="18" viewBox="0 0 18 18"><path d="M15 10v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5H0l9-9 9 9zm-8 1v6h4v-6z"/></svg> <span class="-link--channel-name pl8">Home</span>
</div>
</a>
</li>
<li class="ps-relative youarehere" aria-current="true">
<a id="nav-questions"
href="/questions"
class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: true, location:2, destination:1, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconQuestion" width="18" height="18" viewBox="0 0 18 18"><path d="m4 15-3 3V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v9c0 1.09-.91 2-2 2zm7.75-3.97c.72-.83.98-1.86.98-2.94 0-1.65-.7-3.22-2.3-3.83a4.4 4.4 0 0 0-3.02 0 3.8 3.8 0 0 0-2.32 3.83q0 1.93 1.03 3a3.8 3.8 0 0 0 2.85 1.07q.94 0 1.71-.34.97.66 1.06.7.34.2.7.3l.59-1.13a5 5 0 0 1-1.28-.66m-1.27-.9a5 5 0 0 0-1.5-.8l-.45.9q.5.18.98.5-.3.1-.65.11-.92 0-1.52-.68c-.86-1-.86-3.12 0-4.11.8-.9 2.35-.9 3.15 0 .9 1.01.86 3.03-.01 4.08"/></svg> <span class="-link--channel-name pl8">Questions</span>
</div>
</a>
</li>
<li class="ps-relative" aria-current="false">
<a id="nav-askstack"
href="https://stackoverflow.com/ai-assist"
class="s-block-link h32 pl8 ai-center js-disable-askstack-new-link js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:33, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<div class="d-flex ai-center mln8 mrn8 myn8 bg-purple-400 baw3 bas-solid bc-purple-200 bar-circle fc-white p4"><svg aria-hidden="true" class="fc-white bg-transparent h18 w18 svg-icon iconAnswerAI" width="18" height="18" viewBox="0 0 18 18"><path d="M15 1a2 2 0 0 1 2 2v14l-3-3H3c-1.09 0-2-.91-2-2V3c0-1.09.91-2 2-2zM8.2 4.13a.2.2 0 0 0-.37 0l-.57 1.31a3.5 3.5 0 0 1-1.82 1.82l-1.3.57a.2.2 0 0 0 0 .36l1.3.57c.82.35 1.47 1 1.82 1.82l.57 1.3c.07.17.3.17.36 0l.57-1.3a3.5 3.5 0 0 1 1.82-1.82l1.3-.57a.2.2 0 0 0 0-.36l-1.3-.57a3.5 3.5 0 0 1-1.82-1.82zm4.9-1.07a.1.1 0 0 0-.2 0l-.28.66c-.17.4-.5.73-.9.9l-.66.29a.1.1 0 0 0 0 .18l.66.29c.4.17.73.5.9.9l.29.66a.1.1 0 0 0 .18 0l.29-.66c.17-.4.5-.73.9-.9l.66-.29a.1.1 0 0 0 0-.18l-.66-.29c-.4-.17-.73-.5-.9-.9z"/></svg></div> <span class="-link--channel-name pl8">AI Assist</span>
</div>
</a>
</li>
<script>
$('.js-disable-askstack-new-link').on("click", function(e) {
StackExchange.helpers.toggleAccountPreferenceFlags(4194304, true);
return true;
});
</script>
<li class="ps-relative" aria-current="false">
<a
href="/tags"
class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:2, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconTags" width="18" height="18" viewBox="0 0 18 18"><path d="M9.24 1a3 3 0 0 0-2.12.88l-5.7 5.7a2 2 0 0 0-.38 2.31 3 3 0 0 1 .67-1.01l6-6A3 3 0 0 1 9.83 2H14a3 3 0 0 1 .79.1A2 2 0 0 0 13 1z" opacity=".4"/><path d="M9.83 3a2 2 0 0 0-1.42.59l-6 6a2 2 0 0 0 0 2.82L6.6 16.6a2 2 0 0 0 2.82 0l6-6A2 2 0 0 0 16 9.17V5a2 2 0 0 0-2-2zM12 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4"/></svg> <span class="-link--channel-name pl8">Tags</span>
</div>
</a>
</li>
<li class="pb24"></li>
<li class="ps-relative" aria-current="false">
<a id="nav-challenges"
href="/beta/challenges"
class="s-block-link h32 pl8 ai-center js-disable-challenges-new-link js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:32, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconPeak" width="18" height="18" viewBox="0 0 18 18"><path d="M10.5 3.5 8 7.25l2 2.25L8.5 11l-3-3.5L1 14h16z"/></svg> <span class="-link--channel-name pl8">Challenges</span>
</div>
</a>
</li>
<script>
$('.js-disable-challenges-new-link').on("click", function(e) {
StackExchange.helpers.toggleAccountPreferenceFlags(1048576, true);
return true;
});
</script>
<li class="ps-relative">
<a id="nav-chat"
href=https://chat.stackoverflow.com/?tab=explore
class="s-block-link pl8 ai-center js-disable-chat-new-link js-ch-popover-controller js-gps-track nav-links--link -link__with-icon"
aria-expanded="true"
aria-current="false"
data-gps-track="chat.click({ is_registered:false, rep_bucket:'new', origin:'Stack Overflow' })"
data-controller=" "
>
<div class="d-flex ai-center">
<div class="d-flex ai-center mln8 mrn8 myn8 bg-purple-400 baw3 bas-solid bc-purple-200 bar-circle fc-white p4"><svg aria-hidden="true" class="fc-white bg-transparent svg-icon iconChatTest" width="18" height="18" viewBox="0 0 18 16"><path d="M17 3C17 1.89543 16.1046 1 15 1H7C5.89543 1 5 1.89543 5 3V5C5 6.10457 5.89543 7 7 7H15C16.1046 7 17 6.10457 17 5V3ZM7 3H15V5H7V3Z" /><path d="M17 10C17 8.89543 16.1046 8 15 8H7C5.89543 8 5 8.89543 5 10V14C5 15.1046 5.89543 16 7 16H15C16.1046 16 17 15.1046 17 14V10ZM7 10H15V14H7V10Z" /><path d="M1 9C1 8.44771 1.44772 8 2 8H3C3.55228 8 4 8.44772 4 9V10C4 10.5523 3.55228 11 3 11H2C1.44772 11 1 10.5523 1 10V9Z" /><path d="M2 1C1.44772 1 1 1.44772 1 2V3C1 3.55228 1.44772 4 2 4H3C3.55228 4 4 3.55228 4 3V2C4 1.44772 3.55228 1 3 1H2Z" /></svg></div>
</div>
<span class="-link--channel-name pl8">Chat</span>
</a>
</li>
<li class="ps-relative" aria-current="false">
<a id="nav-articles"
href="https://stackoverflow.blog/contributed?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=so-blog&utm_content=experiment-articles"
class="s-block-link h32 pl8 js-disable-articles-new-link js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:13, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconDocumentAlt" width="18" height="18" viewBox="0 0 18 18"><path d="M5 3a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h7a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm2 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-2 4.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5m.5 1.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1 0-1M5 14.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5"/><path d="M5.9 2h6.35A2.75 2.75 0 0 1 15 4.75v9.35c.62-.6 1-1.43 1-2.35v-7.5C16 2.45 14.54 1 12.75 1h-4.5c-.92 0-1.75.38-2.35 1" opacity=".4"/></svg> <span class="-link--channel-name pl8">Articles</span>
</div>
</a>
</li>
<li class="ps-relative" aria-current="false">
<a id="nav-users"
href="/users"
class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:3, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconPeople" width="18" height="18" viewBox="0 0 18 18"><path d="M17 14c0 .44-.45 1-1 1H9a1 1 0 0 1-1-1H2c-.54 0-1-.56-1-1 0-2.63 3-4 3-4s.23-.4 0-1c-.84-.62-1.06-.59-1-3s1.37-3 2.5-3 2.44.58 2.5 3-.16 2.38-1 3c-.23.59 0 1 0 1s1.55.71 2.42 2.09c.78-.72 1.58-1.1 1.58-1.1s.23-.4 0-1c-.84-.61-1.06-.58-1-3s1.37-3 2.5-3 2.44.59 2.5 3c.05 2.42-.16 2.39-1 3-.23.6 0 1 0 1s3 1.38 3 4"/></svg> <span class="-link--channel-name pl8">Users</span>
</div>
</a>
</li>
<li class="pb24"></li>
<li class="ps-relative" aria-current="false">
<a id="nav-labs-jobs"
href="/jobs?source=so-left-nav"
class="s-block-link pl8 ai-center js-disable-jobs-new-link js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:27, has_activity_notification:False});jobs.click({destination:JobbioLink, is_registered:False, rep_bucket:new, origin:Stack Overflow})"
aria-controls=" "
data-controller=" jobs-retargeting "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
data-action="jobs-retargeting#click"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconBriefcase" width="18" height="18" viewBox="0 0 18 18"><path d="M5 4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v1h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h1zm7 0H6v1h6z"/></svg> <span class="-link--channel-name pl8">Jobs</span>
</div>
</a>
</li>
<li class="ps-relative" aria-current="false">
<a id="nav-companies"
href="https://stackoverflow.com/jobs/companies?so_medium=stackoverflow&so_source=SiteNav"
class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon"
data-gps-track="top_nav.click({is_current: false, location:2, destination:12, has_activity_notification:False})"
aria-controls=" "
data-controller=" "
data-s-popover-placement="right"
data-left-nav-events-navigation-destination-value=""
data-left-nav-events-navigation-location-value=""
data-left-nav-events-navigation-activity-notification-value=""
data-action=""
aria-current="false"
data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never"
>
<div class="d-flex ai-center">
<svg aria-hidden="true" class="svg-icon iconIndustry" width="18" height="18" viewBox="0 0 18 18"><path d="M10 16v-4H8v4H2V4c0-1.1.9-2 2-2h6c1.09 0 2 .91 2 2v2h2c1.09 0 2 .91 2 2v8zM4 4v2h2V4zm0 4v2h2V8zm4-4v2h2V4zm0 4v2h2V8zm-4 4v2h2v-2zm8 0v2h2v-2zm0-4v2h2V8z"/></svg> <span class="-link--channel-name pl8">Companies</span>
</div>
</a>
</li>
<li class="ml8 mt32 mb4">
<div class="d-flex jc-space-between ai-center">
<a
class="s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine"
href="javascript:void(0)"
role="button"
aria-controls="popover-discover-collectives"
data-controller="s-popover"
data-action="s-popover#toggle"
data-s-popover-placement="top"
data-s-popover-toggle-class="is-selected"
data-gps-track="top_nav.click({is_current:false, location:2, destination:17})"
>
<div class="flex--item fl-grow1 tt-uppercase fc-black-600 fw-bold">Collectives</div>
<div class="flex--item px12 js-collectives-navcta-toggle">
<svg aria-hidden="true" class="svg-icon iconPlusSm" width="14" height="14" viewBox="0 0 14 14"><path d="M8 2H6v4H2v2h4v4h2V8h4V6H8z"/></svg>
</div>
</a>
</div>
</li>
<li class="ps-relative js-collectives-navcta-toggle">
<p class="fs-fine pr8 pl8 pt4 fc-black-400">
Communities for your favorite technologies. <a href="/collectives-all" class="s-link s-link__grayscale s-link__underlined fw-bold">Explore all Collectives</a>
</p>
</li>
</ol>
</li>
<li class="js-freemium-cta ps-relative mt32 mb8">
<div class="fs-fine tt-uppercase fc-black-600 fw-bold ml8 mt16 mb8">Stack Internal</div>
<div class="px8 pt12 pb4 mb12 fc-medium overflow-hidden">
<svg aira-hidden="true" class="svg-icon d-block w100 h-auto mb12" height="19" viewBox="0 0 140 19" width="140"><path d="m69.5 6.48047-4.667 4.66603-2.333-2.33302v-2.33301l2.333 2.33301 4.667-4.66602z"/><path d="m72.4971 1.14648c.8282.00028 1.5.67274 1.5 1.50098v11.50004l.0029 1.5918-.0039.1162c-.0819 1.1463-1.3924 1.7776-2.3399 1.1269l-.0937-.0693-3.4561-2.7656h-8.5986v-1.4981h-1.5019v-10.00194c0-.77642.5906-1.41508 1.3466-1.49219l.1534-.00879zm-12.9912 11.50102h9.1269l.4102.3291 3.457 2.7656-.0029-1.5918v-11.50294h-12.9912z"/><path d="m90.5 16.647h16.5v1.5h-18v-17.995145h1.5z"/><path d="m97 15.147h-5v-8.00003h5zm-3.5-1.5h2v-5.00003h-2z"/><path d="m102.494 3.64209h1.506v11.50491h-5v-13.00003h3.494zm-1.994 10.00491h2v-10.00003h-2z"/><path d="m34.9473 6.76648-1.3789 1.38769-1.378-1.38769 1.378-1.3877z"/><path d="m35.2119 1.11023c.4614.00007.9048.18196 1.2324.50684l7.1387 7.08007-1.0605 1.06153 1.0615 1.06053-5.5957 5.6836c-.6762.6868-1.7803.6979-2.4697.0244l-6.9913-6.83201c-.3369-.32927-.5273-.78082-.5273-1.25195v-5.78711c0-.85366.6922-1.5459 1.5459-1.5459zm-5.666 1.5c-.0252 0-.0459.02067-.0459.0459v5.78711c0 .06722.0272.13168.0752.17871l6.9922 6.83205c.0985.096.256.095.3525-.003l5.6035-5.69331-7.1357-7.07519c-.0467-.04625-.11-.0722-.1758-.07227z"/><path d="m11.9995 6.24072v9.23828c-.0003.8629-.6558 1.5736-1.4961 1.6592l-.1709.0088h-8.80473v-1.5h8.80473c.0921-.0002.1667-.0759.167-.168v-9.33203h-3.64263v-3.5h-5.19043c-.09187.00032-.1666.07514-.16699.16699v12.83304h-1.49999932v-12.83304c.00039166-.92028.74669232-1.66667 1.66698932-1.66699h5.33008z"/><path d="m9.21039 13.647h-6.20996v-1.5h6.20996z"/><path d="m9.21039 10.647h-6.20996v-1.50003h6.20996z"/><path d="m5.21625 7.64697h-2.21582v-1.5h2.21582z"/><path d="m124.417 1.22765c1.305-1.3049487 3.422-1.3050445 4.728 0 .739.73976 1.059 1.74043.96 2.70605.966-.09884 1.967.22211 2.707.96191 1.305 1.30543 1.306 3.42196 0 4.72754l-6.668 6.66895 1.332 1.332c.292.2928.292.7677 0 1.0606-.293.2927-.768.2928-1.061 0l-1.509-1.5088c-.488-.4881-.488-1.2794 0-1.7676l6.846-6.84569c.719-.7198.718-1.88681-.001-2.60645-.72-.71944-1.887-.71944-2.606 0l-5.52 5.51954c-.293.2927-.768.2928-1.061 0-.292-.2928-.292-.7676 0-1.0606l5.52-5.51949c.719-.71968.719-1.8867 0-2.60644-.72-.71944-1.887-.71944-2.606 0l-7.198 7.19726c-.293.29274-.767.29262-1.06 0-.293-.29287-.293-.76764 0-1.06054z"/><path d="m126.277 3.088c.293-.29232.768-.29236 1.061 0 .293.29274.292.76761 0 1.06054l-5.44 5.43946c-.704.705-.703 1.8489.001 2.5537.705.7043 1.848.7045 2.553 0l5.439-5.43945c.293-.29255.768-.29278 1.061 0 .292.29278.292.76776 0 1.06055l-5.439 5.4395c-1.291 1.2902-3.383 1.2901-4.674 0-1.291-1.2907-1.292-3.3841-.001-4.67485z"/></svg>
<p class="fs-fine">
Stack Overflow for Teams is now called <strong>Stack Internal</strong>. Bring the best of human thought and AI automation together at your work.
</p>
<a href="https://stackoverflowteams.com/teams/create/free/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams"
class="w100 s-btn s-btn__filled s-btn__xs js-gps-track pt8 pr7 pb6 pl7"
data-gps-track="teams.create.left-sidenav.click({ Action: 6 })"
data-ga="["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams/create/free",null,null]">Try for free</a>
<a href="https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams"
class="w100 s-btn s-btn__muted s-btn__xs mt1 js-gps-track"
data-gps-track="teams.create.left-sidenav.click({ Action: 5 })"
data-ga="["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams",null,null]">Learn more</a>
</div>
</li>
<li class="d-flex ai-center jc-space-between ml8 mt32 mb8 js-create-team-cta d-none">
<a href="javascript:void(0)"
class="s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine js-gps-track"
role="button"
aria-controls="popover-teams-create-cta"
data-controller="s-popover"
data-action="s-popover#toggle"
data-s-popover-placement="bottom-start"
data-s-popover-toggle-class="is-selected"
data-gps-track="teams.create.left-sidenav.click({ Action: ShowInfo })"
data-ga="["teams left navigation - anonymous","left nav show teams info",null,null,null]"
>
<div class="flex--item fl-grow1 fc-black-600 fw-bold tt-uppercase">Stack Internal</div>
<div class="flex--item px12">
<svg aria-hidden="true" class="svg-icon iconPlusSm" width="14" height="14" viewBox="0 0 14 14"><path d="M8 2H6v4H2v2h4v4h2V8h4V6H8z"/></svg>
</div>
</a>
</li>
<li class="ps-relative js-create-team-cta d-none">
<p class="fs-fine pr8 pl8 pb4 fc-black-400">
Bring the best of human thought and AI automation together at your work.
<a href="https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact" class="s-link s-link__grayscale s-link__underlined fw-bold">Learn more</a>
</p>
</li>
</ol>
</nav>
</div>
<div class="s-popover ws2" id="popover-discover-collectives" role="menu">
<div class="s-popover--arrow"></div>
<div>
<svg aria-hidden="true" class="fc-orange-400 float-right ml24 svg-spot spotCollective" width="48" height="48" viewBox="0 0 48 48"><path d="M25.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M14 18.25c0-.69.56-1.25 1.25-1.25h22.5c.69 0 1.25.56 1.25 1.25V37.5a1 1 0 0 1-1.6.8l-4.07-3.05a1.3 1.3 0 0 0-.75-.25H15.25c-.69 0-1.25-.56-1.25-1.25zM7 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0M25.5 48a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M48 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0" opacity=".2"/><path d="M21 3.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M24.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M0 23.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M3.5 22a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M21 44.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0m3.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m20-23a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7M43 23.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0m-23.23-3.14a1 1 0 0 1-.13 1.4l-2.08 1.74 2.08 1.73a1 1 0 1 1-1.28 1.54l-2.42-2.02a1.63 1.63 0 0 1 0-2.5l2.42-2.02a1 1 0 0 1 1.4.13m7.6 1.41a1 1 0 1 1 1.28-1.54l2.42 2.02c.78.65.78 1.85 0 2.5l-2.42 2.02a1 1 0 1 1-1.28-1.54l2.08-1.73zM24.12 18a1 1 0 0 1 .87 1.12l-1 8a1 1 0 1 1-1.98-.24l1-8a1 1 0 0 1 1.11-.87M12.25 13C11.01 13 10 14 10 15.25v15.5c0 1.24 1 2.25 2.25 2.25h17.33q.09 0 .15.05l4.07 3.05a2 2 0 0 0 3.2-1.6V15.25c0-1.24-1-2.25-2.25-2.25zM12 15.25q.02-.23.25-.25h22.5q.23.02.25.25V34.5l-4.07-3.05q-.6-.45-1.35-.45H12.25a.25.25 0 0 1-.25-.25zm7.24-10.68a1 1 0 1 0-.48-1.94A22 22 0 0 0 2.91 17.7a1 1 0 1 0 1.92.58 20 20 0 0 1 14.4-13.72m11.06-1.65a1 1 0 0 0-.58 1.92c6.45 1.92 11.54 7 13.46 13.46a1 1 0 1 0 1.92-.58 22 22 0 0 0-14.8-14.8M4.57 28.76a1 1 0 0 0-1.94.48 22 22 0 0 0 16.13 16.13 1 1 0 1 0 .48-1.94A20 20 0 0 1 4.57 28.76m40.8.48a1 1 0 1 0-1.94-.48 20 20 0 0 1-13.72 14.41 1 1 0 0 0 .58 1.92 22 22 0 0 0 15.08-15.85"/></svg>
<h5 class="pt4 fw-bold">Collectives™ on Stack Overflow</h5>
<p class="my16 fs-caption fc-black-500">Find centralized, trusted content and collaborate around the technologies you use most.</p>
<a href="/collectives"
class="js-gps-track s-btn s-btn__filled s-btn__xs"
data-gps-track="top_nav.click({is_current:false, location:2, destination:18})">
Learn more about Collectives
</a>
</div>
</div>
<div class="s-popover ws2"
id="popover-teams-create-cta"
role="menu"
aria-hidden="true">
<div class="s-popover--arrow"></div>
<div class="ps-relative overflow-hidden">
<p class="mb2"><strong>Stack Internal</strong></p>
<p class="mb12 fs-caption fc-black-400">Knowledge at work</p>
<p class="mb12 fs-caption fc-black-500">Bring the best of human thought and AI automation together at your work.</p>
<a href="https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact-popover"
class="js-gps-track s-btn s-btn__filled s-btn__xs"
data-gps-track="teams.create.left-sidenav.click({ Action: CtaClick })"
data-ga="["teams left navigation - anonymous","left nav cta","stackoverflow.com/teams",null,null]">
Explore Stack Internal
</a>
</div>
<div class="ps-absolute t8 r8">
<svg aria-hidden="true" class="fc-orange-400 svg-spot spotPeople" width="48" height="48" viewBox="0 0 48 48"><path d="M13.5 28a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9M7 30a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5h11v-5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H33v5a1 1 0 0 1-1 1H20a1 1 0 0 1-1-1v-5H8a1 1 0 0 1-1-1zm25-6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0M24.5 34a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9" opacity=".2"/><path d="M16.4 26.08A6 6 0 1 0 7.53 26C5.64 26.06 4 27.52 4 29.45V40a1 1 0 0 0 1 1h9a1 1 0 1 0 0-2h-4v-7a1 1 0 1 0-2 0v7H6v-9.55c0-.73.67-1.45 1.64-1.45H16a1 1 0 0 0 .4-1.92M12 18a4 4 0 1 1 0 8 4 4 0 0 1 0-8m16.47 14a6 6 0 1 0-8.94 0A3.6 3.6 0 0 0 16 35.5V46a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V35.5c0-1.94-1.64-3.42-3.53-3.5M20 28a4 4 0 1 1 8 0 4 4 0 0 1-8 0m-.3 6h8.6c1 0 1.7.75 1.7 1.5V45h-2v-7a1 1 0 1 0-2 0v7h-4v-7a1 1 0 1 0-2 0v7h-2v-9.5c0-.75.7-1.5 1.7-1.5M42 22c0 1.54-.58 2.94-1.53 4A3.5 3.5 0 0 1 44 29.45V40a1 1 0 0 1-1 1h-9a1 1 0 1 1 0-2h4v-7a1 1 0 1 1 2 0v7h2v-9.55A1.5 1.5 0 0 0 40.48 28H32a1 1 0 0 1-.4-1.92A6 6 0 1 1 42 22m-2 0a4 4 0 1 0-8 0 4 4 0 0 0 8 0"/><g opacity=".35"><path d="M17 10a1 1 0 011-1h12a1 1 0 110 2H18a1 1 0 01-1-1m1-5a1 1 0 100 2h12a1 1 0 100-2zM14 1a1 1 0 00-1 1v12a1 1 0 001 1h5.09l4.2 4.2a1 1 0 001.46-.04l3.7-4.16H34a1 1 0 001-1V2a1 1 0 00-1-1zm1 12V3h18v10h-5a1 1 0 00-.75.34l-3.3 3.7-3.74-3.75a1 1 0 00-.71-.29z"/></g></svg>
</div>
</div>
</div>
<div id="content" class="snippet-hidden">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question">
<link itemprop="image" href="https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5">
<div class="inner-content clearfix">
<div id="question-header" class="d-flex sm:fd-column">
<h1 itemprop="name" class="fs-headline1 ow-anywhere mb8 flex--item fl1"><a href="/questions/25806351/export-pagespeed-insights-by-google-results" class="question-hyperlink">Export PageSpeed Insights (by Google) results</a></h1>
<div class="ml12 aside-cta flex--item sm:ml0 sm:mb12 sm:order-first d-flex jc-end">
<div class="ml12 aside-cta flex--item print:d-none">
<a href="/questions/ask" class="ws-nowrap s-btn s-btn__filled">
Ask Question
</a>
</div>
</div>
</div>
<div class="d-flex fw-wrap pb8 mb16 bb bc-black-200">
<div class="flex--item ws-nowrap mr16 mb8" title="2014-09-12 10:37:19Z">
<span class="fc-black-400 mr2">Asked</span>
<time itemprop="dateCreated"
datetime="2014-09-12 10:37:19Z">11 years, 6 months ago</time>
</div>
<div class="flex--item ws-nowrap mr16 mb8">
<span class="fc-black-400 mr2">Modified</span>
<a href="?lastactivity" class="s-link s-link__inherit"
title="2022-11-25 07:24:00Z">3 years, 3 months ago</a>
</div>
<div class="flex--item ws-nowrap mb8"
title="Viewed 19,541 times">
<span class="fc-black-400 mr2">Viewed</span>
20k times
</div>
</div>
<div id="mainbar" role="main" aria-label="question and answers">
<div class="question js-question" data-questionid="25806351" data-position-on-page="0"
data-score="14"
data-author-username="Haradzieniec"
data-should-show-copy-button="True"
data-se-share-sheet-license-name="CC BY-SA 3.0"
data-author-reputation="9356"
data-is-edited="True"
data-creation-source="native"
data-creation-method="manual"
id="question">
<style>
</style>
<div class="js-zone-container zone-container-main">
<div id="dfp-tlb" class="everyonelovesstackoverflow everyoneloves__top-leaderboard everyoneloves__leaderboard"></div>
<div class="js-report-ad-button-container " style="width: 728px"></div>
</div>
<div class="post-layout ">
<div class="votecell post-layout--left">
<div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="25806351" data-referrer="None">
<button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"
id="upvote-btn-25806351"
data-controller="s-tooltip"
data-s-tooltip-placement="right"
title="This question shows research effort; it is useful and clear"
aria-pressed="false"
aria-label="Up vote"
data-selected-classes="fc-theme-primary bc-theme-primary bg-theme-primary-100"
data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200">
<svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg>
</button>
<input type="hidden" id="voteUpHash" value="70:3:31e,16:417b2209930ec123,10:1773916049,16:0c9e44f2989e5e57,8:25806351,55200946227a50889c06a8c78dc7b5f9b409dfbc44ec847a8a812553b7b5ec80" />
<div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4"
itemprop="upvoteCount"
data-value="14">
14 </div>
<button
class="js-vote-down-btn js-vote-down-question flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"
id=downvote-btn-25806351
title="This question does not show any research effort; it is unclear or not useful"
aria-pressed="false"
aria-label="Down vote"
data-selected-classes="fc-theme-primary bc-theme-primary bg-theme-primary-100"
data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200">
<svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg>
</button>
<input type="hidden" id="voteDownHash" value="70:3:31e,16:766171ba9b70174c,10:1773916049,16:9b4e5bab12fd576b,8:25806351,87f8b31eb3601dcfa88b132987ad9ea0da44d6bf7fc5cd45462dcfa60abcf593" />
<button class="js-saves-btn s-btn s-btn__unset c-pointer py4"
type="button"
id="saves-btn-25806351"
data-controller="s-tooltip"
data-s-tooltip-placement="right"
data-s-popover-placement=""
title="Save this question."
data-is-saved="false"
aria-label="Save"
data-post-id="25806351"
data-post-type-id="1"
data-user-privilege-for-post-click="0"
aria-controls=""
data-s-popover-auto-show="false"
>
<svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg>
<svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg>
</button>
<a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/25806351/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a>
</div>
</div>
<div class="postcell post-layout--right">
<div class="s-prose js-post-body" itemprop="text">
<p>Is there any way to export PageSpeed (the Google Chrome extension) results into a file?
I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console. </p>
</div>
<div class="mt24 mb12">
<div class="post-taglist d-flex gs4 gsy fd-column">
<div class="d-flex ps-relative fw-wrap">
<ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-chrome" class="s-tag post-tag" title="show questions tagged 'google-chrome'" aria-label="show questions tagged 'google-chrome'" rel="tag" aria-labelledby="tag-google-chrome-tooltip-container" data-tag-menu-origin="Unknown">google-chrome</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-chrome-extension" class="s-tag post-tag" title="show questions tagged 'google-chrome-extension'" aria-label="show questions tagged 'google-chrome-extension'" rel="tag" aria-labelledby="tag-google-chrome-extension-tooltip-container" data-tag-menu-origin="Unknown">google-chrome-extension</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/frontend" class="s-tag post-tag" title="show questions tagged 'frontend'" aria-label="show questions tagged 'frontend'" rel="tag" aria-labelledby="tag-frontend-tooltip-container" data-tag-menu-origin="Unknown">frontend</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/pagespeed" class="s-tag post-tag" title="show questions tagged 'pagespeed'" aria-label="show questions tagged 'pagespeed'" rel="tag" aria-labelledby="tag-pagespeed-tooltip-container" data-tag-menu-origin="Unknown">pagespeed</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/pagespeed-insights" class="s-tag post-tag" title="show questions tagged 'pagespeed-insights'" aria-label="show questions tagged 'pagespeed-insights'" rel="tag" aria-labelledby="tag-pagespeed-insights-tooltip-container" data-tag-menu-origin="Unknown">pagespeed-insights</a></li></ul>
</div>
</div>
</div>
<div class="mb0 ">
<div class="mt16 d-flex gs8 gsy fw-wrap jc-end ai-start pt4 mb16">
<div class="flex--item mr16 fl1 w96">
<div class="js-post-menu pt2" data-post-id="25806351" data-post-type-id="1">
<div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap">
<div class="flex--item">
<a href="/q/25806351"
rel="nofollow"
itemprop="url"
class="js-share-link js-gps-track"
title="Short permalink to this question"
data-gps-track="post.click({ item: 2, priv: 0, post_type: 1 })"
data-controller="se-share-sheet"
data-se-share-sheet-title="Share a link to this question"
data-se-share-sheet-subtitle=""
data-se-share-sheet-post-type="question"
data-se-share-sheet-social="facebook twitter devto"
data-se-share-sheet-location="1"
data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f"
data-se-share-sheet-license-name="CC BY-SA 3.0"
data-s-popover-placement="bottom-start">Share</a>
</div>
<div class="flex--item">
<a href="/posts/25806351/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 1 })" title="">Improve this question</a>
</div>
<div class="flex--item">
<button type="button"
id="btnFollowPost-25806351" class="s-btn s-btn__link js-follow-post js-follow-question js-gps-track"
data-gps-track="post.click({ item: 14, priv: 0, post_type: 1 })"
data-controller="s-tooltip " data-s-tooltip-placement="bottom"
data-s-popover-placement="bottom" aria-controls=""
title="Follow this question to receive notifications">
Follow
<input type="hidden" id="voteFollowHash" value="70:3:31e,16:2b9c5854ea0ff75e,10:1773916049,16:59bfbd3195e5efc4,8:25806351,5ee5db821b596194794514afccc33008aa77b0a5cab8ff4fdec0c77fc917d816" />
</button>
</div>
</div>
<div class="js-menu-popup-container"></div>
</div>
</div>
<div class="post-signature flex--item">
<div class="user-info user-hover ">
<div class="d-flex ">
<div class="user-action-time fl-grow1">
<a href="/posts/25806351/revisions" title="show all edits to this post"
class="js-gps-track"
data-gps-track="post.click({ item: 4, priv: 0, post_type: 1 })">edited <span title='2022-01-20 16:10:26Z' class='relativetime'>Jan 20, 2022 at 16:10</span></a>
</div>
</div>
<div class="user-gravatar32">
<a href="/users/224132/peter-cordes"><div class="gravatar-wrapper-32"><img src="https://i.sstatic.net/N4ivW.png?s=64" alt="Peter Cordes's user avatar" width="32" height="32" class="bar-sm"></div></a>
</div>
<div class="user-details">
<a href="/users/224132/peter-cordes" dir="auto">Peter Cordes</a>
<div class="-flair">
<span class="reputation-score" title="reputation score 379,965" dir="ltr">380k</span><span title="53 gold badges" aria-hidden="true"><span class="badge1"></span><span class="badgecount">53</span></span><span class="v-visible-sr">53 gold badges</span><span title="756 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">756</span></span><span class="v-visible-sr">756 silver badges</span><span title="1k bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">1k</span></span><span class="v-visible-sr">1k bronze badges</span>
</div>
</div>
</div>
</div>
<div class="post-signature owner flex--item">
<div class="user-info ">
<div class="d-flex ">
<div class="user-action-time fl-grow1">
asked <span title='2014-09-12 10:37:19Z' class='relativetime'>Sep 12, 2014 at 10:37</span>
</div>
</div>
<div class="user-gravatar32">
<a href="/users/886906/haradzieniec"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/59518a0cf1680a269d55db5c480252b3?s=64&d=identicon&r=PG" alt="Haradzieniec's user avatar" width="32" height="32" class="bar-sm"></div></a>
</div>
<div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person">
<a href="/users/886906/haradzieniec" itemprop="url" dir="auto">Haradzieniec</a><meta itemprop="name" content="Haradzieniec"/>
<div class="-flair">
<span class="reputation-score" title="reputation score " dir="ltr">9,356</span><span title="33 gold badges" aria-hidden="true"><span class="badge1"></span><span class="badgecount">33</span></span><span class="v-visible-sr">33 gold badges</span><span title="124 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">124</span></span><span class="v-visible-sr">124 silver badges</span><span title="232 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">232</span></span><span class="v-visible-sr">232 bronze badges</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<span class="d-none" itemprop="commentCount">1</span>
<div class="post-layout--right js-post-comments-component" data-has-opted-out="False">
<div id="comments-25806351" class="comments js-comments-container bt bc-black-200 mt12 " data-post-id="25806351" data-min-length="15">
<ul class="comments-list js-comments-list"
data-remaining-comments-count="0"
data-canpost="false"
data-cansee="true"
data-comments-unavailable="false"
data-addlink-disabled="true">
<li id="comment-51109574" itemprop="comment" itemscope itemtype="https://schema.org/Comment" class="comment js-comment " data-comment-id="51109574" data-comment-owner-id="775856" data-comment-score="1">
<div class="js-comment-actions comment-actions">
<div class="comment-score js-comment-score js-comment-edit-hide">
<span title="number of 'useful comment' votes received"
class="cool">1</span>
</div>
</div>
<div class="comment-text js-comment-text-and-form">
<div class="comment-body js-comment-edit-hide">
<span class="comment-copy" itemprop="text">This is exactly what i'm looking for. Either EXPORT (or) SAVE feature is really required.</span>
<div class="d-inline-flex ai-center" itemprop="author" itemscope itemtype="https://schema.org/Person">
<div class="d-none" itemprop="name">夏期劇場</div>
–
<a href="/users/775856/%e5%a4%8f%e6%9c%9f%e5%8a%87%e5%a0%b4"
title="18,497 reputation"
class="comment-user"
itemprop="url">夏期劇場</a>
</div>
<div class="d-none" itemprop="datePublished">2015-07-23 03:28:26 +00:00</div>
<span class="comment-date" dir="ltr">
<span class="v-visible-sr">Commented</span>
<span title='2015-07-23 03:28:26Z, License: CC BY-SA 3.0' class='relativetime-clean'>Jul 23, 2015 at 3:28</span>
</span>
<span title="this comment was edited 1 time">
<svg aria-hidden="true" class="va-text-bottom o50 svg-icon iconPencilSm" width="14" height="14" viewBox="0 0 14 14"><path fill="#F1B600" d="m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z"/><path fill="#E87C87" d="m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0"/></svg>
</span>
</div>
</div>
</li>
</ul>
</div>
<div id="comments-link-25806351" data-rep=1 data-anon=true>
<a
class="js-add-link comments-link disabled-link"
title="Use comments to ask for more information or suggest improvements. Avoid answering questions in comments."
href="#"
role="button"
data-show-first-time-commenting="False">
Add a comment
</a>
<span class="js-link-separator dno"> | </span>
<a
class="js-show-link comments-link dno"
title="Expand to show all comments on this post"
href=#
onclick=""
role="button">
</a>
</div>
</div>
</div>
</div>
<div class="js-zone-container zone-container-responsive">
<div id="dfp-isb" class="everyonelovesstackoverflow everyoneloves__inline-sidebar mx-auto"></div>
<div class="js-report-ad-button-container mx-auto" style="width: 300px"></div>
</div>
<div id="answers" class="">
<a name="tab-top"></a>
<div id="answers-header">
<div class="answers-subheader d-flex ai-center mb8">
<div class="flex--item fl1">
<h2 class="mb0" data-answercount="3">
3 Answers <span style="display:none;" itemprop="answerCount">3</span>
</h2>
</div>
<div class="flex--item">
<div class="d-flex g4 gsx ai-center sm:fd-column sm:ai-start">
<div class="d-flex fd-column ai-end sm:ai-start">
<label class="flex--item fs-caption" for="answer-sort-dropdown-select-menu">
Sorted by:
</label>
<a
class="js-sort-preference-change s-link flex--item fs-fine d-none"
data-value="ScoreDesc"
href="/questions/25806351/export-pagespeed-insights-by-google-results?answertab=scoredesc#tab-top"
>
Reset to default
</a>
</div>
<div class="flex--item s-select">
<select id="answer-sort-dropdown-select-menu">
<option
value=scoredesc
selected=selected
>
Highest score (default)
</option>
<option
value=trending
>
Trending (recent votes count more)
</option>
<option
value=modifieddesc
>
Date modified (newest first)
</option>
<option
value=createdasc
>
Date created (oldest first)
</option>
</select>
</div>
</div>
</div>
</div>
</div>
<a name="53586734"></a>
<div id="answer-53586734" class="answer js-answer accepted-answer js-accepted-answer " data-answerid="53586734"
data-parentid="25806351" data-score="15" data-position-on-page="1"
data-highest-scored="1"
data-question-has-accepted-highest-score="1"
data-author-username="Toma Nistor"
data-author-reputation="963"
data-should-show-copy-button=True
data-se-share-sheet-license-name="CC BY-SA 4.0"
data-is-edited="True"
itemprop="acceptedAnswer"
itemscope itemtype="https://schema.org/Answer">
<div class="post-layout ">
<div class="votecell post-layout--left">
<div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="53586734" data-referrer="None">
<button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"
id="upvote-btn-53586734"
data-controller="s-tooltip"
data-s-tooltip-placement="right"
title="This answer is useful"
aria-pressed="false"
aria-label="Up vote"
data-selected-classes="fc-theme-primary bc-theme-primary bg-theme-primary-100"
data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200">
<svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg>
</button>
<input type="hidden" id="voteUpHash" value="70:3:31e,16:6e8810dc7e78794f,10:1773916049,16:a3325137e9db7cc0,8:53586734,a7478fe39e644a75dd9ddb096c022258107ab74bb94b317302533c606d40a161" />
<div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4"
itemprop="upvoteCount"
data-value="15">
15 </div>
<button
class="js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"
id=downvote-btn-53586734
title="This answer is not useful"
aria-pressed="false"
aria-label="Down vote"
data-selected-classes="fc-theme-primary bc-theme-primary bg-theme-primary-100"
data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200">
<svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg>
</button>
<input type="hidden" id="voteDownHash" value="70:3:31e,16:61b102756f216d4f,10:1773916049,16:fa03d9bb32ffc1f3,8:53586734,09c40a3e4c6016acd9433bf112932a92a7fe989feaef2b5ed8e77231555a2aeb" />
<button class="js-saves-btn s-btn s-btn__unset c-pointer py4"
type="button"
id="saves-btn-53586734"
data-controller="s-tooltip"
data-s-tooltip-placement="right"
data-s-popover-placement=""
title="Save this answer."
data-is-saved="false"
aria-label="Save"
data-post-id="53586734"
data-post-type-id="2"
data-user-privilege-for-post-click="0"
aria-controls=""
data-s-popover-auto-show="false"
>
<svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg>
<svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg>
</button>
<div class="js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted">
<div class="ta-center">
<svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8z"/></svg>
</div>
</div>
<a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/53586734/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a>
</div>
</div>
<div class="answercell post-layout--right">
<div class="s-prose js-post-body" itemprop="text">
<p>If you open up and run Google PageSpeed Insights through the <strong>Audit</strong> tab (<strong>Lighthouse</strong> tab after Chrome 83) in <strong>Chrome Developer Tools</strong>, there is a button in the left part of the panel that will allow you to download the report as a JSON file.</p>
<p><a href="https://i.sstatic.net/Yexeu.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Yexeu.png" alt="Google PageSpeed Insights Audit Report" /></a></p>
</div>
<div class="mt24">
<div class="d-flex fw-wrap ai-start jc-end gs8 gsy">
<time itemprop="dateCreated" datetime="2018-12-03 02:37:30Z"></time>
<div class="flex--item mr16" style="flex: 1 1 100px;">
<div class="js-post-menu pt2" data-post-id="53586734" data-post-type-id="2">
<div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap">
<div class="flex--item">
<a href="/a/53586734"
rel="nofollow"
itemprop="url"
class="js-share-link js-gps-track"
title="Short permalink to this answer"
data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })"
data-controller="se-share-sheet"
data-se-share-sheet-title="Share a link to this answer"
data-se-share-sheet-subtitle=""
data-se-share-sheet-post-type="answer"
data-se-share-sheet-social="facebook twitter devto"
data-se-share-sheet-location="2"
data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f"
data-se-share-sheet-license-name="CC BY-SA 4.0"
data-s-popover-placement="bottom-start">Share</a>
</div>
<div class="flex--item">
<a href="/posts/53586734/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Improve this answer</a>
</div>
<div class="flex--item">
<button type="button"
id="btnFollowPost-53586734" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track"
data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })"
data-controller="s-tooltip " data-s-tooltip-placement="bottom"
data-s-popover-placement="bottom" aria-controls=""
title="Follow this answer to receive notifications">
Follow
<input type="hidden" id="voteFollowHash" value="70:3:31e,16:0d1d12156f5fbb2c,10:1773916049,16:68d80756ffbf8abe,8:53586734,5893ec20f17a064ffa93ad859e88b6647c8404e8c4d6a53b8cef1f8b5a84b942" />
</button>
</div>
</div>
<div class="js-menu-popup-container"></div>
</div>
</div>
<div class="post-signature flex--item fl0">
<div class="user-info ">
<div class="d-flex ">
<div class="user-action-time fl-grow1">
<a href="/posts/53586734/revisions" title="show all edits to this post"
class="js-gps-track"
data-gps-track="post.click({ item: 4, priv: 0, post_type: 2 })">edited <span title='2022-11-25 07:24:00Z' class='relativetime'>Nov 25, 2022 at 7:24</span></a>
</div>
</div>
<div class="user-gravatar32">
<a href="/users/19024/ra"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/5e043d3e06257b19097ffdb92307089e?s=64&d=identicon&r=PG" alt="Ra.'s user avatar" width="32" height="32" class="bar-sm"></div></a>
</div>
<div class="user-details">
<a href="/users/19024/ra" dir="auto">Ra.</a>
<div class="-flair">
<span class="reputation-score" title="reputation score " dir="ltr">2,549</span><span title="4 gold badges" aria-hidden="true"><span class="badge1"></span><span class="badgecount">4</span></span><span class="v-visible-sr">4 gold badges</span><span title="28 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">28</span></span><span class="v-visible-sr">28 silver badges</span><span title="42 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">42</span></span><span class="v-visible-sr">42 bronze badges</span>
</div>
</div>
</div>
</div>
<div class="post-signature flex--item fl0">
<div class="user-info user-hover ">
<div class="d-flex ">
<div class="user-action-time fl-grow1">
answered <span title='2018-12-03 02:37:30Z' class='relativetime'>Dec 3, 2018 at 2:37</span>
</div>
</div>
<div class="user-gravatar32">
<a href="/users/7184365/toma-nistor"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/706810459355fe8aff132f0655b6f481?s=64&d=identicon&r=PG" alt="Toma Nistor's user avatar" width="32" height="32" class="bar-sm"></div></a>
</div>
<div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person">
<a href="/users/7184365/toma-nistor" itemprop="url" dir="auto">Toma Nistor</a><meta itemprop="name" content="Toma Nistor"/>
<div class="-flair">
<span class="reputation-score" title="reputation score " dir="ltr">963</span><span title="12 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">12</span></span><span class="v-visible-sr">12 silver badges</span><span title="18 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">18</span></span><span class="v-visible-sr">18 bronze badges</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="post-layout--right">
<script defer src="https://stackoverflow.com/Content/Js/sprinkles/you-can-comment-banner.en.js?v=bdec5d37ae84"></script> <div
class="lg:mt8 bg-purple-100 p8 my8 bc-purple-400 ba bar-sm d-flex ai-center js-you-can-comment-banner-anon">
<svg aria-hidden="true" class="mr8 fc-purple-400 svg-icon iconAlertCircleSm" width="14" height="14" viewBox="0 0 14 14"><path d="M7 13c-3.23 0-6-2.74-6-6 0-3.23 2.74-6 6-6 3.27 0 6 2.73 6 6s-2.73 6-6 6M6 3v5h2V3zm0 6v2h2V9z"/></svg>
<div class="fl-grow1">
Sign up to request clarification or add additional context in comments.
</div>
<button
class="s-modal--close s-btn__xs s-btn__icon bg-purple-100 bc-purple-400 bar-sm ba baw0 h:bg-purple-200 c-pointer js-clear-you-can-comment-banner-anon">
<svg aria-hidden="true" class="svg-icon iconClearSm" width="14" height="14" viewBox="0 0 14 14"><path d="M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z"/></svg>
</button>
</div>
<div id="follow-ups-container-53586734">
<!--[--><div class="mt16"><div class="mb8 d-flex ai-center g8" role="button" tabindex="0"><h2 class="mb0">Comments</h2> <!--[!--><!--]--></div> <div class="mb12"><!--[!--><button type="button" class="s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link" data-so-test="parent-answer-53586734"><!--[!--><!--]--> <div class="flex--item ml8"><p class="mb0">Add a comment</p></div></button><!--]--></div> <!--[--><div role="list"><!--[--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->
</div>
<script type="application/json" data-role="module-args" data-module-name="islands/follow-ups/index.mod">{"replies":[],"postId":53586734,"currentUserIsMod":false,"currentUserIsAnonymous":true,"commentFlagsRemainingToday":10,"maxNestingLevel":3,"hasOptedOut":false,"showCtaUnderComments":false,"containerElementId":"follow-ups-container-53586734","fKey":"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e","questionId":25806351,"questionAuthorId":886906,"answerId":53586734,"answerPositionOnPage":0,"newUiSettings":{"largerFontSize":false},"showFirstTimeCommentingModal":false,"isMentionEnabled":false,"showSpamFlag":true,"mergeUnfriendlyAndRudeFlags":true,"allowRetractingCommentFlags":true,"commentMinLength":15}</script>
</div>
</div>
</div>
<div class="js-zone-container zone-container-main">
<div id="dfp-mlb" class="everyonelovesstackoverflow everyoneloves__mid-leaderboard everyoneloves__leaderboard"></div>
<div class="js-report-ad-button-container " style="width: 728px"></div>
</div>
<a name="57294386"></a>
<div id="answer-57294386" class="answer js-answer " data-answerid="57294386"
data-parentid="25806351" data-score="7" data-position-on-page="2"
data-highest-scored="0"
data-question-has-accepted-highest-score="1"
data-author-username="Dan"
data-author-reputation="987"
data-should-show-copy-button=True
data-se-share-sheet-license-name="CC BY-SA 4.0"
data-is-edited="True"
itemprop="suggestedAnswer"
itemscope itemtype="https://schema.org/Answer">
<div class="post-layout ">
<div class="votecell post-layout--left">
<div class="js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300" data-post-id="57294386" data-referrer="None">
<button class="js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"
id="upvote-btn-57294386"
data-controller="s-tooltip"
data-s-tooltip-placement="right"
title="This answer is useful"
aria-pressed="false"
aria-label="Up vote"
data-selected-classes="fc-theme-primary bc-theme-primary bg-theme-primary-100"
data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200">
<svg aria-hidden="true" class="svg-icon iconArrowUp" width="18" height="18" viewBox="0 0 18 18"><path d="M1 12h16L9 4z"/></svg>
</button>
<input type="hidden" id="voteUpHash" value="70:3:31e,16:995084aa02d12304,10:1773916049,16:04b90b5de8900b40,8:57294386,2151dea0f22fdb8a54521980bb73a62a6c915b3876947ed1c6f2a3644afc9c9d" />
<div class="js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4"
itemprop="upvoteCount"
data-value="7">
7 </div>
<button
class="js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200"
id=downvote-btn-57294386
title="This answer is not useful"
aria-pressed="false"
aria-label="Down vote"
data-selected-classes="fc-theme-primary bc-theme-primary bg-theme-primary-100"
data-unselected-classes="bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200">
<svg aria-hidden="true" class="svg-icon iconArrowDown" width="18" height="18" viewBox="0 0 18 18"><path d="M1 6h16l-8 8z"/></svg>
</button>
<input type="hidden" id="voteDownHash" value="70:3:31e,16:c3fe914273814b61,10:1773916049,16:09f2d86f02b8dc3d,8:57294386,7fccd63eb4bf3f60dda3dc7447c4cf821fa438edbe9cf1e6c38bb8980073c74e" />
<button class="js-saves-btn s-btn s-btn__unset c-pointer py4"
type="button"
id="saves-btn-57294386"
data-controller="s-tooltip"
data-s-tooltip-placement="right"
data-s-popover-placement=""
title="Save this answer."
data-is-saved="false"
aria-label="Save"
data-post-id="57294386"
data-post-type-id="2"
data-user-privilege-for-post-click="0"
aria-controls=""
data-s-popover-auto-show="false"
>
<svg aria-hidden="true" class="fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg>
<svg aria-hidden="true" class="js-saves-btn-unselected svg-icon iconBookmarkAlt" width="18" height="18" viewBox="0 0 18 18"><path d="m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z"/></svg>
</button>
<div class="js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted">
<div class="ta-center">
<svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8z"/></svg>
</div>
</div>
<a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="/posts/57294386/timeline" data-shortcut="T" data-ks-title="timeline" data-controller="s-tooltip" data-s-tooltip-placement="right" title="Show activity on this post." aria-label="Timeline"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z"/></svg></a>
</div>
</div>
<div class="answercell post-layout--right">
<div class="s-prose js-post-body" itemprop="text">
<p>From my understanding, Tom's answer is missing some context and depending on your use case, can give the wrong impression.</p>
<p>Chrome's performance throttling is RELATIVE to the machine running the
audit. So that means running an audit on a weaker machine is going to
give an artificially lower score than what it may actually be on another machine.</p>
<p>PageSpeed Insights (PSI) runs a lighthouse audit on a <a href="https://developers.google.com/speed/docs/insights/v5/about?hl=en-US&utm_source=PSI&utm_medium=incoming-link&utm_campaign=PSI#faq" rel="noreferrer">simulated Moto 4</a>.</p>
<blockquote>
<p>What device and network conditions does Lighthouse use to simulate a page load?</p>
<p>Currently, Lighthouse simulates a page load on a mid-tier device (Moto G4) on a mobile network.</p>
</blockquote>
<p>So if you run an audit through the Chrome tab on a 2018 Macbook Pro and your client runs it on a 2010 HP laptop, you will get vastly different results. So using PSI should give a more "objective" audit as it's using the same hardware for each test.</p>
<p>If you only ever use your development machine to run tests for yourself, then it may not matter as much. But if you are sharing and cross examining reports with a client or team (across different machines), then this is something to keep in mind.</p>
<p>Reference:
<a href="https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference" rel="noreferrer">https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference</a></p>
<blockquote>
<p>Throttling is relative to your computer's capabilities. For example,
the 2x slowdown option makes your CPU operate 2 times slower than its
usual ability. DevTools can't truly simulate the CPUs of mobile
devices, because the architecture of mobile devices is very different
from that of desktops and laptops.</p>
</blockquote>
</div>
<div class="mt24">
<div class="d-flex fw-wrap ai-start jc-end gs8 gsy">
<time itemprop="dateCreated" datetime="2019-07-31 15:34:16Z"></time>
<div class="flex--item mr16" style="flex: 1 1 100px;">
<div class="js-post-menu pt2" data-post-id="57294386" data-post-type-id="2">
<div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap">
<div class="flex--item">
<a href="/a/57294386"
rel="nofollow"
itemprop="url"
class="js-share-link js-gps-track"
title="Short permalink to this answer"
data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })"
data-controller="se-share-sheet"
data-se-share-sheet-title="Share a link to this answer"
data-se-share-sheet-subtitle=""
data-se-share-sheet-post-type="answer"
data-se-share-sheet-social="facebook twitter devto"
data-se-share-sheet-location="2"
data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f"
data-se-share-sheet-license-name="CC BY-SA 4.0"
data-s-popover-placement="bottom-start">Share</a>
</div>
<div class="flex--item">
<a href="/posts/57294386/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Improve this answer</a>
</div>
<div class="flex--item">
<button type="button"
id="btnFollowPost-57294386" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track"
data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })"
data-controller="s-tooltip " data-s-tooltip-placement="bottom"
data-s-popover-placement="bottom" aria-controls=""
title="Follow this answer to receive notifications">
Follow
<input type="hidden" id="voteFollowHash" value="70:3:31e,16:abd72fe317612cdb,10:1773916049,16:36241d56dc251d31,8:57294386,0dc565078fe3558a64f1797479793003c3d16d928b7729e83680d56394e840e3" />
</button>
</div>
</div>
<div class="js-menu-popup-container"></div>
</div>
</div>
<div class="post-signature flex--item fl0">
<div class="user-info user-hover ">
<div class="d-flex ">
<div class="user-action-time fl-grow1">
<a href="/posts/57294386/revisions" title="show all edits to this post"
class="js-gps-track"
data-gps-track="post.click({ item: 4, priv: 0, post_type: 2 })">edited <span title='2020-06-20 09:12:55Z' class='relativetime'>Jun 20, 2020 at 9:12</span></a>
</div>
</div>
<div class="user-gravatar32">
<a href="/users/-1/community"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/a007be5a61f6aa8f3e85ae2fc18dd66e?s=64&d=identicon&r=PG" alt="Community's user avatar" width="32" height="32" class="bar-sm"></div></a>
</div>
<div class="user-details">
<a href="/users/-1/community" dir="auto">Community</a><span class="flex--item s-badge ml2 s-badge__xs mtn2" title="Community Bot — not a real person. Replies to this bot are not monitored.">Bot</span>
<div class="-flair">
<span class="reputation-score" title="reputation score " dir="ltr">1</span><span title="1 silver badge" aria-hidden="true"><span class="badge2"></span><span class="badgecount">1</span></span><span class="v-visible-sr">1 silver badge</span>
</div>
</div>
</div>
</div>
<div class="post-signature flex--item fl0">
<div class="user-info ">
<div class="d-flex ">
<div class="user-action-time fl-grow1">
answered <span title='2019-07-31 15:34:16Z' class='relativetime'>Jul 31, 2019 at 15:34</span>
</div>
</div>
<div class="user-gravatar32">
<a href="/users/7903952/dan"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/63720b47b4175d3cc765b7ac7b0b7796?s=64&d=identicon&r=PG&f=y&so-version=2" alt="Dan's user avatar" width="32" height="32" class="bar-sm"></div></a>
</div>
<div class="user-details" itemprop="author" itemscope itemtype="http://schema.org/Person">
<a href="/users/7903952/dan" itemprop="url" dir="auto">Dan</a><meta itemprop="name" content="Dan"/>
<div class="-flair">
<span class="reputation-score" title="reputation score " dir="ltr">987</span><span title="1 gold badge" aria-hidden="true"><span class="badge1"></span><span class="badgecount">1</span></span><span class="v-visible-sr">1 gold badge</span><span title="13 silver badges" aria-hidden="true"><span class="badge2"></span><span class="badgecount">13</span></span><span class="v-visible-sr">13 silver badges</span><span title="32 bronze badges" aria-hidden="true"><span class="badge3"></span><span class="badgecount">32</span></span><span class="v-visible-sr">32 bronze badges</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="post-layout--right">
<div id="follow-ups-container-57294386">
<!--[--><div class="mt16"><div class="mb8 d-flex ai-center g8" role="button" tabindex="0"><h2 class="mb0">Comments</h2> <!--[!--><!--]--></div> <div class="mb12"><!--[!--><button type="button" class="s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link" data-so-test="parent-answer-57294386"><!--[!--><!--]--> <div class="flex--item ml8"><p class="mb0">Add a comment</p></div></button><!--]--></div> <!--[--><div role="list"><!--[--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->
</div>
<script type="application/json" data-role="module-args" data-module-name="islands/follow-ups/index.mod">{"replies":[],"postId":57294386,"currentUserIsMod":false,"currentUserIsAnonymous":true,"commentFlagsRemainingToday":10,"maxNestingLevel":3,"hasOptedOut":false,"showCtaUnderComments":false,"containerElementId":"follow-ups-container-57294386","fKey":"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e","questionId":25806351,"questionAuthorId":886906,"answerId":57294386,"answerPositionOnPage":0,"newUiSettings":{"largerFontSize":false},"showFirstTimeCommentingModal":false,"isMentionEnabled":false,"showSpamFlag":true,"mergeUnfriendlyAndRudeFlags":true,"allowRetractingCommentFlags":true,"commentMinLength":15}</script>
</div>
</div>
</div>
<a name="37900624"></a>
<div id="answer-37900624" class="answer js-answer " data-answerid="37900624"
data-parentid="25806351" data-score="4" data-position-on-page="3"
data-highest-scored="0"
data-question-has-accepted-highest-score="1"
data-author-username="B P"
data-author-reputation="153"
data-should-show-copy-button=True
data-se-share-sheet-license-name="CC BY-SA 4.0"
data-is-edited="True"
itemprop="suggestedAnswer"
itemscope itemtype="https://schema.org/Answer">
<div class="pos
Page Title
Export PageSpeed Insights (by Google) results - Stack Overflow
Response Headers
{
"cache-control": "private",
"cf-cache-status": "DYNAMIC",
"cf-ray": "9debc8eebcc8f83d-ORD",
"content-encoding": "gzip",
"content-security-policy": "upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com",
"content-type": "text/html; charset=utf-8",
"date": "Thu, 19 Mar 2026 10:27:29 GMT",
"feature-policy": "microphone 'none'; speaker 'none'",
"server": "cloudflare",
"set-cookie": "prov=49b38fe5-a4e2-40e0-8afb-b7da5623a536; expires=Fri, 19 Mar 2027 10:27:29 GMT; domain=.stackoverflow.com; path=/; secure; samesite=none; httponly, __cflb=02DiuFA7zZL3enAQJD3AX8ZzvyzLcaG7usBjxmFbjCbrC; SameSite=Lax; path=/; expires=Fri, 20-Mar-26 09:27:29 GMT; HttpOnly, prov=49b38fe5-a4e2-40e0-8afb-b7da5623a536; Path=/; HttpOnly; Domain=stackoverflow.com, __cf_bm=QnYCWDW.V0lKB9JTEVCFpLb7Cgh61gXtlVdwPNzeixE-1773916049-1.0.1.1-37l4C8S4EvGCIxUjG1HNa1KbmFEpz0DJE5CSxsSx3g3PHpJ0zb_SAMX0lPm6As6MvBBLNpPsNc4QARU41ye1.pkBD9.WS4zowhH1iDotL50; path=/; expires=Thu, 19-Mar-26 10:57:29 GMT; domain=.stackoverflow.com; HttpOnly; Secure; SameSite=None, _cfuvid=SWy4X4eeVxE.Y2JZxQOWWEhoUhwfORBpZzAg0XU5niA-1773916049801-0.0.1.1-604800000; path=/; domain=.stackoverflow.com; HttpOnly; Secure; SameSite=None",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"vary": "Accept-Encoding",
"x-clacks-overhead": "GNU Terry Pratchett",
"x-dns-prefetch-control": "off",
"x-frame-options": "SAMEORIGIN",
"x-request-guid": "bcfeb82d-dfa6-412a-8f41-e1988c162142",
"x-worker-origin-response-time": "54000000"
}
Request Options
{
"proxy": {
"type": "datacenter"
},
"scraper_options": {
"impersonate": "chrome"
},
"url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
}
No network requests captured.
Network capture is only available for browser-based scrapers (Playwright, Scrapling).
Detections
Structured Metadata
Open Graph
[
{
"namespace": {
"og": "http://ogp.me/ns#"
},
"properties": [
[
"og:type",
"website"
],
[
"og:url",
"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
],
[
"og:site_name",
"Stack Overflow"
],
[
"og:image",
"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579"
],
[
"og:title",
"Export PageSpeed Insights (by Google) results"
],
[
"og:description",
"Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console."
]
]
}
]
JSON-LD
[
{
"@context": "https://schema.org",
"@graph": [
{
"@id": "https://stackoverflow.com/#website",
"@type": "WebSite",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"name": "Stack Overflow",
"publisher": {
"@id": "https://stackoverflow.com/#organization"
},
"url": "https://stackoverflow.com"
},
{
"@id": "https://stackoverflow.com/#organization",
"@type": "Organization",
"contactPoint": [
{
"@type": "ContactPoint",
"contactType": "Customer support",
"url": "https://stackoverflow.com/contact"
},
{
"@type": "ContactPoint",
"contactType": "Stack Ads",
"url": "https://stackoverflow.co/advertising/"
},
{
"@type": "ContactPoint",
"contactType": "Stack Internal",
"url": "https://stackoverflow.co/teams/"
},
{
"@type": "ContactPoint",
"contactType": "Stack Data Licensing",
"url": "https://stackoverflow.co/api-solutions/"
}
],
"description": "Q&A for professional and enthusiast programmers",
"logo": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/logo.png?v=0a124c963f5f",
"name": "Stack Overflow",
"sameAs": [
"https://stackoverflow.co/",
"https://www.facebook.com/officialstackoverflow/",
"https://x.com/stackoverflow",
"https://www.linkedin.com/company/stack-overflow",
"https://www.youtube.com/c/StackOverflowOfficial",
"https://twitter.com/stackoverflow"
],
"url": "https://stackoverflow.com"
}
]
}
]
Microdata
[
{
"properties": {
"description": "Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"isPartOf": "https://stackoverflow.com/#website",
"mainEntity": {
"properties": {
"acceptedAnswer": {
"properties": {
"author": {
"properties": {
"name": "Toma Nistor",
"url": "/users/7184365/toma-nistor"
},
"type": "http://schema.org/Person"
},
"dateCreated": "2018-12-03 02:37:30Z",
"text": "If you open up and run Google PageSpeed Insights through the Audit tab (Lighthouse tab after Chrome 83) in Chrome Developer Tools, there is a button in the left part of the panel that will allow you to download the report as a JSON file.",
"upvoteCount": "15",
"url": "/a/53586734"
},
"type": "https://schema.org/Answer"
},
"answerCount": "3",
"author": {
"properties": {
"name": "Haradzieniec",
"url": "/users/886906/haradzieniec"
},
"type": "http://schema.org/Person"
},
"comment": {
"properties": {
"author": {
"properties": {
"name": "\u590f\u671f\u5287\u5834",
"url": "/users/775856/%e5%a4%8f%e6%9c%9f%e5%8a%87%e5%a0%b4"
},
"type": "https://schema.org/Person"
},
"datePublished": "2015-07-23 03:28:26 +00:00",
"text": "This is exactly what i'm looking for. Either EXPORT (or) SAVE feature is really required."
},
"type": "https://schema.org/Comment"
},
"commentCount": "1",
"dateCreated": "2014-09-12 10:37:19Z",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5",
"name": "Export PageSpeed Insights (by Google) results",
"suggestedAnswer": [
{
"properties": {
"author": {
"properties": {
"name": "Dan",
"url": "/users/7903952/dan"
},
"type": "http://schema.org/Person"
},
"dateCreated": "2019-07-31 15:34:16Z",
"text": "From my understanding, Tom's answer is missing some context and depending on your use case, can give the wrong impression.\n\nChrome's performance throttling is RELATIVE to the machine running the audit. So that means running an audit on a weaker machine is going to give an artificially lower score than what it may actually be on another machine.\n\nPageSpeed Insights (PSI) runs a lighthouse audit on a simulated Moto 4.\n\nWhat device and network conditions does Lighthouse use to simulate a page load?\n\nCurrently, Lighthouse simulates a page load on a mid-tier device (Moto G4) on a mobile network.\n\nSo if you run an audit through the Chrome tab on a 2018 Macbook Pro and your client runs it on a 2010 HP laptop, you will get vastly different results. So using PSI should give a more \"objective\" audit as it's using the same hardware for each test.\n\nIf you only ever use your development machine to run tests for yourself, then it may not matter as much. But if you are sharing and cross examining reports with a client or team (across different machines), then this is something to keep in mind.\n\nReference: https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference\n\nThrottling is relative to your computer's capabilities. For example, the 2x slowdown option makes your CPU operate 2 times slower than its usual ability. DevTools can't truly simulate the CPUs of mobile devices, because the architecture of mobile devices is very different from that of desktops and laptops.",
"upvoteCount": "7",
"url": "/a/57294386"
},
"type": "https://schema.org/Answer"
},
{
"properties": {
"author": {
"properties": {
"name": "B P",
"url": "/users/5496838/b-p"
},
"type": "http://schema.org/Person"
},
"comment": {
"properties": {
"author": {
"properties": {
"name": "B P",
"url": "/users/5496838/b-p"
},
"type": "https://schema.org/Person"
},
"datePublished": "",
"text": "I might be wrong, I was answering about link and not the extension"
},
"type": "https://schema.org/Comment"
},
"dateCreated": "2016-06-18 19:03:11Z",
"text": "I am not sure if this is what you are looking for, but I feel you can build the data you need using the JSON response\n\ncurl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=http://www.google.com > response.json\n\nIf you don't have access to cli you can enter the same url with your website of interest in your browser and hit return key.\n\nI lately started using Postman if you are trying to optimize your website performance I personally feel this would help because it does save the responses and the time of request.\n\nThank you it was helpful",
"upvoteCount": "4",
"url": "/a/37900624"
},
"type": "https://schema.org/Answer"
}
],
"text": "Is there any way to export PageSpeed (the Google Chrome extension) results into a file? I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.",
"upvoteCount": "14",
"url": "/q/25806351"
},
"type": "https://schema.org/Question"
},
"name": "Export PageSpeed Insights (by Google) results",
"primaryImageOfPage": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"publisher": "https://stackoverflow.com/#organization",
"url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
},
"type": "https://schema.org/QAPage"
}
]
Microformat
[
{
"lang": "en",
"properties": {
"name": [
""
]
},
"type": [
"h-auto"
]
}
]
Scraper Response Data
Response payload
{
"content": "\n<!DOCTYPE html>\n\n\n <html itemscope itemtype=\"https://schema.org/QAPage\" class=\"html__responsive \" lang=\"en\">\n\n <head>\n \n <title>Export PageSpeed Insights (by Google) results - Stack Overflow</title>\n \n<link rel=\"shortcut icon\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/favicon.ico?v=562fb39d93c8\">\n<link rel=\"apple-touch-icon\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5\">\n<link rel=\"image_src\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5\"> \n <link rel=\"search\" type=\"application/opensearchdescription+xml\" title=\"Stack Overflow\" href=\"/opensearch.xml\">\n <link rel=\"canonical\" href=\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\" />\n <meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0\">\n <meta property=\"og:type\" content=\"website\" />\n <meta property=\"og:url\" content=\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\" />\n <meta property=\"og:site_name\" content=\"Stack Overflow\" />\n <meta property=\"og:image\" content=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\" />\n <script type=\"application/ld+json\">\n {\n \"@context\": \"https://schema.org\",\n \"@graph\": [\n {\n \"@type\": \"WebSite\",\n \"@id\": \"https://stackoverflow.com/#website\",\n \"name\": \"Stack Overflow\",\n \"url\": \"https://stackoverflow.com\",\n \"image\": \"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\",\n \"publisher\": {\n \"@id\": \"https://stackoverflow.com/#organization\"\n }\n },\n {\n \"@type\": \"Organization\",\n \"@id\": \"https://stackoverflow.com/#organization\",\n \"name\": \"Stack Overflow\",\n \"url\": \"https://stackoverflow.com\",\n \"logo\": \"https://stackoverflow.com/Content/Sites/stackoverflow/Img/logo.png?v=0a124c963f5f\",\n \"sameAs\": [\n \"https://stackoverflow.co/\",\n \"https://www.facebook.com/officialstackoverflow/\",\n \"https://x.com/stackoverflow\",\n \"https://www.linkedin.com/company/stack-overflow\",\n \"https://www.youtube.com/c/StackOverflowOfficial\",\n \"https://twitter.com/stackoverflow\"\n ],\n \"contactPoint\": [\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Customer support\",\n \"url\": \"https://stackoverflow.com/contact\"\n },\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Stack Ads\",\n \"url\": \"https://stackoverflow.co/advertising/\"\n },\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Stack Internal\",\n \"url\": \"https://stackoverflow.co/teams/\"\n },\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Stack Data Licensing\",\n \"url\": \"https://stackoverflow.co/api-solutions/\"\n }\n ],\n \"description\": \"Q\\u0026A for professional and enthusiast programmers\"\n }\n ]\n}\n</script>\n <meta name=\"twitter:card\" content=\"summary\" />\n <meta name=\"twitter:domain\" content=\"stackoverflow.com\" />\n <meta name=\"twitter:title\" property=\"og:title\" content=\"Export PageSpeed Insights (by Google) results\" />\n <meta name=\"twitter:description\" property=\"og:description\" content=\"Is there any way to export PageSpeed (the Google Chrome extension) results into a file?
I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.\" />\n\n \n<meta itemprop=\"name\" content=\"Export PageSpeed Insights (by Google) results\" />\n<meta itemprop=\"description\" content=\"Is there any way to export PageSpeed (the Google Chrome extension) results into a file?
I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.\" />\n<meta itemprop=\"image\" content=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\" />\n<meta itemprop=\"primaryImageOfPage\" content=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\" />\n<meta itemprop=\"url\" content=\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\" />\n <meta itemprop=\"isPartOf\" content=\"https://stackoverflow.com/#website\" />\n <meta itemprop=\"publisher\" content=\"https://stackoverflow.com/#organization\" />\n\n<script id=\"webpack-public-path\" type=\"text/uri-list\">https://stackoverflow.com/Content/</script>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"args/options.mod\">{\"options\":{\"locale\":\"en\",\"serverTime\":1773916049,\"routeName\":\"Questions/Show\",\"stackAuthUrl\":\"https://stackauth.com\",\"networkMetaHostname\":\"meta.stackexchange.com\",\"site\":{\"name\":\"Stack Overflow\",\"description\":\"Q\\u0026A for professional and enthusiast programmers\",\"isNoticesTabEnabled\":true,\"enableNewTagCreationWarning\":true,\"insertSpaceAfterNameTabCompletion\":false,\"id\":1,\"cookieDomain\":\".stackoverflow.com\",\"childUrl\":\"https://meta.stackoverflow.com\",\"negativeVoteScoreFloor\":null,\"enableSocialMediaInSharePopup\":true,\"protocol\":\"https\"},\"user\":{\"fkey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"tid\":\"49b38fe5-a4e2-40e0-8afb-b7da5623a536\",\"rep\":0,\"isAnonymous\":true,\"isAnonymousNetworkWide\":true},\"events\":{\"postType\":{\"question\":1},\"postEditionSection\":{\"title\":1,\"body\":2,\"tags\":3}}}}</script>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"args/settings.mod\">{\"settings\":{\"markdown\":{\"enableTables\":true},\"elections\":{\"opaVoteResultsBaseUrl\":\"https://www.opavote.com/results/\"},\"auth\":{\"oauthInPopup\":true},\"flags\":{\"allowRetractingFlags\":true,\"allowRetractingCommentFlags\":true},\"accounts\":{\"currentPasswordRequiredForChangingStackIdPassword\":true},\"questionLinkTitleReplacement\":{\"maxNumberOfSitesProcessed\":10,\"maxReplacementsPerSite\":20},\"image\":{\"maxImageUploadSizeInBytesAnimatedGif\":2097152,\"maxImageUploadSizeInBytes\":10485760},\"search\":{},\"paths\":{\"jQueryUIJSPath\":\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js\",\"jQueryUICSSPath\":\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css\"},\"api\":{\"oneTrustDataLicensingApiConfigId\":\"019c4e40-2b18-7d09-b854-450af38a31c8\"},\"snippets\":{\"snippetsEnabled\":true,\"renderDomain\":\"stacksnippets.net\",\"stacksEditorSnippetsEnabledFor\":{\"Metadata\":{\"Name\":\"SnippetSettings.StacksEditorSnippetsEnabledFor\",\"Filter\":0},\"AppliedFilter\":0,\"IsNobody\":false,\"All\":true,\"Anonymous\":false,\"LoggedIn\":false,\"ChannelsMembers\":false,\"Moderators\":false,\"Employees\":false,\"Developers\":false,\"TeamAdmins\":false,\"AccountIds\":[],\"ExcludedAccountIds\":[],\"Serialization\":\"All\"}},\"questions\":{\"maxTitleSize\":150,\"enableQuestionTitleLengthLiveWarning\":true,\"enableSavesFeature\":true,\"questionTitleLengthStartLiveWarningChars\":50},\"subscriptions\":{\"defaultFreemiumMaxTrueUpSeats\":50,\"defaultBasicMaxTrueUpSeats\":250,\"defaultMaxTrueUpSeats\":1000},\"tags\":{},\"comments\":{},\"intercom\":{\"appId\":\"inf0secd\"},\"site\":{\"enableImageHttps\":true,\"allowImageUploads\":true,\"stacksEditorPreviewEnabled\":true,\"forceHttpsImages\":true,\"enableUserHovercards\":true,\"styleCode\":true},\"signup\":{},\"mentions\":{\"maxNumUsersInDropdown\":50},\"legal\":{\"useCustomConsent\":false,\"oneTrustTCFConfigId\":\"c3d9f1e3-55f3-4eba-b268-46cee4c6789c\"},\"userMessaging\":{\"showNewFeatureNotice\":true}}}</script>\n\n<script type=\"text/javascript\">\n (function () {\n // see getArgs() in modules.ts\n function readModuleArgs(moduleName) {\n const selector = `script[type=\"application/json\"][data-role=\"module-args\"][data-module-name=\"${moduleName}\"]`;\n return JSON.parse(document.querySelector(selector).innerText);\n }\n\n StackExchange = window.StackExchange || {};\n\n var options = StackExchange.options = readModuleArgs(\"args/options.mod\").options;\n StackExchange.settings = readModuleArgs(\"args/settings.mod\").settings;\n\n options.serverTimeOffsetSec = options.serverTime - (new Date()).getTime() / 1000;\n\n options.enableLogging = (options.user.isEmployee || options.isDebugBuild) && typeof console !== 'undefined' && typeof console.log !== 'undefined';\n })();\n</script>\n\n\n<script src=\"https://stackoverflow.com/Content/Js/google-analytics.en.js?v=48615a9a9bc4\"></script>\n\n <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js\"></script>\n <script defer src=\"https://stackoverflow.com/Content/Js/third-party/npm/@stackoverflow/stacks/dist/js/stacks.min.js?v=c7bcc7a1b4fd\"></script>\n <script src=\"https://stackoverflow.com/Content/Js/stub.en.js?v=e307fb81e738\"></script>\n\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://stackoverflow.com/Content/Shared/stacks.css?v=b2264ccf0463\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/primary.css?v=aebbc6c1e33e\">\n\n\n \n <link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed for question 'Export PageSpeed Insights (by Google) results'\" href=\"/feeds/question/25806351\">\n<script defer src=\"https://stackoverflow.com/Content/Js/misc/copy.en.js?v=eaf5f2a0965b\"></script><script type=\"application/json\" data-role=\"module-args\" data-module-name=\"entry-points/misc/copy.mod\">{\"sortType\":4,\"numberOfVisibleAnswers\":3,\"trackQuestions\":true,\"trackArticles\":false,\"userReputation\":0,\"userReputationBand\":0,\"sendPrizmEvent\":false,\"sendAEHEvent\":true}</script><script>\n StackExchange.ready(function () {\n\n StackExchange.using(\"snippets\", function () {\n StackExchange.snippets.initSnippetRenderer();\n });\n \n StackExchange.using(\"postValidation\", function () {\n StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer');\n });\n\n\n StackExchange.question.init({showAnswerHelp:true,showTrendingSortLaunchPopover:false,showTrendingSortPostLaunchPopover:false,totalCommentCount:1,shownCommentCount:1,enableTables:true,questionId:25806351});\n\n styleCode();\n\n StackExchange.realtime.subscribeToQuestion('1', '25806351');\n StackExchange.using(\"gps\", function () { StackExchange.gps.trackOutboundClicks('#content', '.js-post-body'); });\n\n\n });\n</script>\n\n \n \n \n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://stackoverflow.com/Content/Shared/Channels/channels.css?v=d431b1be5a03\">\n\n \n \n\n \n\n\n <script>StackExchange.init();</script>\n\n <script>\n StackExchange.using.setCacheBreakers({\"Js/adops.en.js\":\"6da43f5e0a84\",\"Js/ask.en.js\":\"\",\"Js/begin-edit-event.en.js\":\"dd955babf04d\",\"Js/events.en.js\":\"\",\"Js/explore-qlist.en.js\":\"ee2a4f8c3992\",\"Js/full-anon.en.js\":\"f093f39ff8ae\",\"Js/full.en.js\":\"ec3ecdf3f41e\",\"Js/google-analytics.en.js\":\"48615a9a9bc4\",\"Js/highlightjs-loader.en.js\":\"41dd0ff14471\",\"Js/inline-tag-editing.en.js\":\"8517756a2cb6\",\"Js/keyboard-shortcuts.en.js\":\"9ce498b8114c\",\"Js/markdown-it-loader.en.js\":\"9e901e1e3a2c\",\"Js/mentions-transpiled.en.js\":\"adcf85e61d88\",\"Js/moderator.en.js\":\"126c985e92ad\",\"Js/postCollections-transpiled.en.js\":\"27fabb0f4bf8\",\"Js/post-validation.en.js\":\"44d59ccfc490\",\"Js/question-editor.en.js\":\"\",\"Js/review-v2-transpiled.en.js\":\"d023f2d98d16\",\"Js/revisions.en.js\":\"9dd135bb585f\",\"Js/stacks-editor.en.js\":\"c1cefe7c11f1\",\"Js/tageditor.en.js\":\"5b8f289d02ef\",\"Js/tageditornew.en.js\":\"8a29c1ec524c\",\"Js/tagsuggestions.en.js\":\"c54b483b692e\",\"Js/wmd.en.js\":\"e65961906f11\",\"Js/snippet-javascript-codemirror.en.js\":\"ede55efa5a37\"});\n StackExchange.using(\"gps\", function() {\n StackExchange.gps.init(false);\n });\n </script>\n <noscript id=\"noscript-css\"><style>body, .s-topbar { margin-top: 1.9em }</style></noscript>\n \n <script src=\"https://cdn.cookielaw.org/scripttemplates/gpp.stub.js\"></script>\n <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\" charset=\"UTF-8\" data-document-language=\"true\" data-domain-script=\"c3d9f1e3-55f3-4eba-b268-46cee4c6789c\"></script>\n<script defer src=\"https://stackoverflow.com/Content/Js/sprinkles/cookie-consent.en.js?v=7ee6963139c5\"></script>\n <script type=\"text/javascript\">var abp;</script>\n <script type=\"text/javascript\" src=\"/px.js?ch=1\"></script>\n <script type=\"text/javascript\" src=\"/px.js?ch=2\"></script>\n\n </head>\n\n <body class=\"question-page unified-theme\">\n \n<div id=\"signup-modal-container\"></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/signup-modal/index.mod\">{\"ContainerElementId\":\"signup-modal-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"TriggerEvent\":\"signupModalShow\",\"OauthInPopup\":true,\"ReturnUrl\":\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\",\"ReturnUrlForPopup\":\"https://stackoverflow.com/users/after-signup/oauth-only\",\"SiteName\":\"Stack Overflow\",\"SiteLogoPath\":\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/icon-48.png?v=6452e6a98212\",\"AuthProviders\":[\"Google\",\"GitHub\"],\"ParentSiteUrl\":\"\",\"IsInitiallyVisible\":false,\"IsSignupProductEventsEnabled\":false}</script>\n<script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/signup-modal.en.js?v=f64ec881ea96\"></script>\n\n<script defer>\n dispatchEvent(new CustomEvent(\"openSignupModal\"));\n</script>\n \n \n\n <div id=\"one-tap-container\"></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/one-tap/index.mod\">{\"ContainerElementId\":\"one-tap-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"GoogleClientId\":\"717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com\",\"Autoselect\":false,\"ReturnUrl\":\"https%253a%252f%252fstackoverflow.com%252fquestions%252f25806351%252fexport-pagespeed-insights-by-google-results\"}</script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/one-tap.en.js?v=102f0378a2cf\"></script>\n\n <div id=\"notify-container\"></div>\n <div id=\"custom-header\"></div>\n \n\n<header class=\"s-topbar ps-fixed t0 l0 js-top-bar\">\n <a href=\"#content\" class=\"s-topbar--skip-link\">Skip to main content</a>\n\t<div class=\"s-topbar--container\">\n\t\t\t<a href=\"#\" class=\"s-topbar--menu-btn js-left-sidebar-toggle\" aria-haspopup=\"true\" aria-controls=\"left-sidebar\" aria-expanded=\"false\"><span></span></a>\n\t\t\t<div class=\"topbar-dialog leftnav-dialog js-leftnav-dialog dno\">\n\t\t\t\t<div class=\"left-sidebar js-unpinned-left-sidebar\" data-can-be=\"left-sidebar\" data-is-here-when=\"sm\"></div>\n\t\t\t</div>\n <a href=\"https://stackoverflow.com\" class=\"s-topbar--logo js-gps-track\" title=\"Stack Overflow\" data-gps-track=\"top_nav.click({is_current:false, location:2, destination:8}); homelogo_nav.click({location:2})\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"fc-black-600 sm:d-none svg-icon iconLogoNewSm\" width=\"175\" height=\"22\" viewBox=\"0 0 175 22\"><path fill=\"currentColor\" d=\"M18.52 9.69q-1.43 1.07-2.52 2.48l.03.01v.01l-.03-.02a14 14 0 0 0-1.77 2.99l-.02.05a13 13 0 0 0-.93 3.32v.02q-.13.92-.13 1.88c0 .55.07 1.04.13 1.57H0v-3.47h11.5l.07-.43L.5 15.16l.93-3.4 11.21 2.98.16-.34L2.72 8.66 4.5 5.6l10.22 5.83.25-.29L6.6 2.89 9.12.4zM28.9 5.78c3.3 0 5.98 2.15 5.98 5.24h-2.96c-.13-1.67-1.09-2.66-3.11-2.66-2.03 0-3.04.81-3.04 1.95 0 3.42 9.34.33 9.34 6.58 0 2.89-2.28 4.51-6.13 4.51-3.57 0-6.22-2.25-6.33-5.27h3c.14 1.7 1.59 2.71 3.48 2.71 1.78 0 3.07-.68 3.07-1.95 0-3.14-9.37-.28-9.37-6.58 0-2.45 2.33-4.53 6.08-4.53m20.15 2.58c1.75 0 2.96.7 3.75 1.95V8.7h2.76V21H52.8v-1.53c-.74 1.2-1.93 1.93-3.75 1.93-3.44 0-5.55-2.69-5.55-6.5 0-3.83 2.1-6.54 5.55-6.54m.43 2.48c-2.02 0-3.14 1.7-3.14 4.05 0 2.33 1.12 4 3.14 4 2.23 0 3.32-1.72 3.32-4s-1.1-4.05-3.32-4.05m13.78-2.48c3.37 0 5.73 2.48 5.75 5.2h-2.89c-.07-1.35-.88-2.7-2.86-2.7-2.4 0-3.44 1.75-3.44 4.03s1.04 3.98 3.44 3.98c2.06 0 2.87-1.45 2.94-3h2.86c-.05 3.2-2.3 5.53-5.8 5.53-3.8 0-6.27-2.69-6.27-6.5 0-3.83 2.48-6.54 6.27-6.54m28.26-2.58c4.91 0 7.6 3.57 7.6 7.8 0 4.22-2.71 7.82-7.6 7.82s-7.62-3.55-7.62-7.82c0-4.23 2.7-7.8 7.62-7.8m0 2.58c-3.22 0-4.68 2.68-4.68 5.22s1.44 5.24 4.68 5.24 4.6-2.71 4.6-5.24-1.38-5.22-4.6-5.22m25.93 0c3.34 0 6.2 2.7 5.6 7.44h-9c.23 1.8 1.3 3.1 3.4 3.1 1.44 0 2.35-.89 2.73-1.9h2.89a5.5 5.5 0 0 1-5.62 4.4c-3.83 0-6.3-2.69-6.3-6.5 0-3.83 2.47-6.54 6.3-6.54m0 2.48c-1.93 0-2.97 1.11-3.35 2.68h6.23c-.15-1.46-1.06-2.68-2.88-2.68m33.42-2.48c3.8 0 6.28 2.7 6.28 6.53 0 3.82-2.49 6.5-6.28 6.5s-6.3-2.68-6.3-6.5 2.47-6.53 6.3-6.53m0 2.48c-2.3 0-3.47 1.77-3.47 4.05 0 2.33 1.16 4 3.47 4 2.3 0 3.47-1.67 3.47-4s-1.17-4.05-3.47-4.05M40.5 8.71h2.1v2.36h-2.1v7.62h2.46V21h-5.22v-9.93H36V8.7h1.74V6h2.76zm32.69 4.94 3.97-4.94h3.27l-4 4.97 4.4 7.32h-3.08l-2.99-5.3-1.57 1.98V21H70.4V6h2.79zm32.15 4.91 2.79-9.85h2.96L107.24 21h-3.77L99.62 8.71h2.96zm25.88-9.85V11h-3.97v10h-2.76V8.71zm7.98-4.17v2.35h-1.78q-1.18.01-1.19 1.09v.73h2.71V11h-2.7v10h-2.77V11h-1.26V8.71h1.26v-.73c0-2.2 1.27-3.44 3.93-3.44zm3.97 0V21h-2.78V4.54zm18.97 13.42 2.05-9.25h3l2.06 9.27 1.82-9.27h2.94L171.05 21h-3.67l-1.67-7.5-1.67 7.5h-3.67L157.4 8.71h2.96z\"/></svg>\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"fc-black-600 d-none sm:d-flex svg-icon iconGlyphNew\" width=\"26\" height=\"31\" viewBox=\"0 0 26 31\"><path fill=\"currentColor\" d=\"m22.18 16.32.05.02-.02.01za19 19 0 0 0-2.45 4.14l-.03.07q-.94 2.19-1.29 4.6v.03a18 18 0 0 0-.05 4.85H.01v-4.88h15.94l.1-.6L.69 20.48l1.28-4.7 15.55 4.1.22-.46-13.96-7.96 2.47-4.22 14.16 8.07.34-.4L9.15 3.47 12.65 0l11.78 11.64 1.25 1.23q-1.97 1.5-3.5 3.44\"/></svg>\n\n\t\t\t\t</a>\n\n\n\n\t\t\t<ol class=\"s-navigation fw-nowrap ai-center\" role=\"presentation\">\n\n\t\t\t\t\t<li class=\"md:d-none\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/\" class=\"s-navigation--item js-gps-track\"\n\t\t\t\t data-gps-track=\"top_nav.products.click({location:2, destination:7})\"\n\t\t\t\t data-ga=\"["top navigation","about menu click",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"s-navigation--item-text\" data-text=\"About\">About</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n \n <li>\n <button\n class=\"s-navigation--item js-gps-track sm:d-none\"\n type=\"button\"\n aria-controls=\"products-popover\"\n aria-expanded=\"false\"\n data-controller=\"s-popover\"\n data-action=\"s-popover#toggle\"\n data-s-popover-toggle-class=\"is-selected\"\n data-gps-track=\"top_nav.products.click({location:2, destination:1})\"\n data-ga=\"["top navigation","products menu click",null,null,null]\">\n <span class=\"s-navigation--item-text\" data-text=\"Products\">Products</span>\n </button>\n </li>\n \n\t\t\t\t\t<li class=\"md:d-none\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/internal/\" class=\"s-navigation--item js-gps-track\"\n\t\t\t\t data-gps-track=\"top_nav.products.click({location:2, destination:7})\"\n\t\t\t\t data-ga=\"["top navigation","learn more - teams",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"s-navigation--item-text\" data-text=\"For Teams\">For Teams</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n \n <li>\n <button class=\"js-beta-link s-btn s-btn__outlined s-btn__featured g6 d-flex ai-center fw-nowrap\"\n type=\"button\"\n data-user-id=\"0\">\n <span class=\"ws-nowrap sm:d-none\">Try new site</span>\n <span class=\"ws-nowrap d-none sm:d-flex\">Try</span>\n <span class=\"s-badge bg-purple-400 fc-white myn6 lh-md bar-sm sm:px8 fw-bold\">BETA</span>\n </button>\n </li>\n<script defer src=\"https://stackoverflow.com/Content/Js/topbar/top-bar-events.en.js?v=9f5a4d15c5cd\"></script> \n </ol>\n\t\t\t<div class=\"s-popover ws2 mtn2 p0\"\n\t\t\t id=\"products-popover\"\n\t\t\t role=\"menu\"\n\t\t\t aria-hidden=\"true\">\n\t\t\t\t<div class=\"s-popover--arrow\"></div>\n\t\t\t\t<ol class=\"list-reset s-anchors s-anchors__inherit\">\n\t\t\t\t\t<li class=\"m6\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-for-teams\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\"\n\t\t\t\t\t data-gps-track=\"top_nav.products.click({location:2, destination:3})\"\n\t\t\t\t\t data-ga=\"["top navigation","teams submenu click",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"fs-body1 d-block\">Stack Internal</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Implement a knowledge platform layer to power your enterprise and AI tools.</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"m6\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-api\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\"\n\t\t\t\t\t data-gps-track=\"top_nav.products.click({location:2, destination:11})\"\n\t\t\t\t\t data-ga=\"["top navigation","overflowapi submenu click",null,null,null]\">\n\t\t\t\t\t\t \t<span class=\"fs-body1 d-block\">Stack Data Licensing</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Get access to top-class technical expertise with trusted & attributed content.</span>\n\t\t\t\t\t\t </a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"m6\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-advertising\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\"\n\t\t\t\t\t data-gps-track=\"top_nav.products.click({location:2, destination:6})\"\n\t\t\t\t\t data-ga=\"["top navigation","advertising submenu click",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"fs-body1 d-block\">Stack Ads</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Connect your brand to the world’s most trusted technologist communities.</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"bt bc-black-200 py6 px6 bbr-md\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.blog/releases/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=releases\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\"\n\t\t\t\t\t data-gps-track=\"top_nav.products.click({location:2, destination:13})\"\n\t\t\t\t\t data-ga=\"["top navigation","labs submenu click",null,null,null]\">\n\t\t\t\t\t\t \t<span class=\"fs-body1 d-block\">Releases</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Keep up-to-date on features we add to Stack Overflow and Stack Internal.</span>\n\t\t\t\t\t\t </a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"bg-black-100 bt bc-black-200 py6 px6 bbr-md\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=about-the-company\" class=\"fc-black-400 d-block py6 px6 h:fc-black-600\"\n\t\t\t\t\t data-ga=\"["top navigation","about submenu click",null,null,null]\">About the company</a>\n\n\t\t\t\t\t\t<a href=\"https://stackoverflow.blog/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=blog\" class=\"fc-black-400 d-block py6 px6 h:fc-black-600\"\n\t\t\t\t\t data-ga=\"["top navigation","blog submenu click",null,null,null]\">Visit the blog</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ol>\n\t\t\t</div>\n\n\n\t\t <form id=\"search\" role=\"search\" action=/search class=\"s-topbar--searchbar js-searchbar \" autocomplete=\"off\">\n <div class=\"s-topbar--searchbar--input-group\">\n <input name=\"q\"\n type=\"text\"\n role=\"combobox\"\n placeholder=\"Search…\"\n value=\"\"\n autocomplete=\"off\"\n maxlength=\"240\"\n class=\"s-input s-input__search js-search-field wmn1 \"\n aria-label=\"Search\"\n aria-controls=\"top-search\" \n data-controller=\"s-popover\"\n data-action=\"focus->s-popover#show\"\n data-s-popover-placement=\"bottom-start\" />\n <svg aria-hidden=\"true\" class=\"s-input-icon s-input-icon__search svg-icon iconSearch\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0\"/></svg>\n <div class=\"s-popover p0 wmx100 wmn4 sm:wmn-initial js-top-search-popover\" id=\"top-search\" role=\"menu\">\n <div class=\"s-popover--arrow\"></div>\n <div class=\"s-popover--content\">\n <div class=\"js-spinner p24 d-flex ai-center jc-center d-none\">\n <div class=\"s-spinner s-spinner__sm fc-orange-400\">\n <div class=\"v-visible-sr\">Loading…</div>\n </div>\n </div>\n\n <span class=\"v-visible-sr js-screen-reader-info\"></span>\n <div class=\"js-ac-results overflow-y-auto hmx3 d-none\"></div>\n\n <div class=\"js-search-hints\" aria-describedby=\"Tips for searching\"></div>\n </div>\n</div>\n </div>\n </form>\n\t\t\n\n<nav class=\"h100 ml-auto overflow-x-auto pr12\" aria-label=\"Topbar\">\n <ol class=\"s-topbar--content\">\n \n \n \n <li class=\"js-topbar-dialog-corral\">\n \n\n <div class=\"topbar-dialog siteSwitcher-dialog dno\" role=\"menu\">\n <div class=\"header fw-wrap\">\n <h3 class=\"flex--item\">\n <a href=\"https://stackoverflow.com\">current community</a>\n </h3>\n <div class=\"flex--item fl1\">\n <div class=\"ai-center d-flex jc-end\">\n <button\n class=\"js-close-button s-btn s-btn__muted p0 ml8 d-none sm:d-block\"\n type=\"button\"\n aria-label=\"Close\"\n >\n <svg aria-hidden=\"true\" class=\"svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"/></svg>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-content bg-blue-200 current-site-container\">\n <ul class=\"current-site\">\n <li class=\"d-flex\">\n <div class=\"fl1\">\n <a href=\"https://stackoverflow.com\" \n class=\"current-site-link d-flex gx8 site-link js-gps-track\"\n data-id=\"1\"\n data-gps-track=\"site_switcher.click({ item_type:3 })\">\n <div class=\"favicon favicon-stackoverflow site-icon flex--item\" title=\"Stack Overflow\"></div>\n <span class=\"flex--item fl1\">\n Stack Overflow\n </span>\n </a>\n\n </div>\n <div class=\"related-links\">\n <a href=\"https://stackoverflow.com/help\" class=\"js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:14 })\">help</a>\n <a href=\"https://chat.stackoverflow.com/?tab=explore\" class=\"js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:6 })\">chat</a>\n </div>\n\n </li>\n <li class=\"related-site d-flex\">\n <div class=\"L-shaped-icon-container\">\n <span class=\"L-shaped-icon\"></span>\n </div>\n\n <a href=\"https://meta.stackoverflow.com\" \n class=\"s-block-link px16 d-flex gx8 site-link js-gps-track\"\n data-id=\"552\"\n data-gps-track=\"site.switch({ target_site:552, item_type:3 }),site_switcher.click({ item_type:4 })\">\n <div class=\"favicon favicon-stackoverflowmeta site-icon flex--item\" title=\"Meta Stack Overflow\"></div>\n <span class=\"flex--item fl1\">\n Meta Stack Overflow\n </span>\n </a>\n\n </li>\n </ul>\n </div>\n\n <div class=\"header\" id=\"your-communities-header\">\n <h3>\nyour communities </h3>\n\n </div>\n <div class=\"modal-content\" id=\"your-communities-section\">\n\n <div class=\"call-to-login\">\n<a href=\"https://stackoverflow.com/users/signup?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"login-link js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:10 })\">Sign up</a> or <a href=\"https://stackoverflow.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"login-link js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:11 })\">log in</a> to customize your list. </div>\n </div>\n\n <div class=\"header\">\n <h3><a href=\"https://stackexchange.com/sites\">more stack exchange communities</a>\n </h3>\n <a href=\"https://stackoverflow.blog\" class=\"float-right\">company blog</a>\n </div>\n <div class=\"modal-content\">\n <div class=\"child-content\"></div>\n </div> \n </div>\n\n </li>\n \n <li><button class=\"s-topbar--item s-btn s-btn__icon s-btn__muted d-none sm:d-inline-flex js-searchbar-trigger\" aria-label=\"Search\" aria-haspopup=\"true\" aria-controls=\"search\" title=\"Click to show search\"><svg aria-hidden=\"true\" class=\"svg-icon iconSearch\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0\"/></svg></button></li>\n <li>\n <a href=\"https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"s-topbar--item s-topbar--item__unset s-btn s-btn__outlined ws-nowrap js-gps-track\" rel=\"nofollow\"\n data-gps-track=\"login.click\" data-ga=\"["top navigation","login button click",null,null,null]\">Log in</a>\n </li>\n <li><a href=\"https://stackoverflow.com/users/signup?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"s-topbar--item s-topbar--item__unset ml4 s-btn s-btn__filled ws-nowrap js-signup-button js-gps-track\" rel=\"nofollow\" data-gps-track=\"signup.topbar.click\" data-ga=\"["sign up","Sign Up Navigation","Header",null,null]\">Sign up</a></li>\n </ol>\n</nav>\n\n\n\t</div>\n</header>\n\n\t<script>\n\t\tStackExchange.ready(function () { StackExchange.topbar.init(); });\n\t\tStackExchange.scrollPadding.setPaddingTop(50, 10); \n\t</script>\n\n\n\n\n\n <div class=\"container\">\n <script defer src=\"https://stackoverflow.com/Content/Js/sprinkles/left-nav-events.en.js?v=2ac13fd60bf6\"></script> \n\n\n <div id=\"homepage-wizard-container\"></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/homepage-wizard/index.mod\">{\"ContainerElementId\":\"homepage-wizard-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"Tags\":[\"javascript\",\"python\",\"java\",\"c#\",\"php\",\"android\",\"html\",\"jquery\",\"c++\",\"css\",\"ios\",\"sql\",\"mysql\",\"r\",\"reactjs\",\"node.js\",\"arrays\",\"c\",\"asp.net\",\"json\",\"python-3.x\",\".net\",\"ruby-on-rails\",\"sql-server\",\"swift\",\"django\",\"angular\",\"objective-c\",\"excel\",\"pandas\",\"angularjs\",\"regex\",\"typescript\",\"ruby\",\"linux\",\"ajax\",\"iphone\",\"vba\",\"xml\",\"laravel\",\"spring\",\"asp.net-mvc\",\"database\",\"wordpress\",\"string\",\"flutter\",\"postgresql\",\"mongodb\",\"wpf\",\"windows\",\"xcode\",\"amazon-web-services\",\"bash\",\"git\",\"oracle-database\",\"spring-boot\",\"dataframe\",\"azure\",\"firebase\",\"list\",\"multithreading\",\"docker\",\"vb.net\",\"react-native\",\"eclipse\",\"algorithm\",\"powershell\",\"macos\",\"visual-studio\",\"numpy\",\"image\",\"forms\",\"scala\",\"function\",\"vue.js\",\"performance\",\"twitter-bootstrap\",\"selenium\",\"winforms\",\"kotlin\",\"loops\",\"dart\",\"express\",\"sqlite\",\"hibernate\",\"matlab\",\"python-2.7\",\"shell\",\"rest\",\"apache\",\"entity-framework\",\"android-studio\",\"csv\",\"maven\",\"linq\",\"qt\",\"dictionary\",\"unit-testing\",\"asp.net-core\",\"facebook\",\"apache-spark\",\"tensorflow\",\"file\",\"swing\",\"class\",\"unity-game-engine\",\"sorting\",\"date\",\"authentication\",\"go\",\"symfony\",\"t-sql\",\"opencv\",\"matplotlib\",\".htaccess\",\"google-chrome\",\"for-loop\",\"datetime\",\"codeigniter\",\"perl\",\"http\",\"validation\",\"sockets\",\"google-maps\",\"object\",\"uitableview\",\"xaml\",\"oop\",\"visual-studio-code\",\"if-statement\",\"cordova\",\"ubuntu\",\"web-services\",\"email\",\"android-layout\",\"github\",\"spring-mvc\",\"elasticsearch\",\"kubernetes\",\"selenium-webdriver\",\"ms-access\",\"ggplot2\",\"user-interface\",\"parsing\",\"pointers\",\"google-sheets\",\"c++11\",\"security\",\"machine-learning\",\"google-apps-script\",\"ruby-on-rails-3\",\"templates\",\"flask\",\"nginx\",\"variables\",\"exception\",\"sql-server-2008\",\"gradle\",\"debugging\",\"tkinter\",\"delphi\",\"listview\",\"jpa\",\"asynchronous\",\"haskell\",\"web-scraping\",\"jsp\",\"pdf\",\"ssl\",\"amazon-s3\",\"google-cloud-platform\",\"xamarin\",\"testing\",\"jenkins\",\"wcf\",\"batch-file\",\"generics\",\"npm\",\"ionic-framework\",\"network-programming\",\"unix\",\"recursion\",\"google-app-engine\",\"mongoose\",\"visual-studio-2010\",\".net-core\",\"android-fragments\",\"assembly\",\"animation\",\"math\",\"rust\",\"svg\",\"session\",\"intellij-idea\",\"hadoop\",\"join\",\"winapi\",\"curl\",\"django-models\",\"laravel-5\",\"next.js\",\"url\",\"heroku\",\"http-redirect\",\"tomcat\",\"inheritance\",\"google-cloud-firestore\",\"webpack\",\"gcc\",\"swiftui\",\"image-processing\",\"keras\",\"asp.net-mvc-4\",\"logging\",\"dom\",\"matrix\",\"pyspark\",\"actionscript-3\",\"button\",\"post\",\"optimization\",\"firebase-realtime-database\",\"cocoa\",\"jquery-ui\",\"xpath\",\"iis\",\"web\",\"d3.js\",\"javafx\",\"firefox\",\"xslt\",\"internet-explorer\",\"caching\",\"select\",\"asp.net-mvc-3\",\"opengl\",\"events\",\"asp.net-web-api\",\"plot\",\"dplyr\",\"encryption\",\"magento\",\"stored-procedures\",\"search\",\"amazon-ec2\",\"ruby-on-rails-4\",\"memory\",\"multidimensional-array\",\"canvas\",\"audio\",\"random\",\"jsf\",\"vector\",\"redux\",\"cookies\",\"input\",\"facebook-graph-api\",\"flash\",\"indexing\",\"xamarin.forms\",\"arraylist\",\"ipad\",\"cocoa-touch\",\"data-structures\",\"video\",\"model-view-controller\",\"azure-devops\",\"serialization\",\"apache-kafka\",\"jdbc\",\"razor\",\"awk\",\"woocommerce\",\"routes\",\"servlets\",\"mod-rewrite\",\"excel-formula\",\"beautifulsoup\",\"filter\",\"iframe\",\"docker-compose\",\"design-patterns\",\"aws-lambda\",\"text\",\"visual-c++\",\"django-rest-framework\",\"cakephp\",\"mobile\",\"android-intent\",\"struct\",\"react-hooks\",\"methods\",\"groovy\",\"mvvm\",\"lambda\",\"ssh\",\"time\",\"checkbox\",\"ecmascript-6\",\"grails\",\"installation\",\"google-chrome-extension\",\"cmake\",\"sharepoint\",\"shiny\",\"spring-security\",\"jakarta-ee\",\"plsql\",\"android-recyclerview\",\"core-data\",\"types\",\"sed\",\"meteor\",\"android-activity\",\"bootstrap-4\",\"activerecord\",\"websocket\",\"replace\",\"graph\",\"group-by\",\"scikit-learn\",\"vim\",\"file-upload\",\"boost\",\"junit\",\"memory-management\",\"sass\",\"async-await\",\"import\",\"deep-learning\",\"error-handling\",\"eloquent\",\"dynamic\",\"dependency-injection\",\"silverlight\",\"soap\",\"layout\",\"apache-spark-sql\",\"charts\",\"deployment\",\"browser\",\"gridview\",\"svn\",\"while-loop\",\"google-bigquery\",\"vuejs2\",\"highcharts\",\"dll\",\"ffmpeg\",\"view\",\"foreach\",\"makefile\",\"plugins\",\"redis\",\"c#-4.0\",\"reporting-services\",\"jupyter-notebook\",\"unicode\",\"merge\",\"reflection\",\"https\",\"server\",\"google-maps-api-3\",\"twitter\",\"oauth-2.0\",\"extjs\",\"terminal\",\"pip\",\"axios\",\"split\",\"cmd\",\"encoding\",\"pytorch\",\"django-views\",\"collections\",\"database-design\",\"hash\",\"automation\",\"netbeans\",\"data-binding\",\"ember.js\",\"build\",\"tcp\",\"pdo\",\"apache-flex\",\"sqlalchemy\",\"entity-framework-core\",\"concurrency\",\"command-line\",\"spring-data-jpa\",\"printing\",\"react-redux\",\"java-8\",\"lua\",\"html-table\",\"neo4j\",\"ansible\",\"service\",\"jestjs\",\"enums\",\"parameters\",\"flexbox\",\"module\",\"promise\",\"material-ui\",\"visual-studio-2012\",\"mysqli\",\"outlook\",\"web-applications\",\"uwp\",\"webview\",\"firebase-authentication\",\"jquery-mobile\",\"utf-8\",\"python-requests\",\"datatable\",\"parallel-processing\",\"colors\",\"drop-down-menu\",\"scipy\",\"tfs\",\"scroll\",\"hive\",\"count\",\"syntax\",\"ms-word\",\"twitter-bootstrap-3\",\"ssis\",\"fonts\",\"rxjs\",\"constructor\",\"file-io\",\"google-analytics\",\"paypal\",\"three.js\",\"powerbi\",\"cassandra\",\"graphql\",\"discord\",\"graphics\",\"compiler-errors\",\"gwt\",\"react-router\",\"socket.io\",\"backbone.js\",\"solr\",\"memory-leaks\",\"url-rewriting\",\"datatables\",\"nlp\",\"terraform\",\"oauth\",\"datagridview\",\"drupal\",\"zend-framework\",\"oracle11g\",\"knockout.js\",\"triggers\",\"interface\",\"neural-network\",\"django-forms\",\"casting\",\"angular-material\",\"jmeter\",\"linked-list\",\"google-api\",\"path\",\"timer\",\"django-templates\",\"arduino\",\"orm\",\"windows-phone-7\",\"directory\",\"proxy\",\"parse-platform\",\"visual-studio-2015\",\"cron\",\"conditional-statements\",\"push-notification\",\"functional-programming\",\"primefaces\",\"pagination\",\"model\",\"jar\",\"xamarin.android\",\"hyperlink\",\"uiview\",\"visual-studio-2013\",\"vbscript\",\"google-cloud-functions\",\"azure-active-directory\",\"gitlab\",\"jwt\",\"download\",\"swift3\",\"sql-server-2005\",\"rspec\",\"pygame\",\"process\",\"configuration\",\"properties\",\"callback\",\"combobox\",\"windows-phone-8\",\"linux-kernel\",\"safari\",\"scrapy\",\"emacs\",\"permissions\",\"x86\",\"clojure\",\"scripting\",\"raspberry-pi\",\"io\",\"scope\",\"azure-functions\",\"compilation\",\"responsive-design\",\"mongodb-query\",\"nhibernate\",\"expo\",\"angularjs-directive\",\"reference\",\"binding\",\"bluetooth\",\"architecture\",\"request\",\"dns\",\"playframework\",\"3d\",\"pyqt\",\"version-control\",\"discord.js\",\"doctrine-orm\",\"package\",\"f#\",\"rubygems\",\"get\",\"sql-server-2012\",\"autocomplete\",\"tree\",\"datepicker\",\"openssl\",\"kendo-ui\",\"jackson\",\"yii\",\"controller\",\"grep\",\"nested\",\"xamarin.ios\",\"static\",\"null\",\"transactions\",\"statistics\",\"datagrid\",\"active-directory\",\"uiviewcontroller\",\"dockerfile\",\"webforms\",\"sas\",\"computer-vision\",\"discord.py\",\"phpmyadmin\",\"notifications\",\"duplicates\",\"pycharm\",\"mocking\",\"youtube\",\"nullpointerexception\",\"yaml\",\"menu\",\"blazor\",\"sum\",\"plotly\",\"bitmap\",\"visual-studio-2008\",\"asp.net-mvc-5\",\"floating-point\",\"yii2\",\"css-selectors\",\"stl\",\"android-listview\",\"electron\",\"jsf-2\",\"time-series\",\"cryptography\",\"ant\",\"hashmap\",\"character-encoding\",\"msbuild\",\"stream\",\"asp.net-core-mvc\",\"sdk\",\"google-drive-api\",\"selenium-chromedriver\",\"jboss\",\"joomla\",\"devise\",\"cuda\",\"navigation\",\"cors\",\"frontend\",\"anaconda\",\"background\",\"multiprocessing\",\"binary\",\"pyqt5\",\"camera\",\"iterator\",\"linq-to-sql\",\"mariadb\",\"onclick\",\"ios7\",\"android-jetpack-compose\",\"microsoft-graph-api\",\"android-asynctask\",\"rabbitmq\",\"tabs\",\"amazon-dynamodb\",\"environment-variables\",\"laravel-4\",\"uicollectionview\",\"insert\",\"linker\",\"coldfusion\",\"xsd\",\"console\",\"continuous-integration\",\"upload\",\"textview\",\"ftp\",\"opengl-es\",\"macros\",\"operating-system\",\"mockito\",\"localization\",\"formatting\",\"json.net\",\"xml-parsing\",\"type-conversion\",\"vuejs3\",\"data.table\",\"kivy\",\"timestamp\",\"integer\",\"calendar\",\"segmentation-fault\",\"android-ndk\",\"prolog\",\"char\",\"drag-and-drop\",\"crash\",\"jasmine\",\"azure-pipelines\",\"dependencies\",\"automated-tests\",\"geometry\",\"fortran\",\"android-gradle-plugin\",\"itext\",\"sprite-kit\",\"mfc\",\"header\",\"attributes\",\"nosql\",\"firebase-cloud-messaging\",\"format\",\"nuxt.js\",\"db2\",\"odoo\",\"jquery-plugins\",\"event-handling\",\"julia\",\"jenkins-pipeline\",\"leaflet\",\"annotations\",\"flutter-layout\",\"keyboard\",\"nestjs\",\"postman\",\"arm\",\"textbox\",\"stripe-payments\",\"visual-studio-2017\",\"gulp\",\"libgdx\",\"uikit\",\"timezone\",\"synchronization\",\"azure-web-app-service\",\"dom-events\",\"wso2\",\"google-sheets-formula\",\"xampp\",\"crystal-reports\",\"aggregation-framework\",\"namespaces\",\"android-emulator\",\"uiscrollview\",\"swagger\",\"jvm\",\"sequelize.js\",\"chart.js\",\"com\",\"snowflake-cloud-data-platform\",\"subprocess\",\"html5-canvas\",\"geolocation\",\"garbage-collection\",\"webdriver\",\"sql-update\",\"dialog\",\"centos\",\"concatenation\",\"numbers\",\"widget\",\"qml\",\"tuples\",\"set\",\"java-stream\",\"mapreduce\",\"ionic2\",\"smtp\",\"android-edittext\",\"windows-10\",\"nuget\",\"rotation\",\"spring-data\",\"modal-dialog\",\"radio-button\",\"doctrine\",\"http-headers\",\"grid\",\"lucene\",\"sonarqube\",\"xmlhttprequest\",\"listbox\",\"initialization\",\"switch-statement\",\"internationalization\",\"boolean\",\"components\",\"apache-camel\",\"google-play\",\"gdb\",\"serial-port\",\"ios5\",\"return\",\"ldap\",\"youtube-api\",\"pivot\",\"eclipse-plugin\",\"latex\",\"frameworks\",\"tags\",\"containers\",\"c++17\",\"subquery\",\"github-actions\",\"embedded\",\"dataset\",\"foreign-keys\",\"asp-classic\",\"label\",\"uinavigationcontroller\",\"delegates\",\"copy\",\"google-cloud-storage\",\"struts2\",\"migration\",\"protractor\",\"base64\",\"uibutton\",\"queue\",\"find\",\"sql-server-2008-r2\",\"arguments\",\"composer-php\",\"append\",\"jaxb\",\"stack\",\"tailwind-css\",\"zip\",\"cucumber\",\"autolayout\",\"ide\",\"entity-framework-6\",\"iteration\",\"popup\",\"r-markdown\",\"windows-7\",\"vb6\",\"clang\",\"g++\",\"airflow\",\"hover\",\"ssl-certificate\",\"jqgrid\",\"range\",\"gmail\"],\"TriggerEvent\":\"homepageWizardShow\",\"OauthInPopup\":true,\"ReturnUrl\":\"https://stackoverflow.com\",\"ReturnUrlForPopup\":\"https://stackoverflow.com/users/after-signup/oauth-only\",\"ThemePreferenceFlags\":0,\"IsSignupProductEventsEnabled\":false}</script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte-labs.en.js?v=bc7112df14a4\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1130.en.js?v=8bb363934465\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/6457.en.js?v=341577cbad05\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1383.en.js?v=fb8605a674b1\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2458.en.js?v=33cc3da05f78\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2269.en.js?v=17778cad1acb\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9001.en.js?v=3a153d433746\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/homepage-wizard.en.js?v=ef8541a769fe\"></script>\n<div id=\"left-sidebar\" data-is-here-when=\"md lg\" class=\"left-sidebar js-pinned-left-sidebar ps-relative\">\n <div class=\"left-sidebar--sticky-container js-sticky-leftnav\">\n <nav aria-label=\"Primary\">\n <ol class=\"nav-links\">\n <li>\n <ol class=\"nav-links\">\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a\n href=\"/\"\n class=\"s-block-link pl8 js-homepage-wizard-link js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:8, has_activity_notification:False});home_nav.click({location:2})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconHome\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 10v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5H0l9-9 9 9zm-8 1v6h4v-6z\"/></svg> <span class=\"-link--channel-name pl8\">Home</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative youarehere\" aria-current=\"true\">\n\n\n <a id=\"nav-questions\"\n href=\"/questions\"\n class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: true, location:2, destination:1, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconQuestion\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m4 15-3 3V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v9c0 1.09-.91 2-2 2zm7.75-3.97c.72-.83.98-1.86.98-2.94 0-1.65-.7-3.22-2.3-3.83a4.4 4.4 0 0 0-3.02 0 3.8 3.8 0 0 0-2.32 3.83q0 1.93 1.03 3a3.8 3.8 0 0 0 2.85 1.07q.94 0 1.71-.34.97.66 1.06.7.34.2.7.3l.59-1.13a5 5 0 0 1-1.28-.66m-1.27-.9a5 5 0 0 0-1.5-.8l-.45.9q.5.18.98.5-.3.1-.65.11-.92 0-1.52-.68c-.86-1-.86-3.12 0-4.11.8-.9 2.35-.9 3.15 0 .9 1.01.86 3.03-.01 4.08\"/></svg> <span class=\"-link--channel-name pl8\">Questions</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-askstack\"\n href=\"https://stackoverflow.com/ai-assist\"\n class=\"s-block-link h32 pl8 ai-center js-disable-askstack-new-link js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:33, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<div class=\"d-flex ai-center mln8 mrn8 myn8 bg-purple-400 baw3 bas-solid bc-purple-200 bar-circle fc-white p4\"><svg aria-hidden=\"true\" class=\"fc-white bg-transparent h18 w18 svg-icon iconAnswerAI\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 1a2 2 0 0 1 2 2v14l-3-3H3c-1.09 0-2-.91-2-2V3c0-1.09.91-2 2-2zM8.2 4.13a.2.2 0 0 0-.37 0l-.57 1.31a3.5 3.5 0 0 1-1.82 1.82l-1.3.57a.2.2 0 0 0 0 .36l1.3.57c.82.35 1.47 1 1.82 1.82l.57 1.3c.07.17.3.17.36 0l.57-1.3a3.5 3.5 0 0 1 1.82-1.82l1.3-.57a.2.2 0 0 0 0-.36l-1.3-.57a3.5 3.5 0 0 1-1.82-1.82zm4.9-1.07a.1.1 0 0 0-.2 0l-.28.66c-.17.4-.5.73-.9.9l-.66.29a.1.1 0 0 0 0 .18l.66.29c.4.17.73.5.9.9l.29.66a.1.1 0 0 0 .18 0l.29-.66c.17-.4.5-.73.9-.9l.66-.29a.1.1 0 0 0 0-.18l-.66-.29c-.4-.17-.73-.5-.9-.9z\"/></svg></div> <span class=\"-link--channel-name pl8\">AI Assist</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n <script>\n $('.js-disable-askstack-new-link').on(\"click\", function(e) {\n StackExchange.helpers.toggleAccountPreferenceFlags(4194304, true);\n return true;\n });\n </script>\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a\n href=\"/tags\"\n class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:2, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconTags\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M9.24 1a3 3 0 0 0-2.12.88l-5.7 5.7a2 2 0 0 0-.38 2.31 3 3 0 0 1 .67-1.01l6-6A3 3 0 0 1 9.83 2H14a3 3 0 0 1 .79.1A2 2 0 0 0 13 1z\" opacity=\".4\"/><path d=\"M9.83 3a2 2 0 0 0-1.42.59l-6 6a2 2 0 0 0 0 2.82L6.6 16.6a2 2 0 0 0 2.82 0l6-6A2 2 0 0 0 16 9.17V5a2 2 0 0 0-2-2zM12 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4\"/></svg> <span class=\"-link--channel-name pl8\">Tags</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n <li class=\"pb24\"></li>\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-challenges\"\n href=\"/beta/challenges\"\n class=\"s-block-link h32 pl8 ai-center js-disable-challenges-new-link js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:32, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconPeak\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M10.5 3.5 8 7.25l2 2.25L8.5 11l-3-3.5L1 14h16z\"/></svg> <span class=\"-link--channel-name pl8\">Challenges</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n <script>\n $('.js-disable-challenges-new-link').on(\"click\", function(e) {\n StackExchange.helpers.toggleAccountPreferenceFlags(1048576, true);\n return true;\n });\n </script>\n\n\n\n\n <li class=\"ps-relative\">\n <a id=\"nav-chat\"\n href=https://chat.stackoverflow.com/?tab=explore\n class=\"s-block-link pl8 ai-center js-disable-chat-new-link js-ch-popover-controller js-gps-track nav-links--link -link__with-icon\"\n aria-expanded=\"true\"\n aria-current=\"false\"\n data-gps-track=\"chat.click({ is_registered:false, rep_bucket:'new', origin:'Stack Overflow' })\"\n data-controller=\" \"\n >\n <div class=\"d-flex ai-center\">\n <div class=\"d-flex ai-center mln8 mrn8 myn8 bg-purple-400 baw3 bas-solid bc-purple-200 bar-circle fc-white p4\"><svg aria-hidden=\"true\" class=\"fc-white bg-transparent svg-icon iconChatTest\" width=\"18\" height=\"18\" viewBox=\"0 0 18 16\"><path d=\"M17 3C17 1.89543 16.1046 1 15 1H7C5.89543 1 5 1.89543 5 3V5C5 6.10457 5.89543 7 7 7H15C16.1046 7 17 6.10457 17 5V3ZM7 3H15V5H7V3Z\" /><path d=\"M17 10C17 8.89543 16.1046 8 15 8H7C5.89543 8 5 8.89543 5 10V14C5 15.1046 5.89543 16 7 16H15C16.1046 16 17 15.1046 17 14V10ZM7 10H15V14H7V10Z\" /><path d=\"M1 9C1 8.44771 1.44772 8 2 8H3C3.55228 8 4 8.44772 4 9V10C4 10.5523 3.55228 11 3 11H2C1.44772 11 1 10.5523 1 10V9Z\" /><path d=\"M2 1C1.44772 1 1 1.44772 1 2V3C1 3.55228 1.44772 4 2 4H3C3.55228 4 4 3.55228 4 3V2C4 1.44772 3.55228 1 3 1H2Z\" /></svg></div>\n </div>\n <span class=\"-link--channel-name pl8\">Chat</span>\n </a>\n </li>\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-articles\"\n href=\"https://stackoverflow.blog/contributed?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=so-blog&utm_content=experiment-articles\"\n class=\"s-block-link h32 pl8 js-disable-articles-new-link js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:13, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconDocumentAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M5 3a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h7a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm2 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-2 4.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5m.5 1.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1 0-1M5 14.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5\"/><path d=\"M5.9 2h6.35A2.75 2.75 0 0 1 15 4.75v9.35c.62-.6 1-1.43 1-2.35v-7.5C16 2.45 14.54 1 12.75 1h-4.5c-.92 0-1.75.38-2.35 1\" opacity=\".4\"/></svg> <span class=\"-link--channel-name pl8\">Articles</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-users\"\n href=\"/users\"\n class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:3, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconPeople\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M17 14c0 .44-.45 1-1 1H9a1 1 0 0 1-1-1H2c-.54 0-1-.56-1-1 0-2.63 3-4 3-4s.23-.4 0-1c-.84-.62-1.06-.59-1-3s1.37-3 2.5-3 2.44.58 2.5 3-.16 2.38-1 3c-.23.59 0 1 0 1s1.55.71 2.42 2.09c.78-.72 1.58-1.1 1.58-1.1s.23-.4 0-1c-.84-.61-1.06-.58-1-3s1.37-3 2.5-3 2.44.59 2.5 3c.05 2.42-.16 2.39-1 3-.23.6 0 1 0 1s3 1.38 3 4\"/></svg> <span class=\"-link--channel-name pl8\">Users</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n <li class=\"pb24\"></li>\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-labs-jobs\"\n href=\"/jobs?source=so-left-nav\"\n class=\"s-block-link pl8 ai-center js-disable-jobs-new-link js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:27, has_activity_notification:False});jobs.click({destination:JobbioLink, is_registered:False, rep_bucket:new, origin:Stack Overflow})\"\n aria-controls=\" \"\n data-controller=\" jobs-retargeting \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n\n data-action=\"jobs-retargeting#click\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconBriefcase\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M5 4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v1h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h1zm7 0H6v1h6z\"/></svg> <span class=\"-link--channel-name pl8\">Jobs</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-companies\"\n href=\"https://stackoverflow.com/jobs/companies?so_medium=stackoverflow&so_source=SiteNav\"\n class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\"\n \n data-gps-track=\"top_nav.click({is_current: false, location:2, destination:12, has_activity_notification:False})\"\n aria-controls=\" \"\n data-controller=\" \"\n data-s-popover-placement=\"right\"\n data-left-nav-events-navigation-destination-value=\"\"\n data-left-nav-events-navigation-location-value=\"\"\n data-left-nav-events-navigation-activity-notification-value=\"\"\n data-action=\"\"\n aria-current=\"false\"\n data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\"\n >\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconIndustry\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M10 16v-4H8v4H2V4c0-1.1.9-2 2-2h6c1.09 0 2 .91 2 2v2h2c1.09 0 2 .91 2 2v8zM4 4v2h2V4zm0 4v2h2V8zm4-4v2h2V4zm0 4v2h2V8zm-4 4v2h2v-2zm8 0v2h2v-2zm0-4v2h2V8z\"/></svg> <span class=\"-link--channel-name pl8\">Companies</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n <li class=\"ml8 mt32 mb4\">\n <div class=\"d-flex jc-space-between ai-center\">\n <a\n class=\"s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine\"\n href=\"javascript:void(0)\"\n role=\"button\"\n aria-controls=\"popover-discover-collectives\"\n data-controller=\"s-popover\"\n data-action=\"s-popover#toggle\"\n data-s-popover-placement=\"top\"\n data-s-popover-toggle-class=\"is-selected\"\n data-gps-track=\"top_nav.click({is_current:false, location:2, destination:17})\"\n >\n <div class=\"flex--item fl-grow1 tt-uppercase fc-black-600 fw-bold\">Collectives</div>\n <div class=\"flex--item px12 js-collectives-navcta-toggle\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconPlusSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M8 2H6v4H2v2h4v4h2V8h4V6H8z\"/></svg>\n </div>\n </a>\n </div>\n\n </li>\n <li class=\"ps-relative js-collectives-navcta-toggle\">\n <p class=\"fs-fine pr8 pl8 pt4 fc-black-400\">\n Communities for your favorite technologies. <a href=\"/collectives-all\" class=\"s-link s-link__grayscale s-link__underlined fw-bold\">Explore all Collectives</a>\n </p>\n </li>\n </ol>\n </li>\n\n \n\n \n\n<li class=\"js-freemium-cta ps-relative mt32 mb8\">\n\n\n <div class=\"fs-fine tt-uppercase fc-black-600 fw-bold ml8 mt16 mb8\">Stack Internal</div>\n\n <div class=\"px8 pt12 pb4 mb12 fc-medium overflow-hidden\"> \n <svg aira-hidden=\"true\" class=\"svg-icon d-block w100 h-auto mb12\" height=\"19\" viewBox=\"0 0 140 19\" width=\"140\"><path d=\"m69.5 6.48047-4.667 4.66603-2.333-2.33302v-2.33301l2.333 2.33301 4.667-4.66602z\"/><path d=\"m72.4971 1.14648c.8282.00028 1.5.67274 1.5 1.50098v11.50004l.0029 1.5918-.0039.1162c-.0819 1.1463-1.3924 1.7776-2.3399 1.1269l-.0937-.0693-3.4561-2.7656h-8.5986v-1.4981h-1.5019v-10.00194c0-.77642.5906-1.41508 1.3466-1.49219l.1534-.00879zm-12.9912 11.50102h9.1269l.4102.3291 3.457 2.7656-.0029-1.5918v-11.50294h-12.9912z\"/><path d=\"m90.5 16.647h16.5v1.5h-18v-17.995145h1.5z\"/><path d=\"m97 15.147h-5v-8.00003h5zm-3.5-1.5h2v-5.00003h-2z\"/><path d=\"m102.494 3.64209h1.506v11.50491h-5v-13.00003h3.494zm-1.994 10.00491h2v-10.00003h-2z\"/><path d=\"m34.9473 6.76648-1.3789 1.38769-1.378-1.38769 1.378-1.3877z\"/><path d=\"m35.2119 1.11023c.4614.00007.9048.18196 1.2324.50684l7.1387 7.08007-1.0605 1.06153 1.0615 1.06053-5.5957 5.6836c-.6762.6868-1.7803.6979-2.4697.0244l-6.9913-6.83201c-.3369-.32927-.5273-.78082-.5273-1.25195v-5.78711c0-.85366.6922-1.5459 1.5459-1.5459zm-5.666 1.5c-.0252 0-.0459.02067-.0459.0459v5.78711c0 .06722.0272.13168.0752.17871l6.9922 6.83205c.0985.096.256.095.3525-.003l5.6035-5.69331-7.1357-7.07519c-.0467-.04625-.11-.0722-.1758-.07227z\"/><path d=\"m11.9995 6.24072v9.23828c-.0003.8629-.6558 1.5736-1.4961 1.6592l-.1709.0088h-8.80473v-1.5h8.80473c.0921-.0002.1667-.0759.167-.168v-9.33203h-3.64263v-3.5h-5.19043c-.09187.00032-.1666.07514-.16699.16699v12.83304h-1.49999932v-12.83304c.00039166-.92028.74669232-1.66667 1.66698932-1.66699h5.33008z\"/><path d=\"m9.21039 13.647h-6.20996v-1.5h6.20996z\"/><path d=\"m9.21039 10.647h-6.20996v-1.50003h6.20996z\"/><path d=\"m5.21625 7.64697h-2.21582v-1.5h2.21582z\"/><path d=\"m124.417 1.22765c1.305-1.3049487 3.422-1.3050445 4.728 0 .739.73976 1.059 1.74043.96 2.70605.966-.09884 1.967.22211 2.707.96191 1.305 1.30543 1.306 3.42196 0 4.72754l-6.668 6.66895 1.332 1.332c.292.2928.292.7677 0 1.0606-.293.2927-.768.2928-1.061 0l-1.509-1.5088c-.488-.4881-.488-1.2794 0-1.7676l6.846-6.84569c.719-.7198.718-1.88681-.001-2.60645-.72-.71944-1.887-.71944-2.606 0l-5.52 5.51954c-.293.2927-.768.2928-1.061 0-.292-.2928-.292-.7676 0-1.0606l5.52-5.51949c.719-.71968.719-1.8867 0-2.60644-.72-.71944-1.887-.71944-2.606 0l-7.198 7.19726c-.293.29274-.767.29262-1.06 0-.293-.29287-.293-.76764 0-1.06054z\"/><path d=\"m126.277 3.088c.293-.29232.768-.29236 1.061 0 .293.29274.292.76761 0 1.06054l-5.44 5.43946c-.704.705-.703 1.8489.001 2.5537.705.7043 1.848.7045 2.553 0l5.439-5.43945c.293-.29255.768-.29278 1.061 0 .292.29278.292.76776 0 1.06055l-5.439 5.4395c-1.291 1.2902-3.383 1.2901-4.674 0-1.291-1.2907-1.292-3.3841-.001-4.67485z\"/></svg>\n \n <p class=\"fs-fine\">\n Stack Overflow for Teams is now called <strong>Stack Internal</strong>. Bring the best of human thought and AI automation together at your work.\n </p>\n <a href=\"https://stackoverflowteams.com/teams/create/free/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams\"\n class=\"w100 s-btn s-btn__filled s-btn__xs js-gps-track pt8 pr7 pb6 pl7\"\n data-gps-track=\"teams.create.left-sidenav.click({ Action: 6 })\"\n data-ga=\"["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams/create/free",null,null]\">Try for free</a>\n <a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams\"\n class=\"w100 s-btn s-btn__muted s-btn__xs mt1 js-gps-track\"\n data-gps-track=\"teams.create.left-sidenav.click({ Action: 5 })\"\n data-ga=\"["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams",null,null]\">Learn more</a>\n </div>\n</li>\n\n\n <li class=\"d-flex ai-center jc-space-between ml8 mt32 mb8 js-create-team-cta d-none\">\n\n <a href=\"javascript:void(0)\"\n class=\"s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine js-gps-track\"\n role=\"button\"\n aria-controls=\"popover-teams-create-cta\"\n data-controller=\"s-popover\"\n data-action=\"s-popover#toggle\"\n data-s-popover-placement=\"bottom-start\"\n data-s-popover-toggle-class=\"is-selected\"\n data-gps-track=\"teams.create.left-sidenav.click({ Action: ShowInfo })\"\n data-ga=\"["teams left navigation - anonymous","left nav show teams info",null,null,null]\"\n >\n <div class=\"flex--item fl-grow1 fc-black-600 fw-bold tt-uppercase\">Stack Internal</div>\n <div class=\"flex--item px12\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconPlusSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M8 2H6v4H2v2h4v4h2V8h4V6H8z\"/></svg>\n </div>\n </a>\n </li>\n <li class=\"ps-relative js-create-team-cta d-none\">\n <p class=\"fs-fine pr8 pl8 pb4 fc-black-400\">\n Bring the best of human thought and AI automation together at your work.\n <a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact\" class=\"s-link s-link__grayscale s-link__underlined fw-bold\">Learn more</a>\n </p>\n </li> \n\n </ol>\n </nav>\n </div>\n\n\n <div class=\"s-popover ws2\" id=\"popover-discover-collectives\" role=\"menu\">\n <div class=\"s-popover--arrow\"></div>\n <div>\n <svg aria-hidden=\"true\" class=\"fc-orange-400 float-right ml24 svg-spot spotCollective\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\"><path d=\"M25.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M14 18.25c0-.69.56-1.25 1.25-1.25h22.5c.69 0 1.25.56 1.25 1.25V37.5a1 1 0 0 1-1.6.8l-4.07-3.05a1.3 1.3 0 0 0-.75-.25H15.25c-.69 0-1.25-.56-1.25-1.25zM7 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0M25.5 48a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M48 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0\" opacity=\".2\"/><path d=\"M21 3.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M24.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M0 23.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M3.5 22a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M21 44.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0m3.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m20-23a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7M43 23.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0m-23.23-3.14a1 1 0 0 1-.13 1.4l-2.08 1.74 2.08 1.73a1 1 0 1 1-1.28 1.54l-2.42-2.02a1.63 1.63 0 0 1 0-2.5l2.42-2.02a1 1 0 0 1 1.4.13m7.6 1.41a1 1 0 1 1 1.28-1.54l2.42 2.02c.78.65.78 1.85 0 2.5l-2.42 2.02a1 1 0 1 1-1.28-1.54l2.08-1.73zM24.12 18a1 1 0 0 1 .87 1.12l-1 8a1 1 0 1 1-1.98-.24l1-8a1 1 0 0 1 1.11-.87M12.25 13C11.01 13 10 14 10 15.25v15.5c0 1.24 1 2.25 2.25 2.25h17.33q.09 0 .15.05l4.07 3.05a2 2 0 0 0 3.2-1.6V15.25c0-1.24-1-2.25-2.25-2.25zM12 15.25q.02-.23.25-.25h22.5q.23.02.25.25V34.5l-4.07-3.05q-.6-.45-1.35-.45H12.25a.25.25 0 0 1-.25-.25zm7.24-10.68a1 1 0 1 0-.48-1.94A22 22 0 0 0 2.91 17.7a1 1 0 1 0 1.92.58 20 20 0 0 1 14.4-13.72m11.06-1.65a1 1 0 0 0-.58 1.92c6.45 1.92 11.54 7 13.46 13.46a1 1 0 1 0 1.92-.58 22 22 0 0 0-14.8-14.8M4.57 28.76a1 1 0 0 0-1.94.48 22 22 0 0 0 16.13 16.13 1 1 0 1 0 .48-1.94A20 20 0 0 1 4.57 28.76m40.8.48a1 1 0 1 0-1.94-.48 20 20 0 0 1-13.72 14.41 1 1 0 0 0 .58 1.92 22 22 0 0 0 15.08-15.85\"/></svg>\n <h5 class=\"pt4 fw-bold\">Collectives\u2122 on Stack Overflow</h5>\n <p class=\"my16 fs-caption fc-black-500\">Find centralized, trusted content and collaborate around the technologies you use most.</p>\n <a href=\"/collectives\"\n class=\"js-gps-track s-btn s-btn__filled s-btn__xs\"\n data-gps-track=\"top_nav.click({is_current:false, location:2, destination:18})\">\n Learn more about Collectives\n </a>\n </div>\n </div>\n\n <div class=\"s-popover ws2\"\n id=\"popover-teams-create-cta\"\n role=\"menu\"\n aria-hidden=\"true\">\n <div class=\"s-popover--arrow\"></div>\n\n <div class=\"ps-relative overflow-hidden\">\n <p class=\"mb2\"><strong>Stack Internal</strong></p>\n <p class=\"mb12 fs-caption fc-black-400\">Knowledge at work</p>\n <p class=\"mb12 fs-caption fc-black-500\">Bring the best of human thought and AI automation together at your work.</p>\n <a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact-popover\"\n class=\"js-gps-track s-btn s-btn__filled s-btn__xs\"\n data-gps-track=\"teams.create.left-sidenav.click({ Action: CtaClick })\"\n data-ga=\"["teams left navigation - anonymous","left nav cta","stackoverflow.com/teams",null,null]\">\n Explore Stack Internal\n </a>\n </div>\n\n <div class=\"ps-absolute t8 r8\">\n <svg aria-hidden=\"true\" class=\"fc-orange-400 svg-spot spotPeople\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\"><path d=\"M13.5 28a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9M7 30a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5h11v-5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H33v5a1 1 0 0 1-1 1H20a1 1 0 0 1-1-1v-5H8a1 1 0 0 1-1-1zm25-6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0M24.5 34a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9\" opacity=\".2\"/><path d=\"M16.4 26.08A6 6 0 1 0 7.53 26C5.64 26.06 4 27.52 4 29.45V40a1 1 0 0 0 1 1h9a1 1 0 1 0 0-2h-4v-7a1 1 0 1 0-2 0v7H6v-9.55c0-.73.67-1.45 1.64-1.45H16a1 1 0 0 0 .4-1.92M12 18a4 4 0 1 1 0 8 4 4 0 0 1 0-8m16.47 14a6 6 0 1 0-8.94 0A3.6 3.6 0 0 0 16 35.5V46a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V35.5c0-1.94-1.64-3.42-3.53-3.5M20 28a4 4 0 1 1 8 0 4 4 0 0 1-8 0m-.3 6h8.6c1 0 1.7.75 1.7 1.5V45h-2v-7a1 1 0 1 0-2 0v7h-4v-7a1 1 0 1 0-2 0v7h-2v-9.5c0-.75.7-1.5 1.7-1.5M42 22c0 1.54-.58 2.94-1.53 4A3.5 3.5 0 0 1 44 29.45V40a1 1 0 0 1-1 1h-9a1 1 0 1 1 0-2h4v-7a1 1 0 1 1 2 0v7h2v-9.55A1.5 1.5 0 0 0 40.48 28H32a1 1 0 0 1-.4-1.92A6 6 0 1 1 42 22m-2 0a4 4 0 1 0-8 0 4 4 0 0 0 8 0\"/><g opacity=\".35\"><path d=\"M17 10a1 1 0 011-1h12a1 1 0 110 2H18a1 1 0 01-1-1m1-5a1 1 0 100 2h12a1 1 0 100-2zM14 1a1 1 0 00-1 1v12a1 1 0 001 1h5.09l4.2 4.2a1 1 0 001.46-.04l3.7-4.16H34a1 1 0 001-1V2a1 1 0 00-1-1zm1 12V3h18v10h-5a1 1 0 00-.75.34l-3.3 3.7-3.74-3.75a1 1 0 00-.71-.29z\"/></g></svg>\n </div>\n </div>\n\n\n\n\n</div>\n\n\n\n <div id=\"content\" class=\"snippet-hidden\">\n\n \n\n\n\n<div itemprop=\"mainEntity\" itemscope itemtype=\"https://schema.org/Question\">\n <link itemprop=\"image\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5\">\n\n <div class=\"inner-content clearfix\">\n \n\n <div id=\"question-header\" class=\"d-flex sm:fd-column\">\n <h1 itemprop=\"name\" class=\"fs-headline1 ow-anywhere mb8 flex--item fl1\"><a href=\"/questions/25806351/export-pagespeed-insights-by-google-results\" class=\"question-hyperlink\">Export PageSpeed Insights (by Google) results</a></h1>\n\n <div class=\"ml12 aside-cta flex--item sm:ml0 sm:mb12 sm:order-first d-flex jc-end\">\n\n <div class=\"ml12 aside-cta flex--item print:d-none\">\n <a href=\"/questions/ask\" class=\"ws-nowrap s-btn s-btn__filled\">\n Ask Question\n </a>\n\n </div>\n </div>\n </div>\n <div class=\"d-flex fw-wrap pb8 mb16 bb bc-black-200\">\n <div class=\"flex--item ws-nowrap mr16 mb8\" title=\"2014-09-12 10:37:19Z\">\n <span class=\"fc-black-400 mr2\">Asked</span>\n <time itemprop=\"dateCreated\"\n datetime=\"2014-09-12 10:37:19Z\">11 years, 6 months ago</time>\n </div>\n <div class=\"flex--item ws-nowrap mr16 mb8\">\n <span class=\"fc-black-400 mr2\">Modified</span>\n <a href=\"?lastactivity\" class=\"s-link s-link__inherit\"\n title=\"2022-11-25 07:24:00Z\">3 years, 3 months ago</a>\n </div>\n <div class=\"flex--item ws-nowrap mb8\"\n title=\"Viewed 19,541 times\">\n <span class=\"fc-black-400 mr2\">Viewed</span>\n 20k times\n </div>\n </div>\n\n\n\n <div id=\"mainbar\" role=\"main\" aria-label=\"question and answers\">\n \n<div class=\"question js-question\" data-questionid=\"25806351\" data-position-on-page=\"0\"\n data-score=\"14\"\n data-author-username=\"Haradzieniec\"\n data-should-show-copy-button=\"True\"\n data-se-share-sheet-license-name=\"CC BY-SA 3.0\"\n data-author-reputation=\"9356\" \n data-is-edited=\"True\"\n data-creation-source=\"native\"\n data-creation-method=\"manual\"\n id=\"question\">\n <style>\n </style>\n<div class=\"js-zone-container zone-container-main\">\n <div id=\"dfp-tlb\" class=\"everyonelovesstackoverflow everyoneloves__top-leaderboard everyoneloves__leaderboard\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 728px\"></div>\n</div>\n\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"25806351\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=\"upvote-btn-25806351\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n title=\"This question shows research effort; it is useful and clear\"\n aria-pressed=\"false\"\n aria-label=\"Up vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:417b2209930ec123,10:1773916049,16:0c9e44f2989e5e57,8:25806351,55200946227a50889c06a8c78dc7b5f9b409dfbc44ec847a8a812553b7b5ec80\" />\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\"\n itemprop=\"upvoteCount\"\n data-value=\"14\">\n14 </div>\n <button\n class=\"js-vote-down-btn js-vote-down-question flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=downvote-btn-25806351\n title=\"This question does not show any research effort; it is unclear or not useful\"\n aria-pressed=\"false\"\n aria-label=\"Down vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:766171ba9b70174c,10:1773916049,16:9b4e5bab12fd576b,8:25806351,87f8b31eb3601dcfa88b132987ad9ea0da44d6bf7fc5cd45462dcfa60abcf593\" />\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\"\n type=\"button\"\n id=\"saves-btn-25806351\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n data-s-popover-placement=\"\"\n title=\"Save this question.\"\n data-is-saved=\"false\"\n aria-label=\"Save\"\n data-post-id=\"25806351\"\n data-post-type-id=\"1\"\n data-user-privilege-for-post-click=\"0\"\n aria-controls=\"\"\n data-s-popover-auto-show=\"false\"\n>\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n</button>\n\n\n\n\n\n\n\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/25806351/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" title=\"Show activity on this post.\" aria-label=\"Timeline\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"/></svg></a>\n\n</div>\n\n </div>\n\n \n<div class=\"postcell post-layout--right\">\n\n \n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n \n<p>Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console. </p>\n </div>\n\n <div class=\"mt24 mb12\">\n <div class=\"post-taglist d-flex gs4 gsy fd-column\">\n <div class=\"d-flex ps-relative fw-wrap\">\n \n <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/google-chrome\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome'\" aria-label=\"show questions tagged 'google-chrome'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/google-chrome-extension\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome-extension'\" aria-label=\"show questions tagged 'google-chrome-extension'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-extension-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome-extension</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/frontend\" class=\"s-tag post-tag\" title=\"show questions tagged 'frontend'\" aria-label=\"show questions tagged 'frontend'\" rel=\"tag\" aria-labelledby=\"tag-frontend-tooltip-container\" data-tag-menu-origin=\"Unknown\">frontend</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/pagespeed\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed'\" aria-label=\"show questions tagged 'pagespeed'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/pagespeed-insights\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed-insights'\" aria-label=\"show questions tagged 'pagespeed-insights'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-insights-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed-insights</a></li></ul>\n </div>\n </div>\n </div>\n\n <div class=\"mb0 \">\n <div class=\"mt16 d-flex gs8 gsy fw-wrap jc-end ai-start pt4 mb16\">\n <div class=\"flex--item mr16 fl1 w96\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"25806351\" data-post-type-id=\"1\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/q/25806351\"\n rel=\"nofollow\"\n itemprop=\"url\"\n class=\"js-share-link js-gps-track\"\n title=\"Short permalink to this question\"\n data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 1 })\"\n data-controller=\"se-share-sheet\"\n data-se-share-sheet-title=\"Share a link to this question\"\n data-se-share-sheet-subtitle=\"\"\n data-se-share-sheet-post-type=\"question\"\n data-se-share-sheet-social=\"facebook twitter devto\"\n data-se-share-sheet-location=\"1\"\n data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f\"\n data-se-share-sheet-license-name=\"CC BY-SA 3.0\"\n data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/25806351/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 1 })\" title=\"\">Improve this question</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\"\n id=\"btnFollowPost-25806351\" class=\"s-btn s-btn__link js-follow-post js-follow-question js-gps-track\"\n data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 1 })\"\n data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\"\n data-s-popover-placement=\"bottom\" aria-controls=\"\"\n title=\"Follow this question to receive notifications\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:2b9c5854ea0ff75e,10:1773916049,16:59bfbd3195e5efc4,8:25806351,5ee5db821b596194794514afccc33008aa77b0a5cab8ff4fdec0c77fc917d816\" />\n </button>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n\n <div class=\"post-signature flex--item\">\n<div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/25806351/revisions\" title=\"show all edits to this post\"\n class=\"js-gps-track\"\n data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 1 })\">edited <span title='2022-01-20 16:10:26Z' class='relativetime'>Jan 20, 2022 at 16:10</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/224132/peter-cordes\"><div class=\"gravatar-wrapper-32\"><img src=\"https://i.sstatic.net/N4ivW.png?s=64\" alt=\"Peter Cordes's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/224132/peter-cordes\" dir=\"auto\">Peter Cordes</a>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score 379,965\" dir=\"ltr\">380k</span><span title=\"53 gold badges\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">53</span></span><span class=\"v-visible-sr\">53 gold badges</span><span title=\"756 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">756</span></span><span class=\"v-visible-sr\">756 silver badges</span><span title=\"1k bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">1k</span></span><span class=\"v-visible-sr\">1k bronze badges</span>\n </div>\n </div>\n</div>\n </div>\n\n <div class=\"post-signature owner flex--item\">\n <div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n asked <span title='2014-09-12 10:37:19Z' class='relativetime'>Sep 12, 2014 at 10:37</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/886906/haradzieniec\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/59518a0cf1680a269d55db5c480252b3?s=64&d=identicon&r=PG\" alt=\"Haradzieniec's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope itemtype=\"http://schema.org/Person\">\n <a href=\"/users/886906/haradzieniec\" itemprop=\"url\" dir=\"auto\">Haradzieniec</a><meta itemprop=\"name\" content=\"Haradzieniec\"/>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">9,356</span><span title=\"33 gold badges\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">33</span></span><span class=\"v-visible-sr\">33 gold badges</span><span title=\"124 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">124</span></span><span class=\"v-visible-sr\">124 silver badges</span><span title=\"232 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">232</span></span><span class=\"v-visible-sr\">232 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n </div>\n \n</div>\n\n\n\n\n \n\n<span class=\"d-none\" itemprop=\"commentCount\">1</span>\n\t<div class=\"post-layout--right js-post-comments-component\" data-has-opted-out=\"False\">\n <div id=\"comments-25806351\" class=\"comments js-comments-container bt bc-black-200 mt12 \" data-post-id=\"25806351\" data-min-length=\"15\">\n <ul class=\"comments-list js-comments-list\"\n data-remaining-comments-count=\"0\"\n data-canpost=\"false\"\n data-cansee=\"true\"\n data-comments-unavailable=\"false\"\n data-addlink-disabled=\"true\">\n\n <li id=\"comment-51109574\" itemprop=\"comment\" itemscope itemtype=\"https://schema.org/Comment\" class=\"comment js-comment \" data-comment-id=\"51109574\" data-comment-owner-id=\"775856\" data-comment-score=\"1\">\n <div class=\"js-comment-actions comment-actions\">\n <div class=\"comment-score js-comment-score js-comment-edit-hide\">\n <span title=\"number of 'useful comment' votes received\"\n class=\"cool\">1</span>\n </div>\n </div>\n <div class=\"comment-text js-comment-text-and-form\">\n <div class=\"comment-body js-comment-edit-hide\">\n \n <span class=\"comment-copy\" itemprop=\"text\">This is exactly what i'm looking for. Either EXPORT (or) SAVE feature is really required.</span>\n \n <div class=\"d-inline-flex ai-center\" itemprop=\"author\" itemscope itemtype=\"https://schema.org/Person\">\n <div class=\"d-none\" itemprop=\"name\">夏期劇場</div>\n– \n <a href=\"/users/775856/%e5%a4%8f%e6%9c%9f%e5%8a%87%e5%a0%b4\"\n title=\"18,497 reputation\"\n class=\"comment-user\"\n itemprop=\"url\">夏期劇場</a>\n </div>\n <div class=\"d-none\" itemprop=\"datePublished\">2015-07-23 03:28:26 +00:00</div>\n <span class=\"comment-date\" dir=\"ltr\">\n <span class=\"v-visible-sr\">Commented</span>\n <span title='2015-07-23 03:28:26Z, License: CC BY-SA 3.0' class='relativetime-clean'>Jul 23, 2015 at 3:28</span>\n </span>\n <span title=\"this comment was edited 1 time\">\n <svg aria-hidden=\"true\" class=\"va-text-bottom o50 svg-icon iconPencilSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path fill=\"#F1B600\" d=\"m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z\"/><path fill=\"#E87C87\" d=\"m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0\"/></svg>\n </span>\n </div>\n </div>\n </li>\n\n </ul>\n\t </div>\n\n <div id=\"comments-link-25806351\" data-rep=1 data-anon=true>\n <a\n class=\"js-add-link comments-link disabled-link\"\n title=\"Use comments to ask for more information or suggest improvements. Avoid answering questions in comments.\"\n \n href=\"#\"\n role=\"button\"\n data-show-first-time-commenting=\"False\">\n Add a comment\n </a>\n <span class=\"js-link-separator dno\"> | </span>\n <a\n class=\"js-show-link comments-link dno\"\n title=\"Expand to show all comments on this post\"\n href=#\n onclick=\"\"\n role=\"button\">\n \n </a>\n </div> \n </div>\n\n </div>\n\n</div>\n\n\n<div class=\"js-zone-container zone-container-responsive\">\n <div id=\"dfp-isb\" class=\"everyonelovesstackoverflow everyoneloves__inline-sidebar mx-auto\"></div>\n\t\t<div class=\"js-report-ad-button-container mx-auto\" style=\"width: 300px\"></div>\n</div>\n\n\n\n <div id=\"answers\" class=\"\">\n <a name=\"tab-top\"></a>\n <div id=\"answers-header\">\n <div class=\"answers-subheader d-flex ai-center mb8\">\n <div class=\"flex--item fl1\">\n <h2 class=\"mb0\" data-answercount=\"3\">\n3 Answers <span style=\"display:none;\" itemprop=\"answerCount\">3</span>\n </h2>\n </div>\n <div class=\"flex--item\">\n \n\n<div class=\"d-flex g4 gsx ai-center sm:fd-column sm:ai-start\">\n <div class=\"d-flex fd-column ai-end sm:ai-start\">\n <label class=\"flex--item fs-caption\" for=\"answer-sort-dropdown-select-menu\">\n Sorted by:\n </label>\n <a \n class=\"js-sort-preference-change s-link flex--item fs-fine d-none\"\n data-value=\"ScoreDesc\"\n href=\"/questions/25806351/export-pagespeed-insights-by-google-results?answertab=scoredesc#tab-top\"\n >\n Reset to default\n </a>\n </div>\n <div class=\"flex--item s-select\">\n <select id=\"answer-sort-dropdown-select-menu\">\n <option\n value=scoredesc\n selected=selected\n >\n Highest score (default)\n </option>\n <option\n value=trending\n >\n Trending (recent votes count more)\n </option>\n <option\n value=modifieddesc\n >\n Date modified (newest first)\n </option>\n <option\n value=createdasc\n >\n Date created (oldest first)\n </option>\n </select>\n </div>\n</div>\n\n\n </div>\n </div>\n\n\n \n\n </div>\n \n<a name=\"53586734\"></a>\n<div id=\"answer-53586734\" class=\"answer js-answer accepted-answer js-accepted-answer \" data-answerid=\"53586734\"\n data-parentid=\"25806351\" data-score=\"15\" data-position-on-page=\"1\"\n data-highest-scored=\"1\"\n data-question-has-accepted-highest-score=\"1\"\n data-author-username=\"Toma Nistor\"\n data-author-reputation=\"963\"\n data-should-show-copy-button=True\n data-se-share-sheet-license-name=\"CC BY-SA 4.0\"\n data-is-edited=\"True\"\n itemprop=\"acceptedAnswer\"\n itemscope itemtype=\"https://schema.org/Answer\">\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"53586734\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=\"upvote-btn-53586734\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n title=\"This answer is useful\"\n aria-pressed=\"false\"\n aria-label=\"Up vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:6e8810dc7e78794f,10:1773916049,16:a3325137e9db7cc0,8:53586734,a7478fe39e644a75dd9ddb096c022258107ab74bb94b317302533c606d40a161\" />\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\"\n itemprop=\"upvoteCount\"\n data-value=\"15\">\n15 </div>\n <button\n class=\"js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=downvote-btn-53586734\n title=\"This answer is not useful\"\n aria-pressed=\"false\"\n aria-label=\"Down vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:61b102756f216d4f,10:1773916049,16:fa03d9bb32ffc1f3,8:53586734,09c40a3e4c6016acd9433bf112932a92a7fe989feaef2b5ed8e77231555a2aeb\" />\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\"\n type=\"button\"\n id=\"saves-btn-53586734\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n data-s-popover-placement=\"\"\n title=\"Save this answer.\"\n data-is-saved=\"false\"\n aria-label=\"Save\"\n data-post-id=\"53586734\"\n data-post-type-id=\"2\"\n data-user-privilege-for-post-click=\"0\"\n aria-controls=\"\"\n data-s-popover-auto-show=\"false\"\n>\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n</button>\n\n\n\n\n\n\n\n <div class=\"js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8\" data-s-tooltip-placement=\"right\" title=\"Loading when this answer was accepted…\" tabindex=\"0\" role=\"note\" aria-label=\"Accepted\">\n <div class=\"ta-center\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconCheckmarkLg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\"><path d=\"m6 14 8 8L30 6v8L14 30l-8-8z\"/></svg>\n </div>\n </div>\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/53586734/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" title=\"Show activity on this post.\" aria-label=\"Timeline\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"/></svg></a>\n\n</div>\n\n </div>\n\n \n\n<div class=\"answercell post-layout--right\">\n \n\n\n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>If you open up and run Google PageSpeed Insights through the <strong>Audit</strong> tab (<strong>Lighthouse</strong> tab after Chrome 83) in <strong>Chrome Developer Tools</strong>, there is a button in the left part of the panel that will allow you to download the report as a JSON file.</p>\n<p><a href=\"https://i.sstatic.net/Yexeu.png\" rel=\"nofollow noreferrer\"><img src=\"https://i.sstatic.net/Yexeu.png\" alt=\"Google PageSpeed Insights Audit Report\" /></a></p>\n </div>\n <div class=\"mt24\">\n <div class=\"d-flex fw-wrap ai-start jc-end gs8 gsy\">\n\n <time itemprop=\"dateCreated\" datetime=\"2018-12-03 02:37:30Z\"></time>\n <div class=\"flex--item mr16\" style=\"flex: 1 1 100px;\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"53586734\" data-post-type-id=\"2\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/a/53586734\"\n rel=\"nofollow\"\n itemprop=\"url\"\n class=\"js-share-link js-gps-track\"\n title=\"Short permalink to this answer\"\n data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 2 })\"\n data-controller=\"se-share-sheet\"\n data-se-share-sheet-title=\"Share a link to this answer\"\n data-se-share-sheet-subtitle=\"\"\n data-se-share-sheet-post-type=\"answer\"\n data-se-share-sheet-social=\"facebook twitter devto\"\n data-se-share-sheet-location=\"2\"\n data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f\"\n data-se-share-sheet-license-name=\"CC BY-SA 4.0\"\n data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/53586734/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 2 })\" title=\"\">Improve this answer</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\"\n id=\"btnFollowPost-53586734\" class=\"s-btn s-btn__link js-follow-post js-follow-answer js-gps-track\"\n data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 2 })\"\n data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\"\n data-s-popover-placement=\"bottom\" aria-controls=\"\"\n title=\"Follow this answer to receive notifications\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:0d1d12156f5fbb2c,10:1773916049,16:68d80756ffbf8abe,8:53586734,5893ec20f17a064ffa93ad859e88b6647c8404e8c4d6a53b8cef1f8b5a84b942\" />\n </button>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n <div class=\"post-signature flex--item fl0\">\n<div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/53586734/revisions\" title=\"show all edits to this post\"\n class=\"js-gps-track\"\n data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 2 })\">edited <span title='2022-11-25 07:24:00Z' class='relativetime'>Nov 25, 2022 at 7:24</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/19024/ra\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/5e043d3e06257b19097ffdb92307089e?s=64&d=identicon&r=PG\" alt=\"Ra.'s user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/19024/ra\" dir=\"auto\">Ra.</a>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">2,549</span><span title=\"4 gold badges\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">4</span></span><span class=\"v-visible-sr\">4 gold badges</span><span title=\"28 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">28</span></span><span class=\"v-visible-sr\">28 silver badges</span><span title=\"42 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">42</span></span><span class=\"v-visible-sr\">42 bronze badges</span>\n </div>\n </div>\n</div>\n </div>\n\n\n <div class=\"post-signature flex--item fl0\">\n <div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n answered <span title='2018-12-03 02:37:30Z' class='relativetime'>Dec 3, 2018 at 2:37</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/7184365/toma-nistor\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/706810459355fe8aff132f0655b6f481?s=64&d=identicon&r=PG\" alt=\"Toma Nistor's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope itemtype=\"http://schema.org/Person\">\n <a href=\"/users/7184365/toma-nistor\" itemprop=\"url\" dir=\"auto\">Toma Nistor</a><meta itemprop=\"name\" content=\"Toma Nistor\"/>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">963</span><span title=\"12 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">12</span></span><span class=\"v-visible-sr\">12 silver badges</span><span title=\"18 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">18</span></span><span class=\"v-visible-sr\">18 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n \n \n </div>\n \n</div>\n\n\n\n\n \n\n <div class=\"post-layout--right\">\n<script defer src=\"https://stackoverflow.com/Content/Js/sprinkles/you-can-comment-banner.en.js?v=bdec5d37ae84\"></script> <div\n class=\"lg:mt8 bg-purple-100 p8 my8 bc-purple-400 ba bar-sm d-flex ai-center js-you-can-comment-banner-anon\">\n <svg aria-hidden=\"true\" class=\"mr8 fc-purple-400 svg-icon iconAlertCircleSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M7 13c-3.23 0-6-2.74-6-6 0-3.23 2.74-6 6-6 3.27 0 6 2.73 6 6s-2.73 6-6 6M6 3v5h2V3zm0 6v2h2V9z\"/></svg>\n <div class=\"fl-grow1\">\n Sign up to request clarification or add additional context in comments.\n </div>\n \n <button\n class=\"s-modal--close s-btn__xs s-btn__icon bg-purple-100 bc-purple-400 bar-sm ba baw0 h:bg-purple-200 c-pointer js-clear-you-can-comment-banner-anon\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClearSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z\"/></svg>\n </button>\n </div>\n \n\n<div id=\"follow-ups-container-53586734\">\n <!--[--><div class=\"mt16\"><div class=\"mb8 d-flex ai-center g8\" role=\"button\" tabindex=\"0\"><h2 class=\"mb0\">Comments</h2> <!--[!--><!--]--></div> <div class=\"mb12\"><!--[!--><button type=\"button\" class=\"s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link\" data-so-test=\"parent-answer-53586734\"><!--[!--><!--]--> <div class=\"flex--item ml8\"><p class=\"mb0\">Add a comment</p></div></button><!--]--></div> <!--[--><div role=\"list\"><!--[--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->\n</div>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups/index.mod\">{\"replies\":[],\"postId\":53586734,\"currentUserIsMod\":false,\"currentUserIsAnonymous\":true,\"commentFlagsRemainingToday\":10,\"maxNestingLevel\":3,\"hasOptedOut\":false,\"showCtaUnderComments\":false,\"containerElementId\":\"follow-ups-container-53586734\",\"fKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"questionId\":25806351,\"questionAuthorId\":886906,\"answerId\":53586734,\"answerPositionOnPage\":0,\"newUiSettings\":{\"largerFontSize\":false},\"showFirstTimeCommentingModal\":false,\"isMentionEnabled\":false,\"showSpamFlag\":true,\"mergeUnfriendlyAndRudeFlags\":true,\"allowRetractingCommentFlags\":true,\"commentMinLength\":15}</script>\n </div>\n\n </div>\n</div>\n<div class=\"js-zone-container zone-container-main\">\n <div id=\"dfp-mlb\" class=\"everyonelovesstackoverflow everyoneloves__mid-leaderboard everyoneloves__leaderboard\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 728px\"></div>\n</div>\n \n<a name=\"57294386\"></a>\n<div id=\"answer-57294386\" class=\"answer js-answer \" data-answerid=\"57294386\"\n data-parentid=\"25806351\" data-score=\"7\" data-position-on-page=\"2\"\n data-highest-scored=\"0\"\n data-question-has-accepted-highest-score=\"1\"\n data-author-username=\"Dan\"\n data-author-reputation=\"987\"\n data-should-show-copy-button=True\n data-se-share-sheet-license-name=\"CC BY-SA 4.0\"\n data-is-edited=\"True\"\n itemprop=\"suggestedAnswer\"\n itemscope itemtype=\"https://schema.org/Answer\">\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"57294386\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=\"upvote-btn-57294386\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n title=\"This answer is useful\"\n aria-pressed=\"false\"\n aria-label=\"Up vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:995084aa02d12304,10:1773916049,16:04b90b5de8900b40,8:57294386,2151dea0f22fdb8a54521980bb73a62a6c915b3876947ed1c6f2a3644afc9c9d\" />\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\"\n itemprop=\"upvoteCount\"\n data-value=\"7\">\n7 </div>\n <button\n class=\"js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=downvote-btn-57294386\n title=\"This answer is not useful\"\n aria-pressed=\"false\"\n aria-label=\"Down vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:c3fe914273814b61,10:1773916049,16:09f2d86f02b8dc3d,8:57294386,7fccd63eb4bf3f60dda3dc7447c4cf821fa438edbe9cf1e6c38bb8980073c74e\" />\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\"\n type=\"button\"\n id=\"saves-btn-57294386\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n data-s-popover-placement=\"\"\n title=\"Save this answer.\"\n data-is-saved=\"false\"\n aria-label=\"Save\"\n data-post-id=\"57294386\"\n data-post-type-id=\"2\"\n data-user-privilege-for-post-click=\"0\"\n aria-controls=\"\"\n data-s-popover-auto-show=\"false\"\n>\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n</button>\n\n\n\n\n\n\n\n <div class=\"js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none\" data-s-tooltip-placement=\"right\" title=\"Loading when this answer was accepted…\" tabindex=\"0\" role=\"note\" aria-label=\"Accepted\">\n <div class=\"ta-center\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconCheckmarkLg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\"><path d=\"m6 14 8 8L30 6v8L14 30l-8-8z\"/></svg>\n </div>\n </div>\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/57294386/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" title=\"Show activity on this post.\" aria-label=\"Timeline\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"/></svg></a>\n\n</div>\n\n </div>\n\n \n\n<div class=\"answercell post-layout--right\">\n \n\n\n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>From my understanding, Tom's answer is missing some context and depending on your use case, can give the wrong impression.</p>\n<p>Chrome's performance throttling is RELATIVE to the machine running the\naudit. So that means running an audit on a weaker machine is going to\ngive an artificially lower score than what it may actually be on another machine.</p>\n<p>PageSpeed Insights (PSI) runs a lighthouse audit on a <a href=\"https://developers.google.com/speed/docs/insights/v5/about?hl=en-US&utm_source=PSI&utm_medium=incoming-link&utm_campaign=PSI#faq\" rel=\"noreferrer\">simulated Moto 4</a>.</p>\n<blockquote>\n<p>What device and network conditions does Lighthouse use to simulate a page load?</p>\n<p>Currently, Lighthouse simulates a page load on a mid-tier device (Moto G4) on a mobile network.</p>\n</blockquote>\n<p>So if you run an audit through the Chrome tab on a 2018 Macbook Pro and your client runs it on a 2010 HP laptop, you will get vastly different results. So using PSI should give a more "objective" audit as it's using the same hardware for each test.</p>\n<p>If you only ever use your development machine to run tests for yourself, then it may not matter as much. But if you are sharing and cross examining reports with a client or team (across different machines), then this is something to keep in mind.</p>\n<p>Reference:\n<a href=\"https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference\" rel=\"noreferrer\">https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference</a></p>\n<blockquote>\n<p>Throttling is relative to your computer's capabilities. For example,\nthe 2x slowdown option makes your CPU operate 2 times slower than its\nusual ability. DevTools can't truly simulate the CPUs of mobile\ndevices, because the architecture of mobile devices is very different\nfrom that of desktops and laptops.</p>\n</blockquote>\n </div>\n <div class=\"mt24\">\n <div class=\"d-flex fw-wrap ai-start jc-end gs8 gsy\">\n\n <time itemprop=\"dateCreated\" datetime=\"2019-07-31 15:34:16Z\"></time>\n <div class=\"flex--item mr16\" style=\"flex: 1 1 100px;\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"57294386\" data-post-type-id=\"2\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/a/57294386\"\n rel=\"nofollow\"\n itemprop=\"url\"\n class=\"js-share-link js-gps-track\"\n title=\"Short permalink to this answer\"\n data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 2 })\"\n data-controller=\"se-share-sheet\"\n data-se-share-sheet-title=\"Share a link to this answer\"\n data-se-share-sheet-subtitle=\"\"\n data-se-share-sheet-post-type=\"answer\"\n data-se-share-sheet-social=\"facebook twitter devto\"\n data-se-share-sheet-location=\"2\"\n data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f\"\n data-se-share-sheet-license-name=\"CC BY-SA 4.0\"\n data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/57294386/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 2 })\" title=\"\">Improve this answer</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\"\n id=\"btnFollowPost-57294386\" class=\"s-btn s-btn__link js-follow-post js-follow-answer js-gps-track\"\n data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 2 })\"\n data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\"\n data-s-popover-placement=\"bottom\" aria-controls=\"\"\n title=\"Follow this answer to receive notifications\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:abd72fe317612cdb,10:1773916049,16:36241d56dc251d31,8:57294386,0dc565078fe3558a64f1797479793003c3d16d928b7729e83680d56394e840e3\" />\n </button>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n <div class=\"post-signature flex--item fl0\">\n<div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/57294386/revisions\" title=\"show all edits to this post\"\n class=\"js-gps-track\"\n data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 2 })\">edited <span title='2020-06-20 09:12:55Z' class='relativetime'>Jun 20, 2020 at 9:12</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/-1/community\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/a007be5a61f6aa8f3e85ae2fc18dd66e?s=64&d=identicon&r=PG\" alt=\"Community's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/-1/community\" dir=\"auto\">Community</a><span class=\"flex--item s-badge ml2 s-badge__xs mtn2\" title=\"Community Bot \u2014 not a real person. Replies to this bot are not monitored.\">Bot</span>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">1</span><span title=\"1 silver badge\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 silver badge</span>\n </div>\n </div>\n</div>\n </div>\n\n\n <div class=\"post-signature flex--item fl0\">\n <div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n answered <span title='2019-07-31 15:34:16Z' class='relativetime'>Jul 31, 2019 at 15:34</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/7903952/dan\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/63720b47b4175d3cc765b7ac7b0b7796?s=64&d=identicon&r=PG&f=y&so-version=2\" alt=\"Dan's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope itemtype=\"http://schema.org/Person\">\n <a href=\"/users/7903952/dan\" itemprop=\"url\" dir=\"auto\">Dan</a><meta itemprop=\"name\" content=\"Dan\"/>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">987</span><span title=\"1 gold badge\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 gold badge</span><span title=\"13 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">13</span></span><span class=\"v-visible-sr\">13 silver badges</span><span title=\"32 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">32</span></span><span class=\"v-visible-sr\">32 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n \n \n </div>\n \n</div>\n\n\n\n\n \n\n <div class=\"post-layout--right\">\n \n\n<div id=\"follow-ups-container-57294386\">\n <!--[--><div class=\"mt16\"><div class=\"mb8 d-flex ai-center g8\" role=\"button\" tabindex=\"0\"><h2 class=\"mb0\">Comments</h2> <!--[!--><!--]--></div> <div class=\"mb12\"><!--[!--><button type=\"button\" class=\"s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link\" data-so-test=\"parent-answer-57294386\"><!--[!--><!--]--> <div class=\"flex--item ml8\"><p class=\"mb0\">Add a comment</p></div></button><!--]--></div> <!--[--><div role=\"list\"><!--[--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->\n</div>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups/index.mod\">{\"replies\":[],\"postId\":57294386,\"currentUserIsMod\":false,\"currentUserIsAnonymous\":true,\"commentFlagsRemainingToday\":10,\"maxNestingLevel\":3,\"hasOptedOut\":false,\"showCtaUnderComments\":false,\"containerElementId\":\"follow-ups-container-57294386\",\"fKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"questionId\":25806351,\"questionAuthorId\":886906,\"answerId\":57294386,\"answerPositionOnPage\":0,\"newUiSettings\":{\"largerFontSize\":false},\"showFirstTimeCommentingModal\":false,\"isMentionEnabled\":false,\"showSpamFlag\":true,\"mergeUnfriendlyAndRudeFlags\":true,\"allowRetractingCommentFlags\":true,\"commentMinLength\":15}</script>\n </div>\n\n </div>\n</div>\n \n<a name=\"37900624\"></a>\n<div id=\"answer-37900624\" class=\"answer js-answer \" data-answerid=\"37900624\"\n data-parentid=\"25806351\" data-score=\"4\" data-position-on-page=\"3\"\n data-highest-scored=\"0\"\n data-question-has-accepted-highest-score=\"1\"\n data-author-username=\"B P\"\n data-author-reputation=\"153\"\n data-should-show-copy-button=True\n data-se-share-sheet-license-name=\"CC BY-SA 4.0\"\n data-is-edited=\"True\"\n itemprop=\"suggestedAnswer\"\n itemscope itemtype=\"https://schema.org/Answer\">\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"37900624\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=\"upvote-btn-37900624\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n title=\"This answer is useful\"\n aria-pressed=\"false\"\n aria-label=\"Up vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:91587736f12ca50a,10:1773916049,16:b1d2e6282f6182cb,8:37900624,49f2fa71188bcc6a47bf8d18f248b14792e28a5f8ef4d1d34acc496bafd5f734\" />\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\"\n itemprop=\"upvoteCount\"\n data-value=\"4\">\n4 </div>\n <button\n class=\"js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\"\n id=downvote-btn-37900624\n title=\"This answer is not useful\"\n aria-pressed=\"false\"\n aria-label=\"Down vote\"\n data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\"\n data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"/></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:d6b1f35a91cca716,10:1773916049,16:17a6d8c842ae6fd6,8:37900624,cb501efdf58316337c3176a835acedc754e32c0e3e8c22dd0f42285a08402ce1\" />\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\"\n type=\"button\"\n id=\"saves-btn-37900624\"\n data-controller=\"s-tooltip\"\n data-s-tooltip-placement=\"right\"\n data-s-popover-placement=\"\"\n title=\"Save this answer.\"\n data-is-saved=\"false\"\n aria-label=\"Save\"\n data-post-id=\"37900624\"\n data-post-type-id=\"2\"\n data-user-privilege-for-post-click=\"0\"\n aria-controls=\"\"\n data-s-popover-auto-show=\"false\"\n>\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"/></svg>\n</button>\n\n\n\n\n\n\n\n <div class=\"js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none\" data-s-tooltip-placement=\"right\" title=\"Loading when this answer was accepted…\" tabindex=\"0\" role=\"note\" aria-label=\"Accepted\">\n <div class=\"ta-center\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconCheckmarkLg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\"><path d=\"m6 14 8 8L30 6v8L14 30l-8-8z\"/></svg>\n </div>\n </div>\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/37900624/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" title=\"Show activity on this post.\" aria-label=\"Timeline\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"/></svg></a>\n\n</div>\n\n </div>\n\n \n\n<div class=\"answercell post-layout--right\">\n \n\n\n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>I am not sure if this is what you are looking for, but I feel you can build the data you need using the JSON response</p>\n<pre><code>curl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=http://www.google.com > response.json\n</code></pre>\n<p>If you don't have access to cli you can enter the same url with your website of interest in your browser and hit return key.</p>\n<p>I lately started using Postman if you are trying to optimize your website performance I personally feel this would help because it does save the responses and the time of request.</p>\n<p>Thank you it was helpful</p>\n </div>\n <div class=\"mt24\">\n <div class=\"d-flex fw-wrap ai-start jc-end gs8 gsy\">\n\n <time itemprop=\"dateCreated\" datetime=\"2016-06-18 19:03:11Z\"></time>\n <div class=\"flex--item mr16\" style=\"flex: 1 1 100px;\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"37900624\" data-post-type-id=\"2\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/a/37900624\"\n rel=\"nofollow\"\n itemprop=\"url\"\n class=\"js-share-link js-gps-track\"\n title=\"Short permalink to this answer\"\n data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 2 })\"\n data-controller=\"se-share-sheet\"\n data-se-share-sheet-title=\"Share a link to this answer\"\n data-se-share-sheet-subtitle=\"\"\n data-se-share-sheet-post-type=\"answer\"\n data-se-share-sheet-social=\"facebook twitter devto\"\n data-se-share-sheet-location=\"2\"\n data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f\"\n data-se-share-sheet-license-name=\"CC BY-SA 4.0\"\n data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/37900624/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 2 })\" title=\"\">Improve this answer</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\"\n id=\"btnFollowPost-37900624\" class=\"s-btn s-btn__link js-follow-post js-follow-answer js-gps-track\"\n data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 2 })\"\n data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\"\n data-s-popover-placement=\"bottom\" aria-controls=\"\"\n title=\"Follow this answer to receive notifications\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:7cebca3c5ea69184,10:1773916049,16:88280f7a65a5a0dd,8:37900624,a3aeca709331bc0bbe7516b776b8f12b432e5c1dce0fbb4b65b9595ae9606fe3\" />\n </button>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n <div class=\"post-signature flex--item fl0\">\n<div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/37900624/revisions\" title=\"show all edits to this post\"\n class=\"js-gps-track\"\n data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 2 })\">edited <span title='2021-07-17 04:40:33Z' class='relativetime'>Jul 17, 2021 at 4:40</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/840119/dawid-cieszy%c5%84ski\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/b7e2c4e367721588538ad1a00bb0fd0c?s=64&d=identicon&r=PG\" alt=\"Dawid Cieszy\u0144ski's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/840119/dawid-cieszy%c5%84ski\" dir=\"auto\">Dawid Cieszy\u0144ski</a>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">49</span><span title=\"1 silver badge\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 silver badge</span><span title=\"11 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">11</span></span><span class=\"v-visible-sr\">11 bronze badges</span>\n </div>\n </div>\n</div>\n </div>\n\n\n <div class=\"post-signature flex--item fl0\">\n <div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n answered <span title='2016-06-18 19:03:11Z' class='relativetime'>Jun 18, 2016 at 19:03</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/5496838/b-p\"><div class=\"gravatar-wrapper-32\"><img src=\"https://lh4.googleusercontent.com/-LLtQz7DHtfQ/AAAAAAAAAAI/AAAAAAAAAGU/S1phUom2x68/s64-rj/photo.jpg\" alt=\"B P's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope itemtype=\"http://schema.org/Person\">\n <a href=\"/users/5496838/b-p\" itemprop=\"url\" dir=\"auto\">B P</a><meta itemprop=\"name\" content=\"B P\"/>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">153</span><span title=\"1 silver badge\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 silver badge</span><span title=\"7 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">7</span></span><span class=\"v-visible-sr\">7 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n \n \n </div>\n \n</div>\n\n\n\n\n \n\n <div class=\"post-layout--right\">\n \n\n<div id=\"follow-ups-container-37900624\">\n <!--[--><div class=\"mt16\"><div class=\"mb8 d-flex ai-center g8 c-pointer\" role=\"button\" tabindex=\"0\"><h2 class=\"mb0\">1 Comment</h2> <!--[--><!--[--><!----><svg aria-hidden=\"true\" class=\"svg-icon iconArrowDownAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m16.01 7.43-1.4-1.41L9 11.6 3.42 6l-1.4 1.42 7 7z\"/></svg><!----><!--]--><!--]--></div> <div class=\"mb12\"><!--[!--><button type=\"button\" class=\"s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link\" data-so-test=\"parent-answer-37900624\"><!--[!--><!--]--> <div class=\"flex--item ml8\"><p class=\"mb0\">Add a comment</p></div></button><!--]--></div> <!--[--><div role=\"list\"><!--[--><div id=\"follow-up-63254328\" itemprop=\"comment\" itemscope=\"\" itemtype=\"https://schema.org/Comment\" role=\"listitem\" data-so-test=\"reply-parent-comment-0\"><!--[--><div class=\"d-flex fd-column\"><!--[--><div class=\"d-flex g6\"><div class=\"flex--item w24\"><!--[--><a href=\"/users/5496838/b-p\" class=\"s-avatar s-avatar__24 s-user-card--avatar\" aria-label=\"User profile\"><img class=\"s-avatar--image\" src=\"https://lh4.googleusercontent.com/-LLtQz7DHtfQ/AAAAAAAAAAI/AAAAAAAAAGU/S1phUom2x68/s48-rj/photo.jpg\" alt=\"\"/></a><!--]--><!----></div> <div class=\"flex--item d-flex fd-column g8 fl-grow1 overflow-hidden\"><div class=\"d-flex jc-space-between\"><div class=\"flex--item h24 ai-center s-user-card s-user-card__small lh-md\"><div class=\"s-user-card--info\" itemprop=\"author\" itemscope=\"\" itemtype=\"https://schema.org/Person\"><div class=\"d-none\" itemprop=\"name\">B P</div> <div class=\"s-user-card--awards\"><!--[--><a href=\"/users/5496838/b-p\" class=\"s-user-card--link truncate wmx2 comment-user lh-xs\" itemprop=\"url\">B P</a><!--]--> <a class=\"comment-link\" href=\"#comment63254328_37900624\"><time title=\"2016-06-18T19:07:09.29Z\" class=\"s-user-card--time ws-nowrap truncate\">Over a year ago</time></a> <!--[!--><!--]--> <!--[!--><!--]--></div></div></div><!----></div></div></div><!--]--> <div class=\"flex--item d-flex g6 fl-grow1\"><div class=\"flex--item d-flex fd-column ai-center pt4\"><div class=\"h100 ml12 mr12 pt4\" style=\"width: 1px\"></div></div> <div class=\"flex--item d-flex fd-column g4 fl-grow1\"><div itemprop=\"text\" class=\"flex--item fw-normal fs-body1 mb4 ow-anywhere\"><!--[--><!---->I might be wrong, I was answering about <a href=\"https://developers.google.com/speed/pagespeed/insights/\" rel=\"nofollow noreferrer\">link</a> and not the extension<!----><!--]--></div> <time class=\"d-none\" itemprop=\"datePublished\">2016-06-18T19:07:09.29Z+00:00</time> <!--[--><div class=\"d-flex g16 pb8\"><div class=\"flex--item d-flex ai-center g16 fl-grow1\"><div class=\"d-flex jc-space-between fl-grow1\"><div class=\"flex--item d-flex ai-center g8\"><!--[!--><button class=\"s-btn s-btn__xs s-btn__outlined s-btn__muted s-btn__icon h24 py2\" type=\"button\" data-so-test=\"vote-button-comment-63254328\"><div class=\"d-flex ai-center g6\"><span class=\"s-btn--icon\"><!----><svg aria-hidden=\"true\" class=\"fc-black-400 va-middle w16 svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"/></svg><!----><!----></span> <span class=\"fw-normal fs-caption fc-black-500\">1</span></div></button><!--]--> <!--[--><button class=\"s-btn s-btn__xs s-btn__outlined s-btn__muted h24 py2\" type=\"button\" data-so-test=\"reply-button-comment-63254328\"><div class=\"d-flex ai-center g6\"><span class=\"s-btn--icon\"><!----><svg aria-hidden=\"true\" class=\"fc-black-400 w16 svg-icon iconMessage\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 4v14l3-3h11c1.09 0 2-.91 2-2V4c0-1.09-.91-2-2-2H3a2 2 0 0 0-2 2m3 9-1 1V4h12v9zm1-6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1m1 2a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"/></svg><!----><!----></span> <span class=\"fw-normal fs-caption fc-black-500\">Reply</span></div></button><!--]--> <!--[--><button class=\"flex--item s-btn s-btn__xs s-btn__outlined s-btn__muted py2 h24\" type=\"button\" aria-controls=\"popover-menu-63254328\" aria-expanded=\"false\" aria-label=\"Open menu\" data-controller=\"s-popover\" data-action=\"s-popover#toggle\" data-s-popover-placement=\"bottom-start\" data-s-popover-toggle-class=\"is-selected\" data-so-test=\"actions-button-comment-63254328\"><!----><svg aria-hidden=\"true\" class=\"fc-black-400 svg-icon iconEllipsisHorizontal\" width=\"17\" height=\"18\" viewBox=\"0 0 17 18\"><path d=\"M3.5 10a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3M12 8.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0\"/></svg><!----><!----></button> <div id=\"popover-menu-63254328\" class=\"s-popover s-popover__tooltip\" role=\"menu\"><div class=\"s-popover--arrow\"></div> <div class=\"s-popover--content\"><ul class=\"s-menu\" role=\"menu\"><li role=\"menuitem\"><button class=\"s-block-link h:bg-black-100 js-follow-up-copy-link\">Copy link</button></li> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></ul></div></div><!--]--></div> <!--[!--><!--]--></div></div></div><!--]--> <!--[!--><!--]--></div></div></div><!--]--></div> <!--[!--><!--]--> <!--[!--><!--]--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->\n</div>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups/index.mod\">{\"replies\":[{\"id\":63254328,\"user\":{\"userId\":5496838,\"isDeleted\":false,\"displayName\":\"B P\",\"url\":\"/users/5496838/b-p\",\"profileImageUrl\":\"https://lh4.googleusercontent.com/-LLtQz7DHtfQ/AAAAAAAAAAI/AAAAAAAAAGU/S1phUom2x68/s48-rj/photo.jpg\",\"reputation\":0,\"goldBadges\":0,\"silverBadges\":0,\"bronzeBadges\":0,\"isStaff\":false,\"isModerator\":false,\"htmlFriendlyName\":\"BP\",\"noSpacesUserName\":\"BP\",\"reputationDisplayText\":\"0\"},\"postedAt\":\"2016-06-18T19:07:09.29Z\",\"postedAtRelative\":\"Over a year ago\",\"body\":\"I might be wrong, I was answering about [link](https://developers.google.com/speed/pagespeed/insights/) and not the extension\",\"htmlBody\":\"I might be wrong, I was answering about \\u003Ca href=\\u0022https://developers.google.com/speed/pagespeed/insights/\\u0022 rel=\\u0022nofollow noreferrer\\u0022\\u003Elink\\u003C/a\\u003E and not the extension\",\"score\":1,\"showVoteInsteadOfZero\":false,\"showVoteWording\":false,\"replies\":[],\"userCanFlag\":false,\"userCanVote\":false,\"isCommentOwner\":false,\"userCanReply\":true,\"userCanEdit\":false,\"userCanDelete\":false,\"userCanUndelete\":false,\"userCanRedact\":false,\"userCanViewHistory\":false,\"userHasFlagged\":false,\"userHasVoted\":false,\"isDeleted\":false,\"isLastReply\":true,\"exceedsNestingLimit\":false,\"isDeletedAndReadOnly\":false,\"showOwnPostTooltip\":false,\"voteButtonTooltipText\":\"Thanks for participating. Your votes will count once you\\u0027ve earned enough reputation.\",\"htmlFriendlyReplyToUserName\":\"\",\"noSpacesReplyToUserName\":\"\",\"isTopScored\":true}],\"postId\":37900624,\"currentUserIsMod\":false,\"currentUserIsAnonymous\":true,\"commentFlagsRemainingToday\":10,\"maxNestingLevel\":3,\"hasOptedOut\":false,\"showCtaUnderComments\":false,\"containerElementId\":\"follow-ups-container-37900624\",\"fKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"questionId\":25806351,\"questionAuthorId\":886906,\"answerId\":37900624,\"answerPositionOnPage\":0,\"newUiSettings\":{\"largerFontSize\":false},\"showFirstTimeCommentingModal\":false,\"isMentionEnabled\":false,\"showSpamFlag\":true,\"mergeUnfriendlyAndRudeFlags\":true,\"allowRetractingCommentFlags\":true,\"commentMinLength\":15}</script>\n </div>\n\n </div>\n</div>\n <a name='new-answer'></a>\n <form id=\"post-form\" action=\"/questions/25806351/answer/submit\" method=\"post\" class=\"js-add-answer-component post-form\">\n <input type=\"hidden\" id=\"post-id\" value=\"25806351\"/>\n <input type=\"hidden\" id=\"qualityBanWarningShown\" name=\"qualityBanWarningShown\" value=\"false\"/>\n <input type=\"hidden\" name=\"referrer\" value=\"\"/>\n <input type=\"hidden\" name=\"opinion-based-content-type\"/>\n <input type=\"hidden\" name=\"referrer-id\" value=\"0\"/>\n <h2 class=\"space\" id=\"your-answer-header\">\n Your Answer\n </h2>\n\n \n\n\n\n<script>\n StackExchange.ready(function() {\n var channelOptions = {\n tags: \"\".split(\" \"),\n id: \"1\"\n };\n initTagRenderer(\"\".split(\" \"), \"\".split(\" \"), channelOptions);\n\n StackExchange.using(\"externalEditor\", function() {\n // Have to fire editor after snippets, if snippets enabled\n if (StackExchange.settings.snippets.snippetsEnabled) {\n StackExchange.using(\"snippets\", function() {\n createEditor();\n });\n }\n else {\n createEditor();\n }\n });\n\n function createEditor() { \n StackExchange.prepareEditor({\n useStacksEditor: true,\n heartbeatType: 'answer',\n autoActivateHeartbeat: false,\n convertImagesToLinks: true,\n noModals: true,\n showLowRepImageUploadWarning: true,\n reputationToPostImages: 10,\n bindNavPrevention: true,\n postfix: \"\",\n imageUploadEnabled: false,\n imageUploader: {\n brandingHtml: \"\",\n contentPolicyHtml: \"User contributions licensed under \\u003ca href=\\\"https://stackoverflow.com/help/licensing\\\"\\u003eCC BY-SA\\u003c/a\\u003e \\u003ca href=\\\"https://stackoverflow.com/legal/acceptable-use-policy\\\"\\u003e(content policy)\\u003c/a\\u003e\",\n allowUrls: true,\n },\n onDemand: true,\n discardSelector: \".discard-answer\",\n enableTables: true,\n isStacksEditorPreviewEnabled: true,\n tabindex: 103,\n highlightingLanguages: [\"markdown\",\"ml\",\"rs\",\"shell\",\"xsl\",\"obj-c\",\"objective-c++\",\"hh\",\"tsx\",\"mts\",\"scheme\",\"cc\",\"gyp\",\"julia\",\"bash\",\"fs\",\"kts\",\"protobuf\",\"h\",\"cv\",\"vhd\",\"erlang\",\"c-like\",\"lsp\",\"xhtml\",\"clojure\",\"hxx\",\"javascript\",\"coffee\",\"sql\",\"go\",\"js\",\"scss\",\"cson\",\"gemspec\",\"php\",\"atom\",\"cxx\",\"java\",\"toml\",\"lua\",\"csharp\",\"scala\",\"mjs\",\"ini\",\"mak\",\"py\",\"clj\",\"hpp\",\"plist\",\"obj-c++\",\"cts\",\"none\",\"ss\",\"golang\",\"rb\",\"mk\",\"css\",\"bsh\",\"yaml\",\"m\",\"hs\",\"ts\",\"xjb\",\"cpp\",\"pm\",\"objc\",\"thor\",\"el\",\"rc\",\"console\",\"makefile\",\"cs\",\"pl\",\"http\",\"delphi\",\"shellsession\",\"proto\",\"less\",\"vhdl\",\"ruby\",\"vbs\",\"kotlin\",\"mma\",\"rss\",\"podspec\",\"mkd\",\"python\",\"yml\",\"iced\",\"cl\",\"ocaml\",\"wsf\",\"mathematica\",\"cjs\",\"rust\",\"rkt\",\"dart\",\"mm\",\"s\",\"lisp\",\"edn\",\"https\",\"cyc\",\"c++\",\"pas\",\"haskell\",\"irb\",\"r\",\"perl\",\"matlab\",\"ipython\",\"xml\",\"scm\",\"c#\",\"dpr\",\"latex\",\"c\",\"pascal\",\"make\",\"jsx\",\"php-template\",\"coffeescript\",\"typescript\",\"jsp\",\"json\",\"tex\",\"dfm\",\"wl\",\"vb\",\"md\",\"mkdown\",\"vbnet\",\"erl\",\"objectivec\",\"svg\",\"html\",\"sh\",\"swift\",\"h++\",\"csh\",\"xsd\",\"kt\"]\n ,enableTables:true,enableSnippets:true\n });\n }\n });\n</script>\n<div id=\"post-editor\" class=\"post-editor js-post-editor d-flex fd-column g4\">\n\n\n <input type=\"hidden\" name=\"stacksEditorEnabled\" value=\"True\" />\n\n <input type=\"hidden\" id=\"stacksEditorView\" name=\"stacksEditorView\" />\n <div class=\"js-stacks-validation\">\n <textarea id=\"js-stacks-editor-content\"\n name=\"post-text\"\n class=\"d-none js-stacks-editor-backing-textarea js-post-body-field\"\n data-editor-type=\"stacks-editor\"\n data-post-type-id=\"2\"\n data-min-length=\"\"\n aria-labelledby=\"your-answer-header\"\n ></textarea>\n\n <div id=\"js-stacks-editor-container\" class=\"js-stacks-editor-container mb8\">\n <div class=\"js-fake-stacks-editor s-textarea s-input__readonly overflow-auto hmn2 w100 p0 d-flex fd-column pe-none\">\n <div class=\"py6 bg-inherit btr-sm w100\">\n <div class=\"d-flex overflow-x-auto ai-center px12 py4 pb0\">\n <div class=\"d-flex g16 fl-grow1 ai-center\">\n <div class=\"s-editor-menu-block d-flex g2\">\n <div>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconHeader\"></span>\n </button>\n </div>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconBold\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconItalic\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconCode\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2\">\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconLink\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconQuote\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconCodeblock\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconImage\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconTable\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2\">\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconOrderedList\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconUnorderedList\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconHorizontalRule\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2 sm:d-inline-flex d-none\">\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconUndo\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled type=\"button\">\n <span class=\"svg-icon-bg iconRefresh\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2\">\n <a class=\"s-editor-btn s-btn is-disabled\" tabindex=\"-1\" href=\"#\" target=\"_blank\">\n <span class=\"svg-icon-bg iconHelp\"></span>\n </a>\n </div>\n </div>\n <div class=\"flex--item d-flex ai-center ml24 fc-black-500\">\n <div class=\"s-btn-group--radio\">\n <label class=\"s-btn s-editor-btn px6\">\n <span class=\"svg-icon-bg iconRichText\"></span>\n </label>\n <label class=\"s-btn s-editor-btn px6\">\n <span class=\"svg-icon-bg iconMarkdown\"></span>\n </label>\n </div>\n </div>\n </div>\n </div>\n <div class=\" fl-grow1 outline-none p12 pt6 w100 s-prose ProseMirror\">\n </div>\n</div>\n\n </div>\n <div id=\"js-stacks-editor-container-validation-message\" class=\"s-input-message mt4 js-stacks-validation-message d-none\"></div>\n </div>\n\n <aside class=\"d-flex ai-start jc-space-between js-answer-help s-notice s-notice__warning pb0 pr4 pt4 mb8 d-none\" role=\"status\" aria-hidden=\"true\">\n <div class=\"flex--item pt8\">\n <p>Thanks for contributing an answer to Stack Overflow!</p><ul><li>Please be sure to <em>answer the question</em>. Provide details and share your research!</li></ul><p>But <em>avoid</em> \u2026</p><ul><li>Asking for help, clarification, or responding to other answers.</li><li>Making statements based on opinion; back them up with references or personal experience.</li></ul><p>To learn more, see our <a href=\"/help/how-to-answer\">tips on writing great answers</a>.</p>\n </div>\n <button class=\"flex--item js-answer-help-close-btn s-btn s-btn__muted fc-black-600\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"/></svg>\n </button>\n</aside>\n\n\n\n <div>\n <div id=\"draft-saved\" class=\"fc-success h24\" style=\"display:none;\">Draft saved</div>\n <div id=\"draft-discarded\" class=\"fc-error h24\" style=\"display:none;\">Draft discarded</div>\n </div>\n\n\n\n <div class=\"edit-block\">\n <input id=\"fkey\" name=\"fkey\" type=\"hidden\" value=\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\">\n <input id=\"author\" name=\"author\" type=\"text\">\n </div>\n\n</div>\n\n\n <div class=\"ps-relative\">\n <div class=\"form-item dno new-post-login p0 my16\">\n <div class=\"d-flex gs16 md:fd-column new-login-form\">\n <div class=\"d-flex fd-column w50 md:w-auto gsy gs8 jc-space-between new-login-left\">\n <h3 class=\"flex--item fs-title\">Sign up or <a id=\"login-link\" href=\"/users/login?ssrc=question_page&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results%23new-answer\">log in</a></h3>\n <script>\n StackExchange.ready(function () {\n StackExchange.helpers.onClickDraftSave('#login-link');\n });\n </script>\n <div class=\"flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon google-login\" data-ga=\"["sign up","Sign Up Started - Google","New Post",null,null]\">\n <svg aria-hidden=\"true\" class=\"native svg-icon iconGoogle\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path fill=\"#4285F4\" d=\"M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 0 0 2.38-5.88c0-.57-.05-.66-.15-1.18\"/><path fill=\"#34A853\" d=\"M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 0 1-7.18-2.54H1.83v2.07A8 8 0 0 0 8.98 17\"/><path fill=\"#FBBC05\" d=\"M4.5 10.52a4.8 4.8 0 0 1 0-3.04V5.41H1.83a8 8 0 0 0 0 7.18z\"/><path fill=\"#EA4335\" d=\"M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 0 0 1.83 5.4L4.5 7.49a4.8 4.8 0 0 1 4.48-3.3\"/></svg> Sign up using Google\n </div>\n <div class=\"flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon stackexchange-login\" data-ga=\"["sign up","Sign Up Navigation","New Post",null,null]\">\n <svg aria-hidden=\"true\" class=\"native svg-icon iconGlyphXSm\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path fill=\"#BCBBBB\" d=\"M14 16v-5h2v7H2v-7h2v5z\"/><path fill=\"#F48024\" d=\"m12.09.72-1.21.9 4.5 6.07 1.22-.9zM5 15h8v-2H5zm9.15-5.87L8.35 4.3l.96-1.16 5.8 4.83zm-7.7-1.47 6.85 3.19.63-1.37-6.85-3.2zm6.53 5L5.4 11.39l.38-1.67 7.42 1.48z\"/></svg> Sign up using Email and Password\n </div>\n </div>\n <input type=\"hidden\" name=\"use-facebook\" class=\"use-facebook\" value=\"false\" />\n <input type=\"hidden\" name=\"use-google\" class=\"use-google\" value=\"false\" />\n <button type=\"button\" class=\"d-none js-submit-openid\">Submit</button>\n <div class=\"d-flex gsy gs8 fd-column w50 md:w-auto new-login-right form-item p0\">\n <h3 class=\"flex--item fs-title\">Post as a guest</h3>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <label class=\"s-label\" for=\"display-name\">Name</label>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input\" id=\"display-name\" name=\"display-name\" maxlength=\"30\" type=\"text\" value=\"\" tabindex=\"105\" placeholder=\"\" />\n </div>\n </div>\n </div>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <div class=\"flex--item\">\n <div class=\"d-flex gs2 gsy fd-column\">\n <label class=\"flex--item s-label\" for=\"m-address\">Email</label>\n <p class=\"flex--item s-description\">Required, but never shown</p>\n </div>\n </div>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input js-post-email-field\" id=\"m-address\" name=\"m-address\" type=\"text\" value=\"\" size=\"40\" tabindex=\"106\" placeholder=\"\" />\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n <script>\n StackExchange.ready(\n function () {\n StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results%23new-answer', 'question_page');\n }\n );\n </script>\n <noscript>\n <h3 class=\"flex--item fs-title\">Post as a guest</h3>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <label class=\"s-label\" for=\"display-name\">Name</label>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input\" id=\"display-name\" name=\"display-name\" maxlength=\"30\" type=\"text\" value=\"\" tabindex=\"105\" placeholder=\"\" />\n </div>\n </div>\n </div>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <div class=\"flex--item\">\n <div class=\"d-flex gs2 gsy fd-column\">\n <label class=\"flex--item s-label\" for=\"m-address\">Email</label>\n <p class=\"flex--item s-description\">Required, but never shown</p>\n </div>\n </div>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input js-post-email-field\" id=\"m-address\" name=\"m-address\" type=\"text\" value=\"\" size=\"40\" tabindex=\"106\" placeholder=\"\" />\n </div>\n </div>\n </div>\n\n </noscript>\n\n </div>\n\n\n <div class=\"form-submit clear-both d-flex sm:fd-column sm:jc-stretch gs4 ai-center mb24\">\n <button id=\"submit-button\" class=\"flex--item fl-shrink0 s-btn s-btn__filled sm:w100\" type=\"submit\" tabindex=\"120\" autocomplete=\"off\">\n Post Your Answer\n </button>\n <button class=\"flex--item s-btn s-btn__danger fl-shrink0 sm:w100 discard-answer d-none\">\n Discard\n </button>\n <p class=\"flex--item mb0 fs-italic ml12 sm:ml0\">\n By clicking \u201cPost Your Answer\u201d, you agree to our <a href='https://stackoverflow.com/legal/terms-of-service/public' name='tos' target='_blank' class='-link'>terms of service</a> and acknowledge you have read our <a href='https://stackoverflow.com/legal/privacy-policy' name='privacy' target='_blank' class='-link'>privacy policy</a>.<input type=\"hidden\" name=\"legalLinksShown\" value=\"1\" />\n </p>\n </div>\n <div class=\"js-general-error general-error clear-both d-none\" aria-live=\"polite\"></div>\n </form>\n <div class=\"js-bottom-notice d-flex w100 md:mb12 md:fd-column ac-stretch\" data-loc=\"1\">\n <div class=\"flex--item ba bc-black-200 bar-md p24 md:p16 mr12 md:mb12 md:mr0 w50 md:w100\">\n <div class=\"d-flex fd-column\">\n <p class=\"flex--item fs-body2 fw-bold fc-black-500 mb8\">Start asking to get answers</p>\n <p class=\"flex--item fs-body1 fc-black-400 mb16\">Find the answer to your question by asking.</p>\n <a class=\"flex--item s-btn s-btn__outlined as-start px32 md:px16\" href=\"/questions/ask\">Ask question</a>\n </div>\n </div>\n <div class=\"flex--item ba bc-black-200 bar-md p24 md:p16 w50 md:w100\">\n <div class=\"d-flex fd-column gsy g16\">\n <p class=\"flex--item fs-body2 fw-bold fc-black-500 mb0\">Explore related questions</p>\n <div class=\"flex--item mb0\"><ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/google-chrome\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome'\" aria-label=\"show questions tagged 'google-chrome'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/google-chrome-extension\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome-extension'\" aria-label=\"show questions tagged 'google-chrome-extension'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-extension-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome-extension</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/frontend\" class=\"s-tag post-tag\" title=\"show questions tagged 'frontend'\" aria-label=\"show questions tagged 'frontend'\" rel=\"tag\" aria-labelledby=\"tag-frontend-tooltip-container\" data-tag-menu-origin=\"Unknown\">frontend</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/pagespeed\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed'\" aria-label=\"show questions tagged 'pagespeed'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href=\"/questions/tagged/pagespeed-insights\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed-insights'\" aria-label=\"show questions tagged 'pagespeed-insights'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-insights-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed-insights</a></li></ul></div>\n <p class=\"flex--item fs-body1 fc-black-400 mb0\">See similar questions with these tags.</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n \n\n \n<div id=\"sidebar\" class=\"show-votes\" role=\"complementary\" aria-label=\"sidebar\">\n \n\n\n <div class=\"s-sidebarwidget s-sidebarwidget__yellow s-anchors s-anchors__grayscale mb16\" data-tracker=\"cb=1\">\n <ul class=\"s-sidebarwidget--content s-sidebarwidget__items p0\">\n <li class=\"s-sidebarwidget--header\">\n The Overflow Blog\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<svg aria-hidden=\"true\" class=\"va-text-top svg-icon iconPencilSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path fill=\"#F1B600\" d=\"m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z\"/><path fill=\"#E87C87\" d=\"m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0\"/></svg> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://stackoverflow.blog/2026/03/16/domain-expertise-still-wanted-the-latest-trends-in-ai/\" class=\"js-gps-track\" title=\"Domain expertise still wanted: the latest trends in AI-assisted knowledge for developers\" data-ga=\"["community bulletin board","The Overflow Blog","https://stackoverflow.blog/2026/03/16/domain-expertise-still-wanted-the-latest-trends-in-ai/",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 1, position: 0, location: questionpage })\">Domain expertise still wanted: the latest trends in AI-assisted knowledge for...</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<svg aria-hidden=\"true\" class=\"va-text-top svg-icon iconPencilSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path fill=\"#F1B600\" d=\"m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z\"/><path fill=\"#E87C87\" d=\"m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0\"/></svg> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://stackoverflow.blog/2026/03/17/keeping-the-lights-on-for-open-source/\" class=\"js-gps-track\" data-ga=\"["community bulletin board","The Overflow Blog","https://stackoverflow.blog/2026/03/17/keeping-the-lights-on-for-open-source/",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 1, position: 1, location: questionpage })\">Keeping the lights on for open source </a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--header\">\n Featured on Meta\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackexchangemeta\" title=\"Meta Stack Exchange\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackexchange.com/questions/417394/logo-updates-to-stack-overflows-visual-identity\" class=\"js-gps-track\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackexchange.com/questions/417394/logo-updates-to-stack-overflows-visual-identity",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 3, position: 2, location: questionpage })\">Logo updates to Stack Overflow's visual identity</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackoverflowmeta\" title=\"Meta Stack Overflow\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned\" class=\"js-gps-track\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 6, position: 3, location: questionpage })\">Policy: Generative AI (e.g., ChatGPT) is banned</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackoverflowmeta\" title=\"Meta Stack Overflow\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackoverflow.com/questions/438499/release-notes-and-bug-fixes-for-beta-stackoverflow-com\" class=\"js-gps-track\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackoverflow.com/questions/438499/release-notes-and-bug-fixes-for-beta-stackoverflow-com",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 6, position: 4, location: questionpage })\">Release notes and bug fixes for beta.stackoverflow.com</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackoverflowmeta\" title=\"Meta Stack Overflow\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackoverflow.com/questions/438369/i-m-jody-the-chief-product-and-technology-officer-at-stack-overflow-let-s-talk\" class=\"js-gps-track\" title=\"I’m Jody, the Chief Product and Technology Officer at Stack Overflow. Let’s talk about the site redesign\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackoverflow.com/questions/438369/i-m-jody-the-chief-product-and-technology-officer-at-stack-overflow-let-s-talk",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 6, position: 5, location: questionpage })\">I\u2019m Jody, the Chief Product and Technology Officer at Stack Overflow. Let\u2019s...</a>\n </div>\n </li>\n </ul>\n </div>\n\n<div class=\"js-zone-container zone-container-sidebar\">\n <div id=\"dfp-tsb\" class=\"everyonelovesstackoverflow everyoneloves__top-sidebar\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 300px\"></div>\n</div>\n<div class=\"js-zone-container zone-container-sidebar\">\n <div id=\"dfp-msb\" class=\"everyonelovesstackoverflow everyoneloves__mid-sidebar\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 300px\"></div>\n</div>\n<div id=\"hireme\"></div> \n<div id=\"fragment-container-788-973\" class=\"s-anchors mb24\"></div><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/fragment-proxy.en.js?v=5a551e6e4833\"></script><script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/fragment-proxy/index.mod\">{\"ContainerElementId\":\"fragment-container-788-973\",\"FragmentAddress\":\"/stackheartbeat/heartbeat\",\"TraceHeaders\":[]}</script>\n\n \n \n\n\n <div class=\"module sidebar-related\">\n <h4 id=\"h-related\">Related</h4>\n <div class=\"related js-gps-related-questions\" data-tracker=\"rq=3\">\n <div class=\"spacer\" data-question-id=\"10954236\">\n <a href=\"/questions/10954236/what-is-the-best-way-to-view-google-pagespeed-grade\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/10954236/what-is-the-best-way-to-view-google-pagespeed-grade\" class=\"question-hyperlink\">What is the best way to view google pagespeed grade?</a>\n </div>\n <div class=\"spacer\" data-question-id=\"11004964\">\n <a href=\"/questions/11004964/host-pagespeed-insights-on-my-own-server\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">1</div>\n </a>\n <a href=\"/questions/11004964/host-pagespeed-insights-on-my-own-server\" class=\"question-hyperlink\">Host pagespeed insights on my own server</a>\n </div>\n <div class=\"spacer\" data-question-id=\"37122041\">\n <a href=\"/questions/37122041/pagespeed-insights-api-limits\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">7</div>\n </a>\n <a href=\"/questions/37122041/pagespeed-insights-api-limits\" class=\"question-hyperlink\">PageSpeed Insights API limits</a>\n </div>\n <div class=\"spacer\" data-question-id=\"43368404\">\n <a href=\"/questions/43368404/how-to-save-pagespeed-insights-results-to-google-bigquery\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">1</div>\n </a>\n <a href=\"/questions/43368404/how-to-save-pagespeed-insights-results-to-google-bigquery\" class=\"question-hyperlink\">How to save PageSpeed Insights results to Google BigQuery?</a>\n </div>\n <div class=\"spacer\" data-question-id=\"50715099\">\n <a href=\"/questions/50715099/pull-pagespeed-in-seconds-from-chrome-user-experience-report-into-a-google-sheet\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/50715099/pull-pagespeed-in-seconds-from-chrome-user-experience-report-into-a-google-sheet\" class=\"question-hyperlink\">Pull pagespeed in seconds from Chrome User Experience Report into a google sheet</a>\n </div>\n <div class=\"spacer\" data-question-id=\"53497531\">\n <a href=\"/questions/53497531/google-page-speed-insights-score-in-v5\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes default\">1</div>\n </a>\n <a href=\"/questions/53497531/google-page-speed-insights-score-in-v5\" class=\"question-hyperlink\">Google Page Speed Insights Score in V5</a>\n </div>\n <div class=\"spacer\" data-question-id=\"53636725\">\n <a href=\"/questions/53636725/pagespeed-insights-api-v5\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">1</div>\n </a>\n <a href=\"/questions/53636725/pagespeed-insights-api-v5\" class=\"question-hyperlink\">PageSpeed Insights API V5</a>\n </div>\n <div class=\"spacer\" data-question-id=\"54886606\">\n <a href=\"/questions/54886606/pagespeed-insights-google\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes default\">0</div>\n </a>\n <a href=\"/questions/54886606/pagespeed-insights-google\" class=\"question-hyperlink\">PageSpeed insights Google</a>\n </div>\n <div class=\"spacer\" data-question-id=\"63986007\">\n <a href=\"/questions/63986007/geting-a-performance-score-in-page-insights\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/63986007/geting-a-performance-score-in-page-insights\" class=\"question-hyperlink\">Geting a ? Performance score in page insights</a>\n </div>\n <div class=\"spacer\" data-question-id=\"75244146\">\n <a href=\"/questions/75244146/pagespeed-insights-api-without-lighthouseresults\" title=\"Question score (upvotes - downvotes)\" >\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/75244146/pagespeed-insights-api-without-lighthouseresults\" class=\"question-hyperlink\">PageSpeed Insights API without LighthouseResults</a>\n </div>\n </div>\n </div>\n <script type=\"text/javascript\">\n $(function() {\n $(\".js-gps-related-questions .spacer\").on(\"click\", function () {\n fireRelatedEvent($(this).index() + 1, $(this).data('question-id'));\n });\n\n function fireRelatedEvent(position, questionId) {\n StackExchange.using(\"gps\", function() {\n StackExchange.gps.track('related_questions.click',\n {\n position: position,\n originQuestionId: 25806351,\n relatedQuestionId: +questionId,\n location: 'sidebar',\n source: 'Baseline'\n }); \n });\n }\n });\n </script>\n\n<div id=\"hot-network-questions\" class=\"module tex2jax_ignore\">\n <h4>\n <a href=\"https://stackexchange.com/questions?tab=hot\"\n class=\"js-gps-track s-link s-link__inherit\" \n data-gps-track=\"posts_hot_network.click({ item_type:1, location:11 })\">\n Hot Network Questions\n </a>\n </h4>\n <ul>\n <li >\n <div class=\"favicon favicon-physics\" title=\"Physics Stack Exchange\"></div><a href=\"https://physics.stackexchange.com/questions/870148/air-pressure-on-noahs-ark\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:151 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Air pressure on Noah's Ark\n </a>\n\n </li>\n <li >\n <div class=\"favicon favicon-puzzling\" title=\"Puzzling Stack Exchange\"></div><a href=\"https://puzzling.stackexchange.com/questions/137452/are-cycles-possible-in-the-game-cation\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Are cycles possible in the game Cation?\n </a>\n\n </li>\n <li >\n <div class=\"favicon favicon-math\" title=\"Mathematics Stack Exchange\"></div><a href=\"https://math.stackexchange.com/questions/5129188/clarification-on-covering-space-definition\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:69 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Clarification on Covering Space Definition\n </a>\n\n </li>\n <li >\n <div class=\"favicon favicon-puzzling\" title=\"Puzzling Stack Exchange\"></div><a href=\"https://puzzling.stackexchange.com/questions/137440/rulers-bots-cards-spots-which-country-am-i-from\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Rulers, bots, cards, spots. Which country am I from?\n </a>\n\n </li>\n <li >\n <div class=\"favicon favicon-mechanics\" title=\"Motor Vehicle Maintenance & Repair Stack Exchange\"></div><a href=\"https://mechanics.stackexchange.com/questions/102007/do-i-top-up-the-same-amount-of-new-engine-oil-as-much-as-i-drained-the-old-one\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:224 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Do I top up the same amount of new engine oil as much as I drained the old one?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-superuser\" title=\"Super User\"></div><a href=\"https://superuser.com/questions/1935947/fail2ban-regex-test-with-journald\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:3 }); posts_hot_network.click({ item_type:2, location:11 })\">\n fail2ban-regex test with journald\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-math\" title=\"Mathematics Stack Exchange\"></div><a href=\"https://math.stackexchange.com/questions/5129101/is-any-countably-infinite-set-meager\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:69 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Is any countably infinite set meager?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-literature\" title=\"Literature Stack Exchange\"></div><a href=\"https://literature.stackexchange.com/questions/31787/trying-to-find-poem-by-poc-quoting-walk-on-the-wild-side\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:668 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Trying to find poem by POC quoting "Walk on the wild side"\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-ell\" title=\"English Language Learners Stack Exchange\"></div><a href=\"https://ell.stackexchange.com/questions/374319/does-a-string-for-fastening-a-dress-need-to-go-through-holes-to-be-called-a-lace\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:481 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Does a string for fastening a dress need to go through holes to be called a lace or not need to go through holes?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-opensource\" title=\"Open Source Stack Exchange\"></div><a href=\"https://opensource.stackexchange.com/questions/15718/undoing-the-eupl-1-2-provisions-on-providing-access-to-essential-functionalitie\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:619 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Undoing the EUPL 1.2 provisions on "providing access to essential functionalities"\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-codereview\" title=\"Code Review Stack Exchange\"></div><a href=\"https://codereview.stackexchange.com/questions/301627/is-this-a-pythonic-way-to-check-if-an-hour-falls-within-tuple-ranges\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:196 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Is this a Pythonic way to check if an hour falls within tuple ranges?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-codereview\" title=\"Code Review Stack Exchange\"></div><a href=\"https://codereview.stackexchange.com/questions/301626/simple-boostasio-server-and-receiver-in-one-class\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:196 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Simple Boost::Asio Server and Receiver in one class\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-diy\" title=\"Home Improvement Stack Exchange\"></div><a href=\"https://diy.stackexchange.com/questions/329614/how-can-i-improve-this-drywall-patch\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:73 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How can I improve this drywall patch?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-mathematica\" title=\"Mathematica Stack Exchange\"></div><a href=\"https://mathematica.stackexchange.com/questions/319030/pubchem-service-no-longer-supports-a-list-of-compoundid-specifications\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:387 }); posts_hot_network.click({ item_type:2, location:11 })\">\n PubChem Service no longer supports a list of CompoundID specifications\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-blender\" title=\"Blender Stack Exchange\"></div><a href=\"https://blender.stackexchange.com/questions/345749/how-to-avoid-glitches-when-using-trim-curve-in-geometry-nodes-to-trim-start-of-a\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:502 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How to avoid glitches when using Trim Curve in Geometry Nodes to trim start of a curve?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-writing\" title=\"Writing Stack Exchange\"></div><a href=\"https://writing.stackexchange.com/questions/72315/how-does-one-write-an-emergency-alert-notification-in-a-novel\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:166 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How does one write an emergency alert notification in a novel?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-stats\" title=\"Cross Validated\"></div><a href=\"https://stats.stackexchange.com/questions/675221/how-should-one-structure-a-single-dataset-for-pre-specified-hypothesis-testing\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:65 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How should one structure a single dataset for pre-specified hypothesis testing, exploratory hypothesis generation, and final ML evaluation?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-hermeneutics\" title=\"Biblical Hermeneutics Stack Exchange\"></div><a href=\"https://hermeneutics.stackexchange.com/questions/115380/how-to-reconcile-2-corinthians-510-with-god-remembering-sins-no-more\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:320 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How to reconcile 2 Corinthians 5:10 with God “remembering sins no more”?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-mathoverflow\" title=\"MathOverflow\"></div><a href=\"https://mathoverflow.net/questions/509255/can-grade-be-used-to-determine-when-a-sequence-is-regular\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:504 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Can grade be used to determine when a sequence is regular?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-scifi\" title=\"Science Fiction & Fantasy Stack Exchange\"></div><a href=\"https://scifi.stackexchange.com/questions/303709/looking-for-info-on-a-short-story-by-brian-mooney\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:186 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Looking for info on a short story by Brian Mooney\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-worldbuilding\" title=\"Worldbuilding Stack Exchange\"></div><a href=\"https://worldbuilding.stackexchange.com/questions/272922/steampunk-lightbulb-without-electricity\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:579 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Steampunk lightbulb without electricity\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-unix\" title=\"Unix & Linux Stack Exchange\"></div><a href=\"https://unix.stackexchange.com/questions/805065/how-to-find-the-apropriate-font-file-for-a-certain-special-character-using-bash\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:106 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How to find the apropriate font-file for a certain special character using bash terminal\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-scifi\" title=\"Science Fiction & Fantasy Stack Exchange\"></div><a href=\"https://scifi.stackexchange.com/questions/303731/short-story-maybe-by-stephen-king-about-a-woman-who-learns-that-her-boyfriend\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:186 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Short story, maybe by Stephen King, about a woman who learns that her boyfriend (husband?) has been manipulating reality to get her\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-physics\" title=\"Physics Stack Exchange\"></div><a href=\"https://physics.stackexchange.com/questions/870190/what-is-the-evaluation-order-of-sign-and-unit-in-physical-quantities\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:151 }); posts_hot_network.click({ item_type:2, location:11 })\">\n What is the evaluation order of sign and unit in physical quantities?\n </a>\n\n </li>\n </ul>\n\n <a href=\"#\" \n class=\"show-more js-show-more js-gps-track\" \n data-gps-track=\"posts_hot_network.click({ item_type:3, location:11 })\">\n more hot questions\n </a>\n</div> <div id=\"feed-link\" class=\"js-feed-link\">\n <a href=\"/feeds/question/25806351\" title=\"Feed of this question and its answers\">\n <svg aria-hidden=\"true\" class=\"fc-orange-400 svg-icon iconRss\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z\"/></svg>\n Question feed\n </a>\n </div>\n <aside class=\"s-modal js-feed-link-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"feed-modal-title\" aria-describedby=\"feed-modal-description\" aria-hidden=\"true\">\n <div class=\"s-modal--dialog js-modal-dialog wmx4\" role=\"document\" data-controller=\"se-draggable\">\n <h1 class=\"s-modal--header fw-bold js-first-tabbable\" id=\"feed-modal-title\" data-se-draggable-target=\"handle\" tabindex=\"0\">\n Subscribe to RSS\n </h1>\n <div class=\"d-flex gs4 gsy fd-column\">\n <div class=\"flex--item\">\n <label class=\"d-block s-label c-default\" for=\"feed-url\">\n Question feed\n <p class=\"s-description mt2\" id=\"feed-modal-description\">To subscribe to this RSS feed, copy and paste this URL into your RSS reader.</p>\n </label>\n </div>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input\" type=\"text\" name=\"feed-url\" id=\"feed-url\" readonly=\"readonly\" value=\"https://stackoverflow.com/feeds/question/25806351\" />\n <svg aria-hidden=\"true\" class=\"s-input-icon fc-orange-400 svg-icon iconRss\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z\"/></svg>\n </div>\n </div>\n <a class=\"s-modal--close s-btn s-btn__muted js-modal-close js-last-tabbable\" href=\"#\" aria-label=\"Close\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClearSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z\"/></svg>\n </a>\n </div>\n </aside>\n\n</div>\n\n </div>\n\n<script>StackExchange.ready(function(){$.get('/posts/25806351/ivc/8e04?prg=bcfeb82d-dfa6-412a-8f41-e1988c162142');});</script>\n<noscript><div><img src=\"/posts/25806351/ivc/8e04?prg=bcfeb82d-dfa6-412a-8f41-e1988c162142\" class=\"dno\" alt=\"\" width=\"0\" height=\"0\"></div></noscript><div style=\"display:none\" id=\"js-codeblock-lang\"></div>\n <div id=\"js-follow-ups-flag-modal\"></div>\n <div id=\"js-follow-ups-mention\"></div>\n</div>\n\n\n\n\n<script defer src=\"https://stackoverflow.com/Content/Js/questions/show.en.js?v=fd2a34b4878f\"></script>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"entry-points/questions/show.mod\">{\"doMarkObsolete\":false,\"doTimeOnPage\":false,\"sendAnswerEditorEventsToAEH\":true,\"sendAnswerEditorEventsToPrizm\":true,\"questionId\":25806351,\"sendAuthQuestionVisitToAEH\":false,\"sendAuthQuestionVisitToPrizm\":false,\"answerCount\":3,\"followUpsUIExperimentGroup\":\"excluded\",\"tags\":[\"google-chrome\",\"google-chrome-extension\",\"frontend\",\"pagespeed\",\"pagespeed-insights\"]}</script>\n\n\n\n\n<script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte-labs.en.js?v=bc7112df14a4\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1130.en.js?v=8bb363934465\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/6457.en.js?v=341577cbad05\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1383.en.js?v=fb8605a674b1\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2458.en.js?v=33cc3da05f78\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2269.en.js?v=17778cad1acb\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9986.en.js?v=e08f19c49de1\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/follow-ups.en.js?v=01f88a90936e\"></script>\n\n<script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/follow-ups-flag-modal.en.js?v=21c3d99e84ac\"></script>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups-flag-modal/index.mod\">{\"ContainerElementId\":\"js-follow-ups-flag-modal\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"ShowSpamFlag\":true,\"MergeUnfriendlyAndRudeFlags\":true,\"EnableCodeOfConduct\":true}</script>\n\n\n<div id=\"js-follow-ups-experiment-group\" data-value=\"test\" class=\"d-none\" data-site-url=\"\"></div>\n\n\n\n<div id=\"redirect-action-modal-container\"></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/redirect-action-modal/index.mod\">{\"ContainerElementId\":\"redirect-action-modal-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"UpvoteHeaderImageUrl\":\"https://stackoverflow.com/Content/Img/modal/img-upvote.png?v=fce73bd9724d\",\"DownvoteHeaderImageUrl\":\"https://stackoverflow.com/Content/Img/modal/img-downvote.png?v=d15b4e291f8c\",\"EnableUpvoteModal\":true,\"SuggestEditAvailable\":true,\"PostTagNames\":[\"google-chrome\",\"google-chrome-extension\",\"frontend\",\"pagespeed\",\"pagespeed-insights\"],\"EnableFreeVotesModal\":false,\"FreeVotesHeaderImageUrl\":\"https://stackoverflow.com/Content/Img/modal/img-free-votes.png?v=1c5aa3dac50b\",\"FreeVotesEarnReputationHelpCenterUrl\":\"https://stackoverflow.com/help/whats-reputation\",\"FreeVotesLearnMoreHelpCenterUrl\":\"https://stackoverflow.com/help/whats-free-votes\",\"HasUpvotePrivilege\":false,\"EnableDownVoteRepRequiredRedirectActionPopover\":true,\"AnswerDownVoteRepChange\":1}</script>\n<script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer src=\"https://stackoverflow.com/Content/Js/islands/redirect-action-modal.en.js?v=257fd22971c2\"></script>\n\n </div>\n </div>\n\n \n\n \n <footer id=\"footer\" class=\"site-footer js-footer theme-light__forced\" role=\"contentinfo\">\n <div class=\"site-footer--container\">\n <div class=\"site-footer--logo\">\n\n <a href=\"https://stackoverflow.com\" aria-label=\"Stack Overflow\"><svg aria-hidden=\"true\" class=\"fc-black-300 svg-icon iconGlyphNewMd\" width=\"32\" height=\"38\" viewBox=\"0 0 32 38\"><path fill=\"currentColor\" d=\"m27.36 20.12.05.03-.01.02za23 23 0 0 0-3.03 5.1l-.04.09Q23.14 28 22.71 31v.03a23 23 0 0 0-.06 5.98H0V31h19.66q.05-.38.12-.74L.85 25.25l1.58-5.81 19.17 5.07.27-.57-17.2-9.81 3.04-5.2 17.46 9.94.43-.48L11.29 4.26l4.3-4.25 14.54 14.35 1.54 1.52a23 23 0 0 0-4.31 4.24\"/></svg></a>\n </div>\n <nav class=\"site-footer--nav\" aria-label=\"Footer\">\n <div class=\"site-footer--col\">\n <h5 class=\"-title\"><a href=\"https://stackoverflow.com\" class=\"js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 15})\">Stack Overflow</a></h5>\n <ul class=\"-list js-primary-footer-links\">\n <li><a href=\"/questions\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 16})\">Questions</a></li>\n <li><a href=\"/help\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 3 })\">Help</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 5 })\" href=\"https://chat.stackoverflow.com/?tab=explore\">Chat</a></li>\n </ul>\n </div>\n <div class=\"site-footer--col\">\n <h5 class=\"-title\"><a href=\"https://stackoverflow.co/\" class=\"js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 19 })\">Business</a></h5>\n <ul class=\"-list\">\n <li><a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=teams\" class=\"js-gps-track -link\" data-ga=\"["teams traffic","footer - site nav","stackoverflow.com/teams",null,{"dimension4":"teams"}]\" data-gps-track=\"footer.click({ location: 2, link: 29 })\">Stack Internal</a></li>\n <li><a href=\"https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=data-licensing\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 44 })\">Stack Data Licensing</a></li>\n <li><a href=\"https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=advertising\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 21 })\">Stack Ads</a></li>\n </ul>\n </div>\n <div class=\"site-footer--col\">\n <h5 class=\"-title\"><a class=\"js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 1 })\" href=\"https://stackoverflow.co/\">Company</a></h5>\n <ul class=\"-list\">\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 1 })\" href=\"https://stackoverflow.co/\">About</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 27 })\" href=\"https://stackoverflow.co/company/press/\">Press</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 9 })\" href=\"https://stackoverflow.co/company/work-here/\">Work Here</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 7 })\" href=\"https://stackoverflow.com/legal\">Legal</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 8 })\" href=\"https://stackoverflow.com/legal/privacy-policy\">Privacy Policy</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 37 })\" href=\"https://stackoverflow.com/legal/terms-of-service/public\">Terms of Service</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 13 })\" href=\"/contact\">Contact Us</a></li>\n <li id=\"consent-footer-link\"><button type=\"button\" data-controller=\"cookie-settings\" data-action=\"click->cookie-settings#toggle\" class=\"s-btn s-btn__link py4 js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 38 })\" data-consent-popup-loader=\"footer\">\nYour Privacy Choices <svg aria-hidden=\"true\" class=\"svg-icon iconCCPA\" width=\"29\" height=\"14\" viewBox=\"0 0 29 14\"><path fill=\"#06F\" d=\"M6.95 0h15.1A7 7 0 0 1 29 7c0 3.9-3.08 7-6.95 7H6.95A6.93 6.93 0 0 1 0 7c0-3.9 3.08-7 6.95-7m0 1.2A5.8 5.8 0 0 0 1.2 7c0 3.2 2.58 5.8 5.76 5.8h6.76l3.07-11.6zm17.08 3.6c.2-.2.2-.6 0-.8a.6.6 0 0 0-.79 0l-2.19 2.2L18.87 4a.6.6 0 0 0-.8 0c-.2.2-.2.6 0 .8l2.2 2.2-2.09 2.2c-.2.2-.2.6 0 .8s.6.2.8 0l2.18-2.2 2.19 2.2c.2.2.6.2.8 0s.2-.6 0-.8L21.93 7zM12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7a.6.6 0 0 1 0-.8c.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0\"/></svg> </button></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 39 })\" href=\"https://policies.stackoverflow.co/stack-overflow/cookie-policy\">Cookie Policy</a></li>\n </ul>\n </div>\n <div class=\"site-footer--col site-footer--categories-nav\">\n <div>\n <h5 class=\"-title\"><a href=\"https://stackexchange.com\" data-gps-track=\"footer.click({ location: 2, link: 30 })\">Stack Exchange Network</a></h5>\n <ul class=\"-list\">\n <li>\n <a href=\"https://stackexchange.com/sites#technology\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Technology\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#culturerecreation\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Culture & recreation\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#lifearts\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Life & arts\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#science\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Science\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#professional\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Professional\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#business\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Business\n </a>\n </li>\n\n <li class=\"mt16 md:mt0\">\n <a href=\"https://api.stackexchange.com/\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n API\n </a>\n </li>\n\n <li>\n <a href=\"https://data.stackexchange.com/\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Data\n </a>\n </li>\n </ul>\n </div>\n </div>\n </nav>\n <div class=\"site-footer--copyright fs-fine md:mt24\">\n <ul class=\"-list -social md:mb8\">\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link:4 })\" href=\"https://stackoverflow.blog?blb=1\">Blog</a></li>\n <li><a href=\"https://www.facebook.com/officialstackoverflow/\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 31 })\">Facebook</a></li>\n <li><a href=\"https://twitter.com/stackoverflow\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 32 })\">Twitter</a></li>\n <li><a href=\"https://linkedin.com/company/stack-overflow\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 33 })\">LinkedIn</a></li>\n <li><a href=\"https://www.instagram.com/thestackoverflow\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 36 })\">Instagram</a></li>\n </ul>\n\n <p class=\"md:mb0\">\n <span>Site design / logo \u00a9 2026 Stack Exchange Inc; </span>\n <span>user contributions licensed under </span>\n <a class=\"-link s-link td-underline\" href=\"https://stackoverflow.com/help/licensing\">CC BY-SA</a>\n <span>. </span>\n <span id=\"svnrev\">rev 2026.3.18.41202</span>\n </p>\n </div>\n </div>\n\n </footer>\n\n\n \n\n\n\n <script>\n window.dataLayer = window.dataLayer || [];\n function gtag() { dataLayer.push(arguments); }\n\n gtag('consent', 'default', {\n 'ad_storage': 'denied',\n 'analytics_storage': 'denied',\n 'ad_user_data': 'denied',\n 'ad_personalization': 'denied'\n });\n </script>\n <!-- Google tag (gtag.js) -->\n <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-WCZ03SZFCQ\"></script>\n <script>\n window.dataLayer = window.dataLayer || [];\n function gtag() { dataLayer.push(arguments); }\n </script>\n <script>\n function initGa() {\n var customGA4Dimensions = {};\n\n\n customGA4Dimensions[\"requestid\"] = \"bcfeb82d-dfa6-412a-8f41-e1988c162142\";\n\n customGA4Dimensions[\"routename\"] = \"Questions/Show\";\n\n\n customGA4Dimensions[\"post_id\"] = \"25806351\";\n\n\n customGA4Dimensions[\"tags\"] = \"|google-chrome|google-chrome-extension|frontend|pagespeed|pagespeed-insights|\";\n\n\n var ga4Settings = {\n tracker: gtag,\n trackingCodes: [\n 'G-WCZ03SZFCQ'\n ],\n consentsToPerformanceCookies: \"denied\",\n consentsToTargetingCookies: \"denied\",\n eventParameters: customGA4Dimensions,\n checkForAdBlock: true,\n sendTitles: true,\n trackClicks: false,\n };\n\n StackExchange.ga.init({ GA4: ga4Settings });\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", initGa);\n } else {\n initGa();\n }\n </script>\n\n \n <script type=\"text/javascript\">\n var cam = cam || { opt: {} };\n var clcGamLoaderOptions = cam || { opt: {} };\n var opt = clcGamLoaderOptions.opt;\n\n opt.omni = 'BwoLCOD5m4GF64I_EAUYj4ynDCACKAI6TXxnb29nbGUtY2hyb21lfGdvb2dsZS1jaHJvbWUtZXh0ZW5zaW9ufGZyb250ZW5kfHBhZ2VzcGVlZHxwYWdlc3BlZWQtaW5zaWdodHN8SACOLp7AUc6tJnuK';\n\n opt.refresh = !1;\n opt.refreshInterval = 30;\n opt.sf = !0;\n opt.hb = !1;\n opt.ll = !0;\n opt.tlb_position = 0;\n\n opt.personalization_consent = false;\n opt.targeting_consent_set = false;\n opt.performance_consent_set = false;\n opt.targeting_consent = false;\n opt.performance_consent = false;\n\n opt.targeting = {Registered:['false'],Reputation:['new'],Moderator:['false'],'so-tag':['google-chrome','google-chrome-extension','frontend','pagespeed','pagespeed-insights'],'tag-reportable':['google-chrome','google-chrome-extension','frontend','pagespeed','pagespeed-insights'],NumberOfAnswers:['3'],cf_bot_score:'91 - 99'};\n opt.acceptableAdsEnabled = !0;\n opt.adReportEnabled = !0;\n opt.adReportUrl = '/ads/report-ad';\n opt.adReportText = 'Report this ad';\n\topt.adReportFileTypeErrorMessage = 'Please select a PNG or JPG file.';\n opt.adReportFileSizeErrorMessage = 'The file must be under 2 MiB.';\n\topt.adReportErrorText = 'Error uploading ad report.';\n\topt.adReportThanksText = 'Thanks for your feedback. We\u2019ll review this against our code of conduct and take action if necessary.';\n opt.adReportLoginExpiredMessage = 'Your login session has expired, please login and try again.';\n opt.adReportLoginErrorMessage = 'An error occurred when loading the report form - please try again';\n\topt.adReportModalClass = 'js-ad-report';\n opt.countryCode = 'US';\n opt.hasOptedOut = false;\n opt.forcingGam = false;\n opt.qualtricsSurveyData = '{\"isRegistered\":\"False\",\"repBucket\":\"new\",\"referrer\":\"https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\",\"accountAge\":\"0\"}';\n\n opt.reducedAdsPrivilege = false;\n\n opt.perRequestGuid = 'bcfeb82d-dfa6-412a-8f41-e1988c162142';\n opt.responseHash = 'heFSAN3AnRgXvX/Ov3Qy44aTnx/xY92jxTn3oSmlNX8=';\n\n\n opt.targeting.TargetingConsent = ['False_Passive'];\n opt.allowAccountTargetingForThisRequest = !0;\n\n const urlParams = new URLSearchParams(window.location.search);\n if (urlParams.has('dfptestads')) {\n const dfptestads = urlParams.get('dfptestads');\n opt.targeting.DfpTestAds = dfptestads;\n }\n\n\n\n opt.targeting.loader_script = 'longitude';\n</script>\n<script>;(()=>{\"use strict\";var __webpack_modules__={23:(e,t,s)=>{s.d(t,{Qc:()=>m,Z7:()=>h,eq:()=>g,kG:()=>c,ll:()=>u,xQ:()=>l,ys:()=>r,z0:()=>p});const n=\"248424177\",a=r(location.pathname),o=\"ai-assist\";function r(e){return/^\\/tags\\//.test(e)||/^\\/questions\\/tagged\\//.test(e)?\"tag-pages\":/^\\/discussions\\//.test(e)||/^\\/beta\\/discussions/.test(e)?\"discussions\":/^\\/$/.test(e)||/^\\/home/.test(e)?\"home-page\":/^\\/ai-assist/.test(e)?\"ai-assist\":/^\\/jobs$/.test(e)||/^\\/jobs\\//.test(e)?\"jobs\":\"question-pages\"}let i=location.hostname;const d={slots:{lb:[[728,90]],mlb:[[728,90]],smlb:[[728,90]],bmlb:[[728,90]],sb:e=>\"dfp-tsb\"===e?[[300,250],[300,600]]:[[300,250]],\"tag-sponsorship\":[[730,135]],\"mobile-below-question\":[[320,50],[300,250]],msb:[[300,250],[300,600]],\"talent-conversion-tracking\":[[1,1]],\"site-sponsorship\":[[230,60]],\"native-question\":[\"fluid\"]},ids:{\"dfp-tlb\":\"lb\",\"dfp-mlb\":\"mlb\",\"dfp-smlb\":\"smlb\",\"dfp-bmlb\":\"bmlb\",\"dfp-tsb\":\"sb\",\"dfp-isb\":\"sb\",\"dfp-tag\":\"tag-sponsorship\",\"dfp-msb\":\"msb\",\"dfp-sspon\":\"site-sponsorship\",\"dfp-nativequestion-*\":\"native-question\",\"dfp-m-aq\":\"mobile-below-question\"},idsToExcludeFromAdReports:[\"dfp-sspon\"]};function l(){return o}function c(){return Object.keys(d.ids)}function g(e){return d.idsToExcludeFromAdReports.indexOf(e)<0}function p(e){return e.indexOf(\"/native-question/\")>=0}function m(){return(/^beta\\./.test(location.hostname)||\"localhost\"===location.hostname)&&/^\\/?$/.test(location.pathname)}function h(e,t){var s=e.split(\"_\")[0],o=d.ids[s];if(!o)for(var r=Object.keys(d.ids),l=0;l<r.length;l++)if(r[l].indexOf(\"*\")>=0){var c=r[l].substring(0,r[l].length-1);s.indexOf(c)>=0&&(o=d.ids[r[l]])}let g=d.slots[o];\"function\"==typeof g&&(g=g(s));var p=t||i;return\"beta.stackoverflow.com\"===p&&(p=\"stackoverflow.com\"),{path:`/${n}/${p}/${o}/${a}`,sizes:g,zone:o}}function u(){for(var e=[\"dfp-tlb\",\"dfp-mlb\",\"dfp-smlb\",\"dfp-bmlb\"],t=0;t<e.length;t++){var s=document.getElementById(e[t]);s&&s.parentNode.remove()}}},865:(e,t,s)=>{function n(e){return\"string\"==typeof e?document.getElementById(e):e}function a(e){return!!(e=n(e))&&\"none\"===getComputedStyle(e).display}function o(e){return!a(e)}function r(e){return!!e}function i(e){return/^\\s*$/.test(n(e).innerHTML)}function d(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight=\"auto\",t.display=\"none\",[].forEach.call(e.children,d)}function l(e){const t=document.createElement(\"script\");t.src=e,document.body.appendChild(t)}function c(e){return s=e,(t=[]).push=function(e){return s(),delete this.push,this.push(e)},t;var t,s}function g(e){let t=\"function\"==typeof HTMLTemplateElement;var s=document.createElement(t?\"template\":\"div\");return e=e.trim(),s.innerHTML=e,t?s.content.firstChild:s.firstChild}s.d(t,{Bv:()=>g,Gx:()=>l,Nj:()=>n,QZ:()=>c,pn:()=>o,wo:()=>d,xb:()=>i,xj:()=>a,yb:()=>r})},147:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{t:()=>AdReports});var _common_helper__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(865),_console__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(406),_ad_units__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(23);window.googletag=window.googletag||{cmd:[]};class AdReports{constructor(e){this.cam=e,this.allowedFileTypes=[\"image/png\",\"image/jpg\",\"image/jpeg\"],this.ignoreValidation=!1,_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Ad reporting init\"),googletag.cmd.push(()=>{if(this.cam=e,this.callOnButtonClick=e=>this.onButtonClick(e),googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.handleSlotRendered(e)),Array.isArray(e.slotsRenderedEvents)){_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Adding report button to \"+e.slotsRenderedEvents.length+\" events that have transpired\");for(var t=0;t<e.slotsRenderedEvents.length;t++)this.handleSlotRendered(e.slotsRenderedEvents[t])}})}handleSlotRendered(e){if(e&&e.slot&&!e.isEmpty&&(e.creativeId||e.lineItemId||!e.isEmpty)){var t=e.slot.getSlotElementId(),s=e.slot.getAdUnitPath();if(t){var n=document.getElementById(t);if(n)if((0,_ad_units__WEBPACK_IMPORTED_MODULE_0__.eq)(t)){var a=n?.closest(\".js-zone-container\"),o=n?.closest(\".js-zone-container\")?.querySelector(\".js-report-ad-button-container\");o?(o.innerHTML=\"\",o.append(this.createButton(e)),o.style.height=\"24px\",_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Added report button to the bottom of \"+t)):_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Ad report button not found, may be intentional, element: \"+t),a&&(0,_ad_units__WEBPACK_IMPORTED_MODULE_0__.z0)(s)&&(a.classList.add(\"bb\"),a.classList.add(\"mt24\"))}else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of \"+t+\": shouldHaveReportButton = false\");else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of \"+t+\": resolved invalid adUnit element\")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of element: invalid adUnitElementId\")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of element: invalid SlotRenderEndedEvent\")}async onButtonClick(e){e.preventDefault();let t=e.target;const s=t.dataset.modalUrl,n=t.dataset.googleEventData;return await this.loadModal(s,t,n),!1}createButton(e){let t=document.createElement(\"button\");var s=JSON.stringify(e);return t.dataset.googleEventData=s,t.dataset.modalUrl=this.cam.opt.adReportUrl,t.dataset.adUnit=e.slot.getSlotElementId(),t.classList.add(\"js-report-ad\",\"s-btn\",\"s-btn__link\",\"fs-fine\",\"mt2\",\"float-right\"),t.append(document.createTextNode(this.cam.opt.adReportText)),t.removeEventListener(\"click\",this.callOnButtonClick),t.addEventListener(\"click\",this.callOnButtonClick),t}async loadModal(url,$link,googleEventData){try{await window.StackExchange.helpers.loadModal(url,{returnElements:window.$($link)}),this.initForm(googleEventData)}catch(e){var message=\"\",response=e.responseText?eval(`(${e.responseText})`):null;message=response&&response.isLoggedOut?this.cam.opt.adReportLoginExpiredMessage:this.cam.opt.adReportLoginErrorMessage,window.StackExchange.helpers.showToast(message,{type:\"danger\"})}}removeModal(){window.StackExchange.helpers.closePopups(document.querySelectorAll(\".\"+this.cam.opt.adReportModalClass),\"dismiss\")}initForm(e,t=!1){this.ignoreValidation=t,this.$form=document.querySelector(\".js-ad-report-form\"),this.$googleEventData=this.$form.querySelector(\".js-json-data\"),this.$adReportReasons=this.$form.querySelectorAll(\".js-ad-report-reason\"),this.$adReportReasonOther=this.$form.querySelector(\".js-ad-report-reason-other\"),this.$fileUploaderInput=this.$form.querySelector(\".js-file-uploader-input\"),this.$imageUploader=this.$form.querySelector(\".js-image-uploader\"),this.$clearImageUpload=this.$form.querySelector(\".js-clear-image-upload\"),this.$imageUploaderText=this.$form.querySelector(\".js-image-uploader-text\"),this.$imageUploaderPreview=this.$form.querySelector(\".js-image-uploader-preview\"),this.$fileErrorMessage=this.$form.querySelector(\".js-file-error\");const s=this.$form.querySelector(\".js-drag-drop-enabled\"),n=this.$form.querySelector(\".js-drag-drop-disabled\");this.$googleEventData.value=e,this.$adReportReasons.forEach((e,t)=>e.addEventListener(\"change\",e=>{this.$adReportReasonOther.classList.toggle(\"d-none\",\"3\"!==e.target.value)})),this.$fileUploaderInput.addEventListener(\"change\",()=>{this.validateFileInput()&&this.updateImagePreview(this.$fileUploaderInput.files)}),this.$clearImageUpload.addEventListener(\"click\",e=>{e.preventDefault(),this.clearImageUpload()});try{this.$fileUploaderInput[0].value=\"\",this.$imageUploader.addEventListener(\"dragenter dragover dragleave drop\",this.preventDefaults),this.$imageUploader.addEventListener(\"dragenter dragover\",this.handleDragStart),this.$imageUploader.addEventListener(\"dragleave drop\",this.handleDragEnd),this.$imageUploader.addEventListener(\"drop\",this.handleDrop)}catch(e){s.classList.add(\"d-none\"),n.classList.remove(\"d-none\")}this.$form.removeEventListener(\"\",this.handleDragEnd),this.$form.addEventListener(\"submit\",async e=>(e.preventDefault(),this.submitForm(),!1))}clearImageUpload(){this.$fileUploaderInput.value=\"\",this.$imageUploaderPreview.setAttribute(\"src\",\"\"),this.$imageUploaderPreview.classList.add(\"d-none\"),this.$clearImageUpload.classList.add(\"d-none\"),this.$imageUploaderText.classList.remove(\"d-none\"),this.$imageUploader.classList.add(\"p16\",\"ba\",\"bas-dashed\",\"bc-black-100\")}preventDefaults(e){e.preventDefault(),e.stopPropagation()}handleDragStart(e){this.$imageUploader.classList.remove(\"bas-dashed\"),this.$imageUploader.classList.add(\"bas-solid\",\"bc-black-100\")}handleDragEnd(e){this.$imageUploader.classList.remove(\"bas-solid\",\"bc-black-100\"),this.$imageUploader.classList.add(\"bas-dashed\")}handleDrop(e){var t=e.originalEvent.dataTransfer.files;FileReader&&t&&1===t.length&&(this.$fileUploaderInput.files=t,this.validateFileInput()&&this.updateImagePreview(t))}setError(e){this.$fileErrorMessage.parentElement.classList.toggle(\"has-error\",e)}updateImagePreview(e){this.$imageUploader.classList.remove(\"p16\",\"ba\",\"bas-dashed\",\"bc-black-100\"),this.$clearImageUpload.classList.remove(\"d-none\"),this.$imageUploaderText.classList.add(\"d-none\");var t=new FileReader;t.onload=e=>{null!=e.target&&(this.$imageUploaderPreview.setAttribute(\"src\",e.target.result),this.$imageUploaderPreview.classList.remove(\"d-none\"))},t.readAsDataURL(e[0])}validateFileInput(){if(this.ignoreValidation)return!0;const e=this.cam.opt.adReportFileTypeErrorMessage,t=this.cam.opt.adReportFileSizeErrorMessage;if(null==this.$fileUploaderInput.files)return!1;var s=this.$fileUploaderInput.files[0];return null==s?(this.setError(!0),!1):this.allowedFileTypes.indexOf(s.type)<0?(this.$fileErrorMessage.textContent=e,this.$fileErrorMessage.classList.remove(\"d-none\"),this.setError(!0),!1):s.size>2097152?(this.$fileErrorMessage.textContent=t,this.$fileErrorMessage.classList.remove(\"d-none\"),this.setError(!0),!1):(this.$fileErrorMessage.classList.add(\"d-none\"),this.setError(!1),!0)}async gatherDiagnosticInfo(){return{BrowserVersion:await this.getBrowserVersion()}}getElementSource(e){return e.outerHTML}getNestedIFrameElement(e){var t=e.querySelector(\"iframe\");return t.contentDocument?t.contentDocument.documentElement:t.contentWindow.document.documentElement}async getBrowserVersion(){try{return await window.navigator.userAgentData.getHighEntropyValues([\"fullVersionList\"]).then(e=>JSON.stringify(e.fullVersionList))}catch(e){return\"\"}}async submitForm(){if(!this.validateFileInput())return!1;this.$form.querySelector(\"[type=submit]\").setAttribute(\"disabled\",\"true\");var e=JSON.parse(this.$googleEventData.value||\"{}\");e.Reason=parseInt(this.$form.querySelector(\".js-ad-report-reason:checked\").value,10),e.Description=this.$adReportReasonOther.value,this.$googleEventData.value=JSON.stringify(e);var t=new FormData(this.$form);if(\"1\"===t.get(\"shareDiagnosticInfo\")){var s=await this.gatherDiagnosticInfo();Object.keys(s).forEach(e=>t.append(e,s[e]))}try{const e=await window.fetch(this.$form.getAttribute(\"action\"),{method:this.$form.getAttribute(\"method\"),body:t,cache:\"no-cache\"}),s=e.headers.get(\"content-type\")||\"\",a=await e.text();if(!e.ok)throw new Error(\"response not valid\");if(0===s.indexOf(\"text/html\")){var n=(0,_common_helper__WEBPACK_IMPORTED_MODULE_2__.Bv)(a);const e=n?n.querySelector(\".js-modal-content\"):null;if(_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"$popupContent\"),_console__WEBPACK_IMPORTED_MODULE_1__.cM(e),!e)throw new Error(`Could not find .js-modal-content in response from ${this.$form.getAttribute(\"action\")}`);document.querySelector(\".js-modal-content\").replaceWith(e)}else window.StackExchange.helpers.showToast(this.cam.opt.adReportThanksText,{type:\"success\"}),this.removeModal()}catch(e){window.StackExchange.helpers.showToast(this.cam.opt.adReportErrorText,{type:\"danger\"})}finally{let e=this.$form.querySelector(\"[type=submit]\");e&&e.removeAttribute(\"disabled\")}}}},406:(e,t,s)=>{function n(...e){}function a(...e){}s.d(t,{cM:()=>n,vU:()=>a})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var s=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](s,s.exports,__webpack_require__),s.exports}__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};(()=>{var e=__webpack_require__(406),t=(e=>(e[e.Above=0]=\"Above\",e[e.Below=1]=\"Below\",e))(t||{});const s=Object.assign({},{\"lib\":\"https://clc.stackoverflow.com/Content/bundles/js/longitude_loader_script.bundle.435.0190fd42175b12299d8f.js?v=857612375a1a\",\"style\":null,\"u\":null,\"wa\":true,\"kt\":2000,\"tto\":true,\"h\":\"clc.stackoverflow.com\",\"allowed\":\"^(((talent\\\\.|beta\\\\.)?stackoverflow)|(blog\\\\.codinghorror)|(serverfault|askubuntu)|([^\\\\.]+\\\\.stackexchange))\\\\.com$\",\"wv\":true,\"al\":false,\"abd\":true,\"cpa_liid\":[5882654614],\"cpa_cid\":[138377597667],\"dp\":false,\"tgt_to\":1000,\"tgt_u\":\"http://clc.stackoverflow.com/get-user-acct-tgt\",\"tgt_e\":true,\"tgt_p\":100,\"dv_enabled\":false,\"gpt_enabled\":false,\"upo\":\"\"});var n=__webpack_require__(23),a=__webpack_require__(865);window.googletag=window.googletag||{cmd:[]};class o{constructor(t){this.cam=t,e.cM(\"AcceptableAds init\"),window.googletag.cmd.push(()=>{if(this.cam=t,window.googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.handleSlotRendered(e)),Array.isArray(t.slotsRenderedEvents)){e.cM(\"Adding report button to \"+t.slotsRenderedEvents.length+\" events that have transpired\");for(var s=0;s<t.slotsRenderedEvents.length;s++)this.handleSlotRendered(t.slotsRenderedEvents[s])}})}handleSlotRendered(t){if(!window.abp)return;if(!function(e){return!(!e||!e.slot)}(t))return void e.cM(\"Not adding Acceptable Ads overlay: invalid SlotRenderEndedEvent... no event and/or slot\");if(!function(t){const s=t.slot.getSlotElementId();if(!s)return e.cM(\"Not adding report button to the bottom of element: invalid adUnitElementId\"),!1;const n=document.getElementById(s);return n?!((t.isEmpty||!t.creativeId&&!t.lineItemId&&t.isEmpty)&&0===n.innerHTML.trim().length):(e.cM(\"Not adding report button to the bottom of \"+s+\": adUnit element not found\"),!1)}(t))return void e.cM(\"Not adding Acceptable Ads overlay: No ad rendered\");const s=t.slot.getSlotElementId(),n=document.getElementById(s);e.cM(\"Adding Acceptable Ads overlay to \"+s),this.createAcceptableAdsOverlayDiv(n)}createAcceptableAdsOverlayDiv(e){let t=document.createElement(\"div\");return t.append(document.createTextNode(\"AD\")),t.style.position=\"absolute\",t.style.top=\"1px\",t.style.left=\"1px\",t.style.padding=\"6px\",t.style.background=\"rgba(255,255,255,0.7)\",t.style.color=\"#444\",t.style.fontSize=\"10px\",t.style.fontWeight=\"bold\",t.style.fontFamily=\"sans-serif\",t.style.zIndex=\"4000\",e.parentElement.appendChild(t),e.parentElement.style.isolation=\"isolate\",e.parentElement.style.position=\"relative\",t}}var r=__webpack_require__(147),i=(e=>(e.Off=\"Off\",e.PreSurvey=\"PreSurvey\",e.Collect=\"Collect\",e.PostSurvey=\"PostSurvey\",e))(i||{});class d{constructor(e,t){this.lineItemImpressions=[],this.surveysIdsCompleted=[],this.lineItemImpressions=e,this.surveysIdsCompleted=t}addImpression(e,t){let s={brandId:e,lineItemId:t,timestamp:new Date};this.lineItemImpressions.push(s)}addBrandSurveyCompleted(e){-1===this.surveysIdsCompleted.indexOf(e)&&this.surveysIdsCompleted.push(e)}getTotalBrandImpressions(){let e=new Map;for(let t of this.lineItemImpressions)if(e.has(t.brandId)){let s=e.get(t.brandId);e.set(t.brandId,s+1)}else e.set(t.brandId,1);return e}getBrandLineItemImpressions(e){let t={};for(let s of this.lineItemImpressions)if(s.brandId==e)if(void 0!==t[s.lineItemId]){let e=t[s.lineItemId];t[s.lineItemId]=e+1}else t[s.lineItemId]=1;return t}}class l{constructor(){this.surveyEngagementLocalStorageKey=\"clc-survey-engagement\"}getBrandSurveyEngagement(){let e=localStorage.getItem(this.surveyEngagementLocalStorageKey);if(null===e)return new d([],[]);let t=JSON.parse(e);return new d(t.lineItemImpressions,t.surveysIdsCompleted)}saveBrandSurveyEngagement(e){let t=JSON.stringify(e);localStorage.setItem(this.surveyEngagementLocalStorageKey,t)}}class c{constructor(){this.surveyRepository=new l}getBrandSurveyEngagement(){return this.surveyRepository.getBrandSurveyEngagement()}recordImpression(e,t){let s=this.getBrandSurveyEngagement();s.addImpression(e,t),this.surveyRepository.saveBrandSurveyEngagement(s)}recordBrandSurveyCompleted(e){let t=this.getBrandSurveyEngagement();t.addBrandSurveyCompleted(e),this.surveyRepository.saveBrandSurveyEngagement(t)}}window.googletag=window.googletag||{cmd:[]};class g{constructor(t){this.brandSettings=t,this.brandSlotMap=new Map,this.brandSurveyEngagementService=new c,e.cM(\"Brand Survey init: \"+JSON.stringify(t)),void 0!==t?googletag.cmd.push(()=>{googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.handleSlotRendered(e)),googletag.pubads().addEventListener(\"impressionViewable\",e=>this.onImpressionViewable(e)),e.cM(\"done enabling Brand Survey\")}):e.cM(\"Brand Survey init: brandSettings is undefined, not initializing\")}handleSlotRendered(t){e.cM(\"Brand Survey - slot rendered - slot:\"+JSON.stringify(t.slot.getSlotElementId())+\" lineItem: \"+t.lineItemId);let s=this.findItemWithId(t.lineItemId);if(null===s||s.mode!==i.Collect)this.brandSlotMap.delete(t.slot.getSlotElementId());else{let e={brandId:s.brandId,lineItemId:t.lineItemId};this.brandSlotMap.set(t.slot.getSlotElementId(),e)}}onImpressionViewable(t){let s=t.slot;if(e.cM(\"ad - Brand Survey - impression viewable. Details: \"+JSON.stringify(s.getSlotElementId())),e.cM(\"ad - Brand Survey - slot \"+s.getSlotElementId()+\" is viewable\"),this.brandSlotMap.has(s.getSlotElementId())){let t=this.brandSlotMap.get(s.getSlotElementId());e.cM(\"Brand Survey - brand \"+t.brandId+\" is viewable\"),this.recordImpression(this.brandSlotMap.get(s.getSlotElementId()))}}recordImpression(t){e.cM(\"ad - Brand Survey - recording impression for brand \"+t.brandId),this.brandSurveyEngagementService.recordImpression(t.brandId,t.lineItemId)}findItemWithId(t){return e.cM(\"brand settings: \"+JSON.stringify(this.brandSettings)),this.brandSettings.find(e=>e.lineItemIds.includes(t))||null}}const p=\"response-brand-survey-submit|\",m=\"request-brand-survey-metadata|\",h=\"record-metric-on-server|\",u=\"request-dsp-tags\",f=\"response-dsp-tags|\";window.googletag=window.googletag||{cmd:[]};class v{constructor(t){this.interval=t,e.cM(\"Ad refresh init. interval: \"+t),googletag.cmd.push(()=>{googletag.pubads().addEventListener(\"impressionViewable\",e=>this.onImpressionViewable(e)),e.cM(\"done enabling ad refresh\")})}onImpressionViewable(t){var s=t.slot,a=s.getAdUnitPath();e.cM(\"Should we refresh ad slot \"+s.getSlotElementId()+\" \"+s.getAdUnitPath()+\"?\"),(0,n.z0)(a)?e.cM(\"Not scheduling refresh for slot \"+s.getSlotElementId()+\", path \"+a):(e.cM(\"ad refresh - slot \"+s.getSlotElementId()+\" is viewable, initializing refresh\"),this.scheduleRefresh(s))}scheduleRefresh(e){setTimeout(()=>this.refreshAdSlot(e),1e3*this.interval)}static refreshMyAd(t){googletag.cmd.push(()=>{let s=googletag.pubads().getSlots().find(e=>e.getSlotElementId()===t);s&&(e.cM(\"refreshMyAd - refreshing ad slot \"+t),googletag.pubads().refresh([s]))})}static removeMyAd(t){googletag.cmd.push(()=>{let s=googletag.pubads().getSlots().find(e=>e.getSlotElementId()===t);s&&(e.cM(\"removeMyAd - destroying ad slot \"+t),googletag.destroySlots([s]))})}refreshAdSlot(t){var s=t.getSlotElementId();this.isElementVisibleInBrowser(s)?(e.cM(\"refreshing ad slot \"+s),t.setTargeting(\"Refresh\",\"true\"),googletag.pubads().refresh([t])):(e.cM(\"refresh skipped this time; ad slot not viewable:\"+s),this.scheduleRefresh(t))}isElementVisibleInBrowser(e){var t=document.getElementById(e);if(null!==t){var s=t.getBoundingClientRect();if(s.top>=0&&s.left>=0&&s.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&s.right<=(window.innerWidth||document.documentElement.clientWidth))return!0}return!1}}class _{static refreshAdIfBrandSurveyIsDuplicated(e,t){if(this.alreadyCompletedThisBrandSurvey(e)){var s=document.getElementById(t).closest(\".js-zone-container\");v.removeMyAd(t),s&&s.remove()}}static alreadyCompletedThisBrandSurvey(e){return(new c).getBrandSurveyEngagement().surveysIdsCompleted.includes(e)}}window.googletag=window.googletag||{cmd:[]};window.cam=new class{constructor(t=null){if(this.gptImported=!1,this.slotsRenderedEvents=[],this.collapsed={},e.cM(\"constructor\"),this.clc_options=s,window.clcGamLoaderOptions)Object.assign(this,window.clcGamLoaderOptions);else if(void 0===this.opt){let e=window.opt;e&&(this.opt=e)}var a=(0,n.ys)(location.pathname);this.disableInitialLoad=a==(0,n.xQ)()||(0,n.Qc)(),this.opt.reducedAdsPrivilege&&(0,n.ll)()}init(){if(e.cM(\"init\"),void 0===this.opt)throw new Error(\"opt not set, required by GAM Loader\");e.cM(\"init brand survey service\"),this.getUserMetaPromise=this.getUserMeta(),e.cM(\"setup message handler\"),window.addEventListener(\"message\",e=>{this.onmessage(e)})}handleSlotRenderedNoAdReport(){googletag.cmd.push(()=>{if(googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.applyExtraMarginBottom(e)),Array.isArray(this.slotsRenderedEvents))for(var e=0;e<this.slotsRenderedEvents.length;e++)this.applyExtraMarginBottom(this.slotsRenderedEvents[e])})}onmessage(t){let s=\"omni\";if(t.data&&(\"string\"==typeof t.data||t.data instanceof String))if(0===t.data.indexOf(\"get-omni-\")){e.cM(\"Recevied get-omni message, sending back omni\");var n=t.source,o=this.opt.omni,r=\"string\"==typeof o?o:\"\";n.postMessage([s,r,this.opt.perRequestGuid].join(\"|\"),\"*\")}else if(0===t.data.indexOf(\"collapse-\")){e.cM(\"Recevied collapse message, collapse ad iframe\"),e.cM(t);for(var i=t.source.window,d=document.getElementsByTagName(\"IFRAME\"),l=0;l<d.length;l++){var g=d[l];if(g.contentWindow==i)return void(0,a.wo)(g.parentElement.parentElement.parentElement)}}else if(0===t.data.indexOf(\"resize|\")){e.cM(\"Recevied resize message, resize ad iframe\"),e.cM(t);let s=this._getFrameByEvent(t),n=t.data.indexOf(\"|\")+1,a=t.data.slice(n),o=parseFloat(a)+.5;e.cM(\"New iframe height \"+o),s.height=o.toString(),s.parentElement.style.height=o.toString()+\"px\"}else if(0===t.data.indexOf(\"getmarkup|\")){let s=t.data.indexOf(\"|\")+1,n=t.data.slice(s);e.cM(\"Recevied get markup message: \"+n);let a=this._getFrameByEvent(t).closest(\".everyonelovesstackoverflow\");const o=document.createElement(\"script\");o.dataset.adZoneId=a.id,o.src=n,document.body.appendChild(o)}else if(0===t.data.indexOf(\"window-location|\")){let s=t.data.indexOf(\"|\")+1,n=t.data.slice(s);e.cM(\"Recevied window location message: \"+n),n.startsWith(\"/\")||(n=\"/\"+n),window.open(window.location.protocol+\"//\"+window.location.host+n,\"_blank\")}else if(0===t.data.indexOf(\"request-brand-survey-submit|\")){let s=t.data.split(\"|\"),n=s[1],a=s[2],o=s[3],r=JSON.parse(o);e.cM(n),e.cM(a),e.cM(o),e.cM(\"Received brand survey \"+n+\" response message: \"+a);var v=new FormData;for(var b in r)v.append(b,r[b]);let i=this._getFrameByEvent(t);if(_.alreadyCompletedThisBrandSurvey(+n))return e.cM(\"Already completed this brand survey. Not submitting duplicate to server.\"),void i.contentWindow.postMessage(\"response-brand-survey-submit-duplicate|\",\"*\");e.cM(\"Send the brand survey to the server\"),fetch(a,{method:\"POST\",body:v}).then(e=>e.json()).then(e=>i.contentWindow.postMessage({messageType:p},\"*\")).catch(e=>i.contentWindow.postMessage({messageType:p},\"*\"))}else if(0===t.data.indexOf(\"brand-survey-completed-store|\")){let s=t.data.split(\"|\"),n=(s[1],s[2]);if(e.cM(\"Received brand survey completed store message for survey ID \"+n),_.alreadyCompletedThisBrandSurvey(+n))return void e.cM(\"Already completed this brand survey. Not recording duplicate locally.\");e.cM(\"Record brand survey completion locally\"),(new c).recordBrandSurveyCompleted(+n)}else if(0===t.data.indexOf(m)){let s=t.data.split(\"|\"),n=s[1],a=s[2];e.cM(\"Received message: \"+m+\" with Brand Survey ID \"+a);let o=(new c).getBrandSurveyEngagement().getBrandLineItemImpressions(+n),r=JSON.stringify(o),i=this._getFrameByEvent(t);e.cM(\"sending impression data: \"+r),i.contentWindow.postMessage(\"response-brand-survey-metadata|\"+this.opt.responseHash+\"|\"+this.opt.perRequestGuid+\"|\"+r+\"|\"+this.opt.countryCode+\"|\"+this.opt.qualtricsSurveyData,\"*\")}else if(0===t.data.indexOf(\"refresh-if-duplicate-brand-survey|\")){let e=t.data.split(\"|\")[1],s=this.getSlotElementIdByEvent(t);_.refreshAdIfBrandSurveyIsDuplicated(+e,s)}else if(0===t.data.indexOf(h)){e.cM(\"Received message: \"+h+\" with args: \"+t.data);let s=t.data.split(\"|\"),n=s[1],a=s[2],o=s[3],r=s[4],i=new FormData;i.append(\"brandSurveyId\",o.toString()),i.append(\"responseHash\",this.opt.responseHash),i.append(\"perRequestGuid\",this.opt.perRequestGuid),i.append(\"questionNumber\",n.toString()),i.append(\"metricType\",r.toString()),fetch(a,{method:\"POST\",body:i}).then(e=>e.ok).catch(t=>{e.cM(\"SendMetricToServer: Error sending metric to server: \"+t)})}else if(0===t.data.indexOf(u)){e.cM(\"Received message: \"+u+\" with args: \"+t.data);let s=this._getFrameByEvent(t);if(!this.opt.targeting[\"so-tag\"])return void s.contentWindow.postMessage(f,\"*\");const n=this.opt.targeting[\"so-tag\"].join(\",\");e.cM(\"sending targeting tags: \"+n),s.contentWindow.postMessage(f+n,\"*\")}else e.cM(\"Received unhandled message\")}getSlotElementIdByEvent(e){let t=this._getFrameByEvent(e),s=t.parentElement?.parentElement?.id;return s||\"\"}_getFrameByEvent(e){return Array.from(document.getElementsByTagName(\"iframe\")).filter(t=>t.contentWindow===e.source)[0]}classifyZoneIds(e){const t=e.map(a.Nj).filter(a.yb);return{eligible:t.filter(a.xb).filter(a.pn),ineligible:t.filter(a.xj)}}applyExtraMarginBottom(t){if(t&&t.slot&&!t.isEmpty&&(t.creativeId||t.lineItemId||!t.isEmpty)){var s=t.slot.getSlotElementId();if(s){var a=document.getElementById(s);if(a)if((0,n.eq)(s)){var o=a?.closest(\".js-zone-container\");o.style.marginBottom=\"24px\",e.cM(\"Applied extra margin to the bottom of \"+s)}else e.cM(\"Not applying extra margin to the bottom of \"+s+\": shouldHaveReportButton = false\");else e.cM(\"Not applying extra margin to the bottom of \"+s+\": resolved invalid adUnit element\")}else e.cM(\"Not applying extra margin to the bottom of element: invalid adUnitElementId\")}else e.cM(\"Not applying extra margin to the bottom of element: invalid SlotRenderEndedEvent\")}async load(s=(0,n.kG)()){if(this.opt.tlb_position,t.Above,this.disableInitialLoad)return e.cM(\"Initial load of ads disabled\"),void(this.disableInitialLoad=!1);if(!this.isGptReady())return e.cM(\"Initializing...\"),this.initGpt(),void googletag.cmd.push(()=>this.load(s));this.opt.acceptableAdsEnabled&&(e.cM(\"Acceptable Ads enabled\"),this.acceptableAds=new o(this)),this.opt.adReportEnabled?(e.cM(\"Ad reporting enabled\"),this.adReports=new r.t(this)):(e.cM(\"Ad reporting not enabled\"),this.handleSlotRenderedNoAdReport()),this.opt.brandSurveyEnabled&&(e.cM(\"Brand Survey enabled\"),this.brandSurvey=new g(this.opt.brandSurveySettings)),e.cM(\"Attempting to load ads into ids: \",s);const{eligible:a,ineligible:i}=this.classifyZoneIds(s);this.initDebugPanel(googletag,a.concat(i)),e.cM(\"Eligible ids:\",a),this.opt.abd&&this.appendAdblockDetector(),cam.sreEvent||(googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.onSlotRendered(e)),cam.sreEvent=!0),await this.setTargeting()}async setTargeting(){cam.targetingParams={};let t=this.opt.targeting;if(!t)throw new Error(\"Targeting not defined (is \"+typeof t+\")\");Object.keys(t).forEach(s=>{e.cM(`-> targeting - ${s}: ${t[s]}`),cam.targetingParams[s]=t[s]});let s=(new c).getBrandSurveyEngagement();if(s.getTotalBrandImpressions().forEach((t,s)=>{e.cM(`-> targeting - BrandImpressions: ${s}: ${t}`),cam.targetingParams[\"brand_\"+s.toString()+\"_impressions\"]=t.toString()}),s.surveysIdsCompleted.forEach(t=>{e.cM(`-> targeting - SurveysTaken: ${t}`),cam.targetingParams[\"survey_\"+t+\"_taken\"]=\"true\"}),this.clc_options.tgt_e&&this.getUserMetaPromise){let t=await this.getUserMetaPromise;t&&t.tgt_acct?(e.cM(\"-> targeting - User Account: \"+t.tgt_acct),cam.targetingParams[\"user-acct\"]=t.tgt_acct.company_name,cam.targetingParams.user_acct_top=t.tgt_acct.company_name,cam.targetingParams.user_industry=t.tgt_acct.industry,cam.targetingParams.user_employee_count=t.tgt_acct.employee_range):e.cM(\"-> targeting - User Account: Not Found\"),t&&Object.prototype.hasOwnProperty.call(t,\"is_high_rep_earner\")?(e.cM(\"-> targeting - High Rep Earner: \"+t.is_high_rep_earner),cam.targetingParams.IsHighRepEarner=t.is_high_rep_earner?\"true\":\"false\"):e.cM(\"-> targeting - High Rep Earner: not found\")}cam.targetingParams.aa=window.abp?\"true\":\"false\"}appendAdblockDetector(){const e=document.createElement(\"div\");e.className=\"adsbox\",e.id=\"clc-abd\",e.style.position=\"absolute\",e.style.pointerEvents=\"none\",e.innerHTML=\" \",document.body.appendChild(e)}onSlotRendered(s){try{const r=s.slot.getSlotElementId();let i=[];r||i.push(\"id=0\");const d=document.getElementById(r);if(r&&!d&&i.push(\"el=0\"),0!==i.length)return void this.stalled(i.join(\"&\"));const{path:l,sizes:c,zone:g}=(0,n.Z7)(r,this.clc_options.upo);if(this.collapsed[g]&&s.isEmpty)return e.cM(`No line item for the element #${d.id}... collapsing.`),void(0,a.wo)(d);if(this.slotsRenderedEvents.push(s),s.lineItemId||s.creativeId||!s.isEmpty){e.cM(`Rendered ad for element #${d.id} [line item #${s.lineItemId}]`),e.cM(s);var o=d.parentElement;if(o.classList.contains(\"js-zone-container\"))switch(r){case\"dfp-tlb\":this.opt.tlb_position===t.Above?o.classList.add(\"mb8\"):o.classList.add(\"mt16\");break;case\"dfp-tag\":o.classList.add(\"mb8\");break;case\"dfp-msb\":o.classList.add(\"mt16\");break;case\"dfp-mlb\":case\"dfp-smlb\":case\"dfp-bmlb\":o.classList.add(\"my8\");break;case\"dfp-isb\":o.classList.add(\"mt24\");break;case\"dfp-m-aq\":o.classList.add(\"my12\"),o.classList.add(\"mx-auto\")}else e.cM(`No ad for element #${d.id}`),e.cM(s)}}catch(t){e.cM(\"Exception thrown onSlotRendered\"),e.cM(t),this.stalled(\"e=1\")}}stalled(e){(new Image).src=`https://${this.clc_options.h}/stalled.gif?${e}`}importGptLibrary(){if(!this.gptImported){this.gptImported=!0;var e=[\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GB\",\"GR\",\"HU\",\"IS\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"NO\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\"].indexOf(this.opt.countryCode)>=0;this.opt.targeting_consent||!this.opt.targeting_consent_set&&!e?(0,a.Gx)(\"https://securepubads.g.doubleclick.net/tag/js/gpt.js\"):(0,a.Gx)(\"https://pagead2.googlesyndication.com/tag/js/gpt.js\")}}importDvLibrary(){this.clc_options.dv_enabled&&(e.cM(\"Adding DoubleVerify library\"),(0,a.Gx)(\"https://pub.doubleverify.com/dvtag/21569774/DV1289064/pub.js\"),e.cM(\"Adding DoubleVerify onDvtagReady handler\"),window.onDvtagReady=function(t,s=750){e.cM(\"DoubleVerify onDvtagReady called\"),window.dvtag=window.dvtag||{},dvtag.cmd=dvtag.cmd||[];const n={callback:t,timeout:s,timestamp:(new Date).getTime()};dvtag.cmd.push(function(){dvtag.queueAdRequest(n)}),setTimeout(function(){const e=n.callback;n.callback=null,e&&e()},s)})}isGptReady(){return\"undefined\"!=typeof googletag&&!!googletag.apiReady}initGpt(){\"undefined\"==typeof googletag?window.googletag={cmd:(0,a.QZ)(()=>{this.clc_options.gpt_enabled&&this.importGptLibrary(),this.importDvLibrary()})}:(this.clc_options.gpt_enabled&&this.importGptLibrary(),this.importDvLibrary())}getUserMeta(){if(this.opt.allowAccountTargetingForThisRequest&&this.clc_options.tgt_e&&this.clc_options.tgt_p>0){if(e.cM(\"Targeting enabled.\"),this.clc_options.tgt_p<100){e.cM(\"Targeting rate limit enabled. Rolling the dice...\");const t=Math.floor(100*Math.random())+1;if(e.cM(\"Rolled \"+t+\" and the max is \"+this.clc_options.tgt_p),t>this.clc_options.tgt_p)return void e.cM(\"Will not request targeting.\")}return e.cM(\"Will request targeting.\"),function(e,t,s,n){if(t){const t=new Headers;return t.append(\"Accept\",\"application/json\"),async function(e,t={},s=5e3){if(\"number\"!=typeof s&&null!=s&&!1!==s){if(\"string\"!=typeof s)throw new Error(\"fetchWithTimeout: timeout must be a number\");if(s=parseInt(s),isNaN(s))throw new Error(\"fetchWithTimeout: timeout must be a number (or string that can be parsed to a number)\")}const n=new AbortController,{signal:a}=n,o=fetch(e,{...t,signal:a}),r=setTimeout(()=>n.abort(),s);try{const e=await o;return clearTimeout(r),e}catch(e){throw clearTimeout(r),e}}(s+\"?\"+new URLSearchParams({omni:e}),{method:\"GET\",mode:\"cors\",headers:t},n).then(e=>e.json())}return Promise.reject(\"No consent\")}(this.opt.omni,this.opt.targeting_consent,this.clc_options.tgt_u,this.clc_options.tgt_to).catch(t=>{e.vU(\"Error fetching user account targeting\"),e.vU(t)})}e.cM(\"Targeting disabled. Will not request account targeting data.\")}initDebugPanel(t,s){e.cM(\"initDebugPanel\"),e.cM(\"Not showing debug panel.\")}},window.clcGamLoaderOptions&&(cam.init(),cam.load())})()})();</script> <script type=\"text/javascript\" src=\"https://lngtd.com/stackoverflow.js\"></script>\n\n\n\n\n\n \n <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML=\"window.__CF$cv$params={r:'9debc8eebcc8f83d',t:'MTc3MzkxNjA0OS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);\";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>\n </html>\n",
"cookies": null,
"errors": null,
"final_url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results",
"headers": {
"cache-control": "private",
"cf-cache-status": "DYNAMIC",
"cf-ray": "9debc8eebcc8f83d-ORD",
"content-encoding": "gzip",
"content-security-policy": "upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com",
"content-type": "text/html; charset=utf-8",
"date": "Thu, 19 Mar 2026 10:27:29 GMT",
"feature-policy": "microphone 'none'; speaker 'none'",
"server": "cloudflare",
"set-cookie": "prov=49b38fe5-a4e2-40e0-8afb-b7da5623a536; expires=Fri, 19 Mar 2027 10:27:29 GMT; domain=.stackoverflow.com; path=/; secure; samesite=none; httponly, __cflb=02DiuFA7zZL3enAQJD3AX8ZzvyzLcaG7usBjxmFbjCbrC; SameSite=Lax; path=/; expires=Fri, 20-Mar-26 09:27:29 GMT; HttpOnly, prov=49b38fe5-a4e2-40e0-8afb-b7da5623a536; Path=/; HttpOnly; Domain=stackoverflow.com, __cf_bm=QnYCWDW.V0lKB9JTEVCFpLb7Cgh61gXtlVdwPNzeixE-1773916049-1.0.1.1-37l4C8S4EvGCIxUjG1HNa1KbmFEpz0DJE5CSxsSx3g3PHpJ0zb_SAMX0lPm6As6MvBBLNpPsNc4QARU41ye1.pkBD9.WS4zowhH1iDotL50; path=/; expires=Thu, 19-Mar-26 10:57:29 GMT; domain=.stackoverflow.com; HttpOnly; Secure; SameSite=None, _cfuvid=SWy4X4eeVxE.Y2JZxQOWWEhoUhwfORBpZzAg0XU5niA-1773916049801-0.0.1.1-604800000; path=/; domain=.stackoverflow.com; HttpOnly; Secure; SameSite=None",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"vary": "Accept-Encoding",
"x-clacks-overhead": "GNU Terry Pratchett",
"x-dns-prefetch-control": "off",
"x-frame-options": "SAMEORIGIN",
"x-request-guid": "bcfeb82d-dfa6-412a-8f41-e1988c162142",
"x-worker-origin-response-time": "54000000"
},
"id": null,
"scraper_data": null,
"scraperouter": null,
"screenshot_url": null,
"status_code": 200
}
Page Title
Export PageSpeed Insights (by Google) results - Stack Overflow
Skip to main content
[ ](https://stackoverflow.com "Stack Overflow")
1. [ About ](https://stackoverflow.co/)
2. Products
3. [ For Teams ](https://stackoverflow.co/internal/)
4. Try new site Try BETA
1. [ Stack Internal Implement a knowledge platform layer to power your enterprise and AI tools. ](https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-for-teams)
2. [ Stack Data Licensing Get access to top-class technical expertise with trusted & attributed content. ](https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-api)
3. [ Stack Ads Connect your brand to the world's most trusted technologist communities. ](https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-advertising)
4. [ Releases Keep up-to-date on features we add to Stack Overflow and Stack Internal. ](https://stackoverflow.blog/releases/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=releases)
5. [About the company](https://stackoverflow.co/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=about-the-company) [Visit the blog](https://stackoverflow.blog/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=blog)
Loading…
1. ### [current community](https://stackoverflow.com)
* [ Stack Overflow ](https://stackoverflow.com)
[help](https://stackoverflow.com/help)
[chat](https://chat.stackoverflow.com/?tab=explore)
* [ Meta Stack Overflow ](https://meta.stackoverflow.com)
### your communities
[Sign
up](https://stackoverflow.com/users/signup?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-
pagespeed-insights-by-google-results) or [log
in](https://stackoverflow.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-
pagespeed-insights-by-google-results) to customize your list.
### [more stack exchange communities](https://stackexchange.com/sites)
[company blog](https://stackoverflow.blog)
2. 3. [Log in](https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results)
4. [Sign up](https://stackoverf
Response Headers
{
"accept-ch": "Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA",
"cache-control": "private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
"cf-mitigated": "challenge",
"cf-ray": "9debc8f5a9c961b9-ORD",
"content-encoding": "gzip",
"content-type": "text/html; charset=UTF-8",
"critical-ch": "Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA",
"cross-origin-embedder-policy": "require-corp",
"cross-origin-opener-policy": "same-origin",
"cross-origin-resource-policy": "same-origin",
"date": "Thu, 19 Mar 2026 10:27:30 GMT",
"expires": "Thu, 01 Jan 1970 00:00:01 GMT",
"origin-agent-cluster": "?1",
"permissions-policy": "accelerometer=(),browsing-topics=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()",
"referrer-policy": "same-origin",
"server": "cloudflare",
"server-timing": "chlray;desc=\"9debc8f5a9c961b9\"",
"vary": "Accept-Encoding",
"x-content-type-options": "nosniff",
"x-dns-prefetch-control": "off",
"x-frame-options": "SAMEORIGIN"
}
Request Options
{
"proxy": {
"type": "datacenter"
},
"scraper_options": {
"network_requests": true
},
"screenshot": true,
"url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
}
3 requests captured · 2 API candidates
| Method | URL | Status | Type | Time |
|---|---|---|---|---|
| GET |
https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results
API
|
307 | other | 0.60s |
| GET |
https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results
|
403 | document | 0.13s |
| GET |
https://stackoverflow.com/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=9debc8f5a9c961b9
API
|
— | other | 0.00s |
Potential API Endpoints
- https://stackoverflow.com/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=9debc8f5a9c961b9
- https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results
Detections
Scraper Response Data
Response payload
{
"content": "<!DOCTYPE html><html lang=\"en-US\"><head><title>Just a moment...</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"><meta name=\"robots\" content=\"noindex,nofollow\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;padding-left:1.5rem;max-width:60rem}@media (width <= 720px){.main-content{margin-top:4rem}}#challenge-error-text{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+\");background-repeat:no-repeat;background-size:contain;padding-left:34px}</style><meta http-equiv=\"refresh\" content=\"360\"><script src=\"/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=9debc8f5a9c961b9\"></script></head><body><div class=\"main-wrapper\" role=\"main\"><div class=\"main-content\"><noscript><div class=\"h2\"><span id=\"challenge-error-text\">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt = {cvId: '3',cZone: 'stackoverflow.com',cType: 'managed',cRay: '9debc8f5a9c961b9',cH: 'QdeFGKqXt9TwUYcWmRf1neXZnYrPUcr69ER5mFkRReU-1773916050-1.2.1.1-gbXk_5rJ2r0hM9xe3naIOduguog1vh5APUklqIR_uZbOv1OAnky66tKVPini3c8F',cUPMDTk:\"\\/questions\\/25806351\\/export-pagespeed-insights-by-google-results?__cf_chl_tk=9e64WNYmDcfyy.H6J3DAb5TTah3WBrJUwExZtJ_m_oA-1773916050-1.0.1.1-mlbt8Sj08k_IfzJ0b7EVaQJpPVkX3UFvNymZ5_OzXmw\",cFPWv: 'g',cITimeS: '1773916050',cTplC:0,cTplO:0,cTplV:5,cTplB: '0',fa:\"\\/questions\\/25806351\\/export-pagespeed-insights-by-google-results?__cf_chl_f_tk=9e64WNYmDcfyy.H6J3DAb5TTah3WBrJUwExZtJ_m_oA-1773916050-1.0.1.1-mlbt8Sj08k_IfzJ0b7EVaQJpPVkX3UFvNymZ5_OzXmw\",md: 'Z1TQCK_4GycYKVl14vhbzIjI_cD6nPMAaXdmsUnDhfg-1773916050-1.2.1.1-Raflo4RxlsSIS0r4LwE0.dkM3fgeqcA_Wi.1cQ09f0yanHIVt7.IgNakKyhM_WsXN77hJkUs00O.D_6Ib01yW0fQ.hk.NrB9bGGzEBl9nNRBmw25P6C_JlOwU8RERhetJktxdKZdjup9mFPEK.Tqj0_EKLiHcwtc4asQ_kegVB5AN6WlUikNmmcU7fXZMvTMbKpPFwFvXcgh4nGQ8kjluVY5aXzeOM8k78PYil.ib6sesp2BLNWpkq9tipbRKI8XeEpxVc7zXFvOjk06EyXartPdd4F8LXCOT_JyZnGR1tfQScOdrj4Qg4bH4HUIuojY_mEMrurCsvbXaTNafYh07rGR42614sOzpqfMj0ARjy4HG3oSjQIGL8xPRnw4uDe7xoR_mPDLn8fUNz3fYYqoGx3VM2rkj6cMekktkAV3DeW41xLKp0bn3th0iKWcxXjhb3V0QGS1sVmSINs5XCMFdRm19bt72kGWenUK5md8OZIQ7Rf34kXprxyryRCmBqf0VW0D9K3Y_fCvtPc0XxT4xjX2y_LYtL2ay0zeJ4786RgkrBUYeTSJY6pTw6sZScw.oxIQfHBtTDsg9rW4k_MOkh.R4VHlqvx9sbXJCUpG1d5Cqjc1VIAD09wzUCrS4j7tZsQec8h.oCyeP.utQvoACKPPED5lK7W9qScs9CELOPh8AocogSYJ.3DJDIsFhS8KYywSt1tIorqNXUGHTl2Jm0MbZLAvIS1P6c7vDmGAqUneGViLPdA_a5zPJ9B.0IIPuxftzfr7NlaIlWlSeKURZUKJryZW8R7ssULZV8e5YuVwfPqA5oOdE4h3aiX9i6mXxq8nz3ChvpskIdDInNAZ1qeTw7TxqLQisf8aKJEaEmQ9AvaIdalBqVW7kuACgwg6cCTr4LAln3Qoj2U8537HQ4fI58Eb7FQmEt0c9ZS598sId.cqy1rnmBVFbt4DQr5baWqpT0DcX.DAyWqRXMeKv6DkmIGYNKk8Qcn6n_r6DDhn0o2Z94ewXAhS6.kPlREW1ig7NN7znqqWOZpMUB0m59d6_yRtBV0g_jCHfNFfYhUsYDNO1bDm8nFr9KtUT9ZRhoPmcWLs0Zo1CY4iRfKTIc1nD.1nY_fO.0rG0.5ZNRKFiiFcL1dFd8BKxJ2r2NwoRie7rcaUj3PxzP3SaoIOtMEOV6cQflvZeh3BA6qxPY4',mdrd: 'aqxAgk.vHMheM8YGaJExFeBRv.G_0mEcwzmW182yVTo-1773916050-1.2.1.1-vxbiZeCPglVPSs4ItOufHqbzyv1xPUAPZ_wJqpT7VZdkbJ67hcPONvYOj7wxcvV.r70MdYxXM5UVuC0MEOhDbMw0IHAt6cDuu5T23VuinPDAnG9hAuiR_pYD_VEvg6dGF.CPoLq7_z4GWZlBx0xACT5DuYSMShqCOjjbNSDcz7PJHxk6ZobMhBZidgGYxo3Iy5bRCAQqvjeLCizmYC3TUZfsiXTu3cdEq6EaoZmtLv1PlEc8PQkF_yxB3iBbn5utt1Lwu_8GRS59whmFGiYJOVVe86g19VAr91RSppPicRHXeKKvOo1e1b4hEz.JXqw4Z5R.eugPrAIBZ2k5XF5pkQJNY.urpbu1MuvAmFRvVwy2rf.4.7bW30TYUHl9byPfXqO6EFJDh1gMF6T.5C2tw.f9EHfjvDbSkLirVuqtBdLCqESCwwFogwBviO0_sXAJhVPvn8mwT7mf9OWHQGWw7tFIOyo0j_JKw8c5Luy1.NobfgCtcwZyW7j3qo5x5cv8dgV_cAbLRfTref_W4mAzeRYzHlioPqTb90icp8c0p8gGmp00H6I.ROeb7aG8cnEiGNDPcEwAPWZkmFv0kQ2bJuFkd7tGOkT3bjKRc__dAj9Vvn4oyaeUdaSHoYNkS4198hRewRFy9mjZJPElI29dP8LKh7PKfklUwc5vUfN2Y2VnWebvy8xW6uwuhIlnffQEvm9y6JWQpOuiEZ0ed614Uowl5AK.HvzucTlU_AO1Q66.ERFDxccJbUIOtHQY7YF2.JP3Bh8LsLibxyreVboQ4otaNqKVWHKMib72bRw9eqBP_fCEdrW_CZjvwX207XJmB6J6ZYX82T2X84TaMGB1hV_WiEZO7Ozcab6gKPVTJtDXgk0i8VGTLCENW_avI8d7neV_ISIqzMF2FhB6NjMKJztsqbRF6sR0lWuPQgTp73.RZrVwiZebh7rICTGtZWDbakN9zXoQTLHfy0URT_izjoOwiG1I1eFir2KngIQxqfSVfx8uDbSqZP0VKVtWuNm8LFS7iI5ibwqA4NBZ2uZrkMGSKYI5ksnITylRX5kkamWm6O39ttKza2EfR7Tvc4qDiJ3ajR84TONqgrByE3Y0vkhmYhtjYGEoKxA23yiu6DIsVSOczLxL3AIfU0ke97DFVpZU0zmn9rK1M3FDBhQdGWr06TAcYOlMq98DTdIJ0RB1ugSxE8LflZ7YrySrGRo_F1GOy1pYmNNmD9b9AolC2gwG.NGeTUSLOcd44DNAVpmU_Dp1CdtaCQt_vbIdJk2lD94.WJ.nbK6qo4f.FLVfO04mEEKxLW5pykLFWmRN2UpjaIDH.cm0iZjJlVsQ5cplIY8G6xczJMvDTpeiXJ0SmgZjagAZWFmoHPY7UyCQ58ZMcn1DjzqvU._aitpxfSYTenuIAIWhkJ0atR2tbxRIESFuZmb.fkmFiJV9hSKATRwbj1OcrDuTZRTIZ5cjZq4FZkyQGOHgH28NQyGsatXfBZLQ8Sg66FY8OFRLgRj_7eRgJlVZtf.q2pDhaipQxeMgJb3mUCbvppMUhy3DX4mthV8homGncM.AqBW3LOcCSVBABLul4y9X_0GCrLJ_gxJpUdnKQInp26iXT70ZP_o5wwbpRn5WBm_G4AEa1vNDKpmMx4PjbaJA5vEJ9WuTpAMWzyYLpsb3sFFWxWievr8TXaFQ72z5JhUUuM.umIicMPTGPoCse2iJrO6BqcJojez3pb0eBJUjuQFJAsWPJ0Q0xFI28lYeANHTD1HUCK2ygmezKs.M93ema80fUh31gEL37RO1Uk7Y1TsahDfpr_PFXFdmDv3uPRAvwvD2F0nzH8qZMS4R5jjAiZeVRP9QJgV5Ce3mb6M0nBaW3VjH4HWYwWiJWXU0F5bu56dz7BASMuz9i3QJKpuzL0aJ2RJIiZ9Q.JuZmXGhVs7VTyZapP9VHH1XKHPd4mKv4KbvkBwSKdDoKlHoUrz8KTcClTBGiW9COYZv843cXrvr_PeP_CvPhrsRjBEESFhypyTg90UplPAYmHveGUNukfKu2vsBuUpSBRnyPWwEDffmkBbFtJSDsrFRl2RIsQ_opMQsUBS.dLbmKM.xjP_1Sz.fLsqSVFr2fT.InomVlrsfHJlDkCUepWfnLkRATIXltgQERz1KcYivkKgbiT5cjhq_Re9FiOEfT2OPyUPVfCl4BX4pe8dQk6uTxI_7cna0VLk.Gc68iZJPcAP0NLe.HdCmf2fxDlXaeclS00_slZKCRkif126Slgui..TTBWeHDR6aGppLUoommL5Nhae51L01ZXrdHZpE5vcfaxO5CFVUOgWluJF8Gg1_Athoa3PQnERhJmfAAxCfP.LXlWVRtFrNA1ijdj5lYNvNKgcIVFHFc7y4pLhW5QBHJEghnhEw7_7HpWcBom0sNCqmCUaMwjDuMJP7tQIGLS6ooh3e9lkCx80FSBBajx1ZZG5_yoge1JdfjF46CS51lgixvDV2ldF.RhrGZeVV.LaaaTGC_gYFcE1mMH0XamWOPyoYsnAKYnP3P6tG0j.6QvSgrPtOKcZle93RU20jQ5RV_mQmHdfXXi0aCIuxB6MaAkt2USfHGWT_BYcw2PUIphpNHHrOkk1lAGNqQCnsaR0qAk07g3_v720DPN6Y4GQr3EeQwKgClqGIwSGcB8dNTHrxDKpdzwCVTdBazjtV0bRX76XmDEO4lLLsE5iYqC8YGkdtkjpd0Dcr4ro_0JzjXgIRFRmOo5.ysaC_xsglcHOOgHbNJ6IV3sL2FlJpKKL7ySPUaP3qD6s5uU_rT2KX7aMb_yWXkGL9qvNj9REDVSMKlPLuvAPdXJ54MNsK8ChuCnqUCnZAyXcMoY2bbTx29UHIxvYzj70CV675sL9bWN.IgBemLCenc40VEP_ZX3mYCgHJTarPsBFdEzBlHnT9ro1puJsGWm2TrDzrN5LW2KhkCv7K4Bnh_aM8ch3Exw',};var a = document.createElement('script');a.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=9debc8f5a9c961b9';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null,\"\\/questions\\/25806351\\/export-pagespeed-insights-by-google-results?__cf_chl_rt_tk=9e64WNYmDcfyy.H6J3DAb5TTah3WBrJUwExZtJ_m_oA-1773916050-1.0.1.1-mlbt8Sj08k_IfzJ0b7EVaQJpPVkX3UFvNymZ5_OzXmw\"+ window._cf_chl_opt.cOgUHash);a.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(a);}());</script></body></html>",
"cookies": null,
"errors": null,
"final_url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results?__cf_chl_rt_tk=9e64WNYmDcfyy.H6J3DAb5TTah3WBrJUwExZtJ_m_oA-1773916050-1.0.1.1-mlbt8Sj08k_IfzJ0b7EVaQJpPVkX3UFvNymZ5_OzXmw",
"headers": {
"accept-ch": "Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA",
"cache-control": "private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
"cf-mitigated": "challenge",
"cf-ray": "9debc8f5a9c961b9-ORD",
"content-encoding": "gzip",
"content-type": "text/html; charset=UTF-8",
"critical-ch": "Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA",
"cross-origin-embedder-policy": "require-corp",
"cross-origin-opener-policy": "same-origin",
"cross-origin-resource-policy": "same-origin",
"date": "Thu, 19 Mar 2026 10:27:30 GMT",
"expires": "Thu, 01 Jan 1970 00:00:01 GMT",
"origin-agent-cluster": "?1",
"permissions-policy": "accelerometer=(),browsing-topics=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()",
"referrer-policy": "same-origin",
"server": "cloudflare",
"server-timing": "chlray;desc=\"9debc8f5a9c961b9\"",
"vary": "Accept-Encoding",
"x-content-type-options": "nosniff",
"x-dns-prefetch-control": "off",
"x-frame-options": "SAMEORIGIN"
},
"id": null,
"scraper_data": null,
"scraperouter": null,
"screenshot_url": null,
"status_code": 403
}
Page Title
Just a moment...
Enable JavaScript and cookies to continue
Response Headers
{
"cache-control": "private",
"cf-cache-status": "DYNAMIC",
"cf-ray": "9debc8f5efaf0ed2-ORD",
"content-encoding": "gzip",
"content-security-policy": "upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com; script-src 'self' 'unsafe-eval'",
"content-type": "text/html; charset=utf-8",
"date": "Thu, 19 Mar 2026 10:27:30 GMT",
"feature-policy": "microphone 'none'; speaker 'none'",
"server": "cloudflare",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"vary": "Accept-Encoding",
"x-clacks-overhead": "GNU Terry Pratchett",
"x-dns-prefetch-control": "off",
"x-frame-options": "SAMEORIGIN",
"x-request-guid": "5ce54aa9-ba9c-4662-a875-614ada17bd67",
"x-worker-origin-response-time": "54000000"
}
Request Options
{
"proxy": {
"type": "datacenter"
},
"scraper_options": {
"network_requests": true
},
"screenshot": true,
"url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
}
31 requests captured
| Method | URL | Status | Type | Time |
|---|---|---|---|---|
| GET |
https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results
|
200 | document | 0.25s |
| GET |
https://stackoverflow.com/Content/Js/google-analytics.en.js?v=48615a9a9bc4
|
200 | script | 0.25s |
| GET |
https://stackoverflow.com/Content/Js/third-party/npm/@stackoverflow/stacks/dist/js/stacks.min.js?v=c7bcc7a1b4fd
|
200 | script | 0.25s |
| GET |
https://stackoverflow.com/Content/Js/stub.en.js?v=e307fb81e738
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/misc/copy.en.js?v=eaf5f2a0965b
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/sprinkles/cookie-consent.en.js?v=7ee6963139c5
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/px.js?ch=1
|
200 | script | 0.35s |
| GET |
https://stackoverflow.com/px.js?ch=2
|
200 | script | 0.35s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/islands/signup-modal.en.js?v=f64ec881ea96
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/islands/one-tap.en.js?v=102f0378a2cf
|
200 | script | 0.15s |
| GET |
https://stackoverflow.com/Content/Js/topbar/top-bar-events.en.js?v=9f5a4d15c5cd
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/sprinkles/left-nav-events.en.js?v=2ac13fd60bf6
|
200 | script | 0.13s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte-labs.en.js?v=bc7112df14a4
|
200 | script | 0.14s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/1130.en.js?v=8bb363934465
|
200 | script | 0.24s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/6457.en.js?v=341577cbad05
|
200 | script | 0.22s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/1383.en.js?v=fb8605a674b1
|
200 | script | 0.23s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/2458.en.js?v=33cc3da05f78
|
200 | script | 0.23s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/2269.en.js?v=17778cad1acb
|
200 | script | 0.24s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/9001.en.js?v=3a153d433746
|
200 | script | 0.23s |
| GET |
https://stackoverflow.com/Content/Js/islands/homepage-wizard.en.js?v=ef8541a769fe
|
200 | script | 0.23s |
| GET |
https://stackoverflow.com/Content/Js/sprinkles/you-can-comment-banner.en.js?v=bdec5d37ae84
|
200 | script | 0.23s |
| GET |
https://stackoverflow.com/Content/Js/islands/fragment-proxy.en.js?v=5a551e6e4833
|
200 | script | 0.22s |
| GET |
https://stackoverflow.com/Content/Js/questions/show.en.js?v=fd2a34b4878f
|
200 | script | 0.21s |
| GET |
https://stackoverflow.com/Content/Js/webpack-chunks/9986.en.js?v=e08f19c49de1
|
200 | script | 0.22s |
| GET |
https://stackoverflow.com/Content/Js/islands/follow-ups.en.js?v=01f88a90936e
|
200 | script | 0.21s |
| GET |
https://stackoverflow.com/Content/Js/islands/follow-ups-flag-modal.en.js?v=21c3d99e84ac
|
200 | script | 0.21s |
| GET |
https://stackoverflow.com/Content/Js/islands/redirect-action-modal.en.js?v=257fd22971c2
|
200 | script | 0.22s |
| GET |
https://stackoverflow.com/stackheartbeat/heartbeat
|
200 | document | 0.15s |
Detections
Structured Metadata
Open Graph
[
{
"namespace": {
"og": "http://ogp.me/ns#"
},
"properties": [
[
"og:type",
"website"
],
[
"og:url",
"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
],
[
"og:site_name",
"Stack Overflow"
],
[
"og:image",
"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579"
],
[
"og:title",
"Export PageSpeed Insights (by Google) results"
],
[
"og:description",
"Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console."
]
]
}
]
JSON-LD
[
{
"@context": "https://schema.org",
"@graph": [
{
"@id": "https://stackoverflow.com/#website",
"@type": "WebSite",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"name": "Stack Overflow",
"publisher": {
"@id": "https://stackoverflow.com/#organization"
},
"url": "https://stackoverflow.com"
},
{
"@id": "https://stackoverflow.com/#organization",
"@type": "Organization",
"contactPoint": [
{
"@type": "ContactPoint",
"contactType": "Customer support",
"url": "https://stackoverflow.com/contact"
},
{
"@type": "ContactPoint",
"contactType": "Stack Ads",
"url": "https://stackoverflow.co/advertising/"
},
{
"@type": "ContactPoint",
"contactType": "Stack Internal",
"url": "https://stackoverflow.co/teams/"
},
{
"@type": "ContactPoint",
"contactType": "Stack Data Licensing",
"url": "https://stackoverflow.co/api-solutions/"
}
],
"description": "Q&A for professional and enthusiast programmers",
"logo": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/logo.png?v=0a124c963f5f",
"name": "Stack Overflow",
"sameAs": [
"https://stackoverflow.co/",
"https://www.facebook.com/officialstackoverflow/",
"https://x.com/stackoverflow",
"https://www.linkedin.com/company/stack-overflow",
"https://www.youtube.com/c/StackOverflowOfficial",
"https://twitter.com/stackoverflow"
],
"url": "https://stackoverflow.com"
}
]
}
]
Microdata
[
{
"properties": {
"description": "Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"isPartOf": "https://stackoverflow.com/#website",
"mainEntity": {
"properties": {
"acceptedAnswer": {
"properties": {
"author": {
"properties": {
"name": "Toma Nistor",
"url": "/users/7184365/toma-nistor"
},
"type": "http://schema.org/Person"
},
"dateCreated": "2018-12-03 02:37:30Z",
"text": "If you open up and run Google PageSpeed Insights through the Audit tab (Lighthouse tab after Chrome 83) in Chrome Developer Tools, there is a button in the left part of the panel that will allow you to download the report as a JSON file.",
"upvoteCount": "15",
"url": "/a/53586734"
},
"type": "https://schema.org/Answer"
},
"answerCount": "3",
"author": {
"properties": {
"name": "Haradzieniec",
"url": "/users/886906/haradzieniec"
},
"type": "http://schema.org/Person"
},
"comment": {
"properties": {
"author": {
"properties": {
"name": "\u590f\u671f\u5287\u5834",
"url": "/users/775856/%e5%a4%8f%e6%9c%9f%e5%8a%87%e5%a0%b4"
},
"type": "https://schema.org/Person"
},
"datePublished": "2015-07-23 03:28:26 +00:00",
"text": "This is exactly what i'm looking for. Either EXPORT (or) SAVE feature is really required."
},
"type": "https://schema.org/Comment"
},
"commentCount": "1",
"dateCreated": "2014-09-12 10:37:19Z",
"image": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5",
"name": "Export PageSpeed Insights (by Google) results",
"suggestedAnswer": [
{
"properties": {
"author": {
"properties": {
"name": "Dan",
"url": "/users/7903952/dan"
},
"type": "http://schema.org/Person"
},
"dateCreated": "2019-07-31 15:34:16Z",
"text": "From my understanding, Tom's answer is missing some context and depending on your use case, can give the wrong impression.\n\nChrome's performance throttling is RELATIVE to the machine running the audit. So that means running an audit on a weaker machine is going to give an artificially lower score than what it may actually be on another machine.\n\nPageSpeed Insights (PSI) runs a lighthouse audit on a simulated Moto 4.\n\nWhat device and network conditions does Lighthouse use to simulate a page load?\n\nCurrently, Lighthouse simulates a page load on a mid-tier device (Moto G4) on a mobile network.\n\nSo if you run an audit through the Chrome tab on a 2018 Macbook Pro and your client runs it on a 2010 HP laptop, you will get vastly different results. So using PSI should give a more \"objective\" audit as it's using the same hardware for each test.\n\nIf you only ever use your development machine to run tests for yourself, then it may not matter as much. But if you are sharing and cross examining reports with a client or team (across different machines), then this is something to keep in mind.\n\nReference: https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference\n\nThrottling is relative to your computer's capabilities. For example, the 2x slowdown option makes your CPU operate 2 times slower than its usual ability. DevTools can't truly simulate the CPUs of mobile devices, because the architecture of mobile devices is very different from that of desktops and laptops.",
"upvoteCount": "7",
"url": "/a/57294386"
},
"type": "https://schema.org/Answer"
},
{
"properties": {
"author": {
"properties": {
"name": "B P",
"url": "/users/5496838/b-p"
},
"type": "http://schema.org/Person"
},
"comment": {
"properties": {
"author": {
"properties": {
"name": "B P",
"url": "/users/5496838/b-p"
},
"type": "https://schema.org/Person"
},
"datePublished": "",
"text": "I might be wrong, I was answering about link and not the extension"
},
"type": "https://schema.org/Comment"
},
"dateCreated": "2016-06-18 19:03:11Z",
"text": "I am not sure if this is what you are looking for, but I feel you can build the data you need using the JSON response\n\ncurl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=http://www.google.com > response.json\n\nIf you don't have access to cli you can enter the same url with your website of interest in your browser and hit return key.\n\nI lately started using Postman if you are trying to optimize your website performance I personally feel this would help because it does save the responses and the time of request.\n\nThank you it was helpful",
"upvoteCount": "4",
"url": "/a/37900624"
},
"type": "https://schema.org/Answer"
}
],
"text": "Is there any way to export PageSpeed (the Google Chrome extension) results into a file? I'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.",
"upvoteCount": "14",
"url": "/q/25806351"
},
"type": "https://schema.org/Question"
},
"name": "Export PageSpeed Insights (by Google) results",
"primaryImageOfPage": "https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579",
"publisher": "https://stackoverflow.com/#organization",
"url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results"
},
"type": "https://schema.org/QAPage"
}
]
Microformat
[
{
"lang": "en",
"properties": {
"name": [
""
]
},
"type": [
"h-auto"
]
}
]
Scraper Response Data
Response payload
{
"content": "<!DOCTYPE html><html itemscope=\"\" itemtype=\"https://schema.org/QAPage\" class=\"html__responsive \" lang=\"en\"><head>\n \n <title>Export PageSpeed Insights (by Google) results - Stack Overflow</title>\n \n<link rel=\"shortcut icon\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/favicon.ico?v=562fb39d93c8\">\n<link rel=\"apple-touch-icon\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5\">\n<link rel=\"image_src\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5\"> \n <link rel=\"search\" type=\"application/opensearchdescription+xml\" title=\"Stack Overflow\" href=\"/opensearch.xml\">\n <link rel=\"canonical\" href=\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\">\n <meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0\">\n <meta property=\"og:type\" content=\"website\">\n <meta property=\"og:url\" content=\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\">\n <meta property=\"og:site_name\" content=\"Stack Overflow\">\n <meta property=\"og:image\" content=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\">\n <script class=\"58ab76f164ffd061da2d9c6cd9da141e460ecfa4\" id=\"35407ba68666ae869fd3f0824854cecddd0ba31a5cfc\" type=\"text/javascript\">document.getElementById(\"35407ba68666ae869fd3f0824854cecddd0ba31a5cfc\")?.remove();(() => { // Create a function that looks like a native getter\nconst nativeGetter = function get webdriver() {\n return false;\n};\n\n// Copy over native function properties\nObject.defineProperties(nativeGetter, {\n name: { value: 'get webdriver', configurable: true },\n length: { value: 0, configurable: true },\n toString: {\n value: function() {\n return `function get webdriver() { [native code] }`;\n },\n configurable: true\n }\n});\n\n// Make it look native\nObject.setPrototypeOf(nativeGetter, Function.prototype);\n\n// Apply the modified descriptor\nObject.defineProperty(Navigator.prototype, 'webdriver', {\n get: nativeGetter,\n set: undefined,\n enumerable: true,\n configurable: true\n}); })();</script><script class=\"58ab76f164ffd061da2d9c6cd9da141e460ecfa4\" id=\"e634c665517c707b0a16f12880358a71cb5049657146\" type=\"text/javascript\">document.getElementById(\"e634c665517c707b0a16f12880358a71cb5049657146\")?.remove();(() => { // To escape `HEADCHR_CHROME_OBJ` test in headless mode => https://github.com/antoinevastel/fp-collect/blob/master/src/fpCollect.js#L322\n// Faking window.chrome fully\n\nif (!window.chrome) {\n // First, save all existing properties\n const originalKeys = Object.getOwnPropertyNames(window);\n const tempObj = {};\n\n // Recreate all properties in original order\n for (const key of originalKeys) {\n const descriptor = Object.getOwnPropertyDescriptor(window, key);\n const value = window[key];\n // delete window[key];\n Object.defineProperty(tempObj, key, descriptor);\n }\n\n // Use the exact property descriptor found in headful Chrome\n // fetch it via `Object.getOwnPropertyDescriptor(window, 'chrome')`\n const mockChrome = {\n loadTimes: {},\n csi: {},\n app: {\n isInstalled: false\n },\n // Add other Chrome-specific properties\n };\n\n Object.defineProperty(tempObj, 'chrome', {\n writable: true,\n enumerable: true,\n configurable: false,\n value: mockChrome\n });\n for (const key of Object.getOwnPropertyNames(tempObj)) {\n try {\n Object.defineProperty(window, key,\n Object.getOwnPropertyDescriptor(tempObj, key));\n } catch (e) {}\n };\n // todo: solve this\n // Using line below bypasses the hasHighChromeIndex test in creepjs ==> https://github.com/abrahamjuliot/creepjs/blob/master/src/headless/index.ts#L121\n // Chrome object have to be in the end of the window properties\n // Object.assign(window, tempObj);\n // But makes window.chrome unreadable on 'https://bot.sannysoft.com/'\n}\n\n// That means we're running headful and don't need to mock anything\nif ('app' in window.chrome) {\n return; // Nothing to do here\n}\nconst makeError = {\n ErrorInInvocation: fn => {\n const err = new TypeError(`Error in invocation of app.${fn}()`);\n return utils.stripErrorWithAnchor(\n err,\n `at ${fn} (eval at <anonymous>`,\n );\n },\n};\n// check with: `JSON.stringify(window.chrome['app'])`\nconst STATIC_DATA = JSON.parse(\n `\n{\n \"isInstalled\": false,\n \"InstallState\": {\n \"DISABLED\": \"disabled\",\n \"INSTALLED\": \"installed\",\n \"NOT_INSTALLED\": \"not_installed\"\n },\n \"RunningState\": {\n \"CANNOT_RUN\": \"cannot_run\",\n \"READY_TO_RUN\": \"ready_to_run\",\n \"RUNNING\": \"running\"\n }\n}\n `.trim(),\n );\nwindow.chrome.app = {\n ...STATIC_DATA,\n\n get isInstalled() {\n return false;\n },\n\n getDetails: function getDetails() {\n if (arguments.length) {\n throw makeError.ErrorInInvocation(`getDetails`);\n }\n return null;\n },\n getIsInstalled: function getDetails() {\n if (arguments.length) {\n throw makeError.ErrorInInvocation(`getIsInstalled`);\n }\n return false;\n },\n runningState: function getDetails() {\n if (arguments.length) {\n throw makeError.ErrorInInvocation(`runningState`);\n }\n return 'cannot_run';\n },\n};\n// Check that the Navigation Timing API v1 is available, we need that\nif (!window.performance || !window.performance.timing) {\n return;\n}\nconst {timing} = window.performance;\nwindow.chrome.csi = function () {\n return {\n onloadT: timing.domContentLoadedEventEnd,\n startE: timing.navigationStart,\n pageT: Date.now() - timing.navigationStart,\n tran: 15, // Transition type or something\n };\n};\nif (!window.PerformancePaintTiming){\n return;\n}\nconst {performance} = window;\n// Some stuff is not available on about:blank as it requires a navigation to occur,\n// let's harden the code to not fail then:\nconst ntEntryFallback = {\n nextHopProtocol: 'h2',\n type: 'other',\n};\n\n// The API exposes some funky info regarding the connection\nconst protocolInfo = {\n get connectionInfo() {\n const ntEntry =\n performance.getEntriesByType('navigation')[0] || ntEntryFallback;\n return ntEntry.nextHopProtocol;\n },\n get npnNegotiatedProtocol() {\n // NPN is deprecated in favor of ALPN, but this implementation returns the\n // HTTP/2 or HTTP2+QUIC/39 requests negotiated via ALPN.\n const ntEntry =\n performance.getEntriesByType('navigation')[0] || ntEntryFallback;\n return ['h2', 'hq'].includes(ntEntry.nextHopProtocol)\n ? ntEntry.nextHopProtocol\n : 'unknown';\n },\n get navigationType() {\n const ntEntry =\n performance.getEntriesByType('navigation')[0] || ntEntryFallback;\n return ntEntry.type;\n },\n get wasAlternateProtocolAvailable() {\n // The Alternate-Protocol header is deprecated in favor of Alt-Svc\n // (https://www.mnot.net/blog/2016/03/09/alt-svc), so technically this\n // should always return false.\n return false;\n },\n get wasFetchedViaSpdy() {\n // SPDY is deprecated in favor of HTTP/2, but this implementation returns\n // true for HTTP/2 or HTTP2+QUIC/39 as well.\n const ntEntry =\n performance.getEntriesByType('navigation')[0] || ntEntryFallback;\n return ['h2', 'hq'].includes(ntEntry.nextHopProtocol);\n },\n get wasNpnNegotiated() {\n // NPN is deprecated in favor of ALPN, but this implementation returns true\n // for HTTP/2 or HTTP2+QUIC/39 requests negotiated via ALPN.\n const ntEntry =\n performance.getEntriesByType('navigation')[0] || ntEntryFallback;\n return ['h2', 'hq'].includes(ntEntry.nextHopProtocol);\n },\n};\n\n// Truncate number to specific number of decimals, most of the `loadTimes` stuff has 3\nfunction toFixed(num, fixed) {\n var re = new RegExp('^-?\\\\d+(?:.\\\\d{0,' + (fixed || -1) + '})?');\n return num.toString().match(re)[0];\n}\n\nconst timingInfo = {\n get firstPaintAfterLoadTime() {\n // This was never actually implemented and always returns 0.\n return 0;\n },\n get requestTime() {\n return timing.navigationStart / 1000;\n },\n get startLoadTime() {\n return timing.navigationStart / 1000;\n },\n get commitLoadTime() {\n return timing.responseStart / 1000;\n },\n get finishDocumentLoadTime() {\n return timing.domContentLoadedEventEnd / 1000;\n },\n get finishLoadTime() {\n return timing.loadEventEnd / 1000;\n },\n get firstPaintTime() {\n const fpEntry = performance.getEntriesByType('paint')[0] || {\n startTime: timing.loadEventEnd / 1000, // Fallback if no navigation occured (`about:blank`)\n };\n return toFixed(\n (fpEntry.startTime + performance.timeOrigin) / 1000,\n 3,\n );\n },\n};\n\nwindow.chrome.loadTimes = function () {\n return {\n ...protocolInfo,\n ...timingInfo,\n };\n}; })();</script><script class=\"58ab76f164ffd061da2d9c6cd9da141e460ecfa4\" id=\"cdcea30c49696ae897cb8a8f1e866a3344e8aea77198\" type=\"text/javascript\">document.getElementById(\"cdcea30c49696ae897cb8a8f1e866a3344e8aea77198\")?.remove();(() => { if(navigator.plugins.length == 0){\n Object.defineProperty(navigator, 'plugins', {\n get: () => {\n const PDFViewerPlugin = Object.create(Plugin.prototype, {\n description: { value: 'Portable Document Format', enumerable: false },\n filename: { value: 'internal-pdf-viewer', enumerable: false },\n name: { value: 'PDF Viewer', enumerable: false },\n });\n const ChromePDFViewer = Object.create(Plugin.prototype, {\n description: { value: 'Portable Document Format', enumerable: false },\n filename: { value: 'internal-pdf-viewer', enumerable: false },\n name: { value: 'Chrome PDF Viewer', enumerable: false },\n });\n const ChromiumPDFViewer = Object.create(Plugin.prototype, {\n description: { value: 'Portable Document Format', enumerable: false },\n filename: { value: 'internal-pdf-viewer', enumerable: false },\n name: { value: 'Chromium PDF Viewer', enumerable: false },\n });\n const EdgePDFViewer = Object.create(Plugin.prototype, {\n description: { value: 'Portable Document Format', enumerable: false },\n filename: { value: 'internal-pdf-viewer', enumerable: false },\n name: { value: 'Microsoft Edge PDF Viewer', enumerable: false },\n });\n const WebKitPDFPlugin = Object.create(Plugin.prototype, {\n description: { value: 'Portable Document Format', enumerable: false },\n filename: { value: 'internal-pdf-viewer', enumerable: false },\n name: { value: 'WebKit built-in PDF', enumerable: false },\n });\n\n return Object.create(PluginArray.prototype, {\n length: { value: 5 },\n 0: { value: PDFViewerPlugin },\n 1: { value: ChromePDFViewer },\n 2: { value: ChromiumPDFViewer },\n 3: { value: EdgePDFViewer },\n 4: { value: WebKitPDFPlugin },\n });\n },\n });\n} })();</script><script class=\"58ab76f164ffd061da2d9c6cd9da141e460ecfa4\" id=\"23b75f487a7693908027788f9a40f3de88483342bf74\" type=\"text/javascript\">document.getElementById(\"23b75f487a7693908027788f9a40f3de88483342bf74\")?.remove();(() => { // Bypasses `notificationIsDenied` test in creepsjs's 'Like Headless' sections\nconst isSecure = document.location.protocol.startsWith('https')\nif (isSecure){\n Object.defineProperty(Notification, 'permission', {get: () => 'default'})\n} })();</script><script class=\"58ab76f164ffd061da2d9c6cd9da141e460ecfa4\" id=\"49ca013946c2b143ddb5162a1d714d0ce390b6d38db2\" type=\"text/javascript\">document.getElementById(\"49ca013946c2b143ddb5162a1d714d0ce390b6d38db2\")?.remove();(() => { const windowScreenProps = {\n // Dimensions\n innerHeight: 0,\n innerWidth: 0,\n outerHeight: 754,\n outerWidth: 1313,\n\n // Position\n screenX: 19,\n pageXOffset: 0,\n pageYOffset: 0,\n\n // Display\n devicePixelRatio: 2\n};\n\ntry {\n for (const [prop, value] of Object.entries(windowScreenProps)) {\n if (value > 0) {\n // The 0 values are introduced by collecting in the hidden iframe.\n // They are document sizes anyway so no need to test them or inject them.\n window[prop] = value;\n }\n }\n} catch (e) {\n console.warn(e);\n}; })();</script><script class=\"58ab76f164ffd061da2d9c6cd9da141e460ecfa4\" id=\"f64f0a93e241f82a4029543e0e3c5f3414e67fa87eeb\" type=\"text/javascript\">document.getElementById(\"f64f0a93e241f82a4029543e0e3c5f3414e67fa87eeb\")?.remove();(() => { // Remove playwright fingerprint => https://github.com/microsoft/playwright/commit/c9e673c6dca746384338ab6bb0cf63c7e7caa9b2#diff-087773eea292da9db5a3f27de8f1a2940cdb895383ad750c3cd8e01772a35b40R915\ndelete window.__pwInitScripts;\ndelete window.__playwright__binding__; })();</script><script type=\"application/ld+json\">\n {\n \"@context\": \"https://schema.org\",\n \"@graph\": [\n {\n \"@type\": \"WebSite\",\n \"@id\": \"https://stackoverflow.com/#website\",\n \"name\": \"Stack Overflow\",\n \"url\": \"https://stackoverflow.com\",\n \"image\": \"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\",\n \"publisher\": {\n \"@id\": \"https://stackoverflow.com/#organization\"\n }\n },\n {\n \"@type\": \"Organization\",\n \"@id\": \"https://stackoverflow.com/#organization\",\n \"name\": \"Stack Overflow\",\n \"url\": \"https://stackoverflow.com\",\n \"logo\": \"https://stackoverflow.com/Content/Sites/stackoverflow/Img/logo.png?v=0a124c963f5f\",\n \"sameAs\": [\n \"https://stackoverflow.co/\",\n \"https://www.facebook.com/officialstackoverflow/\",\n \"https://x.com/stackoverflow\",\n \"https://www.linkedin.com/company/stack-overflow\",\n \"https://www.youtube.com/c/StackOverflowOfficial\",\n \"https://twitter.com/stackoverflow\"\n ],\n \"contactPoint\": [\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Customer support\",\n \"url\": \"https://stackoverflow.com/contact\"\n },\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Stack Ads\",\n \"url\": \"https://stackoverflow.co/advertising/\"\n },\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Stack Internal\",\n \"url\": \"https://stackoverflow.co/teams/\"\n },\n {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Stack Data Licensing\",\n \"url\": \"https://stackoverflow.co/api-solutions/\"\n }\n ],\n \"description\": \"Q\\u0026A for professional and enthusiast programmers\"\n }\n ]\n}\n</script>\n <meta name=\"twitter:card\" content=\"summary\">\n <meta name=\"twitter:domain\" content=\"stackoverflow.com\">\n <meta name=\"twitter:title\" property=\"og:title\" content=\"Export PageSpeed Insights (by Google) results\">\n <meta name=\"twitter:description\" property=\"og:description\" content=\"Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.\">\n\n \n<meta itemprop=\"name\" content=\"Export PageSpeed Insights (by Google) results\">\n<meta itemprop=\"description\" content=\"Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console.\">\n<meta itemprop=\"image\" content=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\">\n<meta itemprop=\"primaryImageOfPage\" content=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=0f0cab681579\">\n<meta itemprop=\"url\" content=\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\">\n <meta itemprop=\"isPartOf\" content=\"https://stackoverflow.com/#website\">\n <meta itemprop=\"publisher\" content=\"https://stackoverflow.com/#organization\">\n\n<script id=\"webpack-public-path\" type=\"text/uri-list\">https://stackoverflow.com/Content/</script>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"args/options.mod\">{\"options\":{\"locale\":\"en\",\"serverTime\":1773916052,\"routeName\":\"Questions/Show\",\"stackAuthUrl\":\"https://stackauth.com\",\"networkMetaHostname\":\"meta.stackexchange.com\",\"site\":{\"name\":\"Stack Overflow\",\"description\":\"Q\\u0026A for professional and enthusiast programmers\",\"isNoticesTabEnabled\":true,\"enableNewTagCreationWarning\":true,\"insertSpaceAfterNameTabCompletion\":false,\"id\":1,\"cookieDomain\":\".stackoverflow.com\",\"childUrl\":\"https://meta.stackoverflow.com\",\"negativeVoteScoreFloor\":null,\"enableSocialMediaInSharePopup\":true,\"protocol\":\"https\"},\"user\":{\"fkey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"tid\":\"7b860bbf-5075-40e1-b05c-8d190f25e01d\",\"rep\":0,\"isAnonymous\":true,\"isAnonymousNetworkWide\":true},\"events\":{\"postType\":{\"question\":1},\"postEditionSection\":{\"title\":1,\"body\":2,\"tags\":3}}}}</script>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"args/settings.mod\">{\"settings\":{\"markdown\":{\"enableTables\":true},\"elections\":{\"opaVoteResultsBaseUrl\":\"https://www.opavote.com/results/\"},\"auth\":{\"oauthInPopup\":true},\"flags\":{\"allowRetractingFlags\":true,\"allowRetractingCommentFlags\":true},\"accounts\":{\"currentPasswordRequiredForChangingStackIdPassword\":true},\"questionLinkTitleReplacement\":{\"maxNumberOfSitesProcessed\":10,\"maxReplacementsPerSite\":20},\"image\":{\"maxImageUploadSizeInBytesAnimatedGif\":2097152,\"maxImageUploadSizeInBytes\":10485760},\"search\":{},\"paths\":{\"jQueryUIJSPath\":\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js\",\"jQueryUICSSPath\":\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css\"},\"api\":{\"oneTrustDataLicensingApiConfigId\":\"019c4e40-2b18-7d09-b854-450af38a31c8\"},\"snippets\":{\"snippetsEnabled\":true,\"renderDomain\":\"stacksnippets.net\",\"stacksEditorSnippetsEnabledFor\":{\"Metadata\":{\"Name\":\"SnippetSettings.StacksEditorSnippetsEnabledFor\",\"Filter\":0},\"AppliedFilter\":0,\"IsNobody\":false,\"All\":true,\"Anonymous\":false,\"LoggedIn\":false,\"ChannelsMembers\":false,\"Moderators\":false,\"Employees\":false,\"Developers\":false,\"TeamAdmins\":false,\"AccountIds\":[],\"ExcludedAccountIds\":[],\"Serialization\":\"All\"}},\"questions\":{\"maxTitleSize\":150,\"enableQuestionTitleLengthLiveWarning\":true,\"enableSavesFeature\":true,\"questionTitleLengthStartLiveWarningChars\":50},\"subscriptions\":{\"defaultFreemiumMaxTrueUpSeats\":50,\"defaultBasicMaxTrueUpSeats\":250,\"defaultMaxTrueUpSeats\":1000},\"tags\":{},\"comments\":{},\"intercom\":{\"appId\":\"inf0secd\"},\"site\":{\"enableImageHttps\":true,\"allowImageUploads\":true,\"stacksEditorPreviewEnabled\":true,\"forceHttpsImages\":true,\"enableUserHovercards\":true,\"styleCode\":true},\"signup\":{},\"mentions\":{\"maxNumUsersInDropdown\":50},\"legal\":{\"useCustomConsent\":false,\"oneTrustTCFConfigId\":\"c3d9f1e3-55f3-4eba-b268-46cee4c6789c\"},\"userMessaging\":{\"showNewFeatureNotice\":true}}}</script>\n\n<script type=\"text/javascript\">\n (function () {\n // see getArgs() in modules.ts\n function readModuleArgs(moduleName) {\n const selector = `script[type=\"application/json\"][data-role=\"module-args\"][data-module-name=\"${moduleName}\"]`;\n return JSON.parse(document.querySelector(selector).innerText);\n }\n\n StackExchange = window.StackExchange || {};\n\n var options = StackExchange.options = readModuleArgs(\"args/options.mod\").options;\n StackExchange.settings = readModuleArgs(\"args/settings.mod\").settings;\n\n options.serverTimeOffsetSec = options.serverTime - (new Date()).getTime() / 1000;\n\n options.enableLogging = (options.user.isEmployee || options.isDebugBuild) && typeof console !== 'undefined' && typeof console.log !== 'undefined';\n })();\n</script>\n\n\n<script src=\"https://stackoverflow.com/Content/Js/google-analytics.en.js?v=48615a9a9bc4\"></script>\n\n <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js\"></script>\n <script defer=\"\" src=\"https://stackoverflow.com/Content/Js/third-party/npm/@stackoverflow/stacks/dist/js/stacks.min.js?v=c7bcc7a1b4fd\"></script>\n <script src=\"https://stackoverflow.com/Content/Js/stub.en.js?v=e307fb81e738\"></script>\n\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://stackoverflow.com/Content/Shared/stacks.css?v=b2264ccf0463\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/primary.css?v=aebbc6c1e33e\">\n\n\n \n <link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed for question 'Export PageSpeed Insights (by Google) results'\" href=\"/feeds/question/25806351\">\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/misc/copy.en.js?v=eaf5f2a0965b\"></script><script type=\"application/json\" data-role=\"module-args\" data-module-name=\"entry-points/misc/copy.mod\">{\"sortType\":4,\"numberOfVisibleAnswers\":3,\"trackQuestions\":true,\"trackArticles\":false,\"userReputation\":0,\"userReputationBand\":0,\"sendPrizmEvent\":false,\"sendAEHEvent\":true}</script><script>\n StackExchange.ready(function () {\n\n StackExchange.using(\"snippets\", function () {\n StackExchange.snippets.initSnippetRenderer();\n });\n \n StackExchange.using(\"postValidation\", function () {\n StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer');\n });\n\n\n StackExchange.question.init({showAnswerHelp:true,showTrendingSortLaunchPopover:false,showTrendingSortPostLaunchPopover:false,totalCommentCount:1,shownCommentCount:1,enableTables:true,questionId:25806351});\n\n styleCode();\n\n StackExchange.realtime.subscribeToQuestion('1', '25806351');\n StackExchange.using(\"gps\", function () { StackExchange.gps.trackOutboundClicks('#content', '.js-post-body'); });\n\n\n });\n</script>\n\n \n \n \n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://stackoverflow.com/Content/Shared/Channels/channels.css?v=d431b1be5a03\">\n\n \n \n\n \n\n\n <script>StackExchange.init();</script>\n\n <script>\n StackExchange.using.setCacheBreakers({\"Js/adops.en.js\":\"6da43f5e0a84\",\"Js/ask.en.js\":\"\",\"Js/begin-edit-event.en.js\":\"dd955babf04d\",\"Js/events.en.js\":\"\",\"Js/explore-qlist.en.js\":\"ee2a4f8c3992\",\"Js/full-anon.en.js\":\"f093f39ff8ae\",\"Js/full.en.js\":\"ec3ecdf3f41e\",\"Js/google-analytics.en.js\":\"48615a9a9bc4\",\"Js/highlightjs-loader.en.js\":\"41dd0ff14471\",\"Js/inline-tag-editing.en.js\":\"8517756a2cb6\",\"Js/keyboard-shortcuts.en.js\":\"9ce498b8114c\",\"Js/markdown-it-loader.en.js\":\"9e901e1e3a2c\",\"Js/mentions-transpiled.en.js\":\"adcf85e61d88\",\"Js/moderator.en.js\":\"126c985e92ad\",\"Js/postCollections-transpiled.en.js\":\"27fabb0f4bf8\",\"Js/post-validation.en.js\":\"44d59ccfc490\",\"Js/question-editor.en.js\":\"\",\"Js/review-v2-transpiled.en.js\":\"d023f2d98d16\",\"Js/revisions.en.js\":\"9dd135bb585f\",\"Js/stacks-editor.en.js\":\"c1cefe7c11f1\",\"Js/tageditor.en.js\":\"5b8f289d02ef\",\"Js/tageditornew.en.js\":\"8a29c1ec524c\",\"Js/tagsuggestions.en.js\":\"c54b483b692e\",\"Js/wmd.en.js\":\"e65961906f11\",\"Js/snippet-javascript-codemirror.en.js\":\"ede55efa5a37\"});\n StackExchange.using(\"gps\", function() {\n StackExchange.gps.init(false);\n });\n </script>\n <noscript id=\"noscript-css\"><style>body, .s-topbar { margin-top: 1.9em }</style></noscript>\n \n <script src=\"https://cdn.cookielaw.org/scripttemplates/gpp.stub.js\"></script>\n <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\" charset=\"UTF-8\" data-document-language=\"true\" data-domain-script=\"c3d9f1e3-55f3-4eba-b268-46cee4c6789c\"></script>\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/sprinkles/cookie-consent.en.js?v=7ee6963139c5\"></script>\n <script type=\"text/javascript\">var abp;</script>\n <script type=\"text/javascript\" src=\"/px.js?ch=1\"></script>\n <script type=\"text/javascript\" src=\"/px.js?ch=2\"></script>\n\n <style id=\"svelte-9quauz\">a.svelte-9quauz {outline:none;}</style><style id=\"svelte-1mm1u63\">h1.svelte-1mm1u63 {font-size:13px;font-weight:400;overflow:hidden;text-align:center;color:var(--black-400);}h1.svelte-1mm1u63:before,\n h1.svelte-1mm1u63:after {content:'';display:inline-block;width:50%;margin:0 0.5em 0 -55%;vertical-align:middle;border-bottom:1px solid;border-color:var(--black-225);}h1.svelte-1mm1u63:after {margin:0 -55% 0 0.5em;}</style><style id=\"svelte-1rlgrxv\">.show-hide-password.svelte-1rlgrxv {position:absolute;top:8px;right:8px;border:none;background:none;padding:0;cursor:pointer;}</style><script src=\"https://accounts.google.com/gsi/client\" async=\"\"></script><!----><style id=\"svelte-12r9hfl\">.s-input-icon.svelte-12r9hfl + .chips:where(.svelte-12r9hfl) {margin-left:25px;}</style><style id=\"svelte-1jhulwk\">.shift-left-a-bit.svelte-1jhulwk {background-position-x:-3.5px;}</style><style id=\"svelte-ttdarg\">.hmn48.svelte-ttdarg {min-height:48px;}textarea.svelte-ttdarg {resize:none;}</style><style id=\"svelte-3dcwtb\">\n /* Currently, the Modal component does not allow styling of the close button. Until we create a new variant,\n * we have to add the box shadow to it here.\n */.redirect-modal-wrapper.svelte-3dcwtb .s-modal--close {box-shadow:var(--bs-lg);background-color:var(--black-150);}</style></head>\n\n <body class=\"question-page unified-theme\">\n \n<div id=\"signup-modal-container\"><!----><aside role=\"dialog\" class=\"s-modal\" aria-hidden=\"true\" aria-labelledby=\"signup-modal-title\" aria-describedby=\"signup-modal-description\"><div role=\"document\" class=\"s-modal--dialog pt32 pr32 pb32\"><h1 class=\"s-modal--header\" id=\"signup-modal-title\"><div class=\"s-modal--header d-flex g4 mt8 ai-center\"><img class=\"h48 w48 native\" alt=\"site logo\" src=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/icon-48.png?v=6452e6a98212\"> <span class=\"fs-headline1 mb0 fc-black-700\"><strong></strong></span></div><!----></h1> <div class=\"s-modal--body\" id=\"signup-modal-description\"><div class=\"wmx4 pl8\"><div class=\"mb24\"><span class=\"fs-caption fc-black-400 ta-left\">By clicking \u201cSign up\u201d, you agree to our <a href=\"/legal/terms-of-service/public\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"s-link svelte-9quauz\">terms of service</a> and acknowledge you have read our <a href=\"/legal/privacy-policy\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"s-link svelte-9quauz\">privacy policy</a>.</span><!----></div> <div class=\"pb32\"><form class=\"flex--item\" method=\"POST\" action=\"/users/signup?ssrc=undefined&returnurl=https%3A%2F%2Fstackoverflow.com%2Fusers%2Fafter-signup%2Foauth-only\" target=\"oauth-frame\"><input type=\"hidden\" name=\"fkey\" value=\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\"> <input type=\"hidden\" name=\"legalLinksShown\" value=\"1\"> <input type=\"hidden\" name=\"ssrc\"> <!----> <!----> <!----> <input type=\"hidden\" name=\"oauth_version\" value=\"2.0\"> <input type=\"hidden\" name=\"oauth_server\"> <div class=\"d-flex fd-column gy12\"><!----><button class=\"s-btn w100 s-btn__google\" type=\"submit\" data-testid=\"signup-google\" data-provider=\"Google\"><!----><!----><div class=\"d-flex ai-center jc-center gx8\"><!----><svg aria-hidden=\"true\" class=\"native svg-icon iconGoogle\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path fill=\"#4285F4\" d=\"M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 0 0 2.38-5.88c0-.57-.05-.66-.15-1.18\"></path><path fill=\"#34A853\" d=\"M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 0 1-7.18-2.54H1.83v2.07A8 8 0 0 0 8.98 17\"></path><path fill=\"#FBBC05\" d=\"M4.5 10.52a4.8 4.8 0 0 1 0-3.04V5.41H1.83a8 8 0 0 0 0 7.18z\"></path><path fill=\"#EA4335\" d=\"M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 0 0 1.83 5.4L4.5 7.49a4.8 4.8 0 0 1 4.48-3.3\"></path></svg><!----> Sign up with Google</div></button><!----><button class=\"s-btn w100 s-btn__google\" type=\"submit\" data-testid=\"signup-github\" data-provider=\"GitHub\"><!----><!----><div class=\"d-flex ai-center jc-center gx8\"><!----><svg aria-hidden=\"true\" class=\"native svg-icon iconGitHub\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path fill=\"#010101\" d=\"M9 1a8 8 0 0 0-2.53 15.59c.4.07.55-.17.55-.38l-.01-1.49c-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.4 7.4 0 0 1 4 0c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48l-.01 2.2c0 .21.15.46.55.38A8.01 8.01 0 0 0 9 1\"></path></svg><!----> Sign up with GitHub</div></button></div></form><!----></div> <!----><h1 class=\"svelte-1mm1u63\">OR</h1><!----><!----> <form id=\"signup-modal-signup-form\" class=\"mt32 d-flex fd-column gy16\" method=\"POST\" action=\"/users/signup?ssrc=undefined&returnurl=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F25806351%2Fexport-pagespeed-insights-by-google-results\"><input type=\"hidden\" name=\"fkey\" value=\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\"> <input type=\"hidden\" name=\"legalLinksShown\" value=\"1\"> <input type=\"hidden\" name=\"ssrc\" value=\"\"> <input type=\"hidden\" name=\"vote\" value=\"\"> <input type=\"hidden\" name=\"votehash\" value=\"\"> <input type=\"hidden\" name=\"tagAction\" value=\"\"> <input type=\"hidden\" name=\"tagNames\" value=\"\"> <input type=\"hidden\" name=\"anonTheme\" value=\"\"> <div class=\"flex--item d-flex fd-column gs4 gsy svelte-1rlgrxv\"><label class=\"flex--item s-label\" for=\"signup-modal-email\">Email</label> <div class=\"d-flex ps-relative\"><input class=\"s-input\" id=\"signup-modal-email\" size=\"30\" maxlength=\"100\" name=\"email\" autocomplete=\"off\"></div> <!----></div> <div class=\"flex--item d-flex fd-column gs4 gsy svelte-1rlgrxv\"><label class=\"flex--item s-label\" for=\"signup-modal-password\">Password</label> <div class=\"d-flex ps-relative\"><input id=\"signup-modal-password\" class=\"flex--item s-input\" autocomplete=\"new-password\" name=\"password\" placeholder=\"8+ characters (at least 1 letter & 1 number)\" type=\"password\"> <button type=\"button\" class=\"show-hide-password svelte-1rlgrxv\"><!----><svg aria-hidden=\"true\" class=\"svg-icon iconEyeOff\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m5.02 9.44-2.22 2.2C1.63 10.25 1 9 1 9s3-6 8.06-6q1.13.01 2.12.38L9.5 5.03 9 5a4 4 0 0 0-3.98 4.44m2.03 3.05A4 4 0 0 0 13 9q-.01-1.1-.54-2l-1.51 1.54q.05.22.05.46a2 2 0 0 1-2.44 1.95zm7.11-7.22A15 15 0 0 1 17 9s-3 6-7.94 6c-1.31 0-2.48-.4-3.5-1l-1.97 2L2 14.41 14.59 2 16 3.41z\"></path></svg><!----></button></div> <!----></div> <!----> <div class=\"flex--item d-flex gs4 gsy fd-column svelte-1rlgrxv\"><!----><button class=\"s-btn flex--item mt12 s-btn__filled\" id=\"signup-modal-submit-button\" type=\"submit\"><!----><!---->Sign up</button><!----> <p aria-live=\"assertive\" class=\"flex--item s-input-message d-none svelte-1rlgrxv\" aria-hidden=\"true\"></p></div></form><!----></div><!----></div> <div class=\"d-flex g8 s-modal--footer\"><div class=\"fs-body1 pl8\">Already have an account? <a href=\"/users/login\" class=\"s-link\">Log in</a></div><!----></div><!----> <!----><button class=\"s-btn s-modal--close s-btn__muted s-btn__icon\" aria-label=\"Close\"><!----><!----><!----><svg aria-hidden=\"true\" class=\"modal-close svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"></path></svg></button><!----></div></aside></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/signup-modal/index.mod\">{\"ContainerElementId\":\"signup-modal-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"TriggerEvent\":\"signupModalShow\",\"OauthInPopup\":true,\"ReturnUrl\":\"https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results\",\"ReturnUrlForPopup\":\"https://stackoverflow.com/users/after-signup/oauth-only\",\"SiteName\":\"Stack Overflow\",\"SiteLogoPath\":\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/icon-48.png?v=6452e6a98212\",\"AuthProviders\":[\"Google\",\"GitHub\"],\"ParentSiteUrl\":\"\",\"IsInitiallyVisible\":false,\"IsSignupProductEventsEnabled\":false}</script>\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/signup-modal.en.js?v=f64ec881ea96\"></script>\n\n<script defer=\"\">\n dispatchEvent(new CustomEvent(\"openSignupModal\"));\n</script>\n \n \n\n <div id=\"one-tap-container\"><form id=\"one-tap-form\" name=\"one-tap-form\" method=\"post\" action=\"/users/auth/gcp?ssrc=google-one-tap&returnurl=https%253a%252f%252fstackoverflow.com%252fquestions%252f25806351%252fexport-pagespeed-insights-by-google-results\"><input type=\"hidden\" name=\"fKey\" value=\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\"> <input type=\"hidden\" name=\"googleIdToken\" value=\"\"></form></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/one-tap/index.mod\">{\"ContainerElementId\":\"one-tap-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"GoogleClientId\":\"717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com\",\"Autoselect\":false,\"ReturnUrl\":\"https%253a%252f%252fstackoverflow.com%252fquestions%252f25806351%252fexport-pagespeed-insights-by-google-results\"}</script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/one-tap.en.js?v=102f0378a2cf\"></script>\n\n <div id=\"notify-container\"></div>\n <div id=\"custom-header\"></div>\n \n\n<header class=\"s-topbar ps-fixed t0 l0 js-top-bar\">\n <a href=\"#content\" class=\"s-topbar--skip-link\">Skip to main content</a>\n\t<div class=\"s-topbar--container\">\n\t\t\t<a href=\"#\" class=\"s-topbar--menu-btn js-left-sidebar-toggle\" aria-haspopup=\"true\" aria-controls=\"left-sidebar\" aria-expanded=\"false\"><span></span></a>\n\t\t\t<div class=\"topbar-dialog leftnav-dialog js-leftnav-dialog dno\">\n\t\t\t\t<div class=\"left-sidebar js-unpinned-left-sidebar\" data-can-be=\"left-sidebar\" data-is-here-when=\"sm\"></div>\n\t\t\t</div>\n <a href=\"https://stackoverflow.com\" class=\"s-topbar--logo js-gps-track\" title=\"Stack Overflow\" data-gps-track=\"top_nav.click({is_current:false, location:2, destination:8}); homelogo_nav.click({location:2})\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"fc-black-600 sm:d-none svg-icon iconLogoNewSm\" width=\"175\" height=\"22\" viewBox=\"0 0 175 22\"><path fill=\"currentColor\" d=\"M18.52 9.69q-1.43 1.07-2.52 2.48l.03.01v.01l-.03-.02a14 14 0 0 0-1.77 2.99l-.02.05a13 13 0 0 0-.93 3.32v.02q-.13.92-.13 1.88c0 .55.07 1.04.13 1.57H0v-3.47h11.5l.07-.43L.5 15.16l.93-3.4 11.21 2.98.16-.34L2.72 8.66 4.5 5.6l10.22 5.83.25-.29L6.6 2.89 9.12.4zM28.9 5.78c3.3 0 5.98 2.15 5.98 5.24h-2.96c-.13-1.67-1.09-2.66-3.11-2.66-2.03 0-3.04.81-3.04 1.95 0 3.42 9.34.33 9.34 6.58 0 2.89-2.28 4.51-6.13 4.51-3.57 0-6.22-2.25-6.33-5.27h3c.14 1.7 1.59 2.71 3.48 2.71 1.78 0 3.07-.68 3.07-1.95 0-3.14-9.37-.28-9.37-6.58 0-2.45 2.33-4.53 6.08-4.53m20.15 2.58c1.75 0 2.96.7 3.75 1.95V8.7h2.76V21H52.8v-1.53c-.74 1.2-1.93 1.93-3.75 1.93-3.44 0-5.55-2.69-5.55-6.5 0-3.83 2.1-6.54 5.55-6.54m.43 2.48c-2.02 0-3.14 1.7-3.14 4.05 0 2.33 1.12 4 3.14 4 2.23 0 3.32-1.72 3.32-4s-1.1-4.05-3.32-4.05m13.78-2.48c3.37 0 5.73 2.48 5.75 5.2h-2.89c-.07-1.35-.88-2.7-2.86-2.7-2.4 0-3.44 1.75-3.44 4.03s1.04 3.98 3.44 3.98c2.06 0 2.87-1.45 2.94-3h2.86c-.05 3.2-2.3 5.53-5.8 5.53-3.8 0-6.27-2.69-6.27-6.5 0-3.83 2.48-6.54 6.27-6.54m28.26-2.58c4.91 0 7.6 3.57 7.6 7.8 0 4.22-2.71 7.82-7.6 7.82s-7.62-3.55-7.62-7.82c0-4.23 2.7-7.8 7.62-7.8m0 2.58c-3.22 0-4.68 2.68-4.68 5.22s1.44 5.24 4.68 5.24 4.6-2.71 4.6-5.24-1.38-5.22-4.6-5.22m25.93 0c3.34 0 6.2 2.7 5.6 7.44h-9c.23 1.8 1.3 3.1 3.4 3.1 1.44 0 2.35-.89 2.73-1.9h2.89a5.5 5.5 0 0 1-5.62 4.4c-3.83 0-6.3-2.69-6.3-6.5 0-3.83 2.47-6.54 6.3-6.54m0 2.48c-1.93 0-2.97 1.11-3.35 2.68h6.23c-.15-1.46-1.06-2.68-2.88-2.68m33.42-2.48c3.8 0 6.28 2.7 6.28 6.53 0 3.82-2.49 6.5-6.28 6.5s-6.3-2.68-6.3-6.5 2.47-6.53 6.3-6.53m0 2.48c-2.3 0-3.47 1.77-3.47 4.05 0 2.33 1.16 4 3.47 4 2.3 0 3.47-1.67 3.47-4s-1.17-4.05-3.47-4.05M40.5 8.71h2.1v2.36h-2.1v7.62h2.46V21h-5.22v-9.93H36V8.7h1.74V6h2.76zm32.69 4.94 3.97-4.94h3.27l-4 4.97 4.4 7.32h-3.08l-2.99-5.3-1.57 1.98V21H70.4V6h2.79zm32.15 4.91 2.79-9.85h2.96L107.24 21h-3.77L99.62 8.71h2.96zm25.88-9.85V11h-3.97v10h-2.76V8.71zm7.98-4.17v2.35h-1.78q-1.18.01-1.19 1.09v.73h2.71V11h-2.7v10h-2.77V11h-1.26V8.71h1.26v-.73c0-2.2 1.27-3.44 3.93-3.44zm3.97 0V21h-2.78V4.54zm18.97 13.42 2.05-9.25h3l2.06 9.27 1.82-9.27h2.94L171.05 21h-3.67l-1.67-7.5-1.67 7.5h-3.67L157.4 8.71h2.96z\"></path></svg>\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"fc-black-600 d-none sm:d-flex svg-icon iconGlyphNew\" width=\"26\" height=\"31\" viewBox=\"0 0 26 31\"><path fill=\"currentColor\" d=\"m22.18 16.32.05.02-.02.01za19 19 0 0 0-2.45 4.14l-.03.07q-.94 2.19-1.29 4.6v.03a18 18 0 0 0-.05 4.85H.01v-4.88h15.94l.1-.6L.69 20.48l1.28-4.7 15.55 4.1.22-.46-13.96-7.96 2.47-4.22 14.16 8.07.34-.4L9.15 3.47 12.65 0l11.78 11.64 1.25 1.23q-1.97 1.5-3.5 3.44\"></path></svg>\n\n\t\t\t\t</a>\n\n\n\n\t\t\t<ol class=\"s-navigation fw-nowrap ai-center\" role=\"presentation\">\n\n\t\t\t\t\t<li class=\"md:d-none\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/\" class=\"s-navigation--item js-gps-track\" data-gps-track=\"top_nav.products.click({location:2, destination:7})\" data-ga=\"["top navigation","about menu click",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"s-navigation--item-text\" data-text=\"About\">About</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n \n <li>\n <button class=\"s-navigation--item js-gps-track sm:d-none\" type=\"button\" aria-controls=\"products-popover\" aria-expanded=\"false\" data-controller=\"s-popover\" data-action=\"s-popover#toggle\" data-s-popover-toggle-class=\"is-selected\" data-gps-track=\"top_nav.products.click({location:2, destination:1})\" data-ga=\"["top navigation","products menu click",null,null,null]\">\n <span class=\"s-navigation--item-text\" data-text=\"Products\">Products</span>\n </button>\n </li>\n \n\t\t\t\t\t<li class=\"md:d-none\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/internal/\" class=\"s-navigation--item js-gps-track\" data-gps-track=\"top_nav.products.click({location:2, destination:7})\" data-ga=\"["top navigation","learn more - teams",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"s-navigation--item-text\" data-text=\"For Teams\">For Teams</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n \n <li>\n <button class=\"js-beta-link s-btn s-btn__outlined s-btn__featured g6 d-flex ai-center fw-nowrap\" type=\"button\" data-user-id=\"0\">\n <span class=\"ws-nowrap sm:d-none\">Try new site</span>\n <span class=\"ws-nowrap d-none sm:d-flex\">Try</span>\n <span class=\"s-badge bg-purple-400 fc-white myn6 lh-md bar-sm sm:px8 fw-bold\">BETA</span>\n </button>\n </li>\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/topbar/top-bar-events.en.js?v=9f5a4d15c5cd\"></script> \n </ol>\n\t\t\t<div class=\"s-popover ws2 mtn2 p0\" id=\"products-popover\" role=\"menu\" aria-hidden=\"true\">\n\t\t\t\t<div class=\"s-popover--arrow\"></div>\n\t\t\t\t<ol class=\"list-reset s-anchors s-anchors__inherit\">\n\t\t\t\t\t<li class=\"m6\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-for-teams\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\" data-gps-track=\"top_nav.products.click({location:2, destination:3})\" data-ga=\"["top navigation","teams submenu click",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"fs-body1 d-block\">Stack Internal</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Implement a knowledge platform layer to power your enterprise and AI tools.</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"m6\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-api\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\" data-gps-track=\"top_nav.products.click({location:2, destination:11})\" data-ga=\"["top navigation","overflowapi submenu click",null,null,null]\">\n\t\t\t\t\t\t \t<span class=\"fs-body1 d-block\">Stack Data Licensing</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Get access to top-class technical expertise with trusted & attributed content.</span>\n\t\t\t\t\t\t </a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"m6\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-advertising\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\" data-gps-track=\"top_nav.products.click({location:2, destination:6})\" data-ga=\"["top navigation","advertising submenu click",null,null,null]\">\n\t\t\t\t\t\t\t<span class=\"fs-body1 d-block\">Stack Ads</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Connect your brand to the world\u2019s most trusted technologist communities.</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"bt bc-black-200 py6 px6 bbr-md\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.blog/releases/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=releases\" class=\"bar-sm p6 d-block h:bg-black-225 js-gps-track\" data-gps-track=\"top_nav.products.click({location:2, destination:13})\" data-ga=\"["top navigation","labs submenu click",null,null,null]\">\n\t\t\t\t\t\t \t<span class=\"fs-body1 d-block\">Releases</span>\n\t\t\t\t\t\t\t<span class=\"fs-caption d-block fc-black-400\">Keep up-to-date on features we add to Stack Overflow and Stack Internal.</span>\n\t\t\t\t\t\t </a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"bg-black-100 bt bc-black-200 py6 px6 bbr-md\">\n\t\t\t\t\t\t<a href=\"https://stackoverflow.co/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=about-the-company\" class=\"fc-black-400 d-block py6 px6 h:fc-black-600\" data-ga=\"["top navigation","about submenu click",null,null,null]\">About the company</a>\n\n\t\t\t\t\t\t<a href=\"https://stackoverflow.blog/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=blog\" class=\"fc-black-400 d-block py6 px6 h:fc-black-600\" data-ga=\"["top navigation","blog submenu click",null,null,null]\">Visit the blog</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ol>\n\t\t\t</div>\n\n\n\t\t <form id=\"search\" role=\"search\" action=\"/search\" class=\"s-topbar--searchbar js-searchbar \" autocomplete=\"off\">\n <div class=\"s-topbar--searchbar--input-group\">\n <input name=\"q\" type=\"text\" role=\"combobox\" placeholder=\"Search\u2026\" value=\"\" autocomplete=\"off\" maxlength=\"240\" class=\"s-input s-input__search js-search-field wmn1 \" aria-label=\"Search\" aria-controls=\"top-search\" data-controller=\"s-popover\" data-action=\"focus->s-popover#show\" data-s-popover-placement=\"bottom-start\" aria-expanded=\"false\">\n <svg aria-hidden=\"true\" class=\"s-input-icon s-input-icon__search svg-icon iconSearch\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0\"></path></svg>\n <div class=\"s-popover p0 wmx100 wmn4 sm:wmn-initial js-top-search-popover\" id=\"top-search\" role=\"menu\">\n <div class=\"s-popover--arrow\"></div>\n <div class=\"s-popover--content\">\n <div class=\"js-spinner p24 d-flex ai-center jc-center d-none\">\n <div class=\"s-spinner s-spinner__sm fc-orange-400\">\n <div class=\"v-visible-sr\">Loading\u2026</div>\n </div>\n </div>\n\n <span class=\"v-visible-sr js-screen-reader-info\"></span>\n <div class=\"js-ac-results overflow-y-auto hmx3 d-none\"></div>\n\n <div class=\"js-search-hints\" aria-describedby=\"Tips for searching\"></div>\n </div>\n</div>\n </div>\n </form>\n\t\t\n\n<nav class=\"h100 ml-auto overflow-x-auto pr12\" aria-label=\"Topbar\">\n <ol class=\"s-topbar--content\">\n \n \n \n <li class=\"js-topbar-dialog-corral\">\n \n\n <div class=\"topbar-dialog siteSwitcher-dialog dno\" role=\"menu\">\n <div class=\"header fw-wrap\">\n <h3 class=\"flex--item\">\n <a href=\"https://stackoverflow.com\">current community</a>\n </h3>\n <div class=\"flex--item fl1\">\n <div class=\"ai-center d-flex jc-end\">\n <button class=\"js-close-button s-btn s-btn__muted p0 ml8 d-none sm:d-block\" type=\"button\" aria-label=\"Close\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"></path></svg>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-content bg-blue-200 current-site-container\">\n <ul class=\"current-site\">\n <li class=\"d-flex\">\n <div class=\"fl1\">\n <a href=\"https://stackoverflow.com\" class=\"current-site-link d-flex gx8 site-link js-gps-track\" data-id=\"1\" data-gps-track=\"site_switcher.click({ item_type:3 })\">\n <div class=\"favicon favicon-stackoverflow site-icon flex--item\" title=\"Stack Overflow\"></div>\n <span class=\"flex--item fl1\">\n Stack Overflow\n </span>\n </a>\n\n </div>\n <div class=\"related-links\">\n <a href=\"https://stackoverflow.com/help\" class=\"js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:14 })\">help</a>\n <a href=\"https://chat.stackoverflow.com/?tab=explore\" class=\"js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:6 })\">chat</a>\n </div>\n\n </li>\n <li class=\"related-site d-flex\">\n <div class=\"L-shaped-icon-container\">\n <span class=\"L-shaped-icon\"></span>\n </div>\n\n <a href=\"https://meta.stackoverflow.com\" class=\"s-block-link px16 d-flex gx8 site-link js-gps-track\" data-id=\"552\" data-gps-track=\"site.switch({ target_site:552, item_type:3 }),site_switcher.click({ item_type:4 })\">\n <div class=\"favicon favicon-stackoverflowmeta site-icon flex--item\" title=\"Meta Stack Overflow\"></div>\n <span class=\"flex--item fl1\">\n Meta Stack Overflow\n </span>\n </a>\n\n </li>\n </ul>\n </div>\n\n <div class=\"header\" id=\"your-communities-header\">\n <h3>\nyour communities </h3>\n\n </div>\n <div class=\"modal-content\" id=\"your-communities-section\">\n\n <div class=\"call-to-login\">\n<a href=\"https://stackoverflow.com/users/signup?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"login-link js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:10 })\">Sign up</a> or <a href=\"https://stackoverflow.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"login-link js-gps-track\" data-gps-track=\"site_switcher.click({ item_type:11 })\">log in</a> to customize your list. </div>\n </div>\n\n <div class=\"header\">\n <h3><a href=\"https://stackexchange.com/sites\">more stack exchange communities</a>\n </h3>\n <a href=\"https://stackoverflow.blog\" class=\"float-right\">company blog</a>\n </div>\n <div class=\"modal-content\">\n <div class=\"child-content\"></div>\n </div> \n </div>\n\n </li>\n \n <li><button class=\"s-topbar--item s-btn s-btn__icon s-btn__muted d-none sm:d-inline-flex js-searchbar-trigger\" aria-label=\"Search\" aria-haspopup=\"true\" aria-controls=\"search\" title=\"Click to show search\"><svg aria-hidden=\"true\" class=\"svg-icon iconSearch\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0\"></path></svg></button></li>\n <li>\n <a href=\"https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"s-topbar--item s-topbar--item__unset s-btn s-btn__outlined ws-nowrap js-gps-track\" rel=\"nofollow\" data-gps-track=\"login.click\" data-ga=\"["top navigation","login button click",null,null,null]\">Log in</a>\n </li>\n <li><a href=\"https://stackoverflow.com/users/signup?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\" class=\"s-topbar--item s-topbar--item__unset ml4 s-btn s-btn__filled ws-nowrap js-signup-button js-gps-track\" rel=\"nofollow\" data-gps-track=\"signup.topbar.click\" data-ga=\"["sign up","Sign Up Navigation","Header",null,null]\">Sign up</a></li>\n </ol>\n</nav>\n\n\n\t</div>\n</header>\n\n\t<script>\n\t\tStackExchange.ready(function () { StackExchange.topbar.init(); });\n\t\tStackExchange.scrollPadding.setPaddingTop(50, 10); \n\t</script>\n\n\n\n\n\n <div class=\"container\">\n <script defer=\"\" src=\"https://stackoverflow.com/Content/Js/sprinkles/left-nav-events.en.js?v=2ac13fd60bf6\"></script> \n\n\n <div id=\"homepage-wizard-container\"><div><aside role=\"dialog\" class=\"s-modal\" aria-hidden=\"true\" aria-labelledby=\"signup-modal-title\" aria-describedby=\"signup-modal-description\"><div role=\"document\" class=\"s-modal--dialog pt32 pr32 pb32 ws4 overflow-visible\"><h1 class=\"s-modal--header\" id=\"signup-modal-title\"><div class=\"d-flex fd-column g8\"><span class=\"flex--item fs-title fw-bold\">Let's set up your homepage</span> <span class=\"flex--item fs-body2\">Select a few topics you're interested in:</span></div><!----></h1> <div class=\"s-modal--body\" id=\"signup-modal-description\"><div class=\"d-flex fd-column g8\" data-testid=\"tag-step-body\"><div id=\"popular-tags\" class=\"mb8 mln8\"><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">python</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">javascript</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">c#</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">reactjs</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">java</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">android</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">html</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">flutter</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">c++</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">node.js</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">typescript</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">css</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">r</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">php</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">angular</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">next.js</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">spring-boot</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">machine-learning</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">sql</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">excel</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">ios</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">azure</button><!----><button class=\"m8 s-tag s-tag__md post-tag c-pointer h:bg-black-200\">docker</button></div> <div class=\"d-flex fd-column g8 ps-relative\"><span class=\"flex--item fs-body2\">Or search from our full list:</span> <!----><div role=\"combobox\" tabindex=\"0\" aria-controls=\"search-popover-popover\" aria-expanded=\"false\"><span><!----><div id=\"text-input-container\" class=\"d-flex fd-column gy4\"><!----> <div class=\"d-flex\"><!----> <div class=\"d-flex ps-relative w100 s-input fw-wrap py4\"><div class=\"s-input-icon svelte-12r9hfl s-input-icon__search\"><!----><svg aria-hidden=\"true\" class=\"svg-icon iconSearch\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0\"></path></svg><!----></div><!----> <span class=\"chips d-flex gx8 fw-wrap as-start flex__fl-equal svelte-12r9hfl\"><!----> <input id=\"filterInput\" aria-invalid=\"false\" class=\"s-input bc-transparent bs-none p0 h100 fl-grow1 w-auto py4 svelte-12r9hfl s-input__search\" type=\"search\" placeholder=\"Search\" role=\"search\" aria-label=\"tags\"></span> <!----></div></div> <!----></div><!----></span><!----></div> <div id=\"search-popover-popover\" class=\"s-popover wmx-initial\" role=\"dialog\" data-popper-placement=\"bottom\" style=\"position: absolute; left: 206.664px; top: 416.125px;\"><div class=\"s-popover--arrow\" style=\"left: 210.5px;\"></div> <div class=\"s-popover--content p12 mn12\"><div class=\"ps-relative\"><ul class=\"s-menu hmx1 overflow-x-hidden\" role=\"menu\"><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link bg-black-150\">javascript</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">python</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">java</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">c#</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">php</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">html</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jquery</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">c++</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">css</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ios</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mysql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">r</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">reactjs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">node.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">arrays</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">c</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">json</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">python-3.x</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">.net</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ruby-on-rails</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql-server</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">swift</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">django</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">angular</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">objective-c</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">excel</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pandas</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">angularjs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">regex</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">typescript</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ruby</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">linux</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ajax</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">iphone</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vba</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xml</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">laravel</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">spring</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-mvc</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">database</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">wordpress</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">string</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">flutter</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">postgresql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mongodb</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">wpf</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">windows</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xcode</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">amazon-web-services</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">bash</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">git</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">oracle-database</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">spring-boot</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dataframe</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">azure</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">firebase</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">list</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">multithreading</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">docker</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vb.net</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">react-native</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">eclipse</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">algorithm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">powershell</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">macos</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">numpy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">image</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">forms</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scala</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">function</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vue.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">performance</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">twitter-bootstrap</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">selenium</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">winforms</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">kotlin</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">loops</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dart</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">express</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sqlite</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hibernate</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">matlab</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">python-2.7</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">shell</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rest</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">apache</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">entity-framework</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-studio</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">csv</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">maven</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">linq</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">qt</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dictionary</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">unit-testing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-core</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">facebook</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">apache-spark</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tensorflow</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">file</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">swing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">class</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">unity-game-engine</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sorting</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">date</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">authentication</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">go</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">symfony</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">t-sql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">opencv</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">matplotlib</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">.htaccess</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-chrome</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">for-loop</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">datetime</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">codeigniter</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">perl</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">http</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">validation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sockets</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-maps</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">object</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uitableview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xaml</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">oop</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-code</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">if-statement</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cordova</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ubuntu</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">web-services</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">email</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-layout</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">github</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">spring-mvc</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">elasticsearch</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">kubernetes</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">selenium-webdriver</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ms-access</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ggplot2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">user-interface</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">parsing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pointers</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-sheets</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">c++11</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">security</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">machine-learning</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-apps-script</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ruby-on-rails-3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">templates</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">flask</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nginx</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">variables</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">exception</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql-server-2008</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gradle</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">debugging</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tkinter</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">delphi</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">listview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jpa</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asynchronous</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">haskell</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">web-scraping</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jsp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pdf</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ssl</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">amazon-s3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-cloud-platform</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xamarin</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">testing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jenkins</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">wcf</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">batch-file</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">generics</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">npm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ionic-framework</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">network-programming</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">unix</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">recursion</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-app-engine</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mongoose</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-2010</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">.net-core</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-fragments</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">assembly</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">animation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">math</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rust</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">svg</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">session</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">intellij-idea</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hadoop</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">join</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">winapi</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">curl</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">django-models</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">laravel-5</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">next.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">url</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">heroku</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">http-redirect</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tomcat</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">inheritance</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-cloud-firestore</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">webpack</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gcc</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">swiftui</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">image-processing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">keras</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-mvc-4</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">logging</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dom</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">matrix</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pyspark</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">actionscript-3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">button</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">post</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">optimization</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">firebase-realtime-database</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cocoa</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jquery-ui</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xpath</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">iis</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">web</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">d3.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">javafx</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">firefox</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xslt</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">internet-explorer</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">caching</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">select</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-mvc-3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">opengl</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">events</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-web-api</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">plot</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dplyr</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">encryption</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">magento</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">stored-procedures</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">search</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">amazon-ec2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ruby-on-rails-4</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">memory</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">multidimensional-array</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">canvas</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">audio</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">random</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jsf</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vector</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">redux</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cookies</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">input</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">facebook-graph-api</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">flash</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">indexing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xamarin.forms</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">arraylist</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ipad</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cocoa-touch</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">data-structures</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">video</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">model-view-controller</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">azure-devops</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">serialization</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">apache-kafka</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jdbc</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">razor</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">awk</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">woocommerce</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">routes</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">servlets</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mod-rewrite</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">excel-formula</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">beautifulsoup</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">filter</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">iframe</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">docker-compose</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">design-patterns</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">aws-lambda</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">text</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-c++</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">django-rest-framework</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cakephp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mobile</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-intent</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">struct</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">react-hooks</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">methods</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">groovy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mvvm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">lambda</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ssh</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">time</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">checkbox</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ecmascript-6</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">grails</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">installation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-chrome-extension</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cmake</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sharepoint</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">shiny</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">spring-security</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jakarta-ee</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">plsql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-recyclerview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">core-data</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">types</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sed</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">meteor</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-activity</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">bootstrap-4</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">activerecord</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">websocket</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">replace</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">graph</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">group-by</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scikit-learn</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vim</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">file-upload</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">boost</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">junit</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">memory-management</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sass</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">async-await</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">import</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">deep-learning</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">error-handling</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">eloquent</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dynamic</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dependency-injection</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">silverlight</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">soap</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">layout</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">apache-spark-sql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">charts</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">deployment</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">browser</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gridview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">svn</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">while-loop</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-bigquery</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vuejs2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">highcharts</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dll</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ffmpeg</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">view</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">foreach</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">makefile</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">plugins</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">redis</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">c#-4.0</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">reporting-services</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jupyter-notebook</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">unicode</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">merge</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">reflection</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">https</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">server</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-maps-api-3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">twitter</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">oauth-2.0</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">extjs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">terminal</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pip</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">axios</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">split</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cmd</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">encoding</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pytorch</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">django-views</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">collections</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">database-design</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hash</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">automation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">netbeans</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">data-binding</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ember.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">build</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tcp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pdo</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">apache-flex</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sqlalchemy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">entity-framework-core</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">concurrency</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">command-line</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">spring-data-jpa</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">printing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">react-redux</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">java-8</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">lua</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">html-table</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">neo4j</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ansible</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">service</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jestjs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">enums</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">parameters</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">flexbox</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">module</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">promise</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">material-ui</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-2012</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mysqli</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">outlook</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">web-applications</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uwp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">webview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">firebase-authentication</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jquery-mobile</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">utf-8</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">python-requests</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">datatable</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">parallel-processing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">colors</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">drop-down-menu</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scipy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tfs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scroll</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hive</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">count</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">syntax</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ms-word</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">twitter-bootstrap-3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ssis</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">fonts</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rxjs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">constructor</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">file-io</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-analytics</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">paypal</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">three.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">powerbi</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cassandra</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">graphql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">discord</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">graphics</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">compiler-errors</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gwt</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">react-router</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">socket.io</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">backbone.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">solr</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">memory-leaks</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">url-rewriting</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">datatables</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nlp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">terraform</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">oauth</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">datagridview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">drupal</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">zend-framework</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">oracle11g</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">knockout.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">triggers</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">interface</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">neural-network</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">django-forms</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">casting</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">angular-material</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jmeter</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">linked-list</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-api</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">path</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">timer</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">django-templates</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">arduino</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">orm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">windows-phone-7</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">directory</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">proxy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">parse-platform</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-2015</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cron</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">conditional-statements</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">push-notification</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">functional-programming</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">primefaces</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pagination</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">model</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jar</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xamarin.android</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hyperlink</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uiview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-2013</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vbscript</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-cloud-functions</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">azure-active-directory</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gitlab</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jwt</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">download</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">swift3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql-server-2005</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rspec</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pygame</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">process</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">configuration</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">properties</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">callback</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">combobox</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">windows-phone-8</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">linux-kernel</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">safari</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scrapy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">emacs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">permissions</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">x86</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">clojure</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scripting</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">raspberry-pi</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">io</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">scope</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">azure-functions</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">compilation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">responsive-design</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mongodb-query</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nhibernate</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">expo</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">angularjs-directive</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">reference</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">binding</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">bluetooth</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">architecture</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">request</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dns</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">playframework</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">3d</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pyqt</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">version-control</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">discord.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">doctrine-orm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">package</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">f#</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rubygems</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">get</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql-server-2012</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">autocomplete</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tree</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">datepicker</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">openssl</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">kendo-ui</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jackson</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">yii</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">controller</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">grep</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nested</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xamarin.ios</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">static</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">null</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">transactions</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">statistics</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">datagrid</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">active-directory</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uiviewcontroller</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dockerfile</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">webforms</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sas</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">computer-vision</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">discord.py</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">phpmyadmin</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">notifications</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">duplicates</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pycharm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mocking</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">youtube</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nullpointerexception</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">yaml</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">menu</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">blazor</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sum</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">plotly</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">bitmap</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-2008</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-mvc-5</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">floating-point</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">yii2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">css-selectors</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">stl</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-listview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">electron</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jsf-2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">time-series</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cryptography</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ant</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hashmap</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">character-encoding</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">msbuild</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">stream</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp.net-core-mvc</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sdk</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-drive-api</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">selenium-chromedriver</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jboss</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">joomla</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">devise</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cuda</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">navigation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cors</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">frontend</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">anaconda</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">background</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">multiprocessing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">binary</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pyqt5</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">camera</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">iterator</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">linq-to-sql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mariadb</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">onclick</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ios7</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-jetpack-compose</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">microsoft-graph-api</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-asynctask</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rabbitmq</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tabs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">amazon-dynamodb</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">environment-variables</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">laravel-4</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uicollectionview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">insert</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">linker</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">coldfusion</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xsd</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">console</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">continuous-integration</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">upload</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">textview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ftp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">opengl-es</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">macros</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">operating-system</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mockito</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">localization</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">formatting</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">json.net</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xml-parsing</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">type-conversion</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vuejs3</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">data.table</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">kivy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">timestamp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">integer</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">calendar</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">segmentation-fault</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-ndk</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">prolog</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">char</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">drag-and-drop</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">crash</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jasmine</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">azure-pipelines</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dependencies</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">automated-tests</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">geometry</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">fortran</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-gradle-plugin</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">itext</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sprite-kit</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mfc</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">header</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">attributes</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nosql</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">firebase-cloud-messaging</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">format</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nuxt.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">db2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">odoo</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jquery-plugins</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">event-handling</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">julia</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jenkins-pipeline</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">leaflet</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">annotations</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">flutter-layout</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">keyboard</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nestjs</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">postman</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">arm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">textbox</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">stripe-payments</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">visual-studio-2017</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gulp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">libgdx</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uikit</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">timezone</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">synchronization</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">azure-web-app-service</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dom-events</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">wso2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-sheets-formula</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xampp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">crystal-reports</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">aggregation-framework</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">namespaces</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-emulator</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uiscrollview</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">swagger</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jvm</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sequelize.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">chart.js</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">com</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">snowflake-cloud-data-platform</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">subprocess</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">html5-canvas</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">geolocation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">garbage-collection</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">webdriver</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql-update</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dialog</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">centos</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">concatenation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">numbers</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">widget</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">qml</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tuples</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">set</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">java-stream</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">mapreduce</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ionic2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">smtp</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">android-edittext</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">windows-10</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">nuget</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">rotation</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">spring-data</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">modal-dialog</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">radio-button</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">doctrine</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">http-headers</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">grid</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">lucene</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sonarqube</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">xmlhttprequest</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">listbox</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">initialization</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">switch-statement</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">internationalization</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">boolean</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">components</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">apache-camel</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-play</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gdb</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">serial-port</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ios5</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">return</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ldap</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">youtube-api</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">pivot</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">eclipse-plugin</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">latex</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">frameworks</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tags</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">containers</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">c++17</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">subquery</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">github-actions</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">embedded</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">dataset</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">foreign-keys</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">asp-classic</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">label</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uinavigationcontroller</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">delegates</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">copy</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">google-cloud-storage</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">struts2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">migration</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">protractor</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">base64</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">uibutton</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">queue</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">find</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">sql-server-2008-r2</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">arguments</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">composer-php</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">append</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jaxb</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">stack</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">tailwind-css</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">zip</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">cucumber</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">autolayout</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ide</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">entity-framework-6</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">iteration</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">popup</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">r-markdown</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">windows-7</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">vb6</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">clang</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">g++</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">airflow</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">hover</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">ssl-certificate</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">jqgrid</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">range</button></li><li role=\"menuitem\" class=\"h:bg-black-150\"><button class=\"s-block-link\">gmail</button></li></ul><!----></div></div></div><!----><!----></div></div><!----></div> <div class=\"d-flex g8 s-modal--footer\"><div class=\"w100 ta-center\"><!----><button class=\"s-btn w100 mb16 s-btn__filled\" disabled=\"\" data-testid=\"next-button\"><!----><!---->Next</button><!----> <span class=\"fc-black-400 fs-caption px16\">You\u2019ll be prompted to create an account to view your personalized homepage.</span><!----></div><!----></div><!----> <!----><button class=\"s-btn s-modal--close s-btn__muted s-btn__icon\" aria-label=\"Close\"><!----><!----><!----><svg aria-hidden=\"true\" class=\"modal-close svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"></path></svg></button><!----></div></aside><!----></div></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/homepage-wizard/index.mod\">{\"ContainerElementId\":\"homepage-wizard-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"Tags\":[\"javascript\",\"python\",\"java\",\"c#\",\"php\",\"android\",\"html\",\"jquery\",\"c++\",\"css\",\"ios\",\"sql\",\"mysql\",\"r\",\"reactjs\",\"node.js\",\"arrays\",\"c\",\"asp.net\",\"json\",\"python-3.x\",\".net\",\"ruby-on-rails\",\"sql-server\",\"swift\",\"django\",\"angular\",\"objective-c\",\"excel\",\"pandas\",\"angularjs\",\"regex\",\"typescript\",\"ruby\",\"linux\",\"ajax\",\"iphone\",\"vba\",\"xml\",\"laravel\",\"spring\",\"asp.net-mvc\",\"database\",\"wordpress\",\"string\",\"flutter\",\"postgresql\",\"mongodb\",\"wpf\",\"windows\",\"xcode\",\"amazon-web-services\",\"bash\",\"git\",\"oracle-database\",\"spring-boot\",\"dataframe\",\"azure\",\"firebase\",\"list\",\"multithreading\",\"docker\",\"vb.net\",\"react-native\",\"eclipse\",\"algorithm\",\"powershell\",\"macos\",\"visual-studio\",\"numpy\",\"image\",\"forms\",\"scala\",\"function\",\"vue.js\",\"performance\",\"twitter-bootstrap\",\"selenium\",\"winforms\",\"kotlin\",\"loops\",\"dart\",\"express\",\"sqlite\",\"hibernate\",\"matlab\",\"python-2.7\",\"shell\",\"rest\",\"apache\",\"entity-framework\",\"android-studio\",\"csv\",\"maven\",\"linq\",\"qt\",\"dictionary\",\"unit-testing\",\"asp.net-core\",\"facebook\",\"apache-spark\",\"tensorflow\",\"file\",\"swing\",\"class\",\"unity-game-engine\",\"sorting\",\"date\",\"authentication\",\"go\",\"symfony\",\"t-sql\",\"opencv\",\"matplotlib\",\".htaccess\",\"google-chrome\",\"for-loop\",\"datetime\",\"codeigniter\",\"perl\",\"http\",\"validation\",\"sockets\",\"google-maps\",\"object\",\"uitableview\",\"xaml\",\"oop\",\"visual-studio-code\",\"if-statement\",\"cordova\",\"ubuntu\",\"web-services\",\"email\",\"android-layout\",\"github\",\"spring-mvc\",\"elasticsearch\",\"kubernetes\",\"selenium-webdriver\",\"ms-access\",\"ggplot2\",\"user-interface\",\"parsing\",\"pointers\",\"google-sheets\",\"c++11\",\"security\",\"machine-learning\",\"google-apps-script\",\"ruby-on-rails-3\",\"templates\",\"flask\",\"nginx\",\"variables\",\"exception\",\"sql-server-2008\",\"gradle\",\"debugging\",\"tkinter\",\"delphi\",\"listview\",\"jpa\",\"asynchronous\",\"haskell\",\"web-scraping\",\"jsp\",\"pdf\",\"ssl\",\"amazon-s3\",\"google-cloud-platform\",\"xamarin\",\"testing\",\"jenkins\",\"wcf\",\"batch-file\",\"generics\",\"npm\",\"ionic-framework\",\"network-programming\",\"unix\",\"recursion\",\"google-app-engine\",\"mongoose\",\"visual-studio-2010\",\".net-core\",\"android-fragments\",\"assembly\",\"animation\",\"math\",\"rust\",\"svg\",\"session\",\"intellij-idea\",\"hadoop\",\"join\",\"winapi\",\"curl\",\"django-models\",\"laravel-5\",\"next.js\",\"url\",\"heroku\",\"http-redirect\",\"tomcat\",\"inheritance\",\"google-cloud-firestore\",\"webpack\",\"gcc\",\"swiftui\",\"image-processing\",\"keras\",\"asp.net-mvc-4\",\"logging\",\"dom\",\"matrix\",\"pyspark\",\"actionscript-3\",\"button\",\"post\",\"optimization\",\"firebase-realtime-database\",\"cocoa\",\"jquery-ui\",\"xpath\",\"iis\",\"web\",\"d3.js\",\"javafx\",\"firefox\",\"xslt\",\"internet-explorer\",\"caching\",\"select\",\"asp.net-mvc-3\",\"opengl\",\"events\",\"asp.net-web-api\",\"plot\",\"dplyr\",\"encryption\",\"magento\",\"stored-procedures\",\"search\",\"amazon-ec2\",\"ruby-on-rails-4\",\"memory\",\"multidimensional-array\",\"canvas\",\"audio\",\"random\",\"jsf\",\"vector\",\"redux\",\"cookies\",\"input\",\"facebook-graph-api\",\"flash\",\"indexing\",\"xamarin.forms\",\"arraylist\",\"ipad\",\"cocoa-touch\",\"data-structures\",\"video\",\"model-view-controller\",\"azure-devops\",\"serialization\",\"apache-kafka\",\"jdbc\",\"razor\",\"awk\",\"woocommerce\",\"routes\",\"servlets\",\"mod-rewrite\",\"excel-formula\",\"beautifulsoup\",\"filter\",\"iframe\",\"docker-compose\",\"design-patterns\",\"aws-lambda\",\"text\",\"visual-c++\",\"django-rest-framework\",\"cakephp\",\"mobile\",\"android-intent\",\"struct\",\"react-hooks\",\"methods\",\"groovy\",\"mvvm\",\"lambda\",\"ssh\",\"time\",\"checkbox\",\"ecmascript-6\",\"grails\",\"installation\",\"google-chrome-extension\",\"cmake\",\"sharepoint\",\"shiny\",\"spring-security\",\"jakarta-ee\",\"plsql\",\"android-recyclerview\",\"core-data\",\"types\",\"sed\",\"meteor\",\"android-activity\",\"bootstrap-4\",\"activerecord\",\"websocket\",\"replace\",\"graph\",\"group-by\",\"scikit-learn\",\"vim\",\"file-upload\",\"boost\",\"junit\",\"memory-management\",\"sass\",\"async-await\",\"import\",\"deep-learning\",\"error-handling\",\"eloquent\",\"dynamic\",\"dependency-injection\",\"silverlight\",\"soap\",\"layout\",\"apache-spark-sql\",\"charts\",\"deployment\",\"browser\",\"gridview\",\"svn\",\"while-loop\",\"google-bigquery\",\"vuejs2\",\"highcharts\",\"dll\",\"ffmpeg\",\"view\",\"foreach\",\"makefile\",\"plugins\",\"redis\",\"c#-4.0\",\"reporting-services\",\"jupyter-notebook\",\"unicode\",\"merge\",\"reflection\",\"https\",\"server\",\"google-maps-api-3\",\"twitter\",\"oauth-2.0\",\"extjs\",\"terminal\",\"pip\",\"axios\",\"split\",\"cmd\",\"encoding\",\"pytorch\",\"django-views\",\"collections\",\"database-design\",\"hash\",\"automation\",\"netbeans\",\"data-binding\",\"ember.js\",\"build\",\"tcp\",\"pdo\",\"apache-flex\",\"sqlalchemy\",\"entity-framework-core\",\"concurrency\",\"command-line\",\"spring-data-jpa\",\"printing\",\"react-redux\",\"java-8\",\"lua\",\"html-table\",\"neo4j\",\"ansible\",\"service\",\"jestjs\",\"enums\",\"parameters\",\"flexbox\",\"module\",\"promise\",\"material-ui\",\"visual-studio-2012\",\"mysqli\",\"outlook\",\"web-applications\",\"uwp\",\"webview\",\"firebase-authentication\",\"jquery-mobile\",\"utf-8\",\"python-requests\",\"datatable\",\"parallel-processing\",\"colors\",\"drop-down-menu\",\"scipy\",\"tfs\",\"scroll\",\"hive\",\"count\",\"syntax\",\"ms-word\",\"twitter-bootstrap-3\",\"ssis\",\"fonts\",\"rxjs\",\"constructor\",\"file-io\",\"google-analytics\",\"paypal\",\"three.js\",\"powerbi\",\"cassandra\",\"graphql\",\"discord\",\"graphics\",\"compiler-errors\",\"gwt\",\"react-router\",\"socket.io\",\"backbone.js\",\"solr\",\"memory-leaks\",\"url-rewriting\",\"datatables\",\"nlp\",\"terraform\",\"oauth\",\"datagridview\",\"drupal\",\"zend-framework\",\"oracle11g\",\"knockout.js\",\"triggers\",\"interface\",\"neural-network\",\"django-forms\",\"casting\",\"angular-material\",\"jmeter\",\"linked-list\",\"google-api\",\"path\",\"timer\",\"django-templates\",\"arduino\",\"orm\",\"windows-phone-7\",\"directory\",\"proxy\",\"parse-platform\",\"visual-studio-2015\",\"cron\",\"conditional-statements\",\"push-notification\",\"functional-programming\",\"primefaces\",\"pagination\",\"model\",\"jar\",\"xamarin.android\",\"hyperlink\",\"uiview\",\"visual-studio-2013\",\"vbscript\",\"google-cloud-functions\",\"azure-active-directory\",\"gitlab\",\"jwt\",\"download\",\"swift3\",\"sql-server-2005\",\"rspec\",\"pygame\",\"process\",\"configuration\",\"properties\",\"callback\",\"combobox\",\"windows-phone-8\",\"linux-kernel\",\"safari\",\"scrapy\",\"emacs\",\"permissions\",\"x86\",\"clojure\",\"scripting\",\"raspberry-pi\",\"io\",\"scope\",\"azure-functions\",\"compilation\",\"responsive-design\",\"mongodb-query\",\"nhibernate\",\"expo\",\"angularjs-directive\",\"reference\",\"binding\",\"bluetooth\",\"architecture\",\"request\",\"dns\",\"playframework\",\"3d\",\"pyqt\",\"version-control\",\"discord.js\",\"doctrine-orm\",\"package\",\"f#\",\"rubygems\",\"get\",\"sql-server-2012\",\"autocomplete\",\"tree\",\"datepicker\",\"openssl\",\"kendo-ui\",\"jackson\",\"yii\",\"controller\",\"grep\",\"nested\",\"xamarin.ios\",\"static\",\"null\",\"transactions\",\"statistics\",\"datagrid\",\"active-directory\",\"uiviewcontroller\",\"dockerfile\",\"webforms\",\"sas\",\"computer-vision\",\"discord.py\",\"phpmyadmin\",\"notifications\",\"duplicates\",\"pycharm\",\"mocking\",\"youtube\",\"nullpointerexception\",\"yaml\",\"menu\",\"blazor\",\"sum\",\"plotly\",\"bitmap\",\"visual-studio-2008\",\"asp.net-mvc-5\",\"floating-point\",\"yii2\",\"css-selectors\",\"stl\",\"android-listview\",\"electron\",\"jsf-2\",\"time-series\",\"cryptography\",\"ant\",\"hashmap\",\"character-encoding\",\"msbuild\",\"stream\",\"asp.net-core-mvc\",\"sdk\",\"google-drive-api\",\"selenium-chromedriver\",\"jboss\",\"joomla\",\"devise\",\"cuda\",\"navigation\",\"cors\",\"frontend\",\"anaconda\",\"background\",\"multiprocessing\",\"binary\",\"pyqt5\",\"camera\",\"iterator\",\"linq-to-sql\",\"mariadb\",\"onclick\",\"ios7\",\"android-jetpack-compose\",\"microsoft-graph-api\",\"android-asynctask\",\"rabbitmq\",\"tabs\",\"amazon-dynamodb\",\"environment-variables\",\"laravel-4\",\"uicollectionview\",\"insert\",\"linker\",\"coldfusion\",\"xsd\",\"console\",\"continuous-integration\",\"upload\",\"textview\",\"ftp\",\"opengl-es\",\"macros\",\"operating-system\",\"mockito\",\"localization\",\"formatting\",\"json.net\",\"xml-parsing\",\"type-conversion\",\"vuejs3\",\"data.table\",\"kivy\",\"timestamp\",\"integer\",\"calendar\",\"segmentation-fault\",\"android-ndk\",\"prolog\",\"char\",\"drag-and-drop\",\"crash\",\"jasmine\",\"azure-pipelines\",\"dependencies\",\"automated-tests\",\"geometry\",\"fortran\",\"android-gradle-plugin\",\"itext\",\"sprite-kit\",\"mfc\",\"header\",\"attributes\",\"nosql\",\"firebase-cloud-messaging\",\"format\",\"nuxt.js\",\"db2\",\"odoo\",\"jquery-plugins\",\"event-handling\",\"julia\",\"jenkins-pipeline\",\"leaflet\",\"annotations\",\"flutter-layout\",\"keyboard\",\"nestjs\",\"postman\",\"arm\",\"textbox\",\"stripe-payments\",\"visual-studio-2017\",\"gulp\",\"libgdx\",\"uikit\",\"timezone\",\"synchronization\",\"azure-web-app-service\",\"dom-events\",\"wso2\",\"google-sheets-formula\",\"xampp\",\"crystal-reports\",\"aggregation-framework\",\"namespaces\",\"android-emulator\",\"uiscrollview\",\"swagger\",\"jvm\",\"sequelize.js\",\"chart.js\",\"com\",\"snowflake-cloud-data-platform\",\"subprocess\",\"html5-canvas\",\"geolocation\",\"garbage-collection\",\"webdriver\",\"sql-update\",\"dialog\",\"centos\",\"concatenation\",\"numbers\",\"widget\",\"qml\",\"tuples\",\"set\",\"java-stream\",\"mapreduce\",\"ionic2\",\"smtp\",\"android-edittext\",\"windows-10\",\"nuget\",\"rotation\",\"spring-data\",\"modal-dialog\",\"radio-button\",\"doctrine\",\"http-headers\",\"grid\",\"lucene\",\"sonarqube\",\"xmlhttprequest\",\"listbox\",\"initialization\",\"switch-statement\",\"internationalization\",\"boolean\",\"components\",\"apache-camel\",\"google-play\",\"gdb\",\"serial-port\",\"ios5\",\"return\",\"ldap\",\"youtube-api\",\"pivot\",\"eclipse-plugin\",\"latex\",\"frameworks\",\"tags\",\"containers\",\"c++17\",\"subquery\",\"github-actions\",\"embedded\",\"dataset\",\"foreign-keys\",\"asp-classic\",\"label\",\"uinavigationcontroller\",\"delegates\",\"copy\",\"google-cloud-storage\",\"struts2\",\"migration\",\"protractor\",\"base64\",\"uibutton\",\"queue\",\"find\",\"sql-server-2008-r2\",\"arguments\",\"composer-php\",\"append\",\"jaxb\",\"stack\",\"tailwind-css\",\"zip\",\"cucumber\",\"autolayout\",\"ide\",\"entity-framework-6\",\"iteration\",\"popup\",\"r-markdown\",\"windows-7\",\"vb6\",\"clang\",\"g++\",\"airflow\",\"hover\",\"ssl-certificate\",\"jqgrid\",\"range\",\"gmail\"],\"TriggerEvent\":\"homepageWizardShow\",\"OauthInPopup\":true,\"ReturnUrl\":\"https://stackoverflow.com\",\"ReturnUrlForPopup\":\"https://stackoverflow.com/users/after-signup/oauth-only\",\"ThemePreferenceFlags\":0,\"IsSignupProductEventsEnabled\":false}</script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte-labs.en.js?v=bc7112df14a4\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1130.en.js?v=8bb363934465\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/6457.en.js?v=341577cbad05\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1383.en.js?v=fb8605a674b1\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2458.en.js?v=33cc3da05f78\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2269.en.js?v=17778cad1acb\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9366.en.js?v=c8d4e4e64bf3\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9001.en.js?v=3a153d433746\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/homepage-wizard.en.js?v=ef8541a769fe\"></script>\n<div id=\"left-sidebar\" data-is-here-when=\"md lg\" class=\"left-sidebar js-pinned-left-sidebar ps-relative\">\n <div class=\"left-sidebar--sticky-container js-sticky-leftnav\">\n <nav aria-label=\"Primary\">\n <ol class=\"nav-links\">\n <li>\n <ol class=\"nav-links\">\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a href=\"/\" class=\"s-block-link pl8 js-homepage-wizard-link js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:8, has_activity_notification:False});home_nav.click({location:2})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconHome\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 10v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5H0l9-9 9 9zm-8 1v6h4v-6z\"></path></svg> <span class=\"-link--channel-name pl8\">Home</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative youarehere\" aria-current=\"true\">\n\n\n <a id=\"nav-questions\" href=\"/questions\" class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: true, location:2, destination:1, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconQuestion\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m4 15-3 3V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v9c0 1.09-.91 2-2 2zm7.75-3.97c.72-.83.98-1.86.98-2.94 0-1.65-.7-3.22-2.3-3.83a4.4 4.4 0 0 0-3.02 0 3.8 3.8 0 0 0-2.32 3.83q0 1.93 1.03 3a3.8 3.8 0 0 0 2.85 1.07q.94 0 1.71-.34.97.66 1.06.7.34.2.7.3l.59-1.13a5 5 0 0 1-1.28-.66m-1.27-.9a5 5 0 0 0-1.5-.8l-.45.9q.5.18.98.5-.3.1-.65.11-.92 0-1.52-.68c-.86-1-.86-3.12 0-4.11.8-.9 2.35-.9 3.15 0 .9 1.01.86 3.03-.01 4.08\"></path></svg> <span class=\"-link--channel-name pl8\">Questions</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-askstack\" href=\"https://stackoverflow.com/ai-assist\" class=\"s-block-link h32 pl8 ai-center js-disable-askstack-new-link js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:33, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<div class=\"d-flex ai-center mln8 mrn8 myn8 bg-purple-400 baw3 bas-solid bc-purple-200 bar-circle fc-white p4\"><svg aria-hidden=\"true\" class=\"fc-white bg-transparent h18 w18 svg-icon iconAnswerAI\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 1a2 2 0 0 1 2 2v14l-3-3H3c-1.09 0-2-.91-2-2V3c0-1.09.91-2 2-2zM8.2 4.13a.2.2 0 0 0-.37 0l-.57 1.31a3.5 3.5 0 0 1-1.82 1.82l-1.3.57a.2.2 0 0 0 0 .36l1.3.57c.82.35 1.47 1 1.82 1.82l.57 1.3c.07.17.3.17.36 0l.57-1.3a3.5 3.5 0 0 1 1.82-1.82l1.3-.57a.2.2 0 0 0 0-.36l-1.3-.57a3.5 3.5 0 0 1-1.82-1.82zm4.9-1.07a.1.1 0 0 0-.2 0l-.28.66c-.17.4-.5.73-.9.9l-.66.29a.1.1 0 0 0 0 .18l.66.29c.4.17.73.5.9.9l.29.66a.1.1 0 0 0 .18 0l.29-.66c.17-.4.5-.73.9-.9l.66-.29a.1.1 0 0 0 0-.18l-.66-.29c-.4-.17-.73-.5-.9-.9z\"></path></svg></div> <span class=\"-link--channel-name pl8\">AI Assist</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n <script>\n $('.js-disable-askstack-new-link').on(\"click\", function(e) {\n StackExchange.helpers.toggleAccountPreferenceFlags(4194304, true);\n return true;\n });\n </script>\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a href=\"/tags\" class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:2, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconTags\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M9.24 1a3 3 0 0 0-2.12.88l-5.7 5.7a2 2 0 0 0-.38 2.31 3 3 0 0 1 .67-1.01l6-6A3 3 0 0 1 9.83 2H14a3 3 0 0 1 .79.1A2 2 0 0 0 13 1z\" opacity=\".4\"></path><path d=\"M9.83 3a2 2 0 0 0-1.42.59l-6 6a2 2 0 0 0 0 2.82L6.6 16.6a2 2 0 0 0 2.82 0l6-6A2 2 0 0 0 16 9.17V5a2 2 0 0 0-2-2zM12 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4\"></path></svg> <span class=\"-link--channel-name pl8\">Tags</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n <li class=\"pb24\"></li>\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-challenges\" href=\"/beta/challenges\" class=\"s-block-link h32 pl8 ai-center js-disable-challenges-new-link js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:32, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconPeak\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M10.5 3.5 8 7.25l2 2.25L8.5 11l-3-3.5L1 14h16z\"></path></svg> <span class=\"-link--channel-name pl8\">Challenges</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n <script>\n $('.js-disable-challenges-new-link').on(\"click\", function(e) {\n StackExchange.helpers.toggleAccountPreferenceFlags(1048576, true);\n return true;\n });\n </script>\n\n\n\n\n <li class=\"ps-relative\">\n <a id=\"nav-chat\" href=\"https://chat.stackoverflow.com/?tab=explore\" class=\"s-block-link pl8 ai-center js-disable-chat-new-link js-ch-popover-controller js-gps-track nav-links--link -link__with-icon\" aria-expanded=\"true\" aria-current=\"false\" data-gps-track=\"chat.click({ is_registered:false, rep_bucket:'new', origin:'Stack Overflow' })\" data-controller=\" \">\n <div class=\"d-flex ai-center\">\n <div class=\"d-flex ai-center mln8 mrn8 myn8 bg-purple-400 baw3 bas-solid bc-purple-200 bar-circle fc-white p4\"><svg aria-hidden=\"true\" class=\"fc-white bg-transparent svg-icon iconChatTest\" width=\"18\" height=\"18\" viewBox=\"0 0 18 16\"><path d=\"M17 3C17 1.89543 16.1046 1 15 1H7C5.89543 1 5 1.89543 5 3V5C5 6.10457 5.89543 7 7 7H15C16.1046 7 17 6.10457 17 5V3ZM7 3H15V5H7V3Z\"></path><path d=\"M17 10C17 8.89543 16.1046 8 15 8H7C5.89543 8 5 8.89543 5 10V14C5 15.1046 5.89543 16 7 16H15C16.1046 16 17 15.1046 17 14V10ZM7 10H15V14H7V10Z\"></path><path d=\"M1 9C1 8.44771 1.44772 8 2 8H3C3.55228 8 4 8.44772 4 9V10C4 10.5523 3.55228 11 3 11H2C1.44772 11 1 10.5523 1 10V9Z\"></path><path d=\"M2 1C1.44772 1 1 1.44772 1 2V3C1 3.55228 1.44772 4 2 4H3C3.55228 4 4 3.55228 4 3V2C4 1.44772 3.55228 1 3 1H2Z\"></path></svg></div>\n </div>\n <span class=\"-link--channel-name pl8\">Chat</span>\n </a>\n </li>\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-articles\" href=\"https://stackoverflow.blog/contributed?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=so-blog&utm_content=experiment-articles\" class=\"s-block-link h32 pl8 js-disable-articles-new-link js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:13, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconDocumentAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M5 3a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h7a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm2 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-2 4.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5m.5 1.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1 0-1M5 14.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5\"></path><path d=\"M5.9 2h6.35A2.75 2.75 0 0 1 15 4.75v9.35c.62-.6 1-1.43 1-2.35v-7.5C16 2.45 14.54 1 12.75 1h-4.5c-.92 0-1.75.38-2.35 1\" opacity=\".4\"></path></svg> <span class=\"-link--channel-name pl8\">Articles</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-users\" href=\"/users\" class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:3, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconPeople\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M17 14c0 .44-.45 1-1 1H9a1 1 0 0 1-1-1H2c-.54 0-1-.56-1-1 0-2.63 3-4 3-4s.23-.4 0-1c-.84-.62-1.06-.59-1-3s1.37-3 2.5-3 2.44.58 2.5 3-.16 2.38-1 3c-.23.59 0 1 0 1s1.55.71 2.42 2.09c.78-.72 1.58-1.1 1.58-1.1s.23-.4 0-1c-.84-.61-1.06-.58-1-3s1.37-3 2.5-3 2.44.59 2.5 3c.05 2.42-.16 2.39-1 3-.23.6 0 1 0 1s3 1.38 3 4\"></path></svg> <span class=\"-link--channel-name pl8\">Users</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n\n <li class=\"pb24\"></li>\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-labs-jobs\" href=\"/jobs?source=so-left-nav\" class=\"s-block-link pl8 ai-center js-disable-jobs-new-link js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:27, has_activity_notification:False});jobs.click({destination:JobbioLink, is_registered:False, rep_bucket:new, origin:Stack Overflow})\" aria-controls=\" \" data-controller=\" jobs-retargeting \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconBriefcase\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M5 4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v1h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h1zm7 0H6v1h6z\"></path></svg> <span class=\"-link--channel-name pl8\">Jobs</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n \n\n<li class=\"ps-relative\" aria-current=\"false\">\n\n\n <a id=\"nav-companies\" href=\"https://stackoverflow.com/jobs/companies?so_medium=stackoverflow&so_source=SiteNav\" class=\"s-block-link pl8 js-gps-track nav-links--link -link__with-icon\" data-gps-track=\"top_nav.click({is_current: false, location:2, destination:12, has_activity_notification:False})\" aria-controls=\" \" data-controller=\" \" data-s-popover-placement=\"right\" data-left-nav-events-navigation-destination-value=\"\" data-left-nav-events-navigation-location-value=\"\" data-left-nav-events-navigation-activity-notification-value=\"\" data-action=\"\" aria-current=\"false\" data-s-popover-auto-show=\"true\" data-s-popover-hide-on-outside-click=\"never\">\n <div class=\"d-flex ai-center\">\n<svg aria-hidden=\"true\" class=\"svg-icon iconIndustry\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M10 16v-4H8v4H2V4c0-1.1.9-2 2-2h6c1.09 0 2 .91 2 2v2h2c1.09 0 2 .91 2 2v8zM4 4v2h2V4zm0 4v2h2V8zm4-4v2h2V4zm0 4v2h2V8zm-4 4v2h2v-2zm8 0v2h2v-2zm0-4v2h2V8z\"></path></svg> <span class=\"-link--channel-name pl8\">Companies</span>\n\n </div>\n </a>\n</li>\n\n\n\n\n\n\n\n\n <li class=\"ml8 mt32 mb4\">\n <div class=\"d-flex jc-space-between ai-center\">\n <a class=\"s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine\" href=\"javascript:void(0)\" role=\"button\" aria-controls=\"popover-discover-collectives\" data-controller=\"s-popover\" data-action=\"s-popover#toggle\" data-s-popover-placement=\"top\" data-s-popover-toggle-class=\"is-selected\" data-gps-track=\"top_nav.click({is_current:false, location:2, destination:17})\" aria-expanded=\"false\">\n <div class=\"flex--item fl-grow1 tt-uppercase fc-black-600 fw-bold\">Collectives</div>\n <div class=\"flex--item px12 js-collectives-navcta-toggle\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconPlusSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M8 2H6v4H2v2h4v4h2V8h4V6H8z\"></path></svg>\n </div>\n </a>\n </div>\n\n </li>\n <li class=\"ps-relative js-collectives-navcta-toggle\">\n <p class=\"fs-fine pr8 pl8 pt4 fc-black-400\">\n Communities for your favorite technologies. <a href=\"/collectives-all\" class=\"s-link s-link__grayscale s-link__underlined fw-bold\">Explore all Collectives</a>\n </p>\n </li>\n </ol>\n </li>\n\n \n\n \n\n<li class=\"js-freemium-cta ps-relative mt32 mb8\">\n\n\n <div class=\"fs-fine tt-uppercase fc-black-600 fw-bold ml8 mt16 mb8\">Stack Internal</div>\n\n <div class=\"px8 pt12 pb4 mb12 fc-medium overflow-hidden\"> \n <svg aira-hidden=\"true\" class=\"svg-icon d-block w100 h-auto mb12\" height=\"19\" viewBox=\"0 0 140 19\" width=\"140\"><path d=\"m69.5 6.48047-4.667 4.66603-2.333-2.33302v-2.33301l2.333 2.33301 4.667-4.66602z\"></path><path d=\"m72.4971 1.14648c.8282.00028 1.5.67274 1.5 1.50098v11.50004l.0029 1.5918-.0039.1162c-.0819 1.1463-1.3924 1.7776-2.3399 1.1269l-.0937-.0693-3.4561-2.7656h-8.5986v-1.4981h-1.5019v-10.00194c0-.77642.5906-1.41508 1.3466-1.49219l.1534-.00879zm-12.9912 11.50102h9.1269l.4102.3291 3.457 2.7656-.0029-1.5918v-11.50294h-12.9912z\"></path><path d=\"m90.5 16.647h16.5v1.5h-18v-17.995145h1.5z\"></path><path d=\"m97 15.147h-5v-8.00003h5zm-3.5-1.5h2v-5.00003h-2z\"></path><path d=\"m102.494 3.64209h1.506v11.50491h-5v-13.00003h3.494zm-1.994 10.00491h2v-10.00003h-2z\"></path><path d=\"m34.9473 6.76648-1.3789 1.38769-1.378-1.38769 1.378-1.3877z\"></path><path d=\"m35.2119 1.11023c.4614.00007.9048.18196 1.2324.50684l7.1387 7.08007-1.0605 1.06153 1.0615 1.06053-5.5957 5.6836c-.6762.6868-1.7803.6979-2.4697.0244l-6.9913-6.83201c-.3369-.32927-.5273-.78082-.5273-1.25195v-5.78711c0-.85366.6922-1.5459 1.5459-1.5459zm-5.666 1.5c-.0252 0-.0459.02067-.0459.0459v5.78711c0 .06722.0272.13168.0752.17871l6.9922 6.83205c.0985.096.256.095.3525-.003l5.6035-5.69331-7.1357-7.07519c-.0467-.04625-.11-.0722-.1758-.07227z\"></path><path d=\"m11.9995 6.24072v9.23828c-.0003.8629-.6558 1.5736-1.4961 1.6592l-.1709.0088h-8.80473v-1.5h8.80473c.0921-.0002.1667-.0759.167-.168v-9.33203h-3.64263v-3.5h-5.19043c-.09187.00032-.1666.07514-.16699.16699v12.83304h-1.49999932v-12.83304c.00039166-.92028.74669232-1.66667 1.66698932-1.66699h5.33008z\"></path><path d=\"m9.21039 13.647h-6.20996v-1.5h6.20996z\"></path><path d=\"m9.21039 10.647h-6.20996v-1.50003h6.20996z\"></path><path d=\"m5.21625 7.64697h-2.21582v-1.5h2.21582z\"></path><path d=\"m124.417 1.22765c1.305-1.3049487 3.422-1.3050445 4.728 0 .739.73976 1.059 1.74043.96 2.70605.966-.09884 1.967.22211 2.707.96191 1.305 1.30543 1.306 3.42196 0 4.72754l-6.668 6.66895 1.332 1.332c.292.2928.292.7677 0 1.0606-.293.2927-.768.2928-1.061 0l-1.509-1.5088c-.488-.4881-.488-1.2794 0-1.7676l6.846-6.84569c.719-.7198.718-1.88681-.001-2.60645-.72-.71944-1.887-.71944-2.606 0l-5.52 5.51954c-.293.2927-.768.2928-1.061 0-.292-.2928-.292-.7676 0-1.0606l5.52-5.51949c.719-.71968.719-1.8867 0-2.60644-.72-.71944-1.887-.71944-2.606 0l-7.198 7.19726c-.293.29274-.767.29262-1.06 0-.293-.29287-.293-.76764 0-1.06054z\"></path><path d=\"m126.277 3.088c.293-.29232.768-.29236 1.061 0 .293.29274.292.76761 0 1.06054l-5.44 5.43946c-.704.705-.703 1.8489.001 2.5537.705.7043 1.848.7045 2.553 0l5.439-5.43945c.293-.29255.768-.29278 1.061 0 .292.29278.292.76776 0 1.06055l-5.439 5.4395c-1.291 1.2902-3.383 1.2901-4.674 0-1.291-1.2907-1.292-3.3841-.001-4.67485z\"></path></svg>\n \n <p class=\"fs-fine\">\n Stack Overflow for Teams is now called <strong>Stack Internal</strong>. Bring the best of human thought and AI automation together at your work.\n </p>\n <a href=\"https://stackoverflowteams.com/teams/create/free/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams\" class=\"w100 s-btn s-btn__filled s-btn__xs js-gps-track pt8 pr7 pb6 pl7\" data-gps-track=\"teams.create.left-sidenav.click({ Action: 6 })\" data-ga=\"["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams/create/free",null,null]\">Try for free</a>\n <a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams\" class=\"w100 s-btn s-btn__muted s-btn__xs mt1 js-gps-track\" data-gps-track=\"teams.create.left-sidenav.click({ Action: 5 })\" data-ga=\"["teams left navigation - anonymous","left nav free cta","stackoverflow.com/teams",null,null]\">Learn more</a>\n </div>\n</li>\n\n\n <li class=\"d-flex ai-center jc-space-between ml8 mt32 mb8 js-create-team-cta d-none\">\n\n <a href=\"javascript:void(0)\" class=\"s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine js-gps-track\" role=\"button\" aria-controls=\"popover-teams-create-cta\" data-controller=\"s-popover\" data-action=\"s-popover#toggle\" data-s-popover-placement=\"bottom-start\" data-s-popover-toggle-class=\"is-selected\" data-gps-track=\"teams.create.left-sidenav.click({ Action: ShowInfo })\" data-ga=\"["teams left navigation - anonymous","left nav show teams info",null,null,null]\" aria-expanded=\"false\">\n <div class=\"flex--item fl-grow1 fc-black-600 fw-bold tt-uppercase\">Stack Internal</div>\n <div class=\"flex--item px12\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconPlusSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M8 2H6v4H2v2h4v4h2V8h4V6H8z\"></path></svg>\n </div>\n </a>\n </li>\n <li class=\"ps-relative js-create-team-cta d-none\">\n <p class=\"fs-fine pr8 pl8 pb4 fc-black-400\">\n Bring the best of human thought and AI automation together at your work.\n <a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact\" class=\"s-link s-link__grayscale s-link__underlined fw-bold\">Learn more</a>\n </p>\n </li> \n\n </ol>\n </nav>\n </div>\n\n\n <div class=\"s-popover ws2\" id=\"popover-discover-collectives\" role=\"menu\">\n <div class=\"s-popover--arrow\"></div>\n <div>\n <svg aria-hidden=\"true\" class=\"fc-orange-400 float-right ml24 svg-spot spotCollective\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\"><path d=\"M25.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M14 18.25c0-.69.56-1.25 1.25-1.25h22.5c.69 0 1.25.56 1.25 1.25V37.5a1 1 0 0 1-1.6.8l-4.07-3.05a1.3 1.3 0 0 0-.75-.25H15.25c-.69 0-1.25-.56-1.25-1.25zM7 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0M25.5 48a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M48 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0\" opacity=\".2\"></path><path d=\"M21 3.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M24.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M0 23.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M3.5 22a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M21 44.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0m3.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m20-23a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7M43 23.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0m-23.23-3.14a1 1 0 0 1-.13 1.4l-2.08 1.74 2.08 1.73a1 1 0 1 1-1.28 1.54l-2.42-2.02a1.63 1.63 0 0 1 0-2.5l2.42-2.02a1 1 0 0 1 1.4.13m7.6 1.41a1 1 0 1 1 1.28-1.54l2.42 2.02c.78.65.78 1.85 0 2.5l-2.42 2.02a1 1 0 1 1-1.28-1.54l2.08-1.73zM24.12 18a1 1 0 0 1 .87 1.12l-1 8a1 1 0 1 1-1.98-.24l1-8a1 1 0 0 1 1.11-.87M12.25 13C11.01 13 10 14 10 15.25v15.5c0 1.24 1 2.25 2.25 2.25h17.33q.09 0 .15.05l4.07 3.05a2 2 0 0 0 3.2-1.6V15.25c0-1.24-1-2.25-2.25-2.25zM12 15.25q.02-.23.25-.25h22.5q.23.02.25.25V34.5l-4.07-3.05q-.6-.45-1.35-.45H12.25a.25.25 0 0 1-.25-.25zm7.24-10.68a1 1 0 1 0-.48-1.94A22 22 0 0 0 2.91 17.7a1 1 0 1 0 1.92.58 20 20 0 0 1 14.4-13.72m11.06-1.65a1 1 0 0 0-.58 1.92c6.45 1.92 11.54 7 13.46 13.46a1 1 0 1 0 1.92-.58 22 22 0 0 0-14.8-14.8M4.57 28.76a1 1 0 0 0-1.94.48 22 22 0 0 0 16.13 16.13 1 1 0 1 0 .48-1.94A20 20 0 0 1 4.57 28.76m40.8.48a1 1 0 1 0-1.94-.48 20 20 0 0 1-13.72 14.41 1 1 0 0 0 .58 1.92 22 22 0 0 0 15.08-15.85\"></path></svg>\n <h5 class=\"pt4 fw-bold\">Collectives\u2122 on Stack Overflow</h5>\n <p class=\"my16 fs-caption fc-black-500\">Find centralized, trusted content and collaborate around the technologies you use most.</p>\n <a href=\"/collectives\" class=\"js-gps-track s-btn s-btn__filled s-btn__xs\" data-gps-track=\"top_nav.click({is_current:false, location:2, destination:18})\">\n Learn more about Collectives\n </a>\n </div>\n </div>\n\n <div class=\"s-popover ws2\" id=\"popover-teams-create-cta\" role=\"menu\" aria-hidden=\"true\">\n <div class=\"s-popover--arrow\"></div>\n\n <div class=\"ps-relative overflow-hidden\">\n <p class=\"mb2\"><strong>Stack Internal</strong></p>\n <p class=\"mb12 fs-caption fc-black-400\">Knowledge at work</p>\n <p class=\"mb12 fs-caption fc-black-500\">Bring the best of human thought and AI automation together at your work.</p>\n <a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact-popover\" class=\"js-gps-track s-btn s-btn__filled s-btn__xs\" data-gps-track=\"teams.create.left-sidenav.click({ Action: CtaClick })\" data-ga=\"["teams left navigation - anonymous","left nav cta","stackoverflow.com/teams",null,null]\">\n Explore Stack Internal\n </a>\n </div>\n\n <div class=\"ps-absolute t8 r8\">\n <svg aria-hidden=\"true\" class=\"fc-orange-400 svg-spot spotPeople\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\"><path d=\"M13.5 28a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9M7 30a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5h11v-5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H33v5a1 1 0 0 1-1 1H20a1 1 0 0 1-1-1v-5H8a1 1 0 0 1-1-1zm25-6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0M24.5 34a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9\" opacity=\".2\"></path><path d=\"M16.4 26.08A6 6 0 1 0 7.53 26C5.64 26.06 4 27.52 4 29.45V40a1 1 0 0 0 1 1h9a1 1 0 1 0 0-2h-4v-7a1 1 0 1 0-2 0v7H6v-9.55c0-.73.67-1.45 1.64-1.45H16a1 1 0 0 0 .4-1.92M12 18a4 4 0 1 1 0 8 4 4 0 0 1 0-8m16.47 14a6 6 0 1 0-8.94 0A3.6 3.6 0 0 0 16 35.5V46a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V35.5c0-1.94-1.64-3.42-3.53-3.5M20 28a4 4 0 1 1 8 0 4 4 0 0 1-8 0m-.3 6h8.6c1 0 1.7.75 1.7 1.5V45h-2v-7a1 1 0 1 0-2 0v7h-4v-7a1 1 0 1 0-2 0v7h-2v-9.5c0-.75.7-1.5 1.7-1.5M42 22c0 1.54-.58 2.94-1.53 4A3.5 3.5 0 0 1 44 29.45V40a1 1 0 0 1-1 1h-9a1 1 0 1 1 0-2h4v-7a1 1 0 1 1 2 0v7h2v-9.55A1.5 1.5 0 0 0 40.48 28H32a1 1 0 0 1-.4-1.92A6 6 0 1 1 42 22m-2 0a4 4 0 1 0-8 0 4 4 0 0 0 8 0\"></path><g opacity=\".35\"><path d=\"M17 10a1 1 0 011-1h12a1 1 0 110 2H18a1 1 0 01-1-1m1-5a1 1 0 100 2h12a1 1 0 100-2zM14 1a1 1 0 00-1 1v12a1 1 0 001 1h5.09l4.2 4.2a1 1 0 001.46-.04l3.7-4.16H34a1 1 0 001-1V2a1 1 0 00-1-1zm1 12V3h18v10h-5a1 1 0 00-.75.34l-3.3 3.7-3.74-3.75a1 1 0 00-.71-.29z\"></path></g></svg>\n </div>\n </div>\n\n\n\n\n</div>\n\n\n\n <div id=\"content\" class=\"snippet-hidden\">\n\n \n\n\n\n<div itemprop=\"mainEntity\" itemscope=\"\" itemtype=\"https://schema.org/Question\">\n <link itemprop=\"image\" href=\"https://stackoverflow.com/Content/Sites/stackoverflow/Img/apple-touch-icon.png?v=9168b8ec82a5\">\n\n <div class=\"inner-content clearfix\">\n \n\n <div id=\"question-header\" class=\"d-flex sm:fd-column\">\n <h1 itemprop=\"name\" class=\"fs-headline1 ow-anywhere mb8 flex--item fl1\"><a href=\"/questions/25806351/export-pagespeed-insights-by-google-results\" class=\"question-hyperlink\">Export PageSpeed Insights (by Google) results</a></h1>\n\n <div class=\"ml12 aside-cta flex--item sm:ml0 sm:mb12 sm:order-first d-flex jc-end\">\n\n <div class=\"ml12 aside-cta flex--item print:d-none\">\n <a href=\"/questions/ask\" class=\"ws-nowrap s-btn s-btn__filled\">\n Ask Question\n </a>\n\n </div>\n </div>\n </div>\n <div class=\"d-flex fw-wrap pb8 mb16 bb bc-black-200\">\n <div class=\"flex--item ws-nowrap mr16 mb8\" title=\"2014-09-12 10:37:19Z\">\n <span class=\"fc-black-400 mr2\">Asked</span>\n <time itemprop=\"dateCreated\" datetime=\"2014-09-12 10:37:19Z\">11 years, 6 months ago</time>\n </div>\n <div class=\"flex--item ws-nowrap mr16 mb8\">\n <span class=\"fc-black-400 mr2\">Modified</span>\n <a href=\"?lastactivity\" class=\"s-link s-link__inherit\" title=\"2022-11-25 07:24:00Z\">3 years, 3 months ago</a>\n </div>\n <div class=\"flex--item ws-nowrap mb8\" title=\"Viewed 19,541 times\">\n <span class=\"fc-black-400 mr2\">Viewed</span>\n 20k times\n </div>\n </div>\n\n\n\n <div id=\"mainbar\" role=\"main\" aria-label=\"question and answers\">\n \n<div class=\"question js-question\" data-questionid=\"25806351\" data-position-on-page=\"0\" data-score=\"14\" data-author-username=\"Haradzieniec\" data-should-show-copy-button=\"True\" data-se-share-sheet-license-name=\"CC BY-SA 3.0\" data-author-reputation=\"9356\" data-is-edited=\"True\" data-creation-source=\"native\" data-creation-method=\"manual\" id=\"question\">\n <style>\n </style>\n<div class=\"js-zone-container zone-container-main\">\n <div id=\"dfp-tlb\" class=\"everyonelovesstackoverflow everyoneloves__top-leaderboard everyoneloves__leaderboard\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 728px\"></div>\n</div>\n\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"25806351\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"upvote-btn-25806351\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-pressed=\"false\" aria-label=\"Up vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" aria-describedby=\"--stacks-s-tooltip-hrbwdnnl\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"></path></svg>\n </button><div id=\"--stacks-s-tooltip-hrbwdnnl\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">This question shows research effort; it is useful and clear<div class=\"s-popover--arrow\"></div></div>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:831bd98eb6e867ba,10:1773916052,16:cd9b7ef1d26916ba,8:25806351,a8aa91f61ce331719a92f006dc4c0eefe60a33b52ff4ea4345df9d4eecc7e169\">\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\" itemprop=\"upvoteCount\" data-value=\"14\">\n14 </div>\n <button class=\"js-vote-down-btn js-vote-down-question flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"downvote-btn-25806351\" title=\"This question does not show any research effort; it is unclear or not useful\" aria-pressed=\"false\" aria-label=\"Down vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"></path></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:fbda3b65e5d664c7,10:1773916052,16:f6728e34ec79a617,8:25806351,cd48033d1e59702d7f8389724cbb365ee5006f19a98a59eeb5586ae9fe1b24f7\">\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\" type=\"button\" id=\"saves-btn-25806351\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" data-s-popover-placement=\"\" data-is-saved=\"false\" aria-label=\"Save\" data-post-id=\"25806351\" data-post-type-id=\"1\" data-user-privilege-for-post-click=\"0\" aria-controls=\"\" data-s-popover-auto-show=\"false\" aria-describedby=\"--stacks-s-tooltip-5gt4znf2\">\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n</button><div id=\"--stacks-s-tooltip-5gt4znf2\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Save this question.<div class=\"s-popover--arrow\"></div></div>\n\n\n\n\n\n\n\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/25806351/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-label=\"Timeline\" aria-describedby=\"--stacks-s-tooltip-peidr0pa\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"></path></svg></a><div id=\"--stacks-s-tooltip-peidr0pa\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Show activity on this post.<div class=\"s-popover--arrow\"></div></div>\n\n</div>\n\n </div>\n\n \n<div class=\"postcell post-layout--right\">\n\n \n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n \n<p>Is there any way to export PageSpeed (the Google Chrome extension) results into a file?\nI'm looking for a way to export the results from web-site testing using PageSpeed tab in the browser console. </p>\n </div>\n\n <div class=\"mt24 mb12\">\n <div class=\"post-taglist d-flex gs4 gsy fd-column\">\n <div class=\"d-flex ps-relative fw-wrap\">\n \n <ul class=\"ml0 list-ls-none js-post-tag-list-wrapper d-inline\"><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/google-chrome\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome'\" aria-label=\"show questions tagged 'google-chrome'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/google-chrome-extension\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome-extension'\" aria-label=\"show questions tagged 'google-chrome-extension'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-extension-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome-extension</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/frontend\" class=\"s-tag post-tag\" title=\"show questions tagged 'frontend'\" aria-label=\"show questions tagged 'frontend'\" rel=\"tag\" aria-labelledby=\"tag-frontend-tooltip-container\" data-tag-menu-origin=\"Unknown\">frontend</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/pagespeed\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed'\" aria-label=\"show questions tagged 'pagespeed'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/pagespeed-insights\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed-insights'\" aria-label=\"show questions tagged 'pagespeed-insights'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-insights-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed-insights</a></li></ul>\n </div>\n </div>\n </div>\n\n <div class=\"mb0 \">\n <div class=\"mt16 d-flex gs8 gsy fw-wrap jc-end ai-start pt4 mb16\">\n <div class=\"flex--item mr16 fl1 w96\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"25806351\" data-post-type-id=\"1\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/q/25806351\" rel=\"nofollow\" itemprop=\"url\" class=\"js-share-link js-gps-track\" title=\"Short permalink to this question\" data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 1 })\" data-controller=\"se-share-sheet\" data-se-share-sheet-title=\"Share a link to this question\" data-se-share-sheet-subtitle=\"\" data-se-share-sheet-post-type=\"question\" data-se-share-sheet-social=\"facebook twitter devto\" data-se-share-sheet-location=\"1\" data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f\" data-se-share-sheet-license-name=\"CC BY-SA 3.0\" data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/25806351/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 1 })\" title=\"\">Improve this question</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\" id=\"btnFollowPost-25806351\" class=\"s-btn s-btn__link js-follow-post js-follow-question js-gps-track\" data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 1 })\" data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\" data-s-popover-placement=\"bottom\" aria-controls=\"\" aria-describedby=\"--stacks-s-tooltip-8wbn5so6\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:d6f9ab09cf20e3fc,10:1773916052,16:299d5808bd71b963,8:25806351,044bc2d52a9c0549e0881c76902765c5e1d442bd0a5c246e20420de9ab3c5b1e\">\n </button><div id=\"--stacks-s-tooltip-8wbn5so6\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Follow this question to receive notifications<div class=\"s-popover--arrow\"></div></div>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n\n <div class=\"post-signature flex--item\">\n<div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/25806351/revisions\" title=\"show all edits to this post\" class=\"js-gps-track\" data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 1 })\">edited <span title=\"2022-01-20 16:10:26Z\" class=\"relativetime\">Jan 20, 2022 at 16:10</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/224132/peter-cordes\"><div class=\"gravatar-wrapper-32\"><img src=\"https://i.sstatic.net/N4ivW.png?s=64\" alt=\"Peter Cordes's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/224132/peter-cordes\" dir=\"auto\">Peter Cordes</a>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score 379,965\" dir=\"ltr\">380k</span><span title=\"53 gold badges\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">53</span></span><span class=\"v-visible-sr\">53 gold badges</span><span title=\"756 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">756</span></span><span class=\"v-visible-sr\">756 silver badges</span><span title=\"1k bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">1k</span></span><span class=\"v-visible-sr\">1k bronze badges</span>\n </div>\n </div>\n</div>\n </div>\n\n <div class=\"post-signature owner flex--item\">\n <div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n asked <span title=\"2014-09-12 10:37:19Z\" class=\"relativetime\">Sep 12, 2014 at 10:37</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/886906/haradzieniec\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/59518a0cf1680a269d55db5c480252b3?s=64&d=identicon&r=PG\" alt=\"Haradzieniec's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope=\"\" itemtype=\"http://schema.org/Person\">\n <a href=\"/users/886906/haradzieniec\" itemprop=\"url\" dir=\"auto\">Haradzieniec</a><meta itemprop=\"name\" content=\"Haradzieniec\">\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">9,356</span><span title=\"33 gold badges\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">33</span></span><span class=\"v-visible-sr\">33 gold badges</span><span title=\"124 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">124</span></span><span class=\"v-visible-sr\">124 silver badges</span><span title=\"232 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">232</span></span><span class=\"v-visible-sr\">232 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n </div>\n \n</div>\n\n\n\n\n \n\n<span class=\"d-none\" itemprop=\"commentCount\">1</span>\n\t<div class=\"post-layout--right js-post-comments-component\" data-has-opted-out=\"False\">\n <div id=\"comments-25806351\" class=\"comments js-comments-container bt bc-black-200 mt12 \" data-post-id=\"25806351\" data-min-length=\"15\">\n <ul class=\"comments-list js-comments-list\" data-remaining-comments-count=\"0\" data-canpost=\"false\" data-cansee=\"true\" data-comments-unavailable=\"false\" data-addlink-disabled=\"true\">\n\n <li id=\"comment-51109574\" itemprop=\"comment\" itemscope=\"\" itemtype=\"https://schema.org/Comment\" class=\"comment js-comment \" data-comment-id=\"51109574\" data-comment-owner-id=\"775856\" data-comment-score=\"1\">\n <div class=\"js-comment-actions comment-actions\">\n <div class=\"comment-score js-comment-score js-comment-edit-hide\">\n <span title=\"number of 'useful comment' votes received\" class=\"cool\">1</span>\n </div>\n </div>\n <div class=\"comment-text js-comment-text-and-form\">\n <div class=\"comment-body js-comment-edit-hide\">\n \n <span class=\"comment-copy\" itemprop=\"text\">This is exactly what i'm looking for. Either EXPORT (or) SAVE feature is really required.</span>\n \n <div class=\"d-inline-flex ai-center\" itemprop=\"author\" itemscope=\"\" itemtype=\"https://schema.org/Person\">\n <div class=\"d-none\" itemprop=\"name\">\u590f\u671f\u5287\u5834</div>\n\u2013 \n <a href=\"/users/775856/%e5%a4%8f%e6%9c%9f%e5%8a%87%e5%a0%b4\" title=\"18,497 reputation\" class=\"comment-user\" itemprop=\"url\">\u590f\u671f\u5287\u5834</a>\n </div>\n <div class=\"d-none\" itemprop=\"datePublished\">2015-07-23 03:28:26 +00:00</div>\n <span class=\"comment-date\" dir=\"ltr\">\n <span class=\"v-visible-sr\">Commented</span>\n <span title=\"2015-07-23 03:28:26Z, License: CC BY-SA 3.0\" class=\"relativetime-clean\">Jul 23, 2015 at 3:28</span>\n </span>\n <span title=\"this comment was edited 1 time\">\n <svg aria-hidden=\"true\" class=\"va-text-bottom o50 svg-icon iconPencilSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path fill=\"#F1B600\" d=\"m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z\"></path><path fill=\"#E87C87\" d=\"m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0\"></path></svg>\n </span>\n </div>\n </div>\n </li>\n\n </ul>\n\t </div>\n\n <div id=\"comments-link-25806351\" data-rep=\"1\" data-anon=\"true\">\n <a class=\"js-add-link comments-link disabled-link\" title=\"Use comments to ask for more information or suggest improvements. Avoid answering questions in comments.\" href=\"#\" role=\"button\" data-show-first-time-commenting=\"False\">\n Add a comment\n </a>\n <span class=\"js-link-separator dno\"> | </span>\n <a class=\"js-show-link comments-link dno\" title=\"Expand to show all comments on this post\" href=\"#\" onclick=\"\" role=\"button\">\n \n </a>\n </div> \n </div>\n\n </div>\n\n</div>\n\n\n<div class=\"js-zone-container zone-container-responsive\">\n <div id=\"dfp-isb\" class=\"everyonelovesstackoverflow everyoneloves__inline-sidebar mx-auto\"></div>\n\t\t<div class=\"js-report-ad-button-container mx-auto\" style=\"width: 300px\"></div>\n</div>\n\n\n\n <div id=\"answers\" class=\"\">\n <a name=\"tab-top\"></a>\n <div id=\"answers-header\">\n <div class=\"answers-subheader d-flex ai-center mb8\">\n <div class=\"flex--item fl1\">\n <h2 class=\"mb0\" data-answercount=\"3\">\n3 Answers <span style=\"display:none;\" itemprop=\"answerCount\">3</span>\n </h2>\n </div>\n <div class=\"flex--item\">\n \n\n<div class=\"d-flex g4 gsx ai-center sm:fd-column sm:ai-start\">\n <div class=\"d-flex fd-column ai-end sm:ai-start\">\n <label class=\"flex--item fs-caption\" for=\"answer-sort-dropdown-select-menu\">\n Sorted by:\n </label>\n <a class=\"js-sort-preference-change s-link flex--item fs-fine d-none\" data-value=\"ScoreDesc\" href=\"/questions/25806351/export-pagespeed-insights-by-google-results?answertab=scoredesc#tab-top\">\n Reset to default\n </a>\n </div>\n <div class=\"flex--item s-select\">\n <select id=\"answer-sort-dropdown-select-menu\">\n <option value=\"scoredesc\" selected=\"selected\">\n Highest score (default)\n </option>\n <option value=\"trending\">\n Trending (recent votes count more)\n </option>\n <option value=\"modifieddesc\">\n Date modified (newest first)\n </option>\n <option value=\"createdasc\">\n Date created (oldest first)\n </option>\n </select>\n </div>\n</div>\n\n\n </div>\n </div>\n\n\n \n\n </div>\n \n<a name=\"53586734\"></a>\n<div id=\"answer-53586734\" class=\"answer js-answer accepted-answer js-accepted-answer \" data-answerid=\"53586734\" data-parentid=\"25806351\" data-score=\"15\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" data-author-username=\"Toma Nistor\" data-author-reputation=\"963\" data-should-show-copy-button=\"True\" data-se-share-sheet-license-name=\"CC BY-SA 4.0\" data-is-edited=\"True\" itemprop=\"acceptedAnswer\" itemscope=\"\" itemtype=\"https://schema.org/Answer\">\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"53586734\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"upvote-btn-53586734\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-pressed=\"false\" aria-label=\"Up vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" aria-describedby=\"--stacks-s-tooltip-pe9xvfe1\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"></path></svg>\n </button><div id=\"--stacks-s-tooltip-pe9xvfe1\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">This answer is useful<div class=\"s-popover--arrow\"></div></div>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:25e2d5dc58a9779d,10:1773916052,16:c61335cded9a46f1,8:53586734,f90a77cc00ee4a3a5b57b7ec201a145149c897b745790235594b4622dc297505\">\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\" itemprop=\"upvoteCount\" data-value=\"15\">\n15 </div>\n <button class=\"js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"downvote-btn-53586734\" title=\"This answer is not useful\" aria-pressed=\"false\" aria-label=\"Down vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"></path></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:405357e44ad36b0c,10:1773916052,16:0b6adc5cd6adbf79,8:53586734,729da09bee506c461ab926a0d826ee5521e6bc8dd1352878bcc8d4c0fc408ccd\">\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\" type=\"button\" id=\"saves-btn-53586734\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" data-s-popover-placement=\"\" data-is-saved=\"false\" aria-label=\"Save\" data-post-id=\"53586734\" data-post-type-id=\"2\" data-user-privilege-for-post-click=\"0\" aria-controls=\"\" data-s-popover-auto-show=\"false\" aria-describedby=\"--stacks-s-tooltip-m70by9e1\">\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n</button><div id=\"--stacks-s-tooltip-m70by9e1\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Save this answer.<div class=\"s-popover--arrow\"></div></div>\n\n\n\n\n\n\n\n <div class=\"js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8\" data-s-tooltip-placement=\"right\" title=\"Loading when this answer was accepted\u2026\" tabindex=\"0\" role=\"note\" aria-label=\"Accepted\">\n <div class=\"ta-center\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconCheckmarkLg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\"><path d=\"m6 14 8 8L30 6v8L14 30l-8-8z\"></path></svg>\n </div>\n </div>\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/53586734/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-label=\"Timeline\" aria-describedby=\"--stacks-s-tooltip-9vd3j655\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"></path></svg></a><div id=\"--stacks-s-tooltip-9vd3j655\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Show activity on this post.<div class=\"s-popover--arrow\"></div></div>\n\n</div>\n\n </div>\n\n \n\n<div class=\"answercell post-layout--right\">\n \n\n\n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>If you open up and run Google PageSpeed Insights through the <strong>Audit</strong> tab (<strong>Lighthouse</strong> tab after Chrome 83) in <strong>Chrome Developer Tools</strong>, there is a button in the left part of the panel that will allow you to download the report as a JSON file.</p>\n<p><a href=\"https://i.sstatic.net/Yexeu.png\" rel=\"nofollow noreferrer\"><img src=\"https://i.sstatic.net/Yexeu.png\" alt=\"Google PageSpeed Insights Audit Report\"></a></p>\n </div>\n <div class=\"mt24\">\n <div class=\"d-flex fw-wrap ai-start jc-end gs8 gsy\">\n\n <time itemprop=\"dateCreated\" datetime=\"2018-12-03 02:37:30Z\"></time>\n <div class=\"flex--item mr16\" style=\"flex: 1 1 100px;\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"53586734\" data-post-type-id=\"2\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/a/53586734\" rel=\"nofollow\" itemprop=\"url\" class=\"js-share-link js-gps-track\" title=\"Short permalink to this answer\" data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 2 })\" data-controller=\"se-share-sheet\" data-se-share-sheet-title=\"Share a link to this answer\" data-se-share-sheet-subtitle=\"\" data-se-share-sheet-post-type=\"answer\" data-se-share-sheet-social=\"facebook twitter devto\" data-se-share-sheet-location=\"2\" data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f\" data-se-share-sheet-license-name=\"CC BY-SA 4.0\" data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/53586734/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 2 })\" title=\"\">Improve this answer</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\" id=\"btnFollowPost-53586734\" class=\"s-btn s-btn__link js-follow-post js-follow-answer js-gps-track\" data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 2 })\" data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\" data-s-popover-placement=\"bottom\" aria-controls=\"\" aria-describedby=\"--stacks-s-tooltip-7cbbqrmu\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:b702dc166fe76cb1,10:1773916052,16:f306589835e52fbf,8:53586734,ef8602f70fd81f9021c890e8c1ef55cff0e44c9e34a079e06e3069cfde0a6b36\">\n </button><div id=\"--stacks-s-tooltip-7cbbqrmu\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Follow this answer to receive notifications<div class=\"s-popover--arrow\"></div></div>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n <div class=\"post-signature flex--item fl0\">\n<div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/53586734/revisions\" title=\"show all edits to this post\" class=\"js-gps-track\" data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 2 })\">edited <span title=\"2022-11-25 07:24:00Z\" class=\"relativetime\">Nov 25, 2022 at 7:24</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/19024/ra\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/5e043d3e06257b19097ffdb92307089e?s=64&d=identicon&r=PG\" alt=\"Ra.'s user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/19024/ra\" dir=\"auto\">Ra.</a>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">2,549</span><span title=\"4 gold badges\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">4</span></span><span class=\"v-visible-sr\">4 gold badges</span><span title=\"28 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">28</span></span><span class=\"v-visible-sr\">28 silver badges</span><span title=\"42 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">42</span></span><span class=\"v-visible-sr\">42 bronze badges</span>\n </div>\n </div>\n</div>\n </div>\n\n\n <div class=\"post-signature flex--item fl0\">\n <div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n answered <span title=\"2018-12-03 02:37:30Z\" class=\"relativetime\">Dec 3, 2018 at 2:37</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/7184365/toma-nistor\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/706810459355fe8aff132f0655b6f481?s=64&d=identicon&r=PG\" alt=\"Toma Nistor's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope=\"\" itemtype=\"http://schema.org/Person\">\n <a href=\"/users/7184365/toma-nistor\" itemprop=\"url\" dir=\"auto\">Toma Nistor</a><meta itemprop=\"name\" content=\"Toma Nistor\">\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">963</span><span title=\"12 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">12</span></span><span class=\"v-visible-sr\">12 silver badges</span><span title=\"18 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">18</span></span><span class=\"v-visible-sr\">18 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n \n \n </div>\n \n</div>\n\n\n\n\n \n\n <div class=\"post-layout--right\">\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/sprinkles/you-can-comment-banner.en.js?v=bdec5d37ae84\"></script> <div class=\"lg:mt8 bg-purple-100 p8 my8 bc-purple-400 ba bar-sm d-flex ai-center js-you-can-comment-banner-anon\">\n <svg aria-hidden=\"true\" class=\"mr8 fc-purple-400 svg-icon iconAlertCircleSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M7 13c-3.23 0-6-2.74-6-6 0-3.23 2.74-6 6-6 3.27 0 6 2.73 6 6s-2.73 6-6 6M6 3v5h2V3zm0 6v2h2V9z\"></path></svg>\n <div class=\"fl-grow1\">\n Sign up to request clarification or add additional context in comments.\n </div>\n \n <button class=\"s-modal--close s-btn__xs s-btn__icon bg-purple-100 bc-purple-400 bar-sm ba baw0 h:bg-purple-200 c-pointer js-clear-you-can-comment-banner-anon\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClearSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z\"></path></svg>\n </button>\n </div>\n \n\n<div id=\"follow-ups-container-53586734\">\n <!--[--><div class=\"mt16\"><div class=\"mb8 d-flex ai-center g8\" role=\"button\" tabindex=\"0\"><h2 class=\"mb0\">Comments</h2> <!--[!--><!--]--></div> <div class=\"mb12\"><!--[!--><button type=\"button\" class=\"s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link\" data-so-test=\"parent-answer-53586734\"><!--[!--><!--]--> <div class=\"flex--item ml8\"><p class=\"mb0\">Add a comment</p></div></button><!--]--></div> <!--[--><div role=\"list\"><!--[--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->\n</div>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups/index.mod\">{\"replies\":[],\"postId\":53586734,\"currentUserIsMod\":false,\"currentUserIsAnonymous\":true,\"commentFlagsRemainingToday\":10,\"maxNestingLevel\":3,\"hasOptedOut\":false,\"showCtaUnderComments\":false,\"containerElementId\":\"follow-ups-container-53586734\",\"fKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"questionId\":25806351,\"questionAuthorId\":886906,\"answerId\":53586734,\"answerPositionOnPage\":0,\"newUiSettings\":{\"largerFontSize\":false},\"showFirstTimeCommentingModal\":false,\"isMentionEnabled\":false,\"showSpamFlag\":true,\"mergeUnfriendlyAndRudeFlags\":true,\"allowRetractingCommentFlags\":true,\"commentMinLength\":15}</script>\n </div>\n\n </div>\n</div>\n<div class=\"js-zone-container zone-container-main\">\n <div id=\"dfp-mlb\" class=\"everyonelovesstackoverflow everyoneloves__mid-leaderboard everyoneloves__leaderboard\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 728px\"></div>\n</div>\n \n<a name=\"57294386\"></a>\n<div id=\"answer-57294386\" class=\"answer js-answer \" data-answerid=\"57294386\" data-parentid=\"25806351\" data-score=\"7\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"1\" data-author-username=\"Dan\" data-author-reputation=\"987\" data-should-show-copy-button=\"True\" data-se-share-sheet-license-name=\"CC BY-SA 4.0\" data-is-edited=\"True\" itemprop=\"suggestedAnswer\" itemscope=\"\" itemtype=\"https://schema.org/Answer\">\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"57294386\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"upvote-btn-57294386\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-pressed=\"false\" aria-label=\"Up vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" aria-describedby=\"--stacks-s-tooltip-qms31dg5\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"></path></svg>\n </button><div id=\"--stacks-s-tooltip-qms31dg5\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">This answer is useful<div class=\"s-popover--arrow\"></div></div>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:634c18e1b62b2207,10:1773916052,16:341fa8af36286c01,8:57294386,7801aa640ddf62429cf353e3abb1878ef3611325623c59f544f3acf1424def8d\">\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\" itemprop=\"upvoteCount\" data-value=\"7\">\n7 </div>\n <button class=\"js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"downvote-btn-57294386\" title=\"This answer is not useful\" aria-pressed=\"false\" aria-label=\"Down vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"></path></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:5d274ef1b178b959,10:1773916052,16:3ec0f5d397466611,8:57294386,62f2e6f38ea1046a068611af82f541749e882519000a433736864c27274c4293\">\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\" type=\"button\" id=\"saves-btn-57294386\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" data-s-popover-placement=\"\" data-is-saved=\"false\" aria-label=\"Save\" data-post-id=\"57294386\" data-post-type-id=\"2\" data-user-privilege-for-post-click=\"0\" aria-controls=\"\" data-s-popover-auto-show=\"false\" aria-describedby=\"--stacks-s-tooltip-30dqqvs5\">\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n</button><div id=\"--stacks-s-tooltip-30dqqvs5\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Save this answer.<div class=\"s-popover--arrow\"></div></div>\n\n\n\n\n\n\n\n <div class=\"js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none\" data-s-tooltip-placement=\"right\" title=\"Loading when this answer was accepted\u2026\" tabindex=\"0\" role=\"note\" aria-label=\"Accepted\">\n <div class=\"ta-center\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconCheckmarkLg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\"><path d=\"m6 14 8 8L30 6v8L14 30l-8-8z\"></path></svg>\n </div>\n </div>\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/57294386/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-label=\"Timeline\" aria-describedby=\"--stacks-s-tooltip-8eourlid\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"></path></svg></a><div id=\"--stacks-s-tooltip-8eourlid\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Show activity on this post.<div class=\"s-popover--arrow\"></div></div>\n\n</div>\n\n </div>\n\n \n\n<div class=\"answercell post-layout--right\">\n \n\n\n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>From my understanding, Tom's answer is missing some context and depending on your use case, can give the wrong impression.</p>\n<p>Chrome's performance throttling is RELATIVE to the machine running the\naudit. So that means running an audit on a weaker machine is going to\ngive an artificially lower score than what it may actually be on another machine.</p>\n<p>PageSpeed Insights (PSI) runs a lighthouse audit on a <a href=\"https://developers.google.com/speed/docs/insights/v5/about?hl=en-US&utm_source=PSI&utm_medium=incoming-link&utm_campaign=PSI#faq\" rel=\"noreferrer\">simulated Moto 4</a>.</p>\n<blockquote>\n<p>What device and network conditions does Lighthouse use to simulate a page load?</p>\n<p>Currently, Lighthouse simulates a page load on a mid-tier device (Moto G4) on a mobile network.</p>\n</blockquote>\n<p>So if you run an audit through the Chrome tab on a 2018 Macbook Pro and your client runs it on a 2010 HP laptop, you will get vastly different results. So using PSI should give a more \"objective\" audit as it's using the same hardware for each test.</p>\n<p>If you only ever use your development machine to run tests for yourself, then it may not matter as much. But if you are sharing and cross examining reports with a client or team (across different machines), then this is something to keep in mind.</p>\n<p>Reference:\n<a href=\"https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference\" rel=\"noreferrer\">https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference</a></p>\n<blockquote>\n<p>Throttling is relative to your computer's capabilities. For example,\nthe 2x slowdown option makes your CPU operate 2 times slower than its\nusual ability. DevTools can't truly simulate the CPUs of mobile\ndevices, because the architecture of mobile devices is very different\nfrom that of desktops and laptops.</p>\n</blockquote>\n </div>\n <div class=\"mt24\">\n <div class=\"d-flex fw-wrap ai-start jc-end gs8 gsy\">\n\n <time itemprop=\"dateCreated\" datetime=\"2019-07-31 15:34:16Z\"></time>\n <div class=\"flex--item mr16\" style=\"flex: 1 1 100px;\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"57294386\" data-post-type-id=\"2\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/a/57294386\" rel=\"nofollow\" itemprop=\"url\" class=\"js-share-link js-gps-track\" title=\"Short permalink to this answer\" data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 2 })\" data-controller=\"se-share-sheet\" data-se-share-sheet-title=\"Share a link to this answer\" data-se-share-sheet-subtitle=\"\" data-se-share-sheet-post-type=\"answer\" data-se-share-sheet-social=\"facebook twitter devto\" data-se-share-sheet-location=\"2\" data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f\" data-se-share-sheet-license-name=\"CC BY-SA 4.0\" data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/57294386/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 2 })\" title=\"\">Improve this answer</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\" id=\"btnFollowPost-57294386\" class=\"s-btn s-btn__link js-follow-post js-follow-answer js-gps-track\" data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 2 })\" data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\" data-s-popover-placement=\"bottom\" aria-controls=\"\" aria-describedby=\"--stacks-s-tooltip-23kpamxm\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:570c529fe6536441,10:1773916052,16:11ab3c44aa2ed854,8:57294386,2197e5f24eea5e59820af33e311629510d63f9632222ad3834ddae6a0bf78cce\">\n </button><div id=\"--stacks-s-tooltip-23kpamxm\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Follow this answer to receive notifications<div class=\"s-popover--arrow\"></div></div>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n <div class=\"post-signature flex--item fl0\">\n<div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/57294386/revisions\" title=\"show all edits to this post\" class=\"js-gps-track\" data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 2 })\">edited <span title=\"2020-06-20 09:12:55Z\" class=\"relativetime\">Jun 20, 2020 at 9:12</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/-1/community\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/a007be5a61f6aa8f3e85ae2fc18dd66e?s=64&d=identicon&r=PG\" alt=\"Community's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/-1/community\" dir=\"auto\">Community</a><span class=\"flex--item s-badge ml2 s-badge__xs mtn2\" title=\"Community Bot \u2014 not a real person. Replies to this bot are not monitored.\">Bot</span>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">1</span><span title=\"1 silver badge\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 silver badge</span>\n </div>\n </div>\n</div>\n </div>\n\n\n <div class=\"post-signature flex--item fl0\">\n <div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n answered <span title=\"2019-07-31 15:34:16Z\" class=\"relativetime\">Jul 31, 2019 at 15:34</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/7903952/dan\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/63720b47b4175d3cc765b7ac7b0b7796?s=64&d=identicon&r=PG&f=y&so-version=2\" alt=\"Dan's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope=\"\" itemtype=\"http://schema.org/Person\">\n <a href=\"/users/7903952/dan\" itemprop=\"url\" dir=\"auto\">Dan</a><meta itemprop=\"name\" content=\"Dan\">\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">987</span><span title=\"1 gold badge\" aria-hidden=\"true\"><span class=\"badge1\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 gold badge</span><span title=\"13 silver badges\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">13</span></span><span class=\"v-visible-sr\">13 silver badges</span><span title=\"32 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">32</span></span><span class=\"v-visible-sr\">32 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n \n \n </div>\n \n</div>\n\n\n\n\n \n\n <div class=\"post-layout--right\">\n \n\n<div id=\"follow-ups-container-57294386\">\n <!--[--><div class=\"mt16\"><div class=\"mb8 d-flex ai-center g8\" role=\"button\" tabindex=\"0\"><h2 class=\"mb0\">Comments</h2> <!--[!--><!--]--></div> <div class=\"mb12\"><!--[!--><button type=\"button\" class=\"s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link\" data-so-test=\"parent-answer-57294386\"><!--[!--><!--]--> <div class=\"flex--item ml8\"><p class=\"mb0\">Add a comment</p></div></button><!--]--></div> <!--[--><div role=\"list\"><!--[--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->\n</div>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups/index.mod\">{\"replies\":[],\"postId\":57294386,\"currentUserIsMod\":false,\"currentUserIsAnonymous\":true,\"commentFlagsRemainingToday\":10,\"maxNestingLevel\":3,\"hasOptedOut\":false,\"showCtaUnderComments\":false,\"containerElementId\":\"follow-ups-container-57294386\",\"fKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"questionId\":25806351,\"questionAuthorId\":886906,\"answerId\":57294386,\"answerPositionOnPage\":0,\"newUiSettings\":{\"largerFontSize\":false},\"showFirstTimeCommentingModal\":false,\"isMentionEnabled\":false,\"showSpamFlag\":true,\"mergeUnfriendlyAndRudeFlags\":true,\"allowRetractingCommentFlags\":true,\"commentMinLength\":15}</script>\n </div>\n\n </div>\n</div>\n \n<a name=\"37900624\"></a>\n<div id=\"answer-37900624\" class=\"answer js-answer \" data-answerid=\"37900624\" data-parentid=\"25806351\" data-score=\"4\" data-position-on-page=\"3\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"1\" data-author-username=\"B P\" data-author-reputation=\"153\" data-should-show-copy-button=\"True\" data-se-share-sheet-license-name=\"CC BY-SA 4.0\" data-is-edited=\"True\" itemprop=\"suggestedAnswer\" itemscope=\"\" itemtype=\"https://schema.org/Answer\">\n <div class=\"post-layout \">\n <div class=\"votecell post-layout--left\">\n \n<div class=\"js-voting-container d-flex jc-center fd-column ai-center gs4 fc-black-300\" data-post-id=\"37900624\" data-referrer=\"None\">\n <button class=\"js-vote-up-btn flex--item s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"upvote-btn-37900624\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-pressed=\"false\" aria-label=\"Up vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" aria-describedby=\"--stacks-s-tooltip-my97h8h6\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"></path></svg>\n </button><div id=\"--stacks-s-tooltip-my97h8h6\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">This answer is useful<div class=\"s-popover--arrow\"></div></div>\n <input type=\"hidden\" id=\"voteUpHash\" value=\"70:3:31e,16:20b2a197b0cb9ace,10:1773916052,16:b18aa8adf01dda8e,8:37900624,9fe2ca2183575532dd5bae9eaaae98aa66c624116dbf20dc3fe54db71d7a2d83\">\n <div class=\"js-vote-count flex--item d-flex fd-column ai-center fc-theme-body-font fw-bold fs-subheading py4\" itemprop=\"upvoteCount\" data-value=\"4\">\n4 </div>\n <button class=\"js-vote-down-btn flex--item mb8 s-btn s-btn__muted s-btn__outlined bar-pill bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\" id=\"downvote-btn-37900624\" title=\"This answer is not useful\" aria-pressed=\"false\" aria-label=\"Down vote\" data-selected-classes=\"fc-theme-primary bc-theme-primary bg-theme-primary-100\" data-unselected-classes=\"bc-black-225 f:bc-theme-secondary-400 f:bg-theme-secondary-400 f:fc-black-050 h:bg-theme-primary-200\">\n\n <svg aria-hidden=\"true\" class=\"svg-icon iconArrowDown\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 6h16l-8 8z\"></path></svg>\n </button>\n <input type=\"hidden\" id=\"voteDownHash\" value=\"70:3:31e,16:0bab69c28949b0d9,10:1773916052,16:d4fb4debf6deabac,8:37900624,fd88b682453cdb15c72d75bdfc99e35c1dbf2d16678f3a15bbc5a3473f47ac79\">\n\n\n \n<button class=\"js-saves-btn s-btn s-btn__unset c-pointer py4\" type=\"button\" id=\"saves-btn-37900624\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" data-s-popover-placement=\"\" data-is-saved=\"false\" aria-label=\"Save\" data-post-id=\"37900624\" data-post-type-id=\"2\" data-user-privilege-for-post-click=\"0\" aria-controls=\"\" data-s-popover-auto-show=\"false\" aria-describedby=\"--stacks-s-tooltip-yvavkxai\">\n <svg aria-hidden=\"true\" class=\"fc-theme-primary-400 js-saves-btn-selected d-none svg-icon iconBookmark\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n <svg aria-hidden=\"true\" class=\"js-saves-btn-unselected svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg>\n</button><div id=\"--stacks-s-tooltip-yvavkxai\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Save this answer.<div class=\"s-popover--arrow\"></div></div>\n\n\n\n\n\n\n\n <div class=\"js-accepted-answer-indicator flex--item fc-green-400 py6 mtn8 d-none\" data-s-tooltip-placement=\"right\" title=\"Loading when this answer was accepted\u2026\" tabindex=\"0\" role=\"note\" aria-label=\"Accepted\">\n <div class=\"ta-center\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconCheckmarkLg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\"><path d=\"m6 14 8 8L30 6v8L14 30l-8-8z\"></path></svg>\n </div>\n </div>\n\n \n <a class=\"js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto\" href=\"/posts/37900624/timeline\" data-shortcut=\"T\" data-ks-title=\"timeline\" data-controller=\"s-tooltip\" data-s-tooltip-placement=\"right\" aria-label=\"Timeline\" aria-describedby=\"--stacks-s-tooltip-79kbtf7y\"><svg aria-hidden=\"true\" class=\"mln2 mr0 svg-icon iconHistory\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\"><path d=\"M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10z\"></path></svg></a><div id=\"--stacks-s-tooltip-79kbtf7y\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Show activity on this post.<div class=\"s-popover--arrow\"></div></div>\n\n</div>\n\n </div>\n\n \n\n<div class=\"answercell post-layout--right\">\n \n\n\n <div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>I am not sure if this is what you are looking for, but I feel you can build the data you need using the JSON response</p>\n<pre><code>curl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=http://www.google.com > response.json\n</code></pre>\n<p>If you don't have access to cli you can enter the same url with your website of interest in your browser and hit return key.</p>\n<p>I lately started using Postman if you are trying to optimize your website performance I personally feel this would help because it does save the responses and the time of request.</p>\n<p>Thank you it was helpful</p>\n </div>\n <div class=\"mt24\">\n <div class=\"d-flex fw-wrap ai-start jc-end gs8 gsy\">\n\n <time itemprop=\"dateCreated\" datetime=\"2016-06-18 19:03:11Z\"></time>\n <div class=\"flex--item mr16\" style=\"flex: 1 1 100px;\">\n \n\n\n<div class=\"js-post-menu pt2\" data-post-id=\"37900624\" data-post-type-id=\"2\">\n\n <div class=\"d-flex gs8 s-anchors s-anchors__muted fw-wrap\">\n\n <div class=\"flex--item\">\n <a href=\"/a/37900624\" rel=\"nofollow\" itemprop=\"url\" class=\"js-share-link js-gps-track\" title=\"Short permalink to this answer\" data-gps-track=\"post.click({ item: 2, priv: 0, post_type: 2 })\" data-controller=\"se-share-sheet\" data-se-share-sheet-title=\"Share a link to this answer\" data-se-share-sheet-subtitle=\"\" data-se-share-sheet-post-type=\"answer\" data-se-share-sheet-social=\"facebook twitter devto\" data-se-share-sheet-location=\"2\" data-se-share-sheet-license-url=\"https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f\" data-se-share-sheet-license-name=\"CC BY-SA 4.0\" data-s-popover-placement=\"bottom-start\">Share</a>\n </div>\n\n\n <div class=\"flex--item\">\n <a href=\"/posts/37900624/edit\" class=\"js-suggest-edit-post js-gps-track\" data-gps-track=\"post.click({ item: 6, priv: 0, post_type: 2 })\" title=\"\">Improve this answer</a>\n </div>\n\n <div class=\"flex--item\">\n <button type=\"button\" id=\"btnFollowPost-37900624\" class=\"s-btn s-btn__link js-follow-post js-follow-answer js-gps-track\" data-gps-track=\"post.click({ item: 14, priv: 0, post_type: 2 })\" data-controller=\"s-tooltip \" data-s-tooltip-placement=\"bottom\" data-s-popover-placement=\"bottom\" aria-controls=\"\" aria-describedby=\"--stacks-s-tooltip-ppl58vwp\">\n Follow\n <input type=\"hidden\" id=\"voteFollowHash\" value=\"70:3:31e,16:4b17194c72a6e1ba,10:1773916052,16:e8e8b0b3654cd051,8:37900624,16d92555d73e2a359475aef35a3ebc7909547a6b0441e48bdeec09480684efbc\">\n </button><div id=\"--stacks-s-tooltip-ppl58vwp\" class=\"s-popover s-popover__tooltip\" role=\"tooltip\">Follow this answer to receive notifications<div class=\"s-popover--arrow\"></div></div>\n </div>\n\n\n\n\n\n\n </div>\n <div class=\"js-menu-popup-container\"></div>\n</div>\n </div>\n <div class=\"post-signature flex--item fl0\">\n<div class=\"user-info user-hover \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n <a href=\"/posts/37900624/revisions\" title=\"show all edits to this post\" class=\"js-gps-track\" data-gps-track=\"post.click({ item: 4, priv: 0, post_type: 2 })\">edited <span title=\"2021-07-17 04:40:33Z\" class=\"relativetime\">Jul 17, 2021 at 4:40</span></a>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/840119/dawid-cieszy%c5%84ski\"><div class=\"gravatar-wrapper-32\"><img src=\"https://www.gravatar.com/avatar/b7e2c4e367721588538ad1a00bb0fd0c?s=64&d=identicon&r=PG\" alt=\"Dawid Cieszy\u0144ski's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\">\n <a href=\"/users/840119/dawid-cieszy%c5%84ski\" dir=\"auto\">Dawid Cieszy\u0144ski</a>\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">49</span><span title=\"1 silver badge\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 silver badge</span><span title=\"11 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">11</span></span><span class=\"v-visible-sr\">11 bronze badges</span>\n </div>\n </div>\n</div>\n </div>\n\n\n <div class=\"post-signature flex--item fl0\">\n <div class=\"user-info \">\n <div class=\"d-flex \">\n <div class=\"user-action-time fl-grow1\">\n answered <span title=\"2016-06-18 19:03:11Z\" class=\"relativetime\">Jun 18, 2016 at 19:03</span>\n </div>\n \n </div>\n <div class=\"user-gravatar32\">\n <a href=\"/users/5496838/b-p\"><div class=\"gravatar-wrapper-32\"><img src=\"https://lh4.googleusercontent.com/-LLtQz7DHtfQ/AAAAAAAAAAI/AAAAAAAAAGU/S1phUom2x68/s64-rj/photo.jpg\" alt=\"B P's user avatar\" width=\"32\" height=\"32\" class=\"bar-sm\"></div></a>\n </div>\n <div class=\"user-details\" itemprop=\"author\" itemscope=\"\" itemtype=\"http://schema.org/Person\">\n <a href=\"/users/5496838/b-p\" itemprop=\"url\" dir=\"auto\">B P</a><meta itemprop=\"name\" content=\"B P\">\n <div class=\"-flair\">\n <span class=\"reputation-score\" title=\"reputation score \" dir=\"ltr\">153</span><span title=\"1 silver badge\" aria-hidden=\"true\"><span class=\"badge2\"></span><span class=\"badgecount\">1</span></span><span class=\"v-visible-sr\">1 silver badge</span><span title=\"7 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\"></span><span class=\"badgecount\">7</span></span><span class=\"v-visible-sr\">7 bronze badges</span>\n </div>\n </div>\n</div>\n\n\n </div>\n </div>\n \n \n </div>\n \n</div>\n\n\n\n\n \n\n <div class=\"post-layout--right\">\n \n\n<div id=\"follow-ups-container-37900624\">\n <!--[--><div class=\"mt16\"><div class=\"mb8 d-flex ai-center g8 c-pointer\" role=\"button\" tabindex=\"0\"><h2 class=\"mb0\">1 Comment</h2> <!--[--><!--[--><!----><svg aria-hidden=\"true\" class=\"svg-icon iconArrowDownAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m16.01 7.43-1.4-1.41L9 11.6 3.42 6l-1.4 1.42 7 7z\"></path></svg><!----><!--]--><!--]--></div> <div class=\"mb12\"><!--[!--><button type=\"button\" class=\"s-btn s-btn__muted s-btn__outlined w100 d-flex ai-center p8 comments-link\" data-so-test=\"parent-answer-37900624\"><!--[!--><!--]--> <div class=\"flex--item ml8\"><p class=\"mb0\">Add a comment</p></div></button><!--]--></div> <!--[--><div role=\"list\"><!--[--><div id=\"follow-up-63254328\" itemprop=\"comment\" itemscope=\"\" itemtype=\"https://schema.org/Comment\" role=\"listitem\" data-so-test=\"reply-parent-comment-0\"><!--[--><div class=\"d-flex fd-column\"><!--[--><div class=\"d-flex g6\"><div class=\"flex--item w24\"><!--[--><a href=\"/users/5496838/b-p\" class=\"s-avatar s-avatar__24 s-user-card--avatar\" aria-label=\"User profile\"><img class=\"s-avatar--image\" src=\"https://lh4.googleusercontent.com/-LLtQz7DHtfQ/AAAAAAAAAAI/AAAAAAAAAGU/S1phUom2x68/s48-rj/photo.jpg\" alt=\"\"></a><!--]--><!----></div> <div class=\"flex--item d-flex fd-column g8 fl-grow1 overflow-hidden\"><div class=\"d-flex jc-space-between\"><div class=\"flex--item h24 ai-center s-user-card s-user-card__small lh-md\"><div class=\"s-user-card--info\" itemprop=\"author\" itemscope=\"\" itemtype=\"https://schema.org/Person\"><div class=\"d-none\" itemprop=\"name\">B P</div> <div class=\"s-user-card--awards\"><!--[--><a href=\"/users/5496838/b-p\" class=\"s-user-card--link truncate wmx2 comment-user lh-xs\" itemprop=\"url\">B P</a><!--]--> <a class=\"comment-link\" href=\"#comment63254328_37900624\"><time title=\"2016-06-18T19:07:09.29Z\" class=\"s-user-card--time ws-nowrap truncate\">Over a year ago</time></a> <!--[!--><!--]--> <!--[!--><!--]--></div></div></div><!----></div></div></div><!--]--> <div class=\"flex--item d-flex g6 fl-grow1\"><div class=\"flex--item d-flex fd-column ai-center pt4\"><div class=\"h100 ml12 mr12 pt4\" style=\"width: 1px\"></div></div> <div class=\"flex--item d-flex fd-column g4 fl-grow1\"><div itemprop=\"text\" class=\"flex--item fw-normal fs-body1 mb4 ow-anywhere\"><!--[--><!---->I might be wrong, I was answering about <a href=\"https://developers.google.com/speed/pagespeed/insights/\" rel=\"nofollow noreferrer\">link</a> and not the extension<!----><!--]--></div> <time class=\"d-none\" itemprop=\"datePublished\">2016-06-18T19:07:09.29Z+00:00</time> <!--[--><div class=\"d-flex g16 pb8\"><div class=\"flex--item d-flex ai-center g16 fl-grow1\"><div class=\"d-flex jc-space-between fl-grow1\"><div class=\"flex--item d-flex ai-center g8\"><!--[!--><button class=\"s-btn s-btn__xs s-btn__outlined s-btn__muted s-btn__icon h24 py2\" type=\"button\" data-so-test=\"vote-button-comment-63254328\"><div class=\"d-flex ai-center g6\"><span class=\"s-btn--icon\"><!----><svg aria-hidden=\"true\" class=\"fc-black-400 va-middle w16 svg-icon iconArrowUp\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 12h16L9 4z\"></path></svg><!----><!----></span> <span class=\"fw-normal fs-caption fc-black-500\">1</span></div></button><!--]--> <!--[--><button class=\"s-btn s-btn__xs s-btn__outlined s-btn__muted h24 py2\" type=\"button\" data-so-test=\"reply-button-comment-63254328\"><div class=\"d-flex ai-center g6\"><span class=\"s-btn--icon\"><!----><svg aria-hidden=\"true\" class=\"fc-black-400 w16 svg-icon iconMessage\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M1 4v14l3-3h11c1.09 0 2-.91 2-2V4c0-1.09-.91-2-2-2H3a2 2 0 0 0-2 2m3 9-1 1V4h12v9zm1-6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1m1 2a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"></path></svg><!----><!----></span> <span class=\"fw-normal fs-caption fc-black-500\">Reply</span></div></button><!--]--> <!--[--><button class=\"flex--item s-btn s-btn__xs s-btn__outlined s-btn__muted py2 h24\" type=\"button\" aria-controls=\"popover-menu-63254328\" aria-expanded=\"false\" aria-label=\"Open menu\" data-controller=\"s-popover\" data-action=\"s-popover#toggle\" data-s-popover-placement=\"bottom-start\" data-s-popover-toggle-class=\"is-selected\" data-so-test=\"actions-button-comment-63254328\"><!----><svg aria-hidden=\"true\" class=\"fc-black-400 svg-icon iconEllipsisHorizontal\" width=\"17\" height=\"18\" viewBox=\"0 0 17 18\"><path d=\"M3.5 10a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3M12 8.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0\"></path></svg><!----><!----></button> <div id=\"popover-menu-63254328\" class=\"s-popover s-popover__tooltip\" role=\"menu\"><div class=\"s-popover--arrow\"></div> <div class=\"s-popover--content\"><ul class=\"s-menu\" role=\"menu\"><li role=\"menuitem\"><button class=\"s-block-link h:bg-black-100 js-follow-up-copy-link\">Copy link</button></li> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></ul></div></div><!--]--></div> <!--[!--><!--]--></div></div></div><!--]--> <!--[!--><!--]--></div></div></div><!--]--></div> <!--[!--><!--]--> <!--[!--><!--]--><!--]--></div> <!--[!--><!--]--><!----><!--]--> <!--[!--><!--]--></div><!--]-->\n</div>\n\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups/index.mod\">{\"replies\":[{\"id\":63254328,\"user\":{\"userId\":5496838,\"isDeleted\":false,\"displayName\":\"B P\",\"url\":\"/users/5496838/b-p\",\"profileImageUrl\":\"https://lh4.googleusercontent.com/-LLtQz7DHtfQ/AAAAAAAAAAI/AAAAAAAAAGU/S1phUom2x68/s48-rj/photo.jpg\",\"reputation\":0,\"goldBadges\":0,\"silverBadges\":0,\"bronzeBadges\":0,\"isStaff\":false,\"isModerator\":false,\"htmlFriendlyName\":\"BP\",\"noSpacesUserName\":\"BP\",\"reputationDisplayText\":\"0\"},\"postedAt\":\"2016-06-18T19:07:09.29Z\",\"postedAtRelative\":\"Over a year ago\",\"body\":\"I might be wrong, I was answering about [link](https://developers.google.com/speed/pagespeed/insights/) and not the extension\",\"htmlBody\":\"I might be wrong, I was answering about \\u003Ca href=\\u0022https://developers.google.com/speed/pagespeed/insights/\\u0022 rel=\\u0022nofollow noreferrer\\u0022\\u003Elink\\u003C/a\\u003E and not the extension\",\"score\":1,\"showVoteInsteadOfZero\":false,\"showVoteWording\":false,\"replies\":[],\"userCanFlag\":false,\"userCanVote\":false,\"isCommentOwner\":false,\"userCanReply\":true,\"userCanEdit\":false,\"userCanDelete\":false,\"userCanUndelete\":false,\"userCanRedact\":false,\"userCanViewHistory\":false,\"userHasFlagged\":false,\"userHasVoted\":false,\"isDeleted\":false,\"isLastReply\":true,\"exceedsNestingLimit\":false,\"isDeletedAndReadOnly\":false,\"showOwnPostTooltip\":false,\"voteButtonTooltipText\":\"Thanks for participating. Your votes will count once you\\u0027ve earned enough reputation.\",\"htmlFriendlyReplyToUserName\":\"\",\"noSpacesReplyToUserName\":\"\",\"isTopScored\":true}],\"postId\":37900624,\"currentUserIsMod\":false,\"currentUserIsAnonymous\":true,\"commentFlagsRemainingToday\":10,\"maxNestingLevel\":3,\"hasOptedOut\":false,\"showCtaUnderComments\":false,\"containerElementId\":\"follow-ups-container-37900624\",\"fKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"questionId\":25806351,\"questionAuthorId\":886906,\"answerId\":37900624,\"answerPositionOnPage\":0,\"newUiSettings\":{\"largerFontSize\":false},\"showFirstTimeCommentingModal\":false,\"isMentionEnabled\":false,\"showSpamFlag\":true,\"mergeUnfriendlyAndRudeFlags\":true,\"allowRetractingCommentFlags\":true,\"commentMinLength\":15}</script>\n </div>\n\n </div>\n</div>\n <a name=\"new-answer\"></a>\n <form id=\"post-form\" action=\"/questions/25806351/answer/submit\" method=\"post\" class=\"js-add-answer-component post-form\">\n <input type=\"hidden\" id=\"post-id\" value=\"25806351\">\n <input type=\"hidden\" id=\"qualityBanWarningShown\" name=\"qualityBanWarningShown\" value=\"false\">\n <input type=\"hidden\" name=\"referrer\" value=\"https://www.google.com/search?q=stackoverflow\">\n <input type=\"hidden\" name=\"opinion-based-content-type\">\n <input type=\"hidden\" name=\"referrer-id\" value=\"0\">\n <h2 class=\"space\" id=\"your-answer-header\">\n Your Answer\n </h2>\n\n \n\n\n\n<script>\n StackExchange.ready(function() {\n var channelOptions = {\n tags: \"\".split(\" \"),\n id: \"1\"\n };\n initTagRenderer(\"\".split(\" \"), \"\".split(\" \"), channelOptions);\n\n StackExchange.using(\"externalEditor\", function() {\n // Have to fire editor after snippets, if snippets enabled\n if (StackExchange.settings.snippets.snippetsEnabled) {\n StackExchange.using(\"snippets\", function() {\n createEditor();\n });\n }\n else {\n createEditor();\n }\n });\n\n function createEditor() { \n StackExchange.prepareEditor({\n useStacksEditor: true,\n heartbeatType: 'answer',\n autoActivateHeartbeat: false,\n convertImagesToLinks: true,\n noModals: true,\n showLowRepImageUploadWarning: true,\n reputationToPostImages: 10,\n bindNavPrevention: true,\n postfix: \"\",\n imageUploadEnabled: false,\n imageUploader: {\n brandingHtml: \"\",\n contentPolicyHtml: \"User contributions licensed under \\u003ca href=\\\"https://stackoverflow.com/help/licensing\\\"\\u003eCC BY-SA\\u003c/a\\u003e \\u003ca href=\\\"https://stackoverflow.com/legal/acceptable-use-policy\\\"\\u003e(content policy)\\u003c/a\\u003e\",\n allowUrls: true,\n },\n onDemand: true,\n discardSelector: \".discard-answer\",\n enableTables: true,\n isStacksEditorPreviewEnabled: true,\n tabindex: 103,\n highlightingLanguages: [\"markdown\",\"ml\",\"rs\",\"shell\",\"xsl\",\"obj-c\",\"objective-c++\",\"hh\",\"tsx\",\"mts\",\"scheme\",\"cc\",\"gyp\",\"julia\",\"bash\",\"fs\",\"kts\",\"protobuf\",\"h\",\"cv\",\"vhd\",\"erlang\",\"c-like\",\"lsp\",\"xhtml\",\"clojure\",\"hxx\",\"javascript\",\"coffee\",\"sql\",\"go\",\"js\",\"scss\",\"cson\",\"gemspec\",\"php\",\"atom\",\"cxx\",\"java\",\"toml\",\"lua\",\"csharp\",\"scala\",\"mjs\",\"ini\",\"mak\",\"py\",\"clj\",\"hpp\",\"plist\",\"obj-c++\",\"cts\",\"none\",\"ss\",\"golang\",\"rb\",\"mk\",\"css\",\"bsh\",\"yaml\",\"m\",\"hs\",\"ts\",\"xjb\",\"cpp\",\"pm\",\"objc\",\"thor\",\"el\",\"rc\",\"console\",\"makefile\",\"cs\",\"pl\",\"http\",\"delphi\",\"shellsession\",\"proto\",\"less\",\"vhdl\",\"ruby\",\"vbs\",\"kotlin\",\"mma\",\"rss\",\"podspec\",\"mkd\",\"python\",\"yml\",\"iced\",\"cl\",\"ocaml\",\"wsf\",\"mathematica\",\"cjs\",\"rust\",\"rkt\",\"dart\",\"mm\",\"s\",\"lisp\",\"edn\",\"https\",\"cyc\",\"c++\",\"pas\",\"haskell\",\"irb\",\"r\",\"perl\",\"matlab\",\"ipython\",\"xml\",\"scm\",\"c#\",\"dpr\",\"latex\",\"c\",\"pascal\",\"make\",\"jsx\",\"php-template\",\"coffeescript\",\"typescript\",\"jsp\",\"json\",\"tex\",\"dfm\",\"wl\",\"vb\",\"md\",\"mkdown\",\"vbnet\",\"erl\",\"objectivec\",\"svg\",\"html\",\"sh\",\"swift\",\"h++\",\"csh\",\"xsd\",\"kt\"]\n ,enableTables:true,enableSnippets:true\n });\n }\n });\n</script>\n<div id=\"post-editor\" class=\"post-editor js-post-editor d-flex fd-column g4\">\n\n\n <input type=\"hidden\" name=\"stacksEditorEnabled\" value=\"True\">\n\n <input type=\"hidden\" id=\"stacksEditorView\" name=\"stacksEditorView\">\n <div class=\"js-stacks-validation\">\n <textarea id=\"js-stacks-editor-content\" name=\"post-text\" class=\"d-none js-stacks-editor-backing-textarea js-post-body-field\" data-editor-type=\"stacks-editor\" data-post-type-id=\"2\" data-min-length=\"\" aria-labelledby=\"your-answer-header\"></textarea>\n\n <div id=\"js-stacks-editor-container\" class=\"js-stacks-editor-container mb8\">\n <div class=\"js-fake-stacks-editor s-textarea s-input__readonly overflow-auto hmn2 w100 p0 d-flex fd-column pe-none\">\n <div class=\"py6 bg-inherit btr-sm w100\">\n <div class=\"d-flex overflow-x-auto ai-center px12 py4 pb0\">\n <div class=\"d-flex g16 fl-grow1 ai-center\">\n <div class=\"s-editor-menu-block d-flex g2\">\n <div>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconHeader\"></span>\n </button>\n </div>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconBold\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconItalic\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconCode\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2\">\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconLink\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconQuote\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconCodeblock\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconImage\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconTable\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2\">\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconOrderedList\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconUnorderedList\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconHorizontalRule\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2 sm:d-inline-flex d-none\">\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconUndo\"></span>\n </button>\n <button class=\"s-editor-btn s-btn is-disabled\" disabled=\"\" type=\"button\">\n <span class=\"svg-icon-bg iconRefresh\"></span>\n </button>\n </div>\n <div class=\"s-editor-menu-block d-flex g2\">\n <a class=\"s-editor-btn s-btn is-disabled\" tabindex=\"-1\" href=\"#\" target=\"_blank\">\n <span class=\"svg-icon-bg iconHelp\"></span>\n </a>\n </div>\n </div>\n <div class=\"flex--item d-flex ai-center ml24 fc-black-500\">\n <div class=\"s-btn-group--radio\">\n <label class=\"s-btn s-editor-btn px6\">\n <span class=\"svg-icon-bg iconRichText\"></span>\n </label>\n <label class=\"s-btn s-editor-btn px6\">\n <span class=\"svg-icon-bg iconMarkdown\"></span>\n </label>\n </div>\n </div>\n </div>\n </div>\n <div class=\" fl-grow1 outline-none p12 pt6 w100 s-prose ProseMirror\">\n </div>\n</div>\n\n </div>\n <div id=\"js-stacks-editor-container-validation-message\" class=\"s-input-message mt4 js-stacks-validation-message d-none\"></div>\n </div>\n\n <aside class=\"d-flex ai-start jc-space-between js-answer-help s-notice s-notice__warning pb0 pr4 pt4 mb8 d-none\" role=\"status\" aria-hidden=\"true\">\n <div class=\"flex--item pt8\">\n <p>Thanks for contributing an answer to Stack Overflow!</p><ul><li>Please be sure to <em>answer the question</em>. Provide details and share your research!</li></ul><p>But <em>avoid</em> \u2026</p><ul><li>Asking for help, clarification, or responding to other answers.</li><li>Making statements based on opinion; back them up with references or personal experience.</li></ul><p>To learn more, see our <a href=\"/help/how-to-answer\">tips on writing great answers</a>.</p>\n </div>\n <button class=\"flex--item js-answer-help-close-btn s-btn s-btn__muted fc-black-600\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"></path></svg>\n </button>\n</aside>\n\n\n\n <div>\n <div id=\"draft-saved\" class=\"fc-success h24\" style=\"display:none;\">Draft saved</div>\n <div id=\"draft-discarded\" class=\"fc-error h24\" style=\"display:none;\">Draft discarded</div>\n </div>\n\n\n\n <div class=\"edit-block\">\n <input id=\"fkey\" name=\"fkey\" type=\"hidden\" value=\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\">\n <input id=\"author\" name=\"author\" type=\"text\">\n </div>\n\n</div>\n\n\n <div class=\"ps-relative\">\n <div class=\"form-item dno new-post-login p0 my16\">\n <div class=\"d-flex gs16 md:fd-column new-login-form\">\n <div class=\"d-flex fd-column w50 md:w-auto gsy gs8 jc-space-between new-login-left\">\n <h3 class=\"flex--item fs-title\">Sign up or <a id=\"login-link\" href=\"/users/login?ssrc=question_page&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results%23new-answer\">log in</a></h3>\n <script>\n StackExchange.ready(function () {\n StackExchange.helpers.onClickDraftSave('#login-link');\n });\n </script>\n <div class=\"flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon google-login\" data-ga=\"["sign up","Sign Up Started - Google","New Post",null,null]\">\n <svg aria-hidden=\"true\" class=\"native svg-icon iconGoogle\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path fill=\"#4285F4\" d=\"M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 0 0 2.38-5.88c0-.57-.05-.66-.15-1.18\"></path><path fill=\"#34A853\" d=\"M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 0 1-7.18-2.54H1.83v2.07A8 8 0 0 0 8.98 17\"></path><path fill=\"#FBBC05\" d=\"M4.5 10.52a4.8 4.8 0 0 1 0-3.04V5.41H1.83a8 8 0 0 0 0 7.18z\"></path><path fill=\"#EA4335\" d=\"M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 0 0 1.83 5.4L4.5 7.49a4.8 4.8 0 0 1 4.48-3.3\"></path></svg> Sign up using Google\n </div>\n <div class=\"flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon stackexchange-login\" data-ga=\"["sign up","Sign Up Navigation","New Post",null,null]\">\n <svg aria-hidden=\"true\" class=\"native svg-icon iconGlyphXSm\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path fill=\"#BCBBBB\" d=\"M14 16v-5h2v7H2v-7h2v5z\"></path><path fill=\"#F48024\" d=\"m12.09.72-1.21.9 4.5 6.07 1.22-.9zM5 15h8v-2H5zm9.15-5.87L8.35 4.3l.96-1.16 5.8 4.83zm-7.7-1.47 6.85 3.19.63-1.37-6.85-3.2zm6.53 5L5.4 11.39l.38-1.67 7.42 1.48z\"></path></svg> Sign up using Email and Password\n </div>\n </div>\n <input type=\"hidden\" name=\"use-facebook\" class=\"use-facebook\" value=\"false\">\n <input type=\"hidden\" name=\"use-google\" class=\"use-google\" value=\"false\">\n <button type=\"button\" class=\"d-none js-submit-openid\">Submit</button>\n <div class=\"d-flex gsy gs8 fd-column w50 md:w-auto new-login-right form-item p0\">\n <h3 class=\"flex--item fs-title\">Post as a guest</h3>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <label class=\"s-label\" for=\"display-name\">Name</label>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input\" id=\"display-name\" name=\"display-name\" maxlength=\"30\" type=\"text\" value=\"\" tabindex=\"105\" placeholder=\"\">\n </div>\n </div>\n </div>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <div class=\"flex--item\">\n <div class=\"d-flex gs2 gsy fd-column\">\n <label class=\"flex--item s-label\" for=\"m-address\">Email</label>\n <p class=\"flex--item s-description\">Required, but never shown</p>\n </div>\n </div>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input js-post-email-field\" id=\"m-address\" name=\"m-address\" type=\"text\" value=\"\" size=\"40\" tabindex=\"106\" placeholder=\"\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n <script>\n StackExchange.ready(\n function () {\n StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results%23new-answer', 'question_page');\n }\n );\n </script>\n <noscript>\n <h3 class=\"flex--item fs-title\">Post as a guest</h3>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <label class=\"s-label\" for=\"display-name\">Name</label>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input\" id=\"display-name\" name=\"display-name\" maxlength=\"30\" type=\"text\" value=\"\" tabindex=\"105\" placeholder=\"\" />\n </div>\n </div>\n </div>\n <div class=\"flex--item\">\n <div class=\"d-flex gs4 gsy fd-column\">\n <div class=\"flex--item\">\n <div class=\"d-flex gs2 gsy fd-column\">\n <label class=\"flex--item s-label\" for=\"m-address\">Email</label>\n <p class=\"flex--item s-description\">Required, but never shown</p>\n </div>\n </div>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input js-post-email-field\" id=\"m-address\" name=\"m-address\" type=\"text\" value=\"\" size=\"40\" tabindex=\"106\" placeholder=\"\" />\n </div>\n </div>\n </div>\n\n </noscript>\n\n </div>\n\n\n <div class=\"form-submit clear-both d-flex sm:fd-column sm:jc-stretch gs4 ai-center mb24\">\n <button id=\"submit-button\" class=\"flex--item fl-shrink0 s-btn s-btn__filled sm:w100\" type=\"submit\" tabindex=\"120\" autocomplete=\"off\">\n Post Your Answer\n </button>\n <button class=\"flex--item s-btn s-btn__danger fl-shrink0 sm:w100 discard-answer d-none\">\n Discard\n </button>\n <p class=\"flex--item mb0 fs-italic ml12 sm:ml0\">\n By clicking \u201cPost Your Answer\u201d, you agree to our <a href=\"https://stackoverflow.com/legal/terms-of-service/public\" name=\"tos\" target=\"_blank\" class=\"-link\">terms of service</a> and acknowledge you have read our <a href=\"https://stackoverflow.com/legal/privacy-policy\" name=\"privacy\" target=\"_blank\" class=\"-link\">privacy policy</a>.<input type=\"hidden\" name=\"legalLinksShown\" value=\"1\">\n </p>\n </div>\n <div class=\"js-general-error general-error clear-both d-none\" aria-live=\"polite\"></div>\n </form>\n <div class=\"js-bottom-notice d-flex w100 md:mb12 md:fd-column ac-stretch\" data-loc=\"1\">\n <div class=\"flex--item ba bc-black-200 bar-md p24 md:p16 mr12 md:mb12 md:mr0 w50 md:w100\">\n <div class=\"d-flex fd-column\">\n <p class=\"flex--item fs-body2 fw-bold fc-black-500 mb8\">Start asking to get answers</p>\n <p class=\"flex--item fs-body1 fc-black-400 mb16\">Find the answer to your question by asking.</p>\n <a class=\"flex--item s-btn s-btn__outlined as-start px32 md:px16\" href=\"/questions/ask\">Ask question</a>\n </div>\n </div>\n <div class=\"flex--item ba bc-black-200 bar-md p24 md:p16 w50 md:w100\">\n <div class=\"d-flex fd-column gsy g16\">\n <p class=\"flex--item fs-body2 fw-bold fc-black-500 mb0\">Explore related questions</p>\n <div class=\"flex--item mb0\"><ul class=\"ml0 list-ls-none js-post-tag-list-wrapper d-inline\"><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/google-chrome\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome'\" aria-label=\"show questions tagged 'google-chrome'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/google-chrome-extension\" class=\"s-tag post-tag\" title=\"show questions tagged 'google-chrome-extension'\" aria-label=\"show questions tagged 'google-chrome-extension'\" rel=\"tag\" aria-labelledby=\"tag-google-chrome-extension-tooltip-container\" data-tag-menu-origin=\"Unknown\">google-chrome-extension</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/frontend\" class=\"s-tag post-tag\" title=\"show questions tagged 'frontend'\" aria-label=\"show questions tagged 'frontend'\" rel=\"tag\" aria-labelledby=\"tag-frontend-tooltip-container\" data-tag-menu-origin=\"Unknown\">frontend</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/pagespeed\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed'\" aria-label=\"show questions tagged 'pagespeed'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed</a></li><li class=\"d-inline mr4 js-post-tag-list-item\"><a href=\"/questions/tagged/pagespeed-insights\" class=\"s-tag post-tag\" title=\"show questions tagged 'pagespeed-insights'\" aria-label=\"show questions tagged 'pagespeed-insights'\" rel=\"tag\" aria-labelledby=\"tag-pagespeed-insights-tooltip-container\" data-tag-menu-origin=\"Unknown\">pagespeed-insights</a></li></ul></div>\n <p class=\"flex--item fs-body1 fc-black-400 mb0\">See similar questions with these tags.</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n \n\n \n<div id=\"sidebar\" class=\"show-votes\" role=\"complementary\" aria-label=\"sidebar\">\n \n\n\n <div class=\"s-sidebarwidget s-sidebarwidget__yellow s-anchors s-anchors__grayscale mb16\" data-tracker=\"cb=1\">\n <ul class=\"s-sidebarwidget--content s-sidebarwidget__items p0\">\n <li class=\"s-sidebarwidget--header\">\n The Overflow Blog\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<svg aria-hidden=\"true\" class=\"va-text-top svg-icon iconPencilSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path fill=\"#F1B600\" d=\"m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z\"></path><path fill=\"#E87C87\" d=\"m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0\"></path></svg> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://stackoverflow.blog/2026/03/16/domain-expertise-still-wanted-the-latest-trends-in-ai/\" class=\"js-gps-track\" title=\"Domain expertise still wanted: the latest trends in AI-assisted knowledge for developers\" data-ga=\"["community bulletin board","The Overflow Blog","https://stackoverflow.blog/2026/03/16/domain-expertise-still-wanted-the-latest-trends-in-ai/",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 1, position: 0, location: questionpage })\">Domain expertise still wanted: the latest trends in AI-assisted knowledge for...</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<svg aria-hidden=\"true\" class=\"va-text-top svg-icon iconPencilSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path fill=\"#F1B600\" d=\"m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z\"></path><path fill=\"#E87C87\" d=\"m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0\"></path></svg> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://stackoverflow.blog/2026/03/17/keeping-the-lights-on-for-open-source/\" class=\"js-gps-track\" data-ga=\"["community bulletin board","The Overflow Blog","https://stackoverflow.blog/2026/03/17/keeping-the-lights-on-for-open-source/",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 1, position: 1, location: questionpage })\">Keeping the lights on for open source </a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--header\">\n Featured on Meta\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackexchangemeta\" title=\"Meta Stack Exchange\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackexchange.com/questions/417394/logo-updates-to-stack-overflows-visual-identity\" class=\"js-gps-track\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackexchange.com/questions/417394/logo-updates-to-stack-overflows-visual-identity",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 3, position: 2, location: questionpage })\">Logo updates to Stack Overflow's visual identity</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackoverflowmeta\" title=\"Meta Stack Overflow\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned\" class=\"js-gps-track\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 6, position: 3, location: questionpage })\">Policy: Generative AI (e.g., ChatGPT) is banned</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackoverflowmeta\" title=\"Meta Stack Overflow\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackoverflow.com/questions/438499/release-notes-and-bug-fixes-for-beta-stackoverflow-com\" class=\"js-gps-track\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackoverflow.com/questions/438499/release-notes-and-bug-fixes-for-beta-stackoverflow-com",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 6, position: 4, location: questionpage })\">Release notes and bug fixes for beta.stackoverflow.com</a>\n </div>\n </li>\n <li class=\"s-sidebarwidget--item d-flex px16\">\n <div class=\"flex--item1 fl-shrink0\">\n<div class=\"favicon favicon-stackoverflowmeta\" title=\"Meta Stack Overflow\"></div> </div>\n <div class=\"flex--item wmn0 ow-break-word\">\n <a href=\"https://meta.stackoverflow.com/questions/438369/i-m-jody-the-chief-product-and-technology-officer-at-stack-overflow-let-s-talk\" class=\"js-gps-track\" title=\"I\u2019m Jody, the Chief Product and Technology Officer at Stack Overflow. Let\u2019s talk about the site redesign\" data-ga=\"["community bulletin board","Featured on Meta","https://meta.stackoverflow.com/questions/438369/i-m-jody-the-chief-product-and-technology-officer-at-stack-overflow-let-s-talk",null,null]\" data-gps-track=\"communitybulletin.click({ priority: 6, position: 5, location: questionpage })\">I\u2019m Jody, the Chief Product and Technology Officer at Stack Overflow. Let\u2019s...</a>\n </div>\n </li>\n </ul>\n </div>\n\n<div class=\"js-zone-container zone-container-sidebar\">\n <div id=\"dfp-tsb\" class=\"everyonelovesstackoverflow everyoneloves__top-sidebar\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 300px\"></div>\n</div>\n<div class=\"js-zone-container zone-container-sidebar\">\n <div id=\"dfp-msb\" class=\"everyonelovesstackoverflow everyoneloves__mid-sidebar\"></div>\n\t\t<div class=\"js-report-ad-button-container \" style=\"width: 300px\"></div>\n</div>\n<div id=\"hireme\"></div> \n<div id=\"fragment-container-484-389\" class=\"s-anchors mb24\"><div class=\"d-flex fd-column gy16\"><div class=\"flex--item w100\" data-testid=\"fragment-proxy\"><div data-testid=\"fragment-wrapper\" id=\"fragment-container-484-389-wrapper\"><script type=\"module\">//# sourceURL=fragment-container-484-389-wrapper-dynamic-script-0.js\n\n\n const {LivelinessCard} = await import(`/stackheartbeat/stackheartbeat-module.CsTm_aGn.js`);\n\n customElements.define(\"stack-heartbeat-liveliness\", LivelinessCard.element)\n</script>\n\n<stack-heartbeat-liveliness></stack-heartbeat-liveliness>\n<script type=\"\">//# sourceURL=fragment-container-484-389-wrapper-dynamic-script-1.js\n\n(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML=\"window.__CF$cv$params={r:'9debc9041fca0ed2',t:'MTc3MzkxNjA1My4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);\";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script><!----></div><!----></div></div></div><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/fragment-proxy.en.js?v=5a551e6e4833\"></script><script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/fragment-proxy/index.mod\">{\"ContainerElementId\":\"fragment-container-484-389\",\"FragmentAddress\":\"/stackheartbeat/heartbeat\",\"TraceHeaders\":[]}</script>\n\n \n \n\n\n <div class=\"module sidebar-related\">\n <h4 id=\"h-related\">Related</h4>\n <div class=\"related js-gps-related-questions\" data-tracker=\"rq=3\">\n <div class=\"spacer\" data-question-id=\"10954236\">\n <a href=\"/questions/10954236/what-is-the-best-way-to-view-google-pagespeed-grade\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/10954236/what-is-the-best-way-to-view-google-pagespeed-grade\" class=\"question-hyperlink\">What is the best way to view google pagespeed grade?</a>\n </div>\n <div class=\"spacer\" data-question-id=\"11004964\">\n <a href=\"/questions/11004964/host-pagespeed-insights-on-my-own-server\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">1</div>\n </a>\n <a href=\"/questions/11004964/host-pagespeed-insights-on-my-own-server\" class=\"question-hyperlink\">Host pagespeed insights on my own server</a>\n </div>\n <div class=\"spacer\" data-question-id=\"37122041\">\n <a href=\"/questions/37122041/pagespeed-insights-api-limits\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">7</div>\n </a>\n <a href=\"/questions/37122041/pagespeed-insights-api-limits\" class=\"question-hyperlink\">PageSpeed Insights API limits</a>\n </div>\n <div class=\"spacer\" data-question-id=\"43368404\">\n <a href=\"/questions/43368404/how-to-save-pagespeed-insights-results-to-google-bigquery\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">1</div>\n </a>\n <a href=\"/questions/43368404/how-to-save-pagespeed-insights-results-to-google-bigquery\" class=\"question-hyperlink\">How to save PageSpeed Insights results to Google BigQuery?</a>\n </div>\n <div class=\"spacer\" data-question-id=\"50715099\">\n <a href=\"/questions/50715099/pull-pagespeed-in-seconds-from-chrome-user-experience-report-into-a-google-sheet\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/50715099/pull-pagespeed-in-seconds-from-chrome-user-experience-report-into-a-google-sheet\" class=\"question-hyperlink\">Pull pagespeed in seconds from Chrome User Experience Report into a google sheet</a>\n </div>\n <div class=\"spacer\" data-question-id=\"53497531\">\n <a href=\"/questions/53497531/google-page-speed-insights-score-in-v5\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes default\">1</div>\n </a>\n <a href=\"/questions/53497531/google-page-speed-insights-score-in-v5\" class=\"question-hyperlink\">Google Page Speed Insights Score in V5</a>\n </div>\n <div class=\"spacer\" data-question-id=\"53636725\">\n <a href=\"/questions/53636725/pagespeed-insights-api-v5\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">1</div>\n </a>\n <a href=\"/questions/53636725/pagespeed-insights-api-v5\" class=\"question-hyperlink\">PageSpeed Insights API V5</a>\n </div>\n <div class=\"spacer\" data-question-id=\"54886606\">\n <a href=\"/questions/54886606/pagespeed-insights-google\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes default\">0</div>\n </a>\n <a href=\"/questions/54886606/pagespeed-insights-google\" class=\"question-hyperlink\">PageSpeed insights Google</a>\n </div>\n <div class=\"spacer\" data-question-id=\"63986007\">\n <a href=\"/questions/63986007/geting-a-performance-score-in-page-insights\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/63986007/geting-a-performance-score-in-page-insights\" class=\"question-hyperlink\">Geting a ? Performance score in page insights</a>\n </div>\n <div class=\"spacer\" data-question-id=\"75244146\">\n <a href=\"/questions/75244146/pagespeed-insights-api-without-lighthouseresults\" title=\"Question score (upvotes - downvotes)\">\n <div class=\"answer-votes answered-accepted default\">0</div>\n </a>\n <a href=\"/questions/75244146/pagespeed-insights-api-without-lighthouseresults\" class=\"question-hyperlink\">PageSpeed Insights API without LighthouseResults</a>\n </div>\n </div>\n </div>\n <script type=\"text/javascript\">\n $(function() {\n $(\".js-gps-related-questions .spacer\").on(\"click\", function () {\n fireRelatedEvent($(this).index() + 1, $(this).data('question-id'));\n });\n\n function fireRelatedEvent(position, questionId) {\n StackExchange.using(\"gps\", function() {\n StackExchange.gps.track('related_questions.click',\n {\n position: position,\n originQuestionId: 25806351,\n relatedQuestionId: +questionId,\n location: 'sidebar',\n source: 'Baseline'\n }); \n });\n }\n });\n </script>\n\n<div id=\"hot-network-questions\" class=\"module tex2jax_ignore\">\n <h4>\n <a href=\"https://stackexchange.com/questions?tab=hot\" class=\"js-gps-track s-link s-link__inherit\" data-gps-track=\"posts_hot_network.click({ item_type:1, location:11 })\">\n Hot Network Questions\n </a>\n </h4>\n <ul>\n <li>\n <div class=\"favicon favicon-scifi\" title=\"Science Fiction & Fantasy Stack Exchange\"></div><a href=\"https://scifi.stackexchange.com/questions/303727/sci-fi-story-by-an-american-author-in-the-early-1960s-about-a-group-of-mutant-hu\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:186 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Sci-fi story by an American author in the early 1960s about a group of mutant human giants who form an all-conquering football team?\n </a>\n\n </li>\n <li>\n <div class=\"favicon favicon-tex\" title=\"TeX - LaTeX Stack Exchange\"></div><a href=\"https://tex.stackexchange.com/questions/760985/commutative-diagram-in-xy-pic\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:85 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Commutative diagram in xy-pic\n </a>\n\n </li>\n <li>\n <div class=\"favicon favicon-english\" title=\"English Language & Usage Stack Exchange\"></div><a href=\"https://english.stackexchange.com/questions/639246/can-we-respond-to-way-bigger-with-how-way-bigger\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:97 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Can we respond to \"way bigger\" with \"How way bigger?\"\n </a>\n\n </li>\n <li>\n <div class=\"favicon favicon-japanese\" title=\"Japanese Language Stack Exchange\"></div><a href=\"https://japanese.stackexchange.com/questions/111879/what-does-this-word-mean-%e6%8a%bc%e3%81%97%e3%81%8b%e3%81%91%e3%81%b8%e3%81%97%e3%81%8b%e3%81%91\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:257 }); posts_hot_network.click({ item_type:2, location:11 })\">\n What does this word mean? \u62bc\u3057\u304b\u3051\u3078\u3057\u304b\u3051\n </a>\n\n </li>\n <li>\n <div class=\"favicon favicon-english\" title=\"English Language & Usage Stack Exchange\"></div><a href=\"https://english.stackexchange.com/questions/639252/are-there-latinate-ordinal-numbers-after-12-and-if-not-why-dont-they-exist\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:97 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Are there Latinate ordinal numbers after 12? and if not, why don't they exist?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-academia\" title=\"Academia Stack Exchange\"></div><a href=\"https://academia.stackexchange.com/questions/226226/is-using-ai-chatgpt-claude-etc-to-understand-research-papers-a-bad-idea\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:415 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Is using AI (ChatGPT, Claude, etc.) to understand research papers a bad idea?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-scifi\" title=\"Science Fiction & Fantasy Stack Exchange\"></div><a href=\"https://scifi.stackexchange.com/questions/303735/novel-about-the-conflict-between-science-technology-and-the-arts-humanities\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:186 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Novel about the conflict between science/technology and the arts/humanities\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-gaming\" title=\"Arqade\"></div><a href=\"https://gaming.stackexchange.com/questions/418198/is-there-a-way-to-limit-a-games-fps-natively-through-steam\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:41 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Is there a way to limit a game's FPS natively through Steam?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-langdev\" title=\"Programming Language Design and Implementation Stack Exchange\"></div><a href=\"https://langdev.stackexchange.com/questions/4741/how-can-i-get-away-with-treating-as-an-operator-in-replacement-list\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:716 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How can I get away with treating ## as an operator in replacement list?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-academia\" title=\"Academia Stack Exchange\"></div><a href=\"https://academia.stackexchange.com/questions/226213/applied-math-research-post-phd-rejection\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:415 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Applied Math Research Post PhD Rejection\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-rpg\" title=\"Role-playing Games Stack Exchange\"></div><a href=\"https://rpg.stackexchange.com/questions/218950/what-is-the-history-of-name-changes-for-dd-5-5e-dd-2024\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:122 }); posts_hot_network.click({ item_type:2, location:11 })\">\n What is the history of name changes for D&D 5.5e / D&D 2024?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-unix\" title=\"Unix & Linux Stack Exchange\"></div><a href=\"https://unix.stackexchange.com/questions/805048/can-the-path-of-an-ejected-device-be-validated\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:106 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Can the path of an ejected device be validated?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-ell\" title=\"English Language Learners Stack Exchange\"></div><a href=\"https://ell.stackexchange.com/questions/374313/a-monday-and-mondays\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:481 }); posts_hot_network.click({ item_type:2, location:11 })\">\n a Monday and Mondays\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-electronics\" title=\"Electrical Engineering Stack Exchange\"></div><a href=\"https://electronics.stackexchange.com/questions/767054/how-may-i-purchase-ics-with-specific-silicon-versions\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:135 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How may I purchase ICs with specific silicon versions?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-tex\" title=\"TeX - LaTeX Stack Exchange\"></div><a href=\"https://tex.stackexchange.com/questions/760993/plain-tex-to-latex-conversion\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:85 }); posts_hot_network.click({ item_type:2, location:11 })\">\n plain TeX to LaTeX conversion\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-rpg\" title=\"Role-playing Games Stack Exchange\"></div><a href=\"https://rpg.stackexchange.com/questions/218943/is-this-time-walk-spell-well-balanced\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:122 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Is this Time Walk spell well-balanced?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-electronics\" title=\"Electrical Engineering Stack Exchange\"></div><a href=\"https://electronics.stackexchange.com/questions/767106/can-rc-circuit-be-used-to-given-mcu-gpio-pin-to-trigger-event-and-save-more-powe\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:135 }); posts_hot_network.click({ item_type:2, location:11 })\">\n can RC circuit be used to given MCU GPIO pin to trigger event and save more power that dissipating through pulldown resistor?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-hermeneutics\" title=\"Biblical Hermeneutics Stack Exchange\"></div><a href=\"https://hermeneutics.stackexchange.com/questions/115380/how-to-reconcile-2-corinthians-510-with-god-remembering-sins-no-more\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:320 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How to reconcile 2 Corinthians 5:10 with God \u201cremembering sins no more\u201d?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-hermeneutics\" title=\"Biblical Hermeneutics Stack Exchange\"></div><a href=\"https://hermeneutics.stackexchange.com/questions/115366/what-does-hemin-ho-logos-mean-in-hebrews-413\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:320 }); posts_hot_network.click({ item_type:2, location:11 })\">\n What does \"hemin ho logos\" mean in Hebrews 4:13?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-law\" title=\"Law Stack Exchange\"></div><a href=\"https://law.stackexchange.com/questions/114405/supplier-demands-more-money-to-fulfil-an-order-already-paid-for\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:617 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Supplier demands more money to fulfil an order already paid for\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-electronics\" title=\"Electrical Engineering Stack Exchange\"></div><a href=\"https://electronics.stackexchange.com/questions/767052/how-does-this-fm-modulated-123-hz-oscillator-work\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:135 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How does this FM modulated 123\u202fHz oscillator work?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-diy\" title=\"Home Improvement Stack Exchange\"></div><a href=\"https://diy.stackexchange.com/questions/329614/how-can-i-improve-this-drywall-patch\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:73 }); posts_hot_network.click({ item_type:2, location:11 })\">\n How can I improve this drywall patch?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-physics\" title=\"Physics Stack Exchange\"></div><a href=\"https://physics.stackexchange.com/questions/870201/why-we-can-have-fields-without-sources\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:151 }); posts_hot_network.click({ item_type:2, location:11 })\">\n Why we can have fields without sources?\n </a>\n\n </li>\n <li class=\"dno js-hidden\">\n <div class=\"favicon favicon-askubuntu\" title=\"Ask Ubuntu\"></div><a href=\"https://askubuntu.com/questions/1564938/usr-lib-x86-64-linux-gnu-gimp-3-0-plug-ins-file-jpeg-file-jpeg-fatal-error-se\" class=\"js-gps-track question-hyperlink mb0\" data-gps-track=\"site.switch({ item_type:11, target_site:89 }); posts_hot_network.click({ item_type:2, location:11 })\">\n /usr/lib/x86_64-linux-gnu/gimp/3.0/plug-ins/file-jpeg/file-jpeg: fatal error: Segmentation fault\n </a>\n\n </li>\n </ul>\n\n <a href=\"#\" class=\"show-more js-show-more js-gps-track\" data-gps-track=\"posts_hot_network.click({ item_type:3, location:11 })\">\n more hot questions\n </a>\n</div> <div id=\"feed-link\" class=\"js-feed-link\">\n <a href=\"/feeds/question/25806351\" title=\"Feed of this question and its answers\">\n <svg aria-hidden=\"true\" class=\"fc-orange-400 svg-icon iconRss\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z\"></path></svg>\n Question feed\n </a>\n </div>\n <aside class=\"s-modal js-feed-link-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"feed-modal-title\" aria-describedby=\"feed-modal-description\" aria-hidden=\"true\">\n <div class=\"s-modal--dialog js-modal-dialog wmx4\" role=\"document\" data-controller=\"se-draggable\">\n <h1 class=\"s-modal--header fw-bold js-first-tabbable\" id=\"feed-modal-title\" data-se-draggable-target=\"handle\" tabindex=\"0\">\n Subscribe to RSS\n </h1>\n <div class=\"d-flex gs4 gsy fd-column\">\n <div class=\"flex--item\">\n <label class=\"d-block s-label c-default\" for=\"feed-url\">\n Question feed\n <p class=\"s-description mt2\" id=\"feed-modal-description\">To subscribe to this RSS feed, copy and paste this URL into your RSS reader.</p>\n </label>\n </div>\n <div class=\"d-flex ps-relative\">\n <input class=\"s-input\" type=\"text\" name=\"feed-url\" id=\"feed-url\" readonly=\"readonly\" value=\"https://stackoverflow.com/feeds/question/25806351\">\n <svg aria-hidden=\"true\" class=\"s-input-icon fc-orange-400 svg-icon iconRss\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z\"></path></svg>\n </div>\n </div>\n <a class=\"s-modal--close s-btn s-btn__muted js-modal-close js-last-tabbable\" href=\"#\" aria-label=\"Close\">\n <svg aria-hidden=\"true\" class=\"svg-icon iconClearSm\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z\"></path></svg>\n </a>\n </div>\n </aside>\n\n</div>\n\n </div>\n\n<script>StackExchange.ready(function(){$.get('/posts/25806351/ivc/8e04?prg=f307d765-d01b-48fb-816f-3a0cff26f007');});</script>\n<noscript><div><img src=\"/posts/25806351/ivc/8e04?prg=f307d765-d01b-48fb-816f-3a0cff26f007\" class=\"dno\" alt=\"\" width=\"0\" height=\"0\"></div></noscript><div style=\"display:none\" id=\"js-codeblock-lang\"></div>\n <div id=\"js-follow-ups-flag-modal\"><aside role=\"dialog\" class=\"s-modal\" aria-hidden=\"true\" aria-labelledby=\"follow-ups-flag-modal-title\" aria-describedby=\"follow-ups-flag-modal-description\"><div role=\"document\" class=\"s-modal--dialog ps-relative ws5\"><h1 class=\"s-modal--header\" id=\"follow-ups-flag-modal-title\"><!---->Why are you flagging this comment?<!----></h1> <div class=\"s-modal--body\" id=\"follow-ups-flag-modal-description\"><fieldset class=\"s-check-group mt8\"><div class=\"s-check-control\"><input class=\"s-radio\" type=\"radio\" name=\"flag-reason\" id=\"CommentProbableSpam\" value=\"45\"> <label class=\"s-label\" for=\"CommentProbableSpam\">Probable spam. <p class=\"s-description\">This comment promotes a product, service or website while <a href=\"/help/promotion\">failing to disclose the author's affiliation</a>.<!----></p></label> <!----><!----></div><!----> <div class=\"s-check-control\"><input class=\"s-radio\" type=\"radio\" name=\"flag-reason\" id=\"CommentRudeOrOffensive\" value=\"20\"> <label class=\"s-label\" for=\"CommentRudeOrOffensive\">Unfriendly or contains harassment/bigotry/abuse. <p class=\"s-description\">This comment is unkind, insulting or attacks another person or group. Learn more in our <a href=\"/conduct/abusive-behavior\">Abusive behavior policy</a>.<!----></p></label> <!----><!----></div><!----> <div class=\"s-check-control\"><input class=\"s-radio\" type=\"radio\" name=\"flag-reason\" id=\"CommentNoLongerNeeded\" value=\"39\"> <div class=\"d-flex fd-column g12 fl-grow1\"><label class=\"s-label\" for=\"CommentNoLongerNeeded\">Not needed. <p class=\"s-description\">This comment is not relevant to the post.</p></label> <div class=\"d-flex fd-column g8 d-none\"><div class=\"d-flex ai-center ps-relative w100\"><textarea class=\"s-textarea ws-pre-wrap break-word hmx3 lh-lg ps-absolute i0 h100 svelte-ttdarg\" rows=\"1\" id=\"no-longer-needed-text-input\" placeholder=\"e.g., \u201cThis comment has nothing to do with the post.\u201d (optional)\"></textarea> <pre aria-hidden=\"true\" class=\"s-textarea ws-pre-wrap break-word hmx3 lh-lg v-hidden overflow-hidden svelte-ttdarg\"><br></pre></div><!----> <span class=\"fs-caption fc-black-400\">Enter at least 6 characters</span><!----></div> <!----><!----></div></div> <div class=\"s-check-control\"><input class=\"s-radio\" type=\"radio\" name=\"flag-reason\" id=\"CommentOther\" value=\"19\"> <div class=\"d-flex fd-column g12 fl-grow1\"><label class=\"s-label\" for=\"CommentOther\">Something else. <p class=\"s-description\">A problem not listed above. Try to be as specific as possible.</p></label> <div class=\"d-flex fd-column g8 d-none\"><div class=\"d-flex ai-center ps-relative w100\"><textarea class=\"s-textarea ws-pre-wrap break-word hmx3 lh-lg ps-absolute i0 h100 svelte-ttdarg\" rows=\"1\" id=\"other-text-input\" placeholder=\"e.g., \u201cThis comment says my question is spam, even though it\u2019s not.\u201d\"></textarea> <pre aria-hidden=\"true\" class=\"s-textarea ws-pre-wrap break-word hmx3 lh-lg v-hidden overflow-hidden svelte-ttdarg\"><br></pre></div><!----> <span class=\"fs-caption fc-black-400\">Enter at least 6 characters</span><!----></div> <!----><!----></div></div></fieldset><!----></div> <div class=\"d-flex g8 s-modal--footer\"><div class=\"d-flex jc-space-between g8 ai-center w100\"><div><!----><button class=\"s-btn flex--item s-btn__filled\" data-testid=\"confirm-button\"><!----><!---->Flag comment</button><!----> <!----><button class=\"s-btn flex--item\"><!----><!---->Cancel</button><!----></div> <span class=\"fc-black-400\">You have 0 flags left today</span><!----></div><!----></div><!----> <!----><button class=\"s-btn s-modal--close s-btn__muted s-btn__icon\" aria-label=\"Close\"><!----><!----><!----><svg aria-hidden=\"true\" class=\"modal-close svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"></path></svg></button><!----></div></aside></div>\n <div id=\"js-follow-ups-mention\"></div>\n</div>\n\n\n\n\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/questions/show.en.js?v=fd2a34b4878f\"></script>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"entry-points/questions/show.mod\">{\"doMarkObsolete\":false,\"doTimeOnPage\":false,\"sendAnswerEditorEventsToAEH\":true,\"sendAnswerEditorEventsToPrizm\":true,\"questionId\":25806351,\"sendAuthQuestionVisitToAEH\":false,\"sendAuthQuestionVisitToPrizm\":false,\"answerCount\":3,\"followUpsUIExperimentGroup\":\"excluded\",\"tags\":[\"google-chrome\",\"google-chrome-extension\",\"frontend\",\"pagespeed\",\"pagespeed-insights\"]}</script>\n\n\n\n\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte-labs.en.js?v=bc7112df14a4\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1130.en.js?v=8bb363934465\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/6457.en.js?v=341577cbad05\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/1383.en.js?v=fb8605a674b1\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2458.en.js?v=33cc3da05f78\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/2269.en.js?v=17778cad1acb\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/9986.en.js?v=e08f19c49de1\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/follow-ups.en.js?v=01f88a90936e\"></script>\n\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/follow-ups-flag-modal.en.js?v=21c3d99e84ac\"></script>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/follow-ups-flag-modal/index.mod\">{\"ContainerElementId\":\"js-follow-ups-flag-modal\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"ShowSpamFlag\":true,\"MergeUnfriendlyAndRudeFlags\":true,\"EnableCodeOfConduct\":true}</script>\n\n\n<div id=\"js-follow-ups-experiment-group\" data-value=\"test\" class=\"d-none\" data-site-url=\"\"></div>\n\n\n\n<div id=\"redirect-action-modal-container\"><div class=\"redirect-modal-wrapper\"><div class=\"redirect-modal-wrapper svelte-3dcwtb\"><aside role=\"dialog\" class=\"s-modal\" aria-hidden=\"true\" aria-labelledby=\"upvote-redirect-action-modal-title\" aria-describedby=\"upvote-redirect-action-modal-description\"><div role=\"document\" class=\"s-modal--dialog wmx4 p0\"><h1 class=\"s-modal--header\" id=\"upvote-redirect-action-modal-title\"><div class=\"mrn24\"><img class=\"w100\" alt=\"Illustration of upvote icon after it is clicked\" src=\"https://stackoverflow.com/Content/Img/modal/img-upvote.png?v=fce73bd9724d\"></div><!----></h1> <div class=\"s-modal--body\" id=\"upvote-redirect-action-modal-description\"><div class=\"mx32 mt24\"><h1 class=\"fs-title fw-bold mb16 fc-black-600\">Hang on, you can't upvote just yet.<!----></h1> <p class=\"fs-body2\">You'll need to complete a few actions and gain 15 reputation points\n before being able to upvote. <strong>Upvoting</strong> indicates when questions and answers are useful. <a class=\"s-link s-link__underlined s-link__muted\" href=\"https://stackoverflow.com/help/whats-reputation\">What's reputation and how do I get it?</a></p> <p class=\"fs-body2\">Instead, you can save this post to reference later.</p><!----></div><!----></div> <div class=\"d-flex g8 s-modal--footer\"><div class=\"w100 mx32 d-flex fd-column ai-center\"><!----><button class=\"s-btn w100 mb4 s-btn__filled s-btn__icon\"><!----><!----><!----><!----><!----><svg aria-hidden=\"true\" class=\"svg-icon iconBookmarkAlt\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"m9 10.6 4 2.66V3H5v10.26zM3 17V3c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v14l-6-4z\"></path></svg><!----> Save this post for later</button><!----> <!----><button class=\"s-btn w100 mb32\"><!----><!----><!---->Not now</button><!----></div><!----></div><!----> <!----><button class=\"s-btn s-modal--close s-btn__muted s-btn__icon\" aria-label=\"Close\"><!----><!----><!----><svg aria-hidden=\"true\" class=\"modal-close svg-icon iconClear\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><path d=\"M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z\"></path></svg></button><!----></div></aside><!----></div><!----></div><!----></div>\n<script type=\"application/json\" data-role=\"module-args\" data-module-name=\"islands/redirect-action-modal/index.mod\">{\"ContainerElementId\":\"redirect-action-modal-container\",\"FKey\":\"9959b8008c9ae4d0ecb50ba55277430051a596b138ec5da06bb8218070ded22e\",\"UpvoteHeaderImageUrl\":\"https://stackoverflow.com/Content/Img/modal/img-upvote.png?v=fce73bd9724d\",\"DownvoteHeaderImageUrl\":\"https://stackoverflow.com/Content/Img/modal/img-downvote.png?v=d15b4e291f8c\",\"EnableUpvoteModal\":true,\"SuggestEditAvailable\":true,\"PostTagNames\":[\"google-chrome\",\"google-chrome-extension\",\"frontend\",\"pagespeed\",\"pagespeed-insights\"],\"EnableFreeVotesModal\":false,\"FreeVotesHeaderImageUrl\":\"https://stackoverflow.com/Content/Img/modal/img-free-votes.png?v=1c5aa3dac50b\",\"FreeVotesEarnReputationHelpCenterUrl\":\"https://stackoverflow.com/help/whats-reputation\",\"FreeVotesLearnMoreHelpCenterUrl\":\"https://stackoverflow.com/help/whats-free-votes\",\"HasUpvotePrivilege\":false,\"EnableDownVoteRepRequiredRedirectActionPopover\":true,\"AnswerDownVoteRepChange\":1}</script>\n<script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/svelte.en.js?v=2ecf98975a24\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/webpack-chunks/stacks-svelte.en.js?v=65950a122a42\"></script><script defer=\"\" src=\"https://stackoverflow.com/Content/Js/islands/redirect-action-modal.en.js?v=257fd22971c2\"></script>\n\n </div>\n </div>\n\n \n\n \n <footer id=\"footer\" class=\"site-footer js-footer theme-light__forced\" role=\"contentinfo\">\n <div class=\"site-footer--container\">\n <div class=\"site-footer--logo\">\n\n <a href=\"https://stackoverflow.com\" aria-label=\"Stack Overflow\"><svg aria-hidden=\"true\" class=\"fc-black-300 svg-icon iconGlyphNewMd\" width=\"32\" height=\"38\" viewBox=\"0 0 32 38\"><path fill=\"currentColor\" d=\"m27.36 20.12.05.03-.01.02za23 23 0 0 0-3.03 5.1l-.04.09Q23.14 28 22.71 31v.03a23 23 0 0 0-.06 5.98H0V31h19.66q.05-.38.12-.74L.85 25.25l1.58-5.81 19.17 5.07.27-.57-17.2-9.81 3.04-5.2 17.46 9.94.43-.48L11.29 4.26l4.3-4.25 14.54 14.35 1.54 1.52a23 23 0 0 0-4.31 4.24\"></path></svg></a>\n </div>\n <nav class=\"site-footer--nav\" aria-label=\"Footer\">\n <div class=\"site-footer--col\">\n <h5 class=\"-title\"><a href=\"https://stackoverflow.com\" class=\"js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 15})\">Stack Overflow</a></h5>\n <ul class=\"-list js-primary-footer-links\">\n <li><a href=\"/questions\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 16})\">Questions</a></li>\n <li><a href=\"/help\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 3 })\">Help</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 5 })\" href=\"https://chat.stackoverflow.com/?tab=explore\">Chat</a></li>\n </ul>\n </div>\n <div class=\"site-footer--col\">\n <h5 class=\"-title\"><a href=\"https://stackoverflow.co/\" class=\"js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 19 })\">Business</a></h5>\n <ul class=\"-list\">\n <li><a href=\"https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=teams\" class=\"js-gps-track -link\" data-ga=\"["teams traffic","footer - site nav","stackoverflow.com/teams",null,{"dimension4":"teams"}]\" data-gps-track=\"footer.click({ location: 2, link: 29 })\">Stack Internal</a></li>\n <li><a href=\"https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=data-licensing\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 44 })\">Stack Data Licensing</a></li>\n <li><a href=\"https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=advertising\" class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 21 })\">Stack Ads</a></li>\n </ul>\n </div>\n <div class=\"site-footer--col\">\n <h5 class=\"-title\"><a class=\"js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 1 })\" href=\"https://stackoverflow.co/\">Company</a></h5>\n <ul class=\"-list\">\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 1 })\" href=\"https://stackoverflow.co/\">About</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 27 })\" href=\"https://stackoverflow.co/company/press/\">Press</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 9 })\" href=\"https://stackoverflow.co/company/work-here/\">Work Here</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 7 })\" href=\"https://stackoverflow.com/legal\">Legal</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 8 })\" href=\"https://stackoverflow.com/legal/privacy-policy\">Privacy Policy</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 37 })\" href=\"https://stackoverflow.com/legal/terms-of-service/public\">Terms of Service</a></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 13 })\" href=\"/contact\">Contact Us</a></li>\n <li id=\"consent-footer-link\"><button type=\"button\" data-controller=\"cookie-settings\" data-action=\"click->cookie-settings#toggle\" class=\"s-btn s-btn__link py4 js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 38 })\" data-consent-popup-loader=\"footer\">\nYour Privacy Choices <svg aria-hidden=\"true\" class=\"svg-icon iconCCPA\" width=\"29\" height=\"14\" viewBox=\"0 0 29 14\"><path fill=\"#06F\" d=\"M6.95 0h15.1A7 7 0 0 1 29 7c0 3.9-3.08 7-6.95 7H6.95A6.93 6.93 0 0 1 0 7c0-3.9 3.08-7 6.95-7m0 1.2A5.8 5.8 0 0 0 1.2 7c0 3.2 2.58 5.8 5.76 5.8h6.76l3.07-11.6zm17.08 3.6c.2-.2.2-.6 0-.8a.6.6 0 0 0-.79 0l-2.19 2.2L18.87 4a.6.6 0 0 0-.8 0c-.2.2-.2.6 0 .8l2.2 2.2-2.09 2.2c-.2.2-.2.6 0 .8s.6.2.8 0l2.18-2.2 2.19 2.2c.2.2.6.2.8 0s.2-.6 0-.8L21.93 7zM12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7a.6.6 0 0 1 0-.8c.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0\"></path></svg> </button></li>\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link: 39 })\" href=\"https://policies.stackoverflow.co/stack-overflow/cookie-policy\">Cookie Policy</a></li>\n </ul>\n </div>\n <div class=\"site-footer--col site-footer--categories-nav\">\n <div>\n <h5 class=\"-title\"><a href=\"https://stackexchange.com\" data-gps-track=\"footer.click({ location: 2, link: 30 })\">Stack Exchange Network</a></h5>\n <ul class=\"-list\">\n <li>\n <a href=\"https://stackexchange.com/sites#technology\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Technology\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#culturerecreation\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Culture & recreation\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#lifearts\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Life & arts\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#science\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Science\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#professional\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Professional\n </a>\n </li>\n <li>\n <a href=\"https://stackexchange.com/sites#business\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Business\n </a>\n </li>\n\n <li class=\"mt16 md:mt0\">\n <a href=\"https://api.stackexchange.com/\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n API\n </a>\n </li>\n\n <li>\n <a href=\"https://data.stackexchange.com/\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 24 })\">\n Data\n </a>\n </li>\n </ul>\n </div>\n </div>\n </nav>\n <div class=\"site-footer--copyright fs-fine md:mt24\">\n <ul class=\"-list -social md:mb8\">\n <li><a class=\"js-gps-track -link\" data-gps-track=\"footer.click({ location: 2, link:4 })\" href=\"https://stackoverflow.blog?blb=1\">Blog</a></li>\n <li><a href=\"https://www.facebook.com/officialstackoverflow/\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 31 })\">Facebook</a></li>\n <li><a href=\"https://twitter.com/stackoverflow\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 32 })\">Twitter</a></li>\n <li><a href=\"https://linkedin.com/company/stack-overflow\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 33 })\">LinkedIn</a></li>\n <li><a href=\"https://www.instagram.com/thestackoverflow\" class=\"-link js-gps-track\" data-gps-track=\"footer.click({ location: 2, link: 36 })\">Instagram</a></li>\n </ul>\n\n <p class=\"md:mb0\">\n <span>Site design / logo \u00a9 2026 Stack Exchange Inc; </span>\n <span>user contributions licensed under </span>\n <a class=\"-link s-link td-underline\" href=\"https://stackoverflow.com/help/licensing\">CC BY-SA</a>\n <span>. </span>\n <span id=\"svnrev\">rev 2026.3.18.41202</span>\n </p>\n </div>\n </div>\n\n </footer>\n\n\n \n\n\n\n <script>\n window.dataLayer = window.dataLayer || [];\n function gtag() { dataLayer.push(arguments); }\n\n gtag('consent', 'default', {\n 'ad_storage': 'denied',\n 'analytics_storage': 'denied',\n 'ad_user_data': 'denied',\n 'ad_personalization': 'denied'\n });\n </script>\n <!-- Google tag (gtag.js) -->\n <script async=\"\" src=\"https://www.googletagmanager.com/gtag/js?id=G-WCZ03SZFCQ\"></script>\n <script>\n window.dataLayer = window.dataLayer || [];\n function gtag() { dataLayer.push(arguments); }\n </script>\n <script>\n function initGa() {\n var customGA4Dimensions = {};\n\n\n customGA4Dimensions[\"requestid\"] = \"f307d765-d01b-48fb-816f-3a0cff26f007\";\n\n customGA4Dimensions[\"routename\"] = \"Questions/Show\";\n\n\n customGA4Dimensions[\"post_id\"] = \"25806351\";\n\n\n customGA4Dimensions[\"tags\"] = \"|google-chrome|google-chrome-extension|frontend|pagespeed|pagespeed-insights|\";\n\n\n var ga4Settings = {\n tracker: gtag,\n trackingCodes: [\n 'G-WCZ03SZFCQ'\n ],\n consentsToPerformanceCookies: \"denied\",\n consentsToTargetingCookies: \"denied\",\n eventParameters: customGA4Dimensions,\n checkForAdBlock: true,\n sendTitles: true,\n trackClicks: false,\n };\n\n StackExchange.ga.init({ GA4: ga4Settings });\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", initGa);\n } else {\n initGa();\n }\n </script>\n\n \n <script type=\"text/javascript\">\n var cam = cam || { opt: {} };\n var clcGamLoaderOptions = cam || { opt: {} };\n var opt = clcGamLoaderOptions.opt;\n\n opt.omni = 'BwoLCLaK9JqF64I_EAUYj4ynDCACKAI6TXxnb29nbGUtY2hyb21lfGdvb2dsZS1jaHJvbWUtZXh0ZW5zaW9ufGZyb250ZW5kfHBhZ2VzcGVlZHxwYWdlc3BlZWQtaW5zaWdodHN8SAA6zqiyNGFPmd0r';\n\n opt.refresh = !1;\n opt.refreshInterval = 30;\n opt.sf = !0;\n opt.hb = !1;\n opt.ll = !0;\n opt.tlb_position = 0;\n\n opt.personalization_consent = false;\n opt.targeting_consent_set = false;\n opt.performance_consent_set = false;\n opt.targeting_consent = false;\n opt.performance_consent = false;\n\n opt.targeting = {Registered:['false'],Reputation:['new'],Moderator:['false'],'so-tag':['google-chrome','google-chrome-extension','frontend','pagespeed','pagespeed-insights'],'tag-reportable':['google-chrome','google-chrome-extension','frontend','pagespeed','pagespeed-insights'],NumberOfAnswers:['3'],cf_bot_score:'91 - 99'};\n opt.acceptableAdsEnabled = !0;\n opt.adReportEnabled = !0;\n opt.adReportUrl = '/ads/report-ad';\n opt.adReportText = 'Report this ad';\n\topt.adReportFileTypeErrorMessage = 'Please select a PNG or JPG file.';\n opt.adReportFileSizeErrorMessage = 'The file must be under 2 MiB.';\n\topt.adReportErrorText = 'Error uploading ad report.';\n\topt.adReportThanksText = 'Thanks for your feedback. We\u2019ll review this against our code of conduct and take action if necessary.';\n opt.adReportLoginExpiredMessage = 'Your login session has expired, please login and try again.';\n opt.adReportLoginErrorMessage = 'An error occurred when loading the report form - please try again';\n\topt.adReportModalClass = 'js-ad-report';\n opt.countryCode = 'US';\n opt.hasOptedOut = false;\n opt.forcingGam = false;\n opt.qualtricsSurveyData = '{\"isRegistered\":\"False\",\"repBucket\":\"new\",\"referrer\":\"https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-pagespeed-insights-by-google-results\",\"accountAge\":\"0\"}';\n\n opt.reducedAdsPrivilege = false;\n\n opt.perRequestGuid = 'f307d765-d01b-48fb-816f-3a0cff26f007';\n opt.responseHash = 'qHvM2R+OkufnjasPhSqnCz1ilOovW4Kz9iVz6KrVJCI=';\n\n\n opt.targeting.TargetingConsent = ['False_Passive'];\n opt.allowAccountTargetingForThisRequest = !0;\n\n const urlParams = new URLSearchParams(window.location.search);\n if (urlParams.has('dfptestads')) {\n const dfptestads = urlParams.get('dfptestads');\n opt.targeting.DfpTestAds = dfptestads;\n }\n\n\n\n opt.targeting.loader_script = 'longitude';\n</script>\n<script>;(()=>{\"use strict\";var __webpack_modules__={23:(e,t,s)=>{s.d(t,{Qc:()=>m,Z7:()=>h,eq:()=>g,kG:()=>c,ll:()=>u,xQ:()=>l,ys:()=>r,z0:()=>p});const n=\"248424177\",a=r(location.pathname),o=\"ai-assist\";function r(e){return/^\\/tags\\//.test(e)||/^\\/questions\\/tagged\\//.test(e)?\"tag-pages\":/^\\/discussions\\//.test(e)||/^\\/beta\\/discussions/.test(e)?\"discussions\":/^\\/$/.test(e)||/^\\/home/.test(e)?\"home-page\":/^\\/ai-assist/.test(e)?\"ai-assist\":/^\\/jobs$/.test(e)||/^\\/jobs\\//.test(e)?\"jobs\":\"question-pages\"}let i=location.hostname;const d={slots:{lb:[[728,90]],mlb:[[728,90]],smlb:[[728,90]],bmlb:[[728,90]],sb:e=>\"dfp-tsb\"===e?[[300,250],[300,600]]:[[300,250]],\"tag-sponsorship\":[[730,135]],\"mobile-below-question\":[[320,50],[300,250]],msb:[[300,250],[300,600]],\"talent-conversion-tracking\":[[1,1]],\"site-sponsorship\":[[230,60]],\"native-question\":[\"fluid\"]},ids:{\"dfp-tlb\":\"lb\",\"dfp-mlb\":\"mlb\",\"dfp-smlb\":\"smlb\",\"dfp-bmlb\":\"bmlb\",\"dfp-tsb\":\"sb\",\"dfp-isb\":\"sb\",\"dfp-tag\":\"tag-sponsorship\",\"dfp-msb\":\"msb\",\"dfp-sspon\":\"site-sponsorship\",\"dfp-nativequestion-*\":\"native-question\",\"dfp-m-aq\":\"mobile-below-question\"},idsToExcludeFromAdReports:[\"dfp-sspon\"]};function l(){return o}function c(){return Object.keys(d.ids)}function g(e){return d.idsToExcludeFromAdReports.indexOf(e)<0}function p(e){return e.indexOf(\"/native-question/\")>=0}function m(){return(/^beta\\./.test(location.hostname)||\"localhost\"===location.hostname)&&/^\\/?$/.test(location.pathname)}function h(e,t){var s=e.split(\"_\")[0],o=d.ids[s];if(!o)for(var r=Object.keys(d.ids),l=0;l<r.length;l++)if(r[l].indexOf(\"*\")>=0){var c=r[l].substring(0,r[l].length-1);s.indexOf(c)>=0&&(o=d.ids[r[l]])}let g=d.slots[o];\"function\"==typeof g&&(g=g(s));var p=t||i;return\"beta.stackoverflow.com\"===p&&(p=\"stackoverflow.com\"),{path:`/${n}/${p}/${o}/${a}`,sizes:g,zone:o}}function u(){for(var e=[\"dfp-tlb\",\"dfp-mlb\",\"dfp-smlb\",\"dfp-bmlb\"],t=0;t<e.length;t++){var s=document.getElementById(e[t]);s&&s.parentNode.remove()}}},865:(e,t,s)=>{function n(e){return\"string\"==typeof e?document.getElementById(e):e}function a(e){return!!(e=n(e))&&\"none\"===getComputedStyle(e).display}function o(e){return!a(e)}function r(e){return!!e}function i(e){return/^\\s*$/.test(n(e).innerHTML)}function d(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight=\"auto\",t.display=\"none\",[].forEach.call(e.children,d)}function l(e){const t=document.createElement(\"script\");t.src=e,document.body.appendChild(t)}function c(e){return s=e,(t=[]).push=function(e){return s(),delete this.push,this.push(e)},t;var t,s}function g(e){let t=\"function\"==typeof HTMLTemplateElement;var s=document.createElement(t?\"template\":\"div\");return e=e.trim(),s.innerHTML=e,t?s.content.firstChild:s.firstChild}s.d(t,{Bv:()=>g,Gx:()=>l,Nj:()=>n,QZ:()=>c,pn:()=>o,wo:()=>d,xb:()=>i,xj:()=>a,yb:()=>r})},147:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{t:()=>AdReports});var _common_helper__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(865),_console__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(406),_ad_units__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(23);window.googletag=window.googletag||{cmd:[]};class AdReports{constructor(e){this.cam=e,this.allowedFileTypes=[\"image/png\",\"image/jpg\",\"image/jpeg\"],this.ignoreValidation=!1,_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Ad reporting init\"),googletag.cmd.push(()=>{if(this.cam=e,this.callOnButtonClick=e=>this.onButtonClick(e),googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.handleSlotRendered(e)),Array.isArray(e.slotsRenderedEvents)){_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Adding report button to \"+e.slotsRenderedEvents.length+\" events that have transpired\");for(var t=0;t<e.slotsRenderedEvents.length;t++)this.handleSlotRendered(e.slotsRenderedEvents[t])}})}handleSlotRendered(e){if(e&&e.slot&&!e.isEmpty&&(e.creativeId||e.lineItemId||!e.isEmpty)){var t=e.slot.getSlotElementId(),s=e.slot.getAdUnitPath();if(t){var n=document.getElementById(t);if(n)if((0,_ad_units__WEBPACK_IMPORTED_MODULE_0__.eq)(t)){var a=n?.closest(\".js-zone-container\"),o=n?.closest(\".js-zone-container\")?.querySelector(\".js-report-ad-button-container\");o?(o.innerHTML=\"\",o.append(this.createButton(e)),o.style.height=\"24px\",_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Added report button to the bottom of \"+t)):_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Ad report button not found, may be intentional, element: \"+t),a&&(0,_ad_units__WEBPACK_IMPORTED_MODULE_0__.z0)(s)&&(a.classList.add(\"bb\"),a.classList.add(\"mt24\"))}else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of \"+t+\": shouldHaveReportButton = false\");else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of \"+t+\": resolved invalid adUnit element\")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of element: invalid adUnitElementId\")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM(\"Not adding report button to the bottom of element: invalid SlotRenderEndedEvent\")}async onButtonClick(e){e.preventDefault();let t=e.target;const s=t.dataset.modalUrl,n=t.dataset.googleEventData;return await this.loadModal(s,t,n),!1}createButton(e){let t=document.createElement(\"button\");var s=JSON.stringify(e);return t.dataset.googleEventData=s,t.dataset.modalUrl=this.cam.opt.adReportUrl,t.dataset.adUnit=e.slot.getSlotElementId(),t.classList.add(\"js-report-ad\",\"s-btn\",\"s-btn__link\",\"fs-fine\",\"mt2\",\"float-right\"),t.append(document.createTextNode(this.cam.opt.adReportText)),t.removeEventListener(\"click\",this.callOnButtonClick),t.addEventListener(\"click\",this.callOnButtonClick),t}async loadModal(url,$link,googleEventData){try{await window.StackExchange.helpers.loadModal(url,{returnElements:window.$($link)}),this.initForm(googleEventData)}catch(e){var message=\"\",response=e.responseText?eval(`(${e.responseText})`):null;message=response&&response.isLoggedOut?this.cam.opt.adReportLoginExpiredMessage:this.cam.opt.adReportLoginErrorMessage,window.StackExchange.helpers.showToast(message,{type:\"danger\"})}}removeModal(){window.StackExchange.helpers.closePopups(document.querySelectorAll(\".\"+this.cam.opt.adReportModalClass),\"dismiss\")}initForm(e,t=!1){this.ignoreValidation=t,this.$form=document.querySelector(\".js-ad-report-form\"),this.$googleEventData=this.$form.querySelector(\".js-json-data\"),this.$adReportReasons=this.$form.querySelectorAll(\".js-ad-report-reason\"),this.$adReportReasonOther=this.$form.querySelector(\".js-ad-report-reason-other\"),this.$fileUploaderInput=this.$form.querySelector(\".js-file-uploader-input\"),this.$imageUploader=this.$form.querySelector(\".js-image-uploader\"),this.$clearImageUpload=this.$form.querySelector(\".js-clear-image-upload\"),this.$imageUploaderText=this.$form.querySelector(\".js-image-uploader-text\"),this.$imageUploaderPreview=this.$form.querySelector(\".js-image-uploader-preview\"),this.$fileErrorMessage=this.$form.querySelector(\".js-file-error\");const s=this.$form.querySelector(\".js-drag-drop-enabled\"),n=this.$form.querySelector(\".js-drag-drop-disabled\");this.$googleEventData.value=e,this.$adReportReasons.forEach((e,t)=>e.addEventListener(\"change\",e=>{this.$adReportReasonOther.classList.toggle(\"d-none\",\"3\"!==e.target.value)})),this.$fileUploaderInput.addEventListener(\"change\",()=>{this.validateFileInput()&&this.updateImagePreview(this.$fileUploaderInput.files)}),this.$clearImageUpload.addEventListener(\"click\",e=>{e.preventDefault(),this.clearImageUpload()});try{this.$fileUploaderInput[0].value=\"\",this.$imageUploader.addEventListener(\"dragenter dragover dragleave drop\",this.preventDefaults),this.$imageUploader.addEventListener(\"dragenter dragover\",this.handleDragStart),this.$imageUploader.addEventListener(\"dragleave drop\",this.handleDragEnd),this.$imageUploader.addEventListener(\"drop\",this.handleDrop)}catch(e){s.classList.add(\"d-none\"),n.classList.remove(\"d-none\")}this.$form.removeEventListener(\"\",this.handleDragEnd),this.$form.addEventListener(\"submit\",async e=>(e.preventDefault(),this.submitForm(),!1))}clearImageUpload(){this.$fileUploaderInput.value=\"\",this.$imageUploaderPreview.setAttribute(\"src\",\"\"),this.$imageUploaderPreview.classList.add(\"d-none\"),this.$clearImageUpload.classList.add(\"d-none\"),this.$imageUploaderText.classList.remove(\"d-none\"),this.$imageUploader.classList.add(\"p16\",\"ba\",\"bas-dashed\",\"bc-black-100\")}preventDefaults(e){e.preventDefault(),e.stopPropagation()}handleDragStart(e){this.$imageUploader.classList.remove(\"bas-dashed\"),this.$imageUploader.classList.add(\"bas-solid\",\"bc-black-100\")}handleDragEnd(e){this.$imageUploader.classList.remove(\"bas-solid\",\"bc-black-100\"),this.$imageUploader.classList.add(\"bas-dashed\")}handleDrop(e){var t=e.originalEvent.dataTransfer.files;FileReader&&t&&1===t.length&&(this.$fileUploaderInput.files=t,this.validateFileInput()&&this.updateImagePreview(t))}setError(e){this.$fileErrorMessage.parentElement.classList.toggle(\"has-error\",e)}updateImagePreview(e){this.$imageUploader.classList.remove(\"p16\",\"ba\",\"bas-dashed\",\"bc-black-100\"),this.$clearImageUpload.classList.remove(\"d-none\"),this.$imageUploaderText.classList.add(\"d-none\");var t=new FileReader;t.onload=e=>{null!=e.target&&(this.$imageUploaderPreview.setAttribute(\"src\",e.target.result),this.$imageUploaderPreview.classList.remove(\"d-none\"))},t.readAsDataURL(e[0])}validateFileInput(){if(this.ignoreValidation)return!0;const e=this.cam.opt.adReportFileTypeErrorMessage,t=this.cam.opt.adReportFileSizeErrorMessage;if(null==this.$fileUploaderInput.files)return!1;var s=this.$fileUploaderInput.files[0];return null==s?(this.setError(!0),!1):this.allowedFileTypes.indexOf(s.type)<0?(this.$fileErrorMessage.textContent=e,this.$fileErrorMessage.classList.remove(\"d-none\"),this.setError(!0),!1):s.size>2097152?(this.$fileErrorMessage.textContent=t,this.$fileErrorMessage.classList.remove(\"d-none\"),this.setError(!0),!1):(this.$fileErrorMessage.classList.add(\"d-none\"),this.setError(!1),!0)}async gatherDiagnosticInfo(){return{BrowserVersion:await this.getBrowserVersion()}}getElementSource(e){return e.outerHTML}getNestedIFrameElement(e){var t=e.querySelector(\"iframe\");return t.contentDocument?t.contentDocument.documentElement:t.contentWindow.document.documentElement}async getBrowserVersion(){try{return await window.navigator.userAgentData.getHighEntropyValues([\"fullVersionList\"]).then(e=>JSON.stringify(e.fullVersionList))}catch(e){return\"\"}}async submitForm(){if(!this.validateFileInput())return!1;this.$form.querySelector(\"[type=submit]\").setAttribute(\"disabled\",\"true\");var e=JSON.parse(this.$googleEventData.value||\"{}\");e.Reason=parseInt(this.$form.querySelector(\".js-ad-report-reason:checked\").value,10),e.Description=this.$adReportReasonOther.value,this.$googleEventData.value=JSON.stringify(e);var t=new FormData(this.$form);if(\"1\"===t.get(\"shareDiagnosticInfo\")){var s=await this.gatherDiagnosticInfo();Object.keys(s).forEach(e=>t.append(e,s[e]))}try{const e=await window.fetch(this.$form.getAttribute(\"action\"),{method:this.$form.getAttribute(\"method\"),body:t,cache:\"no-cache\"}),s=e.headers.get(\"content-type\")||\"\",a=await e.text();if(!e.ok)throw new Error(\"response not valid\");if(0===s.indexOf(\"text/html\")){var n=(0,_common_helper__WEBPACK_IMPORTED_MODULE_2__.Bv)(a);const e=n?n.querySelector(\".js-modal-content\"):null;if(_console__WEBPACK_IMPORTED_MODULE_1__.cM(\"$popupContent\"),_console__WEBPACK_IMPORTED_MODULE_1__.cM(e),!e)throw new Error(`Could not find .js-modal-content in response from ${this.$form.getAttribute(\"action\")}`);document.querySelector(\".js-modal-content\").replaceWith(e)}else window.StackExchange.helpers.showToast(this.cam.opt.adReportThanksText,{type:\"success\"}),this.removeModal()}catch(e){window.StackExchange.helpers.showToast(this.cam.opt.adReportErrorText,{type:\"danger\"})}finally{let e=this.$form.querySelector(\"[type=submit]\");e&&e.removeAttribute(\"disabled\")}}}},406:(e,t,s)=>{function n(...e){}function a(...e){}s.d(t,{cM:()=>n,vU:()=>a})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var s=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](s,s.exports,__webpack_require__),s.exports}__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};(()=>{var e=__webpack_require__(406),t=(e=>(e[e.Above=0]=\"Above\",e[e.Below=1]=\"Below\",e))(t||{});const s=Object.assign({},{\"lib\":\"https://clc.stackoverflow.com/Content/bundles/js/longitude_loader_script.bundle.435.0190fd42175b12299d8f.js?v=857612375a1a\",\"style\":null,\"u\":null,\"wa\":true,\"kt\":2000,\"tto\":true,\"h\":\"clc.stackoverflow.com\",\"allowed\":\"^(((talent\\\\.|beta\\\\.)?stackoverflow)|(blog\\\\.codinghorror)|(serverfault|askubuntu)|([^\\\\.]+\\\\.stackexchange))\\\\.com$\",\"wv\":true,\"al\":false,\"abd\":true,\"cpa_liid\":[5882654614],\"cpa_cid\":[138377597667],\"dp\":false,\"tgt_to\":1000,\"tgt_u\":\"http://clc.stackoverflow.com/get-user-acct-tgt\",\"tgt_e\":true,\"tgt_p\":100,\"dv_enabled\":false,\"gpt_enabled\":false,\"upo\":\"\"});var n=__webpack_require__(23),a=__webpack_require__(865);window.googletag=window.googletag||{cmd:[]};class o{constructor(t){this.cam=t,e.cM(\"AcceptableAds init\"),window.googletag.cmd.push(()=>{if(this.cam=t,window.googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.handleSlotRendered(e)),Array.isArray(t.slotsRenderedEvents)){e.cM(\"Adding report button to \"+t.slotsRenderedEvents.length+\" events that have transpired\");for(var s=0;s<t.slotsRenderedEvents.length;s++)this.handleSlotRendered(t.slotsRenderedEvents[s])}})}handleSlotRendered(t){if(!window.abp)return;if(!function(e){return!(!e||!e.slot)}(t))return void e.cM(\"Not adding Acceptable Ads overlay: invalid SlotRenderEndedEvent... no event and/or slot\");if(!function(t){const s=t.slot.getSlotElementId();if(!s)return e.cM(\"Not adding report button to the bottom of element: invalid adUnitElementId\"),!1;const n=document.getElementById(s);return n?!((t.isEmpty||!t.creativeId&&!t.lineItemId&&t.isEmpty)&&0===n.innerHTML.trim().length):(e.cM(\"Not adding report button to the bottom of \"+s+\": adUnit element not found\"),!1)}(t))return void e.cM(\"Not adding Acceptable Ads overlay: No ad rendered\");const s=t.slot.getSlotElementId(),n=document.getElementById(s);e.cM(\"Adding Acceptable Ads overlay to \"+s),this.createAcceptableAdsOverlayDiv(n)}createAcceptableAdsOverlayDiv(e){let t=document.createElement(\"div\");return t.append(document.createTextNode(\"AD\")),t.style.position=\"absolute\",t.style.top=\"1px\",t.style.left=\"1px\",t.style.padding=\"6px\",t.style.background=\"rgba(255,255,255,0.7)\",t.style.color=\"#444\",t.style.fontSize=\"10px\",t.style.fontWeight=\"bold\",t.style.fontFamily=\"sans-serif\",t.style.zIndex=\"4000\",e.parentElement.appendChild(t),e.parentElement.style.isolation=\"isolate\",e.parentElement.style.position=\"relative\",t}}var r=__webpack_require__(147),i=(e=>(e.Off=\"Off\",e.PreSurvey=\"PreSurvey\",e.Collect=\"Collect\",e.PostSurvey=\"PostSurvey\",e))(i||{});class d{constructor(e,t){this.lineItemImpressions=[],this.surveysIdsCompleted=[],this.lineItemImpressions=e,this.surveysIdsCompleted=t}addImpression(e,t){let s={brandId:e,lineItemId:t,timestamp:new Date};this.lineItemImpressions.push(s)}addBrandSurveyCompleted(e){-1===this.surveysIdsCompleted.indexOf(e)&&this.surveysIdsCompleted.push(e)}getTotalBrandImpressions(){let e=new Map;for(let t of this.lineItemImpressions)if(e.has(t.brandId)){let s=e.get(t.brandId);e.set(t.brandId,s+1)}else e.set(t.brandId,1);return e}getBrandLineItemImpressions(e){let t={};for(let s of this.lineItemImpressions)if(s.brandId==e)if(void 0!==t[s.lineItemId]){let e=t[s.lineItemId];t[s.lineItemId]=e+1}else t[s.lineItemId]=1;return t}}class l{constructor(){this.surveyEngagementLocalStorageKey=\"clc-survey-engagement\"}getBrandSurveyEngagement(){let e=localStorage.getItem(this.surveyEngagementLocalStorageKey);if(null===e)return new d([],[]);let t=JSON.parse(e);return new d(t.lineItemImpressions,t.surveysIdsCompleted)}saveBrandSurveyEngagement(e){let t=JSON.stringify(e);localStorage.setItem(this.surveyEngagementLocalStorageKey,t)}}class c{constructor(){this.surveyRepository=new l}getBrandSurveyEngagement(){return this.surveyRepository.getBrandSurveyEngagement()}recordImpression(e,t){let s=this.getBrandSurveyEngagement();s.addImpression(e,t),this.surveyRepository.saveBrandSurveyEngagement(s)}recordBrandSurveyCompleted(e){let t=this.getBrandSurveyEngagement();t.addBrandSurveyCompleted(e),this.surveyRepository.saveBrandSurveyEngagement(t)}}window.googletag=window.googletag||{cmd:[]};class g{constructor(t){this.brandSettings=t,this.brandSlotMap=new Map,this.brandSurveyEngagementService=new c,e.cM(\"Brand Survey init: \"+JSON.stringify(t)),void 0!==t?googletag.cmd.push(()=>{googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.handleSlotRendered(e)),googletag.pubads().addEventListener(\"impressionViewable\",e=>this.onImpressionViewable(e)),e.cM(\"done enabling Brand Survey\")}):e.cM(\"Brand Survey init: brandSettings is undefined, not initializing\")}handleSlotRendered(t){e.cM(\"Brand Survey - slot rendered - slot:\"+JSON.stringify(t.slot.getSlotElementId())+\" lineItem: \"+t.lineItemId);let s=this.findItemWithId(t.lineItemId);if(null===s||s.mode!==i.Collect)this.brandSlotMap.delete(t.slot.getSlotElementId());else{let e={brandId:s.brandId,lineItemId:t.lineItemId};this.brandSlotMap.set(t.slot.getSlotElementId(),e)}}onImpressionViewable(t){let s=t.slot;if(e.cM(\"ad - Brand Survey - impression viewable. Details: \"+JSON.stringify(s.getSlotElementId())),e.cM(\"ad - Brand Survey - slot \"+s.getSlotElementId()+\" is viewable\"),this.brandSlotMap.has(s.getSlotElementId())){let t=this.brandSlotMap.get(s.getSlotElementId());e.cM(\"Brand Survey - brand \"+t.brandId+\" is viewable\"),this.recordImpression(this.brandSlotMap.get(s.getSlotElementId()))}}recordImpression(t){e.cM(\"ad - Brand Survey - recording impression for brand \"+t.brandId),this.brandSurveyEngagementService.recordImpression(t.brandId,t.lineItemId)}findItemWithId(t){return e.cM(\"brand settings: \"+JSON.stringify(this.brandSettings)),this.brandSettings.find(e=>e.lineItemIds.includes(t))||null}}const p=\"response-brand-survey-submit|\",m=\"request-brand-survey-metadata|\",h=\"record-metric-on-server|\",u=\"request-dsp-tags\",f=\"response-dsp-tags|\";window.googletag=window.googletag||{cmd:[]};class v{constructor(t){this.interval=t,e.cM(\"Ad refresh init. interval: \"+t),googletag.cmd.push(()=>{googletag.pubads().addEventListener(\"impressionViewable\",e=>this.onImpressionViewable(e)),e.cM(\"done enabling ad refresh\")})}onImpressionViewable(t){var s=t.slot,a=s.getAdUnitPath();e.cM(\"Should we refresh ad slot \"+s.getSlotElementId()+\" \"+s.getAdUnitPath()+\"?\"),(0,n.z0)(a)?e.cM(\"Not scheduling refresh for slot \"+s.getSlotElementId()+\", path \"+a):(e.cM(\"ad refresh - slot \"+s.getSlotElementId()+\" is viewable, initializing refresh\"),this.scheduleRefresh(s))}scheduleRefresh(e){setTimeout(()=>this.refreshAdSlot(e),1e3*this.interval)}static refreshMyAd(t){googletag.cmd.push(()=>{let s=googletag.pubads().getSlots().find(e=>e.getSlotElementId()===t);s&&(e.cM(\"refreshMyAd - refreshing ad slot \"+t),googletag.pubads().refresh([s]))})}static removeMyAd(t){googletag.cmd.push(()=>{let s=googletag.pubads().getSlots().find(e=>e.getSlotElementId()===t);s&&(e.cM(\"removeMyAd - destroying ad slot \"+t),googletag.destroySlots([s]))})}refreshAdSlot(t){var s=t.getSlotElementId();this.isElementVisibleInBrowser(s)?(e.cM(\"refreshing ad slot \"+s),t.setTargeting(\"Refresh\",\"true\"),googletag.pubads().refresh([t])):(e.cM(\"refresh skipped this time; ad slot not viewable:\"+s),this.scheduleRefresh(t))}isElementVisibleInBrowser(e){var t=document.getElementById(e);if(null!==t){var s=t.getBoundingClientRect();if(s.top>=0&&s.left>=0&&s.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&s.right<=(window.innerWidth||document.documentElement.clientWidth))return!0}return!1}}class _{static refreshAdIfBrandSurveyIsDuplicated(e,t){if(this.alreadyCompletedThisBrandSurvey(e)){var s=document.getElementById(t).closest(\".js-zone-container\");v.removeMyAd(t),s&&s.remove()}}static alreadyCompletedThisBrandSurvey(e){return(new c).getBrandSurveyEngagement().surveysIdsCompleted.includes(e)}}window.googletag=window.googletag||{cmd:[]};window.cam=new class{constructor(t=null){if(this.gptImported=!1,this.slotsRenderedEvents=[],this.collapsed={},e.cM(\"constructor\"),this.clc_options=s,window.clcGamLoaderOptions)Object.assign(this,window.clcGamLoaderOptions);else if(void 0===this.opt){let e=window.opt;e&&(this.opt=e)}var a=(0,n.ys)(location.pathname);this.disableInitialLoad=a==(0,n.xQ)()||(0,n.Qc)(),this.opt.reducedAdsPrivilege&&(0,n.ll)()}init(){if(e.cM(\"init\"),void 0===this.opt)throw new Error(\"opt not set, required by GAM Loader\");e.cM(\"init brand survey service\"),this.getUserMetaPromise=this.getUserMeta(),e.cM(\"setup message handler\"),window.addEventListener(\"message\",e=>{this.onmessage(e)})}handleSlotRenderedNoAdReport(){googletag.cmd.push(()=>{if(googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.applyExtraMarginBottom(e)),Array.isArray(this.slotsRenderedEvents))for(var e=0;e<this.slotsRenderedEvents.length;e++)this.applyExtraMarginBottom(this.slotsRenderedEvents[e])})}onmessage(t){let s=\"omni\";if(t.data&&(\"string\"==typeof t.data||t.data instanceof String))if(0===t.data.indexOf(\"get-omni-\")){e.cM(\"Recevied get-omni message, sending back omni\");var n=t.source,o=this.opt.omni,r=\"string\"==typeof o?o:\"\";n.postMessage([s,r,this.opt.perRequestGuid].join(\"|\"),\"*\")}else if(0===t.data.indexOf(\"collapse-\")){e.cM(\"Recevied collapse message, collapse ad iframe\"),e.cM(t);for(var i=t.source.window,d=document.getElementsByTagName(\"IFRAME\"),l=0;l<d.length;l++){var g=d[l];if(g.contentWindow==i)return void(0,a.wo)(g.parentElement.parentElement.parentElement)}}else if(0===t.data.indexOf(\"resize|\")){e.cM(\"Recevied resize message, resize ad iframe\"),e.cM(t);let s=this._getFrameByEvent(t),n=t.data.indexOf(\"|\")+1,a=t.data.slice(n),o=parseFloat(a)+.5;e.cM(\"New iframe height \"+o),s.height=o.toString(),s.parentElement.style.height=o.toString()+\"px\"}else if(0===t.data.indexOf(\"getmarkup|\")){let s=t.data.indexOf(\"|\")+1,n=t.data.slice(s);e.cM(\"Recevied get markup message: \"+n);let a=this._getFrameByEvent(t).closest(\".everyonelovesstackoverflow\");const o=document.createElement(\"script\");o.dataset.adZoneId=a.id,o.src=n,document.body.appendChild(o)}else if(0===t.data.indexOf(\"window-location|\")){let s=t.data.indexOf(\"|\")+1,n=t.data.slice(s);e.cM(\"Recevied window location message: \"+n),n.startsWith(\"/\")||(n=\"/\"+n),window.open(window.location.protocol+\"//\"+window.location.host+n,\"_blank\")}else if(0===t.data.indexOf(\"request-brand-survey-submit|\")){let s=t.data.split(\"|\"),n=s[1],a=s[2],o=s[3],r=JSON.parse(o);e.cM(n),e.cM(a),e.cM(o),e.cM(\"Received brand survey \"+n+\" response message: \"+a);var v=new FormData;for(var b in r)v.append(b,r[b]);let i=this._getFrameByEvent(t);if(_.alreadyCompletedThisBrandSurvey(+n))return e.cM(\"Already completed this brand survey. Not submitting duplicate to server.\"),void i.contentWindow.postMessage(\"response-brand-survey-submit-duplicate|\",\"*\");e.cM(\"Send the brand survey to the server\"),fetch(a,{method:\"POST\",body:v}).then(e=>e.json()).then(e=>i.contentWindow.postMessage({messageType:p},\"*\")).catch(e=>i.contentWindow.postMessage({messageType:p},\"*\"))}else if(0===t.data.indexOf(\"brand-survey-completed-store|\")){let s=t.data.split(\"|\"),n=(s[1],s[2]);if(e.cM(\"Received brand survey completed store message for survey ID \"+n),_.alreadyCompletedThisBrandSurvey(+n))return void e.cM(\"Already completed this brand survey. Not recording duplicate locally.\");e.cM(\"Record brand survey completion locally\"),(new c).recordBrandSurveyCompleted(+n)}else if(0===t.data.indexOf(m)){let s=t.data.split(\"|\"),n=s[1],a=s[2];e.cM(\"Received message: \"+m+\" with Brand Survey ID \"+a);let o=(new c).getBrandSurveyEngagement().getBrandLineItemImpressions(+n),r=JSON.stringify(o),i=this._getFrameByEvent(t);e.cM(\"sending impression data: \"+r),i.contentWindow.postMessage(\"response-brand-survey-metadata|\"+this.opt.responseHash+\"|\"+this.opt.perRequestGuid+\"|\"+r+\"|\"+this.opt.countryCode+\"|\"+this.opt.qualtricsSurveyData,\"*\")}else if(0===t.data.indexOf(\"refresh-if-duplicate-brand-survey|\")){let e=t.data.split(\"|\")[1],s=this.getSlotElementIdByEvent(t);_.refreshAdIfBrandSurveyIsDuplicated(+e,s)}else if(0===t.data.indexOf(h)){e.cM(\"Received message: \"+h+\" with args: \"+t.data);let s=t.data.split(\"|\"),n=s[1],a=s[2],o=s[3],r=s[4],i=new FormData;i.append(\"brandSurveyId\",o.toString()),i.append(\"responseHash\",this.opt.responseHash),i.append(\"perRequestGuid\",this.opt.perRequestGuid),i.append(\"questionNumber\",n.toString()),i.append(\"metricType\",r.toString()),fetch(a,{method:\"POST\",body:i}).then(e=>e.ok).catch(t=>{e.cM(\"SendMetricToServer: Error sending metric to server: \"+t)})}else if(0===t.data.indexOf(u)){e.cM(\"Received message: \"+u+\" with args: \"+t.data);let s=this._getFrameByEvent(t);if(!this.opt.targeting[\"so-tag\"])return void s.contentWindow.postMessage(f,\"*\");const n=this.opt.targeting[\"so-tag\"].join(\",\");e.cM(\"sending targeting tags: \"+n),s.contentWindow.postMessage(f+n,\"*\")}else e.cM(\"Received unhandled message\")}getSlotElementIdByEvent(e){let t=this._getFrameByEvent(e),s=t.parentElement?.parentElement?.id;return s||\"\"}_getFrameByEvent(e){return Array.from(document.getElementsByTagName(\"iframe\")).filter(t=>t.contentWindow===e.source)[0]}classifyZoneIds(e){const t=e.map(a.Nj).filter(a.yb);return{eligible:t.filter(a.xb).filter(a.pn),ineligible:t.filter(a.xj)}}applyExtraMarginBottom(t){if(t&&t.slot&&!t.isEmpty&&(t.creativeId||t.lineItemId||!t.isEmpty)){var s=t.slot.getSlotElementId();if(s){var a=document.getElementById(s);if(a)if((0,n.eq)(s)){var o=a?.closest(\".js-zone-container\");o.style.marginBottom=\"24px\",e.cM(\"Applied extra margin to the bottom of \"+s)}else e.cM(\"Not applying extra margin to the bottom of \"+s+\": shouldHaveReportButton = false\");else e.cM(\"Not applying extra margin to the bottom of \"+s+\": resolved invalid adUnit element\")}else e.cM(\"Not applying extra margin to the bottom of element: invalid adUnitElementId\")}else e.cM(\"Not applying extra margin to the bottom of element: invalid SlotRenderEndedEvent\")}async load(s=(0,n.kG)()){if(this.opt.tlb_position,t.Above,this.disableInitialLoad)return e.cM(\"Initial load of ads disabled\"),void(this.disableInitialLoad=!1);if(!this.isGptReady())return e.cM(\"Initializing...\"),this.initGpt(),void googletag.cmd.push(()=>this.load(s));this.opt.acceptableAdsEnabled&&(e.cM(\"Acceptable Ads enabled\"),this.acceptableAds=new o(this)),this.opt.adReportEnabled?(e.cM(\"Ad reporting enabled\"),this.adReports=new r.t(this)):(e.cM(\"Ad reporting not enabled\"),this.handleSlotRenderedNoAdReport()),this.opt.brandSurveyEnabled&&(e.cM(\"Brand Survey enabled\"),this.brandSurvey=new g(this.opt.brandSurveySettings)),e.cM(\"Attempting to load ads into ids: \",s);const{eligible:a,ineligible:i}=this.classifyZoneIds(s);this.initDebugPanel(googletag,a.concat(i)),e.cM(\"Eligible ids:\",a),this.opt.abd&&this.appendAdblockDetector(),cam.sreEvent||(googletag.pubads().addEventListener(\"slotRenderEnded\",e=>this.onSlotRendered(e)),cam.sreEvent=!0),await this.setTargeting()}async setTargeting(){cam.targetingParams={};let t=this.opt.targeting;if(!t)throw new Error(\"Targeting not defined (is \"+typeof t+\")\");Object.keys(t).forEach(s=>{e.cM(`-> targeting - ${s}: ${t[s]}`),cam.targetingParams[s]=t[s]});let s=(new c).getBrandSurveyEngagement();if(s.getTotalBrandImpressions().forEach((t,s)=>{e.cM(`-> targeting - BrandImpressions: ${s}: ${t}`),cam.targetingParams[\"brand_\"+s.toString()+\"_impressions\"]=t.toString()}),s.surveysIdsCompleted.forEach(t=>{e.cM(`-> targeting - SurveysTaken: ${t}`),cam.targetingParams[\"survey_\"+t+\"_taken\"]=\"true\"}),this.clc_options.tgt_e&&this.getUserMetaPromise){let t=await this.getUserMetaPromise;t&&t.tgt_acct?(e.cM(\"-> targeting - User Account: \"+t.tgt_acct),cam.targetingParams[\"user-acct\"]=t.tgt_acct.company_name,cam.targetingParams.user_acct_top=t.tgt_acct.company_name,cam.targetingParams.user_industry=t.tgt_acct.industry,cam.targetingParams.user_employee_count=t.tgt_acct.employee_range):e.cM(\"-> targeting - User Account: Not Found\"),t&&Object.prototype.hasOwnProperty.call(t,\"is_high_rep_earner\")?(e.cM(\"-> targeting - High Rep Earner: \"+t.is_high_rep_earner),cam.targetingParams.IsHighRepEarner=t.is_high_rep_earner?\"true\":\"false\"):e.cM(\"-> targeting - High Rep Earner: not found\")}cam.targetingParams.aa=window.abp?\"true\":\"false\"}appendAdblockDetector(){const e=document.createElement(\"div\");e.className=\"adsbox\",e.id=\"clc-abd\",e.style.position=\"absolute\",e.style.pointerEvents=\"none\",e.innerHTML=\" \",document.body.appendChild(e)}onSlotRendered(s){try{const r=s.slot.getSlotElementId();let i=[];r||i.push(\"id=0\");const d=document.getElementById(r);if(r&&!d&&i.push(\"el=0\"),0!==i.length)return void this.stalled(i.join(\"&\"));const{path:l,sizes:c,zone:g}=(0,n.Z7)(r,this.clc_options.upo);if(this.collapsed[g]&&s.isEmpty)return e.cM(`No line item for the element #${d.id}... collapsing.`),void(0,a.wo)(d);if(this.slotsRenderedEvents.push(s),s.lineItemId||s.creativeId||!s.isEmpty){e.cM(`Rendered ad for element #${d.id} [line item #${s.lineItemId}]`),e.cM(s);var o=d.parentElement;if(o.classList.contains(\"js-zone-container\"))switch(r){case\"dfp-tlb\":this.opt.tlb_position===t.Above?o.classList.add(\"mb8\"):o.classList.add(\"mt16\");break;case\"dfp-tag\":o.classList.add(\"mb8\");break;case\"dfp-msb\":o.classList.add(\"mt16\");break;case\"dfp-mlb\":case\"dfp-smlb\":case\"dfp-bmlb\":o.classList.add(\"my8\");break;case\"dfp-isb\":o.classList.add(\"mt24\");break;case\"dfp-m-aq\":o.classList.add(\"my12\"),o.classList.add(\"mx-auto\")}else e.cM(`No ad for element #${d.id}`),e.cM(s)}}catch(t){e.cM(\"Exception thrown onSlotRendered\"),e.cM(t),this.stalled(\"e=1\")}}stalled(e){(new Image).src=`https://${this.clc_options.h}/stalled.gif?${e}`}importGptLibrary(){if(!this.gptImported){this.gptImported=!0;var e=[\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GB\",\"GR\",\"HU\",\"IS\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"NO\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\"].indexOf(this.opt.countryCode)>=0;this.opt.targeting_consent||!this.opt.targeting_consent_set&&!e?(0,a.Gx)(\"https://securepubads.g.doubleclick.net/tag/js/gpt.js\"):(0,a.Gx)(\"https://pagead2.googlesyndication.com/tag/js/gpt.js\")}}importDvLibrary(){this.clc_options.dv_enabled&&(e.cM(\"Adding DoubleVerify library\"),(0,a.Gx)(\"https://pub.doubleverify.com/dvtag/21569774/DV1289064/pub.js\"),e.cM(\"Adding DoubleVerify onDvtagReady handler\"),window.onDvtagReady=function(t,s=750){e.cM(\"DoubleVerify onDvtagReady called\"),window.dvtag=window.dvtag||{},dvtag.cmd=dvtag.cmd||[];const n={callback:t,timeout:s,timestamp:(new Date).getTime()};dvtag.cmd.push(function(){dvtag.queueAdRequest(n)}),setTimeout(function(){const e=n.callback;n.callback=null,e&&e()},s)})}isGptReady(){return\"undefined\"!=typeof googletag&&!!googletag.apiReady}initGpt(){\"undefined\"==typeof googletag?window.googletag={cmd:(0,a.QZ)(()=>{this.clc_options.gpt_enabled&&this.importGptLibrary(),this.importDvLibrary()})}:(this.clc_options.gpt_enabled&&this.importGptLibrary(),this.importDvLibrary())}getUserMeta(){if(this.opt.allowAccountTargetingForThisRequest&&this.clc_options.tgt_e&&this.clc_options.tgt_p>0){if(e.cM(\"Targeting enabled.\"),this.clc_options.tgt_p<100){e.cM(\"Targeting rate limit enabled. Rolling the dice...\");const t=Math.floor(100*Math.random())+1;if(e.cM(\"Rolled \"+t+\" and the max is \"+this.clc_options.tgt_p),t>this.clc_options.tgt_p)return void e.cM(\"Will not request targeting.\")}return e.cM(\"Will request targeting.\"),function(e,t,s,n){if(t){const t=new Headers;return t.append(\"Accept\",\"application/json\"),async function(e,t={},s=5e3){if(\"number\"!=typeof s&&null!=s&&!1!==s){if(\"string\"!=typeof s)throw new Error(\"fetchWithTimeout: timeout must be a number\");if(s=parseInt(s),isNaN(s))throw new Error(\"fetchWithTimeout: timeout must be a number (or string that can be parsed to a number)\")}const n=new AbortController,{signal:a}=n,o=fetch(e,{...t,signal:a}),r=setTimeout(()=>n.abort(),s);try{const e=await o;return clearTimeout(r),e}catch(e){throw clearTimeout(r),e}}(s+\"?\"+new URLSearchParams({omni:e}),{method:\"GET\",mode:\"cors\",headers:t},n).then(e=>e.json())}return Promise.reject(\"No consent\")}(this.opt.omni,this.opt.targeting_consent,this.clc_options.tgt_u,this.clc_options.tgt_to).catch(t=>{e.vU(\"Error fetching user account targeting\"),e.vU(t)})}e.cM(\"Targeting disabled. Will not request account targeting data.\")}initDebugPanel(t,s){e.cM(\"initDebugPanel\"),e.cM(\"Not showing debug panel.\")}},window.clcGamLoaderOptions&&(cam.init(),cam.load())})()})();</script> <script type=\"text/javascript\" src=\"https://lngtd.com/stackoverflow.js\"></script>\n\n\n\n\n\n \n <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML=\"window.__CF$cv$params={r:'9debc8ffa8550ed2',t:'MTc3MzkxNjA1Mi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);\";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>\n \n</body></html>",
"cookies": [
{
"domain": ".stackoverflow.com",
"expires": 1805452053.154511,
"httpOnly": true,
"name": "prov",
"path": "/",
"sameSite": "None",
"secure": true,
"value": "7b860bbf-5075-40e1-b05c-8d190f25e01d"
},
{
"domain": "stackoverflow.com",
"expires": 1773998850.915068,
"httpOnly": true,
"name": "__cflb",
"path": "/",
"sameSite": "Lax",
"secure": false,
"value": "02DiuFA7zZL3enAQJD3AX8ZzvyzLcaG7usvZUxpFMUGLc"
},
{
"domain": ".stackoverflow.com",
"expires": 1773917850.915427,
"httpOnly": true,
"name": "__cf_bm",
"path": "/",
"sameSite": "None",
"secure": true,
"value": ".hlCO3Rwb.YG_wcc28BBhmMKJA69SahaqNJZGggGICw-1773916050-1.0.1.1-GIBx3aJwS0phaKeuAUrO1c0UGuBxq8ynyDGaHFM3wJjWlt_95kNL6h6OCdMzt7qaFFoVHU4D0csPghr8DjIr65jkgjit4xReWFa.7Z5dhMk"
},
{
"domain": ".stackoverflow.com",
"expires": -1,
"httpOnly": true,
"name": "_cfuvid",
"path": "/",
"sameSite": "None",
"secure": true,
"value": "b7r03mtq0MGHvzrkKCaEwG2rNLC5g_6cv_c339sVUGI-1773916050935-0.0.1.1-604800000"
},
{
"domain": "i.sstatic.net",
"expires": 1773998851.735693,
"httpOnly": true,
"name": "__cflb",
"path": "/",
"sameSite": "None",
"secure": true,
"value": "02DiuFdC8D2AfgnKtXMUmzVbW4BokvZcW4ZNUEJQ1As32"
},
{
"domain": ".i.sstatic.net",
"expires": 1773917851.847024,
"httpOnly": true,
"name": "__cf_bm",
"path": "/",
"sameSite": "None",
"secure": true,
"value": "5D_87JkIhIaJp3JI_XPHVfHYskODscn558tNbIOgwBQ-1773916051-1.0.1.1-Pj.F2IsWfQOX7ZZVvHz6u3DkIYzbncUKm8cyNaJpt1gqp2ODiywUKdHD2lab6I3MIkex5qGIEEuuRaI27o8SGDqlSOFyUCQ20tfF_MAMEP8"
},
{
"domain": ".i.sstatic.net",
"expires": -1,
"httpOnly": true,
"name": "_cfuvid",
"path": "/",
"sameSite": "None",
"secure": true,
"value": "YqgHvZgZVJIgX5x3PqckI3JGKnOWKUdE_R2uH76ND1s-1773916051786-0.0.1.1-604800000"
}
],
"errors": null,
"final_url": "https://stackoverflow.com/questions/25806351/export-pagespeed-insights-by-google-results",
"headers": {
"cache-control": "private",
"cf-cache-status": "DYNAMIC",
"cf-ray": "9debc8f5efaf0ed2-ORD",
"content-encoding": "gzip",
"content-security-policy": "upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com; script-src 'self' 'unsafe-eval'",
"content-type": "text/html; charset=utf-8",
"date": "Thu, 19 Mar 2026 10:27:30 GMT",
"feature-policy": "microphone 'none'; speaker 'none'",
"server": "cloudflare",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"vary": "Accept-Encoding",
"x-clacks-overhead": "GNU Terry Pratchett",
"x-dns-prefetch-control": "off",
"x-frame-options": "SAMEORIGIN",
"x-request-guid": "5ce54aa9-ba9c-4662-a875-614ada17bd67",
"x-worker-origin-response-time": "54000000"
},
"id": null,
"scraper_data": null,
"scraperouter": null,
"screenshot_url": null,
"status_code": 200
}
Page Title
Export PageSpeed Insights (by Google) results - Stack Overflow
#
****
By clicking “Sign up”, you agree to our [terms of service](/legal/terms-of-
service/public) and acknowledge you have read our [privacy
policy](/legal/privacy-policy).
Sign up with Google
Sign up with GitHub
# OR
Email
Password
Sign up
Already have an account? [Log in](/users/login)
Skip to main content
[ ](https://stackoverflow.com "Stack Overflow")
1. [ About ](https://stackoverflow.co/)
2. Products
3. [ For Teams ](https://stackoverflow.co/internal/)
4. Try new site Try BETA
1. [ Stack Internal Implement a knowledge platform layer to power your enterprise and AI tools. ](https://stackoverflow.co/internal/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-for-teams)
2. [ Stack Data Licensing Get access to top-class technical expertise with trusted & attributed content. ](https://stackoverflow.co/data-licensing/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-api)
3. [ Stack Ads Connect your brand to the world’s most trusted technologist communities. ](https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-advertising)
4. [ Releases Keep up-to-date on features we add to Stack Overflow and Stack Internal. ](https://stackoverflow.blog/releases/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=releases)
5. [About the company](https://stackoverflow.co/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=about-the-company) [Visit the blog](https://stackoverflow.blog/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=blog)
Loading…
1. ### [current community](https://stackoverflow.com)
* [ Stack Overflow ](https://stackoverflow.com)
[help](https://stackoverflow.com/help)
[chat](https://chat.stackoverflow.com/?tab=explore)
* [ Meta Stack Overflow ](https://meta.stackoverflow.com)
### your communities
[Sign
up](https://stackoverflow.com/users/signup?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-
pagespeed-insights-by-google-results) or [log
in](https://stackoverflow.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f25806351%2fexport-
pagespeed-insights-by-google-results) to customize your list.
### [more stack exchange com