1<!doctype html> 2<html lang="en" data-theme="the-post"> 3 <head> 4 <meta charset="utf-8" /> 5 <title>The Post</title> 6 7 <base href="/"> 8 <link rel="preload" href="assets/fonts/Stuff-Sans.css" as="style" /> 9 <link rel="preload" href="assets/fonts/Fjalla-One-Sans.css" as="style" /> 10 11 <link 12 href="assets/fonts/Stuff-Display.css" 13 rel="stylesheet" 14 media="print" 15 onload="this.media='all'" 16 onerror="this.media='all'" 17 /> 18 <link 19 href="assets/fonts/Stuff-Sans-Condensed.css" 20 rel="stylesheet" 21 media="print" 22 onload="this.media='all'" 23 onerror="this.media='all'" 24 /> 25 <link 26 href="assets/fonts/Stuff-Sans-Wide.css" 27 rel="stylesheet" 28 media="print" 29 onload="this.media='all'" 30 onerror="this.media='all'" 31 /> 32 <link href="assets/fonts/Stuff-Sans.css" rel="stylesheet" /> 33 <link 34 href="assets/fonts/Stuff-Text.css" 35 rel="stylesheet" 36 media="print" 37 onload="this.media='all'" 38 onerror="this.media='all'" 39 /> 40 <link href="assets/fonts/Fjalla-One-Sans.css" rel="stylesheet" /> 41 42 <noscript> 43 <link href="assets/fonts/Stuff-Display.css" rel="stylesheet" /> 44 <link href="assets/fonts/Stuff-Sans-Condensed.css" rel="stylesheet" /> 45 <link href="assets/fonts/Stuff-Sans-Wide.css" rel="stylesheet" /> 46 <link href="assets/fonts/Stuff-Text.css" rel="stylesheet" /> 47 </noscript> 48 49 <meta content="light" name="color-scheme" /> 50 <meta 51 content="#0d0d0d" 52 media="(prefers-color-scheme: light)" 53 name="theme-color" 54 /> 55 <meta 56 content="#0d0d0d" 57 media="(prefers-color-scheme: dark)" 58 name="theme-color" 59 /> 60 <meta 61 content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes" 62 name="viewport" 63 /> 64 <meta content="telephone=no" name="format-detection" /> 65 <meta content="no" name="msapplication-tap-highlight" /> 66 67 <link crossorigin="use-credentials" href="/manifest.json" rel="manifest" /> 68 <link 69 href="assets/icon/Favicon-Post-192x192.png" 70 rel="icon" 71 sizes="192x192" 72 /> 73 74 <link 75 href="assets/icon/Favicon-Post-32x32.png" 76 rel="shortcut icon" 77 type="image/png" 78 /> 79 80 <!-- add to homescreen for ios --> 81 <meta content="yes" name="mobile-web-app-capable" /> 82 <meta content="The Post" name="apple-mobile-web-app-title" /> 83 <meta content="black" name="apple-mobile-web-app-status-bar-style" /> 84 85 <meta 86 content="87Dh_4Ph_kq3Lw1HFrxYVXYgomDfTawU5QPB0hFxn0M" 87 name="google-site-verification" 88 /> 89 90 <meta content="width=device-width, initial-scale=1" name="viewport" /> 91 92
92<script src="https://assets.news.stuff.co.nz/feature-flags/feature-flag.js"></script>
92 93 <!-- High-priority TOP ad bidders --> 94 <link 95 rel="preconnect" 96 href="https://securepubads.g.doubleclick.net" 97 crossorigin 98 /> 99 <link 100 rel="preconnect" 101 href="https://pagead2.googlesyndication.com" 102 crossorigin 103 /> 104 <link rel="preconnect" href="https://js-sec.indexww.com" crossorigin /> 105 <link rel="preconnect" href="https://prebid.adnxs.com" crossorigin /> 106 <link rel="preconnect" href="https://gumgum.com" crossorigin /> 107 <link rel="preconnect" href="https://bidder.teads.tv" crossorigin /> 108 <link rel="preconnect" href="https://xandr.com" crossorigin /> 109 <link 110 rel="preconnect" 111 href="https://prebid-server.rubiconproject.com" 112 crossorigin 113 /> 114 <link rel="preconnect" href="https://www.googletagmanager.com" /> 115 <link rel="preconnect" href="https://ads-api.stuff.co.nz" crossorigin /> 116 <link 117 rel="preconnect" 118 href="https://ads-api.news.stuff.co.nz" 119 crossorigin 120 /> 121 122 <!-- GPT Early Load: pre-load GPT script so it's ready when the SDK needs it --> 123
123<script> 124 (function () { 125 // Only run on web, not native app 126 var isNativeApp = 127 window.webkit && 128 window.webkit.messageHandlers && 129 window.webkit.messageHandlers.nativeApp; 130 if (isNativeApp) return; 131 132 // Initialize GPT command queue (SDK will use this when it loads) 133 window.googletag = window.googletag || { cmd: [] }; 134 135 // Guard against double injection. Prebid (loaded later by the ads SDK) 136 // also injects gpt.js internally. Check for any existing
136<script> 137 // whose src matches the GPT URL so we catch both our own tag and 138 // any tag Prebid may have already created. 139 var GPT_SRC = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; 140 var scripts = document.getElementsByTagName('script'); 141 for (var i = 0; i < scripts.length; i++) { 142 if (scripts[i].src === GPT_SRC) return; 143 } 144 145 // Load GPT script with high priority â this is the key optimisation. 146 // By loading GPT in <head> instead of waiting for the SDK bundle, 147 // GPT is already available when the SDK initialises, saving ~2-3s. 148 var gptScript = document.createElement('script'); 149 gptScript.src = GPT_SRC; 150 gptScript.async = true; 151 gptScript.setAttribute('fetchpriority', 'high'); 152 document.head.appendChild(gptScript); 153 })(); 154 </script>
154 155 156 <!-- Lower priority (dns-prefetch only) --> 157 <link rel="dns-prefetch" href="//static.criteo.net" /> 158 <link rel="dns-prefetch" href="//secure.adnxs.com" /> 159 <link rel="dns-prefetch" href="//as.casalemedia.com" /> 160 <link rel="dns-prefetch" href="//as-sec.casalemedia.com" /> 161 <link rel="dns-prefetch" href="//www.googletagservices.com" /> 162 <link rel="dns-prefetch" href="//www.google-analytics.com" /> 163 <link rel="dns-prefetch" href="//adservice.google.com" /> 164 <link rel="dns-prefetch" href="//fastlane.rubiconproject.com" /> 165 <link rel="dns-prefetch" href="//a.teads.tv" /> 166 <link rel="dns-prefetch" href="//g2.gumgum.com" /> 167 <link rel="dns-prefetch" href="//rtb.openx.net" /> 168 <link rel="dns-prefetch" href="//krk2.kargo.com" /> 169 <link rel="dns-prefetch" href="//hbopenbid.pubmatic.com" /> 170 <link rel="dns-prefetch" href="//htlb.casalemedia.com" /> 171 172 <!-- Nielsen Analytics --> 173
173<script type="text/JavaScript"> 174 !function (t, n) { 175 t[n] = t[n] || { 176 nlsQ: function (e, o, c, r, s, i) { 177 return s = t.document, 178 r = s.createElement("script"), 179 r.async = 1, r.src = ("http:" === t.location.protocol ? "http:" : "https:") + "//cdn-gl.imrworldwide.com/conf/" + e + ".js#name=" + o + "&ns=" + n, i = s.getElementsByTagName("script")[0], i.parentNode.insertBefore(r, i), 180 t[n][o] = t[n][o] || { 181 g: c || {}, ggPM: function (e, c, r, s, i) { 182 (t[n][o].q = t[n][o].q || []).push([e, c, r, s, i]); 183 } 184 }, t[n][o]; 185 } 186 }; 187 } 188 (window, "NOLBUNDLE"); 189 </script>
189 190
190<script src="https://csm.cxpublic.com/Stuff.js" async></script>
190 191 <link rel="stylesheet" href="/main.33269bf4397a08be.css"></head> 192 <body> 193 <div id="root"></div> 194
194<script src="/runtime.975d958cb298c412.js" type="module"></script>
194<script src="/main.d9b8ec2d25946518.js" type="module"></script>
194</body> 195</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.