{"version":3,"file":"ReviewMotionPro.DEVBGj-b.mjs","names":["getProps","React.forwardRef","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","motion","useRef","useState","useMemo","useCallback","logical","startTransition","_Fragment","framerMotion"],"sources":["https:/framerusercontent.com/modules/8Kth5566AmP2f8alTIZu/gcpy7DRQjN5K7bdlGEPo/FmpP02mnR.js","https:/framerusercontent.com/modules/MInrZe3zQuCNuOuxPpbs/Je5r7E2LakxHuKwbOPfO/C55_vCGEF.js","https:/framerusercontent.com/modules/jWlufEOfGvHWRRzjdGmc/pYtHE3irGrZ7wrWssoNt/Hx_6VGM9A.js","https:/framerusercontent.com/modules/wXzFtfbD1fMeIrSkmZoG/8nWo3qBsQPWOhYPodr1k/ReviewMotionPro.js"],"sourcesContent":["// 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 15.999 10.582 C 15.421 10.695 14.835 10.752 14.246 10.752 C 11.553 10.75 9.002 9.543 7.293 7.461 C 5.583 5.38 4.895 2.642 5.417 0 C 1.829 1.312 -0.389 4.916 0.057 8.71 C 0.502 12.504 3.494 15.497 7.288 15.942 C 11.083 16.387 14.687 14.17 15.999 10.582 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15.99858080507872px\" id=\"eZTLM88HK\" transform=\"translate(3.754 4.248)\" width=\"15.998580805078724px\"/><path d=\"M 0 4.5 L 0 0\" fill=\"transparent\" height=\"4.5px\" id=\"zUGzw2VWw\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(19.5 6.75)\" width=\"1px\"/><path d=\"M 4.5 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"B9h2DPWA6\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(17.25 9)\" width=\"4.5px\"/><path d=\"M 0 0 L 0 3\" fill=\"transparent\" height=\"3px\" id=\"V84bhtN5H\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(15 3)\" width=\"1px\"/><path d=\"M 3 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"m6YO5Mtpj\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(13.5 4.5)\" width=\"3px\"/><path d=\"M 15.999 10.582 C 15.421 10.695 14.835 10.752 14.246 10.752 C 11.553 10.75 9.002 9.543 7.293 7.461 C 5.583 5.38 4.895 2.642 5.417 0 C 1.829 1.312 -0.389 4.916 0.057 8.71 C 0.502 12.504 3.494 15.497 7.288 15.942 C 11.083 16.387 14.687 14.17 15.999 10.582 Z\" fill=\"transparent\" height=\"15.99858080507872px\" id=\"JCL9nRBQZ\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.754 4.248)\" width=\"15.998580805078724px\"/></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(\"3136578773\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-c8QA9\",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-c8QA9 { -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\":\"Moon Stars\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-c8QA9\");Icon.displayName=\"Moon Stars\";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\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Moon Stars\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (14b65b1)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Poppins-medium\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Poppins\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/K4RHKGAGLQZBXEZQT2O2AGSLKJF2E4YC/JRUTXNFPWLFGIEVSSEYOW7EP7TYM3V6A/UCDYLFFGLZRGCFY5GYDYM5LDB52BAR5M.woff2\",weight:\"500\"},{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/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{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/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-564gC .framer-styles-preset-1n2nglx:not(.rich-text-wrapper), .framer-564gC .framer-styles-preset-1n2nglx.rich-text-wrapper p { --framer-font-family: \"Poppins\", \"Poppins Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.32px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-cac19d3f-8509-43da-8b4a-60d9c9155e5b, rgba(7, 13, 1, 0.6)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-564gC\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (53c1d35)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/MInrZe3zQuCNuOuxPpbs/Je5r7E2LakxHuKwbOPfO/C55_vCGEF.js\";const cycleOrder=[\"R0nD5YDIg\",\"B6dmhEdht\"];const serializationHash=\"framer-IPDhq\";const variantClassNames={B6dmhEdht:\"framer-v-4zip9t\",R0nD5YDIg:\"framer-v-ww8igo\"};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={Alternative:\"B6dmhEdht\",Badge:\"R0nD5YDIg\"};const getProps=({height,id,title,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"R0nD5YDIg\",Z9DCUXr8x:title??props.Z9DCUXr8x??\"About Us\"};};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,Z9DCUXr8x,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"R0nD5YDIg\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-ww8igo\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Badge\",layoutDependency:layoutDependency,layoutId:\"R0nD5YDIg\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-73740b22-d379-4afb-880c-dcc36b1963a2, rgba(7, 13, 1, 0.1))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,...style},variants:{B6dmhEdht:{\"--border-color\":\"var(--token-1ba0ce59-2c1a-475e-9dd8-dbe7c3e3ce9f, rgba(255, 255, 255, 0.2))\"}},...addPropertyOverrides({B6dmhEdht:{\"data-framer-name\":\"Alternative\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1n2nglx\",\"data-styles-preset\":\"C55_vCGEF\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-0c9beb49-fa7c-49a8-937c-0d6ab94c897b, rgb(7, 13, 1)))\"},children:\"About Us\"})}),className:\"framer-1lviy3s\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"oBKaH7Uhn\",style:{\"--extracted-r6o4lv\":\"var(--token-0c9beb49-fa7c-49a8-937c-0d6ab94c897b, rgb(7, 13, 1))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:Z9DCUXr8x,variants:{B6dmhEdht:{\"--extracted-r6o4lv\":\"var(--token-8f339a93-50c8-4f32-8abd-1af0fb0a8634, rgb(255, 255, 255))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({B6dmhEdht:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1n2nglx\",\"data-styles-preset\":\"C55_vCGEF\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-8f339a93-50c8-4f32-8abd-1af0fb0a8634, rgb(255, 255, 255)))\"},children:\"About Us\"})})}},baseVariant,gestureVariant)})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-IPDhq.framer-1dt2502, .framer-IPDhq .framer-1dt2502 { display: block; }\",\".framer-IPDhq.framer-ww8igo { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; padding: 6px 14px 6px 14px; position: relative; width: min-content; }\",\".framer-IPDhq .framer-1lviy3s { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css,'.framer-IPDhq[data-border=\"true\"]::after, .framer-IPDhq [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 36\n * @framerIntrinsicWidth 98\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"B6dmhEdht\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"Z9DCUXr8x\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerHx_6VGM9A=withCSS(Component,css,\"framer-IPDhq\");export default FramerHx_6VGM9A;FramerHx_6VGM9A.displayName=\"Badge\";FramerHx_6VGM9A.defaultProps={height:36,width:98};addPropertyControls(FramerHx_6VGM9A,{variant:{options:[\"R0nD5YDIg\",\"B6dmhEdht\"],optionTitles:[\"Badge\",\"Alternative\"],title:\"Variant\",type:ControlType.Enum},Z9DCUXr8x:{defaultValue:\"About Us\",displayTextArea:false,title:\"Title\",type:ControlType.String}});addFonts(FramerHx_6VGM9A,[{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+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.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\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerHx_6VGM9A\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"B6dmhEdht\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"36\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"Z9DCUXr8x\\\":\\\"title\\\"}\",\"framerIntrinsicWidth\":\"98\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Review Motion Pro - Premium testimonial component with slider and smooth carousel modes\n//\n// FEATURES:\n// - Two motion types: Slider (discrete navigation) and Smooth (continuous scroll)\n// - Infinite loop support with seamless clone-based wrapping\n// - Responsive cards per view (auto-adjusts to screen size)\n// - Drag navigation with momentum\n// - Keyboard navigation (arrow keys)\n// - Autoplay with pause on hover\n// - Multiple layout options (inline, stacked, above)\n// - Accessibility features (ARIA labels, keyboard support, screen reader announcements)\n// - Performance optimizations (lazy loading, memoization)\n//\n// USAGE:\n// 1. Add slides with review text, client info, and ratings\n// 2. Choose motion type: \"slider\" for discrete navigation or \"smooth\" for continuous scroll\n// 3. Configure cards per view (auto-adjusts on mobile)\n// 4. Customize styling (colors, fonts, spacing, shadows)\n// 5. Enable/disable features (autoplay, arrows, pagination, infinite loop)\n//\n// SLIDER MODE:\n// - Discrete slide-by-slide navigation\n// - Supports infinite loop with seamless wrapping\n// - Autoplay with configurable speed\n// - Arrow and dot navigation\n// - Keyboard support (left/right arrows)\n//\n// SMOOTH MODE:\n// - Continuous scrolling animation\n// - Configurable speed and direction\n// - Pause on hover\n// - Drag to adjust position\n//\n// ACCESSIBILITY:\n// - ARIA live regions announce slide changes\n// - Keyboard navigation support\n// - Screen reader friendly\n// - Respects prefers-reduced-motion\n//\n// PERFORMANCE:\n// - Lazy loading for images\n// - Memoized calculations\n// - Optimized animations\n// - No memory leaks\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{motion as framerMotion,useMotionValue,animate}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useState,useEffect,useRef,useMemo,useCallback,startTransition}from\"react\";// CONSTANTS\nconst SMOOTH_CLONE_MULTIPLIER=5// Number of times to duplicate slides in smooth mode for seamless looping\n;const DRAG_THRESHOLD_RATIO=.3// Percentage of card width needed to trigger slide change (30%)\n;const DRAG_MULTIPLIER_MIN=1// Minimum drag range multiplier\n;const DRAG_MULTIPLIER_MAX=2// Maximum drag range multiplier\n;const DRAG_MULTIPLIER_BASE=3// Base value for drag multiplier calculation\n;/**\n * Review Motion Pro\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerDisableUnlink\n */export default function ReviewMotionPro(props){const{slides=[{reviewText:\"This component feels polished and smooth to use. The layout controls and motion settings make customization simple and flexible.\",name:\"Daniel Brooks\",title:\"Product Designer\",clientImage:{src:\"https://framerusercontent.com/images/GnZJgtcwBVEBuqeWxLn25LNhWc.jpg\",alt:\"Daniel Brooks\"},rating:5}],layout=\"inline\",alignment,motionType=\"slider\",cardsPerView=1,pauseOnHover=true,hoverFocusEffect=true,fadeWidthLeft=60,fadeWidthRight=60,motion={slidesToScroll:1,autoplay:true,autoplaySpeed:4,transitionDuration:.6,infiniteLoop:true,pagination:\"dots\",dotSize:8,dotGap:8,fractionSize:17,arrows:true,arrowSize:25,direction:\"rtl\",smoothSpeed:30},style={cardBorder:1,cardRadius:12,shadow:true,cardGap:20,cardPadding:\"30px\",clientImageWidth:50,clientImageHeight:50,clientImageBorder:0,clientImageRadius:6,starSize:19,quoteIconSize:34,topGap:15,reviewGap:25,imageGap:15},theme={cardBackground:\"#FFFFFF\",reviewTextColor:\"#000000\",nameColor:\"#000000\",titleColor:\"#666666\",starColor:\"#FFB800\",inactiveStarColor:\"#E0E0E0\",dotColor:\"#CCCCCC\",activeDotColor:\"#000000\",fractionColor:\"#8B5CF6\",arrowColor:\"#000000\",quoteIconColor:\"#000000\",clientImageBorderColor:\"#E3E3E3\",cardBorderColor:\"#E3E3E3\",shadowColor:\"rgba(0,0,0,0.08)\"},font={reviewFont:{},nameFont:{},titleFont:{}}}=props;// Destructure motion properties\nconst{slidesToScroll,autoplay,autoplaySpeed,transitionDuration,infiniteLoop,pagination,dotSize,dotGap,fractionSize,arrows,arrowSize,direction,smoothSpeed}=motion;// Destructure style properties\nconst{cardBorder,cardRadius,shadow,cardGap,cardPadding,clientImageWidth,clientImageHeight,clientImageBorder,clientImageRadius,starSize,quoteIconSize,topGap,reviewGap,imageGap}=style;const isStatic=useIsStaticRenderer();const containerRef=useRef(null);// SLIDER STATE: Minimal reactive state\nconst[currentIndex,setCurrentIndex]=useState(0);const[isAnimating,setIsAnimating]=useState(false);// UI STATE\nconst[hoveredIndex,setHoveredIndex]=useState(null);const[isPaused,setIsPaused]=useState(false);const[isDragging,setIsDragging]=useState(false);const[isInViewport,setIsInViewport]=useState(true)// Track viewport visibility\n;// MEASUREMENTS\nconst[containerWidth,setContainerWidth]=useState(1200)// Initialize to default instead of 0 to prevent flash on first render\n;const[maxCardHeight,setMaxCardHeight]=useState(0);const cardRefs=useRef([]);// MOTION VALUES\nconst x=useMotionValue(0)// Slider mode\n;// SMOOTH MODE\nconst smoothX=useMotionValue(0);// REFS\nconst animationRef=useRef(null);const autoplayTimerRef=useRef(null);const isHoveringRef=useRef(false);const prevMotionTypeRef=useRef(motionType);const prevDirectionRef=useRef(direction);// SLIDER: Visual index ref (tracks real clone position)\nconst visualIndexRef=useRef(0);const hasInitializedRef=useRef(false);// SMOOTH MODE REFS\nconst smoothAnimationFrameRef=useRef(null);const smoothVelocityRef=useRef(0);const smoothLastTimeRef=useRef(0);const smoothCurrentXRef=useRef(0);const smoothInitializedRef=useRef(false)// Explicit flag to track smooth mode initialization\n;const cloneMultiplier=SMOOTH_CLONE_MULTIPLIER;// Track previous infiniteLoop value\nconst prevInfiniteLoopRef=useRef(infiniteLoop);// Track if containerWidth has been measured from DOM (not default value)\nconst containerMeasuredRef=useRef(false);// Track previous cardWidth to detect significant changes\nconst prevCardWidthRef=useRef(0);// PHASE 1 OPTIMIZATION: Throttle hover updates\nconst lastHoverUpdateRef=useRef(0);useEffect(()=>{if(typeof window===\"undefined\")return;const handleResize=()=>{startTransition(()=>{if(containerRef.current){const measuredWidth=containerRef.current.offsetWidth||1200;setContainerWidth(measuredWidth);// Mark as measured if we got a real value from the DOM\nif(measuredWidth!==1200||containerRef.current.offsetWidth>0){containerMeasuredRef.current=true;}}});};handleResize();window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);const actualSlidesToScroll=slidesToScroll;const totalSlides=slides.length;// Auto-adjust cards per view to never exceed available slides\nconst effectiveCardsPerView=Math.min(cardsPerView,totalSlides);const effectiveInfiniteLoop=infiniteLoop&&totalSlides>1&&motionType===\"slider\";// Only used in Slider Mode for navigation calculations\nconst effectiveSlidesToScroll=useMemo(()=>{return Math.max(1,actualSlidesToScroll);},[actualSlidesToScroll]);// With infinite loop enabled, maxValidIndex represents the last logical slide index (not a constraint)\n// Without infinite loop, it represents the last valid starting position\nconst maxValidIndex=useMemo(()=>{if(effectiveInfiniteLoop)return totalSlides-1;return Math.max(0,totalSlides-effectiveCardsPerView);},[effectiveInfiniteLoop,totalSlides,effectiveCardsPerView]);// Note: maxValidIndex already includes effectiveCardsPerView in its calculation,\n// so we don't need to add effectiveCardsPerView to the dependency array below.\n// Changes to effectiveCardsPerView will trigger recalculation via maxValidIndex.\nconst validNavigationPositions=useMemo(()=>{const positions=[];let currentPos=0;while(currentPos<=maxValidIndex){positions.push(currentPos);currentPos+=effectiveSlidesToScroll;}// Clamp the last position to maxValidIndex to prevent out-of-bounds positions\nif(positions.length>0&&positions[positions.length-1]>maxValidIndex){positions[positions.length-1]=maxValidIndex;}return positions;},[maxValidIndex,effectiveSlidesToScroll,effectiveInfiniteLoop]);// PHASE 1 OPTIMIZATION: Pre-calculate position index map for O(1) lookups\nconst positionIndexMap=useMemo(()=>{const map=new Map;validNavigationPositions.forEach((pos,idx)=>map.set(pos,idx));return map;},[validNavigationPositions]);const cardWidth=useMemo(()=>{if(containerWidth===0)return 0;const paddingHorizontal=12*2// 12px left + 12px right\n;const availableWidth=containerWidth-paddingHorizontal;const totalGap=cardGap*(effectiveCardsPerView-1);return(availableWidth-totalGap)/effectiveCardsPerView;},[containerWidth,effectiveCardsPerView,cardGap]);const[prefersReducedMotion,setPrefersReducedMotion]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setPrefersReducedMotion(mediaQuery.matches);const handler=e=>{startTransition(()=>setPrefersReducedMotion(e.matches));};mediaQuery.addEventListener(\"change\",handler);return()=>mediaQuery.removeEventListener(\"change\",handler);},[]);// SLIDER: 3x duplicated slides\nconst sliderSlides=useMemo(()=>{if(effectiveInfiniteLoop){return[...slides,...slides,...slides];}return slides;},[slides,effectiveInfiniteLoop]);// SLIDER: Get visual index from logical index\nconst getVisualIndex=useCallback(logicalIdx=>{if(effectiveInfiniteLoop){return totalSlides+logicalIdx// Center set\n;}return logicalIdx;},[effectiveInfiniteLoop,totalSlides]);// SLIDER: Check and reset after animation completes\nconst checkAndReset=useCallback(()=>{if(!effectiveInfiniteLoop)return;const currentVisual=visualIndexRef.current;// In left clone set (0 to totalSlides-1)\nif(currentVisual<totalSlides){const logical=currentVisual;const centerVisual=totalSlides+logical;visualIndexRef.current=centerVisual;x.set(-(centerVisual*(cardWidth+cardGap)));return;}// In right clone set (totalSlides*2 to totalSlides*3-1)\nif(currentVisual>=totalSlides*2){const logical=currentVisual-totalSlides*2;const centerVisual=totalSlides+logical;visualIndexRef.current=centerVisual;x.set(-(centerVisual*(cardWidth+cardGap)));}},[effectiveInfiniteLoop,totalSlides,cardWidth,cardGap,x]);// Helper: Normalize index to valid range\nconst normalizeIndex=useCallback(targetLogicalIndex=>{const normalized=effectiveInfiniteLoop?(targetLogicalIndex%totalSlides+totalSlides)%totalSlides:Math.max(0,Math.min(targetLogicalIndex,maxValidIndex));// Additional safety: ensure index is within bounds after slides length changes\nreturn Math.max(0,Math.min(normalized,totalSlides-1));},[effectiveInfiniteLoop,totalSlides,maxValidIndex]);// Helper: Calculate visual target based on navigation type\nconst calculateVisualTarget=useCallback((normalizedIndex,navigationType)=>{if(navigationType===\"dot\"){// Dot click: go to logical index in center set (only if infinite loop is ON)\nreturn effectiveInfiniteLoop?totalSlides+normalizedIndex:normalizedIndex;}else if(navigationType===\"next\"){// Next/autoplay: increment from current visual position\nreturn visualIndexRef.current+effectiveSlidesToScroll;}else{// Prev: decrement from current visual position\nreturn visualIndexRef.current-effectiveSlidesToScroll;}},[effectiveInfiniteLoop,totalSlides,effectiveSlidesToScroll]);// SLIDER: Single navigation function\nconst navigateTo=useCallback((targetLogicalIndex,navigationType=\"dot\")=>{if(isAnimating)return;const normalizedIndex=normalizeIndex(targetLogicalIndex);const visualTarget=calculateVisualTarget(normalizedIndex,navigationType);const targetX=-(visualTarget*(cardWidth+cardGap));// Update visual index ref (allow natural growth into clone territory)\nvisualIndexRef.current=visualTarget;// Start animation\nsetIsAnimating(true);setCurrentIndex(normalizedIndex);animationRef.current=animate(x,targetX,{duration:prefersReducedMotion?.1:transitionDuration,ease:\"easeInOut\",onComplete:()=>{animationRef.current=null;setIsAnimating(false);// Check for infinite loop reset AFTER animation completes\nif(effectiveInfiniteLoop){checkAndReset();}}});},[isAnimating,normalizeIndex,calculateVisualTarget,cardWidth,cardGap,x,transitionDuration,prefersReducedMotion,checkAndReset,effectiveInfiniteLoop]);// SLIDER: Initial setup (runs once)\nuseEffect(()=>{if(motionType===\"slider\"&&cardWidth>0&&!hasInitializedRef.current){const initialIndex=0;const initialVisualIndex=getVisualIndex(initialIndex);visualIndexRef.current=initialVisualIndex;const initialX=-(initialVisualIndex*(cardWidth+cardGap));x.set(initialX);setCurrentIndex(initialIndex);hasInitializedRef.current=true;}},[motionType,cardWidth,cardGap,getVisualIndex,x]);// SLIDER: Reset when infiniteLoop changes\nuseEffect(()=>{if(prevInfiniteLoopRef.current!==infiniteLoop&&motionType===\"slider\"&&cardWidth>0){// Stop any active animation\nif(animationRef.current){animationRef.current.stop();animationRef.current=null;setIsAnimating(false);}// Reset initialization flag\nhasInitializedRef.current=false;// Reset to first slide\nconst initialIndex=0;const initialVisualIndex=getVisualIndex(initialIndex);visualIndexRef.current=initialVisualIndex;const initialX=-(initialVisualIndex*(cardWidth+cardGap));x.set(initialX);setCurrentIndex(initialIndex);// Mark as initialized\nhasInitializedRef.current=true;prevInfiniteLoopRef.current=infiniteLoop;}return()=>{// Cleanup animation on unmount\nif(animationRef.current){animationRef.current.stop();animationRef.current=null;}};},[infiniteLoop,motionType,cardWidth,cardGap,getVisualIndex,x]);// SLIDER: Resize recalculation (only on layout changes, NOT currentIndex)\nuseEffect(()=>{if(motionType===\"slider\"&&cardWidth>0&&hasInitializedRef.current){// Stop animation\nif(animationRef.current){animationRef.current.stop();animationRef.current=null;setIsAnimating(false);}// Recalculate visual index based on current logical index\nconst newVisualIndex=getVisualIndex(currentIndex);visualIndexRef.current=newVisualIndex;// Recalculate position\nconst targetX=-(newVisualIndex*(cardWidth+cardGap));x.set(targetX);}// eslint-disable-next-line react-hooks/exhaustive-deps\n// Note: currentIndex and getVisualIndex are intentionally omitted from dependencies\n// to prevent this effect from running on every navigation. This effect should ONLY\n// run when layout properties change (cardWidth, cardGap, effectiveCardsPerView).\n// The current values of currentIndex and getVisualIndex are correctly captured\n// when the effect runs due to layout changes.\n},[cardWidth,cardGap,effectiveCardsPerView,motionType,x]);// Reset position when direction changes\nuseEffect(()=>{if(prevDirectionRef.current!==direction){if(motionType===\"smooth\"){const singleSetWidth=(cardWidth+cardGap)*slides.length;const centerX=-singleSetWidth*2;smoothCurrentXRef.current=centerX;smoothX.set(centerX);// Reset initialization flag to ensure proper re-initialization\nsmoothInitializedRef.current=false;}prevDirectionRef.current=direction;}return()=>{// Cleanup animation on unmount\nif(smoothAnimationFrameRef.current!==null){cancelAnimationFrame(smoothAnimationFrameRef.current);smoothAnimationFrameRef.current=null;}};},[direction,motionType,cardWidth,cardGap,slides.length,smoothX]);// Cleanup on motion type change\nuseEffect(()=>{if(prevMotionTypeRef.current!==motionType){if(autoplayTimerRef.current){clearTimeout(autoplayTimerRef.current);autoplayTimerRef.current=null;}startTransition(()=>{setHoveredIndex(null);setIsPaused(false);});prevMotionTypeRef.current=motionType;}return()=>{// Cleanup timers and animations on unmount\nif(autoplayTimerRef.current){clearTimeout(autoplayTimerRef.current);autoplayTimerRef.current=null;}if(animationRef.current){animationRef.current.stop();animationRef.current=null;}};},[motionType]);// Clear card refs when slides change\nuseEffect(()=>{cardRefs.current=[];},[slides.length]);const smoothSlides=useMemo(()=>{if(motionType===\"smooth\"){const result=[];for(let i=0;i<cloneMultiplier;i++){result.push(...slides);}return result;}return slides;},[slides,motionType]);useEffect(()=>{if(isStatic)return;const calculateMaxHeight=()=>{const heights=cardRefs.current.filter(ref=>ref!==null).map(ref=>ref.offsetHeight);if(heights.length>0){const max=Math.max(...heights);startTransition(()=>setMaxCardHeight(max));}};let imagesLoaded=0;let totalImages=0;const imageElements=[];// PHASE 1 OPTIMIZATION: Only check visible cards for height calculation\nconst visibleRefs=cardRefs.current.slice(0,effectiveCardsPerView);visibleRefs.forEach(ref=>{if(ref){const images=ref.querySelectorAll(\"img\");images.forEach(img=>{totalImages++;if(img.complete){imagesLoaded++;}else{imageElements.push(img);}});}});const handleImageLoad=()=>{imagesLoaded++;if(imagesLoaded===totalImages){calculateMaxHeight();}};imageElements.forEach(img=>{img.addEventListener(\"load\",handleImageLoad);});if(totalImages===0||imagesLoaded===totalImages){const timer=setTimeout(calculateMaxHeight,300);return()=>clearTimeout(timer);}if(typeof window!==\"undefined\"&&\"fonts\"in document){document.fonts.ready.then(()=>{setTimeout(calculateMaxHeight,100);});}return()=>{imageElements.forEach(img=>{img.removeEventListener(\"load\",handleImageLoad);});};},[slides,layout,alignment,isStatic,containerWidth,effectiveCardsPerView]);// Smooth mode animation engine\nuseEffect(()=>{if(isStatic||motionType!==\"smooth\"||cardWidth===0)return;// Wait for accurate measurements before initializing\n// Don't initialize if we're still using the default containerWidth (1200)\n// unless we've confirmed it's been measured from the DOM\nif(!containerMeasuredRef.current)return;const singleSetWidth=(cardWidth+cardGap)*slides.length;if(singleSetWidth===0)return;// Detect significant cardWidth changes (viewport resize, orientation change)\nconst cardWidthChanged=Math.abs(cardWidth-prevCardWidthRef.current)>10;if(cardWidthChanged&&prevCardWidthRef.current!==0){// Reset initialization flag to recalculate position with new cardWidth\nsmoothInitializedRef.current=false;}prevCardWidthRef.current=cardWidth;// Initialize smooth mode position on first run OR when cardWidth changes significantly\nif(!smoothInitializedRef.current){const centerX=-singleSetWidth*2;smoothCurrentXRef.current=centerX;smoothX.set(centerX);smoothInitializedRef.current=true;// Reset animation timing to prevent jumps\nsmoothLastTimeRef.current=0;}const pixelsPerSecond=singleSetWidth/smoothSpeed;smoothVelocityRef.current=direction===\"rtl\"?-pixelsPerSecond:pixelsPerSecond;const animate=currentTime=>{if(smoothLastTimeRef.current===0){smoothLastTimeRef.current=currentTime;}const deltaTime=(currentTime-smoothLastTimeRef.current)/1e3;smoothLastTimeRef.current=currentTime;// FRAMER REVIEW FIX: Only animate when in viewport, not paused, and not dragging\nif(isInViewport&&!isPaused&&!isDragging){smoothCurrentXRef.current+=smoothVelocityRef.current*deltaTime;const centerX=-singleSetWidth*2;const leftBoundary=centerX-singleSetWidth;const rightBoundary=centerX+singleSetWidth;if(direction===\"rtl\"&&smoothCurrentXRef.current<=leftBoundary){smoothCurrentXRef.current+=singleSetWidth;}else if(direction===\"ltr\"&&smoothCurrentXRef.current>=rightBoundary){smoothCurrentXRef.current-=singleSetWidth;}smoothX.set(smoothCurrentXRef.current);}smoothAnimationFrameRef.current=requestAnimationFrame(animate);};// FRAMER REVIEW FIX: Only start animation loop when in viewport\nif(isInViewport){smoothAnimationFrameRef.current=requestAnimationFrame(animate);}return()=>{if(smoothAnimationFrameRef.current!==null){cancelAnimationFrame(smoothAnimationFrameRef.current);smoothAnimationFrameRef.current=null;}smoothLastTimeRef.current=0;};},[motionType,smoothSpeed,isPaused,isDragging,cardWidth,cardGap,slides.length,direction,smoothX,isStatic,isInViewport]);// FRAMER REVIEW FIX: IntersectionObserver to detect viewport visibility\nuseEffect(()=>{if(isStatic||motionType!==\"smooth\"||!containerRef.current)return;const observer=new IntersectionObserver(([entry])=>{startTransition(()=>setIsInViewport(entry.isIntersecting));},{threshold:.1}// Trigger when at least 10% of component is visible\n);observer.observe(containerRef.current);return()=>{observer.disconnect();};},[isStatic,motionType]);// SLIDER: Autoplay\nuseEffect(()=>{if(isStatic||motionType!==\"slider\"||!autoplay||isPaused||isAnimating||totalSlides<=1){if(autoplayTimerRef.current){clearTimeout(autoplayTimerRef.current);autoplayTimerRef.current=null;}return;}const timer=setTimeout(()=>{// PHASE 1 OPTIMIZATION: Use Map lookup instead of indexOf\nconst currentPosIndex=positionIndexMap.get(currentIndex)??0;// Get next position\nconst nextPosIndex=currentPosIndex+1;// Handle wrapping for infinite loop\nconst nextIndex=nextPosIndex<validNavigationPositions.length?validNavigationPositions[nextPosIndex]:effectiveInfiniteLoop?validNavigationPositions[0]:currentIndex;// Only navigate if we have a valid next position\nif(nextIndex!==currentIndex){navigateTo(nextIndex,\"next\");}},autoplaySpeed*1e3);autoplayTimerRef.current=timer;return()=>{if(autoplayTimerRef.current){clearTimeout(autoplayTimerRef.current);autoplayTimerRef.current=null;}};},[currentIndex,autoplay,isPaused,isAnimating,autoplaySpeed,navigateTo,effectiveInfiniteLoop,validNavigationPositions,motionType,isStatic,totalSlides,positionIndexMap]);// SLIDER: Drag handlers\nconst handleDragStart=useCallback(()=>{if(isAnimating)return;if(motionType===\"slider\"){if(animationRef.current){animationRef.current.stop();animationRef.current=null;setIsAnimating(false);}setIsPaused(true);}else{smoothLastTimeRef.current=0;}setIsDragging(true);},[isAnimating,motionType]);const handleDragEnd=useCallback((event,info)=>{if(motionType===\"slider\"){const dragDistance=info.offset.x;// Drag threshold: 30% of card width needed to trigger slide change\nconst dragThreshold=(cardWidth+cardGap)*DRAG_THRESHOLD_RATIO;let targetIndex=currentIndex;let dragDirection=\"next\";if(Math.abs(dragDistance)>dragThreshold){// PHASE 1 OPTIMIZATION: Use Map lookup instead of indexOf (O(1) vs O(n))\nconst currentPosIndex=positionIndexMap.get(currentIndex)??0;if(dragDistance>0){// Drag right (prev)\nconst prevPosIndex=currentPosIndex-1;targetIndex=prevPosIndex>=0?validNavigationPositions[prevPosIndex]:effectiveInfiniteLoop?validNavigationPositions[validNavigationPositions.length-1]:currentIndex;dragDirection=\"prev\";}else{// Drag left (next)\nconst nextPosIndex=currentPosIndex+1;targetIndex=nextPosIndex<validNavigationPositions.length?validNavigationPositions[nextPosIndex]:effectiveInfiniteLoop?validNavigationPositions[0]:currentIndex;dragDirection=\"next\";}}navigateTo(targetIndex,dragDirection);setIsDragging(false);if(!isHoveringRef.current){setIsPaused(false);}}else{smoothCurrentXRef.current=smoothX.get();smoothLastTimeRef.current=0;setIsDragging(false);}},[motionType,cardWidth,cardGap,effectiveInfiniteLoop,navigateTo,smoothX,currentIndex,validNavigationPositions,positionIndexMap]);// SLIDER: Dot click\nconst handleDotClick=useCallback(logicalIdx=>{if(isAnimating)return;navigateTo(logicalIdx,\"dot\");},[isAnimating,navigateTo]);// Memoize drag constraints to prevent recreation on every render\nconst dragConstraints=useMemo(()=>{if(motionType===\"smooth\"){const singleSetWidth=(cardWidth+cardGap)*slides.length;const centerX=-singleSetWidth*2;return{left:centerX-singleSetWidth*1.5,right:centerX+singleSetWidth*1.5};}// For slider mode, allow free dragging and handle snapping in handleDragEnd\n// This prevents the constraints from being \"stuck\" at the initial position\n// The snapping logic in handleDragEnd already handles proper slide navigation\nreturn{left:-Infinity,right:Infinity};},[motionType,cardWidth,cardGap,slides.length]);// SLIDER: Keyboard navigation\nuseEffect(()=>{// FRAMER REVIEW FIX: Disable keyboard listeners in static renderer (editor)\nif(isStatic||motionType!==\"slider\")return;const handleKeyDown=e=>{if(isAnimating)return;// PHASE 1 OPTIMIZATION: Use Map lookup instead of indexOf\nconst currentPosIndex=positionIndexMap.get(currentIndex)??0;if(e.key===\"ArrowLeft\"){e.preventDefault();// Get previous position\nconst prevPosIndex=currentPosIndex-1;const targetIndex=prevPosIndex>=0?validNavigationPositions[prevPosIndex]:effectiveInfiniteLoop?validNavigationPositions[validNavigationPositions.length-1]:currentIndex;if(targetIndex!==currentIndex){navigateTo(targetIndex,\"prev\");}}else if(e.key===\"ArrowRight\"){e.preventDefault();// Get next position\nconst nextPosIndex=currentPosIndex+1;const targetIndex=nextPosIndex<validNavigationPositions.length?validNavigationPositions[nextPosIndex]:effectiveInfiniteLoop?validNavigationPositions[0]:currentIndex;if(targetIndex!==currentIndex){navigateTo(targetIndex,\"next\");}}};window.addEventListener(\"keydown\",handleKeyDown);return()=>window.removeEventListener(\"keydown\",handleKeyDown);},[isStatic,motionType,currentIndex,navigateTo,effectiveInfiniteLoop,validNavigationPositions,isAnimating,positionIndexMap]);const componentIdRef=useRef(`star-${Math.random().toString(36).substr(2,9)}`);const renderStars=useCallback(rating=>{const stars=[];const fullStars=Math.floor(rating);const hasPartial=rating%1!==0;const partialFill=rating%1;for(let i=0;i<5;i++){if(i<fullStars){stars.push(/*#__PURE__*/_jsx(\"svg\",{width:starSize,height:starSize,viewBox:\"0 0 24 24\",fill:theme.starColor,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"})},i));}else if(i===fullStars&&hasPartial){stars.push(/*#__PURE__*/_jsxs(\"svg\",{width:starSize,height:starSize,viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${componentIdRef.current}-partial-${i}`,children:[/*#__PURE__*/_jsx(\"stop\",{offset:`${partialFill*100}%`,stopColor:theme.starColor}),/*#__PURE__*/_jsx(\"stop\",{offset:`${partialFill*100}%`,stopColor:theme.inactiveStarColor})]})}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\",fill:`url(#${componentIdRef.current}-partial-${i})`})]},i));}else{stars.push(/*#__PURE__*/_jsx(\"svg\",{width:starSize,height:starSize,viewBox:\"0 0 24 24\",fill:theme.inactiveStarColor,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"})},i));}}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:4},role:\"img\",\"aria-label\":`${rating} out of 5 stars`,children:stars});},[starSize,theme.starColor,theme.inactiveStarColor]);const renderCard=useCallback((slide,index)=>{const hasClientImage=slide.clientImage?.src;const hasName=slide.name;const hasTitle=slide.title;const hasReview=slide.reviewText;const hasRating=slide.rating>0;const isHovered=hoveredIndex===index;const shouldApplyFocus=hoverFocusEffect&&hoveredIndex!==null&&cardsPerView>1;return /*#__PURE__*/_jsxs(\"div\",{ref:el=>{if(el)cardRefs.current[index]=el;},style:{minWidth:cardWidth,maxWidth:cardWidth,height:maxCardHeight>0?maxCardHeight:\"auto\",background:theme.cardBackground,borderRadius:cardRadius,padding:cardPadding,border:cardBorder>0?`${cardBorder}px solid ${theme.cardBorderColor}`:\"none\",boxShadow:shadow?`0 2px 6px 0px ${theme.shadowColor}`:\"none\",display:\"flex\",flexDirection:\"column\",gap:reviewGap,opacity:shouldApplyFocus?isHovered?1:.5:1,transform:shouldApplyFocus&&isHovered?\"scale(1.02)\":\"scale(1)\",transition:\"opacity 0.2s, transform 0.2s\"},onMouseEnter:()=>{// PHASE 1 OPTIMIZATION: Throttle hover updates to max 60fps (16ms)\nif(Date.now()-lastHoverUpdateRef.current>16){startTransition(()=>setHoveredIndex(index));lastHoverUpdateRef.current=Date.now();}},onMouseLeave:()=>startTransition(()=>setHoveredIndex(null)),role:\"article\",\"aria-label\":`Testimonial from ${slide.name||\"customer\"}`,children:[layout===\"inline\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:topGap},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"svg\",{width:quoteIconSize,height:quoteIconSize,viewBox:\"0 0 24 24\",fill:theme.quoteIconColor,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z\"})}),hasRating&&renderStars(slide.rating)]}),hasReview&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:theme.reviewTextColor,textAlign:alignment,...font.reviewFont},children:slide.reviewText})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:hasClientImage?imageGap:0,justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:[hasClientImage&&/*#__PURE__*/_jsx(\"img\",{src:slide.clientImage.src,alt:slide.clientImage.alt||\"Client testimonial photo\",loading:index<effectiveCardsPerView?\"eager\":\"lazy\",style:{width:clientImageWidth,height:clientImageHeight,borderRadius:clientImageRadius,objectFit:\"cover\",border:clientImageBorder>0?`${clientImageBorder}px solid ${theme.clientImageBorderColor}`:\"none\",flexShrink:0}}),(hasName||hasTitle)&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,minWidth:0},children:[hasName&&/*#__PURE__*/_jsx(\"div\",{style:{color:theme.nameColor,...font.nameFont},children:slide.name}),hasTitle&&/*#__PURE__*/_jsx(\"div\",{style:{color:theme.titleColor,...font.titleFont},children:slide.title})]})]})]}),layout===\"stacked\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[hasRating&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:renderStars(slide.rating)}),hasReview&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:theme.reviewTextColor,textAlign:alignment,...font.reviewFont},children:slide.reviewText}),hasClientImage&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:/*#__PURE__*/_jsx(\"img\",{src:slide.clientImage.src,alt:slide.clientImage.alt||\"Client testimonial photo\",loading:index<effectiveCardsPerView?\"eager\":\"lazy\",style:{width:clientImageWidth,height:clientImageHeight,borderRadius:clientImageRadius,objectFit:\"cover\",border:clientImageBorder>0?`${clientImageBorder}px solid ${theme.clientImageBorderColor}`:\"none\"}})}),(hasName||hasTitle)&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:[hasName&&/*#__PURE__*/_jsx(\"div\",{style:{color:theme.nameColor,textAlign:alignment,...font.nameFont},children:slide.name}),hasTitle&&/*#__PURE__*/_jsx(\"div\",{style:{color:theme.titleColor,textAlign:alignment,...font.titleFont},children:slide.title})]})]}),layout===\"above\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[hasClientImage&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:/*#__PURE__*/_jsx(\"img\",{src:slide.clientImage.src,alt:slide.clientImage.alt||\"Client testimonial photo\",loading:index<effectiveCardsPerView?\"eager\":\"lazy\",style:{width:clientImageWidth,height:clientImageHeight,borderRadius:clientImageRadius,objectFit:\"cover\",border:clientImageBorder>0?`${clientImageBorder}px solid ${theme.clientImageBorderColor}`:\"none\"}})}),hasRating&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:renderStars(slide.rating)}),hasReview&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:theme.reviewTextColor,textAlign:alignment,...font.reviewFont},children:slide.reviewText}),(hasName||hasTitle)&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:[hasName&&/*#__PURE__*/_jsx(\"div\",{style:{color:theme.nameColor,textAlign:alignment,...font.nameFont},children:slide.name}),hasTitle&&/*#__PURE__*/_jsx(\"div\",{style:{color:theme.titleColor,textAlign:alignment,...font.titleFont},children:slide.title})]})]})]},`${index}-${slide.name}`);},[cardWidth,maxCardHeight,theme.cardBackground,cardRadius,cardPadding,cardBorder,theme.cardBorderColor,shadow,layout,reviewGap,hoveredIndex,hoverFocusEffect,cardsPerView,alignment,theme.quoteIconColor,theme.reviewTextColor,font.reviewFont,imageGap,clientImageWidth,clientImageHeight,clientImageRadius,clientImageBorder,theme.clientImageBorderColor,theme.nameColor,font.nameFont,theme.titleColor,font.titleFont,effectiveCardsPerView,renderStars]);// Combine totalDots and activeDotIndex calculations into single useMemo\nconst paginationData=useMemo(()=>{if(motionType!==\"slider\"||totalSlides===0){return{totalDots:0,activeDotIndex:0};}const totalDots=validNavigationPositions.length;// Find the closest valid navigation position to the current index\n// Uses distance-based algorithm to determine which dot should be active\nlet closestIndex=0;let minDistance=Math.abs(validNavigationPositions[0]-currentIndex);for(let i=1;i<validNavigationPositions.length;i++){const distance=Math.abs(validNavigationPositions[i]-currentIndex);if(distance<minDistance){minDistance=distance;closestIndex=i;}}return{totalDots,activeDotIndex:closestIndex};},[motionType,validNavigationPositions,totalSlides,currentIndex]);if(slides.length===0){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#999\",fontSize:14},children:\"No slides to display\"});}return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",display:\"flex\",flexDirection:\"column\"},onMouseEnter:()=>{isHoveringRef.current=true;if(pauseOnHover)startTransition(()=>setIsPaused(true));},onMouseLeave:()=>{isHoveringRef.current=false;if(pauseOnHover)startTransition(()=>setIsPaused(false));},children:[/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,position:\"relative\"},children:[motionType===\"slider\"&&arrows&&!isStatic&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>{if(isAnimating)return;// PHASE 1 OPTIMIZATION: Use Map lookup instead of indexOf\nconst currentPosIndex=positionIndexMap.get(currentIndex)??0;const prevPosIndex=currentPosIndex-1;const targetIndex=prevPosIndex>=0?validNavigationPositions[prevPosIndex]:effectiveInfiniteLoop?validNavigationPositions[validNavigationPositions.length-1]:currentIndex;if(targetIndex!==currentIndex){navigateTo(targetIndex,\"prev\");}},disabled:isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===0,style:{position:\"absolute\",left:21,top:\"50%\",transform:\"translateY(-50%)\",background:\"rgba(255, 255, 255, 0.8)\",border:\"none\",borderRadius:\"50%\",cursor:isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===0?\"not-allowed\":\"pointer\",width:arrowSize+16,height:arrowSize+16,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:10,opacity:isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===0?.3:.8,transition:\"opacity 0.2s\",boxShadow:\"0 2px 8px rgba(0,0,0,0.1)\"},onMouseEnter:e=>{if(!(isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===0)){e.currentTarget.style.opacity=\"1\";}},onMouseLeave:e=>{if(!(isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===0)){e.currentTarget.style.opacity=\"0.8\";}},\"aria-label\":\"Previous slide\",children:/*#__PURE__*/_jsx(\"svg\",{width:arrowSize,height:arrowSize,viewBox:\"0 0 24 24\",fill:theme.arrowColor,children:/*#__PURE__*/_jsx(\"path\",{d:\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"})})}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>{if(isAnimating)return;// PHASE 1 OPTIMIZATION: Use Map lookup instead of indexOf\nconst currentPosIndex=positionIndexMap.get(currentIndex)??0;const nextPosIndex=currentPosIndex+1;const targetIndex=nextPosIndex<validNavigationPositions.length?validNavigationPositions[nextPosIndex]:effectiveInfiniteLoop?validNavigationPositions[0]:currentIndex;if(targetIndex!==currentIndex){navigateTo(targetIndex,\"next\");}},disabled:isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===validNavigationPositions.length-1,style:{position:\"absolute\",right:21,top:\"50%\",transform:\"translateY(-50%)\",background:\"rgba(255, 255, 255, 0.8)\",border:\"none\",borderRadius:\"50%\",cursor:isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===validNavigationPositions.length-1?\"not-allowed\":\"pointer\",width:arrowSize+16,height:arrowSize+16,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:10,opacity:isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===validNavigationPositions.length-1?.3:.8,transition:\"opacity 0.2s\",boxShadow:\"0 2px 8px rgba(0,0,0,0.1)\"},onMouseEnter:e=>{if(!(isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===validNavigationPositions.length-1)){e.currentTarget.style.opacity=\"1\";}},onMouseLeave:e=>{if(!(isAnimating||totalSlides<=1||!effectiveInfiniteLoop&&(positionIndexMap.get(currentIndex)??0)===validNavigationPositions.length-1)){e.currentTarget.style.opacity=\"0.8\";}},\"aria-label\":\"Next slide\",children:/*#__PURE__*/_jsx(\"svg\",{width:arrowSize,height:arrowSize,viewBox:\"0 0 24 24\",fill:theme.arrowColor,children:/*#__PURE__*/_jsx(\"path\",{d:\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"})})})]}),/*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",padding:\"12px\",...fadeWidthLeft>0||fadeWidthRight>0?{maskImage:`linear-gradient(\n                                to right,\n                                transparent 0%,\n                                black ${fadeWidthLeft}px,\n                                black calc(100% - ${fadeWidthRight}px),\n                                transparent 100%\n                            )`,WebkitMaskImage:`linear-gradient(\n                                to right,\n                                transparent 0%,\n                                black ${fadeWidthLeft}px,\n                                black calc(100% - ${fadeWidthRight}px),\n                                transparent 100%\n                            )`}:{}},children:/*#__PURE__*/_jsx(framerMotion.div,{style:{display:\"flex\",gap:cardGap,x:motionType===\"smooth\"?smoothX:x,width:motionType===\"smooth\"?(cardWidth+cardGap)*smoothSlides.length-cardGap:\"auto\",flexShrink:0,height:\"100%\",...!isStatic&&{touchAction:\"pan-y\",cursor:isDragging?\"grabbing\":\"grab\"}},// FRAMER REVIEW FIX: Disable drag in static renderer (editor)\ndrag:!isStatic?\"x\":false,dragConstraints:dragConstraints,dragElastic:.1,dragMomentum:false,onDragStart:handleDragStart,onDragEnd:handleDragEnd,\"aria-label\":\"Drag to navigate testimonials\",children:(motionType===\"smooth\"?smoothSlides:sliderSlides).map((slide,index)=>renderCard(slide,index))})})]}),motionType===\"slider\"&&!isStatic&&/*#__PURE__*/_jsxs(\"div\",{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",style:{position:\"absolute\",left:\"-10000px\",width:\"1px\",height:\"1px\",overflow:\"hidden\"},children:[\"Slide \",currentIndex+1,\" of \",totalSlides]}),motionType===\"smooth\"&&!isStatic&&/*#__PURE__*/_jsxs(\"div\",{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",style:{position:\"absolute\",left:\"-10000px\",width:\"1px\",height:\"1px\",overflow:\"hidden\"},children:[\"Continuous carousel with \",totalSlides,\" testimonials. \",isPaused?\"Paused\":\"Playing\"]}),motionType===\"slider\"&&pagination!==\"none\"&&!isStatic&&/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",paddingTop:15,position:\"relative\"},children:[pagination===\"dots\"&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:dotGap},role:\"tablist\",\"aria-label\":\"Slide navigation\",children:Array.from({length:paginationData.totalDots}).map((_,dotIndex)=>{const isActive=dotIndex===paginationData.activeDotIndex;const slideIndex=validNavigationPositions[dotIndex];return /*#__PURE__*/_jsx(\"button\",{onClick:()=>handleDotClick(slideIndex),disabled:isAnimating,style:{width:dotSize,height:dotSize,borderRadius:\"50%\",background:isActive?theme.activeDotColor:theme.dotColor,border:\"none\",cursor:isAnimating?\"not-allowed\":\"pointer\",padding:0,opacity:isAnimating?.5:1,transition:\"background 0.2s, opacity 0.2s\"},role:\"tab\",\"aria-selected\":isActive,\"aria-label\":`Go to slide ${slideIndex+1}`},dotIndex);})}),pagination===\"fraction\"&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:fractionSize,color:theme.fractionColor},\"aria-live\":\"polite\",\"aria-atomic\":\"true\",children:`${Math.min(paginationData.activeDotIndex+1,validNavigationPositions.length)} / ${validNavigationPositions.length}`})]})]});}addPropertyControls(ReviewMotionPro,{// SLIDES\nslides:{type:ControlType.Array,title:\"Slides\",description:\"Add, edit, duplicate, or remove testimonial review cards.\",control:{type:ControlType.Object,controls:{reviewText:{type:ControlType.String,title:\"Review Text\",displayTextArea:true,defaultValue:\"This component has completely transformed how we showcase testimonials. The smooth animations and professional design make our reviews stand out.\"},name:{type:ControlType.String,title:\"Name\",defaultValue:\"Sarah Chen\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Product Designer\"},clientImage:{type:ControlType.ResponsiveImage,title:\"Image\"},rating:{type:ControlType.Number,title:\"Rating\",defaultValue:5,min:0,max:5,step:.1}}},defaultValue:[{reviewText:\"This component feels polished and smooth to use. The layout controls and motion settings make customization simple and flexible.\",name:\"Daniel Brooks\",title:\"Product Designer\",clientImage:{src:\"https://framerusercontent.com/images/GnZJgtcwBVEBuqeWxLn25LNhWc.jpg\",alt:\"Client photo\"},rating:5},{reviewText:\"The structure is clean and intuitive overall. Every animation and layout option works smoothly across different screen sizes.\",name:\"Sophia Carter\",title:\"UI Designer\",clientImage:{src:\"https://framerusercontent.com/images/BkidAor66pcCuOeOKziZkp3Pw4.jpg\",alt:\"Client photo\"},rating:5},{reviewText:\"Setup was quick and very easy to understand. The controls provide flexibility without making the experience feel complex.\",name:\"Michael Reed\",title:\"Frontend Developer\",clientImage:{src:\"https://framerusercontent.com/images/9cTIsZWDsWa0dcvkTTugws19LYw.jpg\",alt:\"Client photo\"},rating:5},{reviewText:\"Scrolling feels modern and highly responsive overall. The component adds a premium touch while staying simple to manage.\",name:\"Emily Watson\",title:\"Creative Director\",clientImage:{src:\"https://framerusercontent.com/images/jPg8Zq9jSK924C5IrIQHjtnSU8s.jpg\",alt:\"Client photo\"},rating:5},{reviewText:\"Everything is organized clearly and works perfectly. The component adapts nicely to different layouts and device sizes.\",name:\"James Turner\",title:\"Web Designer\",clientImage:{src:\"https://framerusercontent.com/images/RJ58Jzvx0uGVgkgJoxMmCJcnuyU.jpg\",alt:\"Client photo\"},rating:5},{reviewText:\"The balance between control and simplicity feels great. It delivers strong results without requiring complicated setup steps.\",name:\"Olivia Bennett\",title:\"UX Specialist\",clientImage:{src:\"https://framerusercontent.com/images/ZoOvGnVfjXQMGTfXysMgJenPVQ.jpg\",alt:\"Client photo\"},rating:5}]},// LAYOUT & APPEARANCE\nlayout:{type:ControlType.Enum,title:\"Layout\",description:\"Choose how review content and images are arranged inside the card.\",options:[\"inline\",\"stacked\",\"above\"],optionTitles:[\"Image Inline\",\"Image Stacked\",\"Image Above\"],defaultValue:\"inline\"},alignment:{type:ControlType.Enum,title:\"Alignment\",description:\"Control horizontal alignment of card content.\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true},// MOTION SETTINGS\nmotionType:{type:ControlType.Enum,title:\"Motion Type\",description:\"Select between slider navigation or continuous smooth scrolling.\",options:[\"slider\",\"smooth\"],optionTitles:[\"Slider\",\"Smooth\"],defaultValue:\"slider\",displaySegmentedControl:true},// MOTION GROUP\nmotion:{type:ControlType.Object,title:\"Motion\",description:\"Configure animation behavior, navigation controls, and transition settings.\",controls:{// SLIDER NAVIGATION\nslidesToScroll:{type:ControlType.Enum,title:\"Slides To Scroll\",description:\"Number of cards moved per navigation action.\",options:[1,2],optionTitles:[\"1\",\"2\"],defaultValue:1,displaySegmentedControl:true,hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"},autoplaySpeed:{type:ControlType.Number,title:\"Autoplay Speed\",defaultValue:4,min:1,max:20,step:.5,unit:\"s\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.autoplay===false},transitionDuration:{type:ControlType.Number,title:\"Transition Duration\",defaultValue:.6,min:.1,max:2,step:.1,unit:\"s\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"},infiniteLoop:{type:ControlType.Boolean,title:\"Infinite Loop\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"},// PAGINATION\npagination:{type:ControlType.Enum,title:\"Pagination\",description:\"Pagination indicators showing the current slide position. Visible in Live Preview and on published sites only.\",options:[\"none\",\"dots\",\"fraction\"],optionTitles:[\"None\",\"Dots\",\"Fraction\"],defaultValue:\"dots\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:8,min:4,max:20,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.pagination!==\"dots\"},dotGap:{type:ControlType.Number,title:\"Dot Gap\",defaultValue:8,min:2,max:20,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.pagination!==\"dots\"},fractionSize:{type:ControlType.Number,title:\"Fraction Size\",defaultValue:17,min:10,max:24,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.pagination!==\"fraction\"},arrows:{type:ControlType.Boolean,title:\"Arrows\",description:\"Navigation arrows for manual slide control. Visible in Live Preview and on published sites only.\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:25,min:12,max:40,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.motionType!==\"slider\"||!rootProps.motion.arrows},// SMOOTH MODE\ndirection:{type:ControlType.Enum,title:\"Direction\",options:[\"rtl\",\"ltr\"],optionTitles:[\"Right → Left\",\"Left → Right\"],defaultValue:\"rtl\",hidden:(props,rootProps)=>rootProps.motionType===\"slider\"},smoothSpeed:{type:ControlType.Number,title:\"Smooth Speed\",defaultValue:30,min:5,max:120,step:1,unit:\"s\",hidden:(props,rootProps)=>rootProps.motionType!==\"smooth\"}}},cardsPerView:{type:ControlType.Enum,title:\"Cards Per View\",description:\"Number of cards to display simultaneously. Applies to all screen sizes.\",options:[1,2,3,4,5],optionTitles:[\"1\",\"2\",\"3\",\"4\",\"5\"],defaultValue:1},pauseOnHover:{type:ControlType.Boolean,title:\"Pause on Hover\",description:\"Temporarily pauses the slider or smooth motion while hovering.\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},hoverFocusEffect:{type:ControlType.Boolean,title:\"Hover Focus Effect\",description:\"Highlights the hovered card while reducing focus on others.\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:props=>props.cardsPerView===1},// EDGE FADE\nfadeWidthLeft:{type:ControlType.Number,title:\"Fade Width Left\",description:\"Width of the fade effect on the left edge. Set to 0 to disable.\",defaultValue:60,min:0,max:200,step:5,unit:\"px\"},fadeWidthRight:{type:ControlType.Number,title:\"Fade Width Right\",description:\"Width of the fade effect on the right edge. Set to 0 to disable.\",defaultValue:60,min:0,max:200,step:5,unit:\"px\"},// STYLE GROUP\nstyle:{type:ControlType.Object,title:\"Style\",description:\"Customize card appearance, spacing, borders, shadows, and sizing.\",controls:{// CARD STYLING\ncardBorder:{type:ControlType.Number,title:\"Card Border\",defaultValue:1,min:0,max:10,step:1,unit:\"px\"},cardRadius:{type:ControlType.Number,title:\"Card Radius\",defaultValue:12,min:0,max:40,step:1,unit:\"px\"},shadow:{type:ControlType.Boolean,title:\"Card Shadow\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},cardGap:{type:ControlType.Number,title:\"Card Gap\",defaultValue:20,min:0,max:60,step:1,unit:\"px\"},cardPadding:{type:ControlType.Padding,title:\"Card Padding\",defaultValue:\"30px\"},// IMAGE STYLING\nclientImageWidth:{type:ControlType.Number,title:\"Image Width\",defaultValue:50,min:20,max:120,step:1,unit:\"px\"},clientImageHeight:{type:ControlType.Number,title:\"Image Height\",defaultValue:50,min:20,max:120,step:1,unit:\"px\"},clientImageBorder:{type:ControlType.Number,title:\"Image Border\",defaultValue:0,min:0,max:10,step:1,unit:\"px\"},clientImageRadius:{type:ControlType.Number,title:\"Image Radius\",defaultValue:6,min:0,max:60,step:1,unit:\"px\"},// ICON SIZING\nstarSize:{type:ControlType.Number,title:\"Star Size\",defaultValue:19,min:8,max:32,step:1,unit:\"px\"},quoteIconSize:{type:ControlType.Number,title:\"Quote Icon Size\",defaultValue:34,min:12,max:48,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.layout!==\"inline\"},// SPACING\ntopGap:{type:ControlType.Number,title:\"Top Gap\",defaultValue:15,min:0,max:40,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.layout!==\"inline\"},reviewGap:{type:ControlType.Number,title:\"Review Gap\",description:\"Controls spacing between review text and client info (Inline) or between all elements (Stacked/Above)\",defaultValue:25,min:0,max:40,step:1,unit:\"px\"},imageGap:{type:ControlType.Number,title:\"Image Gap\",defaultValue:15,min:0,max:40,step:1,unit:\"px\",hidden:(props,rootProps)=>rootProps.layout!==\"inline\"}}},// COLORS\ntheme:{type:ControlType.Object,title:\"Theme\",description:\"Manage colors used across cards, navigation, icons, and text.\",controls:{cardBackground:{type:ControlType.Color,title:\"Card Background\",defaultValue:\"#FFFFFF\"},reviewTextColor:{type:ControlType.Color,title:\"Review Text Color\",defaultValue:\"#5E5E5E\"},nameColor:{type:ControlType.Color,title:\"Name Color\",defaultValue:\"#000000\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#A39CAD\"},starColor:{type:ControlType.Color,title:\"Star Color\",defaultValue:\"#FFB800\"},inactiveStarColor:{type:ControlType.Color,title:\"Inactive Star Color\",defaultValue:\"rgba(255, 184, 0, 0.35)\"},dotColor:{type:ControlType.Color,title:\"Dot Color\",defaultValue:\"rgba(137, 91, 245, 0.3)\",hidden:(_,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.pagination!==\"dots\"},activeDotColor:{type:ControlType.Color,title:\"Active Dot Color\",defaultValue:\"#8B5CF6\",hidden:(_,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.pagination!==\"dots\"},fractionColor:{type:ControlType.Color,title:\"Fraction Color\",defaultValue:\"#8B5CF6\",hidden:(_,rootProps)=>rootProps.motionType!==\"slider\"||rootProps.motion.pagination!==\"fraction\"},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#6F1CFF\",hidden:(_,rootProps)=>rootProps.motionType!==\"slider\"||!rootProps.motion.arrows},quoteIconColor:{type:ControlType.Color,title:\"Quote Icon Color\",defaultValue:\"#A878F5\",hidden:(_,rootProps)=>rootProps.layout!==\"inline\"},clientImageBorderColor:{type:ControlType.Color,title:\"Image Border Color\",defaultValue:\"#E3E3E3\",hidden:(_,rootProps)=>rootProps.style.clientImageBorder===0},cardBorderColor:{type:ControlType.Color,title:\"Card Border Color\",defaultValue:\"#E3E3E3\",hidden:(_,rootProps)=>rootProps.style.cardBorder===0},shadowColor:{type:ControlType.Color,title:\"Shadow Color\",defaultValue:\"rgba(0,0,0,0.08)\",hidden:(_,rootProps)=>!rootProps.style.shadow}}},// TYPOGRAPHY\nfont:{type:ControlType.Object,title:\"Font\",description:\"Customize typography styles for review text, names, and titles.\",controls:{reviewFont:{type:ControlType.Font,title:\"Review Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"17px\",variant:\"Regular\",lineHeight:\"1.6em\"}},nameFont:{type:ControlType.Font,title:\"Name Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"17px\",variant:\"Medium\",lineHeight:\"1.2em\"}},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",lineHeight:\"1.2em\"}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ReviewMotionPro\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"400\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReviewMotionPro.map"],"mappings":"qdAC0C,IAAqF,IAA4B,EAAqC,EAAK,0BAAgC,EAAkB,EAAW,SAAS,EAAM,EAAI,CAAC,OAAoB,EAAK,MAAM,CAAC,GAAG,EAAU,MAAI,SAAS,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQ,GAAU,EAAO,OAAO,CAAI,EAAQ,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,GAAU,CAAC,GAAG,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,EAAK,MAAM,CAAC,GAAG,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQ,GAAI,4iEAAkjEA,IAAU,CAAC,QAAM,QAAM,SAAO,KAAG,QAAM,SAAO,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAO,EAAM,WAAW,eAAe,UAAU,GAAQ,EAAM,WAAW,IAAI,UAAU,GAAO,EAAM,SAAS,GAUj4F,EAAK,GAV65FC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,YAAU,GAAG,GAAWD,GAAS,CAAK,EAAQ,EAAK,GAAe,aAAa,EAAG,EAAE,OAAoB,EAAK,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAe,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAY,EAAU,WAAW,EAAU,WAAW,EAAU,GAAG,CAAK,EAAE,QAAQ,YAAY,SAAsB,EAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAUt1G,EAAE,CAVk2G,iCAAiC,EAAK,2CAA2C,EAAK,iBAUt7G,EAAE,cAAc,EAAE,EAAK,YAAY,aAAiC,GAAoB,EAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAK,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAY,MAAM,CAAC,CAAC,wBCV3a,EAAC,GAAU,UAAU,CAAC,oBAAoB,aAAa,mBAAmB,cAAc,CAAC,EAAe,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,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,cAAc,IAAI,uEAAuE,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,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,wEAAwE,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,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,yEAAyE,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,uLAAuL,IAAI,uEAAuE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,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,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uLAAuL,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAe,EAAI,CAAC,orCAA8rC,EAAe,EAAU,kBCAztL,SAAS,EAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,0CAAxuB,IAA4J,KAAkE,IAA4B,KAAmJ,EAAO,GAAW,CAAC,YAAY,WAAW,EAAQ,GAAkB,eAAqB,GAAkB,CAAC,UAAU,kBAAkB,UAAU,iBAAiB,EAA+L,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQ,GAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOE,EAAiB,EAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,GAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQ,EAAS,EAAO,OAAOC,CAAc,EAAQ,EAAwB,CAAC,YAAY,YAAY,MAAM,WAAW,EAAQ,GAAU,CAAC,SAAO,KAAG,QAAM,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,QAAQ,EAAwB,EAAM,UAAU,EAAM,SAAS,YAAY,UAAU,GAAO,EAAM,WAAW,UAAU,GAAU,GAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAWllD,EAAgB,GAXmmDC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,EAAY,EAAO,CAAC,eAAa,aAAW,GAAc,EAA0B,GAAqB,EAAE,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAW,EAAS,CAAK,EAAO,CAAC,cAAY,cAAW,uBAAoB,mBAAgB,kBAAe,aAAU,kBAAgB,cAAW,aAAU,EAAgB,CAAC,cAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,oBAAiB,CAAC,EAAQ,EAAiB,EAAuB,EAAM,EAAQ,EAA4D,EAAkB,EAAG,GAAlDC,CAA4F,EAAE,OAAoB,EAAK,GAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAK,EAAS,CAAC,QAAQ,GAAS,QAAQ,GAAM,SAAsB,EAAK,EAAW,CAAC,MAAM,GAAY,SAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAU,GAAG,GAAgB,UAAU,EAAG,EAAkB,gBAAgBC,EAAU,EAAU,EAAE,cAAc,GAAK,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,yEAAyE,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,uBAAuB,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,qBAAqB,IAAI,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,6EAA6E,CAAC,EAAE,GAAG,EAAqB,CAAC,UAAU,CAAC,mBAAmB,aAAa,CAAC,EAAE,EAAY,EAAc,EAAE,SAAsB,EAAKC,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKN,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,2FAA2F,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,mEAAmE,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,KAAK,EAAU,SAAS,CAAC,UAAU,CAAC,qBAAqB,uEAAuE,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,EAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,gGAAgG,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,EAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAWl9I,EAAE,CAX89I,kFAAkF,kFAAkF,oQAAoQ,iHAAiH,GAAGO,EAAgB,+bAWxgK,EAAE,cAAc,EAAiC,EAAgB,YAAY,QAAQ,EAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE,GAAoB,EAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,QAAQ,aAAa,EAAE,MAAM,UAAU,KAAK,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,WAAW,gBAAgB,GAAM,MAAM,QAAQ,KAAK,EAAY,MAAM,CAAC,CAAC,EAAE,GAAS,EAAgB,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,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,EAAwBC,CAAiB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KC+CpnE,SAAwB,GAAgB,EAAM,CAAC,GAAK,CAAC,SAAO,CAAC,CAAC,WAAW,mIAAmI,KAAK,gBAAgB,MAAM,mBAAmB,YAAY,CAAC,IAAI,sEAAsE,IAAI,eAAe,EAAE,OAAO,CAAC,CAAC,EAAE,SAAO,SAAS,YAAU,aAAW,SAAS,eAAa,EAAE,eAAa,GAAK,mBAAiB,GAAK,iBAAc,GAAG,kBAAe,GAAG,OAAA,GAAO,CAAC,eAAe,EAAE,SAAS,GAAK,cAAc,EAAE,mBAAmB,GAAG,aAAa,GAAK,WAAW,OAAO,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,GAAK,UAAU,GAAG,UAAU,MAAM,YAAY,EAAE,EAAE,SAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,GAAK,QAAQ,GAAG,YAAY,OAAO,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,EAAE,EAAE,QAAM,CAAC,eAAe,UAAU,gBAAgB,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,kBAAkB,UAAU,SAAS,UAAU,eAAe,UAAU,cAAc,UAAU,WAAW,UAAU,eAAe,UAAU,uBAAuB,UAAU,gBAAgB,UAAU,YAAY,kBAAkB,EAAE,OAAK,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,EACjzC,CAAC,kBAAe,YAAS,iBAAc,qBAAmB,eAAa,aAAW,WAAQ,UAAO,gBAAa,UAAO,YAAU,YAAU,gBAAaC,GACtJ,CAAC,cAAW,cAAW,UAAO,UAAQ,eAAY,mBAAiB,oBAAkB,oBAAkB,qBAAkB,WAAS,iBAAc,UAAO,aAAU,aAAU,GAAY,EAAS,GAAoB,EAAQ,EAAaC,EAAO,IAAI,EACpP,CAAC,EAAa,GAAiBC,EAAS,CAAC,EAAO,CAAC,EAAY,GAAgBA,EAAS,EAAK,EAC3F,CAAC,GAAa,IAAiBA,EAAS,IAAI,EAAO,CAAC,EAAS,IAAaA,EAAS,EAAK,EAAO,CAAC,GAAW,IAAeA,EAAS,EAAK,EAAO,CAAC,GAAa,IAAiBA,EAAS,EAAI,EAE3L,CAAC,GAAe,IAAmBA,EAAS,IAAI,EAC/C,CAAC,GAAc,IAAkBA,EAAS,CAAC,EAAQ,GAASD,EAAO,CAAC,CAAC,EACrE,EAAE,GAAe,CAAC,EAElB,EAAQ,GAAe,CAAC,EACxB,EAAaA,EAAO,IAAI,EAAQ,EAAiBA,EAAO,IAAI,EAAQ,GAAcA,EAAO,EAAK,EAAQ,GAAkBA,EAAO,CAAU,EAAQ,GAAiBA,EAAO,CAAS,EAClL,EAAeA,EAAO,CAAC,EAAQ,GAAkBA,EAAO,EAAK,EAC7D,EAAwBA,EAAO,IAAI,EAAQ,GAAkBA,EAAO,CAAC,EAAQ,EAAkBA,EAAO,CAAC,EAAQ,EAAkBA,EAAO,CAAC,EAAQ,GAAqBA,EAAO,EAAK,EACjL,GAAgB,GACjB,GAAoBA,EAAO,CAAY,EACvC,GAAqBA,EAAO,EAAK,EACjC,GAAiBA,EAAO,CAAC,EACzB,GAAmBA,EAAO,CAAC,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,MAAiB,CAAC,MAAoB,CAAC,GAAG,EAAa,QAAQ,CAAC,IAAM,EAAc,EAAa,QAAQ,aAAa,KAAK,GAAkB,CAAa,GACrP,IAAgB,MAAM,EAAa,QAAQ,YAAY,KAAG,GAAqB,QAAQ,GAAM,CAAC,CAAC,CAAE,EAAgE,OAA9D,EAAa,EAAE,EAAO,iBAAiB,SAAS,CAAY,MAAY,EAAO,oBAAoB,SAAS,CAAY,CAAE,EAAE,CAAC,CAAC,EAAE,IAAM,GAAqB,GAAqB,EAAY,EAAO,OACnS,EAAsB,KAAK,IAAI,EAAa,CAAW,EAAQ,EAAsB,GAAc,EAAY,GAAG,IAAa,SAC/H,GAAwBE,MAAoB,KAAK,IAAI,EAAE,EAAoB,EAAI,CAAC,EAAoB,CAAC,EAErG,EAAcA,MAAgB,EAA6B,EAAY,EAAS,KAAK,IAAI,EAAE,EAAY,CAAqB,EAAI,CAAC,EAAsB,EAAY,CAAqB,CAAC,EAGzL,EAAyBA,MAAY,CAAC,IAAM,EAAU,CAAC,EAAM,EAAW,EAAE,KAAM,GAAY,GAAe,EAAU,KAAK,CAAU,EAAE,GAAY,GACvC,OAA9G,EAAU,OAAO,GAAG,EAAU,EAAU,OAAO,GAAG,IAAe,EAAU,EAAU,OAAO,GAAG,GAAsB,CAAU,EAAE,CAAC,EAAc,GAAwB,CAAqB,CAAC,EAC3L,EAAiBA,MAAY,CAAC,IAAM,EAAI,IAAI,IAAkE,OAA9D,EAAyB,SAAS,EAAI,IAAM,EAAI,IAAI,EAAI,CAAG,CAAC,EAAS,CAAI,EAAE,CAAC,CAAwB,CAAC,EAAQ,EAAUA,MAAgB,KAAiB,EAAS,GACjM,GAAe,GAAiC,GAAS,EAAsB,IAAmC,EAAwB,CAAC,GAAe,EAAsB,CAAO,CAAC,EAAO,CAAC,GAAqB,IAAyBD,EAAS,EAAK,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAW,EAAO,WAAW,kCAAkC,EAAE,GAAwB,EAAW,OAAO,EAAE,IAAM,EAAQ,GAAG,CAAC,MAAoB,GAAwB,EAAE,OAAO,CAAC,CAAE,EAAgD,OAA9C,EAAW,iBAAiB,SAAS,CAAO,MAAY,EAAW,oBAAoB,SAAS,CAAO,CAAE,EAAE,CAAC,CAAC,EACrnB,IAAM,GAAaC,MAAgB,EAA6B,CAAC,GAAG,EAAO,GAAG,EAAO,GAAG,CAAM,EAAU,EAAS,CAAC,EAAO,CAAqB,CAAC,EACzI,GAAeC,EAAY,GAAgB,EAA8B,EAAY,EAClF,EAAa,CAAC,EAAsB,CAAW,CAAC,EACnD,GAAcA,MAAgB,CAAC,GAAG,CAAC,EAAsB,OAAO,IAAM,EAAc,EAAe,QACzG,GAAG,EAAc,EAAY,CAA6B,IAAM,EAAa,EAAYC,EAAQ,EAAe,QAAQ,EAAa,EAAE,IAAI,EAAE,GAAc,EAAU,GAAS,EAAE,MAAO,CACvL,GAAG,GAAe,EAAY,EAAE,CAAC,IAAM,EAAQ,EAAc,EAAY,EAAQ,EAAa,EAAY,EAAQ,EAAe,QAAQ,EAAa,EAAE,IAAI,EAAE,GAAc,EAAU,GAAS,CAAE,CAAC,EAAE,CAAC,EAAsB,EAAY,EAAU,EAAQ,CAAC,CAAC,EACrP,GAAeD,EAAY,GAAoB,CAAC,IAAM,EAAW,GAAuB,EAAmB,EAAY,GAAa,EAAY,KAAK,IAAI,EAAE,KAAK,IAAI,EAAmB,CAAa,CAAC,EAC3M,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,EAAW,EAAY,CAAC,CAAC,CAAE,EAAE,CAAC,EAAsB,EAAY,CAAa,CAAC,EACnG,GAAsBA,GAAa,EAAgB,IAAqB,IAAiB,MACxF,EAAsB,EAAY,EAAgB,EAAyB,IAAiB,OAC5F,EAAe,QAAQ,GACvB,EAAe,QAAQ,GAA2B,CAAC,EAAsB,EAAY,EAAuB,CAAC,EAC9G,EAAWA,GAAa,EAAmB,EAAe,QAAQ,CAAC,GAAG,EAAY,OAAO,IAAM,EAAgB,GAAe,CAAkB,EAAQ,EAAa,GAAsB,EAAgB,CAAc,EAAQ,EAAQ,EAAE,GAAc,EAAU,IACzQ,EAAe,QAAQ,EACvB,EAAe,EAAI,EAAE,EAAgB,CAAe,EAAE,EAAa,QAAQ,GAAQ,EAAE,EAAQ,CAAC,SAAS,GAAqB,GAAG,EAAmB,KAAK,YAAY,eAAe,CAAC,EAAa,QAAQ,KAAK,EAAe,EAAK,EAC9N,GAAuB,GAAc,CAAG,CAAC,CAAC,CAAE,EAAE,CAAC,EAAY,GAAe,GAAsB,EAAU,EAAQ,EAAE,EAAmB,GAAqB,GAAc,CAAqB,CAAC,EACnM,MAAc,CAAC,GAAG,IAAa,UAAU,EAAU,GAAG,CAAC,GAAkB,QAAQ,CAAC,IAA2B,EAAmB,GAAe,CAAY,EAAE,EAAe,QAAQ,EAAmB,IAAM,EAAS,EAAE,GAAoB,EAAU,IAAU,EAAE,IAAI,CAAQ,EAAE,EAAgB,CAAY,EAAE,GAAkB,QAAQ,EAAK,CAAC,EAAE,CAAC,EAAW,EAAU,EAAQ,GAAe,CAAC,CAAC,EAC/X,MAAc,CAAC,GAAG,GAAoB,UAAU,GAAc,IAAa,UAAU,EAAU,EAAE,CAC9F,EAAa,UAAS,EAAa,QAAQ,KAAK,EAAE,EAAa,QAAQ,KAAK,EAAe,EAAK,GACnG,GAAkB,QAAQ,GAC1B,IAA2B,EAAmB,GAAe,CAAY,EAAE,EAAe,QAAQ,EAAmB,IAAM,EAAS,EAAE,GAAoB,EAAU,IAAU,EAAE,IAAI,CAAQ,EAAE,EAAgB,CAAY,EAC1N,GAAkB,QAAQ,GAAK,GAAoB,QAAQ,CAAa,CAAC,UAAU,CACnF,AAAqD,EAAa,WAAzC,EAAa,QAAQ,KAAK,EAAuB,KAAM,CAAE,EAAE,CAAC,EAAa,EAAW,EAAU,EAAQ,GAAe,CAAC,CAAC,EAChJ,MAAc,CAAC,GAAG,IAAa,UAAU,EAAU,GAAG,GAAkB,QAAQ,CAC7E,EAAa,UAAS,EAAa,QAAQ,KAAK,EAAE,EAAa,QAAQ,KAAK,EAAe,EAAK,GACnG,IAAM,EAAe,GAAe,CAAY,EAAE,EAAe,QAAQ,EACzE,IAAM,EAAQ,EAAE,GAAgB,EAAU,IAAU,EAAE,IAAI,CAAO,CAAE,CAMnE,EAAE,CAAC,EAAU,EAAQ,EAAsB,EAAW,CAAC,CAAC,EACxD,MAAc,CAAC,GAAG,GAAiB,UAAU,EAAU,CAAC,GAAG,IAAa,SAAS,CAAwD,IAAM,EAAQ,GAA/C,EAAU,GAAS,EAAO,QAAqC,EAAE,EAAkB,QAAQ,EAAQ,EAAQ,IAAI,CAAO,EAC9N,GAAqB,QAAQ,EAAM,CAAC,GAAiB,QAAQ,CAAU,CAAC,UAAU,CAC/E,EAAwB,UAAU,OAAM,qBAAqB,EAAwB,OAAO,EAAE,EAAwB,QAAQ,KAAM,CAAE,EAAE,CAAC,EAAU,EAAW,EAAU,EAAQ,EAAO,OAAO,CAAO,CAAC,EACzM,OAAkB,GAAkB,UAAU,IAAY,AAAoE,EAAiB,WAAxD,aAAa,EAAiB,OAAO,EAA2B,MAAM,MAAoB,CAAC,GAAgB,IAAI,EAAE,GAAY,EAAK,CAAE,CAAC,EAAE,GAAkB,QAAQ,OAAsB,CAC9Q,AAAoE,EAAiB,WAAxD,aAAa,EAAiB,OAAO,EAA2B,MAAM,AAAqD,EAAa,WAAzC,EAAa,QAAQ,KAAK,EAAuB,KAAM,GAAI,CAAC,CAAU,CAAC,EACnM,MAAc,CAAC,GAAS,QAAQ,CAAC,CAAE,EAAE,CAAC,EAAO,MAAM,CAAC,EAAE,IAAM,GAAaD,MAAY,CAAC,GAAG,IAAa,SAAS,CAAC,IAAM,EAAO,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,GAAgB,IAAK,EAAO,KAAK,GAAG,CAAM,EAAG,OAAO,CAAO,CAAC,OAAO,CAAO,EAAE,CAAC,EAAO,CAAU,CAAC,EAAE,MAAc,CAAC,GAAG,EAAS,OAAO,IAAM,MAAuB,CAAC,IAAM,EAAQ,GAAS,QAAQ,OAAO,GAAK,IAAM,IAAI,CAAC,CAAC,IAAI,GAAK,EAAI,YAAY,EAAE,GAAG,EAAQ,OAAO,EAAE,CAAC,IAAM,EAAI,KAAK,IAAI,GAAG,CAAO,EAAE,MAAoB,GAAiB,CAAG,CAAC,CAAE,CAAC,EAAM,EAAa,EAAM,EAAY,EAAQ,EAAc,CAAC,EAC3d,GAAvC,QAAQ,MAAM,EAAE,CAAiC,CAAC,CAAC,QAAQ,GAAK,CAAI,GAA8C,EAAxB,iBAAiB,KAAY,CAAC,CAAC,QAAQ,GAAK,CAAC,IAAiB,EAAI,SAAU,IAAqB,EAAc,KAAK,CAAG,CAAG,CAAC,CAAG,CAAC,EAAE,IAAM,MAAoB,CAAC,IAAkB,IAAe,GAAa,EAAmB,CAAG,EAA8E,GAA5E,EAAc,QAAQ,GAAK,CAAC,EAAI,iBAAiB,OAAO,CAAe,CAAE,CAAC,EAAK,IAAc,GAAG,IAAe,EAAY,CAAC,IAAM,EAAM,WAAW,EAAmB,GAAG,EAAE,UAAU,aAAa,CAAK,CAAE,CAA2H,OAAhH,IAAS,QAAa,UAAU,UAAU,SAAS,MAAM,MAAM,SAAS,CAAC,WAAW,EAAmB,GAAG,CAAE,CAAC,MAAa,CAAC,EAAc,QAAQ,GAAK,CAAC,EAAI,oBAAoB,OAAO,CAAe,CAAE,CAAC,CAAE,CAAE,EAAE,CAAC,EAAO,EAAO,EAAU,EAAS,GAAe,CAAqB,CAAC,EACh0B,MAAc,CAGd,GAHkB,GAAU,IAAa,UAAU,IAAY,GAG5D,CAAC,GAAqB,QAAQ,OAAO,IAAM,GAAgB,EAAU,GAAS,EAAO,OAAO,GAAG,IAAiB,EAAE,OAGrH,GAFuB,KAAK,IAAI,EAAU,GAAiB,OAAO,EAAE,IAAwB,GAAiB,UAAU,IACvH,GAAqB,QAAQ,IAAO,GAAiB,QAAQ,EAC1D,CAAC,GAAqB,QAAQ,CAAC,IAAM,EAAQ,CAAC,EAAe,EAAE,EAAkB,QAAQ,EAAQ,EAAQ,IAAI,CAAO,EAAE,GAAqB,QAAQ,GACtJ,EAAkB,QAAQ,CAAE,CAAC,IAAM,EAAgB,EAAe,GAAY,GAAkB,QAAQ,IAAY,MAAM,CAAC,EAAgB,EAAgB,IAAM,EAAQ,GAAa,CAAI,EAAkB,UAAU,IAAG,EAAkB,QAAQ,GAAa,IAAM,GAAW,EAAY,EAAkB,SAAS,IACxT,GAD4T,EAAkB,QAAQ,EACnV,IAAc,CAAC,GAAU,CAAC,GAAW,CAAC,EAAkB,SAAS,GAAkB,QAAQ,EAAU,IAAM,EAAQ,CAAC,EAAe,EAAQ,EAAa,EAAQ,EAAqB,EAAc,EAAQ,EAAkB,IAAY,OAAO,EAAkB,SAAS,EAAc,EAAkB,SAAS,EAAwB,IAAY,OAAO,EAAkB,SAAS,IAAe,EAAkB,SAAS,GAAgB,EAAQ,IAAI,EAAkB,OAAO,CAAE,CAAC,EAAwB,QAAQ,sBAAsB,CAAO,CAAE,EAC7c,OAA9E,KAAc,EAAwB,QAAQ,sBAAsB,CAAO,OAAa,CAAI,EAAwB,UAAU,OAAM,qBAAqB,EAAwB,OAAO,EAAE,EAAwB,QAAQ,MAAM,EAAkB,QAAQ,CAAE,CAAE,EAAE,CAAC,EAAW,GAAY,EAAS,GAAW,EAAU,EAAQ,EAAO,OAAO,EAAU,EAAQ,EAAS,EAAY,CAAC,EACvX,MAAc,CAAC,GAAG,GAAU,IAAa,UAAU,CAAC,EAAa,QAAQ,OAAO,IAAM,EAAS,IAAI,sBAAsB,CAAC,KAAS,CAAC,MAAoB,GAAgB,EAAM,cAAc,CAAC,CAAE,EAAE,CAAC,UAAU,EAAE,CAC9M,EAAyC,OAAvC,EAAS,QAAQ,EAAa,OAAO,MAAY,CAAC,EAAS,WAAW,CAAE,CAAE,EAAE,CAAC,EAAS,CAAU,CAAC,EACnG,MAAc,CAAC,GAAG,GAAU,IAAa,UAAU,CAAC,IAAU,GAAU,GAAa,GAAa,EAAE,CAAC,AAAoE,EAAiB,WAAxD,aAAa,EAAiB,OAAO,EAA2B,MAAM,MAAO,CAAC,IAAM,EAAM,eAAe,CAE3O,IAAM,GADgB,EAAiB,IAAI,CAAY,GAAG,GACvB,EAC7B,EAAU,EAAa,EAAyB,OAAO,EAAyB,GAAc,EAAsB,EAAyB,GAAG,EACnJ,IAAY,GAAc,EAAW,EAAU,MAAM,CAAG,EAAE,GAAc,GAAG,EAAiC,MAA/B,GAAiB,QAAQ,MAAgB,CAAC,AAAoE,EAAiB,WAAxD,aAAa,EAAiB,OAAO,EAA2B,KAAM,CAAE,EAAE,CAAC,EAAa,GAAS,EAAS,EAAY,GAAc,EAAW,EAAsB,EAAyB,EAAW,EAAS,EAAY,CAAgB,CAAC,EACtY,IAAM,GAAgBC,MAAgB,CAAI,IAAsB,IAAa,UAAa,EAAa,UAAS,EAAa,QAAQ,KAAK,EAAE,EAAa,QAAQ,KAAK,EAAe,EAAK,GAAG,GAAY,EAAI,GAAQ,EAAkB,QAAQ,EAAG,GAAc,EAAI,EAAE,EAAE,CAAC,EAAY,CAAU,CAAC,EAAQ,GAAcA,GAAa,EAAM,IAAO,CAAC,GAAG,IAAa,SAAS,CAAC,IAAM,EAAa,EAAK,OAAO,EACpY,GAAe,EAAU,GAAS,GAAyB,EAAY,EAAiB,EAAc,OAAO,GAAG,KAAK,IAAI,CAAY,EAAE,EAAc,CAC3J,IAAM,EAAgB,EAAiB,IAAI,CAAY,GAAG,EAAE,GAAG,EAAa,EAAE,CAC9E,IAAM,EAAa,EAAgB,EAAE,EAAY,GAAc,EAAE,EAAyB,GAAc,EAAsB,EAAyB,EAAyB,OAAO,GAAG,EAAa,EAAc,MAAO,KAAK,CACjO,IAAM,EAAa,EAAgB,EAAE,EAAY,EAAa,EAAyB,OAAO,EAAyB,GAAc,EAAsB,EAAyB,GAAG,EAAa,EAAc,MAAO,CAAC,CAAC,EAAW,EAAY,CAAa,EAAE,GAAc,EAAK,EAAM,GAAc,SAAS,GAAY,EAAK,CAAG,KAAM,GAAkB,QAAQ,EAAQ,IAAI,EAAE,EAAkB,QAAQ,EAAE,GAAc,EAAK,CAAG,EAAE,CAAC,EAAW,EAAU,EAAQ,EAAsB,EAAW,EAAQ,EAAa,EAAyB,CAAgB,CAAC,EAC/hB,GAAeA,EAAY,GAAY,CAAI,GAAmB,EAAW,EAAW,KAAK,CAAE,EAAE,CAAC,EAAY,CAAU,CAAC,EACrH,GAAgBD,MAAY,CAAC,GAAG,IAAa,SAAS,CAAC,IAAM,GAAgB,EAAU,GAAS,EAAO,OAAa,EAAQ,CAAC,EAAe,EAAE,MAAM,CAAC,KAAK,EAAQ,EAAe,IAAI,MAAM,EAAQ,EAAe,GAAG,CAAE,CAG7N,MAAM,CAAC,KAAK,KAAU,MAAM,GAAQ,CAAE,EAAE,CAAC,EAAW,EAAU,EAAQ,EAAO,MAAM,CAAC,EACpF,MAAc,CACd,GAAG,GAAU,IAAa,SAAS,OAAO,IAAM,EAAc,GAAG,CAAC,GAAG,EAAY,OACjF,IAAM,EAAgB,EAAiB,IAAI,CAAY,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC,EAAE,eAAe,EACrG,IAAM,EAAa,EAAgB,EAAQ,EAAY,GAAc,EAAE,EAAyB,GAAc,EAAsB,EAAyB,EAAyB,OAAO,GAAG,EAAgB,IAAc,GAAc,EAAW,EAAY,MAAM,CAAG,MAAM,GAAG,EAAE,MAAM,aAAa,CAAC,EAAE,eAAe,EAC5T,IAAM,EAAa,EAAgB,EAAQ,EAAY,EAAa,EAAyB,OAAO,EAAyB,GAAc,EAAsB,EAAyB,GAAG,EAAgB,IAAc,GAAc,EAAW,EAAY,MAAM,CAAG,CAAC,EAAmD,OAAjD,EAAO,iBAAiB,UAAU,CAAa,MAAY,EAAO,oBAAoB,UAAU,CAAa,CAAE,EAAE,CAAC,EAAS,EAAW,EAAa,EAAW,EAAsB,EAAyB,EAAY,CAAgB,CAAC,EAAE,IAAM,GAAeF,EAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,EAAQ,GAAYG,EAAY,GAAQ,CAAC,IAAM,EAAM,CAAC,EAAQ,EAAU,KAAK,MAAM,CAAM,EAAQ,EAAW,EAAO,GAAI,EAAQ,EAAY,EAAO,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAQ,EAAE,EAAW,EAAM,KAAkB,EAAK,MAAM,CAAC,MAAM,EAAS,OAAO,EAAS,QAAQ,YAAY,KAAK,EAAM,UAAU,cAAc,OAAO,SAAsB,EAAK,OAAO,CAAC,EAAE,8FAA8F,CAAC,CAAC,EAAE,CAAC,CAAC,EAAW,IAAI,GAAW,EAAY,EAAM,KAAkB,EAAM,MAAM,CAAC,MAAM,EAAS,OAAO,EAAS,QAAQ,YAAY,KAAK,OAAO,cAAc,OAAO,SAAS,CAAc,EAAK,OAAO,CAAC,SAAsB,EAAM,iBAAiB,CAAC,GAAG,GAAG,GAAe,QAAQ,WAAW,IAAI,SAAS,CAAc,EAAK,OAAO,CAAC,OAAO,GAAG,EAAY,IAAI,GAAG,UAAU,EAAM,SAAS,CAAC,EAAe,EAAK,OAAO,CAAC,OAAO,GAAG,EAAY,IAAI,GAAG,UAAU,EAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,+FAA+F,KAAK,QAAQ,GAAe,QAAQ,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAQ,EAAM,KAAkB,EAAK,MAAM,CAAC,MAAM,EAAS,OAAO,EAAS,QAAQ,YAAY,KAAK,EAAM,kBAAkB,cAAc,OAAO,SAAsB,EAAK,OAAO,CAAC,EAAE,8FAA8F,CAAC,CAAC,EAAE,CAAC,CAAC,EAAI,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,CAAC,EAAE,KAAK,MAAM,aAAa,GAAG,EAAO,iBAAiB,SAAS,CAAK,CAAC,CAAE,EAAE,CAAC,EAAS,EAAM,UAAU,EAAM,iBAAiB,CAAC,EAAQ,GAAWA,GAAa,EAAM,IAAQ,CAAC,IAAM,EAAe,EAAM,aAAa,IAAU,EAAQ,EAAM,KAAW,EAAS,EAAM,MAAY,EAAU,EAAM,WAAiB,EAAU,EAAM,OAAO,EAAQ,EAAU,KAAe,EAAY,EAAiB,GAAkB,KAAe,MAAM,EAAa,EAAE,OAAoB,EAAM,MAAM,CAAC,IAAI,GAAI,CAAI,IAAG,GAAS,QAAQ,GAAO,EAAG,EAAE,MAAM,CAAC,SAAS,EAAU,SAAS,EAAU,OAAO,GAAc,EAAE,GAAc,OAAO,WAAW,EAAM,eAAe,aAAa,GAAW,QAAQ,GAAY,OAAO,GAAW,EAAE,GAAG,GAAW,WAAW,EAAM,kBAAkB,OAAO,UAAU,GAAO,iBAAiB,EAAM,cAAc,OAAO,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAU,QAAQ,EAAiB,EAAU,EAAE,GAAG,EAAE,UAAU,GAAkB,EAAU,cAAc,WAAW,WAAW,8BAA8B,EAAE,iBAAiB,CAC3/F,KAAK,IAAI,EAAE,GAAmB,QAAQ,KAAI,MAAoB,GAAgB,CAAK,CAAC,EAAE,GAAmB,QAAQ,KAAK,IAAI,EAAG,EAAE,iBAAiBE,MAAoB,GAAgB,IAAI,CAAC,EAAE,KAAK,UAAU,aAAa,oBAAoB,EAAM,MAAM,aAAa,SAAS,CAAC,IAAS,UAAuB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAM,EAAE,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,gBAAgB,WAAW,QAAQ,EAAE,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,GAAc,OAAO,GAAc,QAAQ,YAAY,KAAK,EAAM,eAAe,cAAc,OAAO,SAAsB,EAAK,OAAO,CAAC,EAAE,0CAA0C,CAAC,CAAC,CAAC,EAAE,GAAW,GAAY,EAAM,MAAM,CAAC,CAAC,CAAC,EAAE,GAAwB,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAM,gBAAgB,UAAU,EAAU,GAAG,EAAK,UAAU,EAAE,SAAS,EAAM,UAAU,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAe,GAAS,EAAE,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAS,CAAC,GAA6B,EAAK,MAAM,CAAC,IAAI,EAAM,YAAY,IAAI,IAAI,EAAM,YAAY,KAAK,2BAA2B,QAAQ,EAAM,EAAsB,QAAQ,OAAO,MAAM,CAAC,MAAM,EAAiB,OAAO,EAAkB,aAAa,GAAkB,UAAU,QAAQ,OAAO,EAAkB,EAAE,GAAG,EAAkB,WAAW,EAAM,yBAAyB,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,GAAS,IAAwB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,GAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,UAAU,GAAG,EAAK,QAAQ,EAAE,SAAS,EAAM,IAAI,CAAC,EAAE,GAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,WAAW,GAAG,EAAK,SAAS,EAAE,SAAS,EAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAS,WAAwB,EAAMA,EAAU,CAAC,SAAS,CAAC,GAAwB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAS,GAAY,EAAM,MAAM,CAAC,CAAC,EAAE,GAAwB,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAM,gBAAgB,UAAU,EAAU,GAAG,EAAK,UAAU,EAAE,SAAS,EAAM,UAAU,CAAC,EAAE,GAA6B,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAsB,EAAK,MAAM,CAAC,IAAI,EAAM,YAAY,IAAI,IAAI,EAAM,YAAY,KAAK,2BAA2B,QAAQ,EAAM,EAAsB,QAAQ,OAAO,MAAM,CAAC,MAAM,EAAiB,OAAO,EAAkB,aAAa,GAAkB,UAAU,QAAQ,OAAO,EAAkB,EAAE,GAAG,EAAkB,WAAW,EAAM,yBAAyB,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAS,IAAwB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAS,CAAC,GAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,UAAU,UAAU,EAAU,GAAG,EAAK,QAAQ,EAAE,SAAS,EAAM,IAAI,CAAC,EAAE,GAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,WAAW,UAAU,EAAU,GAAG,EAAK,SAAS,EAAE,SAAS,EAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAS,SAAsB,EAAMA,EAAU,CAAC,SAAS,CAAC,GAA6B,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAsB,EAAK,MAAM,CAAC,IAAI,EAAM,YAAY,IAAI,IAAI,EAAM,YAAY,KAAK,2BAA2B,QAAQ,EAAM,EAAsB,QAAQ,OAAO,MAAM,CAAC,MAAM,EAAiB,OAAO,EAAkB,aAAa,GAAkB,UAAU,QAAQ,OAAO,EAAkB,EAAE,GAAG,EAAkB,WAAW,EAAM,yBAAyB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAwB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAS,GAAY,EAAM,MAAM,CAAC,CAAC,EAAE,GAAwB,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAM,gBAAgB,UAAU,EAAU,GAAG,EAAK,UAAU,EAAE,SAAS,EAAM,UAAU,CAAC,GAAG,GAAS,IAAwB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,YAAY,EAAE,SAAS,CAAC,GAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,UAAU,UAAU,EAAU,GAAG,EAAK,QAAQ,EAAE,SAAS,EAAM,IAAI,CAAC,EAAE,GAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,WAAW,UAAU,EAAU,GAAG,EAAK,SAAS,EAAE,SAAS,EAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAM,GAAG,EAAM,MAAM,CAAE,EAAE,CAAC,EAAU,GAAc,EAAM,eAAe,GAAW,GAAY,GAAW,EAAM,gBAAgB,GAAO,EAAO,GAAU,GAAa,EAAiB,EAAa,EAAU,EAAM,eAAe,EAAM,gBAAgB,EAAK,WAAW,GAAS,EAAiB,EAAkB,GAAkB,EAAkB,EAAM,uBAAuB,EAAM,UAAU,EAAK,SAAS,EAAM,WAAW,EAAK,UAAU,EAAsB,EAAW,CAAC,EAC98J,GAAeJ,MAAY,CAAC,GAAG,IAAa,UAAU,IAAc,EAAG,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,EAAG,IAAM,EAAU,EAAyB,OAExJ,EAAa,EAAM,EAAY,KAAK,IAAI,EAAyB,GAAG,CAAY,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAyB,OAAO,IAAI,CAAC,IAAM,EAAS,KAAK,IAAI,EAAyB,GAAG,CAAY,EAAK,EAAS,IAAa,EAAY,EAAS,EAAa,EAAG,CAAC,MAAM,CAAC,YAAU,eAAe,CAAY,CAAE,EAAE,CAAC,EAAW,EAAyB,EAAY,CAAY,CAAC,EAAkN,OAA7M,EAAO,SAAS,EAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,MAAM,OAAO,SAAS,EAAE,EAAE,SAAS,sBAAsB,CAAC,EAAuB,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,QAAQ,OAAO,cAAc,QAAQ,EAAE,iBAAiB,CAAC,GAAc,QAAQ,GAAQ,GAAa,MAAoB,GAAY,EAAI,CAAC,CAAE,EAAE,iBAAiB,CAAC,GAAc,QAAQ,GAAS,GAAa,MAAoB,GAAY,EAAK,CAAC,CAAE,EAAE,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,SAAS,CAAC,IAAa,UAAU,IAAQ,CAAC,GAAuB,EAAMI,EAAU,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,YAAY,CAAC,GAAG,EAAY,OACrjC,IAAM,GAA5C,EAAiB,IAAI,CAAY,GAAG,GAAqC,EAAQ,EAAY,GAAc,EAAE,EAAyB,GAAc,EAAsB,EAAyB,EAAyB,OAAO,GAAG,EAAgB,IAAc,GAAc,EAAW,EAAY,MAAM,CAAG,EAAE,SAAS,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAE,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG,IAAI,MAAM,UAAU,mBAAmB,WAAW,2BAA2B,OAAO,OAAO,aAAa,MAAM,OAAO,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAE,cAAc,UAAU,MAAM,EAAU,GAAG,OAAO,EAAU,GAAG,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,OAAO,GAAG,QAAQ,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAE,GAAG,GAAG,WAAW,eAAe,UAAU,2BAA2B,EAAE,aAAa,GAAG,CAAM,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,IAAI,EAAE,cAAc,MAAM,QAAQ,IAAK,EAAE,aAAa,GAAG,CAAM,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,IAAI,EAAE,cAAc,MAAM,QAAQ,MAAO,EAAE,aAAa,iBAAiB,SAAsB,EAAK,MAAM,CAAC,MAAM,EAAU,OAAO,EAAU,QAAQ,YAAY,KAAK,EAAM,WAAW,SAAsB,EAAK,OAAO,CAAC,EAAE,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,SAAS,CAAC,YAAY,CAAC,GAAG,EAAY,OACjgD,IAAM,GAA5C,EAAiB,IAAI,CAAY,GAAG,GAAqC,EAAQ,EAAY,EAAa,EAAyB,OAAO,EAAyB,GAAc,EAAsB,EAAyB,GAAG,EAAgB,IAAc,GAAc,EAAW,EAAY,MAAM,CAAG,EAAE,SAAS,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAyB,OAAO,EAAE,MAAM,CAAC,SAAS,WAAW,MAAM,GAAG,IAAI,MAAM,UAAU,mBAAmB,WAAW,2BAA2B,OAAO,OAAO,aAAa,MAAM,OAAO,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAyB,OAAO,EAAE,cAAc,UAAU,MAAM,EAAU,GAAG,OAAO,EAAU,GAAG,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,OAAO,GAAG,QAAQ,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAyB,OAAO,EAAE,GAAG,GAAG,WAAW,eAAe,UAAU,2BAA2B,EAAE,aAAa,GAAG,CAAM,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAyB,OAAO,IAAI,EAAE,cAAc,MAAM,QAAQ,IAAK,EAAE,aAAa,GAAG,CAAM,GAAa,GAAa,GAAG,CAAC,IAAwB,EAAiB,IAAI,CAAY,GAAG,KAAK,EAAyB,OAAO,IAAI,EAAE,cAAc,MAAM,QAAQ,MAAO,EAAE,aAAa,aAAa,SAAsB,EAAK,MAAM,CAAC,MAAM,EAAU,OAAO,EAAU,QAAQ,YAAY,KAAK,EAAM,WAAW,SAAsB,EAAK,OAAO,CAAC,EAAE,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,SAAS,QAAQ,OAAO,GAAG,GAAc,GAAG,GAAe,EAAE,CAAC,UAAU;;;wCAG5yD,GAAc;oDACF,GAAe;;+BAEpC,gBAAgB;;;wCAGP,GAAc;oDACF,GAAe;;8BAErC,EAAE,CAAC,CAAC,EAAE,SAAsB,EAAKC,EAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,EAAQ,EAAE,IAAa,SAAS,EAAQ,EAAE,MAAM,IAAa,UAAU,EAAU,GAAS,GAAa,OAAO,EAAQ,OAAO,WAAW,EAAE,OAAO,OAAO,GAAG,CAAC,GAAU,CAAC,YAAY,QAAQ,OAAO,GAAW,WAAW,MAAM,CAAC,EAC1U,KAAK,CAAC,GAAS,IAA0B,mBAAgB,YAAY,GAAG,aAAa,GAAM,YAAY,GAAgB,UAAU,GAAc,aAAa,gCAAgC,UAAU,IAAa,SAAS,GAAa,GAAA,CAAc,KAAK,EAAM,IAAQ,GAAW,EAAM,CAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAa,UAAU,CAAC,GAAuB,EAAM,MAAM,CAAC,YAAY,SAAS,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,KAAK,WAAW,MAAM,MAAM,OAAO,MAAM,SAAS,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAa,EAAE,OAAO,CAAW,CAAC,CAAC,EAAE,IAAa,UAAU,CAAC,GAAuB,EAAM,MAAM,CAAC,YAAY,SAAS,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,KAAK,WAAW,MAAM,MAAM,OAAO,MAAM,SAAS,QAAQ,EAAE,SAAS,CAAC,4BAA4B,EAAY,kBAAkB,EAAS,SAAS,SAAS,CAAC,CAAC,EAAE,IAAa,UAAU,IAAa,QAAQ,CAAC,GAAuB,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,WAAW,GAAG,SAAS,UAAU,EAAE,SAAS,CAAC,IAAa,QAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,EAAM,EAAE,KAAK,UAAU,aAAa,mBAAmB,SAAS,MAAM,KAAK,CAAC,OAAO,GAAe,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAW,CAAC,IAAM,EAAS,IAAW,GAAe,eAAqB,EAAW,EAAyB,GAAU,OAAoB,EAAK,SAAS,CAAC,YAAY,GAAe,CAAU,EAAE,SAAS,EAAY,MAAM,CAAC,MAAM,GAAQ,OAAO,GAAQ,aAAa,MAAM,WAAW,EAAS,EAAM,eAAe,EAAM,SAAS,OAAO,OAAO,OAAO,EAAY,cAAc,UAAU,QAAQ,EAAE,QAAQ,EAAY,GAAG,EAAE,WAAW,+BAA+B,EAAE,KAAK,MAAM,gBAAgB,EAAS,aAAa,eAAe,EAAW,GAAG,EAAE,CAAQ,CAAE,CAAC,CAAC,CAAC,EAAE,IAAa,YAAyB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAa,MAAM,EAAM,aAAa,EAAE,YAAY,SAAS,cAAc,OAAO,SAAS,GAAG,KAAK,IAAI,GAAe,eAAe,EAAE,EAAyB,MAAM,EAAE,KAAK,EAAyB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,2BAvIj8D,KAAyE,IAAwE,IAAiF,EAC1S,GAAwB,EACvB,GAAqB,GAqIo/D,GAAoB,GAAgB,CACpjE,OAAO,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,YAAY,4DAA4D,QAAQ,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,gBAAgB,GAAK,aAAa,mJAAmJ,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,YAAY,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAY,gBAAgB,MAAM,OAAO,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,WAAW,mIAAmI,KAAK,gBAAgB,MAAM,mBAAmB,YAAY,CAAC,IAAI,sEAAsE,IAAI,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,gIAAgI,KAAK,gBAAgB,MAAM,cAAc,YAAY,CAAC,IAAI,sEAAsE,IAAI,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,4HAA4H,KAAK,eAAe,MAAM,qBAAqB,YAAY,CAAC,IAAI,uEAAuE,IAAI,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,2HAA2H,KAAK,eAAe,MAAM,oBAAoB,YAAY,CAAC,IAAI,uEAAuE,IAAI,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,0HAA0H,KAAK,eAAe,MAAM,eAAe,YAAY,CAAC,IAAI,uEAAuE,IAAI,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,gIAAgI,KAAK,iBAAiB,MAAM,gBAAgB,YAAY,CAAC,IAAI,sEAAsE,IAAI,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAC18E,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,YAAY,qEAAqE,QAAQ,CAAC,SAAS,UAAU,OAAO,EAAE,aAAa,CAAC,eAAe,gBAAgB,aAAa,EAAE,aAAa,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,YAAY,gDAAgD,QAAQ,CAAC,OAAO,SAAS,OAAO,EAAE,aAAa,CAAC,OAAO,SAAS,OAAO,EAAE,wBAAwB,EAAI,EAC1c,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,YAAY,mEAAmE,QAAQ,CAAC,SAAS,QAAQ,EAAE,aAAa,CAAC,SAAS,QAAQ,EAAE,aAAa,SAAS,wBAAwB,EAAI,EACpP,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,8EAA8E,SAAS,CAClJ,eAAe,CAAC,KAAK,EAAY,KAAK,MAAM,mBAAmB,YAAY,+CAA+C,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,wBAAwB,GAAK,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,WAAW,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,QAAQ,EAAM,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,WAAW,EAAK,EAAE,mBAAmB,CAAC,KAAK,EAAY,OAAO,MAAM,sBAAsB,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK,IAAI,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,gBAAgB,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EACr9B,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,YAAY,iHAAiH,QAAQ,CAAC,OAAO,OAAO,UAAU,EAAE,aAAa,CAAC,OAAO,OAAO,UAAU,EAAE,aAAa,OAAO,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,aAAa,MAAM,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,aAAa,MAAM,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,aAAa,UAAU,EAAE,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,YAAY,mGAAmG,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,aAAa,UAAU,CAAC,EAAU,OAAO,MAAM,EACv2C,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,MAAM,KAAK,EAAE,aAAa,CAAC,eAAe,cAAc,EAAE,aAAa,MAAM,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAM,IAAY,EAAU,aAAa,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,EAAY,KAAK,MAAM,iBAAiB,YAAY,0EAA0E,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,iBAAiB,YAAY,iEAAiE,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAY,QAAQ,MAAM,qBAAqB,YAAY,8DAA8D,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,OAAO,GAAO,EAAM,eAAe,CAAC,EACj/B,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,YAAY,kEAAkE,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,YAAY,mEAAmE,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAC3X,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,YAAY,oEAAoE,SAAS,CACtI,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAK,aAAa,OAAO,cAAc,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,eAAe,aAAa,MAAM,EAC7e,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAC1b,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,SAAS,QAAQ,EACtQ,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,SAAS,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,wGAAwG,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAM,IAAY,EAAU,SAAS,QAAQ,CAAC,CAAC,EACvgB,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,YAAY,gEAAgE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,kBAAkB,aAAa,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,oBAAoB,aAAa,SAAS,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,SAAS,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAY,MAAM,MAAM,sBAAsB,aAAa,yBAAyB,EAAE,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,YAAY,aAAa,0BAA0B,QAAQ,EAAE,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,aAAa,MAAM,EAAE,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,QAAQ,EAAE,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,aAAa,MAAM,EAAE,cAAc,CAAC,KAAK,EAAY,MAAM,MAAM,iBAAiB,aAAa,UAAU,QAAQ,EAAE,IAAY,EAAU,aAAa,UAAU,EAAU,OAAO,aAAa,UAAU,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,UAAU,QAAQ,EAAE,IAAY,EAAU,aAAa,UAAU,CAAC,EAAU,OAAO,MAAM,EAAE,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,QAAQ,EAAE,IAAY,EAAU,SAAS,QAAQ,EAAE,uBAAuB,CAAC,KAAK,EAAY,MAAM,MAAM,qBAAqB,aAAa,UAAU,QAAQ,EAAE,IAAY,EAAU,MAAM,oBAAoB,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,oBAAoB,aAAa,UAAU,QAAQ,EAAE,IAAY,EAAU,MAAM,aAAa,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,mBAAmB,QAAQ,EAAE,IAAY,CAAC,EAAU,MAAM,MAAM,CAAC,CAAC,EACz4D,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,YAAY,kEAAkE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,UAAU,WAAW,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,SAAS,WAAW,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,SAAS,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC"}