{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:react-dom@18.2.0/client.js", "ssg:https://framerusercontent.com/modules/I1DC9cTt2FcHsDUAaRxW/6iIIX4SzvuX6GX8XtSv5/SVG_Prod.js", "ssg:https://framerusercontent.com/modules/xiPvRhkNSPLqb4IOzDMX/FhaiYZS4Lg7czqTcdqUe/FvDs80k_Z.js", "ssg:https://framerusercontent.com/modules/sPPEJJGDR4eUvdon1Bel/f3XESni8XlI3ypQ6Exdb/HbzxRJMyi.js", "ssg:https://framerusercontent.com/modules/JZEfeogXQeaxaLFqpEJc/HaxdFUg7w39fBBVMgrTw/NVHKTtfMi.js", "ssg:https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js", "ssg:https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js", "ssg:https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16", "ssg:https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js", "ssg:https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js", "ssg:https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js", "ssg:https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js", "ssg:https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js", "ssg:https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js", "ssg:https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js", "ssg:https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js", "ssg:https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js", "ssg:https://framerusercontent.com/modules/78wJr0q4vFZTRbgiA8bC/Y2EfGRGz13i3kdwNCKGk/gU109MUNe.js", "ssg:https://framerusercontent.com/modules/ELShJOb8481RiXbHkViu/FLNHYexYXUqcA67SmqqX/O_XANgFfo.js", "ssg:https://framerusercontent.com/modules/rOhdnhgmOYQEUt7apCPW/Xe8nzYHg5JCrtBpnBHFc/JEGIr2HDn.js", "ssg:https://framerusercontent.com/modules/NdhBP82aEj5GmgnjggO1/9OpaQVqrPER5ATZGiRBn/l0dFWU3dr.js", "framer:toplevel:framer:toplevel/main"],
  "sourcesContent": ["import*as t from\"react-dom\";var o=\"default\"in t?t.default:t;var a={};var e=o;a.createRoot=e.createRoot;a.hydrateRoot=e.hydrateRoot;const r=a.createRoot,d=a.hydrateRoot;export{r as createRoot,a as default,d as hydrateRoot};\n\n//# sourceMappingURL=client.js.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function SVG(props){const[customSvgElement,setCustomSvgElement]=useState(null);useEffect(()=>{const svgContent=props.customSvgCode;processCustomSVGContent(svgContent);});const processCustomSVGContent=svgContent=>{const replacements=[[/width=\"[^\"]*\"/,'width=\"100%\"'],[/height=\"[^\"]*\"/,'height=\"100%\"']];const hasCustomStroke=svgContent.includes('stroke=\"');const hasCustomStrokeWidth=svgContent.includes('stroke-width=\"');const hasLineCap=svgContent.includes('stroke-linecap=\"');const hasLineJoin=svgContent.includes('stroke-linejoin=\"');if(svgContent.includes(\"<circle\")){const circleFillRegex=/<circle[^>]*fill=\"([^\"]*)\"/;const match=svgContent.match(circleFillRegex);if(match){const updatedCircle=match[0].replace(match[1],props.customColor);svgContent=svgContent.replace(circleFillRegex,updatedCircle);}else{replacements.push([/<circle/g,`<circle fill=\"${props.customColor}\"`]);}}if(hasCustomStroke){if(!hasLineCap){replacements.push([/<path/g,`<path stroke=\"${props.customColor}\"`]);}else{replacements.push([/<path/g,`<path stroke=\"${props.customColor}\" stroke-linecap=\"${props.lineCap}\"`]);}if(hasCustomStrokeWidth){replacements.push([/stroke-width=\"(?!0\\b)\\d+(\\.\\d+)?\"/g,`stroke-width=\"${props.customStrokeWidth}\"`]);}}else{replacements.push([/<path/g,`<path fill=\"${props.customColor}\"`]);}if(svgContent.includes('overflow=\"')){replacements.push([/overflow=\"[^\"]*\"/,`overflow=\"visible\"`]);}else{replacements.push([/<svg/,`<svg overflow=\"visible\"`]);}if(!hasLineJoin){replacements.push([/<path/g,`<path stroke-linejoin=\"${props.lineJoin}\"`]);}else{replacements.push([/stroke-linejoin=\"[^\"]*\"/,`stroke-linejoin=\"${props.lineJoin}\"`]);}replacements.forEach(([regex,replacement])=>{svgContent=svgContent.replace(regex,replacement);});setCustomSvgElement(svgContent);};const customContainerStyle={padding:`${props.customPadding}px`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\"};const accessibilityProps={role:\"img\",...props.title&&{\"aria-label\":props.title},...props.description&&{\"aria-description\":props.description}};return /*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:customSvgElement},style:customContainerStyle,...accessibilityProps});}SVG.displayName=\"SVG\";SVG.defaultProps={customSvgCode:`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g clip-path=\"url(#clip0_967_124)\"> <path d=\"M18 6.09674C18 6.0348 18.0246 5.97539 18.0684 5.93159L23.6013 0.398708C23.7484 0.251575 24 0.35578 24 0.563858V11.9033C24 11.9652 23.9754 12.0246 23.9316 12.0684L18 18V6.09674Z\" fill=\"white\"/> <path d=\"M6 18V6.56386C6 6.35578 5.74843 6.25158 5.60129 6.39871L0.0684074 11.9316C0.0246069 11.9754 0 12.0348 0 12.0967V23.7664C0 23.8954 0.104567 24 0.233557 24H11.9033C11.9652 24 12.0246 23.9754 12.0684 23.9316L18 18H6Z\" fill=\"white\"/> </g> <defs> <clipPath id=\"clip0_967_124\"> <rect width=\"24\" height=\"24\" fill=\"white\"/> </clipPath> </defs> </svg>`,customColor:\"#ffffff\",customPadding:0,customStrokeWidth:2,lineCap:\"butt\",lineJoin:\"miter\",title:\"\",description:\"\"};addPropertyControls(SVG,{customSvgCode:{type:ControlType.String,title:\"SVG Code\",displayTextArea:false},customColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\"},customPadding:{type:ControlType.Number,title:\"Padding\",defaultValue:0,min:0,step:1,displayStepper:true},customStrokeWidth:{type:ControlType.Number,title:\"Stroke\",defaultValue:2,min:0,step:.1,displayStepper:true,hidden:props=>!props.customSvgCode.includes('stroke=\"')},lineCap:{type:ControlType.Enum,title:\"Line Cap\",options:[\"butt\",\"round\",\"square\"],optionTitles:[\"Butt\",\"Round\",\"Square\"],defaultValue:\"butt\",hidden:props=>!props.customSvgCode.includes('stroke=\"')},lineJoin:{type:ControlType.Enum,title:\"Line Join\",options:[\"round\",\"miter\",\"bevel\"],optionTitles:[\"Round\",\"Miter\",\"Bevel\"],defaultValue:\"miter\",hidden:props=>!props.customSvgCode.includes('stroke=\"')},title:{type:ControlType.String,title:\"Title\",defaultValue:\"\",placeholder:\"Icon name...\"},description:{type:ControlType.String,title:\"Description\",defaultValue:\"\",placeholder:\"Icon purpose...\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});export default SVG;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SVG\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SVG_Prod.map", "// Generated by Framer (de48785)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"CQOjdqhQA\",\"YtMR5QZce\"];const serializationHash=\"framer-lkrYW\";const variantClassNames={CQOjdqhQA:\"framer-v-1yhv0ng\",YtMR5QZce:\"framer-v-1cyknr1\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.8,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 humanReadableVariantMap={Close:\"YtMR5QZce\",Open:\"CQOjdqhQA\"};const getProps=({click,height,id,width,...props})=>{return{...props,JB0qH6k0j:click??props.JB0qH6k0j,variant:humanReadableVariantMap[props.variant]??props.variant??\"CQOjdqhQA\"};};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,JB0qH6k0j,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"CQOjdqhQA\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapoz23vv=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(JB0qH6k0j){const res=await JB0qH6k0j(...args);if(res===false)return false;}});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__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1yhv0ng\",className,classNames),\"data-framer-name\":\"Open\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"CQOjdqhQA\",onTap:onTapoz23vv,ref:refBinding,style:{...style},...addPropertyOverrides({YtMR5QZce:{\"data-framer-name\":\"Close\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1renjkx\",layoutDependency:layoutDependency,layoutId:\"MDBH3Yy5h\",style:{backgroundColor:\"var(--token-beed9a64-acda-40f3-b127-ba90382fb32d, rgb(67, 59, 50))\",rotate:0},variants:{YtMR5QZce:{rotate:45}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-56davk\",layoutDependency:layoutDependency,layoutId:\"i8n2AXUKc\",style:{backgroundColor:\"var(--token-beed9a64-acda-40f3-b127-ba90382fb32d, rgb(67, 59, 50))\",rotate:0},variants:{YtMR5QZce:{rotate:-45}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-lkrYW.framer-1ao6sss, .framer-lkrYW .framer-1ao6sss { display: block; }\",\".framer-lkrYW.framer-1yhv0ng { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 40px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 40px; }\",\".framer-lkrYW .framer-1renjkx { flex: none; height: 2px; left: calc(50.00000000000002% - 28px / 2); overflow: hidden; position: absolute; top: 16px; width: 28px; z-index: 1; }\",\".framer-lkrYW .framer-56davk { bottom: 16px; flex: none; height: 2px; left: calc(50.00000000000002% - 28px / 2); overflow: hidden; position: absolute; width: 28px; z-index: 1; }\",\".framer-lkrYW.framer-v-1cyknr1.framer-1yhv0ng { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 40px); }\",\".framer-lkrYW.framer-v-1cyknr1 .framer-1renjkx { top: 19px; }\",\".framer-lkrYW.framer-v-1cyknr1 .framer-56davk { bottom: unset; top: calc(50.00000000000002% - 2px / 2); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 40\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"YtMR5QZce\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"JB0qH6k0j\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerFvDs80k_Z=withCSS(Component,css,\"framer-lkrYW\");export default FramerFvDs80k_Z;FramerFvDs80k_Z.displayName=\"Hamburger Button\";FramerFvDs80k_Z.defaultProps={height:40,width:40};addPropertyControls(FramerFvDs80k_Z,{variant:{options:[\"CQOjdqhQA\",\"YtMR5QZce\"],optionTitles:[\"Open\",\"Close\"],title:\"Variant\",type:ControlType.Enum},JB0qH6k0j:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerFvDs80k_Z,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerFvDs80k_Z\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"YtMR5QZce\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"40\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"JB0qH6k0j\\\":\\\"click\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FvDs80k_Z.map", "// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"qUr6K2nJv\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"MbfmAbWGf\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"16.5px\"/><path d=\"M 0 0 L 0 16.5\" fill=\"transparent\" height=\"16.5px\" id=\"mcA57vhod\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 3.75)\" width=\"1px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"465907804\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ohg0r\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-ohg0r { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Plus\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-ohg0r\");Icon.displayName=\"Plus\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Plus\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (de48785)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Plus from\"https://framerusercontent.com/modules/sPPEJJGDR4eUvdon1Bel/f3XESni8XlI3ypQ6Exdb/HbzxRJMyi.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/NXD7HGiKygNsyWsU4rTy/TMmr6OXLIkmm0PWO5UKe/oDz5TtC3s.js\";const PlusFonts=getFonts(Plus);const cycleOrder=[\"F_r5dzn6Q\",\"tVUrC7rO8\",\"fLZzovbFP\",\"ucKnwBwVY\",\"WNnuUMtxd\",\"YPzXG3Vpb\"];const serializationHash=\"framer-JsH3R\";const variantClassNames={F_r5dzn6Q:\"framer-v-1swkbmv\",fLZzovbFP:\"framer-v-1bww52x\",tVUrC7rO8:\"framer-v-1oxeyn7\",ucKnwBwVY:\"framer-v-ctf2uh\",WNnuUMtxd:\"framer-v-po6ya4\",YPzXG3Vpb:\"framer-v-1p7vq6y\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:0,delay:0,duration:1.5,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 humanReadableVariantMap={\"Slide 1\":\"tVUrC7rO8\",\"Slide 2\":\"fLZzovbFP\",\"Slide 3\":\"ucKnwBwVY\",\"With +\":\"WNnuUMtxd\",Default:\"F_r5dzn6Q\",Mobile:\"YPzXG3Vpb\"};const getProps=({height,id,link,title,width,...props})=>{return{...props,g22ZfE0tn:link??props.g22ZfE0tn,Lgqusmx_7:title??props.Lgqusmx_7??\"PRODUCTS\",variant:humanReadableVariantMap[props.variant]??props.variant??\"F_r5dzn6Q\"};};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,Lgqusmx_7,g22ZfE0tn,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"F_r5dzn6Q\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onMouseEnter1td0i0n=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"tVUrC7rO8\");});const onMouseLeave1d1ur8z=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"fLZzovbFP\");});const onMouseEnter39k5vj=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"ucKnwBwVY\");});const onMouseLeaveia43x8=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"F_r5dzn6Q\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"WNnuUMtxd\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:g22ZfE0tn,motionChild:true,nodeId:\"F_r5dzn6Q\",openInNewTab:false,scopeId:\"NVHKTtfMi\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1swkbmv\",className,classNames)} framer-1qp59sb`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"F_r5dzn6Q\",onMouseEnter:onMouseEnter1td0i0n,ref:refBinding,style:{...style},...addPropertyOverrides({fLZzovbFP:{\"data-framer-name\":\"Slide 2\",onMouseEnter:onMouseEnter39k5vj},tVUrC7rO8:{\"data-framer-name\":\"Slide 1\",onMouseLeave:onMouseLeave1d1ur8z},ucKnwBwVY:{\"data-framer-name\":\"Slide 3\",onMouseEnter:undefined,onMouseLeave:onMouseLeaveia43x8},WNnuUMtxd:{\"data-framer-name\":\"With +\"},YPzXG3Vpb:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-zisq7p\",\"data-styles-preset\":\"oDz5TtC3s\",children:\"PRODUCTS\"})}),className:\"framer-12kx1vx\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"JIz4lDeP0\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:Lgqusmx_7,variants:{tVUrC7rO8:{\"--extracted-1of0zx5\":\"var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80))\"},ucKnwBwVY:{\"--extracted-1of0zx5\":\"var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80))\"},YPzXG3Vpb:{\"--extracted-1of0zx5\":\"var(--token-beed9a64-acda-40f3-b127-ba90382fb32d, rgb(67, 59, 50))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({tVUrC7rO8:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-zisq7p\",\"data-styles-preset\":\"oDz5TtC3s\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80)))\"},children:\"PRODUCTS\"})})},ucKnwBwVY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-zisq7p\",\"data-styles-preset\":\"oDz5TtC3s\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80)))\"},children:\"PRODUCTS\"})})},YPzXG3Vpb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{style:{\"--font-selector\":\"R0Y7QnJpY29sYWdlIEdyb3Rlc3F1ZS03MDA=\",\"--framer-font-family\":'\"Bricolage Grotesque\", \"Bricolage Grotesque Placeholder\", sans-serif',\"--framer-font-size\":\"28px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.08em\",\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-beed9a64-acda-40f3-b127-ba90382fb32d, rgb(67, 59, 50)))\"},children:\"PRODUCTS\"})}),fonts:[\"GF;Bricolage Grotesque-700\"]}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(Plus,{animated:true,className:\"framer-ke91uj\",layoutDependency:layoutDependency,layoutId:\"rqYq1bQV8\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80))\",\"--pgex8v\":1.5}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-18w2yx1\",\"data-framer-name\":\"Line 1\",layoutDependency:layoutDependency,layoutId:\"sVShy_qKV\",style:{backgroundColor:\"var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80))\",opacity:0},variants:{tVUrC7rO8:{opacity:.5},ucKnwBwVY:{opacity:.5}}})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-JsH3R.framer-1qp59sb, .framer-JsH3R .framer-1qp59sb { display: block; }\",\".framer-JsH3R.framer-1swkbmv { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 40px; justify-content: center; overflow: hidden; padding: 0px 16px 0px 16px; position: relative; text-decoration: none; width: min-content; }\",\".framer-JsH3R .framer-12kx1vx { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-JsH3R .framer-ke91uj { flex: none; height: var(--framer-aspect-ratio-supported, 200px); position: relative; }\",\".framer-JsH3R .framer-18w2yx1 { flex: none; height: 2px; left: -103px; overflow: hidden; position: absolute; top: calc(82.50000000000001% - 2px / 2); width: 95px; z-index: 1; }\",\".framer-JsH3R.framer-v-1oxeyn7 .framer-18w2yx1, .framer-JsH3R.framer-v-ctf2uh .framer-18w2yx1 { left: 15px; right: 15px; width: unset; }\",\".framer-JsH3R.framer-v-1bww52x .framer-18w2yx1 { left: 135px; right: -105px; width: unset; }\",\".framer-JsH3R.framer-v-po6ya4.framer-1swkbmv { gap: 4px; }\",\".framer-JsH3R.framer-v-po6ya4 .framer-12kx1vx { order: 0; }\",\".framer-JsH3R.framer-v-po6ya4 .framer-ke91uj { order: 1; }\",\".framer-JsH3R.framer-v-po6ya4 .framer-18w2yx1 { order: 3; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 127\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"tVUrC7rO8\":{\"layout\":[\"auto\",\"fixed\"]},\"fLZzovbFP\":{\"layout\":[\"auto\",\"fixed\"]},\"ucKnwBwVY\":{\"layout\":[\"auto\",\"fixed\"]},\"WNnuUMtxd\":{\"layout\":[\"auto\",\"fixed\"]},\"YPzXG3Vpb\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"Lgqusmx_7\":\"title\",\"g22ZfE0tn\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerNVHKTtfMi=withCSS(Component,css,\"framer-JsH3R\");export default FramerNVHKTtfMi;FramerNVHKTtfMi.displayName=\"Menu items\";FramerNVHKTtfMi.defaultProps={height:40,width:127};addPropertyControls(FramerNVHKTtfMi,{variant:{options:[\"F_r5dzn6Q\",\"tVUrC7rO8\",\"fLZzovbFP\",\"ucKnwBwVY\",\"WNnuUMtxd\",\"YPzXG3Vpb\"],optionTitles:[\"Default\",\"Slide 1\",\"Slide 2\",\"Slide 3\",\"With +\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum},Lgqusmx_7:{defaultValue:\"PRODUCTS\",displayTextArea:false,title:\"Title\",type:ControlType.String},g22ZfE0tn:{title:\"Link\",type:ControlType.Link}});addFonts(FramerNVHKTtfMi,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Bricolage Grotesque\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/bricolagegrotesque/v8/3y9U6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiaaD30YfKfjZZoLvfzlyMgvs-wJDtw.woff2\",weight:\"700\"}]},...PlusFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerNVHKTtfMi\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"Lgqusmx_7\\\":\\\"title\\\",\\\"g22ZfE0tn\\\":\\\"link\\\"}\",\"framerIntrinsicWidth\":\"127\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"tVUrC7rO8\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"fLZzovbFP\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"ucKnwBwVY\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"WNnuUMtxd\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"YPzXG3Vpb\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"40\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NVHKTtfMi.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";export function SearchIcon(props){return /*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:props.width,height:props.height,style:{...props.style,color:props.color},children:/*#__PURE__*/ _jsx(\"path\",{d:\"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\",fill:\"currentColor\"})});}export function ClearIcon(props){return /*#__PURE__*/ _jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",...props,children:[/*#__PURE__*/ _jsx(\"rect\",{width:\"256\",height:\"256\",fill:\"none\"}),/*#__PURE__*/ _jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z\",fill:\"currentColor\"})]});}export function SpinnerIcon(props){const borderWidth=3;return /*#__PURE__*/ _jsxs(\"div\",{style:{position:\"relative\",...props.style},children:[/*#__PURE__*/ _jsx(motion.div,{animate:{rotate:360},transition:{ease:\"linear\",duration:1,repeat:Infinity},style:{borderRadius:100,backgroundImage:`conic-gradient(from 270deg, transparent 0%, ${props.color} 100%)`,width:\"100%\",height:\"100%\"}}),/*#__PURE__*/ _jsx(\"div\",{style:{backgroundColor:props.backgroundColor,borderRadius:100,position:\"absolute\",top:borderWidth,left:borderWidth,bottom:borderWidth,right:borderWidth}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ClearIcon\":{\"type\":\"reactComponent\",\"name\":\"ClearIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SpinnerIcon\":{\"type\":\"reactComponent\",\"name\":\"SpinnerIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIcon\":{\"type\":\"reactComponent\",\"name\":\"SearchIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icons.map", "export function Storage(name) {\n    this.ready = new Promise((resolve, reject)=>{\n        var request = window.indexedDB.open(location.origin);\n        request.onupgradeneeded = (e)=>{\n            this.db = e.target[\"result\"];\n            this.db.createObjectStore(\"store\");\n        };\n        request.onsuccess = (e)=>{\n            this.db = e.target[\"result\"];\n            resolve();\n        };\n        request.onerror = (e)=>{\n            this.db = e.target[\"result\"];\n            reject(e);\n        };\n    });\n}\nStorage.prototype.get = function(key) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().get(key);\n            request.onsuccess = (e)=>resolve(e.target.result)\n            ;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.getStore = function() {\n    return this.db.transaction([\n        \"store\"\n    ], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function(key, value) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().put(value, key);\n            request.onsuccess = resolve;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.delete = function(key, value) {\n    window.indexedDB.deleteDatabase(location.origin);\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"Storage\":{\"type\":\"function\"}}}", "// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map", "import{checkForCachedData,setCachedData}from\"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";const VERSION=1;const defaultLocaleId=\"default\";export function isDefaultLocaleId(localeId){return!localeId||localeId===\"default\";}const INDEX_KEY=\"searchIndexCache\";function getIndexKey(localeId){if(isDefaultLocaleId(localeId))return INDEX_KEY;return`${INDEX_KEY}-${localeId}`;}const METADATA_KEY=\"searchCacheMetadata\";function getMetadataKey(localeId){if(isDefaultLocaleId(localeId))return METADATA_KEY;return`${METADATA_KEY}-${localeId}`;}export async function getCachedIndex(localeId,indexHash){// A check here for metadata can be added later if we need to\n// migrate or expire the index. Though most likely, any version change\n// should result in deleting the cache and starting again.\nconst metadataKey=getMetadataKey(localeId);const indexKey=getIndexKey(localeId);const[metadata,cachedIndex]=await Promise.all([checkForCachedData(metadataKey),checkForCachedData(indexKey)]);if(cachedIndex){return{status:indexHash&&metadata?.indexHash===indexHash?\"fresh\":\"stale\",searchIndex:cachedIndex,indexHash:metadata?.indexHash};}return{status:\"miss\"};}export function setCachedIndex(localeId,index,indexHash){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now(),indexHash};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"isDefaultLocaleId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map", "// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults={\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",codeblock:[]},\"/example-1\":{version:1,title:\"Publish your Site to Search\",description:\"Try Site Search to instantly search your Framer site content.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/1/\",codeblock:[]},\"/example-2\":{version:1,title:\"Customise your Site Search\",description:\"Personalize everything from corner radius, to icon weight.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/2/\",codeblock:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"fakeResults\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map", "// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq=new Uint32Array(65536);const myers_32=(a,b)=>{const n=a.length;const m=b.length;const lst=1<<n-1;let pv=-1;let mv=0;let sc=n;let i=n;while(i--){peq[a.charCodeAt(i)]|=1<<i;}for(i=0;i<m;i++){let eq=peq[b.charCodeAt(i)];const xv=eq|mv;eq|=(eq&pv)+pv^pv;mv|=~(eq|pv);pv&=eq;if(mv&lst){sc++;}if(pv&lst){sc--;}mv=mv<<1|1;pv=pv<<1|~(xv|mv);mv&=xv;}i=n;while(i--){peq[a.charCodeAt(i)]=0;}return sc;};const myers_x=(b,a)=>{const n=a.length;const m=b.length;const mhc=[];const phc=[];const hsize=Math.ceil(n/32);const vsize=Math.ceil(m/32);for(let i=0;i<hsize;i++){phc[i]=-1;mhc[i]=0;}let j=0;for(;j<vsize-1;j++){let mv=0;let pv=-1;const start=j*32;const vlen=Math.min(32,m)+start;for(let k=start;k<vlen;k++){peq[b.charCodeAt(k)]|=1<<k;}for(let i1=0;i1<n;i1++){const eq=peq[a.charCodeAt(i1)];const pb=phc[i1/32|0]>>>i1&1;const mb=mhc[i1/32|0]>>>i1&1;const xv=eq|mv;const xh=((eq|mb)&pv)+pv^pv|eq|mb;let ph=mv|~(xh|pv);let mh=pv&xh;if(ph>>>31^pb){phc[i1/32|0]^=1<<i1;}if(mh>>>31^mb){mhc[i1/32|0]^=1<<i1;}ph=ph<<1|pb;mh=mh<<1|mb;pv=mh|~(xv|ph);mv=ph&xv;}for(let k1=start;k1<vlen;k1++){peq[b.charCodeAt(k1)]=0;}}let mv1=0;let pv1=-1;const start1=j*32;const vlen1=Math.min(32,m-start1)+start1;for(let k2=start1;k2<vlen1;k2++){peq[b.charCodeAt(k2)]|=1<<k2;}let score=m;for(let i2=0;i2<n;i2++){const eq1=peq[a.charCodeAt(i2)];const pb1=phc[i2/32|0]>>>i2&1;const mb1=mhc[i2/32|0]>>>i2&1;const xv1=eq1|mv1;const xh1=((eq1|mb1)&pv1)+pv1^pv1|eq1|mb1;let ph1=mv1|~(xh1|pv1);let mh1=pv1&xh1;score+=ph1>>>m-1&1;score-=mh1>>>m-1&1;if(ph1>>>31^pb1){phc[i2/32|0]^=1<<i2;}if(mh1>>>31^mb1){mhc[i2/32|0]^=1<<i2;}ph1=ph1<<1|pb1;mh1=mh1<<1|mb1;pv1=mh1|~(xv1|ph1);mv1=ph1&xv1;}for(let k3=start1;k3<vlen1;k3++){peq[b.charCodeAt(k3)]=0;}return score;};const distance=(a,b)=>{if(a.length<b.length){const tmp=b;b=a;a=tmp;}if(b.length===0){return a.length;}if(a.length<=32){return myers_32(a,b);}return myers_x(a,b);};const closest=(str,arr)=>{let min_distance=Infinity;let min_index=0;for(let i=0;i<arr.length;i++){const dist=distance(str,arr[i]);if(dist<min_distance){min_distance=dist;min_index=i;}}return arr[min_index];};export{closest,distance};\nexport const __FramerMetadata__ = {\"exports\":{\"closest\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"distance\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fuzzySearch.map", "export const localStorageDebugFlag=(()=>{try{return typeof window!==\"undefined\"&&window.localStorage.__framerDebugSearch===\"true\";}catch(e){// localStorage not available\n}})();const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]\\d*|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}export function clampText(text,maxLength){const textLength=text.length;if(textLength<=maxLength){return text;}const slicedText=text.slice(0,maxLength);if(textLength>maxLength){return slicedText+\"\u2026\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){if(theme.inputFont?.fontFamily)return theme.inputFont.fontFamily;if(theme.titleFont?.fontFamily)return theme.titleFont.fontFamily;if(theme.subtitleFont?.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument?.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};export function stripLocaleSlugFromPath(url,localeSlug){if(!localeSlug)return url;const localeSlugWithSlash=`/${localeSlug}`;if(url.startsWith(localeSlugWithSlash)){return url.slice(localeSlugWithSlash.length);}}/**\n * @param isHighPriority If true and `scheduler.yield` is not available, the function will either use `postTask` or if also not available, return a resolved promise.\n */export function yieldToMain(isHighPriority){if(\"scheduler\"in window){// see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n// \"user-blocking\" is the highest priority and creates a paint opportunity.\n// \"user-visible\" is the default, creates a paint opportunity, but has more potential to be delayed (by \"user-blocking\" tasks).\nconst options={priority:isHighPriority?\"user-blocking\":\"user-visible\"};if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if(isHighPriority){// `setTimeout` could suffer from being delayed for longer: https://developer.chrome.com/blog/introducing-scheduler-yield-origin-trial#the_problem_with_current_yielding_strategies\n// so for browsers not supporting yield, we guarantee execution for high priority actions, but do not guarantee a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve,0);});}\nexport const __FramerMetadata__ = {\"exports\":{\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocaleSlugFromPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map", "// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}// If a cached index exists, use the cached version until the latest one from the network loads.\nconst cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status!==\"miss\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");if(cacheResult.status===\"fresh\")return;}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);// Happy case.\nif(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Unexpected error.\n// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);// It's safe to cache the fallback because if we're here, current cache is empty or stale.\nsetCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map", "// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map", "// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale.\n// If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultTitleType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js\";import{useViewportSizeState}from\"https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js\";import{titleCase,DEFAULT_FONT_FAMILY,isEmptyObject,animationKeyFromLayout,checkIfOverLimit}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var EntryPointOptions;// SITE SEARCH\n// By Anthony and Hunter\n(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/_jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/_jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */const EntryPoint=withCSS(function EntryPoint(props){const overlay=useRef(null);const[isOpen,setIsOpen]=useState(false);const[isOverLimit,setIsOverLimit]=useState(false);const[isSafariTouchDevice,setIsSafariTouchDevice]=useState(false);const[isOnCanvas]=useState(()=>RenderTarget.current()===RenderTarget.canvas);useEffect(()=>{setIsOverLimit(checkIfOverLimit());setIsSafariTouchDevice(Browser.isSafari()&&Browser.isTouch());},[]);const baseInputFontSize=props.inputOptions?.inputFont?.fontSize?props.inputOptions.inputFont.fontSize:\"16px\";// The font size is set to a minimum of `16px` on Safari with touch screens\n// because otherwise Safari will zoom in slightly if the type size is smaller.\nconst inputFontSize=isSafariTouchDevice?`max(16px, ${baseInputFontSize})`:baseInputFontSize;const layoutType=useViewportSizeState(size=>{if(size.width<props.modalOptions.width+10){return SearchLayoutType.FixedTop;}// @ts-ignore \u2013 Fallback\nreturn props.modalOptions.layoutType||props.layoutType;});const theme={subtitleColor:props.resultOptions.subtitleOptions.subtitleColor,backgroundColor:props.modalOptions.backgroundColor,foregroundColor:props.resultOptions.titleColor,placeholderColor:props.inputOptions.placeholderOptions.placeholderColor,titleFont:props.resultOptions?.titleFont&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:props.resultOptions.subtitleOptions?.subtitleFont&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:props.inputOptions?.inputFont&&!isEmptyObject(props.inputOptions.inputFont)?props.inputOptions.inputFont:{fontSize:16,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},// Keep separate so we can more easily override\ninputFontSize:inputFontSize,width:props.modalOptions.width,offsetTop:props.modalOptions.top,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",borderRadius:10,padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/_jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`],\"framer-lib-search\");export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore \u2013\u00A0Internal\ntype:ControlType.Font,displayFontSize:true},textColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},placeholderOptions:{title:\"Placeholder\",type:ControlType.Object,buttonTitle:\"Color, Text\",controls:{placeholderText:{title:\"Text\",type:ControlType.String,defaultValue:\"Search...\"},placeholderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.4)\"}}},dividerType:{title:\"Divider\",type:ControlType.Enum,options:Object.values(SearchInputDividerType),optionTitles:Object.keys(SearchInputDividerType).map(titleCase),defaultValue:SearchInputDividerType.FullWidth},clearButtonType:{title:\"Clear Type\",type:ControlType.Enum,options:Object.values(SearchInputClearButtonType),optionTitles:Object.keys(SearchInputClearButtonType).map(titleCase),defaultValue:SearchInputClearButtonType.Icon},clearButtonText:{title:\"Clear Text\",type:ControlType.String,defaultValue:\"Clear\",hidden:props=>props.clearButtonType!==SearchInputClearButtonType.Text}}},modalOptions:{title:\"Modal\",buttonTitle:\"Layout, Width\",type:ControlType.Object,controls:{layoutType:{title:\"Layout\",type:ControlType.Enum,options:Object.keys(SearchLayoutType),optionTitles:Object.values(SearchLayoutType).map(titleCase),defaultValue:SearchLayoutType.QuickMenu},width:{title:\"Width\",type:ControlType.Number,defaultValue:500,min:200,max:1e3,displayStepper:true,step:5,hidden:props=>props.layoutType===SearchLayoutType.FixedTop},top:{title:\"Top\",type:ControlType.Number,defaultValue:0,min:0,max:1e3,displayStepper:true,hidden:props=>props.layoutType!==SearchLayoutType.FixedTop},heightIsStatic:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Instant\",disabledTitle:\"Animate\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},heightTransition:{title:\"Type\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:800,damping:60},hidden:({heightIsStatic,layoutType})=>layoutType!==SearchLayoutType.QuickMenu||heightIsStatic},borderRadius:{title:\"Radius\",type:ControlType.Number,defaultValue:16,displayStepper:true,min:0,hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},shadow:{buttonTitle:\"Options\",type:ControlType.Object,defaultValue:{x:0,y:20,blur:40,spread:0,color:\"rgba(0,0,0,0.2)\"},controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.2)\"},x:{type:ControlType.Number,defaultValue:0},y:{type:ControlType.Number,defaultValue:20},blur:{type:ControlType.Number,defaultValue:40},spread:{type:ControlType.Number,defaultValue:0}}},backgroundColor:{title:\"Background\",type:ControlType.Color,defaultValue:\"#FFF\"},[animationKeyFromLayout(SearchLayoutType.QuickMenu)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu,optional:true,buttonTitle:\"Options\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,step:.1,min:0,max:1},scale:{type:ControlType.Number,defaultValue:.75,step:.1,min:0,max:2},// rotate: {\n//     type: ControlType.Number,\n//     defaultValue: 0,\n//     min: -360,\n//     max: 360,\n// },\nx:{type:ControlType.Number,defaultValue:0,min:-500,max:500},y:{type:ControlType.Number,defaultValue:0,min:-500,max:500},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.FixedTop)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.FixedTop,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},y:{type:ControlType.Number,defaultValue:0,min:-100,max:100},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.Sidebar)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.Sidebar,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},x:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3},transition:{type:ControlType.Transition}}}}},resultOptions:{title:\"Results\",buttonTitle:\"Fonts, Style\",type:ControlType.Object,defaultValue:{},// description:\n//     \"Learn more about how to use Site Search [here](https://framer.com/learn/site-search)\",\ncontrols:{itemType:{title:\"Style\",type:ControlType.Enum,options:Object.values(SearchResultItemType),optionTitles:Object.keys(SearchResultItemType).map(titleCase),defaultValue:SearchResultItemType.FullWidth},titleFont:{title:\"Title\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:15},displayFontSize:true},titleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},titleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultTitleType),optionTitles:Object.keys(SearchResultTitleType).map(titleCase),defaultValue:SearchResultTitleType.H1,displaySegmentedControl:true},subtitleOptions:{type:ControlType.Object,title:\"Subtitle\",buttonTitle:\"Font, Content\",controls:{subtitleFont:{title:\"Font\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:13},displayFontSize:true},subtitleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.4)\"},subtitleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultSubtitleType),optionTitles:Object.keys(SearchResultSubtitleType).map(titleCase),defaultValue:SearchResultSubtitleType.Path}}}}},backdropOptions:{title:\"Backdrop\",type:ControlType.Object,buttonTitle:\"Color, Z Index\",controls:{backgroundColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.8)\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},transition:{type:ControlType.Transition}}}});EntryPoint.displayName=\"Search\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\"}},\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 7.5 C 0 3.358 3.358 0 7.5 0 C 11.642 0 15 3.358 15 7.5 C 15 11.642 11.642 15 7.5 15 C 3.358 15 0 11.642 0 7.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15px\" id=\"i5oDhfGPs\" transform=\"translate(3 3)\" width=\"15px\"/><path d=\"M 0 7.5 C 0 3.358 3.358 0 7.5 0 C 11.642 0 15 3.358 15 7.5 C 15 11.642 11.642 15 7.5 15 C 3.358 15 0 11.642 0 7.5 Z\" fill=\"transparent\" height=\"15px\" id=\"g08Nvj3MZ\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"15px\"/><path d=\"M 0 0 L 5.197 5.197\" fill=\"transparent\" height=\"5.196562499999999px\" id=\"NQvjzSBYl\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(15.803 15.803)\" width=\"5.196562499999999px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3899066744\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-In32S\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-In32S { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Magnifying Glass\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-In32S\");Icon.displayName=\"Magnifying Glass\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVector\":\"{\\\"name\\\":\\\"Magnifying Glass\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (612a550)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js\";import MagnifyingGlass from\"https://framerusercontent.com/modules/78wJr0q4vFZTRbgiA8bC/Y2EfGRGz13i3kdwNCKGk/gU109MUNe.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/NXD7HGiKygNsyWsU4rTy/TMmr6OXLIkmm0PWO5UKe/oDz5TtC3s.js\";const MagnifyingGlassFonts=getFonts(MagnifyingGlass);const SearchFonts=getFonts(Search);const cycleOrder=[\"oBQjzxO6i\",\"ysN1DC0Xy\",\"XVoe3uOuX\"];const serializationHash=\"framer-O9gOK\";const variantClassNames={oBQjzxO6i:\"framer-v-8ruq8q\",XVoe3uOuX:\"framer-v-1of0zbg\",ysN1DC0Xy:\"framer-v-1hm9r22\"};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 humanReadableVariantMap={\"Variant 3\":\"XVoe3uOuX\",Desktop:\"oBQjzxO6i\",Mobile:\"ysN1DC0Xy\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"oBQjzxO6i\"};};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,g22ZfE0tnNVHKTtfMi,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"oBQjzxO6i\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"ysN1DC0Xy\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-8ruq8q\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"oBQjzxO6i\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:0,...style},variants:{XVoe3uOuX:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(79, 79, 79, 0.5)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8}},...addPropertyOverrides({XVoe3uOuX:{\"data-border\":true,\"data-framer-name\":\"Variant 3\"},ysN1DC0Xy:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(MagnifyingGlass,{animated:true,className:\"framer-1tcowhr\",layoutDependency:layoutDependency,layoutId:\"iLCgasf9J\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80))\",\"--pgex8v\":1.5},variants:{XVoe3uOuX:{\"--21h8s6\":\"rgba(227, 153, 79, 0.45)\"}}}),isDisplayed()&&/*#__PURE__*/_jsx(Link,{href:g22ZfE0tnNVHKTtfMi,motionChild:true,nodeId:\"gXECPxR1V\",openInNewTab:false,scopeId:\"O_XANgFfo\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1h1ofv5 framer-m2720y\",\"data-framer-name\":\"Menu items\",layoutDependency:layoutDependency,layoutId:\"gXECPxR1V\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-zisq7p\",\"data-styles-preset\":\"oDz5TtC3s\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgba(107, 92, 76, 0.5))\"},children:\"SEARCH\"})}),className:\"framer-sbkpdp\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"FiI_G2gns\",style:{\"--extracted-1of0zx5\":\"rgba(107, 92, 76, 0.5)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{XVoe3uOuX:{\"--extracted-1of0zx5\":\"rgba(79, 79, 79, 0.5)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({XVoe3uOuX:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-zisq7p\",\"data-styles-preset\":\"oDz5TtC3s\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgba(79, 79, 79, 0.5))\"},children:\"SEARCH\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-19bzpvv\",layoutDependency:layoutDependency,layoutId:\"pL82PxpgV\",style:{backgroundColor:\"rgb(255, 255, 255)\",filter:\"blur(4px)\",rotate:30,WebkitFilter:\"blur(4px)\"}})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-zynwmz-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"DNDc33Z6n-container\",nodeId:\"DNDc33Z6n\",rendersWithMotion:true,scopeId:\"O_XANgFfo\",style:{opacity:0},children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"rgb(51, 51, 51)\",iconSize:24,iconType:\"default\",id:\"DNDc33Z6n\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Eg: Butter Chicken, Tikka\"},textColor:\"rgb(51, 51, 51)\"},layoutId:\"DNDc33Z6n\",modalOptions:{backgroundColor:\"rgb(255, 255, 255)\",borderRadius:16,heightIsStatic:false,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:0,width:500},resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"rgba(0, 0, 0, 0.4)\",subtitleFont:{},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{},titleType:\"h1\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-O9gOK.framer-m2720y, .framer-O9gOK .framer-m2720y { display: block; }\",\".framer-O9gOK.framer-8ruq8q { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: 40px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-O9gOK .framer-1tcowhr { flex: none; height: var(--framer-aspect-ratio-supported, 24px); position: relative; width: 24px; }\",\".framer-O9gOK .framer-1h1ofv5 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 40px; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-O9gOK .framer-sbkpdp { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-O9gOK .framer-19bzpvv { flex: none; height: 14px; left: calc(-12.598425196850371% - 2px / 2); mix-blend-mode: lighten; overflow: hidden; position: absolute; top: calc(52.50000000000002% - 14px / 2); width: 2px; z-index: 1; }\",\".framer-O9gOK .framer-zynwmz-container { bottom: 0px; cursor: pointer; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 1; }\",\".framer-O9gOK.framer-v-1hm9r22.framer-8ruq8q { height: min-content; }\",\".framer-O9gOK.framer-v-1hm9r22 .framer-1tcowhr { height: var(--framer-aspect-ratio-supported, 32px); width: 32px; }\",\".framer-O9gOK.framer-v-1hm9r22 .framer-zynwmz-container { aspect-ratio: 0.6 / 1; height: var(--framer-aspect-ratio-supported, 53px); top: unset; }\",\".framer-O9gOK.framer-v-1of0zbg.framer-8ruq8q { padding: 8px 60px 8px 60px; }\",...sharedStyle.css,'.framer-O9gOK[data-border=\"true\"]::after, .framer-O9gOK [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 100\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"ysN1DC0Xy\":{\"layout\":[\"auto\",\"auto\"]},\"XVoe3uOuX\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerO_XANgFfo=withCSS(Component,css,\"framer-O9gOK\");export default FramerO_XANgFfo;FramerO_XANgFfo.displayName=\"Search\";FramerO_XANgFfo.defaultProps={height:40,width:100};addPropertyControls(FramerO_XANgFfo,{variant:{options:[\"oBQjzxO6i\",\"ysN1DC0Xy\",\"XVoe3uOuX\"],optionTitles:[\"Desktop\",\"Mobile\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerO_XANgFfo,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...MagnifyingGlassFonts,...SearchFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerO_XANgFfo\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"ysN1DC0Xy\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"XVoe3uOuX\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"100\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./O_XANgFfo.map", "// Generated by Framer (de48785)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import SVG from\"https://framerusercontent.com/modules/I1DC9cTt2FcHsDUAaRxW/6iIIX4SzvuX6GX8XtSv5/SVG_Prod.js\";import HamburgerButton from\"https://framerusercontent.com/modules/xiPvRhkNSPLqb4IOzDMX/FhaiYZS4Lg7czqTcdqUe/FvDs80k_Z.js\";import MenuItems from\"https://framerusercontent.com/modules/JZEfeogXQeaxaLFqpEJc/HaxdFUg7w39fBBVMgrTw/NVHKTtfMi.js\";import Search from\"https://framerusercontent.com/modules/ELShJOb8481RiXbHkViu/FLNHYexYXUqcA67SmqqX/O_XANgFfo.js\";const SVGFonts=getFonts(SVG);const SearchFonts=getFonts(Search);const HamburgerButtonFonts=getFonts(HamburgerButton);const MenuItemsFonts=getFonts(MenuItems);const SmartComponentScopedContainerWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(SmartComponentScopedContainer));const MotionDivWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(motion.div));const cycleOrder=[\"poRfUwHRE\",\"O34gloMRq\",\"mkq8HSgtp\"];const serializationHash=\"framer-pBObQ\";const variantClassNames={mkq8HSgtp:\"framer-v-gb8prq\",O34gloMRq:\"framer-v-1qp1mm7\",poRfUwHRE:\"framer-v-1576k5i\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:0,delay:0,duration:.2,type:\"spring\"};const transition2={bounce:0,delay:0,duration:.8,type:\"spring\"};const transition3={bounce:.2,delay:0,duration:.8,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition3,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-150,y:0};const transition4={bounce:.2,delay:.2,duration:.8,type:\"spring\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition4,x:0,y:0};const transition5={bounce:.2,delay:.4,duration:.8,type:\"spring\"};const animation3={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition5,x:0,y:0};const transition6={bounce:.2,delay:.6,duration:.8,type:\"spring\"};const animation4={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition6,x:0,y:0};const transition7={bounce:.2,delay:.8,duration:.8,type:\"spring\"};const animation5={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition7,x:0,y:0};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 humanReadableVariantMap={\"Mobile Close\":\"mkq8HSgtp\",\"Mobile Open\":\"O34gloMRq\",Desktop:\"poRfUwHRE\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"poRfUwHRE\"};};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({cycleOrder,defaultVariant:\"poRfUwHRE\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const JB0qH6k0j133hzx=activeVariantCallback(async(...args)=>{setVariant(\"mkq8HSgtp\");});const JB0qH6k0j1ljm2vf=activeVariantCallback(async(...args)=>{setVariant(\"O34gloMRq\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"O34gloMRq\",\"mkq8HSgtp\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"O34gloMRq\")return false;return true;};const isDisplayed2=()=>{if(baseVariant===\"mkq8HSgtp\")return false;return true;};const isDisplayed3=()=>{if(baseVariant===\"O34gloMRq\")return true;return false;};const isDisplayed4=()=>{if([\"O34gloMRq\",\"mkq8HSgtp\"].includes(baseVariant))return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({mkq8HSgtp:{value:transition2},O34gloMRq:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1576k5i\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"poRfUwHRE\",ref:refBinding,style:{...style},...addPropertyOverrides({mkq8HSgtp:{\"data-framer-name\":\"Mobile Close\"},O34gloMRq:{\"data-framer-name\":\"Mobile Open\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-62zdwr\",\"data-framer-name\":\"Content\",layoutDependency:layoutDependency,layoutId:\"EwcpS5zSg\",style:{backdropFilter:\"blur(8px)\",backgroundColor:\"rgba(254, 247, 230, 0.6)\",WebkitBackdropFilter:\"blur(8px)\"},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-10pf8rv\",\"data-framer-name\":\"Logo Wrapper\",layoutDependency:layoutDependency,layoutId:\"gHtDBOJQv\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-64n0cc-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"lO5kqnm8m-container\",nodeId:\"lO5kqnm8m\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",children:/*#__PURE__*/_jsx(SVG,{customColor:\"rgb(255, 255, 255)\",customPadding:0,customStrokeWidth:2,customSvgCode:'<svg width=\"1200\" height=\"320\" viewBox=\"0 0 1200 320\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"> <rect width=\"1200\" height=\"320\" fill=\"url(#pattern0_19_39)\"/> <defs> <pattern id=\"pattern0_19_39\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\"> <use xlink:href=\"#image0_19_39\" transform=\"scale(0.000833333 0.003125)\"/> </pattern> <image id=\"image0_19_39\" width=\"1200\" height=\"320\" preserveAspectRatio=\"none\" xlink:href=\"data:image/png;base64,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\"/> </defs> </svg>',description:\"\",height:\"100%\",id:\"lO5kqnm8m\",layoutId:\"lO5kqnm8m\",lineCap:\"butt\",lineJoin:\"miter\",style:{height:\"100%\",width:\"100%\"},title:\"\",width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ectzv9\",layoutDependency:layoutDependency,layoutId:\"lOHhWILZ5\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,...addPropertyOverrides({mkq8HSgtp:{y:(componentViewport?.y||0)+0+0+0+0+15+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-7ucrwq-container\",layoutDependency:layoutDependency,layoutId:\"PX_sTJa1y-container\",nodeId:\"PX_sTJa1y\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",children:/*#__PURE__*/_jsx(Search,{height:\"100%\",id:\"PX_sTJa1y\",layoutId:\"PX_sTJa1y\",variant:\"ysN1DC0Xy\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,...addPropertyOverrides({mkq8HSgtp:{y:(componentViewport?.y||0)+0+0+0+0+15+0},O34gloMRq:{y:(componentViewport?.y||0)+0+0+0+0+15+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-9o6xvr-container\",layoutDependency:layoutDependency,layoutId:\"Ner5MHpaF-container\",nodeId:\"Ner5MHpaF\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",children:/*#__PURE__*/_jsx(HamburgerButton,{height:\"100%\",id:\"Ner5MHpaF\",layoutId:\"Ner5MHpaF\",variant:\"CQOjdqhQA\",width:\"100%\",...addPropertyOverrides({mkq8HSgtp:{JB0qH6k0j:JB0qH6k0j1ljm2vf},O34gloMRq:{JB0qH6k0j:JB0qH6k0j133hzx,variant:\"YtMR5QZce\"}},baseVariant,gestureVariant)})})})]})]}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1hkyabl\",\"data-framer-name\":\"Menu Stack\",layoutDependency:layoutDependency,layoutId:\"x6s0VNJ2h\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||70)-0-((componentViewport?.height||70)-0)*1)/2)+(0+(((componentViewport?.height||70)-0)*1-0-40)/2)+0,...addPropertyOverrides({O34gloMRq:{y:(componentViewport?.y||0)+0+0+0+90+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{className:\"framer-1nnoj58-container\",\"data-framer-appear-id\":\"1nnoj58\",layoutDependency:layoutDependency,layoutId:\"y12t_f06y-container\",nodeId:\"y12t_f06y\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",...addPropertyOverrides({O34gloMRq:{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation,initial:animation1,optimized:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(MenuItems,{height:\"100%\",id:\"y12t_f06y\",layoutId:\"y12t_f06y\",Lgqusmx_7:\"PRODUCTS\",style:{height:\"100%\"},variant:\"F_r5dzn6Q\",width:\"100%\",...addPropertyOverrides({O34gloMRq:{variant:\"YPzXG3Vpb\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||70)-0-((componentViewport?.height||70)-0)*1)/2)+(0+(((componentViewport?.height||70)-0)*1-0-40)/2)+0,...addPropertyOverrides({O34gloMRq:{y:(componentViewport?.y||0)+0+0+0+90+0+60}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{className:\"framer-chhj89-container\",\"data-framer-appear-id\":\"chhj89\",layoutDependency:layoutDependency,layoutId:\"wX3c1dvZi-container\",nodeId:\"wX3c1dvZi\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",...addPropertyOverrides({O34gloMRq:{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation2,initial:animation1,optimized:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(MenuItems,{height:\"100%\",id:\"wX3c1dvZi\",layoutId:\"wX3c1dvZi\",Lgqusmx_7:\"BLOG\",style:{height:\"100%\"},variant:\"F_r5dzn6Q\",width:\"100%\",...addPropertyOverrides({O34gloMRq:{variant:\"YPzXG3Vpb\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||70)-0-((componentViewport?.height||70)-0)*1)/2)+(0+(((componentViewport?.height||70)-0)*1-0-40)/2)+0,...addPropertyOverrides({O34gloMRq:{y:(componentViewport?.y||0)+0+0+0+90+0+120}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{className:\"framer-15kl8d4-container\",\"data-framer-appear-id\":\"15kl8d4\",layoutDependency:layoutDependency,layoutId:\"OdHkmZM01-container\",nodeId:\"OdHkmZM01\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",...addPropertyOverrides({O34gloMRq:{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation3,initial:animation1,optimized:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(MenuItems,{height:\"100%\",id:\"OdHkmZM01\",layoutId:\"OdHkmZM01\",Lgqusmx_7:\"RECIPES\",style:{height:\"100%\"},variant:\"F_r5dzn6Q\",width:\"100%\",...addPropertyOverrides({O34gloMRq:{variant:\"YPzXG3Vpb\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||70)-0-((componentViewport?.height||70)-0)*1)/2)+(0+(((componentViewport?.height||70)-0)*1-0-40)/2)+0,...addPropertyOverrides({O34gloMRq:{y:(componentViewport?.y||0)+0+0+0+90+0+180}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{className:\"framer-1f7jefo-container\",\"data-framer-appear-id\":\"1f7jefo\",layoutDependency:layoutDependency,layoutId:\"tfrJntszj-container\",nodeId:\"tfrJntszj\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",...addPropertyOverrides({O34gloMRq:{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation4,initial:animation1,optimized:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(MenuItems,{height:\"100%\",id:\"tfrJntszj\",layoutId:\"tfrJntszj\",Lgqusmx_7:\"CONTACT\",style:{height:\"100%\"},variant:\"F_r5dzn6Q\",width:\"100%\",...addPropertyOverrides({O34gloMRq:{variant:\"YPzXG3Vpb\"}},baseVariant,gestureVariant)})})}),isDisplayed3()&&/*#__PURE__*/_jsxs(MotionDivWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation5,className:\"framer-rkjnex\",\"data-framer-appear-id\":\"rkjnex\",\"data-framer-name\":\"Email\",initial:animation1,layoutDependency:layoutDependency,layoutId:\"jr5zeGVI_\",optimized:true,children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7QnJpY29sYWdlIEdyb3Rlc3F1ZS0yMDA=\",\"--framer-font-family\":'\"Bricolage Grotesque\", sans-serif',\"--framer-font-weight\":\"200\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80)))\"},children:\"Get in touch\"})}),className:\"framer-1pjesy5\",fonts:[\"GF;Bricolage Grotesque-200\"],layoutDependency:layoutDependency,layoutId:\"QGOBnYsdR\",style:{\"--extracted-r6o4lv\":\"var(--token-36750897-7d77-4ffa-a9c9-4bb69fdcc4f8, rgb(226, 153, 80))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7QnJpY29sYWdlIEdyb3Rlc3F1ZS0yMDA=\",\"--framer-font-family\":'\"Bricolage Grotesque\", sans-serif',\"--framer-font-weight\":\"200\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-beed9a64-acda-40f3-b127-ba90382fb32d, rgb(67, 59, 50)))\",\"--framer-text-decoration\":\"underline\"},children:\"info@spicemix.se\"})}),className:\"framer-157oe7n\",fonts:[\"GF;Bricolage Grotesque-200\"],layoutDependency:layoutDependency,layoutId:\"hWE9Rlz6Z\",style:{\"--extracted-r6o4lv\":\"var(--token-beed9a64-acda-40f3-b127-ba90382fb32d, rgb(67, 59, 50))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})]})]}),isDisplayed4()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,width:\"113px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||70)-0-((componentViewport?.height||70)-0)*1)/2)+(0+(((componentViewport?.height||70)-0)*1-0-40)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-w70o84-container\",layoutDependency:layoutDependency,layoutId:\"SzVEzDQgD-container\",nodeId:\"SzVEzDQgD\",rendersWithMotion:true,scopeId:\"JEGIr2HDn\",children:/*#__PURE__*/_jsx(Search,{height:\"100%\",id:\"SzVEzDQgD\",layoutId:\"SzVEzDQgD\",style:{height:\"100%\",width:\"100%\"},variant:\"oBQjzxO6i\",width:\"100%\"})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-pBObQ.framer-eymq58, .framer-pBObQ .framer-eymq58 { display: block; }\",\".framer-pBObQ.framer-1576k5i { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 70px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1200px; }\",\".framer-pBObQ .framer-62zdwr { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: 100%; justify-content: space-between; overflow: visible; padding: 0px 20px 0px 20px; position: relative; width: 1px; }\",\".framer-pBObQ .framer-10pf8rv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 100%; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-pBObQ .framer-64n0cc-container { flex: none; height: 33px; position: relative; width: 113px; }\",\".framer-pBObQ .framer-1ectzv9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-pBObQ .framer-7ucrwq-container, .framer-pBObQ .framer-9o6xvr-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-pBObQ .framer-1hkyabl { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-pBObQ .framer-1nnoj58-container, .framer-pBObQ .framer-chhj89-container, .framer-pBObQ .framer-15kl8d4-container, .framer-pBObQ .framer-1f7jefo-container { flex: none; height: 40px; position: relative; width: auto; }\",\".framer-pBObQ .framer-rkjnex { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px 20px 0px 20px; position: relative; width: min-content; }\",\".framer-pBObQ .framer-1pjesy5, .framer-pBObQ .framer-157oe7n { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-pBObQ .framer-w70o84-container { flex: none; height: 40px; position: relative; width: 113px; }\",\".framer-pBObQ.framer-v-1qp1mm7.framer-1576k5i { flex-direction: column; height: min-content; justify-content: flex-start; min-height: calc(var(--framer-viewport-height, 100vh) * 1); width: 390px; }\",\".framer-pBObQ.framer-v-1qp1mm7 .framer-62zdwr, .framer-pBObQ.framer-v-gb8prq .framer-62zdwr { flex: none; flex-direction: column; gap: 20px; height: min-content; justify-content: flex-start; padding: 0px; width: 100%; }\",\".framer-pBObQ.framer-v-1qp1mm7 .framer-10pf8rv, .framer-pBObQ.framer-v-gb8prq .framer-10pf8rv { height: 70px; padding: 0px 20px 0px 20px; width: 100%; }\",\".framer-pBObQ.framer-v-1qp1mm7 .framer-1hkyabl { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 20px; padding: 0px 0px 40px 0px; width: 100%; }\",\".framer-pBObQ.framer-v-gb8prq.framer-1576k5i { flex-direction: column; height: min-content; justify-content: flex-start; width: 390px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 70\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"O34gloMRq\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"mkq8HSgtp\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerJEGIr2HDn=withCSS(Component,css,\"framer-pBObQ\");export default FramerJEGIr2HDn;FramerJEGIr2HDn.displayName=\"NavBar\";FramerJEGIr2HDn.defaultProps={height:70,width:1200};addPropertyControls(FramerJEGIr2HDn,{variant:{options:[\"poRfUwHRE\",\"O34gloMRq\",\"mkq8HSgtp\"],optionTitles:[\"Desktop\",\"Mobile Open\",\"Mobile Close\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerJEGIr2HDn,[{explicitInter:true,fonts:[{family:\"Bricolage Grotesque\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/bricolagegrotesque/v8/3y9U6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiaaD30YfKfjZZoLvZviyMgvs-wJDtw.woff2\",weight:\"200\"}]},...SVGFonts,...SearchFonts,...HamburgerButtonFonts,...MenuItemsFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJEGIr2HDn\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"70\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"O34gloMRq\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"mkq8HSgtp\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (de48785)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import NavBar from\"#framer/local/canvasComponent/JEGIr2HDn/JEGIr2HDn.js\";const NavBarFonts=getFonts(NavBar);const breakpoints={abo212vTI:\"(max-width: 809px)\",fGgZJPur_:\"(min-width: 810px) and (max-width: 1199px)\",Lha9oHzfa:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-Jj5nU\";const variantClassNames={abo212vTI:\"framer-v-l0tksx\",fGgZJPur_:\"framer-v-1ggk89z\",Lha9oHzfa:\"framer-v-1x3kwwz\"};const breakpointRules={abo212vTI:[\".framer-Jj5nU .framer-1urlb0n-container { height: auto; }\"],fGgZJPur_:[\".framer-Jj5nU .framer-1urlb0n-container { height: auto; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={abo212vTI:\".framer-l0tksx-override\",fGgZJPur_:\".framer-1ggk89z-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Jj5nU.framer-1gftpyr, .framer-Jj5nU .framer-1gftpyr { display: block; }\",\".framer-Jj5nU.framer-1x3kwwz { align-content: center; align-items: center; background-color: var(--token-63892661-04db-491a-aeb6-1b662d87eebb, #fef7e6); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-Jj5nU .framer-1urlb0n-container { flex: none; height: 70px; left: 0px; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 0px; z-index: 10; }\",\".framer-Jj5nU .framer-1rtdqve { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={abo212vTI:\"(max-width: 809px)\",fGgZJPur_:\"(min-width: 810px) and (max-width: 1199px)\",Lha9oHzfa:\"(min-width: 1200px)\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={Desktop:\"Lha9oHzfa\",Phone:\"abo212vTI\",Tablet:\"fGgZJPur_\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"Lha9oHzfa\"};};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{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"Lha9oHzfa\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-63892661-04db-491a-aeb6-1b662d87eebb, rgb(254, 247, 230)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1x3kwwz\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:70,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1urlb0n-container\",layoutScroll:true,nodeId:\"Hjk1K2puY\",scopeId:\"l0dFWU3dr\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{abo212vTI:{style:{width:\"100%\"},variant:\"mkq8HSgtp\"},fGgZJPur_:{style:{width:\"100%\"},variant:\"mkq8HSgtp\"}},children:/*#__PURE__*/_jsx(NavBar,{height:\"100%\",id:\"Hjk1K2puY\",layoutId:\"Hjk1K2puY\",style:{height:\"100%\",width:\"100%\"},variant:\"poRfUwHRE\",width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1rtdqve\"})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"fGgZJPur_\":{\"layout\":[\"fixed\",\"fixed\"]},\"abo212vTI\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"Lha9oHzfa\":[\".framer-1urlb0n-container\"],\"fGgZJPur_\":[\".framer-1urlb0n-container\"],\"abo212vTI\":[\".framer-1urlb0n-container\"]}\n * @framerBreakpoints {\"Lha9oHzfa\":{\"min\":1200,\"canvasClassName\":\"framer-1x3kwwz-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"fGgZJPur_\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-1ggk89z-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"abo212vTI\":{\"max\":809,\"canvasClassName\":\"framer-l0tksx-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant Lha9oHzfa\n * @framerLayoutTemplate\n */const Framerl0dFWU3dr=withCSS(Component,css,\"framer-Jj5nU\");export default Framerl0dFWU3dr;Framerl0dFWU3dr.displayName=\"Template\";Framerl0dFWU3dr.defaultProps={height:1e3,width:1200};addFonts(Framerl0dFWU3dr,[{explicitInter:true,fonts:[]},...NavBarFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerl0dFWU3dr\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"fGgZJPur_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"abo212vTI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerHitTargets\":\"{\\\"Lha9oHzfa\\\":[\\\".framer-1urlb0n-container\\\"],\\\"fGgZJPur_\\\":[\\\".framer-1urlb0n-container\\\"],\\\"abo212vTI\\\":[\\\".framer-1urlb0n-container\\\"]}\",\"framerLayoutTemplate\":\"\",\"framerBreakpoints\":\"{\\\"Lha9oHzfa\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1x3kwwz-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"fGgZJPur_\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1ggk89z-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"abo212vTI\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-l0tksx-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerDefaultVariant\":\"Lha9oHzfa\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "\r\n        import * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Template1 from \"https://framerusercontent.com/modules/NdhBP82aEj5GmgnjggO1/9OpaQVqrPER5ATZGiRBn/l0dFWU3dr.js\";\r\n\r\n        const routes = {augiA20Il: {elements: {pAbRsB3j0: \"collectionscrolltrigger\", RwEtm7va_: \"meetourstartrigger\", zpnp1JNqv: \"scrolltrigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/tQmaPPSboUS8hBhoSGs2/cJVJlLCnjW0o8sfe8Wzx/augiA20Il.js\")), path: \"/\"}}\r\n\r\n        const locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\"}]\r\n        const collectionUtils = {DUjId9vRl: async () => (await import(\"https://framerusercontent.com/modules/vOncSuYiRQGIrNWiASAD/05XnWCEyBgKX9BLJPse9/DUjId9vRl.js\"))?.[\"utils\"]}\r\n        const framerSiteId = \"b206bb5adeec02c1bed269660c971a2ed78a614b3621b126b5e78ea42f15c0c6\"\r\n        function Template({routeId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[routeId] ?? {}\r\nswitch (routeId) {case \"augiA20Il\":\r\ncase \"Msf9gWafv\":\r\ncase \"EOV77z6pU\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", routeId, style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"Msf9gWafv\":\r\ncase \"EOV77z6pU\":\r\nreturn [{hash: \"1x3kwwz\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"1ggk89z\", mediaQuery: \"(min-width: 810px) and (max-width: 1199px)\"}, {hash: \"l0tksx\", mediaQuery: \"(max-width: 809px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n        export async function getPageRoot({ routeId, pathVariables, localeId }) {\r\n            const rootPreload = routes[routeId].page.preload()\r\n\r\n            const content = React.createElement(\r\n                Framer.PageRoot,\r\n                {\r\n                    isWebsite: true,\r\n                    routeId,\r\n                    pathVariables,\r\n                    routes,\r\n                    collectionUtils,\r\n                    framerSiteId,\r\n                    notFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n                    isReducedMotion: undefined,\r\n                    localeId,\r\n                    locales,\r\n                    preserveQueryParams: undefined,\r\n                    siteCanonicalURL: \"https://spicemix.framer.website\",\r\n                    EditorBar: \r\n            typeof window !== \"undefined\" ? (() => {\r\n                const isBot = /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n                if (isBot) {\r\n                    console.log(\"[Framer Editor Bar] Unavailable because navigator is bot\")\r\n                    return\r\n                }\r\n\r\n                return Framer.lazy(async () => {\r\n                    const dependencies = {\r\n                        __version: 2,\r\n                        framer: {\r\n                            useCurrentRoute: Framer.useCurrentRoute,\r\n                            useLocaleInfo: Framer.useLocaleInfo,\r\n                            useRouter: Framer.useRouter,\r\n                        },\r\n                        react: {\r\n                            createElement: React.createElement,\r\n                            Fragment: React.Fragment,\r\n                            memo: React.memo,\r\n                            useCallback: React.useCallback,\r\n                            useEffect: React.useEffect,\r\n                            useRef: React.useRef,\r\n                            useState: React.useState,\r\n                        },\r\n                        \"react-dom\": { createPortal },\r\n                    }\r\n\r\n                    window.__framer_editorBarDependencies = dependencies\r\n\r\n                    const { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n                    return {\r\n                        default: createEditorBar(),\r\n                    }\r\n                })\r\n            })() : undefined\r\n        ,\r\n                    LayoutTemplate: Template,\r\n                }\r\n            )\r\n\r\n            const contentWithFeaturesContext = React.createElement(\r\n                Framer.LibraryFeaturesProvider,\r\n                {\r\n                    children: content,\r\n                    value: {editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, motionDivToDivBackgroundImage: true, pauseOffscreen: true, replaceNestedLinks: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n                }\r\n            )\r\n\r\n            const contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n                children: contentWithFeaturesContext\r\n            })\r\n\r\n            \r\n            const page = React.createElement(Framer.PageEffectsProvider, {\r\n                children: contentWithGracefullyDegradingErrorBoundary,\r\n                value: {routes: {}}\r\n            })\r\n\r\n            // We don't want the initial render to immediately have to suspend.\r\n            await rootPreload\r\n            return page\r\n        }\r\n\r\n        const isBrowser = typeof document !== \"undefined\"\r\n        if (isBrowser) {\r\n            window.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n                return React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n            }\r\n\r\n            // A lot of libraries assume process.env.NODE_ENV is present in runtime/buildtime, so we are polyfilling it\r\n            window.process = {\r\n                ...window.process,\r\n                env: {\r\n                    ...(window.process ? window.process.env: undefined),\r\n                    NODE_ENV: \"production\"\r\n                }\r\n            }\r\n\r\n            window.__framer_events = window.__framer_events || []\r\n\r\n            // Fallback support for stack gaps\r\n            Framer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n            const container = document.getElementById(\"main\")\r\n            // We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n            if (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n            else main(false, container)\r\n        }\r\n\r\n        function track() {\r\n            if (!isBrowser) return\r\n            window.__framer_events.push(arguments)\r\n        }\r\n\r\n        async function main(shouldHydrate, container) {\r\n            function handleError(error, errorInfo, recoverable = true) {\r\n                if (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n                const componentStack = errorInfo?.componentStack\r\n                if (recoverable) {\r\n                    console.warn(\"Recoverable error has happened. Please check any custom code or code overrides to fix server/client mismatches:\\n\", error, componentStack)\r\n                    // we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n                    if (Math.random() > 0.01) return\r\n                } else {\r\n                    console.error(\"Fatal crash has happened. If you are the author of this website, please report this issue to the Framer team via https://www.framer.community/:\\n\", error, componentStack)\r\n                }\r\n                track(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n                    message: String(error),\r\n                    componentStack, // componentStack is more useful\r\n                    stack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n                })\r\n            }\r\n\r\n            try {\r\n                let routeId, localeId, pathVariables, breakpoints\r\n                if (shouldHydrate) {\r\n                    const routeData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                    breakpoints = routeData.breakpoints\r\n\r\n                    routeId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n                } else {\r\n                    Framer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n                    const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                }\r\n\r\n                const pagePromise = getPageRoot({ routeId, localeId, pathVariables })\r\n\r\n                \r\nif (typeof window !== \"undefined\") {\r\n    void (async () => {\r\n        const route = routes[routeId]\r\n\r\n        const defaultLocaleId = \"default\"\r\n        const framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n        let collectionItemId = null\r\n        if (route?.collectionId && collectionUtils) {\r\n              const utils = await collectionUtils[route.collectionId]?.()\r\n              const [slug] = Object.values(pathVariables)\r\n              if (utils && typeof slug === \"string\") {\r\n                  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n              }\r\n        }\r\n\r\n        const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n        const timezone = resolvedDateTimeOptions.timeZone\r\n        const locale = resolvedDateTimeOptions.locale\r\n\r\n        // wait for the page to be activated before sending the pageview event\r\n        // https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n        await new Promise((resolve) => {\r\n            if (document.prerendering) {\r\n                document.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n            } else {\r\n                resolve()\r\n            }\r\n        })\r\n\r\n        window.__framer_events.push([\r\n            \"published_site_pageview\",\r\n            {\r\n                framerSiteId: framerSiteId ?? null,\r\n                routePath: route?.path || \"/\",\r\n                collectionItemId,\r\n                framerLocale: framerLocale || null,\r\n                webPageId: route?.abTestingVariantId ?? routeId,\r\n                abTestId: route?.abTestId,\r\n                referrer: document.referrer || null,\r\n                url: window.location.href,\r\n                hostname: window.location.hostname || null,\r\n                pathname: window.location.pathname || null,\r\n                hash: window.location.hash || null,\r\n                search: window.location.search || null,\r\n                timezone,\r\n                locale,\r\n            },\r\n            \"eager\"\r\n        ])\r\n\r\n        // Yield to avoid blocking the main thread with the user code\r\n        await Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n        document.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n            detail: { framerLocale: framerLocale || null }\r\n        }))\r\n    })()\r\n}\r\n\r\n\r\n                const page = await pagePromise\r\n                if (shouldHydrate) {\r\n                    \r\n\r\n                    Framer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n                        Framer.removeHiddenBreakpointLayersV2(breakpoints)\r\n                        window.__framer_onRewriteBreakpoints?.(breakpoints)\r\n                    })\r\n\r\n                    \r\n\r\n                    const startTransition = React.startTransition\r\n                    startTransition(() => {\r\n                        Framer.markHydrationStart()\r\n                        if (true) Framer.turnOffReactEventHandling()\r\n                        ReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n                    })\r\n                } else {\r\n                    \r\n                    ReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n                }\r\n            } catch (error) {\r\n                handleError(error, undefined, false)\r\n                throw error\r\n            }\r\n        }\r\n\r\n        \r\n\r\n        \r\n        ;(function () {\r\n            if (!isBrowser) return\r\n\r\n            React.startTransition(() => {\r\n                ReactDOM.hydrateRoot(\r\n                    document.getElementById(\"__framer-badge-container\"),\r\n                    React.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n                )\r\n            })\r\n        })()\r\n    "],
  "mappings": "wxBAA4B,IAAIA,GAAE,YAAYC,GAAIC,GAAQD,GAAME,GAAE,CAAC,EAAMC,GAAEJ,GAAEG,GAAE,WAAWC,GAAE,WAAWD,GAAE,YAAYC,GAAE,YAAY,IAAMC,GAAEF,GAAE,WAAWG,GAAEH,GAAE,YCQzJ,SAASI,GAAIC,EAAM,CAAC,GAAK,CAACC,EAAiBC,CAAmB,EAAEC,EAAS,IAAI,EAAEC,EAAU,IAAI,CAAC,IAAMC,EAAWL,EAAM,cAAcM,EAAwBD,CAAU,CAAE,CAAC,EAAE,IAAMC,EAAwBD,GAAY,CAAC,IAAME,EAAa,CAAC,CAAC,gBAAgB,cAAc,EAAE,CAAC,iBAAiB,eAAe,CAAC,EAAQC,EAAgBH,EAAW,SAAS,UAAU,EAAQI,EAAqBJ,EAAW,SAAS,gBAAgB,EAAQK,EAAWL,EAAW,SAAS,kBAAkB,EAAQM,EAAYN,EAAW,SAAS,mBAAmB,EAAE,GAAGA,EAAW,SAAS,SAAS,EAAE,CAAC,IAAMO,EAAgB,6BAAmCC,EAAMR,EAAW,MAAMO,CAAe,EAAE,GAAGC,EAAM,CAAC,IAAMC,EAAcD,EAAM,CAAC,EAAE,QAAQA,EAAM,CAAC,EAAEb,EAAM,WAAW,EAAEK,EAAWA,EAAW,QAAQO,EAAgBE,CAAa,CAAE,MAAMP,EAAa,KAAK,CAAC,WAAW,iBAAiBP,EAAM,WAAW,GAAG,CAAC,CAAG,CAAIQ,GAAqBE,EAAsFH,EAAa,KAAK,CAAC,SAAS,iBAAiBP,EAAM,WAAW,qBAAqBA,EAAM,OAAO,GAAG,CAAC,EAA9KO,EAAa,KAAK,CAAC,SAAS,iBAAiBP,EAAM,WAAW,GAAG,CAAC,EAAkHS,GAAsBF,EAAa,KAAK,CAAC,qCAAqC,iBAAiBP,EAAM,iBAAiB,GAAG,CAAC,GAASO,EAAa,KAAK,CAAC,SAAS,eAAeP,EAAM,WAAW,GAAG,CAAC,EAAMK,EAAW,SAAS,YAAY,EAAGE,EAAa,KAAK,CAAC,mBAAmB,oBAAoB,CAAC,EAAQA,EAAa,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAAOI,EAA6FJ,EAAa,KAAK,CAAC,0BAA0B,oBAAoBP,EAAM,QAAQ,GAAG,CAAC,EAAnKO,EAAa,KAAK,CAAC,SAAS,0BAA0BP,EAAM,QAAQ,GAAG,CAAC,EAA8FO,EAAa,QAAQ,CAAC,CAACQ,EAAMC,CAAW,IAAI,CAACX,EAAWA,EAAW,QAAQU,EAAMC,CAAW,CAAE,CAAC,EAAEd,EAAoBG,CAAU,CAAE,EAAQY,EAAqB,CAAC,QAAQ,GAAGjB,EAAM,aAAa,KAAK,QAAQ,OAAO,cAAc,SAAS,WAAW,SAAS,eAAe,SAAS,SAAS,SAAS,EAAQkB,EAAmB,CAAC,KAAK,MAAM,GAAGlB,EAAM,OAAO,CAAC,aAAaA,EAAM,KAAK,EAAE,GAAGA,EAAM,aAAa,CAAC,mBAAmBA,EAAM,WAAW,CAAC,EAAE,OAAoBmB,EAAK,MAAM,CAAC,wBAAwB,CAAC,OAAOlB,CAAgB,EAAE,MAAMgB,EAAqB,GAAGC,CAAkB,CAAC,CAAE,CAACnB,GAAI,YAAY,MAAMA,GAAI,aAAa,CAAC,cAAc,grBAAgrB,YAAY,UAAU,cAAc,EAAE,kBAAkB,EAAE,QAAQ,OAAO,SAAS,QAAQ,MAAM,GAAG,YAAY,EAAE,EAAEqB,EAAoBrB,GAAI,CAAC,cAAc,CAAC,KAAKsB,EAAY,OAAO,MAAM,WAAW,gBAAgB,EAAK,EAAE,YAAY,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,kBAAkB,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,OAAOrB,GAAO,CAACA,EAAM,cAAc,SAAS,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAKqB,EAAY,KAAK,MAAM,WAAW,QAAQ,CAAC,OAAO,QAAQ,QAAQ,EAAE,aAAa,CAAC,OAAO,QAAQ,QAAQ,EAAE,aAAa,OAAO,OAAOrB,GAAO,CAACA,EAAM,cAAc,SAAS,UAAU,CAAC,EAAE,SAAS,CAAC,KAAKqB,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,QAAQ,QAAQ,OAAO,EAAE,aAAa,CAAC,QAAQ,QAAQ,OAAO,EAAE,aAAa,QAAQ,OAAOrB,GAAO,CAACA,EAAM,cAAc,SAAS,UAAU,CAAC,EAAE,MAAM,CAAC,KAAKqB,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,YAAY,cAAc,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,YAAY,kBAAkB,YAAY,oEAAoE,CAAC,CAAC,EAAE,IAAOC,GAAQvB,GCP3yH,IAAMwB,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,CAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,EAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,EAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,MAAM,YAAY,KAAK,WAAW,EAAQC,GAAS,CAAC,CAAC,MAAAC,EAAM,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUJ,GAAOI,EAAM,UAAU,QAAQN,GAAwBM,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMvB,IAAeuB,EAAM,iBAAwBvB,EAAS,KAAK,GAAG,EAAEuB,EAAM,iBAAwBvB,EAAS,KAAK,GAAG,EAAUyB,GAA6BC,EAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,EAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAAtC,EAAQ,UAAAuC,EAAU,GAAGC,CAAS,EAAExB,GAASK,CAAK,EAAO,CAAC,YAAAoB,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAlD,CAAQ,EAAEmD,GAAgB,CAAC,WAAAxD,GAAW,eAAe,YAAY,IAAImC,EAAW,QAAA5B,EAAQ,kBAAAL,EAAiB,CAAC,EAAQuD,EAAiB5B,GAAuBD,EAAMvB,CAAQ,EAAO,CAAC,sBAAAqD,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,GAAYH,EAAsB,SAASI,KAAO,CAAoC,GAAnCR,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAKR,GAAqB,MAAMA,EAAU,GAAGgB,EAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAuCC,GAAkBC,EAAG/D,GAAkB,GAAhD,CAAC,CAAuE,EAAE,OAAoBiB,EAAK+C,GAAY,CAAC,GAAGpB,GAAUT,EAAgB,SAAsBlB,EAAKC,GAAS,CAAC,QAAQd,EAAS,QAAQ,GAAM,SAAsBa,EAAKT,GAAW,CAAC,MAAMD,GAAY,SAAsB0D,EAAM9C,EAAO,IAAI,CAAC,GAAG2B,EAAU,GAAGI,EAAgB,UAAUa,EAAGD,GAAkB,iBAAiBnB,EAAUK,CAAU,EAAE,mBAAmB,OAAO,iBAAiB,GAAK,iBAAiBQ,EAAiB,SAAS,YAAY,MAAMI,GAAY,IAAI1B,EAAW,MAAM,CAAC,GAAGQ,CAAK,EAAE,GAAGxC,GAAqB,CAAC,UAAU,CAAC,mBAAmB,OAAO,CAAC,EAAE6C,EAAYI,CAAc,EAAE,SAAS,CAAclC,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBqC,EAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qEAAqE,OAAO,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAevC,EAAKE,EAAO,IAAI,CAAC,UAAU,gBAAgB,iBAAiBqC,EAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qEAAqE,OAAO,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQU,GAAI,CAAC,kFAAkF,kFAAkF,6QAA6Q,kLAAkL,oLAAoL,6HAA6H,gEAAgE,2GAA2G,EAWtjJC,GAAgBC,EAAQvC,GAAUqC,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,mBAAmBA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,OAAO,OAAO,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKA,EAAY,YAAY,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECXhT,IAAMM,GAAK,0BAAgCC,GAAkBC,EAAW,SAASC,EAAMC,EAAI,CAAC,OAAoBC,EAAK,MAAM,CAAC,GAAGF,EAAM,IAAIC,EAAI,SAASD,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQG,GAAUC,EAAO,OAAON,EAAI,EAAQO,GAAiBN,EAAW,CAACC,EAAMC,IAAM,CAAC,GAAK,CAAC,SAAAK,EAAS,SAAAC,EAAS,SAAAC,EAAS,GAAGC,CAAI,EAAET,EAAM,OAAOM,EAAsBJ,EAAKC,GAAU,CAAC,GAAGM,EAAK,SAASF,EAAS,IAAIN,EAAI,SAASO,CAAQ,CAAC,EAAeN,EAAK,MAAM,CAAC,GAAGO,EAAK,IAAIR,EAAI,SAASO,CAAQ,CAAC,CAAE,CAAC,EAAQE,GAAI,m6BAAy6BC,GAAS,CAAC,CAAC,MAAAC,EAAM,MAAAC,EAAM,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,OAAAC,EAAO,GAAGjB,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUa,GAAOb,EAAM,WAAW,eAAe,UAAUiB,GAAQjB,EAAM,WAAW,IAAI,UAAUY,GAAOZ,EAAM,SAAS,GAAUkB,GAA6BnB,EAAW,SAASC,EAAMC,EAAI,CAAC,GAAK,CAAC,MAAAkB,EAAM,UAAAC,EAAU,SAAAb,EAAS,QAAAc,EAAQ,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAEd,GAASX,CAAK,EAAQ0B,EAAKC,GAAe,YAAYjB,EAAG,EAAE,OAAoBR,EAAKG,GAAI,CAAC,GAAGoB,EAAU,UAAUG,EAAG,eAAeR,CAAS,EAAE,SAASb,EAAS,IAAIN,EAAI,KAAK,eAAe,MAAM,CAAC,YAAYuB,EAAU,WAAWF,EAAU,WAAWC,EAAU,GAAGJ,CAAK,EAAE,QAAQ,YAAY,SAAsBjB,EAAK,MAAM,CAAC,KAAKwB,CAAI,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQG,GAAI,CAAC,iCAAiChC,EAAI,4CAA4CA,EAAI,kBAAkB,EAUt1EiC,GAAKC,EAAQb,GAAUW,GAAI,cAAc,EAAEC,GAAK,YAAY,OAAO,IAAOE,GAAQF,GAAKG,EAAoBH,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAKI,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,ECV0J,IAAMC,GAAUC,EAASC,EAAI,EAAQC,GAAW,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,IAAI,KAAK,QAAQ,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,CAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,EAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,EAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,UAAU,YAAY,UAAU,YAAY,UAAU,YAAY,SAAS,YAAY,QAAQ,YAAY,OAAO,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,KAAAC,EAAK,MAAAC,EAAM,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUH,GAAMG,EAAM,UAAU,UAAUF,GAAOE,EAAM,WAAW,WAAW,QAAQP,GAAwBO,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMxB,IAAewB,EAAM,iBAAwBxB,EAAS,KAAK,GAAG,EAAEwB,EAAM,iBAAwBxB,EAAS,KAAK,GAAG,EAAU0B,GAA6BC,EAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,EAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAAvC,EAAQ,UAAAwC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAE1B,GAASM,CAAK,EAAO,CAAC,YAAAqB,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAApD,CAAQ,EAAEqD,GAAgB,CAAC,WAAA1D,GAAW,eAAe,YAAY,IAAIoC,EAAW,QAAA7B,EAAQ,kBAAAL,EAAiB,CAAC,EAAQyD,EAAiB7B,GAAuBD,EAAMxB,CAAQ,EAAO,CAAC,sBAAAuD,EAAsB,MAAAC,EAAK,EAAEC,GAAyBZ,CAAW,EAAQa,GAAoBH,EAAsB,SAASI,KAAO,CAACR,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAEC,EAAW,WAAW,CAAE,CAAC,EAAQQ,GAAoBL,EAAsB,SAASI,KAAO,CAACR,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAEC,EAAW,WAAW,CAAE,CAAC,EAAQS,GAAmBN,EAAsB,SAASI,KAAO,CAACR,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAEC,EAAW,WAAW,CAAE,CAAC,EAAQU,GAAmBP,EAAsB,SAASI,KAAO,CAACR,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAEC,EAAW,WAAW,CAAE,CAAC,EAA4DW,GAAkBC,EAAGpE,GAAkB,GAArE,CAAa4C,EAAS,CAAuE,EAAQyB,GAAY,IAAQpB,IAAc,YAAuC,OAAoBhC,EAAKqD,GAAY,CAAC,GAAGzB,GAAUT,EAAgB,SAAsBnB,EAAKC,GAAS,CAAC,QAAQd,EAAS,QAAQ,GAAM,SAAsBa,EAAKT,GAAW,CAAC,MAAMD,GAAY,SAAsBU,EAAKsD,GAAK,CAAC,KAAKxB,EAAU,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsByB,EAAMrD,EAAO,EAAE,CAAC,GAAG6B,EAAU,GAAGI,EAAgB,UAAU,GAAGgB,EAAGD,GAAkB,iBAAiBvB,EAAUM,CAAU,CAAC,kBAAkB,mBAAmB,UAAU,iBAAiB,GAAK,iBAAiBQ,EAAiB,SAAS,YAAY,aAAaI,GAAoB,IAAI3B,EAAW,MAAM,CAAC,GAAGQ,CAAK,EAAE,GAAGzC,GAAqB,CAAC,UAAU,CAAC,mBAAmB,UAAU,aAAa+D,EAAkB,EAAE,UAAU,CAAC,mBAAmB,UAAU,aAAaD,EAAmB,EAAE,UAAU,CAAC,mBAAmB,UAAU,aAAa,OAAU,aAAaE,EAAkB,EAAE,UAAU,CAAC,mBAAmB,QAAQ,EAAE,UAAU,CAAC,mBAAmB,QAAQ,CAAC,EAAEjB,EAAYI,CAAc,EAAE,SAAS,CAAcpC,EAAKwD,GAAS,CAAC,sBAAsB,GAAK,SAAsBxD,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAE,iBAAiBuC,EAAiB,SAAS,YAAY,MAAM,CAAC,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,KAAKZ,EAAU,SAAS,CAAC,UAAU,CAAC,sBAAsB,sEAAsE,EAAE,UAAU,CAAC,sBAAsB,sEAAsE,EAAE,UAAU,CAAC,sBAAsB,oEAAoE,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAG5C,GAAqB,CAAC,UAAU,CAAC,SAAsBe,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,gGAAgG,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsBF,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,gGAAgG,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsBF,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,GAAG,CAAC,MAAM,CAAC,kBAAkB,uCAAuC,uBAAuB,uEAAuE,qBAAqB,OAAO,uBAAuB,MAAM,0BAA0B,UAAU,uBAAuB,QAAQ,sBAAsB,8FAA8F,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC,EAAE8B,EAAYI,CAAc,CAAC,CAAC,EAAEgB,GAAY,GAAgBpD,EAAKnB,GAAK,CAAC,SAAS,GAAK,UAAU,gBAAgB,iBAAiB4D,EAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,EAAE,WAAW,uEAAuE,WAAW,GAAG,CAAC,CAAC,EAAezC,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,iBAAiBuC,EAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,uEAAuE,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQgB,GAAI,CAAC,kFAAkF,kFAAkF,sTAAsT,+JAA+J,wHAAwH,mLAAmL,2IAA2I,+FAA+F,6DAA6D,8DAA8D,6DAA6D,8DAA8D,GAAeA,EAAG,EAWh7QC,GAAgBC,EAAQ9C,GAAU4C,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,aAAaA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,UAAU,UAAU,UAAU,SAAS,QAAQ,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,WAAW,gBAAgB,GAAM,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKA,EAAY,IAAI,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,6JAA6J,IAAI,sEAAsE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,sBAAsB,OAAO,SAAS,MAAM,SAAS,IAAI,0JAA0J,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG/E,GAAU,GAAGqF,GAAoCC,EAAK,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECZx3E,SAASC,GAAWC,EAAM,CAAC,OAAqBC,EAAK,MAAM,CAAC,MAAM,6BAA6B,QAAQ,cAAc,MAAMD,EAAM,MAAM,OAAOA,EAAM,OAAO,MAAM,CAAC,GAAGA,EAAM,MAAM,MAAMA,EAAM,KAAK,EAAE,SAAuBC,EAAK,OAAO,CAAC,EAAE,mIAAmI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAE,CAAQ,SAASC,GAAUF,EAAM,CAAC,OAAqBG,EAAM,MAAM,CAAC,MAAM,6BAA6B,QAAQ,cAAc,GAAGH,EAAM,SAAS,CAAeC,EAAK,OAAO,CAAC,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM,CAAC,EAAgBA,EAAK,OAAO,CAAC,EAAE,oPAAoP,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAE,CAAQ,SAASG,GAAYJ,EAAM,CAAqB,OAAqBG,EAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,GAAGH,EAAM,KAAK,EAAE,SAAS,CAAeC,EAAKI,EAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,WAAW,CAAC,KAAK,SAAS,SAAS,EAAE,OAAO,GAAQ,EAAE,MAAM,CAAC,aAAa,IAAI,gBAAgB,+CAA+CL,EAAM,KAAK,SAAS,MAAM,OAAO,OAAO,MAAM,CAAC,CAAC,EAAgBC,EAAK,MAAM,CAAC,MAAM,CAAC,gBAAgBD,EAAM,gBAAgB,aAAa,IAAI,SAAS,WAAW,IAAI,EAAY,KAAK,EAAY,OAAO,EAAY,MAAM,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CCAthD,SAASM,GAAQC,EAAM,CAC1B,KAAK,MAAQ,IAAI,QAAQ,CAACC,EAASC,IAAS,CACxC,IAAIC,EAAUC,EAAO,UAAU,KAAK,SAAS,MAAM,EACnDD,EAAQ,gBAAmBE,GAAI,CAC3B,KAAK,GAAKA,EAAE,OAAO,OACnB,KAAK,GAAG,kBAAkB,OAAO,CACrC,EACAF,EAAQ,UAAaE,GAAI,CACrB,KAAK,GAAKA,EAAE,OAAO,OACnBJ,EAAQ,CACZ,EACAE,EAAQ,QAAWE,GAAI,CACnB,KAAK,GAAKA,EAAE,OAAO,OACnBH,EAAOG,CAAC,CACZ,CACJ,CAAC,CACL,CACAN,GAAQ,UAAU,IAAM,SAASO,EAAK,CAClC,OAAO,KAAK,MAAM,KAAK,IACZ,IAAI,QAAQ,CAACL,EAASC,IAAS,CAClC,IAAIC,EAAU,KAAK,SAAS,EAAE,IAAIG,CAAG,EACrCH,EAAQ,UAAaE,GAAIJ,EAAQI,EAAE,OAAO,MAAM,EAEhDF,EAAQ,QAAUD,CACtB,CAAC,CACJ,CACL,EACAH,GAAQ,UAAU,SAAW,UAAW,CACpC,OAAO,KAAK,GAAG,YAAY,CACvB,OACJ,EAAG,WAAW,EAAE,YAAY,OAAO,CACvC,EACAA,GAAQ,UAAU,IAAM,SAASO,EAAKC,EAAO,CACzC,OAAO,KAAK,MAAM,KAAK,IACZ,IAAI,QAAQ,CAACN,EAASC,IAAS,CAClC,IAAIC,EAAU,KAAK,SAAS,EAAE,IAAII,EAAOD,CAAG,EAC5CH,EAAQ,UAAYF,EACpBE,EAAQ,QAAUD,CACtB,CAAC,CACJ,CACL,EACAH,GAAQ,UAAU,OAAS,SAASO,EAAKC,EAAO,CAC5CH,EAAO,UAAU,eAAe,SAAS,MAAM,CACnD,EC1CoyB,eAAsBI,GAAcC,EAAIC,EAAYC,EAAM,IAAIC,GAAQ,OAAO,EAAE,CAAC,IAAMC,EAASJ,EAAUK,EAAK,MAAMH,EAAM,IAAIE,EAASH,CAAW,CAAE,CAAC,eAAsBK,GAAmBN,EAAIE,EAAM,IAAIC,GAAQ,OAAO,EAAE,CAAC,IAAMC,EAASJ,EAAUK,EAAK,MAAMH,EAAM,IAAIE,CAAQ,EAAE,OAAGC,GAA+B,IAAM,CCD5/B,IAAME,GAAQ,EAAyC,SAASC,GAAkBC,EAAS,CAAC,MAAM,CAACA,GAAUA,IAAW,SAAU,CAAC,IAAMC,GAAU,mBAAmB,SAASC,GAAYF,EAAS,CAAC,OAAGD,GAAkBC,CAAQ,EAASC,GAAgB,GAAGA,EAAS,IAAID,CAAQ,EAAG,CAAC,IAAMG,GAAa,sBAAsB,SAASC,GAAeJ,EAAS,CAAC,OAAGD,GAAkBC,CAAQ,EAASG,GAAmB,GAAGA,EAAY,IAAIH,CAAQ,EAAG,CAAC,eAAsBK,GAAeL,EAASM,EAAU,CAGxlB,IAAMC,EAAYH,GAAeJ,CAAQ,EAAQQ,EAASN,GAAYF,CAAQ,EAAO,CAACS,EAASC,CAAW,EAAE,MAAM,QAAQ,IAAI,CAACC,GAAmBJ,CAAW,EAAEI,GAAmBH,CAAQ,CAAC,CAAC,EAAE,OAAGE,EAAmB,CAAC,OAAOJ,GAAWG,GAAU,YAAYH,EAAU,QAAQ,QAAQ,YAAYI,EAAY,UAAUD,GAAU,SAAS,EAAS,CAAC,OAAO,MAAM,CAAE,CAAQ,SAASG,GAAeZ,EAASa,EAAMP,EAAU,CAAC,IAAME,EAASN,GAAYF,CAAQ,EAAEc,GAAcN,EAASK,CAAK,EAAE,IAAMJ,EAAS,CAAC,QAAQM,GAAQ,UAAU,KAAK,IAAI,EAAE,UAAAT,CAAS,EAAQC,EAAYH,GAAeJ,CAAQ,EAAEc,GAAcP,EAAYE,CAAQ,CAAE,CCD1mB,IAAMO,GAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,wBAAwB,YAAY,gCAAgC,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,gBAAgB,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,8BAA8B,YAAY,gEAAgE,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,kBAAkB,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,6BAA6B,YAAY,6DAA6D,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,kBAAkB,UAAU,CAAC,CAAC,CAAC,ECAvoB,IAAMC,GAAI,IAAI,YAAY,KAAK,EAAQC,GAAS,CAACC,EAAEC,IAAI,CAAC,IAAM,EAAED,EAAE,OAAaE,EAAED,EAAE,OAAaE,EAAI,GAAG,EAAE,EAAMC,EAAG,GAAOC,EAAG,EAAMC,EAAG,EAAMC,EAAE,EAAE,KAAMA,KAAKT,GAAIE,EAAE,WAAWO,CAAC,CAAC,GAAG,GAAGA,EAAG,IAAIA,EAAE,EAAEA,EAAEL,EAAEK,IAAI,CAAC,IAAIC,EAAGV,GAAIG,EAAE,WAAWM,CAAC,CAAC,EAAQE,EAAGD,EAAGH,EAAGG,IAAKA,EAAGJ,GAAIA,EAAGA,EAAGC,GAAI,EAAEG,EAAGJ,GAAIA,GAAII,EAAMH,EAAGF,GAAKG,IAASF,EAAGD,GAAKG,IAAMD,EAAGA,GAAI,EAAE,EAAED,EAAGA,GAAI,EAAE,EAAEK,EAAGJ,GAAIA,GAAII,CAAG,CAAK,IAAJF,EAAE,EAAQA,KAAKT,GAAIE,EAAE,WAAWO,CAAC,CAAC,EAAE,EAAG,OAAOD,CAAG,EAAQI,GAAQ,CAACT,EAAED,IAAI,CAAC,IAAM,EAAEA,EAAE,OAAaE,EAAED,EAAE,OAAaU,EAAI,CAAC,EAAQC,EAAI,CAAC,EAAQC,EAAM,KAAK,KAAK,EAAE,EAAE,EAAQC,EAAM,KAAK,KAAKZ,EAAE,EAAE,EAAE,QAAQK,EAAE,EAAEA,EAAEM,EAAMN,IAAKK,EAAIL,CAAC,EAAE,GAAGI,EAAIJ,CAAC,EAAE,EAAG,IAAIQ,EAAE,EAAE,KAAKA,EAAED,EAAM,EAAEC,IAAI,CAAC,IAAIV,EAAG,EAAMD,EAAG,GAASY,EAAMD,EAAE,GAASE,EAAK,KAAK,IAAI,GAAGf,CAAC,EAAEc,EAAM,QAAQE,EAAEF,EAAME,EAAED,EAAKC,IAAKpB,GAAIG,EAAE,WAAWiB,CAAC,CAAC,GAAG,GAAGA,EAAG,QAAQC,EAAG,EAAEA,EAAG,EAAEA,IAAK,CAAC,IAAMX,EAAGV,GAAIE,EAAE,WAAWmB,CAAE,CAAC,EAAQC,EAAGR,EAAIO,EAAG,GAAG,CAAC,IAAIA,EAAG,EAAQE,EAAGV,EAAIQ,EAAG,GAAG,CAAC,IAAIA,EAAG,EAAQV,EAAGD,EAAGH,EAASiB,IAAKd,EAAGa,GAAIjB,GAAIA,EAAGA,EAAGI,EAAGa,EAAOE,EAAGlB,EAAG,EAAEiB,EAAGlB,GAAQoB,EAAGpB,EAAGkB,EAAMC,IAAK,GAAGH,IAAIR,EAAIO,EAAG,GAAG,CAAC,GAAG,GAAGA,GAAOK,IAAK,GAAGH,IAAIV,EAAIQ,EAAG,GAAG,CAAC,GAAG,GAAGA,GAAII,EAAGA,GAAI,EAAEH,EAAGI,EAAGA,GAAI,EAAEH,EAAGjB,EAAGoB,EAAG,EAAEf,EAAGc,GAAIlB,EAAGkB,EAAGd,CAAG,CAAC,QAAQgB,EAAGT,EAAMS,EAAGR,EAAKQ,IAAM3B,GAAIG,EAAE,WAAWwB,CAAE,CAAC,EAAE,CAAG,CAAC,IAAIC,EAAI,EAAMC,EAAI,GAASC,EAAOb,EAAE,GAASc,EAAM,KAAK,IAAI,GAAG3B,EAAE0B,CAAM,EAAEA,EAAO,QAAQE,EAAGF,EAAOE,EAAGD,EAAMC,IAAMhC,GAAIG,EAAE,WAAW6B,CAAE,CAAC,GAAG,GAAGA,EAAI,IAAIC,EAAM7B,EAAE,QAAQ8B,EAAG,EAAEA,EAAG,EAAEA,IAAK,CAAC,IAAMC,EAAInC,GAAIE,EAAE,WAAWgC,CAAE,CAAC,EAAQE,EAAItB,EAAIoB,EAAG,GAAG,CAAC,IAAIA,EAAG,EAAQG,EAAIxB,EAAIqB,EAAG,GAAG,CAAC,IAAIA,EAAG,EAAQI,EAAIH,EAAIP,EAAUW,IAAMJ,EAAIE,GAAKR,GAAKA,EAAIA,EAAIM,EAAIE,EAAQG,EAAIZ,EAAI,EAAEW,EAAIV,GAASY,EAAIZ,EAAIU,EAAIN,GAAOO,IAAMpC,EAAE,EAAE,EAAE6B,GAAOQ,IAAMrC,EAAE,EAAE,EAAKoC,IAAM,GAAGJ,IAAKtB,EAAIoB,EAAG,GAAG,CAAC,GAAG,GAAGA,GAAOO,IAAM,GAAGJ,IAAKxB,EAAIqB,EAAG,GAAG,CAAC,GAAG,GAAGA,GAAIM,EAAIA,GAAK,EAAEJ,EAAIK,EAAIA,GAAK,EAAEJ,EAAIR,EAAIY,EAAI,EAAEH,EAAIE,GAAKZ,EAAIY,EAAIF,CAAI,CAAC,QAAQI,EAAGZ,EAAOY,EAAGX,EAAMW,IAAM1C,GAAIG,EAAE,WAAWuC,CAAE,CAAC,EAAE,EAAG,OAAOT,CAAM,EAAQU,GAAS,CAACzC,EAAEC,IAAI,CAAC,GAAGD,EAAE,OAAOC,EAAE,OAAO,CAAC,IAAMyC,EAAIzC,EAAEA,EAAED,EAAEA,EAAE0C,CAAI,CAAC,OAAGzC,EAAE,SAAS,EAAUD,EAAE,OAAWA,EAAE,QAAQ,GAAWD,GAASC,EAAEC,CAAC,EAAUS,GAAQV,EAAEC,CAAC,CAAE,ECF11D,IAAM0C,GAAuB,IAAI,CAAC,GAAG,CAAC,OAAO,OAAOC,EAAS,KAAaA,EAAO,aAAa,sBAAsB,MAAO,MAAS,CAC3I,CAAC,GAAG,EAAQC,GAAY,8CAA8C,SAASC,GAAsBC,EAAM,CAAC,OAAOA,EAAM,OAAO,CAAC,EAAE,YAAY,EAAEA,EAAM,MAAM,CAAC,CAAE,CAAQ,SAASC,GAAUD,EAAM,CAA2C,OAA7BA,EAAM,MAAMF,EAAW,GAAG,CAAC,GAAgB,IAAIC,EAAqB,EAAE,KAAK,GAAG,CAAE,CAAQ,SAASG,GAAUC,EAAKC,EAAU,CAAC,IAAMC,EAAWF,EAAK,OAAO,GAAGE,GAAYD,EAAW,OAAOD,EAAM,IAAMG,EAAWH,EAAK,MAAM,EAAEC,CAAS,EAAE,OAAGC,EAAWD,EAAkBE,EAAW,SAAYA,CAAW,CAAQ,SAASC,GAAcC,EAAO,CAAC,OAAO,OAAO,KAAKA,CAAM,EAAE,SAAS,CAAE,CAAQ,SAASC,GAAaC,EAAW,CAAC,SAASC,KAAOC,EAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,EAAE,GAAGA,CAAI,CAAE,CAAC,SAASC,EAAKC,EAAM,CAAC,QAAQ,KAAKA,CAAK,CAAE,CAAC,SAASC,EAAQD,EAAM,CAAC,QAAQ,QAAQA,CAAK,CAAE,CAAC,SAASE,GAAM,CAAC,CAAC,OAAIN,EAA2D,CAAC,IAAAC,EAAI,KAAAE,EAAK,QAAAE,CAAO,EAA1D,CAAC,IAAIC,EAAK,KAAKA,EAAK,QAAQA,CAAI,CAA4B,CAAQ,IAAMC,GAAoB,iIAAwI,SAASC,GAAcC,EAAM,CAAC,OAAGA,EAAM,WAAW,WAAkBA,EAAM,UAAU,WAAcA,EAAM,WAAW,WAAkBA,EAAM,UAAU,WAAcA,EAAM,cAAc,WAAkBA,EAAM,aAAa,WAAkBF,EAAoB,CAAQ,SAASG,GAAuBC,EAAO,CAAC,MAAM,GAAGA,CAAM,WAAY,CAAQ,IAAMC,GAAa,OAAO,SAAW,IAAY,SAAS,KAAkBC,GAAW,OAAO1B,EAAS,IAAYA,EAAO,KAAW2B,GAAgB,mCAA0C,SAASC,IAAmB,CAAC,IAAMC,EAAQJ,IAAc,cAAcE,EAAe,EAAE,OAAIE,EAA8CA,EAAQ,aAAa,SAAS,EAApE,MAA4F,CAAQ,IAAMC,GAAiB,IAAYF,GAAkB,IAAI,gBAAyB,SAASG,GAAwBC,EAAIC,EAAW,CAAC,GAAG,CAACA,EAAW,OAAOD,EAAI,IAAME,EAAoB,IAAID,CAAU,GAAG,GAAGD,EAAI,WAAWE,CAAmB,EAAG,OAAOF,EAAI,MAAME,EAAoB,MAAM,CAAG,CAE9/D,SAASC,GAAYC,EAAe,CAAC,GAAG,cAAcpC,EAAO,CAGvE,IAAMqC,EAAQ,CAAC,SAASD,EAAe,gBAAgB,cAAc,EAAE,GAAG,UAAU,UAAU,OAAO,UAAU,MAAMC,CAAO,EAAE,GAAG,aAAa,UAAU,OAAO,UAAU,SAAS,IAAI,CAAC,EAAEA,CAAO,CAAE,CAAC,OAAGD,EAE/L,QAAQ,QAAQ,EAAU,IAAI,QAAQE,GAAS,CAAC,WAAWA,EAAQ,CAAC,CAAE,CAAC,CAAE,CCPuvB,GAAK,CAAC,IAAAC,GAAI,KAAAC,GAAK,QAAAC,EAAO,EAAEC,GAAaC,CAAqB,EAAsF,IAAMC,IAAiB,IAAI,CAAC,GAAG,CAMt/B,IAAMC,EAAM,OAAO,iDAAiD,GAAG,EAAE,SAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAC,OAAAC,GAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,GAAG,ECPvM,IAAIC,GAAS,SAASA,EAAQ,CAAC,IAAIC,EAAQD,EAAQ,QAAQ,IAAI,iBAAiBE,GAAQC,EAAU,eAAe,EAAMC,EAASJ,EAAQ,SAAS,IAAIG,EAAU,UAAU,YAAY,EAAE,SAAS,SAAS,EAAME,EAASL,EAAQ,SAAS,IAAIG,EAAU,UAAU,YAAY,EAAE,SAAS,cAAc,EAAMG,EAASN,EAAQ,SAAS,IAAIK,EAAS,GAAG,CAACD,EAAS,EAAMG,EAAgBP,EAAQ,gBAAgB,IAAIM,EAAS,GAAG,CAACL,EAAQ,EAAMO,EAAUR,EAAQ,UAAU,IAAI,MAAM,KAAKG,EAAU,QAAQ,EAAMM,EAAQT,EAAQ,QAAQ,IAAI,MAAM,KAAKG,EAAU,QAAQ,CAAE,GAAGH,IAAUA,EAAQ,CAAC,EAAE,ECO/jB,IAAMU,GAAuB,CAACC,EAASC,IAAmB,CAAC,IAAMC,EAAgBC,EAAO,IAAI,EAAE,OAAOC,GAAYC,GAAO,CAAC,GAAG,CAACC,EAAQ,SAAS,EAAE,OAAON,EAASK,CAAK,EAAE,IAAME,EAAIN,GAAkCC,EAAqB,CAAC,QAAAM,EAAQ,QAAAC,CAAO,EAAEJ,EAAYK,EAAmBH,EAAI,QAExS,GAFgTA,EAAI,QAAQ,CAAC,EAAEC,EAAQ,EAAEC,CAAO,EAE7U,EAACC,IAA+BA,EAAmB,IAAIF,GAASE,EAAmB,IAAID,GAAS,OAAOT,EAASK,CAAK,CAAG,EAAE,CAACJ,EAAiBD,CAAQ,CAAC,CAAE,ECPnJ,SAASW,GAAeC,EAAcC,EAAsG,CAAC,UAAAC,EAAU,aAAAC,CAAY,EAAE,CAAC,IAAMC,EAAoBJ,EAAc,sBAAsB,EAAQK,EAAoBJ,EAAc,sBAAsB,EAAE,GAAGG,EAAoB,IAAIC,EAAoB,IAAI,CAAC,IAAMC,EAAWD,EAAoB,IAAID,EAAoB,IAAIH,EAAc,UAAUA,EAAc,UAAUK,EAAWJ,CAAU,SAASE,EAAoB,OAAOC,EAAoB,OAAO,CAAC,IAAME,EAAWF,EAAoB,IAAID,EAAoB,IAAUI,EAAUP,EAAc,UAAUM,EAAWL,EAAgBO,EAAcL,EAAoB,OAAOC,EAAoB,OAAaK,EAAOT,EAAc,UAAUQ,EAAcN,EAAaF,EAAc,UAAU,KAAK,IAAIO,EAAUE,CAAM,CAAE,CAAC,CCe+B,IAAIC,IAA4B,SAASA,EAA2B,CAACA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,MAAO,GAAGA,KAA6BA,GAA2B,CAAC,EAAE,EAAS,IAAIC,IAAwB,SAASA,EAAuB,CAACA,EAAuB,KAAQ,OAAOA,EAAuB,UAAa,YAAYA,EAAuB,UAAa,WAAY,GAAGA,KAAyBA,GAAuB,CAAC,EAAE,EAAS,IAAIC,IAAuB,SAASA,EAAsB,CAACA,EAAsB,GAAM,KAAKA,EAAsB,MAAS,OAAQ,GAAGA,KAAwBA,GAAsB,CAAC,EAAE,EAAS,IAAIC,IAA0B,SAASA,EAAyB,CAACA,EAAyB,YAAe,cAAcA,EAAyB,KAAQ,MAAO,GAAGA,KAA2BA,GAAyB,CAAC,EAAE,EAAS,IAAIC,IAAsB,SAASA,EAAqB,CAACA,EAAqB,UAAa,YAAYA,EAAqB,UAAa,WAAY,GAAGA,KAAuBA,GAAqB,CAAC,EAAE,EAAS,IAAIC,IAAkB,SAASA,EAAiB,CAACA,EAAiB,QAAW,UAAUA,EAAiB,SAAY,WAAWA,EAAiB,UAAa,WAAY,GAAGA,KAAmBA,GAAiB,CAAC,EAAE,EAAS,IAAIC,IAAiB,SAASA,EAAgB,CAACA,EAAgB,KAAQ,OAAOA,EAAgB,KAAQ,MAAO,GAAGA,KAAkBA,GAAgB,CAAC,EAAE,EAAS,IAAIC,IAAgB,SAASA,EAAe,CAACA,EAAe,QAAW,UAAUA,EAAe,OAAU,QAAS,GAAGA,KAAiBA,GAAe,CAAC,EAAE,EChB5sD,GAAK,CAAC,IAAAC,GAAI,KAAAC,GAAK,QAAAC,EAAO,EAAEC,GAAaC,CAAqB,EAAQC,IAAiB,IAAI,CAAC,GAAG,CAMl6B,IAAMC,EAAM,OAAO,iDAAiD,GAAG,EAAE,SAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAC,OAAAN,GAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,GAAG,ECUorB,IAAIO,IAA4B,SAASA,EAA2B,CAACA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,MAAO,GAAGA,KAA6BA,GAA2B,CAAC,EAAE,EAAS,IAAIC,IAAwB,SAASA,EAAuB,CAACA,EAAuB,KAAQ,OAAOA,EAAuB,UAAa,YAAYA,EAAuB,UAAa,WAAY,GAAGA,KAAyBA,GAAuB,CAAC,EAAE,EAAS,IAAIC,IAAuB,SAASA,EAAsB,CAACA,EAAsB,GAAM,KAAKA,EAAsB,MAAS,OAAQ,GAAGA,KAAwBA,GAAsB,CAAC,EAAE,EAAS,IAAIC,IAA0B,SAASA,EAAyB,CAACA,EAAyB,YAAe,cAAcA,EAAyB,KAAQ,MAAO,GAAGA,KAA2BA,GAAyB,CAAC,EAAE,EAAS,IAAIC,IAAsB,SAASA,EAAqB,CAACA,EAAqB,UAAa,YAAYA,EAAqB,UAAa,WAAY,GAAGA,KAAuBA,GAAqB,CAAC,EAAE,EAAS,IAAIC,IAAkB,SAASA,EAAiB,CAACA,EAAiB,QAAW,UAAUA,EAAiB,SAAY,WAAWA,EAAiB,UAAa,WAAY,GAAGA,KAAmBA,GAAiB,CAAC,EAAE,EAAS,IAAIC,IAAiB,SAASA,EAAgB,CAACA,EAAgB,KAAQ,OAAOA,EAAgB,KAAQ,MAAO,GAAGA,KAAkBA,GAAgB,CAAC,EAAE,EAAS,IAAIC,IAAgB,SAASA,EAAe,CAACA,EAAe,QAAW,UAAUA,EAAe,OAAU,QAAS,GAAGA,KAAiBA,GAAe,CAAC,EAAE,EChB5sD,GAAK,CAAC,IAAAC,GAAI,KAAAC,GAAK,QAAAC,EAAO,EAAEC,GAAaC,CAAqB,EAAQC,IAAiB,IAAI,CAAC,GAAG,CAMl6B,IAAMC,EAAM,OAAO,iDAAiD,GAAG,EAAE,SAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAC,OAAAN,GAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,GAAG,ECUorB,IAAIO,IAA4B,SAASA,EAA2B,CAACA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,MAAO,GAAGA,KAA6BA,GAA2B,CAAC,EAAE,EAAS,IAAIC,IAAwB,SAASA,EAAuB,CAACA,EAAuB,KAAQ,OAAOA,EAAuB,UAAa,YAAYA,EAAuB,UAAa,WAAY,GAAGA,KAAyBA,GAAuB,CAAC,EAAE,EAAS,IAAIC,IAAuB,SAASA,EAAsB,CAACA,EAAsB,GAAM,KAAKA,EAAsB,MAAS,OAAQ,GAAGA,KAAwBA,GAAsB,CAAC,EAAE,EAAS,IAAIC,IAA0B,SAASA,EAAyB,CAACA,EAAyB,YAAe,cAAcA,EAAyB,KAAQ,MAAO,GAAGA,KAA2BA,GAAyB,CAAC,EAAE,EAAS,IAAIC,IAAsB,SAASA,EAAqB,CAACA,EAAqB,UAAa,YAAYA,EAAqB,UAAa,WAAY,GAAGA,KAAuBA,GAAqB,CAAC,EAAE,EAAS,IAAIC,IAAkB,SAASA,EAAiB,CAACA,EAAiB,QAAW,UAAUA,EAAiB,SAAY,WAAWA,EAAiB,UAAa,WAAY,GAAGA,KAAmBA,GAAiB,CAAC,EAAE,EAAS,IAAIC,IAAiB,SAASA,EAAgB,CAACA,EAAgB,KAAQ,OAAOA,EAAgB,KAAQ,MAAO,GAAGA,KAAkBA,GAAgB,CAAC,EAAE,EAAS,IAAIC,IAAgB,SAASA,EAAe,CAACA,EAAe,QAAW,UAAUA,EAAe,OAAU,QAAS,GAAGA,KAAiBA,GAAe,CAAC,EAAE,EChB5sD,GAAK,CAAC,IAAAC,EAAI,KAAAC,GAAK,QAAAC,EAAO,EAAEC,GAAaC,CAAqB,EAAQC,IAAiB,IAAI,CAAC,GAAG,CAMl6B,IAAMC,EAAM,OAAO,iDAAiD,GAAG,EAAE,SAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAC,OAAAN,EAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,GAAG,EAAE,SAASO,GAAWC,EAAK,CAAC,OAAOA,EAAK,MAAMH,EAAe,CAAE,CAAC,SAASI,GAAeC,EAAI,CAAC,IAAMC,EAAMJ,GAAWG,CAAG,EAAE,OAAOE,GAAMA,EAAK,KAAK,GAAGA,EAAK,OAAO,CAAC,EAAE,OAAO,IAAI,IAAID,CAAK,CAAE,CAAC,IAAME,GAAe,mBAGzZ,SAASC,GAAoBN,EAAK,CAAC,OAAG,MAAM,QAAQA,CAAI,EAAUA,EAAK,IAAIM,EAAmB,EAAUN,EAAK,UAAU,KAAK,EAC9H,QAAQK,GAAe,EAAE,EAAE,YAAY,CAAE,CAAC,IAAME,GAAoB,IAAI,QAAQ,SAASC,GAA2BC,EAAK,CAAC,IAAMC,EAAOH,GAAoB,IAAIE,CAAI,EAAE,GAAGC,EAAO,OAAOA,EAAO,IAAMC,EAAeC,GAAkBH,CAAI,EAAE,OAAAF,GAAoB,IAAIE,EAAKE,CAAc,EAASA,CAAe,CAAC,SAASC,GAAkBH,EAAK,CAAC,IAAME,EAAe,CAAC,EAAE,QAAUE,KAAOJ,EAAM,GAAGA,EAAK,eAAeI,CAAG,EAAE,CAAC,IAAMC,EAAML,EAAKI,CAAG,EAAE,GAAG,OAAOC,GAAQ,SAAS,CAACH,EAAeE,CAAG,EAAEP,GAAoBQ,CAAK,EAAE,QAAS,CAAC,GAAG,MAAM,QAAQA,CAAK,EAAE,CAACH,EAAeE,CAAG,EAAEP,GAAoBQ,CAAK,EAAE,QAAS,CAACH,EAAeE,CAAG,EAAEC,CAAM,CAAE,OAAOH,CAAe,CAAC,SAASI,GAAcC,EAAaC,EAAMC,EAAI,CAAC,IAAMC,EAAO,CAAC,GAAGH,CAAY,EAAE,OAAGC,EAAME,EAAO,QAAOA,EAAO,MAAMF,GAAUC,EAAIC,EAAO,MAAKA,EAAO,IAAID,GAAYC,CAAO,CAKnzB,SAASC,GAA2BX,EAAKY,EAAMlB,EAAMmB,EAAU,CAAC,IAAIC,EAAM,EAAQC,EAAM,CAAC,MAAM,CAAC,MAAM,IAAS,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,IAAS,IAAI,CAAC,CAAC,EAAQC,EAASxB,GAAeQ,EAAK,GAAG,EAInM,GAFGgB,EAAS,IAAIJ,CAAK,IAAGE,GAAO,IAC5BpB,EAAM,OAAO,GAAGsB,EAAS,OAAO,GAAGA,EAAS,OAAO,EAAE,KAAK,EAAE,QAAQJ,IAAOE,GAAOA,EAAM,GACxFA,EAAM,EAAE,CAAC,IAAMG,EAAYjB,EAAK,IAAI,MAAM,GAAG,EAAE,OAAOc,GAAOI,EAAM,GAAGD,EAAY,EAAEA,CAAW,CAAE,CAAC,IAAME,EAAW3B,GAAeQ,EAAK,KAAK,EAC5ImB,EAAW,IAAIP,CAAK,IAAGE,GAAO,IAAI,IAAMM,EAAWpB,EAAK,MAAM,QAAQY,CAAK,EAAKQ,IAAa,KAAIN,GAAO,GAE3GC,EAAM,MAAMT,GAAcS,EAAM,MAAMK,EAAWA,EAAWR,EAAM,MAAM,GAErES,GAASrB,EAAK,MAAMa,CAAS,GAAG,IAAGC,GAAOA,EAAM,IACnD,QAAUQ,KAAaH,EAAgCE,GAAST,EAAMU,CAAS,GAC7D,IAAGR,GAAO,IAAK,IAAMS,EAAS,CAAC,GAAGvB,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,EAAE,EAAE,QAAUwB,KAAWD,EAAS,CAAC,IAAME,EAAajC,GAAegC,CAAO,EAEzLH,GAASG,EAAQX,CAAS,GAAG,IAAGC,GAAOA,EAAM,IAE7CU,EAAQ,WAAWZ,CAAK,IAAGE,GAAO,IAAOW,EAAa,IAAIb,CAAK,IAAGE,GAAO,IAAOU,EAAQ,SAASZ,CAAK,IAAGE,GAAO,GACnH,QAAUY,KAAeD,EAAkCJ,GAAST,EAAMc,CAAW,GAAoB,IAAGZ,GAAO,EAAI,CAAC,IAAMa,EAAiB3B,EAAK,YAAY,QAAQY,CAAK,EAAKe,IAAmB,KAAIb,GAAO,GAAGC,EAAM,YAAYT,GAAcS,EAAM,YAAYY,EAAiBA,EAAiBf,EAAM,MAAM,GAAG,QAAU,KAAKZ,EAAK,EAAM,EAAE,SAASY,CAAK,IAAGE,GAAO,IAAK,QAAUc,KAAa5B,EAAK,UAExYqB,GAASO,EAAUf,CAAS,GAAG,IAAGC,GAAO,IAAOc,EAAU,SAASf,CAAS,IAAGC,GAAO,IAAOc,EAAU,SAAShB,CAAK,IAAGE,GAAO,IAAK,MAAM,CAAC,MAAAA,EAAM,MAAAC,CAAK,CAAE,CAAC,SAASc,GAAwB7B,EAAK8B,EAAgB,CAAC,IAAM5B,EAAeH,GAA2BC,CAAI,EAAQ+B,EAAWvC,GAAesC,CAAe,EAAME,EAAM,EAAE,QAAUC,KAAaF,EAAW,CAAC,GAAK,CAAC,MAAAjB,CAAK,EAAEH,GAA2BT,EAAe+B,EAAUF,EAAWD,CAAe,EAAEE,GAAOlB,CAAM,CAAC,OAAOkB,CAAM,CAAC,SAASE,GAAaC,EAAMvB,EAAMwB,EAAS,CAAC,GAAK,CAACC,EAAQC,CAAU,EAAEC,EAAS,IAAI,EAAO,CAAC,CAACC,CAAe,EAAEC,GAAc,EAAE,OAAAC,EAAU,IAAI,CAAC,IAAMC,EAAgB,IAAI,gBAAgB,OAAAC,GAAiBT,EAAMvB,EAAMwB,EAASO,EAAgB,MAAM,EAAE,KAAKE,GAAK,CAAKF,EAAgB,OAAO,SAASH,EAAgB,IAAI,CAACF,EAAWO,CAAG,CAAE,CAAC,CAAG,CAAC,EAAE,MAAMC,GAAK,CAAIA,EAAI,OAAO,cAAc,QAAQ,MAAM,iBAAiBA,CAAG,CAAG,CAAC,EAAQ,IAAI,CAACH,EAAgB,MAAM,CAAE,CAAE,EAAE,CAACR,EAAMvB,CAAK,CAAC,EAAQ,CAAC,QAAQyB,GAAS,CAAC,CAAC,CAAE,CAAC,IAAMU,GAAQ,GACj+B,eAAeH,GAAiBT,EAAMvB,EAAMwB,EAASY,EAAO,CAAC,IAAMC,EAAKC,IAAY,SAAS,SAASlE,GAAK,OAAO,EAAE,IAAM8C,EAAgBjC,GAAoBe,CAAK,EAAQyB,EAAQ,CAAC,EAAQc,EAAM,OAAO,OAAOhB,CAAK,EAAMiB,EAAS,YAAY,IAAI,EAAEL,GAAQ,eAAeM,GAAwB,CAAI,YAAY,IAAI,GAAGD,IAAU,MAAME,GAAY,EAAEF,EAAS,YAAY,IAAI,EAAEL,GAAS,CAAC,QAAQQ,EAAE,EAAEA,EAAEJ,EAAM,OAAO,EAAEI,EAAE,CAAoG,GAAhG,YAAY,IAAI,GAAGH,IAAU,MAAMC,EAAuB,EAAED,EAAS,YAAY,IAAI,EAAEL,IAAYC,GAAQ,QAAQ,MAAM,CAAC,EAAE,IAAMhD,EAAKmD,EAAMI,CAAC,EAAQzC,EAAMe,GAAwB7B,EAAK8B,CAAe,EAAE,GAAGhB,GAAOsB,EAAS,cAAc,KAAK,CAACa,GAAMjD,EAAK,MAAMiD,GAAM,CAAC,IAAMzB,EAAQxB,EAAK,GAAG,QAAQA,EAAK,GAAG,CAAC,EAAQwD,EAAMpB,GAAU,YAAYqB,GAAsB,MAAMzD,EAAK,MAAMwB,GAAgBxB,EAAK,MACnzBqC,EAAQ,KAAK,CAAC,IAAIrC,EAAK,IAAI,MAAAwD,EAAM,YAAYxD,EAAK,YAAY,KAAK,CAAC,GAAGA,EAAK,EAAEA,EAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAAc,CAAK,CAAC,CAAE,CAAC,CAAgC,GAA/B,MAAMuC,EAAuB,EAAKL,GAAQ,QAAQ,MAAM,CAAC,EAAE,IAAMU,EAAOrB,EAAQ,KAAK,CAACsB,EAAMC,IAAQA,EAAM,MAAMD,EAAM,KAAK,EAAkD,OAAhD1E,GAAQ,OAAO,EAAE,MAAMoE,EAAuB,EAAKL,GAAQ,QAAc,CAAC,EAASX,EAAQ,MAAM,EAAE,EAAE,CAAE,CAAC,SAASwB,GAAsB1B,EAAM2B,EAAYC,EAAW,CAAC,IAAMC,EAAY,CAAC,EAAQC,EAAwBH,EAAY,SAAS,GAAG,EAAQI,EAAoBJ,EAAY,MAAM,GAAG,EAAE,CAAC,EAAQK,EAASD,EAAoB,OAAO,EAAEA,EAAoB,GAAG,QAAUE,KAAOjC,EAAyBkC,GAAwBD,EAAIL,CAAU,EAAkB,WAAWI,CAAQ,IAAgBF,GAAyBG,EAAI,QAAQD,EAAS,SAAkBH,EAAYI,CAAG,EAAEjC,EAAMiC,CAAG,IAAG,OAAOJ,CAAY,CAAQ,SAASM,GAAU1D,EAAMwB,EAAS,CAAC,GAAK,CAACmC,EAAYC,CAAe,EAAEjC,EAAS,CAAC,CAAC,EAAO,CAACkC,EAAOC,CAAS,EAAEnC,EAAS,SAAS,EAAO,CAAC,QAAAF,CAAO,EAAEH,GAAaqC,EAAY3D,EAAMwB,CAAQ,EAAO,CAAC,aAAAuC,CAAY,EAAEC,EAAc,EAAQC,EAASF,GAAc,GAE7kC,SAASG,EAAe3C,EAAM4C,EAAQ,CAAC,YAAY,EAAK,EAAE,CAAC,IAAIf,EAAY7B,EAASC,EAAS,UAAU,CAAC2C,EAAQ,cAAaf,EAAYH,GAAsB1B,EAAMC,EAAS,SAASuC,GAAc,IAAI,EAAE5F,EAAI,kBAAkBqD,EAAS,QAAQ,GAAGoC,EAAgBR,CAAW,CAAE,CAAC,OAAAtB,EAAU,IAAI,CAAC,eAAesC,GAAiB,CAACN,EAAU,SAAS,EAAE,IAAMO,EAAQC,GAAW,qBAAqB,EAAE,GAAG,CAACD,EAAQ,CAACP,EAAU,mBAAmB,EAAEI,EAAeK,GAAY,CAAC,YAAY,EAAI,CAAC,EAAEpG,EAAI,mBAAmB,EAAE,MAAO,CAAC,IAAMqG,EAAY,MAAMC,GAAeR,EAASI,CAAO,EAAE,GAAGG,EAAY,SAAS,QAAQ,CAACN,EAAeM,EAAY,WAAW,EAAEV,EAAU,SAAS,EAAE3F,EAAI,0BAA0B,EAAE,MAAO,CAAIqG,EAAY,SAAS,UAASN,EAAeM,EAAY,WAAW,EAAEV,EAAU,oBAAoB,EAAE3F,EAAI,oDAAoD,GAAG,IAAMuG,EAAeC,GAAkBN,EAAQJ,CAAQ,EAAQW,EAAS,MAAM,MAAMF,CAAc,EAAE,GAAGE,EAAS,GAAG,CAAC,IAAMC,EAAgB,MAAMD,EAAS,KAAK,EAAEV,EAAeW,CAAe,EAAEC,GAAeb,EAASY,EAAgBR,CAAO,EAAEP,EAAU,SAAS,EAAE3F,EAAI,wBAAwB,EAAE,MAAO,CACplC,GAAG,EAAhDyG,EAAS,SAAS,KAAKA,EAAS,SAAS,KAAoB,MAAM,IAAI,MAAMA,EAAS,UAAU,EACjHzG,EAAI,iBAAiB,EAAE,IAAM4G,EAAgBT,GAAW,8BAA8B,EAAE,GAAG,CAACS,EAAgB,CAAIP,EAAY,SAAS,QAAQV,EAAU,0BAA0B,EAAE3F,EAAI,uBAAuB,IAAQ2F,EAAU,SAAS,EAAE3F,EAAI,0BAA0B,GAAG,MAAO,CAEnR,GAAGqG,EAAY,SAAS,SAASA,EAAY,YAAYO,EAAgB,CAACjB,EAAU,SAAS,EAAE3F,EAAI,6BAA6B,EAAE,MAAO,CAAC,IAAM6G,EAAuBL,GAAkBI,EAAgBd,CAAQ,EAAQgB,EAAiB,MAAM,MAAMD,CAAsB,EAAE,GAAGC,EAAiB,GAAG,CAAC,IAAMJ,EAAgB,MAAMI,EAAiB,KAAK,EAAEf,EAAeW,CAAe,EAAEC,GAAeb,EAASY,EAAgBE,CAAe,EAAEjB,EAAU,SAAS,EAAE3F,EAAI,iCAAiC,EAAE,MAAO,CAAIqG,EAAY,SAAS,QAAQV,EAAU,0BAA0B,EAAE3F,EAAI,2BAA2B,IAAQ2F,EAAU,SAAS,EAAE3F,EAAI,8BAA8B,EAAG,CAACiG,EAAgB,EAAE,MAAMc,GAAO,CAE9rBpB,EAAU,OAAO,EAAE3F,EAAI,8BAA8B+G,CAAK,CAAE,CAAC,CAAE,EAAE,CAACjB,CAAQ,CAAC,EAAE9F,EAAI,CAAC,OAAA0F,EAAO,QAAApC,CAAO,CAAC,EAAQ,CAAC,QAAAA,EAAQ,OAAAoC,CAAM,CAAE,CAAC,SAASS,GAAWa,EAAK,CAAC,OAAOC,IAAc,cAAc,cAAcD,CAAI,IAAI,GAAG,aAAa,SAAS,CAAE,CAAC,SAASR,GAAkBU,EAAQpB,EAAS,CAAC,OAAGqB,GAAkBrB,CAAQ,EAASoB,EAAeA,EAAQ,QAAQ,QAAQ,IAAIpB,CAAQ,OAAO,CAAE,CC1ClV,IAAMsB,GAAuB,IAAUC,GAAiB,IAAUC,GAA4B,GAAG,SAASC,GAAY,CAAC,MAAAC,EAAM,KAAAC,EAAK,QAAAC,EAAQ,KAAAC,CAAI,EAAE,CAAuC,IAAMC,EAApBH,IAAO,OAAuDI,EAAKC,GAAU,CAAC,MAAM,CAAC,MAAMN,EAAM,eAAe,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,CAAC,EAAEG,EAAK,OAAoBE,EAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAASL,GAAOA,EAAM,WAAWA,EAAM,UAAU,SAASA,EAAM,UAAU,SAAS,EAAE,EAAE,SAAsBK,EAAK,SAAS,CAAC,UAAU,+BAA+B,QAAQH,EAAQ,MAAM,CAAC,WAAW,UAAU,OAAO,OAAO,WAAW,OAAO,OAAO,UAAU,QAAQ,OAAO,cAAc,YAAY,MAAMF,EAAM,eAAe,SAAS,SAAS,QAAQ,CAAC,EAAE,SAASI,CAAU,CAAC,CAAC,CAAC,CAAE,CAAC,SAASG,GAAQ,CAAC,MAAAP,EAAM,KAAAC,CAAI,EAAE,CAAC,IAAMO,EAAO,CAAC,WAAWR,EAAM,gBAAgB,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,EAAE,OAAGC,IAAO,aAAaD,IAAOQ,EAAO,WAAWR,EAAM,kBAAkBQ,EAAO,YAAYR,EAAM,mBAAuCK,EAAK,MAAM,CAAC,MAAMG,CAAM,CAAC,CAAE,CAAQ,IAAMC,GAAmBC,EAAW,SAAeC,EAAMC,EAAI,CAAC,GAAK,CAAC,MAAAC,EAAM,GAAG,OAAAC,EAAO,UAAAC,EAAU,MAAAf,EAAM,YAAAgB,EAAY,SAAAC,EAAS,gBAAAC,EAAgB,SAAAC,CAAQ,EAAER,EAAW,CAACS,EAAWC,CAAa,EAAEC,EAAST,CAAK,EAAO,CAACU,EAAUC,CAAY,EAAEF,EAAS,EAAK,EAAQG,EAASC,EAAO,EAAEC,GAAoBf,EAAI,IAAIa,EAAS,OAAO,EAAEG,GAAM,gBAAgB,IAEt5C,IAAI,CAAC,IAAMC,EAAaJ,EAAS,QAAW,CAACI,GAAcA,IAAe,SAAS,eAAqBA,EAAa,KAAK,CAAE,EAAI,CAAC,CAAC,EAAE,IAAMC,EAAiB,IAAI,CAAIL,EAAS,SAASA,EAAS,QAAQ,MAAM,CAAG,EAAQM,EAAiB,IAAI,CAACV,EAAc,EAAE,CAAE,EAAEW,EAAU,IAAI,CAACb,EAASC,CAAU,CAAE,EAAE,CAACA,CAAU,CAAC,EAAE,IAAMa,EAAab,EAAW,OAAO,EAAQc,EAAgBd,EAAW,OAAO,GAAGF,GAAiBA,IAAkB,OAAaiB,EAAgB,KAAK,MAAMnC,EAAMA,EAAM,kBAAkBF,GAA4B,CAAC,EAAQsC,EAAWnB,IAAW,UAAUjB,EAAM,eAA4BK,EAAK,MAAM,CAAC,IAAI,uCAAuC,IAAIL,EAAM,eAAe,IAAI,MAAMA,EAAM,cAAc,OAAOA,EAAM,cAAc,SAAS,OAAO,CAAC,EAAeK,EAAKgC,GAAW,CAAC,MAAMrC,EAAM,eAAe,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,EAAE,OAAoBsC,EAAM,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,GAAGC,GAAoB,WAAWC,GAAcxC,CAAK,EAAE,YAAYA,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,kBAAkB,IAAI,GAAG,WAAWmC,EAAgB,cAAcA,EAAgB,YAAY,MAAM,EAAE,QAAQL,EAAiB,SAAS,CAAczB,EAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,MAAM,EAAE,SAASS,IAAS,WAAWM,EAAwBf,EAAKoC,GAAY,CAAC,MAAMzC,EAAM,eAAe,gBAAgBA,EAAM,gBAAgB,MAAM,CAAC,OAAOA,GAAOA,EAAM,cAAc,MAAMA,GAAOA,EAAM,aAAa,CAAC,CAAC,EAAEoC,CAAU,CAAC,EAAe/B,EAAK,QAAQ,CAAC,IAAIoB,EAAS,WAAW,GAAM,UAAUV,EAAU,MAAM,CAAC,GAAG2B,GAAW,wBAAwB,gBAAgB,MAAM1C,EAAM,gBAAgB,WAAW,MAAM,cAAc,WAAW,GAAGA,EAAM,UAAU,GAAGA,EAAM,UAAU,SAASA,EAAM,cACxsD,oCAAoCA,EAAM,gBAAgB,EAAE,QAAQ,IAAI,CAAC,IAAM2C,EAAa,SAAS,gBAAgB,UAAU,SAAS,gBAAgB,UAAUA,CAAa,EAAE,YAAY3B,EAAY,MAAMI,EAAW,SAAS,IAAIC,EAAcI,EAAS,QAAQ,KAAK,CAAC,CAAC,EAAES,GAA8B7B,EAAKN,GAAY,CAAC,MAAMC,EAAM,KAAKW,EAAM,gBAAgB,KAAKA,EAAM,gBAAgB,QAAQoB,CAAgB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQQ,GAAoB,CAAC,QAAQ,cAAc,WAAW,SAAS,WAAW,CAAC,EAAQG,GAAW,CAAC,QAAQ,OAAO,OAAO,OAAO,WAAW,cAAc,WAAW,IAAI,OAAO,MAAM,QAAQ,EAAE,MAAM,MAAM,EAAeE,GAAuBhB,GAAM,KAAkBA,GAAM,WAAW,SAAmBjB,EAAMC,EAAI,CAAC,GAAK,CAAC,MAAAiC,EAAM,OAAAC,EAAO,qBAAAC,EAAqB,KAAA9C,EAAK,YAAY,aAAA+C,EAAa,OAAO,SAAAC,EAAS,GAAM,MAAAjD,EAAM,WAAAkD,EAAW,MAAAC,EAAM,YAAAC,EAAY,cAAAC,EAAc,aAAAC,CAAY,EAAE3C,EAAW,CAAC,IAAA4C,EAAI,MAAAC,EAAM,MAAAC,CAAK,EAAEX,EAAaY,EAAQC,EAAQ,IAAYC,GAAwBL,EAAIL,CAAU,EAAI,CAACK,EAAIL,CAAU,CAAC,EAAQW,EAAgBC,GAAuBC,GAAOX,EAAYW,EAAMlB,CAAK,EAAEE,CAAoB,EAAQiB,EAAY/D,IAAO,YAAkBgE,EAAaD,EAAYE,EAAM,EAAE,IAASlE,EAAM,aAAaA,EAAM,OAAO,EAAE,EAAQmE,EAAanB,IAAe,OAAOU,EAAQU,GAAUtB,EAAO,YAAYlD,EAAsB,EAAQyE,EAAYN,GAAO,CAACA,EAAM,eAAe,EAAET,EAAaR,EAAO,GAAG,CAAE,EAAQwB,EAAUP,GAAO,CAACA,EAAM,eAAe,CAAE,EAAE,OAAoB1D,EAAK,IAAI,CAAC,IAAIO,EAAI,MAAM,CAAC,eAAe,MAAM,EAAE,KAAKkC,EAAO,IAAI,QAAQuB,EAAY,YAAYR,EAAgB,YAAYS,EAAU,cAAcP,GAAOV,EAAcU,EAAMlB,CAAK,EAAE,SAAsBP,EAAM,KAAK,CAAC,MAAM,CAAC,GAAGiC,GAAgB,GAAGpB,EAAM,WAAWa,EAAY,GAAG,GAAG,cAAcA,EAAY,GAAG,GAAG,MAAMhE,EAAM,gBAAgB,SAAS,WAAW,YAAYA,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,iBAAiB,EAAE,SAAS,CAAcK,EAAK,MAAM,CAAC,MAAM,CAAC,gBAAgBL,EAAM,gBAAgB,SAAS,WAAW,QAAQiD,EAAS,IAAI,EAAE,aAAAgB,EAAa,KAAKjE,GAAOgE,EAAYhE,EAAM,QAAQ,EAAE,MAAMA,GAAOgE,EAAYhE,EAAM,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAesC,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,SAAS,SAAS,IAAI,CAAC,EAAE,SAAS,CAAcjC,EAAK,KAAK,CAAC,MAAM,CAAC,GAAGmE,GAAY,GAAGxE,EAAM,UAAU,WAAW,OAAO,EAAE,SAASwD,CAAK,CAAC,EAAelB,EAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAMtC,EAAM,cAAc,GAAGA,EAAM,aAAa,WAAW,SAAS,SAAS,SAAS,aAAa,WAAW,WAAW,OAAO,EAAE,SAAS,CAACyE,EAAsBhB,EAAM,GAAG,IAAIU,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAErB,EAAO,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,EAIhkF,SAAS4B,GAAgB,CAAC,QAAAxE,CAAO,EAAE,CAAC,OAAoBG,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,UAAU,MAAM,EAAE,QAAQH,CAAO,CAAC,CAAE,CAAC,IAAMyE,GAAqB,CAAC,QAAQ,OAAO,cAAc,SAAS,WAAW,SAAS,eAAe,aAAa,IAAI,GAAG,SAAS,SAAS,EAAE,SAASC,GAAgB,CAAC,WAAAC,EAAW,MAAA7E,EAAM,UAAA8E,EAAU,UAAAC,EAAU,SAAAC,EAAS,aAAAC,CAAY,EAAE,CAAC,IAAMC,EAAaC,GAAoBN,EAAW7E,CAAK,EAAQmD,EAAM,CAAC,GAAGwB,GAAqB,GAAGO,EAAa,WAAW,YAAY,UAAUL,IAAa,WAAW7E,EAAM,UAAU,EAAE,OAAO6E,IAAa,UAAU,OAAO,OAAO,UAAUA,IAAa,YAAY,OAAO,OAAO,eAAeA,IAAa,UAAU,WAAW,aAAa,cAAcA,IAAa,UAAU,iBAAiB,QAAQ,EAAQO,EAAW,CAAC,GAAGT,GAAqB,GAAGO,EAAa,OAAOL,IAAa,UAAU,OAAO,OAAO,UAAUA,IAAa,YAAY,OAAO,OAAO,IAAIA,IAAa,UAAU,EAAE7E,EAAM,0BAA0B,gBAAgB6E,IAAa,UAAU7E,EAAM,gBAAgB,cAAc,eAAe6E,IAAa,UAAU,WAAW,aAAa,cAAcA,IAAa,UAAU,iBAAiB,SAAS,QAAQ,GAAG,QAAQ,EAAE,EAAE,SAASQ,GAAuB,CAAC,OAAOR,EAAW,CAAC,IAAI,WAAW,CAAC,IAAMS,EAAIC,GAAuB,UAAU,EAAQC,EAAKP,EAAaA,EAAaK,CAAG,EAAE,OAAU,OAAGE,GAA8B,CAAC,EAAE,IAAI,QAAQ,GAAG,WAAW,CAAC,SAASC,EAAQ,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAS,CAAC,IAAI,YAAY,CAAC,IAAMH,EAAIC,GAAuB,WAAW,EAAQC,EAAKP,EAAaA,EAAaK,CAAG,EAAE,OAAU,OAAGE,GAA8B,CAAC,MAAM,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAS,CAAC,IAAI,UAAU,CAAC,IAAMF,EAAIC,GAAuB,SAAS,EAAQC,EAAKP,EAAaA,EAAaK,CAAG,EAAE,OAAU,OAAGE,GAA8B,CAAC,EAAE,IAAI,QAAQ,EAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAS,CAAC,CAAC,CAAC,IAAME,EAAmBL,EAAsB,EAAE,OAAoB/C,EAAM,MAAM,CAAC,MAAMa,EAAM,UAAU2B,EAAU,QAAQf,GAAOA,EAAM,gBAAgB,EAAE,SAAS,CAACc,IAAa,aAA0BxE,EAAKqE,GAAgB,CAAC,QAAQK,CAAS,CAAC,EAAe1E,EAAKsF,EAAO,IAAI,CAAC,QAAQD,EAAmB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,WAAWA,EAAmBA,EAAmB,WAAW,OAAU,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,MAAMN,EAAW,SAASJ,CAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,SAASY,GAAe,CAAC,WAAAf,EAAW,MAAA7E,EAAM,SAAAgF,EAAS,eAAAa,EAAe,iBAAAC,EAAiB,WAAAC,CAAU,EAAE,CAAC,IAAM5C,EAAM,CAEr9E,WAAW,YAAY,gBAAgBnD,EAAM,gBAAgB,MAAMA,EAAM,gBAAgB,aAAa6E,IAAa,YAAY7E,EAAM,aAAa,EAAE,MAAM,OAAO,QAAQ,OAAO,cAAc,SAAS,SAAS,SAAS,UAAU6E,IAAa,UAAU7E,EAAM,OAAO,OAAU,UAAU6E,IAAa,YAAY,OAAOhF,EAAgB,0BAA0B,MAAS,EAEzW,CAACmG,EAAMC,CAAO,EAAEC,GAAW,EAAE,OAAAC,GAAgB,IAAI,CAAC,GAAGtB,IAAa,aAAagB,EAAe,OAAO,IAAMO,EAAWJ,EAAM,QAAQ,aAAaA,EAAM,QAAQ,MAAM,OAAO,OAAO,IAAMK,EAAOL,EAAM,QAAQ,aAAaA,EAAM,QAAQ,MAAM,OAAOI,EAAW,KAAKH,EAAQD,EAAM,QAAQ,CAAC,OAAO,CAACI,EAAWC,CAAM,CAAC,EAAEP,CAAgB,CAAE,EAAEC,CAAU,EAAsB1F,EAAK,MAAM,CAAC,IAAI2F,EAAM,KAAK,SAAS,UAAUnB,IAAa,WAAW,4BAA4B,OAAU,MAAM1B,EAAM,SAAS6B,CAAQ,CAAC,CAAE,CAAC,IAAMsB,GAAwB1E,GAAM,WAAW,SAAoB,CAAC,MAAA5B,EAAM,SAAAgF,CAAQ,EAAEpE,EAAI,CAAC,IAAM2F,EAAQd,EAAQ,QAAQ,EAAO,CAACe,EAAUC,CAAY,EAAE7E,GAAM,SAAS,EAAI,EAAE,OAAAA,GAAM,UAAU,IAAI,CAAC,GAAG,CAAC2E,EAAQ,OAAO,IAAMG,EAAQ9F,EAAI,QAAY8F,GAAeD,EAAaC,EAAQ,aAAaA,EAAQ,YAAY,CAAE,CAAC,EAAsBrG,EAAK,MAAM,CAAC,IAAIO,EAAI,MAAM,CAAC,MAAM,eAAeZ,EAAM,cAAc,MAAM,UAAU,SAAS,UAAU,SAAS,mBAAmB,UAAU,YAAYwG,EAAU,OAAU,OAG5/B,UAAU,EAAE,EAAE,SAASxB,CAAQ,CAAC,CAAE,CAAC,EAAQ2B,GAAY,CAAC,gBAAgB,UAAU,MAAM,OAAO,UAAU,wCAAwC,WAAW,UAAU,UAAU,SAAS,SAAS,GAAG,QAAQ,OAAO,EAAE,SAASC,GAAc,CAAC,OAAA9F,EAAO,WAAA+D,EAAW,MAAA7E,CAAK,EAAE,CAAC,IAAMmC,EAAgB,KAAK,MAAMnC,EAAMA,EAAM,kBAAkBF,GAA4B,CAAC,EAAQqD,EAAM,CAAC,GAAGwD,GAAY,WAAW,OAAO,WAAWnE,GAAcxC,CAAK,EAAE,YAAYA,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,kBAAkB,WAAW,IAAI,WAAW,QAAQA,EAAM,aAAa,QAAQ,WAAWmC,EAAgB,cAAcA,EAAgB,GAAGnC,EAAM,UAAU,OAAOA,EAAM,OAAO,EAAE,SAAS6E,IAAa,WAAW,OAAO7E,EAAM,MAAM,MAAM6E,IAAa,WAAW,eAAe1C,EAAgB,CAAC,KAAK,OAAO,UAAU0C,IAAa,WAAW8B,GAAY,UAAU,aAAa9B,IAAa,WAAW7E,EAAM,YAAY,EACj5B6G,EAAgBhC,IAAa,WAAW,eAAe,6CAA6C,OAAG/D,IAAS,oBAAyCT,EAAK,MAAM,CAAC,MAAM8C,EAAM,SAAS0D,CAAe,CAAC,EAAM/F,IAAS,2BAAgDT,EAAK,MAAM,CAAC,MAAM8C,EAAM,SAAS,uBAAuB,CAAC,EAAU,IAAK,CAAC,IAAMqB,GAAY,CAAC,aAAa,WAAW,SAAS,OAAO,SAAS,SAAS,WAAW,IAAI,WAAW,SAAS,KAAK,EAAE,OAAO,CAAC,EAAQD,GAAgB,CAAC,QAAQ,YAAY,UAAU,OAAO,WAAW,GAAG,EAAQuC,GAAc,CAAC,KAAK,EAAE,MAAM,GAAG,EAAQC,GAAe,CAAC,IAAI,EAAE,MAAM,MAAM,EAAQC,GAAgB,CAAC,MAAM,GAAG,EAAE,SAAS7B,GAAoB8B,EAAajH,EAAM,CAAC,OAAOiH,EAAa,CAAC,IAAI,UAAU,MAAM,CAAC,GAAGH,GAAc,MAAM9G,EAAM,KAAK,EAAE,IAAI,WAAW,OAAO+G,GAAe,IAAI,YAAY,MAAM,CAAC,GAAGC,GAAgB,MAAMhH,EAAM,KAAK,CAAE,CAAC,CAAQ,IAAIkH,IAA4B,SAASA,EAA2B,CAACA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,OAAOA,EAA2B,KAAQ,MAAO,GAAGA,KAA6BA,GAA2B,CAAC,EAAE,EAAS,IAAIC,IAAwB,SAASA,EAAuB,CAACA,EAAuB,KAAQ,OAAOA,EAAuB,UAAa,YAAYA,EAAuB,UAAa,WAAY,GAAGA,KAAyBA,GAAuB,CAAC,EAAE,EAAS,IAAIC,IAAuB,SAASA,EAAsB,CAACA,EAAsB,GAAM,KAAKA,EAAsB,MAAS,OAAQ,GAAGA,KAAwBA,GAAsB,CAAC,EAAE,EAAS,IAAIC,IAA0B,SAASA,EAAyB,CAACA,EAAyB,YAAe,cAAcA,EAAyB,KAAQ,MAAO,GAAGA,KAA2BA,GAAyB,CAAC,EAAE,EAAS,IAAIC,IAAsB,SAASA,EAAqB,CAACA,EAAqB,UAAa,YAAYA,EAAqB,UAAa,WAAY,GAAGA,KAAuBA,GAAqB,CAAC,EAAE,EAAS,IAAIC,GAAkB,SAASA,EAAiB,CAACA,EAAiB,QAAW,UAAUA,EAAiB,SAAY,WAAWA,EAAiB,UAAa,WAAY,GAAGA,IAAmBA,EAAiB,CAAC,EAAE,EAAS,IAAIC,IAAiB,SAASA,EAAgB,CAACA,EAAgB,KAAQ,OAAOA,EAAgB,KAAQ,MAAO,GAAGA,KAAkBA,GAAgB,CAAC,EAAE,EAAS,IAAIC,IAAgB,SAASA,EAAe,CAACA,EAAe,QAAW,UAAUA,EAAe,OAAU,QAAS,GAAGA,KAAiBA,GAAe,CAAC,EAAE,EAGzgF,SAASC,GAAY/G,EAAM,CAAC,GAAK,CAAC,WAAAkE,EAAW,MAAA7E,EAAM,SAAA2H,EAAS,aAAAC,EAAa,gBAAAC,EAAgB,aAAA5C,EAAa,cAAA6C,EAAc,UAAA/C,CAAS,EAAEpE,EAAW,CAAC,aAAAoH,CAAY,EAAEC,EAAc,EAAQC,EAASF,GAAc,GAAS7E,EAAW6E,GAAc,KAAWG,EAAMxG,EAAO,EAAQyG,EAAkBzG,EAAO,EAAQ0G,EAAW1G,EAAO,EAAO,CAACuB,EAASoF,CAAW,EAAE/G,EAAS,CAAC,MAAM,EAAE,OAAO,EAAI,CAAC,EAAQyB,EAAqBrB,EAAO,IAAI,EAAO,CAAC4G,EAA6BC,CAA+B,EAAEjH,EAASmE,EAAQ,OAAO,EAAO,CAAC+C,EAAMC,CAAQ,EAAEnH,EAAS,EAAE,EAAQoH,EAAcC,GAAiBH,CAAK,EAAO,CAAC,QAAAI,EAAQ,OAAA9H,CAAM,EAAE+H,GAAUH,EAAc,CAAC,aAAa,EAAE,SAAAf,EAAS,UAAUG,EAAc,SAAS,CAAC,EAAQgB,EAAeF,EAAQ3F,EAAS,KAAK,EAAQd,GAAgB,KAAK,MAAMnC,EAAMA,EAAM,kBAAkBF,GAA4B,CAAC,EAAEkC,EAAU,IAAI,CAC51BqG,EAAY,CAAC,MAAM,EAAE,OAAO,EAAI,CAAC,CAAE,EAAE,CAACK,CAAa,CAAC,EAAE,IAAMK,GAA2BC,GAAY,CAACjF,EAAMlB,IAAQ,CAAIkB,EAAM,cAAc,UAAewE,EAAgC,EAAI,EAAEF,EAAY,CAAC,MAAAxF,EAAM,OAAO,EAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAQoG,GAAyBD,GAAY,CAACjF,EAAMlB,IAAQ,CAACwF,EAAYa,IAAsBA,GAAiB,QAAQrG,EAAcqG,GAAwB,CAAC,MAAArG,EAAM,OAAO,EAAK,CAAG,CAAE,EAAE,CAAC,CAAC,EAAQsG,GAAOC,GAAU,EAAQC,GAAWL,GAAY,MAAMzF,GAAK,CAAC,GAAGzC,IAAS,oBAA6B,GAAG,CAE/gB,GAAK,CAAC,QAAAwI,EAAQ,cAAAC,EAAa,EAAEC,GAA0BL,GAAO,OAAO5F,CAAG,EAAQkG,GAAMN,GAAO,WAAWG,CAAO,EAAEvE,EAAU,EAAE,MAAM0E,IAAO,MAAM,UAAU,EAAEN,GAAO,WAAWG,EAAQ,KAAKC,GAAc,EAAK,CAAE,MAAa,CAACG,EAAO,SAAS,KAAKnG,CAAI,CAAC,EAAE,CAACzC,CAAM,CAAC,EAAQ6I,GAAc5F,GAAO,CAAC,IAAM6F,EAAShB,EAAQ,OAAO,EAAE,OAAO7E,EAAM,KAAK,CAAC,IAAI,UAAiC,GAAvBA,EAAM,eAAe,EAAKuE,EAA6B,CAACC,EAAgC,EAAK,EAAE,KAAM,CAACF,EAAYa,KAAmB,CAAC,MAAMhF,EAAM,EAAE0F,EAASV,GAAiB,MAAM,CAAC,EAAE,OAAO,EAAI,EAAE,EAAE,MAAM,IAAI,YAAmC,GAAvBnF,EAAM,eAAe,EAAKuE,EAA6B,CAACC,EAAgC,EAAK,EAAE,KAAM,CAACF,EAAYa,KAAmB,CAAC,MAAMhF,EAAM,EAAE0F,EAASV,GAAiB,MAAM,CAAC,EAAE,OAAO,EAAI,EAAE,EAAE,MAAM,IAAI,SAAS,MAAM,IAAI,QAAWJ,GAAgBO,GAAWP,EAAe,GAAG,EAAG,MAAM,QAAQ/E,EAAM,gBAAgB,CAAE,CAAC,EAAQ8F,GAAcjB,EAAQ,SAAS,GAAGF,EAAc,OAAO,GAAG5H,IAAS,UAAgBgJ,GAAY,IAASpB,EAAc,OAAO,GAAGE,EAAQ,OAAO,GAAGiB,KAAgB/I,IAAS,WAAWH,EAAM,cAAcA,EAAM,aAAa,cAAc,QAAcoJ,GAAgB,GAAQpJ,EAAM,eAAeA,EAAM,cAAc,WAAW,aAAmBqJ,GAAQD,GAAgB/J,EAAM,QAAQ,GAASiK,GAAeH,IAAaC,GAAgBC,GAAQhK,EAAM,kBAAkB,EAAE,EAAE,OAAAgC,EAAU,IAAI,CAAC,GAAG,CAACiB,EAAS,OAAO,OAAO,IAAMyD,EAAQyB,EAAkB,QAAYzB,GAAewD,GAAexD,EAAQ0B,EAAW,QAAQ,CAAC,UAAU0B,IAAaC,GAAgBE,GAAe,EAAE,aAAaF,GAAgBC,GAAQ,CAAC,CAAC,CAGhlD,EAAE,CAAC/G,CAAQ,CAAC,EAAsBX,EAAMsC,GAAgB,CAAC,WAAWC,EAAW,aAAaI,EAAa,MAAMjF,EAAM,UAAU2J,GAAc,UAAU5E,EAAU,SAAS,CAAczC,EAAMsD,GAAe,CAAC,WAAWf,EAAW,MAAM7E,EAAM,eAAeiF,EAAa,eAAe,iBAAiBA,EAAa,iBAAiB,WAAW,CAAC2D,EAAQ,OAAOiB,EAAa,EAAE,SAAS,CAAcxJ,EAAKI,GAAM,CAAC,UAAU,GAAK,IAAIyH,EAAM,SAASO,EAAS,MAAMD,EAAM,MAAMxI,EAAM,OAAOc,EAAO,SAAS8G,EAAa,YAAY,SAAS,YAAYA,EAAa,mBAAmB,gBAAgB,gBAAgBA,EAAaA,EAAa,gBAAgB,OAAU,gBAAgBA,EAAa,eAAe,CAAC,EAAEkC,IAA0BzJ,EAAKE,GAAQ,CAAC,MAAMP,EAAM,KAAK4H,EAAa,WAAW,CAAC,EAAevH,EAAKiG,GAAW,CAAC,IAAI8B,EAAW,MAAMpI,EAAM,SAAsBsC,EAAM,KAAK,CAAC,YAAY,SAAS,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,MAAM,eAAetC,EAAM,cAAc,MAAM,QAAQ,EAAE,WAAWiK,GAAe,cAAcrB,EAAQ,QAAQmB,GAAgBC,GAAQ,EAAE,IAAIhK,EAAM,kBAAkB,OAAO,CAAC,EAAE,SAAS,CAAC4I,EAAQ,IAAI,CAAC9F,EAAOD,IAAQ,CAAC,IAAMsH,GAAWtH,IAAQI,EAAS,MAAM,OAAoB5C,EAAKuC,GAAU,CAAC,IAAIuH,GAAWhC,EAAkB,KAAK,MAAMtF,EAAM,OAAOC,EAAO,qBAAqBC,EAAqB,SAAS,CAACuF,GAA8B6B,GAAW,KAAKxJ,EAAM,cAAc,SAAS,aAAaA,EAAM,cAAc,gBAAgB,aAAa,MAAMX,EAAM,WAAWkD,EAAW,YAAY+F,GAAyB,cAAcF,GAA2B,aAAaM,EAAU,EAAEvG,EAAO,GAAG,CAAE,CAAC,EAAE+G,IAA4BxJ,EAAK,KAAK,CAAC,MAAM,CAAC,WAAW8B,GAAgB8H,GAAe,cAAc9H,GAAgB,WAAW,MAAM,YAAYnC,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,kBAAkB,OAAiB,MAAa,EAAE,SAAsBK,EAAK,KAAK,CAAC,MAAM,CAAC,GAAGmE,GAAY,UAAU,SAAS,WAAW,QAAQxE,EAAM,aAAa,QAAQ,MAAMA,EAAM,cAAc,GAAGA,EAAM,SAAS,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeK,EAAKuG,GAAc,CAAC,OAAO9F,EAAO,WAAW+D,EAAW,MAAM7E,CAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CC1BlmE,SAASoK,IAAiB,CAAC,OAAG,OAAOC,EAAS,IAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAS,CAAC,MAAMA,EAAO,WAAW,OAAOA,EAAO,WAAW,CAAE,CAAQ,SAASC,GAAqBC,EAAS,CAAC,GAAK,CAACC,EAAMC,CAAQ,EAAEC,EAAS,IAAIH,EAASH,GAAgB,CAAC,CAAC,EAAE,OAAAO,EAAU,IAAI,CAAC,IAAMC,EAAmB,IAAIH,EAASF,EAASH,GAAgB,CAAC,CAAC,EAAE,OAAAC,EAAO,iBAAiB,SAASO,CAAkB,EAAQ,IAAI,CAACP,EAAO,oBAAoB,SAASO,CAAkB,CAAE,CAAE,EAAE,CAAC,CAAC,EAASJ,CAAM,CCA+jB,IAAIK,IAEtkC,SAASA,EAAkB,CAACA,EAAkB,KAAQ,OAAOA,EAAkB,MAAS,OAAQ,GAAGA,KAAoBA,GAAkB,CAAC,EAAE,EAAE,SAASC,GAAYC,EAAeC,EAAS,OAAO,CAAC,GAAG,CAACD,EAAe,OAAOC,EAAS,GAAK,CAAC,EAAAC,EAAE,EAAAC,EAAE,KAAAC,EAAK,MAAAC,EAAM,OAAAC,CAAM,EAAEN,EAAe,MAAM,GAAGE,CAAC,MAAMC,CAAC,MAAMC,CAAI,MAAME,CAAM,MAAMD,CAAK,EAAG,CAAC,IAAME,GAAqBC,EAAW,SAAiBC,EAAMC,EAAI,CAAC,GAAK,CAAC,WAAAC,EAAW,MAAAC,EAAM,UAAAC,CAAS,EAAEJ,EAAM,OAAAK,EAAU,IAAI,CAAC,IAAMC,EAAcC,GAAO,CAAIA,EAAM,OAAO,WAAUA,EAAM,gBAAgB,EAAEH,EAAU,EAAG,EAAQI,EAAkBD,GAAO,CAAIA,EAAM,cAAc,SAAkDA,EAAM,kBAAkB,SAASA,EAAM,OAAO,QAAQ,eAAe,GAAqC,SAAS,yBAAyB,kBAAkB,SAAS,cAAc,KAAK,CAAG,EAEr0B,OAAAE,EAAO,iBAAiB,UAAUH,CAAa,EAAEG,EAAO,iBAAiB,cAAcD,EAAkB,CAAC,QAAQ,EAAI,CAAC,EACvH,SAAS,KAAK,UAAU,IAAIE,EAAkB,EAAQ,IAAI,CAACD,EAAO,oBAAoB,UAAUH,CAAa,EAAEG,EAAO,oBAAoB,cAAcD,EAAkB,CAAC,QAAQ,EAAI,CAAC,EAAE,SAAS,KAAK,UAAU,OAAOE,EAAkB,CAAE,CAAE,EAAE,CAAC,CAAC,EAAsBC,GAA0BC,EAAM,MAAM,CAAC,IAAIX,EAAI,UAAU,kCAAkC,KAAK,eAAe,MAAM,CAAC,GAAGY,GAAe,OAAOb,EAAM,gBAAgB,OAAO,eAAeE,IAAaY,EAAiB,QAAQ,aAAa,QAAQ,EAAE,QAAQV,EAAU,SAAS,CAAcW,EAAKC,EAAO,IAAI,CAAC,KAAK,eAAe,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAWb,EAAM,kBAAkB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,aAAa,SAAS,WAAW,YAAY,OAAO,gBAAgBH,EAAM,gBAAgB,eAAe,CAAC,CAAC,EAAee,EAAKE,GAAY,CAAC,SAASjB,EAAM,SAAS,WAAWE,EAAW,aAAaF,EAAM,aAAa,cAAcA,EAAM,cAAc,aAAaA,EAAM,aAAa,gBAAgBA,EAAM,gBAAgB,MAAMA,EAAM,MAAM,UAAUI,CAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAE,CAAC,EAAQS,GAAe,CAAC,MAAM,OAAO,UAAU,aAAa,WAAW,YAAY,SAAS,QAAQ,QAAQ,OAAO,WAAW,aAAa,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAQK,GAAe,CAAC,OAAO,OAAO,QAAQ,OAAO,aAAa,GAAG,OAAO,UAAU,SAAS,QAAQ,EAAQR,GAAmB,2BAY36CS,GAAWC,EAAQ,SAAoBpB,EAAM,CAAC,IAAMqB,EAAQC,EAAO,IAAI,EAAO,CAACC,EAAOC,CAAS,EAAEC,EAAS,EAAK,EAAO,CAACC,EAAYC,CAAc,EAAEF,EAAS,EAAK,EAAO,CAACG,EAAoBC,CAAsB,EAAEJ,EAAS,EAAK,EAAO,CAACK,CAAU,EAAEL,EAAS,IAAIM,GAAa,QAAQ,IAAIA,GAAa,MAAM,EAAE1B,EAAU,IAAI,CAACsB,EAAeK,GAAiB,CAAC,EAAEH,EAAuBI,EAAQ,SAAS,GAAGA,EAAQ,QAAQ,CAAC,CAAE,EAAE,CAAC,CAAC,EAAE,IAAMC,EAAkBlC,EAAM,cAAc,WAAW,SAASA,EAAM,aAAa,UAAU,SAAS,OAEjhBmC,EAAcP,EAAoB,aAAaM,CAAiB,IAAIA,EAAwBhC,EAAWkC,GAAqBC,GAAUA,EAAK,MAAMrC,EAAM,aAAa,MAAM,GAAWc,EAAiB,SACrMd,EAAM,aAAa,YAAYA,EAAM,UAAY,EAAQG,EAAM,CAAC,cAAcH,EAAM,cAAc,gBAAgB,cAAc,gBAAgBA,EAAM,aAAa,gBAAgB,gBAAgBA,EAAM,cAAc,WAAW,iBAAiBA,EAAM,aAAa,mBAAmB,iBAAiB,UAAUA,EAAM,eAAe,WAAW,CAACsC,GAActC,EAAM,cAAc,SAAS,EAAEA,EAAM,cAAc,UAAU,CAAC,SAAS,GAAG,WAAWuC,GAAoB,WAAW,GAAG,EAAE,aAAavC,EAAM,cAAc,iBAAiB,cAAc,CAACsC,GAActC,EAAM,cAAc,gBAAgB,YAAY,EAAEA,EAAM,cAAc,gBAAgB,aAAa,CAAC,SAAS,GAAG,WAAWuC,GAAoB,WAAW,GAAG,EAAE,UAAUvC,EAAM,cAAc,WAAW,CAACsC,GAActC,EAAM,aAAa,SAAS,EAAEA,EAAM,aAAa,UAAU,CAAC,SAAS,GAAG,WAAWuC,GAAoB,WAAW,GAAG,EAC93B,cAAcJ,EAAc,MAAMnC,EAAM,aAAa,MAAM,UAAUA,EAAM,aAAa,IAAI,aAAaA,EAAM,aAAa,aAAa,OAAOV,GAAYU,EAAM,aAAa,MAAM,EAAE,eAAeA,EAAM,UAAU,cAAcA,EAAM,SAAS,eAAeA,EAAM,UAAU,cAAcA,EAAM,aAAa,YAAY,SAAS,eAAeA,EAAM,aAAa,YAAY,UAAU,eAAeA,EAAM,aAAa,YAAY,UAAU,0BAA0B,GAAG,kBAAkB,EAAE,eAAe,GAAG,OAAO,GAAG,QAAQ,EAAE,OAAOA,EAAM,gBAAgB,OAAO,kBAAkB,GAAG,kBAAkBA,EAAM,gBAAgB,UAAU,EAAQwC,EAAYjC,GAAO,CACrpBA,EAAM,eAAe,EAAEA,EAAM,gBAAgB,EAAK,CAAAmB,GAAmBF,EAAU,EAAI,CAAE,EAAE,OAAoBZ,EAAM,MAAM,CAAC,MAAM,CAAC,GAAGM,GAAe,GAAGlB,EAAM,MAAM,cAAc0B,EAAY,OAAO,OAAO,QAAQA,EAAY,GAAG,CAAC,EAAE,SAAS,CAAcX,EAAK,SAAS,CAAC,aAAa,cAAc,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,WAAW,OAAO,OAAO,UAAU,MAAM,UAAU,OAAO,OAAO,aAAa,GAAG,QAAQ,CAAC,EAAE,QAAQyB,EAAY,SAASxC,EAAM,WAAWyC,GAAe,QAAQtC,EAAM,eAA4BY,EAAK,MAAM,CAAC,IAAI,mCAAmC,IAAIZ,EAAM,eAAe,IAAI,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,EAAeY,EAAK2B,GAAW,CAAC,MAAMvC,EAAM,eAAe,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,CAAC,CAAC,EAAeY,EAAK4B,GAAgB,CAAC,SAASpB,GAAQ,CAACO,GAAyBf,EAAKjB,GAAQ,CAAC,IAAIuB,EAAQ,WAAWnB,EAAW,SAASF,EAAM,SAAS,aAAaA,EAAM,aAAa,cAAcA,EAAM,cAAc,gBAAgBA,EAAM,gBAAgB,aAAaA,EAAM,aAAa,MAAMG,EAAM,UAAU,IAAIqB,EAAU,EAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,CAE9oC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASU;AAAA,eACKd,EAAkB;AAAA;AAAA,WAGjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWU,EAAE,mBAAmB,EAASkC,GAAQzB,GAAW0B,EAAoB1B,GAAW,CAAC,SAAS,CAAC,MAAM,QAC3G,KAAK2B,EAAY,SAAS,EAO1B,SAAS,CAAC,MAAM,OAAO,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOL,EAAc,EAAE,aAAa,OAAO,OAAOA,EAAc,EAAE,IAAIM,EAAS,EAAE,wBAAwB,EAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKD,EAAY,MAAM,aAAa,OAAO,OAAO9C,GAAOA,EAAM,WAAWyC,GAAe,MAAM,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKK,EAAY,gBAAgB,iBAAiB,CAAC,MAAM,MAAM,KAAK,EAAE,OAAO9C,GAAOA,EAAM,WAAWyC,GAAe,OAAO,EAAE,SAAS,CAAC,MAAM,OAAO,KAAKK,EAAY,OAAO,eAAe,GAAK,aAAa,EAAE,EAAE,aAAa,CAAC,MAAM,QAAQ,KAAKA,EAAY,OAAO,YAAY,eAAe,SAAS,CAAC,YAAY,CAAC,MAAM,OAAO,KAAKA,EAAY,OAAO,YAAY,cAAc,SAAS,CAAC,SAAS,CAAC,MAAM,OAAO,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOL,EAAc,EAAE,aAAa,OAAO,OAAOA,EAAc,EAAE,IAAIM,EAAS,EAAE,wBAAwB,EAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKD,EAAY,MAAM,aAAa,sBAAsB,OAAO,CAAC,CAAC,SAAAE,CAAQ,IAAYA,IAAWP,GAAe,MAAQ,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKK,EAAY,gBAAgB,iBAAiB,CAAC,MAAM,MAAM,KAAK,EAAE,OAAO,CAAC,CAAC,SAAAE,CAAQ,IAAIA,IAAWP,GAAe,OAAO,EAAE,SAAS,CAAC,MAAM,YAAY,KAAKK,EAAY,OAAO,eAAe,GAAK,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,OAC5wC,KAAKA,EAAY,KAAK,gBAAgB,EAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,mBAAmB,CAAC,MAAM,cAAc,KAAKA,EAAY,OAAO,YAAY,cAAc,SAAS,CAAC,gBAAgB,CAAC,MAAM,OAAO,KAAKA,EAAY,OAAO,aAAa,WAAW,EAAE,iBAAiB,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,UAAU,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOG,EAAsB,EAAE,aAAa,OAAO,KAAKA,EAAsB,EAAE,IAAIF,EAAS,EAAE,aAAaE,GAAuB,SAAS,EAAE,gBAAgB,CAAC,MAAM,aAAa,KAAKH,EAAY,KAAK,QAAQ,OAAO,OAAOI,EAA0B,EAAE,aAAa,OAAO,KAAKA,EAA0B,EAAE,IAAIH,EAAS,EAAE,aAAaG,GAA2B,IAAI,EAAE,gBAAgB,CAAC,MAAM,aAAa,KAAKJ,EAAY,OAAO,aAAa,QAAQ,OAAO9C,GAAOA,EAAM,kBAAkBkD,GAA2B,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,QAAQ,YAAY,gBAAgB,KAAKJ,EAAY,OAAO,SAAS,CAAC,WAAW,CAAC,MAAM,SAAS,KAAKA,EAAY,KAAK,QAAQ,OAAO,KAAKhC,CAAgB,EAAE,aAAa,OAAO,OAAOA,CAAgB,EAAE,IAAIiC,EAAS,EAAE,aAAajC,EAAiB,SAAS,EAAE,MAAM,CAAC,MAAM,QAAQ,KAAKgC,EAAY,OAAO,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,eAAe,GAAK,KAAK,EAAE,OAAO9C,GAAOA,EAAM,aAAac,EAAiB,QAAQ,EAAE,IAAI,CAAC,MAAM,MAAM,KAAKgC,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,eAAe,GAAK,OAAO9C,GAAOA,EAAM,aAAac,EAAiB,QAAQ,EAAE,eAAe,CAAC,MAAM,SAAS,KAAKgC,EAAY,QAAQ,aAAa,UAAU,cAAc,UAAU,OAAO,CAAC,CAAC,WAAA5C,CAAU,IAAIA,IAAaY,EAAiB,SAAS,EAAE,iBAAiB,CAAC,MAAM,OAAO,KAAKgC,EAAY,WAAW,aAAa,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,eAAAK,EAAe,WAAAjD,CAAU,IAAIA,IAAaY,EAAiB,WAAWqC,CAAc,EAAE,aAAa,CAAC,MAAM,SAAS,KAAKL,EAAY,OAAO,aAAa,GAAG,eAAe,GAAK,IAAI,EAAE,OAAO,CAAC,CAAC,WAAA5C,CAAU,IAAIA,IAAaY,EAAiB,SAAS,EAAE,OAAO,CAAC,YAAY,UAAU,KAAKgC,EAAY,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,MAAM,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,iBAAiB,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,aAAa,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,CAACM,GAAuBtC,EAAiB,SAAS,CAAC,EAAE,CAAC,MAAM,YAAY,KAAKgC,EAAY,OAAO,KAAK,SAAS,OAAO,CAAC,CAAC,WAAA5C,CAAU,IAAIA,IAAaY,EAAiB,UAAU,SAAS,GAAK,YAAY,UAAU,SAAS,CAAC,QAAQ,CAAC,KAAKgC,EAAY,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAMx1F,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,EAAE,CAACM,GAAuBtC,EAAiB,QAAQ,CAAC,EAAE,CAAC,MAAM,YAAY,KAAKgC,EAAY,OAAO,KAAK,SAAS,YAAY,UAAU,OAAO,CAAC,CAAC,WAAA5C,CAAU,IAAIA,IAAaY,EAAiB,SAAS,SAAS,GAAK,SAAS,CAAC,QAAQ,CAAC,KAAKgC,EAAY,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,EAAE,CAACM,GAAuBtC,EAAiB,OAAO,CAAC,EAAE,CAAC,MAAM,YAAY,KAAKgC,EAAY,OAAO,KAAK,SAAS,YAAY,UAAU,OAAO,CAAC,CAAC,WAAA5C,CAAU,IAAIA,IAAaY,EAAiB,QAAQ,SAAS,GAAK,SAAS,CAAC,QAAQ,CAAC,KAAKgC,EAAY,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,UAAU,YAAY,eAAe,KAAKA,EAAY,OAAO,aAAa,CAAC,EAE/gC,SAAS,CAAC,SAAS,CAAC,MAAM,QAAQ,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOO,EAAoB,EAAE,aAAa,OAAO,KAAKA,EAAoB,EAAE,IAAIN,EAAS,EAAE,aAAaM,GAAqB,SAAS,EAAE,UAAU,CAAC,MAAM,QAChO,KAAKP,EAAY,KAAK,aAAa,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAI,EAAE,WAAW,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,UAAU,CAAC,MAAM,UAAU,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOQ,EAAqB,EAAE,aAAa,OAAO,KAAKA,EAAqB,EAAE,IAAIP,EAAS,EAAE,aAAaO,GAAsB,GAAG,wBAAwB,EAAI,EAAE,gBAAgB,CAAC,KAAKR,EAAY,OAAO,MAAM,WAAW,YAAY,gBAAgB,SAAS,CAAC,aAAa,CAAC,MAAM,OACle,KAAKA,EAAY,KAAK,aAAa,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAI,EAAE,cAAc,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,oBAAoB,EAAE,aAAa,CAAC,MAAM,UAAU,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOS,EAAwB,EAAE,aAAa,OAAO,KAAKA,EAAwB,EAAE,IAAIR,EAAS,EAAE,aAAaQ,GAAyB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,WAAW,KAAKT,EAAY,OAAO,YAAY,iBAAiB,SAAS,CAAC,gBAAgB,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,oBAAoB,EAAE,OAAO,CAAC,MAAM,UAAU,KAAKA,EAAY,OAAO,aAAa,GAAG,eAAe,GAAK,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE3B,GAAW,YAAY,SCnF1hB,IAAMqC,GAAK,0BAAgCC,GAAkBC,EAAW,SAASC,EAAMC,EAAI,CAAC,OAAoBC,EAAK,MAAM,CAAC,GAAGF,EAAM,IAAIC,EAAI,SAASD,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQG,GAAUC,EAAO,OAAON,EAAI,EAAQO,GAAiBN,EAAW,CAACC,EAAMC,IAAM,CAAC,GAAK,CAAC,SAAAK,EAAS,SAAAC,EAAS,SAAAC,EAAS,GAAGC,CAAI,EAAET,EAAM,OAAOM,EAAsBJ,EAAKC,GAAU,CAAC,GAAGM,EAAK,SAASF,EAAS,IAAIN,EAAI,SAASO,CAAQ,CAAC,EAAeN,EAAK,MAAM,CAAC,GAAGO,EAAK,IAAIR,EAAI,SAASO,CAAQ,CAAC,CAAE,CAAC,EAAQE,GAAI,2/BAAigCC,GAAS,CAAC,CAAC,MAAAC,EAAM,MAAAC,EAAM,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,OAAAC,EAAO,GAAGjB,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUa,GAAOb,EAAM,WAAW,eAAe,UAAUiB,GAAQjB,EAAM,WAAW,IAAI,UAAUY,GAAOZ,EAAM,SAAS,GAAUkB,GAA6BnB,EAAW,SAASC,EAAMC,EAAI,CAAC,GAAK,CAAC,MAAAkB,EAAM,UAAAC,EAAU,SAAAb,EAAS,QAAAc,EAAQ,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAEd,GAASX,CAAK,EAAQ0B,EAAKC,GAAe,aAAajB,EAAG,EAAE,OAAoBR,EAAKG,GAAI,CAAC,GAAGoB,EAAU,UAAUG,EAAG,eAAeR,CAAS,EAAE,SAASb,EAAS,IAAIN,EAAI,KAAK,eAAe,MAAM,CAAC,YAAYuB,EAAU,WAAWF,EAAU,WAAWC,EAAU,GAAGJ,CAAK,EAAE,QAAQ,YAAY,SAAsBjB,EAAK,MAAM,CAAC,KAAKwB,CAAI,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQG,GAAI,CAAC,iCAAiChC,EAAI,4CAA4CA,EAAI,kBAAkB,EAU/6EiC,GAAKC,EAAQb,GAAUW,GAAI,cAAc,EAAEC,GAAK,YAAY,mBAAmB,IAAOE,GAAQF,GAAKG,EAAoBH,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAKI,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,ECVsS,IAAMC,GAAqBC,EAASC,EAAe,EAAQC,GAAYF,EAASG,EAAM,EAAQC,GAAW,CAAC,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,CAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,EAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,EAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,YAAY,YAAY,QAAQ,YAAY,OAAO,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,QAAQL,GAAwBK,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMtB,IAAesB,EAAM,iBAAwBtB,EAAS,KAAK,GAAG,EAAEsB,EAAM,iBAAwBtB,EAAS,KAAK,GAAG,EAAUwB,GAA6BC,EAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,EAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAArC,EAAQ,mBAAAsC,EAAmB,GAAGC,CAAS,EAAEvB,GAASI,CAAK,EAAO,CAAC,YAAAoB,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAjD,CAAQ,EAAEkD,GAAgB,CAAC,WAAAvD,GAAW,eAAe,YAAY,IAAIkC,EAAW,QAAA3B,EAAQ,kBAAAL,EAAiB,CAAC,EAAQsD,EAAiB5B,GAAuBD,EAAMtB,CAAQ,EAA4DoD,EAAkBC,EAAGzD,GAAkB,GAArE,CAAa0C,EAAS,CAAuE,EAAQgB,GAAY,IAAQZ,IAAc,YAAuC,OAAoB7B,EAAK0C,GAAY,CAAC,GAAGhB,GAAUT,EAAgB,SAAsBjB,EAAKC,GAAS,CAAC,QAAQd,EAAS,QAAQ,GAAM,SAAsBa,EAAKT,GAAW,CAAC,MAAMD,GAAY,SAAsBqD,EAAMzC,EAAO,IAAI,CAAC,GAAG0B,EAAU,GAAGI,EAAgB,UAAUQ,EAAGD,EAAkB,gBAAgBd,EAAUK,CAAU,EAAE,mBAAmB,UAAU,iBAAiBQ,EAAiB,SAAS,YAAY,IAAItB,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,mBAAmB,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,uBAAuB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAGQ,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,wBAAwB,MAAM,iBAAiB,wBAAwB,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,uBAAuB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,EAAE,GAAGvC,GAAqB,CAAC,UAAU,CAAC,cAAc,GAAK,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,QAAQ,CAAC,EAAE4C,EAAYI,CAAc,EAAE,SAAS,CAAcjC,EAAKrB,GAAgB,CAAC,SAAS,GAAK,UAAU,iBAAiB,iBAAiB2D,EAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,EAAE,WAAW,uEAAuE,WAAW,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,0BAA0B,CAAC,CAAC,CAAC,EAAEG,GAAY,GAAgBzC,EAAK4C,GAAK,CAAC,KAAKjB,EAAmB,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsBgB,EAAMzC,EAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,aAAa,iBAAiBoC,EAAiB,SAAS,YAAY,SAAS,CAActC,EAAK6C,GAAS,CAAC,sBAAsB,GAAK,SAAsB7C,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,kDAAkD,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,OAAO,EAAE,iBAAiBoC,EAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,yBAAyB,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,sBAAsB,uBAAuB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGrD,GAAqB,CAAC,UAAU,CAAC,SAAsBe,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,iDAAiD,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE2B,EAAYI,CAAc,CAAC,CAAC,EAAejC,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBoC,EAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qBAAqB,OAAO,YAAY,OAAO,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAetC,EAAK8C,EAA0B,CAAC,SAAsB9C,EAAK+C,GAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiB,GAAK,iBAAiBT,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAsBtC,EAAKnB,GAAO,CAAC,gBAAgB,CAAC,gBAAgB,qBAAqB,WAAW,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,OAAO,UAAU,kBAAkB,SAAS,GAAG,SAAS,UAAU,GAAG,YAAY,aAAa,CAAC,gBAAgB,QAAQ,gBAAgB,OAAO,YAAY,YAAY,YAAY,CAAC,UAAU,sBAAsB,SAAS,GAAG,SAAS,SAAS,EAAE,UAAU,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,qBAAqB,gBAAgB,2BAA2B,EAAE,UAAU,iBAAiB,EAAE,SAAS,YAAY,aAAa,CAAC,gBAAgB,qBAAqB,aAAa,GAAG,eAAe,GAAM,iBAAiB,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAE,WAAW,YAAY,OAAO,CAAC,KAAK,GAAG,MAAM,qBAAqB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,cAAc,CAAC,SAAS,YAAY,gBAAgB,CAAC,cAAc,qBAAqB,aAAa,CAAC,EAAE,aAAa,MAAM,EAAE,WAAW,kBAAkB,UAAU,CAAC,EAAE,UAAU,IAAI,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQmE,GAAI,CAAC,kFAAkF,gFAAgF,+PAA+P,qIAAqI,oSAAoS,8JAA8J,2OAA2O,wJAAwJ,wEAAwE,sHAAsH,qJAAqJ,+EAA+E,GAAeA,GAAI,+bAA+b,EAUr4SC,GAAgBC,EAAQvC,GAAUqC,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,SAASA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,SAAS,WAAW,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,6JAA6J,IAAI,sEAAsE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAGxE,GAAqB,GAAGG,GAAY,GAAG2E,GAAoCC,EAAK,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECV7rC,IAAMC,GAASC,EAASC,EAAG,EAAQC,GAAYF,EAASG,EAAM,EAAQC,GAAqBJ,EAASK,EAAe,EAAQC,GAAeN,EAASO,EAAS,EAAQC,GAA6DC,GAA0BC,GAAOC,EAA6B,CAAC,EAAQC,GAAyCH,GAA0BC,GAAOG,EAAO,GAAG,CAAC,EAAQC,GAAW,CAAC,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,kBAAkB,EAAE,SAASC,EAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAWD,GAAY,EAAE,EAAE,EAAE,CAAC,EAAQE,GAAW,CAAC,QAAQ,KAAK,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAQC,GAAY,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAWD,GAAY,EAAE,EAAE,EAAE,CAAC,EAAQE,GAAY,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAWD,GAAY,EAAE,EAAE,EAAE,CAAC,EAAQE,GAAY,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAWD,GAAY,EAAE,EAAE,EAAE,CAAC,EAAQE,GAAY,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAWD,GAAY,EAAE,EAAE,EAAE,CAAC,EAAQE,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,CAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,EAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,EAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAAShC,EAAO,OAAaiC,CAAQ,EAAQC,GAAwB,CAAC,eAAe,YAAY,cAAc,YAAY,QAAQ,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,QAAQL,GAAwBK,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMjC,IAAeiC,EAAM,iBAAwBjC,EAAS,KAAK,GAAG,EAAEiC,EAAM,iBAAwBjC,EAAS,KAAK,GAAG,EAAUmC,GAA6BC,EAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,EAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAAhD,EAAQ,GAAGiD,CAAS,EAAEtB,GAASI,CAAK,EAAO,CAAC,YAAAmB,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAA3D,CAAQ,EAAE4D,GAAgB,CAAC,WAAAjE,GAAW,eAAe,YAAY,IAAI6C,EAAW,QAAAtC,EAAQ,kBAAAL,EAAiB,CAAC,EAAQgE,EAAiB3B,GAAuBD,EAAMjC,CAAQ,EAAO,CAAC,sBAAA8D,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAgBH,EAAsB,SAASI,KAAO,CAACP,EAAW,WAAW,CAAE,CAAC,EAAQQ,GAAiBL,EAAsB,SAASI,KAAO,CAACP,EAAW,WAAW,CAAE,CAAC,EAAuCS,GAAkBC,EAAGzE,GAAkB,GAAhD,CAAC,CAAuE,EAAQ0E,GAAY,IAAQ,GAAC,YAAY,WAAW,EAAE,SAASlB,CAAW,EAAmCmB,GAAa,IAAQnB,IAAc,YAA6CoB,GAAa,IAAQpB,IAAc,YAA6CqB,GAAa,IAAQrB,IAAc,YAA6CsB,GAAa,IAAQ,EAAC,YAAY,WAAW,EAAE,SAAStB,CAAW,EAA6B,OAAoB3B,EAAKkD,GAAY,CAAC,GAAGzB,GAAUT,EAAgB,SAAsBhB,EAAKC,GAAS,CAAC,QAAQ1B,EAAS,QAAQ,GAAM,SAAsByB,EAAKT,GAAW,CAAC,MAAMb,GAAY,GAAGL,EAAqB,CAAC,UAAU,CAAC,MAAMM,EAAW,EAAE,UAAU,CAAC,MAAMA,EAAW,CAAC,EAAEgD,EAAYI,CAAc,EAAE,SAAsB/B,EAAK/B,EAAO,IAAI,CAAC,GAAGyD,EAAU,GAAGI,EAAgB,UAAUc,EAAGD,GAAkB,iBAAiBnB,EAAUI,CAAU,EAAE,mBAAmB,UAAU,iBAAiBQ,EAAiB,SAAS,YAAY,IAAIrB,EAAW,MAAM,CAAC,GAAGQ,CAAK,EAAE,GAAGlD,EAAqB,CAAC,UAAU,CAAC,mBAAmB,cAAc,EAAE,UAAU,CAAC,mBAAmB,aAAa,CAAC,EAAEsD,EAAYI,CAAc,EAAE,SAAsBoB,EAAMlF,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,UAAU,iBAAiBmE,EAAiB,SAAS,YAAY,MAAM,CAAC,eAAe,YAAY,gBAAgB,2BAA2B,qBAAqB,WAAW,EAAE,SAAS,CAAce,EAAMlF,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,eAAe,iBAAiBmE,EAAiB,SAAS,YAAY,SAAS,CAAcpC,EAAKoD,EAA0B,CAAC,SAAsBpD,EAAKjC,GAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiB,GAAK,iBAAiBqE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBpC,EAAK3C,GAAI,CAAC,YAAY,qBAAqB,cAAc,EAAE,kBAAkB,EAAE,cAAc,2/gCAA2/gC,YAAY,GAAG,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,QAAQ,OAAO,SAAS,QAAQ,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEwF,GAAY,GAAgBM,EAAMlF,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBmE,EAAiB,SAAS,YAAY,SAAS,CAACU,GAAa,GAAgB9C,EAAKoD,EAA0B,CAAC,OAAO,GAAG,GAAG/E,EAAqB,CAAC,UAAU,CAAC,GAAGgD,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAEM,EAAYI,CAAc,EAAE,SAAsB/B,EAAKjC,GAA8B,CAAC,UAAU,0BAA0B,iBAAiBqE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBpC,EAAKzC,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,QAAQ,YAAY,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeyC,EAAKoD,EAA0B,CAAC,OAAO,GAAG,GAAG/E,EAAqB,CAAC,UAAU,CAAC,GAAGgD,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,GAAGA,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAEM,EAAYI,CAAc,EAAE,SAAsB/B,EAAKjC,GAA8B,CAAC,UAAU,0BAA0B,iBAAiBqE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBpC,EAAKvC,GAAgB,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,QAAQ,YAAY,MAAM,OAAO,GAAGY,EAAqB,CAAC,UAAU,CAAC,UAAUqE,EAAgB,EAAE,UAAU,CAAC,UAAUF,EAAgB,QAAQ,WAAW,CAAC,EAAEb,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEgB,GAAa,GAAgBI,EAAMlF,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,aAAa,iBAAiBmE,EAAiB,SAAS,YAAY,SAAS,CAAcpC,EAAKoD,EAA0B,CAAC,OAAO,GAAG,GAAG/B,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,GAAG,IAAI,KAAKA,GAAmB,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,GAAGhD,EAAqB,CAAC,UAAU,CAAC,GAAGgD,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAEM,EAAYI,CAAc,EAAE,SAAsB/B,EAAKpC,GAA6D,CAAC,UAAU,2BAA2B,wBAAwB,UAAU,iBAAiBwE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,GAAG/D,EAAqB,CAAC,UAAU,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQQ,GAAU,QAAQC,GAAW,UAAU,EAAI,CAAC,EAAE6C,EAAYI,CAAc,EAAE,SAAsB/B,EAAKrC,GAAU,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,WAAW,MAAM,CAAC,OAAO,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGU,EAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAEsD,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe/B,EAAKoD,EAA0B,CAAC,OAAO,GAAG,GAAG/B,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,GAAG,IAAI,KAAKA,GAAmB,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,GAAGhD,EAAqB,CAAC,UAAU,CAAC,GAAGgD,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAEM,EAAYI,CAAc,EAAE,SAAsB/B,EAAKpC,GAA6D,CAAC,UAAU,0BAA0B,wBAAwB,SAAS,iBAAiBwE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,GAAG/D,EAAqB,CAAC,UAAU,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQW,GAAW,QAAQF,GAAW,UAAU,EAAI,CAAC,EAAE6C,EAAYI,CAAc,EAAE,SAAsB/B,EAAKrC,GAAU,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,OAAO,MAAM,CAAC,OAAO,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGU,EAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAEsD,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe/B,EAAKoD,EAA0B,CAAC,OAAO,GAAG,GAAG/B,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,GAAG,IAAI,KAAKA,GAAmB,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,GAAGhD,EAAqB,CAAC,UAAU,CAAC,GAAGgD,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEM,EAAYI,CAAc,EAAE,SAAsB/B,EAAKpC,GAA6D,CAAC,UAAU,2BAA2B,wBAAwB,UAAU,iBAAiBwE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,GAAG/D,EAAqB,CAAC,UAAU,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQa,GAAW,QAAQJ,GAAW,UAAU,EAAI,CAAC,EAAE6C,EAAYI,CAAc,EAAE,SAAsB/B,EAAKrC,GAAU,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,UAAU,MAAM,CAAC,OAAO,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGU,EAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAEsD,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe/B,EAAKoD,EAA0B,CAAC,OAAO,GAAG,GAAG/B,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,GAAG,IAAI,KAAKA,GAAmB,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,GAAGhD,EAAqB,CAAC,UAAU,CAAC,GAAGgD,GAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEM,EAAYI,CAAc,EAAE,SAAsB/B,EAAKpC,GAA6D,CAAC,UAAU,2BAA2B,wBAAwB,UAAU,iBAAiBwE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,GAAG/D,EAAqB,CAAC,UAAU,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQe,GAAW,QAAQN,GAAW,UAAU,EAAI,CAAC,EAAE6C,EAAYI,CAAc,EAAE,SAAsB/B,EAAKrC,GAAU,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,UAAU,MAAM,CAAC,OAAO,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGU,EAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAEsD,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEiB,GAAa,GAAgBG,EAAMnF,GAAyC,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQsB,GAAW,UAAU,gBAAgB,wBAAwB,SAAS,mBAAmB,QAAQ,QAAQR,GAAW,iBAAiBsD,EAAiB,SAAS,YAAY,UAAU,GAAK,SAAS,CAAcpC,EAAKqD,GAAS,CAAC,sBAAsB,GAAK,SAAsBrD,EAAWE,EAAS,CAAC,SAAsBF,EAAK/B,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,uCAAuC,uBAAuB,oCAAoC,uBAAuB,MAAM,sBAAsB,+FAA+F,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,4BAA4B,EAAE,iBAAiBmE,EAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,uEAAuE,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAepC,EAAKqD,GAAS,CAAC,sBAAsB,GAAK,SAAsBrD,EAAWE,EAAS,CAAC,SAAsBF,EAAK/B,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,uCAAuC,uBAAuB,oCAAoC,uBAAuB,MAAM,sBAAsB,8FAA8F,2BAA2B,WAAW,EAAE,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,4BAA4B,EAAE,iBAAiBmE,EAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,qEAAqE,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEa,GAAa,GAAgBjD,EAAKoD,EAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,GAAG/B,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,GAAG,IAAI,KAAKA,GAAmB,QAAQ,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,SAAsBrB,EAAKjC,GAA8B,CAAC,UAAU,0BAA0B,iBAAiBqE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBpC,EAAKzC,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQ,YAAY,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQ+F,GAAI,CAAC,kFAAkF,gFAAgF,2PAA2P,kRAAkR,0QAA0Q,yGAAyG,qRAAqR,gJAAgJ,qRAAqR,mOAAmO,+SAA+S,gJAAgJ,yGAAyG,wMAAwM,8NAA8N,2JAA2J,oLAAoL,0IAA0I,EAUzhlDC,GAAgBC,EAAQ9C,GAAU4C,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,SAASA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,cAAc,cAAc,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,sBAAsB,OAAO,SAAS,MAAM,SAAS,IAAI,0JAA0J,OAAO,KAAK,CAAC,CAAC,EAAE,GAAGpG,GAAS,GAAGG,GAAY,GAAGE,GAAqB,GAAGE,EAAc,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECVtT,IAAMmG,GAAYC,EAASC,EAAM,EAAQC,GAAY,CAAC,UAAU,qBAAqB,UAAU,6CAA6C,UAAU,qBAAqB,EAAoD,IAAMC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,kBAAkB,EAAQC,GAAgB,CAAC,UAAU,CAAC,2DAA2D,EAAE,UAAU,CAAC,2DAA2D,CAAC,EAAQC,GAAe,OAAO,KAAKD,EAAe,EAAQE,GAAU,CAAC,UAAU,0BAA0B,UAAU,0BAA0B,EAAQC,GAAM,CAAC,kFAAkF,kFAAkF,qVAAqV,4KAA4K,0JAA0J,mEAAmE,EAAQC,GAAa,CAAC,UAAU,qBAAqB,UAAU,6CAA6C,UAAU,qBAAqB,EAAQC,GAAU,CAAC,CAAC,MAAAC,CAAK,IAAoBC,GAAoB,EAAqB,KAAyBC,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAOF,CAAK,EAAE,yBAAyB,EAAE,CAAC,EAAUG,GAAwB,CAAC,QAAQ,YAAY,MAAM,YAAY,OAAO,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,QAAQL,GAAwBK,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAA6BC,EAAW,SAASF,EAAMG,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,EAAc,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAAC,EAAQ,SAAAC,EAAS,GAAGC,CAAS,EAAErB,GAASI,CAAK,EAAO,CAACkB,EAAYC,CAAmB,EAAEC,GAA8BL,EAAQM,GAAY,EAAK,EAAQC,EAAe,OAA+CC,EAAkBC,EAAGxC,GAAkB,GAAhD,CAAC,CAAuE,EAAE,OAAAyC,GAAiB,CAAC,CAAC,EAAsB/B,EAAKgC,GAA0B,SAAS,CAAC,MAAM,CAAC,iBAAiB,GAAK,iBAAiB,YAAY,kBAAAzC,EAAiB,EAAE,SAAsB0C,EAAMC,GAAY,CAAC,GAAGd,GAAUP,EAAgB,SAAS,CAAcb,EAAKH,GAAU,CAAC,MAAM,mGAAmG,CAAC,EAAeoC,EAAME,EAAO,IAAI,CAAC,GAAGZ,EAAU,UAAUO,EAAGD,EAAkB,iBAAiBV,CAAS,EAAE,uBAAuB,GAAK,IAAIP,EAAW,MAAM,CAAC,GAAGM,CAAK,EAAE,SAAS,CAAclB,EAAKoC,EAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,EAAE,EAAE,SAAsBpC,EAAKqC,GAAU,CAAC,UAAU,2BAA2B,aAAa,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsBrC,EAAKsC,GAAkB,CAAC,WAAWd,EAAY,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,CAAC,EAAE,SAAsBxB,EAAKuC,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQ,YAAY,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEjB,EAAsBtB,EAAK,MAAM,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAeA,EAAK,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQwC,GAAIC,GAAgCA,IAASC,GAAa,QAAQD,IAASC,GAAa,OAAgL,CAAC,GAAG/C,GAAM,GAAGF,GAAe,QAAQkD,GAAK,CAAC,IAAMC,EAASlD,GAAUiD,CAAG,EAAE,OAAOnD,GAAgBmD,CAAG,EAAE,IAAIE,GAAM,GAAGD,CAAQ,KAAKC,CAAI,GAAG,CAAE,CAAC,CAAC,EAAtR,CAAC,GAAGlD,GAAM,GAAGF,GAAe,IAAIkD,GAA0C,UAAxB/C,GAAa+C,CAAG,CAAuB,MAAMnD,GAAgBmD,CAAG,EAAE,KAAK,GAAG,CAAC,IAAM,CAAC,EAchgJG,GAAgBC,EAAQxC,GAAUiC,GAAI,cAAc,EAASQ,GAAQF,GAAgBA,GAAgB,YAAY,WAAWA,GAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAEG,GAASH,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,EAAE,GAAGI,EAAW,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECR7R,IAAMC,GAAS,CAAC,UAAW,CAAC,SAAU,CAAC,UAAW,0BAA2B,UAAW,qBAAsB,UAAW,eAAe,EAAG,KAAaC,GAAK,IAAM,OAAO,4DAA8F,CAAC,EAAG,KAAM,GAAG,CAAC,EAEhRC,GAAU,CAAC,CAAC,KAAM,QAAS,GAAI,UAAW,KAAM,UAAW,KAAM,EAAE,CAAC,EACpEC,GAAkB,CAAC,UAAW,UAAa,KAAM,QAAO,0BAA8F,IAAK,KAAQ,EACnKC,GAAe,mEACrB,SAASC,GAAS,CAAC,QAAAC,EAAS,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAI,EAAG,CAC/D,IAAMC,EADgF,CAAC,EAC3DJ,CAAO,GAAK,CAAC,EACzC,OAAQA,EAAS,CAAC,IAAK,YACvB,IAAK,YACL,IAAK,YACL,OAAaK,GAAcC,GAAW,CAAC,GAAGF,EAAO,IAAK,YAAa,QAAAJ,EAAS,MAAAE,CAAK,EAAGD,EAAS,EAAI,CAAC,EAClG,QAAW,OAAOA,EAAS,EAAK,CAAG,CAAC,CAC7B,SAASM,GAA6BP,EAAS,CAAC,OAAQA,EAAS,CAAC,IAAK,YAC9E,IAAK,YACL,IAAK,YACL,MAAO,CAAC,CAAC,KAAM,UAAW,WAAY,qBAAqB,EAAG,CAAC,KAAM,UAAW,WAAY,4CAA4C,EAAG,CAAC,KAAM,SAAU,WAAY,oBAAoB,CAAC,EAC7L,QAAW,MAAkB,CAAC,CAEtB,eAAsBQ,GAAY,CAAE,QAAAR,EAAS,cAAAS,EAAe,SAAAC,CAAS,EAAG,CACpE,IAAMC,EAAcjB,GAAOM,CAAO,EAAE,KAAK,QAAQ,EAE3CY,EAAgBP,GACXQ,GACP,CACI,UAAW,GACX,QAAAb,EACA,cAAAS,EACA,OAAAf,GACA,gBAAAG,GACA,aAAAC,GACA,aAAqBH,GAAK,IAAM,OAAO,yCAAyB,CAAC,EACjE,gBAAiB,OACjB,SAAAe,EACA,QAAAd,GACA,oBAAqB,OACrB,iBAAkB,kCAClB,UACR,OAAOkB,EAAW,KAAe,IAAM,CAEnC,GADc,wDAAwD,KAAKC,EAAU,SAAS,EACnF,CACP,QAAQ,IAAI,0DAA0D,EACtE,MACJ,CAEA,OAAcpB,GAAK,SAAY,CAC3B,IAAMqB,EAAe,CACjB,UAAW,EACX,OAAQ,CACJ,gBAAwBC,GACxB,cAAsBC,EACtB,UAAkBC,EACtB,EACA,MAAO,CACH,cAAqBd,GACrB,SAAgBe,EAChB,KAAYC,GACZ,YAAmBC,GACnB,UAAiBC,EACjB,OAAcC,EACd,SAAgBC,CACpB,EACA,YAAa,CAAE,aAAAC,EAAa,CAChC,EAEAZ,EAAO,+BAAiCE,EAExC,GAAM,CAAE,gBAAAW,CAAgB,EAAI,KAAM,QAAO,kCAAkC,EAC3E,MAAO,CACH,QAASA,EAAgB,CAC7B,CACJ,CAAC,CACL,GAAG,EAAI,OAEC,eAAgB5B,EACpB,CACJ,EAEM6B,EAAmCvB,GAC9BwB,GACP,CACI,SAAUjB,EACV,MAAO,CAAC,uCAAwC,GAAO,eAAgB,GAAO,8BAA+B,GAAM,eAAgB,GAAM,mBAAoB,GAAM,+BAAgC,GAAO,WAAY,EAAK,CAC/N,CACJ,EAEMkB,EAAoDzB,GAAqB0B,GAAkC,CAC7G,SAAUH,CACd,CAAC,EAGKI,EAAa3B,GAAqB4B,GAAqB,CACzD,SAAUH,EACV,MAAO,CAAC,OAAQ,CAAC,CAAC,CACtB,CAAC,EAGD,aAAMnB,EACCqB,CACX,CAEA,IAAME,GAAY,OAAO,SAAa,IACtC,GAAIA,GAAW,CACXpB,EAAO,2BAA6B,CAACqB,EAAoBC,IAAqB,IAC7D/B,GAAqBgC,GAAkB,CAAE,MAAO,qCAAuCD,EAAmB,SAAWD,EAAqB,GAAI,CAAC,EAIhKrB,EAAO,QAAU,CACb,GAAGA,EAAO,QACV,IAAK,CACD,GAAIA,EAAO,QAAUA,EAAO,QAAQ,IAAK,OACzC,SAAU,YACd,CACJ,EAEAA,EAAO,gBAAkBA,EAAO,iBAAmB,CAAC,EAG7CwB,GAAoC,EAE3C,IAAMC,EAAY,SAAS,eAAe,MAAM,EAE5C,oBAAqBA,EAAU,QAASC,GAAK,GAAMD,CAAS,EAC3DC,GAAK,GAAOD,CAAS,CAC9B,CAEA,SAASE,IAAQ,CACRP,IACLpB,EAAO,gBAAgB,KAAK,SAAS,CACzC,CAEA,eAAe0B,GAAKE,EAAeH,EAAW,CAC1C,SAASI,EAAYC,EAAOC,EAAWC,EAAc,GAAM,CACvD,GAAIF,EAAM,QAAU9B,EAAO,uBAAwB,OAEnD,IAAMiC,EAAiBF,GAAW,eAClC,GAAIC,GAGA,GAFA,QAAQ,KAAK;AAAA,EAAqHF,EAAOG,CAAc,EAEnJ,KAAK,OAAO,EAAI,IAAM,YAE1B,QAAQ,MAAM;AAAA,EAAqJH,EAAOG,CAAc,EAE5LN,GAAMK,EAAc,wCAA0C,4BAA6B,CACvF,QAAS,OAAOF,CAAK,EACrB,eAAAG,EACA,MAAOA,EAAiB,OAAYH,aAAiB,OAAS,OAAOA,EAAM,OAAU,SAAWA,EAAM,MAAQ,IAClH,CAAC,CACL,CAEA,GAAI,CACA,IAAI5C,EAASU,EAAUD,EAAeuC,EACtC,GAAIN,EAAe,CACf,IAAMO,EAAY,KAAK,MAAMV,EAAU,QAAQ,eAAkB,EACjEvC,EAAUiD,EAAU,QACpBvC,EAAWuC,EAAU,SACrBxC,EAAgBwC,EAAU,cAC1BD,EAAcC,EAAU,YAExBjD,EAAiBkD,GAAwBxD,GAAQM,CAAO,CAC5D,KAAO,CACIkD,GAAwBxD,GAAQ,MAAS,EAEhD,IAAMuD,EAAmBE,GAA0BzD,GAAQ,mBAAmB,SAAS,QAAQ,EAAG,GAAME,EAAO,EAC/GI,EAAUiD,EAAU,QACpBvC,EAAWuC,EAAU,SACrBxC,EAAgBwC,EAAU,aAC9B,CAEA,IAAMG,EAAc5C,GAAY,CAAE,QAAAR,EAAS,SAAAU,EAAU,cAAAD,CAAc,CAAC,EAGhF,OAAOK,EAAW,MACZ,SAAY,CACd,IAAMuC,EAAQ3D,GAAOM,CAAO,EAEtBsD,EAAkB,UAClBC,EAAe3D,GAAQ,KAAK,CAAC,CAAE,GAAA4D,CAAG,IAAO9C,EAAoC8C,IAAO9C,EAAhC8C,IAAOF,CAAiC,EAAE,KAEhGG,EAAmB,KACvB,GAAIJ,GAAO,cAAgBxD,GAAiB,CACtC,IAAM6D,EAAQ,MAAM7D,GAAgBwD,EAAM,YAAY,IAAI,EACpD,CAACM,CAAI,EAAI,OAAO,OAAOlD,CAAa,EACtCiD,GAAS,OAAOC,GAAS,WACzBF,EAAoB,MAAMC,EAAM,kBAAkBC,EAAMJ,GAAgB,MAAS,GAAM,KAEjG,CAEA,IAAMK,EAA0B,KAAK,eAAe,EAAE,gBAAgB,EAChEC,EAAWD,EAAwB,SACnCE,EAASF,EAAwB,OAIvC,MAAM,IAAI,QAASG,GAAY,CACvB,SAAS,aACT,SAAS,iBAAiB,qBAAsBA,EAAS,CAAE,KAAM,EAAK,CAAC,EAEvEA,EAAQ,CAEhB,CAAC,EAEDjD,EAAO,gBAAgB,KAAK,CACxB,0BACA,CACI,aAAchB,IAAgB,KAC9B,UAAWuD,GAAO,MAAQ,IAC1B,iBAAAI,EACA,aAAcF,GAAgB,KAC9B,UAAWF,GAAO,oBAAsBrD,EACxC,SAAUqD,GAAO,SACjB,SAAU,SAAS,UAAY,KAC/B,IAAKvC,EAAO,SAAS,KACrB,SAAUA,EAAO,SAAS,UAAY,KACtC,SAAUA,EAAO,SAAS,UAAY,KACtC,KAAMA,EAAO,SAAS,MAAQ,KAC9B,OAAQA,EAAO,SAAS,QAAU,KAClC,SAAA+C,EACA,OAAAC,CACJ,EACA,OACJ,CAAC,EAGD,MAAaE,GAAY,CAAE,SAAU,aAAc,2BAA4B,GAAM,cAAe,OAAQ,CAAC,EAE7G,SAAS,cAAc,IAAI,YAAY,kBAAmB,CACtD,OAAQ,CAAE,aAAcT,GAAgB,IAAK,CACjD,CAAC,CAAC,CACN,GAAG,EAIS,IAAMvB,EAAO,MAAMoB,EACfV,GAGOuB,GAAqB,6BAA8B,IAAM,CACrDC,GAA+BlB,CAAW,EACjDlC,EAAO,gCAAgCkC,CAAW,CACtD,CAAC,EAI6BmB,GACd,IAAM,CACXC,GAAmB,EACTC,GAA0B,EAClCC,GAAY/B,EAAWP,EAAM,CAAE,mBAAoBW,CAAY,CAAC,CAC7E,CAAC,GAGQ4B,GAAWhC,EAAW,CAAE,mBAAoBI,CAAY,CAAC,EAAE,OAAOX,CAAI,CAEvF,OAASY,EAAO,CACZ,MAAAD,EAAYC,EAAO,OAAW,EAAK,EAC7BA,CACV,CACJ,EAKE,UAAY,CACLV,IAECiC,GAAgB,IAAM,CACfG,GACL,SAAS,eAAe,0BAA0B,EAC5CjE,GAAoBmE,GAAU,CAAC,EAASnE,GAAoBoE,GAAK,IAAM,OAAO,0BAAgB,CAAC,CAAC,CAAC,CAC3G,CACJ,CAAC,CACL,GAAG",
  "names": ["o", "npm_react_dom_18_2_exports", "Ha", "a", "e", "r", "d", "SVG", "props", "customSvgElement", "setCustomSvgElement", "ye", "ue", "svgContent", "processCustomSVGContent", "replacements", "hasCustomStroke", "hasCustomStrokeWidth", "hasLineCap", "hasLineJoin", "circleFillRegex", "match", "updatedCircle", "regex", "replacement", "customContainerStyle", "accessibilityProps", "p", "addPropertyControls", "ControlType", "SVG_Prod_default", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "click", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "JB0qH6k0j", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTapoz23vv", "args", "scopingClassNames", "cx", "LayoutGroup", "u", "css", "FramerFvDs80k_Z", "withCSS", "FvDs80k_Z_default", "addPropertyControls", "ControlType", "addFonts", "mask", "Base", "Y", "props", "ref", "p", "MotionSVG", "motion", "SVG", "animated", "layoutId", "children", "rest", "svg", "getProps", "alpha", "color", "height", "id", "width", "width1", "Component", "style", "className", "variant", "ezTt3ayMo", "lschgej4H", "qxTvv_EBh", "restProps", "href", "useSVGTemplate", "cx", "css", "Icon", "withCSS", "HbzxRJMyi_default", "addPropertyControls", "ControlType", "PlusFonts", "getFonts", "HbzxRJMyi_default", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "title", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "Lgqusmx_7", "g22ZfE0tn", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onMouseEnter1td0i0n", "args", "onMouseLeave1d1ur8z", "onMouseEnter39k5vj", "onMouseLeaveia43x8", "scopingClassNames", "cx", "isDisplayed", "LayoutGroup", "Link", "u", "RichText", "css", "FramerNVHKTtfMi", "withCSS", "NVHKTtfMi_default", "addPropertyControls", "ControlType", "addFonts", "getFontsFromSharedStyle", "fonts", "SearchIcon", "props", "p", "ClearIcon", "u", "SpinnerIcon", "motion", "Storage", "name", "resolve", "reject", "request", "window", "e", "key", "value", "setCachedData", "url", "dataToCache", "cache", "Storage", "cacheKey", "data", "checkForCachedData", "VERSION", "isDefaultLocaleId", "localeId", "INDEX_KEY", "getIndexKey", "METADATA_KEY", "getMetadataKey", "getCachedIndex", "indexHash", "metadataKey", "indexKey", "metadata", "cachedIndex", "checkForCachedData", "setCachedIndex", "index", "setCachedData", "VERSION", "fakeResults", "peq", "myers_32", "a", "b", "m", "lst", "pv", "mv", "sc", "i", "eq", "xv", "myers_x", "mhc", "phc", "hsize", "vsize", "j", "start", "vlen", "k", "i1", "pb", "mb", "xh", "ph", "mh", "k1", "mv1", "pv1", "start1", "vlen1", "k2", "score", "i2", "eq1", "pb1", "mb1", "xv1", "xh1", "ph1", "mh1", "k3", "distance", "tmp", "localStorageDebugFlag", "window", "groupsRegex", "capitalizeFirstLetter", "value", "titleCase", "clampText", "text", "maxLength", "textLength", "slicedText", "isEmptyObject", "object", "createLogger", "showOutput", "log", "data", "time", "label", "timeEnd", "noop", "DEFAULT_FONT_FAMILY", "getFontFamily", "theme", "animationKeyFromLayout", "layout", "safeDocument", "safeWindow", "metaTagSelector", "getMetaTagContent", "metaTag", "checkIfOverLimit", "stripLocaleSlugFromPath", "url", "localeSlug", "localeSlugWithSlash", "yieldToMain", "isHighPriority", "options", "resolve", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "splitWordsRegex", "regex", "log", "Browser", "isTouch", "window", "navigator", "isChrome", "isWebKit", "isSafari", "isSafariDesktop", "isWindows", "isMacOS", "useCallbackOnMouseMove", "callback", "mousePositionRef", "prevPositionRef", "pe", "te", "event", "Browser", "ref", "clientX", "clientY", "prevCursorPosition", "scrollIntoView", "targetElement", "scrollElement", "offsetTop", "offsetBottom", "targetElementBounds", "scrollElementBounds", "difference", "topAligned", "minOffset", "bottomAligned", "offset", "SearchInputClearButtonType", "SearchInputDividerType", "SearchResultTitleType", "SearchResultSubtitleType", "SearchResultItemType", "SearchLayoutType", "SearchEntryType", "SearchIconType", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "splitWordsRegex", "regex", "SearchInputClearButtonType", "SearchInputDividerType", "SearchResultTitleType", "SearchResultSubtitleType", "SearchResultItemType", "SearchLayoutType", "SearchEntryType", "SearchIconType", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "splitWordsRegex", "regex", "SearchInputClearButtonType", "SearchInputDividerType", "SearchResultTitleType", "SearchResultSubtitleType", "SearchResultItemType", "SearchLayoutType", "SearchEntryType", "SearchIconType", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "splitWordsRegex", "regex", "splitWords", "text", "getUniqueWords", "str", "words", "word", "normalizeRegex", "getNormalizedString", "normalizedItemCache", "getNormalizedItemFromCache", "item", "cached", "normalizedItem", "getNormalizedItem", "key", "value", "getMatchRange", "currentRange", "start", "end", "result", "getScoreForSearchIndexItem", "query", "fullQuery", "score", "match", "urlWords", "splitLength", "clamp", "titleWords", "titleIndex", "distance", "titleWord", "headings", "heading", "headingWords", "headingWord", "descriptionIndex", "codeblock", "getSearchIndexItemScore", "normalizedQuery", "queryWords", "total", "queryWord", "useRawSearch", "index", "settings", "results", "setResults", "ye", "startTransition", "_e", "ue", "abortController", "executeRawSearch", "res", "err", "QUANTUM", "signal", "path", "safeWindow", "items", "deadline", "yieldToMainIfNecessary", "yieldToMain", "i", "title", "SearchResultTitleType", "sorted", "itemA", "itemB", "getIndexedScopedToUrl", "rawUrlScope", "localeSlug", "scopedIndex", "baseScopeUrlHasVariable", "urlUpToPathVariable", "urlScope", "url", "stripLocaleSlugFromPath", "useSearch", "searchIndex", "_setSearchIndex", "status", "setStatus", "activeLocale", "useLocaleInfo", "localeId", "setSearchIndex", "options", "loadSearchIndex", "baseUrl", "getBaseUrl", "fakeResults", "cacheResult", "getCachedIndex", "searchIndexUrl", "getSearchIndexUrl", "response", "downloadedIndex", "setCachedIndex", "fallbackBaseUrl", "fallbackSearchIndexUrl", "fallbackResponse", "error", "name", "safeDocument", "baseURL", "isDefaultLocaleId", "MAX_DESCRIPTION_LENGTH", "MODAL_MAX_HEIGHT", "VERTICAL_SPACING_MULTIPLIER", "ClearButton", "theme", "type", "onClick", "text", "iconOrText", "p", "ClearIcon", "Divider", "styles", "Input", "Y", "props", "ref", "value", "status", "autofocus", "placeholder", "iconType", "clearButtonType", "onChange", "inputValue", "setInputValue", "ye", "isFocused", "setIsFocused", "inputRef", "pe", "ce", "e", "inputElement", "handleInputClick", "handleClearClick", "ue", "hasInputText", "showClearButton", "verticalSpacing", "searchIcon", "SearchIcon", "u", "inputContainerStyle", "getFontFamily", "SpinnerIcon", "inputStyle", "scrollOffset", "ResultRow", "index", "result", "prevMousePositionRef", "subtitleType", "selected", "localeSlug", "style", "onMouseMove", "onPointerDown", "onNavigateTo", "url", "title", "score", "urlPath", "se", "stripLocaleSlugFromPath", "handleMouseMove", "useCallbackOnMouseMove", "event", "isContained", "borderRadius", "clamp", "subtitleText", "clampText", "handleClick", "focusTrap", "resultContainer", "resultTitle", "localStorageDebugFlag", "QuickMenuSpacer", "layoutContainerStyle", "LayoutContainer", "layoutType", "onKeyDown", "onDismiss", "children", "modalOptions", "layoutStyles", "getLayoutBaseStyles", "innerStyle", "getContainerAnimation", "key", "animationKeyFromLayout", "prop", "Browser", "containerAnimation", "motion", "ModalContainer", "heightIsStatic", "heightTransition", "heightDeps", "scope", "animate", "useAnimate", "fe", "prevHeight", "height", "ScrollView", "isTouch", "canScroll", "setCanScroll", "element", "statusStyle", "StatusMessage", "previewInfoText", "sidebarStyles", "fixedTopStyles", "quickMenuStyles", "layoutOption", "SearchInputClearButtonType", "SearchInputDividerType", "SearchResultTitleType", "SearchResultSubtitleType", "SearchResultItemType", "SearchLayoutType", "SearchEntryType", "SearchIconType", "SearchModal", "urlScope", "inputOptions", "backdropOptions", "resultOptions", "activeLocale", "useLocaleInfo", "localeId", "input", "selectedResultRow", "scrollView", "setSelected", "isKeyboardNavigationDisabled", "setIsKeyboardNavigationDisabled", "query", "setQuery", "deferredQuery", "oe", "results", "useSearch", "selectedResult", "handleResultRowPointerDown", "te", "handleResultRowMouseMove", "previousSelected", "router", "useRouter", "navigateTo", "routeId", "pathVariables", "inferInitialRouteFromPath", "route", "window", "handleKeyDown", "maxIndex", "showNoResults", "showDivider", "isItemContained", "spacing", "listPaddingTop", "scrollIntoView", "isSelected", "getViewportSize", "window", "useViewportSizeState", "getState", "state", "setState", "ye", "ue", "handleWindowResize", "EntryPointOptions", "buildShadow", "shadowProperty", "fallback", "x", "y", "blur", "color", "spread", "Overlay", "Y", "props", "ref", "layoutType", "theme", "onDismiss", "ue", "handleKeyDown", "event", "handlePointerDown", "window", "bodyOverflowHidden", "Ga", "u", "backdropStyles", "SearchLayoutType", "p", "motion", "SearchModal", "containerStyle", "EntryPoint", "withCSS", "overlay", "pe", "isOpen", "setIsOpen", "ye", "isOverLimit", "setIsOverLimit", "isSafariTouchDevice", "setIsSafariTouchDevice", "isOnCanvas", "RenderTarget", "checkIfOverLimit", "Browser", "baseInputFontSize", "inputFontSize", "useViewportSizeState", "size", "isEmptyObject", "DEFAULT_FONT_FAMILY", "handleClick", "SearchIconType", "SearchIcon", "AnimatePresence", "Search_default", "addPropertyControls", "ControlType", "titleCase", "iconType", "SearchInputDividerType", "SearchInputClearButtonType", "heightIsStatic", "animationKeyFromLayout", "SearchResultItemType", "SearchResultTitleType", "SearchResultSubtitleType", "mask", "Base", "Y", "props", "ref", "p", "MotionSVG", "motion", "SVG", "animated", "layoutId", "children", "rest", "svg", "getProps", "alpha", "color", "height", "id", "width", "width1", "Component", "style", "className", "variant", "ezTt3ayMo", "lschgej4H", "qxTvv_EBh", "restProps", "href", "useSVGTemplate", "cx", "css", "Icon", "withCSS", "gU109MUNe_default", "addPropertyControls", "ControlType", "MagnifyingGlassFonts", "getFonts", "gU109MUNe_default", "SearchFonts", "Search_default", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "g22ZfE0tnNVHKTtfMi", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "isDisplayed", "LayoutGroup", "u", "Link", "RichText", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerO_XANgFfo", "withCSS", "O_XANgFfo_default", "addPropertyControls", "ControlType", "addFonts", "getFontsFromSharedStyle", "fonts", "SVGFonts", "getFonts", "SVG_Prod_default", "SearchFonts", "O_XANgFfo_default", "HamburgerButtonFonts", "FvDs80k_Z_default", "MenuItemsFonts", "NVHKTtfMi_default", "SmartComponentScopedContainerWithFXWithOptimizedAppearEffect", "withOptimizedAppearEffect", "withFX", "SmartComponentScopedContainer", "MotionDivWithFXWithOptimizedAppearEffect", "motion", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "transition3", "animation", "animation1", "transition4", "animation2", "transition5", "animation3", "transition6", "animation4", "transition7", "animation5", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "JB0qH6k0j133hzx", "args", "JB0qH6k0j1ljm2vf", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "isDisplayed2", "isDisplayed3", "isDisplayed4", "LayoutGroup", "u", "ComponentViewportProvider", "RichText", "css", "FramerJEGIr2HDn", "withCSS", "JEGIr2HDn_default", "addPropertyControls", "ControlType", "addFonts", "NavBarFonts", "getFonts", "JEGIr2HDn_default", "breakpoints", "serializationHash", "variantClassNames", "breakpointRules", "breakpointKeys", "selectors", "rules", "mediaQueries", "HTMLStyle", "value", "useIsOnFramerCanvas", "p", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "variant", "children", "restProps", "baseVariant", "hydratedBaseVariant", "useHydratedBreakpointVariants", "breakpoints", "gestureVariant", "scopingClassNames", "cx", "useCustomCursors", "GeneratedComponentContext", "u", "LayoutGroup", "motion", "ComponentViewportProvider", "Container", "PropertyOverrides2", "JEGIr2HDn_default", "css", "target", "RenderTarget", "key", "selector", "rule", "Framerl0dFWU3dr", "withCSS", "l0dFWU3dr_default", "addFonts", "NavBarFonts", "routes", "lazy", "locales", "collectionUtils", "framerSiteId", "Template", "routeId", "children", "style", "rest", "props", "B", "l0dFWU3dr_default", "getLayoutTemplateBreakpoints", "getPageRoot", "pathVariables", "localeId", "rootPreload", "content", "PageRoot", "window", "navigator", "dependencies", "useCurrentRoute", "useLocaleInfo", "useRouter", "x", "X", "te", "ue", "pe", "ye", "Ga", "createEditorBar", "contentWithFeaturesContext", "LibraryFeaturesProvider", "contentWithGracefullyDegradingErrorBoundary", "GracefullyDegradingErrorBoundary", "page", "PageEffectsProvider", "isBrowser", "packageAndFilename", "exportIdentifier", "ErrorPlaceholder", "installFlexboxGapWorkaroundIfNeeded", "container", "main", "track", "shouldHydrate", "handleError", "error", "errorInfo", "recoverable", "componentStack", "breakpoints", "routeData", "patchRoutesForABTesting", "inferInitialRouteFromPath", "pagePromise", "route", "defaultLocaleId", "framerLocale", "id", "collectionItemId", "utils", "slug", "resolvedDateTimeOptions", "timezone", "locale", "resolve", "yieldToMain", "withPerformanceMarks", "removeHiddenBreakpointLayersV2", "Z", "markHydrationStart", "turnOffReactEventHandling", "d", "r", "L", "K"]
}
