{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/o8j9LrpztKzVDKzMZNeZ/gGdy6jBVMyGGW4TBJCzY/siteMetadata.js", "ssg:https://framerusercontent.com/modules/o8j9LrpztKzVDKzMZNeZ/gGdy6jBVMyGGW4TBJCzY/siteMetadata-0.js"],
  "sourcesContent": ["import * as t from \"./siteMetadata-0.js\";\nlet e = {\n    iTElmWj6W: t\n  },\n  n = (t, n) => {\n    for (; n;) {\n      let a = e[n.id];\n      if (a) {\n        let e = a[t];\n        if (e) return e;\n      }\n      n = n.fallback;\n    }\n  };\nexport default function a(t, e) {\n  return {\n    customHTMLBodyEnd: \"<script>\\n  class QuotabookUtils {\\n  static addMonth(date, month) {\\n    return new Date(date.setMonth(date.getMonth() + month));\\n  }\\n  static getLocalStorageItem(key) {\\n    const value = localStorage.getItem(key);\\n    if (value == null) {\\n      return null;\\n    }\\n    return JSON.parse(value);\\n  }\\n  static setStorageItem(key, value, expiryMonth) {\\n    const now = new Date();\\n    const stringified = JSON.stringify({\\n      value,\\n      createdAt: now.toISOString(),\\n      expiredAt: expiryMonth == null ? null : this.addMonth(now, expiryMonth).toISOString(),\\n    });\\n    localStorage.setItem(key, stringified);\\n  }\\n  static getStorageItem(key) {\\n    const value = this.getLocalStorageItem(key);\\n    if (value == null) {\\n      return null;\\n    }\\n    if (value.expiredAt == null) {\\n      return value.value;\\n    }\\n    const now = new Date();\\n    const expiredAt = new Date(value.expiredAt);\\n    if (expiredAt < now) {\\n      return null;\\n    }\\n    return value.value;\\n  }\\n  static setPersistentStorageItem(key, value, expiryMonth) {\\n    const savedValue = this.getStorageItem(key);\\n    if (savedValue != null) {\\n      return;\\n    }\\n    this.setStorageItem(key, value, expiryMonth);\\n  }\\n  static convertSearchParamsToObject(searchParams) {\\n    const result = {};\\n    const entries = searchParams.entries();\\n    for (const [key, value] of entries) {\\n      result[key] = value;\\n    }\\n    return result;\\n  }\\n  static isEmptyObject(object) {\\n    const values = Object.values(object || {});\\n    return values.filter((v) => v != null && v !== '').length === 0;\\n  }\\n}\\n  \\n\\nconst keys = {\\n  utm: 'QT_LANDING_UTM_PARAMS',\\n  initialUtm: 'INITIAL_QT_LANDING_UTM_PARAMS',\\n  lastQueryParams: 'QT_QUERY_PARAMS',\\n  lastHashParams: 'QT_HASH_PARAMS',\\n  quotabookLandingId: 'QUOTABOOK_LANDING_ID',\\n};\\n    \\nfunction generateQuotabookLandingId() {\\n  return String(performance.timing.connectStart) + '-' + String(Date.now());\\n}\\n\\nfunction getReferrer() {\\n  const referrerURL = new URL(document.referrer || location.origin);\\n  const referrer = referrerURL.origin + referrerURL.pathname;\\n  if (referrer.includes(location.origin) === false && referrer != null && referrer !== '') {\\n    return referrer;\\n  }\\n  const lastData = QuotabookUtils.getStorageItem(keys.utm);\\n  if (lastData != null && lastData.referrer != null) {\\n    return lastData.referrer;\\n  }\\n  const inititalData = QuotabookUtils.getStorageItem(keys.initialUtm);\\n  if (inititalData != null && inititalData.referrer != null) {\\n    return inititalData.referrer;\\n  }\\n  return null;\\n}\\n\\nfunction getPathParmas() {\\n  const queryParams = QuotabookUtils.convertSearchParamsToObject(\\n    new URLSearchParams(location.search),\\n  );\\n  const savedQueryParams = QuotabookUtils.getStorageItem(keys.utm);\\n  const currentHashParams = QuotabookUtils.convertSearchParamsToObject(\\n    new URLSearchParams(location.hash.replace('#', '')),\\n  );\\n  const lastSavedHashParams = QuotabookUtils.getStorageItem(keys.lastHashParams);\\n  return {\\n    queryParams: QuotabookUtils.isEmptyObject(queryParams) ? savedQueryParams : queryParams,\\n    hashParams: {\\n      current: currentHashParams,\\n      merged:\\n        lastSavedHashParams != null\\n          ? { ...lastSavedHashParams, ...currentHashParams }\\n          : currentHashParams,\\n    },\\n  };\\n}\\n\\nfunction saveParams(expiryMonth) {\\n  QuotabookUtils.setPersistentStorageItem(keys.quotabookLandingId, generateQuotabookLandingId());\\n  const {\\n    queryParams,\\n    hashParams: { current: currentHashParams, merged: mergedHashParams },\\n  } = getPathParmas();\\n  const hasNoParams =\\n    QuotabookUtils.isEmptyObject(queryParams) && QuotabookUtils.isEmptyObject(currentHashParams);\\n  if (hasNoParams === true) {\\n    return;\\n  }\\n  const referrer = getReferrer();\\n  const data = { ...queryParams, ...mergedHashParams, referrer };\\n  QuotabookUtils.setPersistentStorageItem(keys.initialUtm, data);\\n  QuotabookUtils.setStorageItem(keys.utm, data, expiryMonth);\\n  QuotabookUtils.setStorageItem(keys.lastQueryParams, queryParams, expiryMonth);\\n  QuotabookUtils.setStorageItem(keys.lastHashParams, mergedHashParams, expiryMonth);\\n}\\n\\nfunction injectValuesToInput(values) {\\n  if (values == null) {\\n    return;\\n  }\\n  const isObject = typeof values === 'object' && Array.isArray(values) === false;\\n  if (isObject === false) {\\n    console.warn('stored data is not object type');\\n    return;\\n  }\\n  try {\\n    for (const [key, value] of Object.entries(values)) {\\n      if (value == null) {\\n        continue;\\n      }\\n      const targetEl = document.querySelector('.' + key);\\n      if (targetEl == null) {\\n        return;\\n      }\\n      targetEl.value = value;\\n    }\\n  } catch (e) {\\n    console.error(e);\\n  }\\n}\\nfunction loadParams() {\\n  injectValuesToInput({\\n    quotabook_landing_id: QuotabookUtils.getStorageItem(keys.quotabookLandingId),\\n  });\\n  injectValuesToInput(QuotabookUtils.getStorageItem(keys.lastHashParams));\\n  injectValuesToInput(QuotabookUtils.getStorageItem(keys.utm));\\n  const intitalData = QuotabookUtils.getStorageItem(keys.initialUtm) || {};\\n  const convertedInitialData = Object.fromEntries(\\n    Object.entries(intitalData).map(([key, value]) => ['initial_' + key, value]),\\n  );\\n  injectValuesToInput(convertedInitialData);\\n}\\n\\nsaveParams(6);\\n</script>\",\n    customHTMLBodyStart: '<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-KB6W432\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->\\n\\n<script>\\n  (function(){var w=window;if(w.ChannelIO){return w.console.error(\"ChannelIO script included twice.\");}var ch=function(){ch.c(arguments);};ch.q=[];ch.c=function(args){ch.q.push(args);};w.ChannelIO=ch;function l(){if(w.ChannelIOInitialized){return;}w.ChannelIOInitialized=true;var s=document.createElement(\"script\");s.type=\"text/javascript\";s.async=true;s.src=\"https://cdn.channel.io/plugin/ch-plugin-web.js\";var x=document.getElementsByTagName(\"script\")[0];if(x.parentNode){x.parentNode.insertBefore(s,x);}}if(document.readyState===\"complete\"){l();}else{w.addEventListener(\"DOMContentLoaded\",l);w.addEventListener(\"load\",l);}})();\\n</script>\\n<script>\\n    ChannelIO(\\'boot\\', {\\n  \"pluginKey\":  \"a2418fd1-d75d-4862-906a-136419c0dce7\" // fill your plugin key\\n});\\n</script>\\n',\n    customHTMLHeadEnd: '<script src=\"https://unpkg.com/@formspark/formtrack\" async=\"\"></script>\\n',\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-KB6W432\\');</script>\\n<!-- End Google Tag Manager -->\\n\\n<meta name=\"ahrefs-site-verification\" content=\"2a2b367110bf5c5cd1916c8183fdaefe05ced91669370eca8c0bb993ed0a6698\">\\n\\n<meta name=\"naver-site-verification\" content=\"32606e33780f1eb81eb8cd0e632e195a1c7c265f\">\\n\\n\\n<script type=\"application/ld+json\">\\n{\\n \"@context\": \"http://schema.org\",\\n \"@type\": \"Organization\",\\n \"name\": \"\uCFFC\uD0C0\uBD81\",\\n \"url\": \"https://quotabook.com\",\\n \"sameAs\": [\\n   \"https://kr.linkedin.com/company/quotabook\",\\n   \"https://www.facebook.com/quotabook1/\",\\n   \"https://blog.naver.com/quotabook\",\\n   \"https://youtube.com/@QuotaBook\",\\n   \"https://www.instagram.com/quotabook_official/\"\\n ]\\n}\\n</script>\\n\\n\\n<!-- Start Sentry -->\\n<script src=\"https://js.sentry-cdn.com/fc42c0ce38593da35fbab9d7540955c4.min.js\" crossorigin=\"anonymous\"></script>\\n<!-- End Sentry -->',\n    description: \"\uC99D\uAD8C \uAD00\uB9AC\uB97C \uC704\uD55C \uB2E8 \uD558\uB098\uC758 \uC194\uB8E8\uC158\",\n    favicon: \"https://framerusercontent.com/images/xxv5v8yvfJJtJ9qa2OqbbVMDj3w.svg\",\n    socialImage: \"https://framerusercontent.com/images/kkCKTUxuCbwnkTlG11kzIXwrXw.jpg\",\n    title: \"\uCFFC\uD0C0\uBD81\"\n  };\n}\nexport const metadataVersion = 1;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"metadataVersion\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "export const __FramerMetadata__ = {\n  \"exports\": {\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "yCAAAA,ICAAC,IDce,SAARC,EAAmBC,EAAGC,EAAG,CAC9B,MAAO,CACL,kBAAmB;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;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;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;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,YACnB,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACrB,kBAAmB;AAAA,EACnB,oBAAqB;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,qBACrB,YAAa,4FACb,QAAS,uEACT,YAAa,sEACb,MAAO,oBACT,CACF",
  "names": ["init_shims", "init_shims", "a", "t", "e"]
}
