{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/s801VqobGI0Gkh3K9b41/Embed.js", "ssg:https://framerusercontent.com/modules/bE4YiZccgct2U1NVBGyL/29XIR9z2Le6Xck2bt1Bx/h5NWxQxUQ.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles}from\"https://framer.com/m/framer/default-utils.js\";/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n */export default function Embed({type,url,html,zoom,radius,border,style={}}){if(type===\"url\"&&url){return /*#__PURE__*/_jsx(EmbedUrl,{url:url,zoom:zoom,radius:radius,border:border,style:style});}if(type===\"html\"&&html){return /*#__PURE__*/_jsx(EmbedHtml,{html:html,style:style});}return /*#__PURE__*/_jsx(Instructions,{style:style});}addPropertyControls(Embed,{type:{type:ControlType.Enum,defaultValue:\"url\",displaySegmentedControl:true,options:[\"url\",\"html\"],optionTitles:[\"URL\",\"HTML\"]},url:{title:\"URL\",type:ControlType.String,description:\"Some websites don\u2019t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",type:ControlType.String,displayTextArea:true,hidden(props){return props.type!==\"html\";}},border:{title:\"Border\",type:ControlType.Border,optional:true,hidden(props){return props.type!==\"url\";}},radius:{type:ControlType.BorderRadius,title:\"Radius\",hidden(props){return props.type!==\"url\";}},zoom:{title:\"Zoom\",defaultValue:1,type:ControlType.Number,hidden(props){return props.type!==\"url\";},min:.1,max:1,step:.1,displayStepper:true}});function Instructions({style}){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:getMinHeight(style),...emptyStateStyle,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedUrl({url,zoom,radius,border,style}){const hasAutoHeight=!style.height;// Add https:// if the URL does not have a protocol.\nif(!/[a-z]+:\\/\\//.test(url)){url=\"https://\"+url;}const onCanvas=useIsOnCanvas();// We need to check if the url is blocked inside an iframe by the X-Frame-Options\n// or Content-Security-Policy headers on the backend.\nconst[state,setState]=useState(onCanvas?undefined:false);useEffect(()=>{// We only want to check on the canvas.\n// On the website we want to avoid the additional delay.\nif(!onCanvas)return;// TODO: We could also use AbortController here.\nlet isLastEffect=true;setState(undefined);async function load(){const response=await fetch(\"https://api.framer.com/functions/check-iframe-url?url=\"+encodeURIComponent(url));if(response.status==200){const{isBlocked}=await response.json();if(isLastEffect){setState(isBlocked);}}else{const message=await response.text();console.error(message);const error=new Error(\"This site can\u2019t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(onCanvas&&hasAutoHeight){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"URL embeds do not support auto height.\",style:style});}if(!url.startsWith(\"https://\")){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Unsupported protocol.\",style:style});}if(state===undefined){return /*#__PURE__*/_jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/_jsx(ErrorMessage,{message:state.message,style:style});}if(state===true){const message=`Can\u2019t embed ${url} due to its content security policy.`;return /*#__PURE__*/_jsx(ErrorMessage,{message:message,style:style});}return /*#__PURE__*/_jsx(\"iframe\",{src:url,style:{...iframeStyle,...style,...border,zoom:zoom,borderRadius:radius,transformOrigin:\"top center\"},loading:\"lazy\",// @ts-ignore\nfetchPriority:onCanvas?\"low\":\"auto\",referrerPolicy:\"no-referrer\",sandbox:getSandbox(onCanvas)});}const iframeStyle={width:\"100%\",height:\"100%\",border:\"none\"};function getSandbox(onCanvas){const result=[\"allow-same-origin\",\"allow-scripts\"];if(!onCanvas){result.push(\"allow-downloads\",\"allow-forms\",\"allow-modals\",\"allow-orientation-lock\",\"allow-pointer-lock\",\"allow-popups\",\"allow-popups-to-escape-sandbox\",\"allow-presentation\",\"allow-storage-access-by-user-activation\",\"allow-top-navigation-by-user-activation\");}return result.join(\" \");}function EmbedHtml({html,...props}){const hasScript=html.includes(\"</script>\");if(hasScript){const hasSplineViewer=html.includes(\"</spline-viewer>\");const hasComment=html.includes(\"<!-- framer-direct-embed -->\");if(hasSplineViewer||hasComment){return /*#__PURE__*/_jsx(EmbedHtmlWithScripts,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlInsideIframe,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlWithoutScripts,{html:html,...props});}function EmbedHtmlInsideIframe({html,style}){const ref=useRef();const[iframeHeight,setIframeHeight]=useState(0);// Handle auto sizing\nuseEffect(()=>{const iframeWindow=ref.current?.contentWindow;function handleMessage(event){if(event.source!==iframeWindow)return;const data=event.data;if(typeof data!==\"object\"||data===null)return;const height=data.embedHeight;if(typeof height!==\"number\")return;setIframeHeight(height);}window.addEventListener(\"message\",handleMessage);// After SSG the iframe loads before we attach the event handler,\n// therefore we need to request the latest height from the iframe.\niframeWindow?.postMessage(\"getEmbedHeight\",\"*\");return()=>{window.removeEventListener(\"message\",handleMessage);};},[]);// The CSS is mainly copied from:\n// FramerStudio/src/app/vekter/src/renderer/setDefaultFont.ts\n// FramerStudio/src/app/vekter/src/export/globalStylesForExport.ts\nconst srcDoc=`\n<html>\n    <head>\n        <style>\n            html, body {\n                margin: 0;\n                padding: 0;\n            }\n\n            body {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n            }\n\n            :root {\n                -webkit-font-smoothing: antialiased;\n                -moz-osx-font-smoothing: grayscale;\n            }\n\n            * {\n                box-sizing: border-box;\n                -webkit-font-smoothing: inherit;\n            }\n\n            h1, h2, h3, h4, h5, h6, p, figure {\n                margin: 0;\n            }\n\n            body, input, textarea, select, button {\n                font-size: 12px;\n                font-family: sans-serif;\n            }\n        </style>\n    </head>\n    <body>\n        ${html}\n        <script type=\"module\">\n            let height = 0\n\n            function sendEmbedHeight() {\n                window.parent.postMessage({\n                    embedHeight: height\n                }, \"*\")\n            }\n\n            const observer = new ResizeObserver((entries) => {\n                if (entries.length !== 1) return\n                const entry = entries[0]\n                if (entry.target !== document.body) return\n\n                height = entry.contentRect.height\n                sendEmbedHeight()\n            })\n\n            observer.observe(document.body)\n\n            window.addEventListener(\"message\", (event) => {\n                if (event.source !== window.parent) return\n                if (event.data !== \"getEmbedHeight\") return\n                sendEmbedHeight()\n            })\n        </script>\n    <body>\n</html>\n`;const currentStyle={...iframeStyle,...style};const hasAutoHeight=!style.height;if(hasAutoHeight){currentStyle.height=iframeHeight+\"px\";}return /*#__PURE__*/_jsx(\"iframe\",{ref:ref,style:currentStyle,srcDoc:srcDoc});}function EmbedHtmlWithScripts({html,style}){const ref=useRef();useEffect(()=>{const div=ref.current;if(!div)return;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...htmlStyle,...style}});}function EmbedHtmlWithoutScripts({html,style}){return /*#__PURE__*/_jsx(\"div\",{style:{...htmlStyle,...style},dangerouslySetInnerHTML:{__html:html}});}const htmlStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"};// This function replaces scripts with executable ones.\n// https://stackoverflow.com/questions/1197575/can-scripts-be-inserted-with-innerhtml\nfunction executeScripts(node){if(node instanceof Element&&node.tagName===\"SCRIPT\"){const script=document.createElement(\"script\");script.text=node.innerHTML;for(const{name,value}of node.attributes){script.setAttribute(name,value);}node.parentElement.replaceChild(script,node);}else{for(const child of node.childNodes){executeScripts(child);}}}// Generic components\nfunction LoadingIndicator(){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-componentPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"Loading\u2026\"})});}function ErrorMessage({message,style}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{minHeight:getMinHeight(style),...containerStyles,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:message})});}const centerTextStyle={textAlign:\"center\",minWidth:140};// Returns a min-height if the component is using auto-height.\nfunction getMinHeight(style){const hasAutoHeight=!style.height;if(hasAutoHeight)return 200;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.map", "// Generated by Framer (64bdc4e)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/Xr8CO3Ul8Gb7lVfgMKTh/Embed.js\";const EmbedFonts=getFonts(Embed);const serializationHash=\"framer-Pq4Qe\";const variantClassNames={jJFQ_MULD:\"framer-v-o950tj\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"jJFQ_MULD\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-o950tj\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"jJFQ_MULD\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-dw15je-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"VsblPzL0Y-container\",nodeId:\"VsblPzL0Y\",rendersWithMotion:true,scopeId:\"h5NWxQxUQ\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:\"<link rel=\\\"stylesheet\\\" href=\\\"https://cdn.jsdelivr.net/npm/intl-tel-input@25.3.1/build/css/intlTelInput.css\\\">\\n<link rel=\\\"stylesheet\\\"\\n  href=\\\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,1,0\\\" />\\n\\n<head>\\n  <meta charset=\\\"utf-8\\\">\\n</head>\\n\\n<style>\\n  @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');\\n</style>\\n\\n<style>\\n  /* Begin: Configuration CSS */\\n  h1,\\n  h2,\\n  h3,\\n  h4,\\n  p,\\n  label,\\n  button,\\n  li {\\n    font-family: \\\"DM Sans\\\", sans-serif;\\n  }\\n\\n  p,\\n  label,\\n  button,\\n  li,\\n  input {\\n    font-size: 16px;\\n  }\\n\\n  a {\\n    cursor: pointer;\\n  }\\n\\n  .d-none {\\n    display: none !important;\\n  }\\n\\n  input.invalid {\\n    border: 1px solid #ED5665 !important;\\n  }\\n\\n  .btn {\\n    background-color: transparent;\\n    border: none;\\n    cursor: pointer;\\n  }\\n\\n  [class^=\\\"icon-\\\"],\\n  [class*=\\\" icon-\\\"] {\\n    font-style: normal;\\n    display: inline-block;\\n    font-size: 20px;\\n  }\\n\\n  .icon-times::before {\\n    content: \\\"\\\\2715\\\";\\n  }\\n\\n  div[data-framer-name=\\\"Modal\\\"] {\\n    scrollbar-width: none;\\n    -ms-overflow-style: none;\\n  }\\n\\n  div[data-framer-name=\\\"Modal\\\"]::-webkit-scrollbar {\\n    display: none;\\n  }\\n\\n  @keyframes active-fill {\\n    from {\\n      background-color: #E5E7EB;\\n    }\\n\\n    to {\\n      background-color: #FFB612;\\n    }\\n  }\\n\\n  @keyframes loading-spinner {\\n    from {\\n      transform: rotate(0turn);\\n    }\\n\\n    to {\\n      transform: rotate(1turn);\\n    }\\n  }\\n\\n  /* End: Configuration CSS */\\n\\n\\n  /* Begin: Background modal */\\n  #background-modal {\\n    width: 100%;\\n    height: 100%;\\n    position: fixed;\\n    z-index: 200 !important;\\n    overflow: hidden !important;\\n  }\\n\\n  /* End: Background modal */\\n\\n  /* Begin: Modal */\\n  #modal {\\n    position: relative;\\n    width: 100%;\\n    padding: 32px 24px;\\n    max-width: 472px;\\n    min-height: 330px;\\n    z-index: 20;\\n    overflow: hidden;\\n    background-color: white;\\n    margin: 0 auto;\\n    border-radius: 8px;\\n  }\\n\\n  /* End: Modal */\\n\\n  /* Begin: Modal title */\\n  h2.title {\\n    font-weight: 900;\\n    font-size: 24px;\\n    line-height: 32px;\\n    text-align: center;\\n    vertical-align: middle;\\n  }\\n\\n  /* End: Modal title */\\n\\n  /* Begin: Subtitle section */\\n  div.subtitle-section {\\n    padding: 8px 0;\\n  }\\n\\n  p.subtitle {\\n    font-weight: 400;\\n    font-size: 16px;\\n    line-height: 120%;\\n    text-align: center;\\n    vertical-align: middle;\\n  }\\n\\n  /* End: Subtitle section */\\n\\n  /* Begin: Steps section */\\n  div.steps-section {\\n    margin: 16px 0;\\n  }\\n\\n  div.steps-block {\\n    display: flex;\\n    justify-content: space-between;\\n  }\\n\\n  div.steps {\\n    height: 10px;\\n    background-color: #E5E7EB;\\n    min-width: 20px;\\n    border-radius: 25px;\\n    flex-grow: 1;\\n  }\\n\\n  div.steps+div.steps {\\n    margin-left: 8px;\\n  }\\n\\n  div.steps.active {\\n    background-color: #FFB612;\\n    animation: active-fill 1s ease;\\n  }\\n\\n  p.step-count {\\n    margin: 4px;\\n  }\\n\\n  /* End: Steps section */\\n\\n  /* Begin: Validation section */\\n  div.validations-secion {}\\n\\n  div.dialog {\\n    display: flex;\\n    align-items: center;\\n    justify-content: space-between;\\n    border-radius: 8px;\\n    font-weight: 400;\\n    font-size: 16px;\\n    line-height: 24px;\\n    vertical-align: middle;\\n    padding: 16px;\\n    margin: 4px 0;\\n  }\\n\\n  div.dialog a {\\n    color: #FFB612;\\n    text-decoration: underline;\\n    font-weight: bold;\\n  }\\n\\n  div.dialog p {\\n    margin: 0 16px 0 0;\\n  }\\n\\n  div.alert-dialog {\\n    background-color: #C1414D;\\n    border: 1px solid #ED5665;\\n    color: #FFFFFF;\\n  }\\n\\n  div.alert-dialog button.btn-dismiss {\\n    color: #FFF;\\n  }\\n\\n  div.warning-dialog {\\n    background-color: #FDF5ED;\\n    border: 1px solid #E88D35;\\n    color: #000;\\n  }\\n\\n  div.warning-dialog button.btn-dismiss {\\n    color: #000;\\n  }\\n\\n  /* End: Validation section */\\n\\n  /* Begin: Forms sections */\\n  div.form-group {\\n    margin: 16px 0;\\n  }\\n\\n  div.form-group label {\\n    font-weight: 900;\\n    font-size: 16px;\\n    line-height: 24px;\\n  }\\n\\n  div.form-group input {\\n    width: 100%;\\n    height: 48px;\\n    border: 1px solid #9F9FA7;\\n    border-radius: 4px;\\n    padding-top: 12px;\\n    padding-right: 16px;\\n    padding-bottom: 12px;\\n    padding-left: 16px;\\n  }\\n\\n  div.form-group input::placeholder {\\n    color: #0101147A;\\n  }\\n\\n  div.submit-section {\\n    margin: 16px 0 0 0;\\n  }\\n\\n  button.submit-button {\\n    width: 100%;\\n    height: 40;\\n    color: black;\\n    padding: 8px 0;\\n    border-radius: 200px;\\n    border-color: #FFB612;\\n    border: none;\\n    padding-right: 16px;\\n    padding-left: 16px;\\n    font-weight: 900;\\n    font-size: 16px;\\n    line-height: 24px;\\n    text-align: center;\\n    background-color: #FFB612;\\n    cursor: pointer;\\n  }\\n\\n  /* End: Forms sections */\\n\\n  /* Begin: Loading component */\\n  div.loading::after {\\n    content: '';\\n    width: 100%;\\n    height: 100%;\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    display: block;\\n    z-index: 200;\\n    background-color: rgba(0, 0, 0, 0.5)\\n  }\\n\\n  div.loading::before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    width: 40px;\\n    height: 40px;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    margin: auto;\\n    border: 4px solid transparent;\\n    border-top-color: #FBB73C;\\n    border-right-color: #FBB73C;\\n    border-radius: 50%;\\n    animation: loading-spinner 1s linear infinite;\\n    z-index: 201;\\n  }\\n\\n  /* End: Loading component */\\n\\n  /* Begin: Product component */\\n  div.product+div.product {\\n    margin-top: 16px;\\n  }\\n\\n  div.product p {\\n    margin: 4px;\\n  }\\n\\n  div.product-info {\\n    display: flex;\\n    justify-content: space-between;\\n  }\\n\\n  div.product-info p {\\n    font-weight: bold;\\n  }\\n\\n  div.product-benefits ul {\\n    padding-left: 24px;\\n    font-size: 16px;\\n  }\\n\\n  div.product-fidelity p {\\n    font-weight: 700;\\n    font-size: 16px;\\n    line-height: 18px;\\n  }\\n\\n  /* End: Product component */\\n\\n  /* Begin: checkout step */\\n  #checkout-step,\\n  #booking-step {\\n    display: flex;\\n    flex-direction: column;\\n    justify-content: center;\\n    align-items: center;\\n    margin-top: 32px;\\n  }\\n\\n  #checkout-step h3,\\n  #booking-step h3 {\\n    font-weight: 900;\\n    font-size: 20px;\\n    line-height: 32px;\\n    text-align: center;\\n    vertical-align: middle;\\n    margin: 16px;\\n  }\\n\\n  #checkout-step i,\\n  #booking-step i {\\n    text-align: center;\\n    font-size: 40px;\\n    color: #1E8654;\\n  }\\n\\n  #checkout-step p,\\n  #booking-step p {\\n    font-weight: 400;\\n    line-height: 24px;\\n    text-align: center;\\n    vertical-align: middle;\\n    margin: 0;\\n  }\\n\\n  /* End: checkout step */\\n\\n  /* Begin: intlTelInput */\\n  .iti {\\n    width: 100%;\\n  }\\n\\n  /* End: intlTelInput */\\n</style>\\n\\n<div id=\\\"background-modal\\\">\\n  <div id=\\\"modal\\\" class=\\\"\\\">\\n    <h2 class=\\\"title\\\">Smart Fit Coach</h2>\\n    <div class=\\\"subtitle-section\\\">\\n      <p id=\\\"first-subtitle-step\\\" class=\\\"subtitle first-step\\\">\\n        Hey! Estamos animados para come\\xe7ar sua jornada fitness.\\n        Primeiro, precisamos saber um pouco sobre voc\\xea:\\n      </p>\\n      <p id=\\\"second-subtitle-step\\\" class=\\\"subtitle second-step d-none\\\">\\xd3timo, <b id=\\\"user-name\\\">pessoa</b>!\\n        Para finalizar seu cadastro, preciso confirmar:</p>\\n      <p id=\\\"third-subtitle-step\\\" class=\\\"subtitle third-step d-none\\\">Falta pouco para voc\\xea aproveitar todos os\\n        benef\\xedcios do Smart Fit Coach...</p>\\n    </div>\\n    <div class=\\\"steps-section\\\">\\n      <div class=\\\"steps-block\\\">\\n        <div id=\\\"first-step\\\" class=\\\"steps first-step active\\\"></div>\\n        <div id=\\\"second-step\\\" class=\\\"steps second-step\\\"></div>\\n        <div id=\\\"third-step\\\" class=\\\"steps third-step\\\"></div>\\n      </div>\\n      <p class=\\\"step-count\\\">Etapa <span id=\\\"step-number\\\">1</span> de 3</p>\\n    </div>\\n\\n    <!-- Begin: Validation messages -->\\n    <div class=\\\"validations-section\\\"></div>\\n    <!-- End: Validation messages -->\\n\\n    <!-- Begin: First form step -->\\n    <div id=\\\"first-form-step\\\" class=\\\"\\\">\\n      <div class=\\\"form-group\\\">\\n        <label>Nome</label>\\n        <input type=\\\"text\\\" name=\\\"name\\\" placeholder=\\\"Seu nome e sobrenome\\\" onchange=\\\"removeInvalidClass(this)\\\"\\n          required />\\n      </div>\\n\\n      <div class=\\\"form-group\\\">\\n        <label>E-mail</label>\\n        <input type=\\\"email\\\" name=\\\"email\\\" placeholder=\\\"Seu melhor e-mail\\\" onchange=\\\"removeInvalidClass(this)\\\" required />\\n      </div>\\n\\n      <div class=\\\"form-group\\\">\\n        <label>WhatsApp</label>\\n        <input type=\\\"text\\\" name=\\\"phonenumber\\\" onchange=\\\"removeInvalidClass(this)\\\" required inputmode=\\\"numeric\\\"\\n          pattern=\\\"[0-9]*\\\" />\\n      </div>\\n      <div class=\\\"submit-section\\\">\\n        <button class=\\\"submit-button\\\" onclick=\\\"showSecondStep()\\\">Continuar</button>\\n      </div>\\n    </div>\\n    <!-- End: First form step -->\\n\\n    <!-- Begin: Second form step -->\\n    <div id=\\\"second-form-step\\\" class=\\\"d-none\\\">\\n      <div class=\\\"form-group\\\">\\n        <label>CPF</label>\\n        <input type=\\\"text\\\" name=\\\"document\\\" placeholder=\\\"232.321.234-94\\\" onchange=\\\"removeInvalidClass(this)\\\"\\n          inputmode=\\\"numeric\\\" pattern=\\\"[0-9]*\\\" />\\n      </div>\\n\\n      <div class=\\\"form-group\\\">\\n        <label>Data de nascimento</label>\\n        <input type=\\\"text\\\" name=\\\"birthday\\\" placeholder=\\\"20/12/1984\\\" onchange=\\\"removeInvalidClass(this)\\\"\\n          inputmode=\\\"numeric\\\" pattern=\\\"[0-9]*\\\" />\\n      </div>\\n\\n      <div class=\\\"submit-section\\\">\\n        <button class=\\\"submit-button\\\" onclick=\\\"handleVerifyUser()\\\">Continuar</button>\\n      </div>\\n    </div>\\n    <!-- End: Second form step -->\\n\\n    <!-- Begin: Third form step -->\\n    <div id=\\\"third-form-step\\\" class=\\\"d-none\\\">\\n    </div>\\n    <!-- End: Third form step -->\\n\\n    <!-- Begin: Checkout step -->\\n    <div id=\\\"checkout-step\\\" class=\\\"d-none\\\">\\n      <h3>Notamos que voc\\xea ainda n\\xe3o \\xe9 cliente Smart Fit!</h3>\\n      <p>\\n        Que bom te ver por aqui! \uD83D\uDE4C<br />\\n        Estamos redirecionando para concluir seu cadastro...<br />\\n        (Ou <a onclick=\\\"window.top.location.href = `https://www.smartfit.com.br/checkout/digital/${addons[0].addonCode}`\\\">clique aqui</a> para continuar)\\n      </p>\\n    </div>\\n    <!-- End: Checkout step -->\\n\\n    <!-- Begin: Booking step -->\\n    <div id=\\\"booking-step\\\" class=\\\"d-none\\\">\\n      <i class=\\\"material-symbols-outlined\\\">\\n        check_circle\\n      </i>\\n\\n      <h3>Compra conclu\\xedda!</h3>\\n      <p>O Smart Fit Coach foi adicionado ao seu plano!<br />\\n        Prepare-se para iniciar sua jornada fitness.</p>\\n    </div>\\n    <!-- End: Booking step -->\\n  </div>\\n</div>\\n\\n<script src=\\\"https://cdn.jsdelivr.net/npm/intl-tel-input@25.3.1/build/js/intlTelInput.min.js\\\"></script>\\n\\n<script>\\n  // TODO: add GA events\\n  // TODO: add make integration\\n\\n  // Form fields\\n  let userName = '';\\n  let email = '';\\n  let phoneNumber = '';\\n  let userDocument = '';\\n  let birthday = '';\\n\\n  // Config fields\\n  const locale = 'pt-BR';\\n  const addons = [{\\n    addonCode: 'coach_online_12consultas_one_time_offer',\\n    name: 'Smart Fit Coach',\\n    price: 29.90,\\n    benefits: [\\n      'Treino 100% personalizado feito pelo seu professor online',\\n      '12 sess\\xf5es de acompanhamento',\\n      'Chat ilimitado tira-d\\xfavidas'\\n    ],\\n    fidelity: '12 meses'\\n  }];\\n  const baseURL = 'https://smartfit-coach.smartfit.com.br';\\n  const makeURL = 'https://hook.us2.make.com/mp6pmb3kdoroeosuyjb3gujyawk52ii6';\\n\\n  // Show second step\\n  let logSent = false;\\n  const showSecondStep = () => {\\n    // Validate first step\\n    if (!validateFirstStep()) return\\n\\n    if (!logSent) {\\n      // Log to Make integration\\n      sendWebhookLog({\\n        action: 'init_lead_coach',\\n        status: 'success',\\n        http_status: null,\\n        api_response: null\\n      });\\n\\n      // GTM Event\\n      tagManager('leadCoachEvent', locale, addons[0].price, addons[0].addonCode, userInfo.ip, userInfo.city, userInfo.region, phoneNumber);\\n\\n      // Set logSent to true to avoid duplicate logs\\n      logSent = true;\\n    }\\n\\n    // Subtitle elements\\n    hideElement('#first-subtitle-step');\\n    showElement('#second-subtitle-step');\\n    hideElement('#third-subtitle-step');\\n    setUserNameElement(userName);\\n\\n    // Steps elements\\n    setStepActive('#first-step');\\n    setStepActive('#second-step');\\n    setStepInactive('#third-step');\\n    setStepNumber(2);\\n\\n    // Form elements\\n    hideElement('#first-form-step');\\n    showElement('#second-form-step');\\n    hideElement('#third-form-step');\\n    hideElement('#checkout-step');\\n    hideElement('#booking-step');\\n  }\\n\\n  // Validate first step\\n  const validateFirstStep = () => {\\n    closeAllDialogs();\\n\\n    const userNameElement = document.querySelector(\\\"input[name='name']\\\");\\n    userName = userNameElement.value;\\n    if (!userName || userName === '') {\\n      userNameElement.classList.add('invalid');\\n      showDialog('Por favor, preencha o seu nome.', 'warning');\\n\\n      return false;\\n    }\\n\\n    const emailElement = document.querySelector(\\\"input[name='email']\\\");\\n    email = emailElement.value\\n    if (!email || email === '') {\\n      emailElement.classList.add('invalid');\\n      showDialog('Por favor, preencha o seu e-mail.', 'warning');\\n\\n      return false;\\n    }\\n\\n    const phoneNumberElement = document.querySelector(\\\"input[name='phonenumber']\\\");\\n    phoneNumber = window.phoneNumber.getNumber();\\n    if (!phoneNumber || phoneNumber === '') {\\n      phoneNumberElement.classList.add('invalid');\\n      showDialog('Por favor, preencha o seu WhatsApp.', 'warning');\\n\\n      return false;\\n    }\\n\\n    if (!window.phoneNumber.isValidNumber()) {\\n      phoneNumberElement.classList.add('invalid');\\n      showDialog('Por favor, preencha um WhatsApp v\\xe1lido.', 'warning');\\n\\n      return false;\\n    }\\n\\n    return true;\\n  }\\n\\n  // Handle verify user\\n  const handleVerifyUser = async () => {\\n    // Close all dialogs\\n    closeAllDialogs();\\n\\n    // Show loading element\\n    const modalElement = document.querySelector('#modal');\\n    modalElement.classList.add('loading');\\n\\n    // Validate second step inputs\\n    if (!validateSecondStep()) {\\n      modalElement.classList.remove('loading');\\n\\n      return;\\n    }\\n\\n    const resultValidation = await validateWithBackend();\\n    if (!resultValidation) {\\n      modalElement.classList.remove('loading');\\n\\n      // Log to Make integration\\n      sendWebhookLog({\\n        action: 'verify_coach_lead',\\n        status: 'error',\\n        error_type: 'unexpected_error',\\n        http_status: null,\\n        api_response: null\\n      });\\n\\n      return;\\n    }\\n\\n    // Log to Make integration\\n    sendWebhookLog({\\n      action: 'verify_coach_lead',\\n      status: resultValidation === 'checkout' ? 'error' : 'success',\\n      http_status: null,\\n      api_response: resultValidation\\n    });\\n\\n    if (resultValidation === 'purchase') {\\n      showThirdStep();\\n    } else if (resultValidation === 'booking') {\\n      showBookingStep();\\n    } else if (resultValidation === 'checkout') {\\n      showCheckoutStep();\\n    }\\n\\n    modalElement.classList.remove('loading');\\n  }\\n\\n  // Validate second step\\n  const validateSecondStep = () => {\\n    const userDocumentElement = document.querySelector(\\\"input[name='document']\\\");\\n    userDocument = userDocumentElement\\n      .value\\n      .replaceAll(\\\".\\\", \\\"\\\")\\n      .replace(\\\"-\\\", \\\"\\\");\\n    if (!userDocument || userDocument === '' || userDocument.length < 11) {\\n      userDocumentElement.classList.add('invalid');\\n      showDialog('Por favor, preencha o seu documento.', 'warning');\\n\\n      return false;\\n    }\\n\\n    const birthdayElement = document.querySelector(\\\"input[name='birthday']\\\");\\n    birthday = birthdayElement.value;\\n    if (!birthday || birthday === '') {\\n      birthdayElement.classList.add('invalid');\\n      showDialog('Por favor, preencha a sua data de nascimento.', 'warning');\\n\\n      return false;\\n    }\\n\\n    birthday = castBirthdayValue(birthday);\\n    if (!birthday || !validateBirthday(birthday)) {\\n      birthdayElement.classList.add('invalid');\\n      showDialog('Por favor, preencha uma data de nascimento v\\xe1lida.', 'warning');\\n\\n      return false;\\n    }\\n\\n    return true;\\n  }\\n\\n  // Validate with backend\\n  const validateWithBackend = async () => {\\n    const configs = {\\n      method: \\\"POST\\\",\\n      headers: {\\n        \\\"Content-Type\\\": \\\"application/json\\\",\\n        \\\"Accept-Language\\\": locale\\n      },\\n      body: JSON.stringify({ document: userDocument }),\\n    };\\n\\n    try {\\n      const response = await fetch(\\n        `${baseURL}/api/v1/one_buy_click/verify_user`,\\n        configs\\n      );\\n\\n      const data = await response.json();\\n\\n      if (data.next_hop === 'error') {\\n        showDialog('Um erro aconteceu, por favor, tente novamente mais tarde.', 'alert');\\n\\n        return false;\\n      }\\n\\n      return data.next_hop;\\n    } catch (error) {\\n      showDialog('Um erro aconteceu, por favor, tente novamente mais tarde.', 'alert');\\n\\n      return false;\\n    }\\n\\n    return true\\n  }\\n\\n  // Show third step\\n  const showThirdStep = () => {\\n    // Subtitle elements\\n    hideElement('#first-subtitle-step');\\n    hideElement('#second-subtitle-step');\\n    showElement('#third-subtitle-step');\\n\\n    // Steps elements\\n    setStepActive('#first-step');\\n    setStepActive('#second-step');\\n    setStepActive('#third-step');\\n    setStepNumber(3);\\n\\n    // Form elements\\n    hideElement('#first-form-step');\\n    hideElement('#second-form-step');\\n    showElement('#third-form-step');\\n    hideElement('#checkout-step');\\n    hideElement('#booking-step');\\n  }\\n\\n  // Handle purchase\\n  const handlePurchase = async (addonCode) => {\\n    // Close all dialogs\\n    closeAllDialogs();\\n\\n    // Show loading element\\n    const modalElement = document.querySelector('#modal');\\n    modalElement.classList.add('loading');\\n\\n    const configs = {\\n      method: \\\"POST\\\",\\n      headers: {\\n        \\\"Content-Type\\\": \\\"application/json\\\",\\n        \\\"Accept-Language\\\": locale\\n      },\\n      body: JSON.stringify({\\n        document: userDocument,\\n        birthday: birthday.toISOString().split('T')[0],\\n        addon_code: addonCode,\\n      }),\\n    };\\n\\n    try {\\n      const response = await fetch(`${baseURL}/api/v1/one_buy_click/purchase`, configs);\\n\\n      if (response.status === 500) {\\n        // Log Make integration\\n        sendWebhookLog({\\n          action: 'purchase',\\n          status: 'error',\\n          error_type: 'user_not_found',\\n          http_status: response.status,\\n          api_response: null\\n        });\\n\\n        showDialog('N\\xe3o foi poss\\xedvel completar a compra. Verifique se voc\\xea j\\xe1 est\\xe1 inscrito na SmartFit ou dirija-se \\xe0 recep\\xe7\\xe3o da sua unidade.', 'alert');\\n      } else {\\n        const data = await response.json();\\n\\n        // Log Make integration\\n        sendWebhookLog({\\n          action: 'purchase',\\n          status: data.success ? 'success' : 'error',\\n          error_type: data.error || null,\\n          http_status: response.status,\\n          api_response: data\\n        });\\n\\n        if (data.error) {\\n          let errorMessage = \\\"\\\";\\n\\n          if (data.error === 'fail_validate') {\\n            showDialog(\\\"A data de nascimento informada est\\xe1 incorreta. <a onclick='showSecondStep()'>Voltar</a>\\\", 'warning');\\n          } else {\\n            showDialog('Ops... n\\xe3o estamos conseguindo processar a informa\\xe7\\xe3o. Voc\\xea pode aguardar um pouco ou <a href=\\\"https://api.whatsapp.com/send?phone=5511997451333\\\" target=\\\"_blank\\\">clicar aqui</a> para falar com nosso time.', 'alert');\\n          }\\n        }\\n\\n        if (data.success) {\\n          // GTM Event\\n          tagManager('purchaseCoach', locale, addons[0].price, addons[0].addonCode, userInfo.ip, userInfo.city, userInfo.region, phoneNumber);\\n\\n          showBookingStep();\\n        }\\n      }\\n    } catch (error) {\\n      // Log Make integration\\n      await sendWebhookLog({\\n        action: 'purchase',\\n        status: 'error',\\n        error_type: 'unexpected_error',\\n        http_status: null,\\n        api_response: null\\n      });\\n\\n      showDialog('Ops... n\\xe3o estamos conseguindo processar a informa\\xe7\\xe3o. Voc\\xea pode aguardar um pouco ou <a href=\\\"https://api.whatsapp.com/send?phone=5511997451333\\\" target=\\\"_blank\\\">clicar aqui</a> para falar com nosso time.', 'alert');\\n      modalElement.classList.remove('loading');\\n    } finally {\\n      modalElement.classList.remove('loading');\\n    }\\n  }\\n\\n  // Show checkout step\\n  const showCheckoutStep = () => {\\n    // Title elements\\n    hideElement('.title');\\n\\n    // Subtitle elements\\n    hideElement('.subtitle-section');\\n\\n    // Steps elements\\n    hideElement('.steps-section');\\n\\n    // Form elements\\n    hideElement('#first-form-step');\\n    hideElement('#second-form-step');\\n    hideElement('#third-form-step');\\n    showElement('#checkout-step');\\n    hideElement('#booking-step');\\n\\n    // Add delay to open the URL\\n    setTimeout(() => {\\n      window.top.open(`https://www.smartfit.com.br/checkout/digital/${addons[0].addonCode}`, '_parent');\\n    }, 2000);\\n  }\\n\\n  // Show booking step\\n  const showBookingStep = () => {\\n    // Subtitle elements\\n    hideElement('#first-subtitle-step');\\n    hideElement('#second-subtitle-step');\\n    hideElement('#third-subtitle-step');\\n\\n    // Steps elements\\n    hideElement('.steps-section');\\n\\n    // Form elements\\n    hideElement('#first-form-step');\\n    hideElement('#second-form-step');\\n    hideElement('#third-form-step');\\n    hideElement('#checkout-step');\\n    showElement('#booking-step');\\n\\n    // Add delay to open the URL\\n    setTimeout(() => {\\n      window.top.open(\\\"https://coach.smartfit.com/br/obrigado/\\\", '_parent');\\n    }, 2000);\\n  }\\n\\n  // Load addons\\n  const loadAddons = () => {\\n    const addonsContainer = document.querySelector('#third-form-step');\\n\\n    addons.forEach(element => {\\n      const productElement = `\\n        <div class=\\\"product\\\">\\n          <p>Produto Adicional:</p>\\n          <div class=\\\"product-info\\\">\\n            <p>${element.name}</p>\\n            <p>R$ ${element.price.toFixed(2).replace('.', ',')}/m\\xeas</p>\\n          </div>\\n          <div class=\\\"product-benefits\\\">\\n            <ul>\\n              ${element.benefits.map(benefit => `<li>${benefit}</li>`).join('')}\\n            </ul>\\n          </div>\\n          <div class=\\\"product-fidelity\\\">\\n            <p>Per\\xedodo de fidelidade: ${element.fidelity}</p>\\n          </div>\\n\\n          <div class=\\\"submit-section\\\">\\n            <button class=\\\"submit-button\\\" onclick=\\\"handlePurchase('${element.addonCode}')\\\">Adicionar ao plano</button>\\n          </div>\\n\\n        </div>\\n      `\\n\\n      addonsContainer.innerHTML += productElement;\\n    });\\n  }\\n\\n  /** Helper functions **/\\n\\n  // Hide HTML Elements\\n  const hideElement = (elementId) => {\\n    document.querySelector(elementId).classList.add('d-none');\\n  }\\n\\n  // Show HTML Elements\\n  const showElement = (elementId) => {\\n    document.querySelector(elementId).classList.remove('d-none');\\n  }\\n\\n  // Mark step HTML element as active\\n  const setStepActive = (stepId) => {\\n    document.querySelector(stepId).classList.add('active');\\n  }\\n\\n  // Mark step HTML element as inactive\\n  const setStepInactive = (stepId) => {\\n    document.querySelector(stepId).classList.remove('active');\\n  }\\n\\n  // Set username into HTML text\\n  const setUserNameElement = (userName) => {\\n    document.querySelector('#user-name').innerHTML = userName;\\n  }\\n\\n  // Change step number in HTML text\\n  const setStepNumber = (stepCount) => {\\n    document.querySelector('#step-number').innerHTML = stepCount;\\n  }\\n\\n  // Remove HTML invalid class\\n  const removeInvalidClass = (element) => {\\n    element.classList.remove('invalid');\\n  }\\n\\n  // Show dialog HTML element\\n  const showDialog = (message, dialogType) => {\\n    const containerElement = document.querySelector('.validations-section');\\n\\n    const elementDialog = `\\n      <div class=\\\"dialog ${dialogType}-dialog\\\">\\n        <p>${message}</p>\\n        <button type=\\\"button\\\" class=\\\"btn btn-dismiss\\\" onclick=\\\"closeDialog(this)\\\"><i class=\\\"icon-times\\\"></i></button>\\n      </div>\\n    `\\n\\n    containerElement.innerHTML += elementDialog;\\n  }\\n\\n  // Close dialog HTML element\\n  const closeDialog = (element) => {\\n    element.closest('div.dialog').remove();\\n  }\\n\\n  // Close all dialogs HTML element\\n  const closeAllDialogs = () => {\\n    let dialog = document.querySelector('.dialog');\\n    while (dialog) {\\n      dialog.remove()\\n\\n      dialog = document.querySelector('.dialog');\\n    }\\n  }\\n\\n  // Get birthday value from input field\\n  const castBirthdayValue = (birthdayValue) => {\\n    try {\\n      if (birthdayValue.length !== 10) return null\\n\\n      let birthdaySplit = birthdayValue.split('/');\\n\\n      return new Date(`${birthdaySplit[2]}-${birthdaySplit[1]}-${birthdaySplit[0]}`);\\n    } catch (e) {\\n      return null;\\n    }\\n  }\\n\\n  // Validate birthday value\\n  const validateBirthday = (birthdayValue) => {\\n    if (!birthdayValue) return false;\\n\\n    const today = new Date();\\n    const minDate = new Date('1900-01-01');\\n\\n    if (birthdayValue > today || birthdayValue < minDate) return false;\\n\\n    const age = today.getFullYear() - birthdayValue.getFullYear();\\n    const monthDiff = today.getMonth() - birthdayValue.getMonth();\\n\\n    if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthdayValue.getDate())) {\\n      return age - 1 >= 14;\\n    }\\n\\n    return age >= 14;\\n  };\\n\\n  // Fields masks\\n  const masks = {\\n    userDocument: (value) => {\\n      return value\\n        .replace(/\\\\D/g, \\\"\\\")\\n        .replace(/(\\\\d{3})(\\\\\",id:\"VsblPzL0Y\",layoutId:\"VsblPzL0Y\",style:{height:\"100%\",maxWidth:\"100%\",width:\"100%\"},type:\"html\",url:\"\",width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Pq4Qe.framer-1u66lyd, .framer-Pq4Qe .framer-1u66lyd { display: block; }\",\".framer-Pq4Qe.framer-o950tj { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 500px; }\",\".framer-Pq4Qe .framer-dw15je-container { flex: none; height: 650px; max-width: 100%; min-height: 650px; position: relative; width: 500px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 650\n * @framerIntrinsicWidth 500\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerh5NWxQxUQ=withCSS(Component,css,\"framer-Pq4Qe\");export default Framerh5NWxQxUQ;Framerh5NWxQxUQ.displayName=\"embedded pt-BR (promo)\";Framerh5NWxQxUQ.defaultProps={height:650,width:500};addFonts(Framerh5NWxQxUQ,[{explicitInter:true,fonts:[]},...EmbedFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerh5NWxQxUQ\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"500\",\"framerIntrinsicHeight\":\"650\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./h5NWxQxUQ.map"],
  "mappings": "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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;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;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;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;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;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,+BAAknzB,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,SAAS,OAAO,MAAM,MAAM,EAAE,KAAK,OAAO,IAAI,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQC,GAAI,CAAC,kFAAkF,kFAAkF,gQAAgQ,6IAA6I,EAU1o6BC,EAAgBC,EAAQtC,GAAUoC,GAAI,cAAc,EAASG,GAAQF,EAAgBA,EAAgB,YAAY,yBAAyBA,EAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,GAAG,EAAEG,EAASH,EAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,EAAE,GAAGI,EAAU,EAAE,CAAC,6BAA6B,EAAI,CAAC",
  "names": ["Embed", "type", "url", "html", "zoom", "radius", "border", "style", "p", "EmbedUrl", "EmbedHtml", "Instructions", "addPropertyControls", "ControlType", "props", "getMinHeight", "emptyStateStyle", "centerTextStyle", "hasAutoHeight", "onCanvas", "useIsOnCanvas", "state", "setState", "ye", "ue", "isLastEffect", "load", "response", "isBlocked", "message", "error", "ErrorMessage", "LoadingIndicator", "iframeStyle", "getSandbox", "result", "hasSplineViewer", "hasComment", "EmbedHtmlWithScripts", "EmbedHtmlInsideIframe", "EmbedHtmlWithoutScripts", "ref", "pe", "iframeHeight", "setIframeHeight", "iframeWindow", "handleMessage", "event", "data", "height", "window", "srcDoc", "currentStyle", "div", "executeScripts", "htmlStyle", "node", "script", "name", "value", "child", "containerStyles", "EmbedFonts", "getFonts", "Embed", "serializationHash", "variantClassNames", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "variant", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "variantClassNames", "layoutDependency", "scopingClassNames", "cx", "serializationHash", "LayoutGroup", "ComponentViewportProvider", "SmartComponentScopedContainer", "Embed", "css", "Framerh5NWxQxUQ", "withCSS", "h5NWxQxUQ_default", "addFonts", "EmbedFonts"]
}
