{"version":3,"file":"shared-lib.DMbRRcIn.mjs","names":[],"sources":["https:/framerusercontent.com/modules/iyH7o10Azn0Mj6RwBrfs/875NOhk6wR5N3xAPHEnT/siteMetadata.js"],"sourcesContent":["// Generated by Framer (5940525)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"<script>\\n(function () {\\n  try {\\n    // ---- Keys ----\\n    var CID_KEY    = 'cc_cid';\\n    var CUR_KEY    = 'cc_currency';\\n    var CTRY_KEY   = 'cc_country';\\n    var COUPON_KEY = 'cc_coupon';\\n    var IS_TEST_KEY = 'isTest';\\n\\n    // ---- Helpers ----\\n    var params = new URLSearchParams(window.location.search);\\n\\n    function setCookie(name, value, maxAgeSec) {\\n      try {\\n        document.cookie = name + '=' + encodeURIComponent(String(value)) +\\n          '; Path=/; SameSite=Lax; Secure' + (maxAgeSec ? '; Max-Age=' + maxAgeSec : '');\\n      } catch (_) {}\\n    }\\n\\n    function validCid(s) {\\n      if (!s) return false;\\n      s = String(s).trim();\\n      // Accept UUID v4 OR a conservative token (8–64 chars, letters/digits/_-)\\n      var uuidV4 = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\\n      var token  = /^[A-Za-z0-9_-]{8,64}$/;\\n      return uuidV4.test(s) || token.test(s);\\n    }\\n\\n    // ---- 1) CID: create once and persist (with URL seeding) ----\\n    var cid = localStorage.getItem(CID_KEY);\\n    var urlCid = (params.get('cid') || '').trim();\\n\\n    if (!cid && validCid(urlCid)) {\\n      // Seed first-time visitors from deep link\\n      cid = urlCid;\\n      localStorage.setItem(CID_KEY, cid);\\n    }\\n\\n    if (!cid) {\\n      // Generate a fresh CID on true first touch\\n      if (window.crypto && crypto.randomUUID) {\\n        cid = crypto.randomUUID();\\n      } else {\\n        cid = 'cid_' + Date.now() + '_' + Math.random().toString(36).slice(2, 10);\\n      }\\n      localStorage.setItem(CID_KEY, cid);\\n    }\\n\\n    // Optional: keep a cookie copy for server logs / debugging (90 days)\\n    setCookie(CID_KEY, cid, 60 * 60 * 24 * 90);\\n\\n    // ---- 2) Parse URL params ----\\n    var rawCurrency = (params.get('cur') || params.get('currency') || '').trim().toUpperCase();\\n    var rawCountry  = (params.get('ctry') || params.get('country')  || '').trim().toUpperCase();\\n    var rawCoupon   = (params.get('coupon') || params.get('coupon_code') || params.get('couponCode') || '').trim();\\n    var rawIsTest   = (params.get('isTest') || '').trim().toLowerCase();\\n\\n    // ---- 3) Normalize/validate currency & country ----\\n    var SUPPORTED = { USD: true, EUR: true, GBP: true, AUD: true };\\n\\n    if (rawCountry === 'UK') rawCountry = 'GB'; // common alias\\n\\n    var isIso3 = /^[A-Z]{3}$/.test(rawCurrency);\\n    var isIso2 = /^[A-Z]{2}$/.test(rawCountry);\\n\\n    if (isIso3 && SUPPORTED[rawCurrency]) {\\n      localStorage.setItem(CUR_KEY, rawCurrency);\\n    }\\n    if (isIso2) {\\n      localStorage.setItem(CTRY_KEY, rawCountry);\\n    }\\n\\n    // ---- 4) Coupon to sessionStorage (do not overwrite unless provided) ----\\n    if (rawCoupon) {\\n      sessionStorage.setItem(COUPON_KEY, rawCoupon);\\n    }\\n\\n    // ---- 5) isTest flag → sessionStorage ----\\n    // Only touch it if the param exists, so you can control it with the URL.\\n    if (rawIsTest) {\\n      try {\\n        if (rawIsTest === 'true' || rawIsTest === '1') {\\n          sessionStorage.setItem(IS_TEST_KEY, 'true');\\n        } else if (rawIsTest === 'false' || rawIsTest === '0') {\\n          // Either set explicit \\\"false\\\" or clear it; choose your preference\\n          sessionStorage.setItem(IS_TEST_KEY, 'false');\\n          // or: sessionStorage.removeItem(IS_TEST_KEY);\\n        }\\n      } catch (_) {}\\n    }\\n\\n    // (Optional) If you ever need a forced override path:\\n    // const force = params.get('cid_force') === '1';\\n    // if (force && validCid(urlCid)) { localStorage.setItem(CID_KEY, urlCid); setCookie(CID_KEY, urlCid, 60*60*24*90); }\\n  } catch (e) {\\n    console.warn('[cento] storage init error', e);\\n  }\\n})();\\n</script>\",customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-TTX9XMMJ\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->\\n',customHTMLHeadStart:\"<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,'script','dataLayer','GTM-TTX9XMMJ');</script>\\n<!-- End Google Tag Manager -->\",description:\"Aging isn’t about decline—it’s about strategy. Cento Care provides science-backed tools and expert guidance to help you live longer and better.\",favicon:\"https://framerusercontent.com/assets/u0OnckTKgmECnrbWgicW8Yji7k.jpg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/0zB1l4qaIH7lypkXARACFBPLlfM.png\",title:\"Cento Care: Unlock Lasting Wellness\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"oDACA,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAonH,oBAAoB;;;EAA0P,oBAAoB;;;;;;iCAA4a,YAAY,kJAAkJ,QAAQ,sEAAsE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,sCAAsC"}