{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/tPEs3RuFsism7S6lax5g/nd00bS7vWnKaHu8As6SU/HFHVy68wH.js"],
  "sourcesContent": ["// Generated by Framer (2f96024)\nimport siteMetadata from\"https://framerusercontent.com/modules/9Go9aPh6wWnNiKnJPLFP/peKDGS1eYKkqCiK61LsI/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"1ezh9l6\"}],customHTMLBodyEnd:'<script src=\"https://aka.ms/csspeech/jsbrowserpackageraw\"></script>',customHTMLBodyStart:'<script>\\n(async () => {\\n  try {\\n    const jwt = localStorage.getItem(\"supajwt\");\\n    console.log(\"[DEBUG] JWT found:\", jwt);\\n    if (!jwt) {\\n      console.log(\"[DEBUG] No JWT, redirecting...\");\\n      return window.location.replace(\"https://linguahub.academy/access-denied\");\\n    }\\n\\n    const res = await fetch(`${window.API_BASE}/api/session`, {\\n      headers: { Authorization: `Bearer ${jwt}` },\\n      credentials: \"include\",\\n    });\\n    if (!res.ok) {\\n      console.log(\"[DEBUG] Session fetch failed:\", res.status);\\n      return window.location.replace(\"https://linguahub.academy/access-denied\");\\n    }\\n\\n    const { role } = await res.json();\\n    console.log(\"[DEBUG] User role:\", role);\\n    if (role !== \"XQ93f!@#klvna7S83n$#zpoe_09238zKLiufopw48&@sdJvn4hqNFIapw3*LZXq9$3\") {\\n      console.log(\"[DEBUG] Unauthorized role, redirecting...\");\\n      return window.location.replace(\"https://linguahub.academy/access-denied\");\\n    }\\n\\n    // Authorized \u2192 reveal content\\n    console.log(\"[DEBUG] Access granted, showing content\");\\n    document.body.style.setProperty(\"opacity\", \"1\", \"important\");\\n    document.body.style.setProperty(\"pointer-events\", \"auto\", \"important\");\\n    document.body.style.setProperty(\"user-select\", \"auto\", \"important\");\\n  } catch (e) {\\n    console.error(\"[DEBUG] Error checking session:\", e);\\n    window.location.replace(\"https://linguahub.academy/access-denied\");\\n  }\\n})();\\n</script>\\n',customHTMLHeadEnd:'<!-- Mixpanel Analytics Loader: Framer-Ready -->\\n<script type=\"text/javascript\">\\n(function(f,b){\\n  if(!b.__SV){\\n    var a,e,i,g;window.mixpanel=b;b._i=[];\\n    b.init=function(a,e,d){\\n      function f(b,h){\\n        var a=h.split(\".\");\\n        2==a.length&&(b=b[a[0]],h=a[1]);\\n        b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}\\n      }\\n      var c=b;\\n      \"undefined\"!==typeof d?c=b[d]=[]:d=\"mixpanel\";\\n      c.people=c.people||[];\\n      c.toString=function(a){var b=\"mixpanel\";\"mixpanel\"!==d&&(b+=\".\"+d);a||(b+=\" (stub)\");return b};\\n      c.people.toString=function(){return c.toString(1)+\".people (stub)\"};\\n      i=\"disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user\".split(\" \");\\n      for(g=0;g<i.length;g++)f(c,i[g]);\\n      b._i.push([a,e,d])\\n    };\\n    b.__SV=1.2;\\n    a=f.createElement(\"script\");\\n    a.type=\"text/javascript\";\\n    a.async=!0;\\n    a.src=\"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js\";\\n    e=f.getElementsByTagName(\"script\")[0];\\n    e.parentNode.insertBefore(a,e)\\n  }\\n})(document,window.mixpanel||[]);\\n\\n// === Your Mixpanel project token ===\\nvar MIXPANEL_TOKEN = \"b31322ef5683e5fe68607a12d7bd63a4\";\\n\\n// Initialize SDK, storing ID in localStorage instead of cookies\\nmixpanel.init(MIXPANEL_TOKEN, {\\n  persistence: \"localStorage\"\\n});\\n\\n// Optional debugging aid:\\nmixpanel.track(\"Mixpanel Ready (Framer loader)\");\\nconsole.log(\"[Mixpanel] Loaded and initiated on\", window.location.hostname);\\n</script>\\n',customHTMLHeadStart:'<style>\\n  body { opacity: 0 !important; pointer-events: none !important; user-select: none !important; }\\n</style>\\n<script>\\n  window.API_BASE = \"https://supa-proxy.diego-40d.workers.dev\"\\n</script>\\n\\n',description:siteMetadata(params,activeLocale).description,elements:{K64RQNAMF:\"navigation-scroll\"},robots:\"max-image-preview:large\",serializationId:\"framer-QNxMr\",title:siteMetadata(params,activeLocale).title||\"C / Cursos De Chino Para Ni\\xf1os / Cme / Learn / L 7\",viewport:\"width=1130\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "yCACyI,SAARA,EAA0BC,EAAOC,EAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,kBAAkB,uEAAsE,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAs6C,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAssD,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA+M,YAAYF,EAAaC,EAAOC,CAAY,EAAE,YAAY,SAAS,CAAC,UAAU,mBAAmB,EAAE,OAAO,0BAA0B,gBAAgB,eAAe,MAAMF,EAAaC,EAAOC,CAAY,EAAE,OAAO,wDAAwD,SAAS,YAAY,CAAE,CAAQ,IAAMC,EAAgB,EACr9HC,EAAqB,CAAC,QAAU,CAAC,gBAAkB,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,QAAU,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,mBAAqB,CAAC,KAAO,UAAU,CAAC,CAAC",
  "names": ["metadata", "params", "activeLocale", "metadataVersion", "__FramerMetadata__"]
}
