1<!doctype html> 2<html lang="en"> 3<!-- https://res.cloudinary.com/deyqtmern/image/upload/v1741242516/apple-touch-icon_vkr5j3.png --> 4<!-- https://res.cloudinary.com/deyqtmern/image/upload/v1741242516/favicon_tvxuwc.svg --> 5<!-- https://res.cloudinary.com/deyqtmern/image/upload/v1741242516/favicon_uagxob.ico --> 6 7<head>
7<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push(i)}) 8(window,'GTM-KMN2BV59','google_tags_first_party');</script>
8<script>(function(w,d,s,l){w[l]=w[l]||[];(function(){w[l].push(arguments);})('set', 'developer_id.dY2E1Nz', true); 9 var f=d.getElementsByTagName(s)[0], 10 j=d.createElement(s);j.async=true;j.src='/gtmanalytics/'; 11 f.parentNode.insertBefore(j,f); 12 })(window,document,'script','dataLayer');</script>
12 13 <meta charset="UTF-8" /> 14 <!-- <link rel="icon" type="image/svg+xml" href="./favicon.ico" /> --> 15 <!-- <meta name="theme-color" content="#fa4a6f" /> --> 16 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 17 <meta name="apple-itunes-app" content="app-id=6747257823" /> 18 <!-- <link rel="manifest" href="manifest.webmanifest" /> --> 19 <!-- Fonts --> 20 <link rel="preconnect" href="https://fonts.googleapis.com" /> 21 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 22 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" /> 23 <link 24 href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" 25 rel="stylesheet" /> 26 <link 27 href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" 28 rel="stylesheet"> 29 30 <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate"> 31 <meta http-equiv="expires" content="0"> 32 <meta http-equiv="pragma" content="no-cache"> 33 34 <!-- AB Test Compose snippet --> 35
35<script> 36 function composeScript({ orgId, projectId }) { 37 return new Promise((resolve, reject) => { 38 window.compose = window.compose || {} 39 window.compose.customRedirect = url => { 40 history.pushState({}, '', url) 41 } 42 const script = document.createElement('script') 43 script.src = 'https://compose-scripts.s3.amazonaws.com/69258916da2e97c5fe810e2a/6925b1a4e72097230d450423.js' 44 script.onload = () => { 45 console.log('%cCompose script loaded', 'color: #1e90ff; font-weight: bold;') 46 resolve() 47 } 48 script.onerror = () => { 49 console.log('%cCompose script failed to load', 'color: #ff0000; font-weight: bold;') 50 } 51 document.head.appendChild(script) 52 }) 53 } 54 </script>
54 55 56 <!-- PWA --> 57 <!-- <link rel="apple-touch-icon" 58 href="https://res.cloudinary.com/dsyifzpau/image/upload/s--AR8q105E--/v1741700217/logos/pwa/apple-touch-icon.png" 59 sizes="180x180" /> --> 60 <!-- https://res.cloudinary.com/dsyifzpau/image/upload/s--RXD4EFqf--/v1741700362/logos/pwa/zm-apple-touch-icon.png--> 61 62 <!-- <link rel="icon" href="https://res.cloudinary.com/deyqtmern/image/upload/v1741242516/favicon_uagxob.ico" /> --> 63 <!-- <link rel="mask-icon" href="https://res.cloudinary.com/deyqtmern/image/upload/v1741242516/pwa-192x192_umtx9i.png" 64 sizes="192x192" /> --> 65 66
66<script> 67 function callDataLayer() { 68 const getGenderInitial = (gender) => { 69 if (!gender) { 70 return ''; 71 } 72 return gender == 'Male' ? 'm' : 'f'; 73 }; 74 function removeHyphens(dateStr) { 75 return dateStr?.replace(/-/g, ''); 76 } 77 // dateStr.replace(/-/g, ""); 78 function getUserFromLocalStorage() { 79 const userData = JSON.parse(localStorage.getItem('user') || null); 80 if (!userData) return null; 81 return { 82 userId: userData?.id || '', 83 email: userData?.email || '', 84 phone: userData?.phone || '', 85 // option parameters 86 gender: getGenderInitial(userData?.gender) || '', 87 firstName: userData?.name || '', 88 country: userData?.country || '', 89 state: userData?.state || '', 90 city: userData?.city || '', 91 utm_source: userData?.utm_source || '', 92 }; 93 } 94 95 function getCookie(name) { 96 const value = '; ' + document.cookie; 97 const parts = value.split('; ' + name + '='); 98 if (parts.length === 2) { 99 return parts.pop().split(';').shift() || ''; 100 } 101 return ''; 102 } 103 // Get user data from cookie 104 105 var useData = getUserFromLocalStorage(); 106 107 var fbc = getCookie('_fbc'); 108 var fbp = getCookie('_fbp'); 109 110 if (useData) { 111 try { 112 if (useData && useData.userId && useData.email) { 113 // Push user data to dataLayer 114 115 window['dataLayer'] = window['dataLayer'] || []; 116 window['dataLayer'].push({ 117 userId: useData?.userId, 118 email: useData?.email, 119 phone: useData?.phone, 120 fbc: fbc, 121 fbp: fbp, 122 123 country: useData?.country, 124 gender: useData?.gender, 125 firstName: useData?.firstName, 126 state: useData?.state, 127 city: useData?.city, 128 utm_source: useData?.utm_source, 129 }); 130 } 131 } catch (e) { } 132 } 133 } 134 callDataLayer(); 135 </script>
135 136 137 <!-- disable right-click and drag on images --> 138
138<script> 139 document.addEventListener( 140 'contextmenu', 141 function (event) { 142 event.preventDefault(); 143 return false; 144 }, 145 false 146 ); 147 document.addEventListener( 148 'dragstart', 149 function (event) { 150 if (event.target.nodeName === 'IMG') { 151 event.preventDefault(); 152 return false; 153 } 154 }, 155 false 156 ); 157 </script>
157 158 159 <!-- Reddit Pixel --> 160
160<script> 161 !function (w, d) { 162 if (!w.rdt) { 163 var p = w.rdt = function () { 164 p.sendEvent ? p.sendEvent.apply(p, arguments) : p.callQueue.push(arguments); 165 }; 166 p.callQueue = []; 167 var t = d.createElement("script"); 168 t.src = "https://www.redditstatic.com/ads/pixel.js"; 169 t.async = true; 170 var s = d.getElementsByTagName("script")[0]; 171 s.parentNode.insertBefore(t, s); 172 } 173 }(window, document); 174 rdt('init', 'a2_fgbh58ffjgdm'); 175 rdt('track', 'PageVisit'); 176 </script>
176 177 <!-- DO NOT MODIFY UNLESS TO REPLACE A USER IDENTIFIER --> 178 <!-- End Reddit Pixel --> 179 180
180<script type="module" crossorigin src="/assets/index-DJL08Sm5.js"></script>
180 181 <link rel="stylesheet" crossorigin href="/assets/index-CRoE8aag.css"> 182</head> 183 184<body id="body"> 185 <div id="root"></div> 186 187 <!-- PWA hidden Button --> 188
188<script> 189 function get_site_by_domain() { 190 const hostname = window.location.hostname; 191 if (hostname.startsWith('zentramatch') || hostname.startsWith('localhost')) 192 return "zm"; 193 // subdomains 194 if (hostname.startsWith('staging.zentramatch')) return "zm"; 195 196 if (hostname.startsWith('secondsutra')) return "ss"; 197 if (hostname.startsWith('staging.secondsutra')) 198 return "ss"; 199 200 // default 201 return "zm"; 202 } 203 function get_fav_icon() { 204 if (get_site_by_domain() == "ss") { 205 return "/static/logos/favicon-secondsutra.ico" 206 } 207 return "/static/logos/favicon-zentramatch.ico" 208 } 209 210 function get_theme_color() { 211 if (get_site_by_domain() == "ss") { 212 return "#de6214" 213 } 214 return "#fa4a6f" 215 } 216 217 function update_favicon_and_theme() { 218 let link = document.querySelector("link[rel~='icon']"); 219 let themeMeta = document.querySelector("meta[name='theme-color']"); 220 if (!link) { 221 link = document.createElement("link"); 222 link.rel = "icon"; 223 document.head.appendChild(link); 224 } 225 if (!themeMeta) { 226 themeMeta = document.createElement("meta"); 227 themeMeta.name = "theme-color"; 228 document.head.appendChild(themeMeta); 229 } 230 link.href = get_fav_icon(); 231 themeMeta.content = get_theme_color(); 232 } 233 update_favicon_and_theme() 234 </script>
234 235 236 <!-- Native Web View Handler --> 237
237<script> 238 (function () { 239 // 1. Grab the current URL parameters 240 const urlParams = new URLSearchParams(window.location.search); 241 const nativeView = urlParams.get('native_view'); 242 const fresh = urlParams.get('fresh'); 243 if (nativeView) { 244 if (fresh === 'true') { 245 localStorage.clear(); 246 } 247 localStorage.setItem('native_view', nativeView); 248 249 //Clean the URL without refreshing the page 250 urlParams.delete('native_view'); 251 urlParams.delete('fresh'); 252 253 254 // Build the new path: current pathname + remaining search params + current hash 255 const newSearch = urlParams.toString(); 256 const newURL = window.location.pathname + 257 (newSearch ? '?' + newSearch : '') + 258 window.location.hash; 259 260 // Update the browser history silently 261 window.history.replaceState(null, '', newURL); 262 } 263 })(); 264 </script>
264 265 266
266<script src="https://widget.cloudinary.com/v2.0/global/all.js" type="text/javascript"></script>
266 267 268 269
269<script> 270 /* prevent pwa install popup*/ 271 window.addEventListener("beforeinstallprompt", (event) => { 272 event.preventDefault(); // 273 }); 274 </script>
274 275 276 <!-- zentramatch redirection --> 277
277<script> 278 (function () { 279 const { hostname, href, protocol, pathname, search, hash } = window.location; 280 // console.log({ hostname }); 281 const zm = "zentramatch.com" 282 const ss = "secondsutra.com" 283 // Check if hostname ends with zentramatch.com 284 if (hostname.endsWith(zm)) { 285 // Replace just the domain part, keep subdomain/path/query/hash 286 const newHostname = hostname.replace(zm, ss); 287 const newUrl = `${protocol}//${newHostname}${pathname}${search}${hash}`; 288 289 // Redirect 290 window.location.replace(newUrl); 291 } 292 })(); 293 </script>
293 294
295<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"3442e4210a0b41df867b6ba80405d10e","r":1,"spa":2}' crossorigin="anonymous"></script>
295 296</body> 297<!-- Version 8 --> 298 299</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.