{"version":3,"file":"CarouselModule_3.D6d2JYdW.mjs","names":["useMemo","useRef","useState","useCallback","__esmMin","init_ssg_sandbox_shims","pe","te","init_npm_react_18_3_1","_e","de","init_jsx_runtime","ne","c","ce","window","useInView","motion","init_framer_motion_DhsWWWsN","addPropertyControls","init_framer_CaDWdxiz","useIsStaticRenderer","ControlType","clamp","min","max","n","resolveMedia","isMobile","slide","CarouselModule","isStatic","defaultSlides","props","safeSlides","s","slides","out","containerRef","activeVideoRef","inView","containerWidth","setContainerWidth","el","update","ro","responsiveMode","activeIndex","setActiveIndex","initialIndex","progress","setProgress","goTo","idx","next","prev","autoPlay","durationMs","itemDuration","raf","start","tick","p","now","activeSlide","activeMedia","video","timeoutId","handleEnded","videoLoopSeconds","allVideoSrcs","urls","baseContainerStyle","padding","gap","mediaStyle","visibleCards","src","imageAreaHeight","mediaRadius","progressTrackColor","progressFillColor","seg","isActive","activeCardBackgroundColor","inactiveCardBackgroundColor","cardRadius","titleFont","titleColor","descriptionFont","descriptionColor","init_CarouselModule_3"],"sources":["https:/framerusercontent.com/modules/kRBf83DcfIC0LubiIoQW/toYWUxz2NW7GYEddSCMD/CarouselModule_3.js"],"sourcesContent":["// Carrousel: media central (imagen o video por breakpoint) + 3 cards con barra\n// de progreso segmentada. Todos los items duran lo mismo (itemDuration) y se\n// encadenan sin pausa. El video hace loop mientras su item está activo.\n//\n// Nota de arquitectura (importante): un <video> de React NO recarga su fuente\n// cuando solo cambia el atributo `src` de un elemento ya montado. Por eso el\n// media activo se monta con key = URL del asset, forzando el remonte y evitando\n// el clásico bug de \"siempre se ve el primer video\". Aparte, se mantiene un set\n// oculto de <video preload=\"auto\"> (uno por URL) para que los assets 2 y 3 ya\n// estén cacheados cuando el carousel llega a ellos.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useInView}from\"framer-motion\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";const defaultSlides=[{title:\"Ask\",description:\"Your AI agent answers in seconds, with real data behind every response.\",desktopMediaType:\"image\",mobileMediaType:\"image\",image:{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Slide 1\"},imageMobile:{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Slide 1 (Mobile)\"}},{title:\"Act\",description:\"Your AI handles the entire workflow. When it truly matters, our team takes over.\",desktopMediaType:\"image\",mobileMediaType:\"image\",image:{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Slide 2\"},imageMobile:{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Slide 2 (Mobile)\"}},{title:\"Monitor\",description:\"Your AI tracks every listing, booking, and issue, 24/7, in real time.\",desktopMediaType:\"image\",mobileMediaType:\"image\",image:{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Slide 3\"},imageMobile:{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Slide 3 (Mobile)\"}}];function clamp(n,min,max){return Math.max(min,Math.min(max,n));}// Resuelve qué media mostrar para un slide según el breakpoint activo.\nfunction resolveMedia(slide,isMobile){const type=isMobile?slide.mobileMediaType:slide.desktopMediaType;if(type===\"video\"){const src=isMobile?slide.videoMobile??slide.video:slide.video;return{type:\"video\",videoSrc:src,image:undefined};}const image=isMobile?slide.imageMobile??slide.image:slide.image;return{type:\"image\",videoSrc:undefined,image};}/**\n * Carousel Module\n *\n * @framerIntrinsicWidth 900\n * @framerIntrinsicHeight 650\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CarouselModule(props){const isStatic=useIsStaticRenderer();const{slides=defaultSlides,autoPlay=true,itemDuration=4,videoLoopSeconds=4,initialIndex=0,responsiveMode=false,activeCardBackgroundColor=\"#FFFFFF\",inactiveCardBackgroundColor=\"#FFFFFF\",titleColor=\"#000000\",descriptionColor=\"#000000\",progressTrackColor=\"#EEEEEE\",progressFillColor=\"#000000\",titleFont,descriptionFont,cardRadius=12,mediaRadius=12,padding=28,gap=18,imageAreaHeight=440,transition}=props;const safeSlides=useMemo(()=>{const s=Array.isArray(slides)&&slides.length>0?slides:defaultSlides;if(s.length>=3)return s.slice(0,3);const out=[...s];while(out.length<3)out.push(s[out.length%s.length]);return out;},[slides]);const containerRef=useRef(null);const activeVideoRef=useRef(null);const inView=useInView(containerRef,{margin:\"-20% 0px -20% 0px\",amount:.2});// Ancho real del contenedor. Se usa para decidir el modo mobile de forma\n// automática (breakpoint por ancho), además del toggle manual del panel.\nconst[containerWidth,setContainerWidth]=useState(0);useEffect(()=>{if(typeof window===\"undefined\")return;const el=containerRef.current;if(!el)return;const update=()=>setContainerWidth(el.offsetWidth);update();const ro=new ResizeObserver(update);ro.observe(el);return()=>ro.disconnect();},[]);// Mobile si el toggle está activo O el ancho real es < 810px. El fallback\n// por ancho hace que el componente se adapte solo en dispositivos chicos,\n// aunque no se haya activado el toggle manualmente.\nconst isMobile=responsiveMode||containerWidth>0&&containerWidth<768;const[activeIndex,setActiveIndex]=useState(()=>{const idx=Number.isFinite(initialIndex)?initialIndex:0;return clamp(Math.floor(idx),0,2);});const[progress,setProgress]=useState(0);const goTo=useCallback(idx=>{startTransition(()=>{setActiveIndex(clamp(Math.floor(idx),0,2));setProgress(0);});},[]);const next=useCallback(()=>{startTransition(()=>{setActiveIndex(prev=>(prev+1)%3);setProgress(0);});},[]);// Motor de avance: cada item dura itemDuration (igual para todos). La barra\n// sigue ese tiempo con RAF (fluido a 60fps) y al cumplirse avanza al toque.\nuseEffect(()=>{if(isStatic)return;if(!autoPlay)return;if(!inView)return;if(typeof window===\"undefined\")return;const durationMs=Math.max(.25,itemDuration)*1e3;let raf=0;const start=performance.now();const tick=now=>{const p=clamp((now-start)/durationMs,0,1);startTransition(()=>setProgress(p));if(p>=1){next();return;}raf=window.requestAnimationFrame(tick);};raf=window.requestAnimationFrame(tick);return()=>window.cancelAnimationFrame(raf);},[isStatic,autoPlay,inView,activeIndex,itemDuration,next]);const activeSlide=safeSlides[activeIndex]??defaultSlides[0];const activeMedia=resolveMedia(activeSlide,isMobile);// Pausa entre repeticiones del video del item activo. El video NO usa `loop`\n// nativo; en su lugar, al terminar espera `videoLoopSeconds` y vuelve a\n// reproducir desde el principio. Se re-arma cada vez que cambia el item.\nuseEffect(()=>{if(isStatic)return;if(activeMedia.type!==\"video\"||!activeMedia.videoSrc)return;const video=activeVideoRef.current;if(!video)return;let timeoutId=null;const handleEnded=()=>{timeoutId=setTimeout(()=>{try{video.currentTime=0;video.play().catch(()=>{});}catch{}},Math.max(0,videoLoopSeconds)*1e3);};video.addEventListener(\"ended\",handleEnded);return()=>{video.removeEventListener(\"ended\",handleEnded);if(timeoutId)clearTimeout(timeoutId);};},[isStatic,activeIndex,activeMedia.type,activeMedia.videoSrc,videoLoopSeconds]);// Todas las URLs de video de todos los slides, para el set de precarga.\nconst allVideoSrcs=useMemo(()=>{const urls=[];for(const s of safeSlides){if(s.video)urls.push(s.video);if(s.videoMobile)urls.push(s.videoMobile);}return Array.from(new Set(urls));},[safeSlides]);const baseContainerStyle=useMemo(()=>({...props.style,position:\"relative\",width:\"100%\",height:\"100%\",padding,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap}),[props.style,padding,gap,isMobile]);const mediaStyle={width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"};// En mobile solo se ve la card activa; en desktop las 3.\nconst visibleCards=isMobile?[{slide:activeSlide,idx:activeIndex}]:safeSlides.map((slide,idx)=>({slide,idx}));return /*#__PURE__*/_jsxs(\"section\",{ref:containerRef,style:baseContainerStyle,\"aria-roledescription\":\"carousel\",children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",width:1,height:1,top:-9999,left:-9999,overflow:\"hidden\",pointerEvents:\"none\"},children:allVideoSrcs.map(src=>/*#__PURE__*/_jsx(\"video\",{src:src,preload:\"auto\",muted:true,playsInline:true},src))}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:imageAreaHeight,borderRadius:mediaRadius,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(motion.div,{initial:isStatic?false:{opacity:0},animate:isStatic?undefined:{opacity:1},transition:transition,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\"},children:activeMedia.type===\"video\"&&activeMedia.videoSrc?/*#__PURE__*/_jsx(\"video\",{ref:activeVideoRef,src:activeMedia.videoSrc,autoPlay:true,muted:true,playsInline:true,preload:\"auto\",style:mediaStyle},activeMedia.videoSrc):activeMedia.image?.src?/*#__PURE__*/_jsx(\"img\",{src:activeMedia.image.src,srcSet:activeMedia.image.srcSet,alt:activeMedia.image.alt??\"\",style:mediaStyle},activeMedia.image.src):null},activeIndex)}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:\"100%\",display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":\"repeat(3, minmax(0, 1fr))\",gap:8},children:(isMobile?[0]:[0,1,2]).map(seg=>{const filled=isMobile?isStatic?1:progress:seg<activeIndex?1:seg===activeIndex?isStatic?1:progress:0;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:2,borderRadius:999,background:progressTrackColor,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:0,bottom:0,width:\"100%\",background:progressFillColor,transformOrigin:\"0% 50%\",transform:`scaleX(${filled})`}})},seg);})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",display:isMobile?\"flex\":\"grid\",gridTemplateColumns:isMobile?undefined:\"repeat(3, minmax(0, 1fr))\",gap:isMobile?0:8,alignItems:\"stretch\"},children:visibleCards.map(({slide,idx})=>{const isActive=idx===activeIndex;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>isMobile?next():goTo(idx),\"aria-current\":isActive,style:{appearance:\"none\",border:\"none\",background:\"transparent\",padding:0,textAlign:\"left\",cursor:\"pointer\",color:\"inherit\",width:\"100%\",display:\"flex\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",background:isActive?activeCardBackgroundColor:inactiveCardBackgroundColor,borderRadius:cardRadius,padding:18,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap:8,boxShadow:\"0 1px 0 rgba(0,0,0,0.04)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...titleFont,color:titleColor,margin:0,lineHeight:(titleFont?.lineHeight)??\"1.2em\"},children:slide.title}),/*#__PURE__*/_jsx(\"div\",{style:{...descriptionFont,color:descriptionColor,opacity:isActive?.9:.75,margin:0,lineHeight:(descriptionFont?.lineHeight)??\"1.3em\"},children:slide.description})]})},idx);})})]});}addPropertyControls(CarouselModule,{slides:{type:ControlType.Array,title:\"Slides\",maxCount:3,defaultValue:[{title:defaultSlides[0].title,description:defaultSlides[0].description,desktopMediaType:\"image\",mobileMediaType:\"image\"},{title:defaultSlides[1].title,description:defaultSlides[1].description,desktopMediaType:\"image\",mobileMediaType:\"image\"},{title:defaultSlides[2].title,description:defaultSlides[2].description,desktopMediaType:\"image\",mobileMediaType:\"image\"}],control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Ask\"},description:{type:ControlType.String,title:\"Description\",defaultValue:\"Your AI agent answers in seconds, with real data behind every response.\",displayTextArea:true},desktopMediaType:{type:ControlType.Enum,title:\"Media (Desktop)\",options:[\"image\",\"video\"],optionTitles:[\"Image\",\"Video\"],defaultValue:\"image\",displaySegmentedControl:true},image:{type:ControlType.ResponsiveImage,title:\"Image (Desktop)\",hidden(props){return props.desktopMediaType!==\"image\";}},video:{type:ControlType.File,title:\"Video (Desktop)\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden(props){return props.desktopMediaType!==\"video\";}},mobileMediaType:{type:ControlType.Enum,title:\"Media (Mobile)\",options:[\"image\",\"video\"],optionTitles:[\"Image\",\"Video\"],defaultValue:\"image\",displaySegmentedControl:true},imageMobile:{type:ControlType.ResponsiveImage,title:\"Image (Mobile)\",hidden(props){return props.mobileMediaType!==\"image\";}},videoMobile:{type:ControlType.File,title:\"Video (Mobile)\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden(props){return props.mobileMediaType!==\"video\";}}}}},responsiveMode:{type:ControlType.Boolean,title:\"Mobile\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},itemDuration:{type:ControlType.Number,title:\"Item Duration\",description:\"Segundos que dura cada item antes de avanzar. Igual para todos.\",defaultValue:4,min:1,max:20,step:.5,unit:\"s\"},videoLoopSeconds:{type:ControlType.Number,title:\"Video Loop Gap\",description:\"Pausa (en segundos) entre cada repetici\\xf3n del video, mientras el item est\\xe1 activo.\",defaultValue:4,min:0,max:30,step:.5,unit:\"s\"},initialIndex:{type:ControlType.Number,title:\"Start\",defaultValue:0,min:0,max:2,step:1},activeCardBackgroundColor:{type:ControlType.Color,title:\"Card Active\",defaultValue:\"#FFFFFF\"},inactiveCardBackgroundColor:{type:ControlType.Color,title:\"Card Inactive\",defaultValue:\"#FFFFFF\"},titleColor:{type:ControlType.Color,title:\"Title\",defaultValue:\"#000000\"},descriptionColor:{type:ControlType.Color,title:\"Description\",defaultValue:\"#000000\"},progressTrackColor:{type:ControlType.Color,title:\"Track\",defaultValue:\"#EEEEEE\"},progressFillColor:{type:ControlType.Color,title:\"Progress\",defaultValue:\"#000000\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.1em\"}},descriptionFont:{type:ControlType.Font,title:\"Description Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.35em\"}},cardRadius:{type:ControlType.Number,title:\"Card Radius\",defaultValue:12,min:0,max:32,step:1},mediaRadius:{type:ControlType.Number,title:\"Media Radius\",description:\"Radio de las esquinas del video/imagen. Export\\xe1 el video desde Figma con esquinas rectas (radius 0); el redondeo lo aplica este control.\",defaultValue:12,min:0,max:48,step:1},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:28,min:0,max:80,step:1,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:18,min:0,max:60,step:1,unit:\"px\"},imageAreaHeight:{type:ControlType.Number,title:\"Image H\",defaultValue:440,min:120,max:900,step:1,unit:\"px\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"tween\",ease:\"easeOut\",duration:.35}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CarouselModule\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"650\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"900\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CarouselModule_3.map"],"mappings":"A,6RAUu0C,SAASuB,EAAM,EAAE,EAAI,EAAI,CAAC,OAAO,KAAK,IAAIC,EAAI,KAAK,IAAIC,EAAIC,CAAC,CAAC,CAAE,CACt4C,SAASC,EAAa,EAAM,EAAS,CAAsQ,OAA1PC,EAASC,EAAM,gBAAgBA,EAAM,oBAA2B,QAA6E,CAAC,KAAK,QAAQ,SAAxED,EAASC,EAAM,aAAaA,EAAM,MAAMA,EAAM,MAAuC,MAAM,IAAA,EAAS,EAAyE,CAAC,KAAK,QAAQ,SAAS,IAAA,GAAU,MAA3FD,EAASC,EAAM,aAAaA,EAAM,MAAMA,EAAM,KAAkD,CAAE,CAQtV,SAAwBC,EAAe,EAAM,CAAC,IAAMC,EAASV,EAAoB,EAAO,CAAC,SAAOW,EAAc,WAAS,GAAK,eAAa,EAAE,mBAAiB,EAAE,eAAa,EAAE,iBAAe,GAAM,4BAA0B,UAAU,8BAA4B,UAAU,aAAW,UAAU,mBAAiB,UAAU,qBAAmB,UAAU,oBAAkB,UAAU,YAAU,kBAAgB,aAAW,GAAG,cAAY,GAAG,UAAQ,GAAG,MAAI,GAAG,kBAAgB,IAAI,cAAYC,EAAYC,EAAWlC,MAAY,CAAC,IAAMmC,EAAE,MAAM,QAAQC,CAAM,GAAGA,EAAO,OAAO,EAAEA,EAAOJ,EAAc,GAAGG,EAAE,QAAQ,EAAE,OAAOA,EAAE,MAAM,EAAE,CAAC,EAAE,IAAME,EAAI,CAAC,GAAGF,CAAC,EAAE,KAAME,EAAI,OAAO,GAAEA,EAAI,KAAKF,EAAEE,EAAI,OAAOF,EAAE,OAAO,EAAE,OAAOE,CAAI,EAAE,CAACD,CAAM,CAAC,EAAQE,EAAarC,EAAO,IAAI,EAAQsC,EAAetC,EAAO,IAAI,EAAQuC,EAAOxB,EAAUsB,EAAa,CAAC,OAAO,oBAAoB,OAAO,EAAE,CAAC,EAE/0B,CAACG,EAAeC,GAAmBxC,EAAS,CAAC,EAAEY,MAAc,CAAC,GAAUC,IAAS,OAAY,OAAO,IAAM4B,EAAGL,EAAa,QAAQ,GAAG,CAACK,EAAG,OAAO,IAAMC,MAAWF,EAAkBC,EAAG,WAAW,EAAEC,EAAO,EAAE,IAAMC,EAAG,IAAI,eAAeD,CAAM,EAAiB,OAAfC,EAAG,QAAQF,CAAE,MAAYE,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAGlS,IAAMjB,EAASkB,GAAgBL,EAAe,GAAGA,EAAe,IAAS,CAACM,EAAYC,GAAgB9C,MAA4EqB,EAAM,KAAK,MAA/D,OAAO,SAAS0B,CAAY,EAAEA,EAAa,CAA6B,EAAE,EAAE,CAAC,CAAG,EAAO,CAACC,EAASC,GAAajD,EAAS,CAAC,EAAQkD,EAAKjD,EAAY,GAAK,CAACI,MAAoB,CAACyC,EAAezB,EAAM,KAAK,MAAM8B,CAAG,EAAE,EAAE,CAAC,CAAC,EAAEF,EAAY,CAAC,CAAE,CAAC,CAAE,EAAE,CAAC,CAAC,EAAQG,EAAKnD,MAAgB,CAACI,MAAoB,CAACyC,EAAe,IAAOO,EAAK,GAAG,CAAC,EAAEJ,EAAY,CAAC,CAAE,CAAC,CAAE,EAAE,CAAC,CAAC,EAErdrC,MAAc,CAA0D,GAAtDiB,GAAmB,CAACyB,GAAmB,CAAChB,GAAwBzB,IAAS,OAAY,OAAO,IAAM0C,EAAW,KAAK,IAAI,IAAIC,CAAY,EAAE,IAAQC,EAAI,EAAQC,EAAM,YAAY,IAAI,EAAQC,EAAK,GAAK,CAAC,IAAMC,EAAEvC,GAAOwC,EAAIH,GAAOH,EAAW,EAAE,CAAC,EAAElD,MAAoB4C,EAAYW,CAAC,CAAC,EAAKA,GAAG,EAAGR,EAAK,EAAU,EAAIvC,EAAO,sBAAsB8C,CAAI,CAAE,EAAyC,MAAvC,GAAI9C,EAAO,sBAAsB8C,CAAI,MAAY9C,EAAO,qBAAqB4C,CAAG,CAAE,EAAE,CAAC5B,EAASyB,EAAShB,EAAOO,EAAYW,EAAaJ,CAAI,CAAC,EAAE,IAAMU,EAAY9B,EAAWa,IAAcf,EAAc,GAASiC,EAAYtC,EAAaqC,EAAYpC,CAAQ,EAGnmBd,MAAc,CAAoB,GAAhBiB,GAAmBkC,EAAY,OAAO,SAAS,CAACA,EAAY,SAAS,OAAO,IAAMC,EAAM3B,EAAe,QAAQ,GAAG,CAAC2B,EAAM,OAAO,IAAIC,EAAU,KAAWC,MAAgB,CAAC,EAAU,eAAe,CAAC,GAAG,CAAC,EAAM,YAAY,EAAEF,EAAM,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,EAAE,KAAK,IAAI,EAAEG,CAAgB,EAAE,GAAG,CAAE,EAA8C,OAA5CH,EAAM,iBAAiB,QAAQE,CAAW,MAAY,CAACF,EAAM,oBAAoB,QAAQE,CAAW,EAAKD,GAAU,aAAaA,CAAS,CAAE,CAAE,EAAE,CAACpC,EAASgB,EAAYkB,EAAY,KAAKA,EAAY,SAASI,CAAgB,CAAC,EACnhB,IAAMC,EAAatE,MAAY,CAAC,IAAMuE,EAAK,CAAC,EAAE,IAAI,IAAMpC,KAAKD,EAAeC,EAAE,OAAMoC,EAAK,KAAKpC,EAAE,KAAK,EAAKA,EAAE,aAAYoC,EAAK,KAAKpC,EAAE,WAAW,EAAG,OAAO,MAAM,KAAK,IAAI,IAAIoC,CAAI,CAAC,CAAE,EAAE,CAACrC,CAAU,CAAC,EAAQsC,GAAmBxE,OAAa,CAAC,GAAGiC,EAAM,MAAM,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,UAAQ,UAAU,aAAa,QAAQ,OAAO,cAAc,SAAS,KAAG,GAAG,CAACA,EAAM,MAAMwC,EAAQC,EAAI9C,CAAQ,CAAC,EAAQ+C,EAAW,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,QAAQ,OAAO,EAC/dC,GAAahD,EAAS,CAAC,CAAC,MAAMoC,EAAY,IAAIjB,CAAW,CAAC,EAAEb,EAAW,KAAK,EAAM,KAAO,CAAC,QAAM,KAAG,EAAE,EAAE,MAAoB,gBAAM,UAAU,CAAC,IAAII,EAAa,MAAMkC,GAAmB,uBAAuB,WAAW,SAAS,CAAc,gBAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,IAAI,MAAM,KAAK,MAAM,SAAS,SAAS,cAAc,MAAM,EAAE,SAASF,EAAa,IAAI,GAAkB,gBAAK,QAAQ,CAAK,MAAI,QAAQ,OAAO,MAAM,GAAK,YAAY,EAAI,EAAEO,CAAG,CAAC,CAAC,CAAC,EAAe,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAOC,EAAgB,aAAaC,EAAY,SAAS,QAAQ,EAAE,SAAsB,gBAAK9D,EAAO,IAAI,CAAC,QAAQ,IAAe,CAAC,QAAQ,CAAC,EAAE,QAAQc,EAAS,IAAA,GAAU,CAAC,QAAQ,CAAC,EAAa,aAAW,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,MAAM,OAAO,OAAO,MAAM,EAAE,SAASkC,EAAY,OAAO,SAASA,EAAY,SAAsB,gBAAK,QAAQ,CAAC,IAAI1B,EAAe,IAAI0B,EAAY,SAAS,SAAS,GAAK,MAAM,GAAK,YAAY,GAAK,QAAQ,OAAO,MAAMU,CAAU,EAAEV,EAAY,QAAQ,EAAEA,EAAY,OAAO,IAAiB,gBAAK,MAAM,CAAC,IAAIA,EAAY,MAAM,IAAI,OAAOA,EAAY,MAAM,OAAO,IAAIA,EAAY,MAAM,KAAK,GAAG,MAAMU,CAAU,EAAEV,EAAY,MAAM,GAAG,EAAE,IAAI,EAAElB,CAAW,CAAC,CAAC,EAAe,gBAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,QAAQ,OAAO,oBAAoBnB,EAAS,MAAM,4BAA4B,IAAI,CAAC,EAAE,UAAUA,EAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAA,CAAG,IAAI,GAA8H,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,EAAE,aAAa,IAAI,WAAWoD,EAAmB,SAAS,QAAQ,EAAE,SAAsB,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,WAAWC,EAAkB,gBAAgB,SAAS,UAAU,UAA1YrD,EAASG,EAAS,EAAEmB,EAASgC,EAAInC,EAAY,EAAEmC,IAAMnC,EAAYhB,EAAS,EAAEmB,EAAS,EAAsU,EAAE,CAAC,CAAC,CAAC,EAAEgC,CAAG,CAAG,CAAC,CAAC,EAAe,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,QAAQtD,EAAS,OAAO,OAAO,oBAAoBA,EAAS,IAAA,GAAU,4BAA4B,IAAIA,EAAS,EAAE,EAAE,WAAW,SAAS,EAAE,SAASgD,GAAa,KAAK,CAAC,QAAM,SAAO,CAAC,IAAMO,EAAS9B,IAAMN,EAAY,MAAoB,gBAAK,SAAS,CAAC,KAAK,SAAS,YAAYnB,EAAS0B,EAAK,EAAEF,EAAKC,CAAG,EAAE,eAAe8B,EAAS,MAAM,CAAC,WAAW,OAAO,OAAO,OAAO,WAAW,cAAc,QAAQ,EAAE,UAAU,OAAO,OAAO,UAAU,MAAM,UAAU,MAAM,OAAO,QAAQ,MAAM,EAAE,SAAsB,gBAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,WAAWA,EAASC,EAA0BC,EAA4B,aAAaC,EAAW,QAAQ,GAAG,UAAU,aAAa,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,UAAU,0BAA0B,EAAE,SAAS,CAAc,gBAAK,MAAM,CAAC,MAAM,CAAC,GAAGC,EAAU,MAAMC,EAAW,OAAO,EAAE,WAAYD,GAAW,YAAa,OAAO,EAAE,SAAS1D,EAAM,KAAK,CAAC,EAAe,gBAAK,MAAM,CAAC,MAAM,CAAC,GAAG4D,EAAgB,MAAMC,EAAiB,QAAQP,EAAS,GAAG,IAAI,OAAO,EAAE,WAAYM,GAAiB,YAAa,OAAO,EAAE,SAAS5D,EAAM,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEwB,CAAG,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,wDArB5vF,EAAc,CAAC,CAAC,MAAM,MAAM,YAAY,0EAA0E,iBAAiB,QAAQ,gBAAgB,QAAQ,MAAM,CAAC,IAAI,sEAAsE,IAAI,SAAS,EAAE,YAAY,CAAC,IAAI,oEAAoE,IAAI,kBAAkB,CAAC,EAAE,CAAC,MAAM,MAAM,YAAY,mFAAmF,iBAAiB,QAAQ,gBAAgB,QAAQ,MAAM,CAAC,IAAI,oEAAoE,IAAI,SAAS,EAAE,YAAY,CAAC,IAAI,uEAAuE,IAAI,kBAAkB,CAAC,EAAE,CAAC,MAAM,UAAU,YAAY,wEAAwE,iBAAiB,QAAQ,gBAAgB,QAAQ,MAAM,CAAC,IAAI,uEAAuE,IAAI,SAAS,EAAE,YAAY,CAAC,IAAI,oEAAoE,IAAI,kBAAkB,CAAC,CAAC,EAqB4rDlC,EAAoBW,EAAe,CAAC,OAAO,CAAC,KAAKR,EAAY,MAAM,MAAM,SAAS,SAAS,EAAE,aAAa,CAAC,CAAC,MAAMU,EAAc,EAAE,CAAC,MAAM,YAAYA,EAAc,EAAE,CAAC,YAAY,iBAAiB,QAAQ,gBAAgB,OAAO,EAAE,CAAC,MAAMA,EAAc,EAAE,CAAC,MAAM,YAAYA,EAAc,EAAE,CAAC,YAAY,iBAAiB,QAAQ,gBAAgB,OAAO,EAAE,CAAC,MAAMA,EAAc,EAAE,CAAC,MAAM,YAAYA,EAAc,EAAE,CAAC,YAAY,iBAAiB,QAAQ,gBAAgB,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAKV,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,aAAa,KAAK,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,0EAA0E,gBAAgB,EAAI,EAAE,iBAAiB,CAAC,KAAKA,EAAY,KAAK,MAAM,kBAAkB,QAAQ,CAAC,QAAQ,OAAO,EAAE,aAAa,CAAC,QAAQ,OAAO,EAAE,aAAa,QAAQ,wBAAwB,EAAI,EAAE,MAAM,CAAC,KAAKA,EAAY,gBAAgB,MAAM,kBAAkB,OAAO,EAAM,CAAC,OAAOW,EAAM,mBAAmB,OAAQ,CAAC,EAAE,MAAM,CAAC,KAAKX,EAAY,KAAK,MAAM,kBAAkB,iBAAiB,CAAC,MAAM,OAAO,KAAK,EAAE,OAAO,EAAM,CAAC,OAAOW,EAAM,mBAAmB,OAAQ,CAAC,EAAE,gBAAgB,CAAC,KAAKX,EAAY,KAAK,MAAM,iBAAiB,QAAQ,CAAC,QAAQ,OAAO,EAAE,aAAa,CAAC,QAAQ,OAAO,EAAE,aAAa,QAAQ,wBAAwB,EAAI,EAAE,YAAY,CAAC,KAAKA,EAAY,gBAAgB,MAAM,iBAAiB,OAAO,EAAM,CAAC,OAAOW,EAAM,kBAAkB,OAAQ,CAAC,EAAE,YAAY,CAAC,KAAKX,EAAY,KAAK,MAAM,iBAAiB,iBAAiB,CAAC,MAAM,OAAO,KAAK,EAAE,OAAO,EAAM,CAAC,OAAOW,EAAM,kBAAkB,OAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,KAAKX,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,EAAE,SAAS,CAAC,KAAKA,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,gBAAgB,YAAY,kEAAkE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,iBAAiB,CAAC,KAAKA,EAAY,OAAO,MAAM,iBAAiB,YAAY,qFAA2F,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,0BAA0B,CAAC,KAAKA,EAAY,MAAM,MAAM,cAAc,aAAa,SAAS,EAAE,4BAA4B,CAAC,KAAKA,EAAY,MAAM,MAAM,gBAAgB,aAAa,SAAS,EAAE,WAAW,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,iBAAiB,CAAC,KAAKA,EAAY,MAAM,MAAM,cAAc,aAAa,SAAS,EAAE,mBAAmB,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,kBAAkB,CAAC,KAAKA,EAAY,MAAM,MAAM,WAAW,aAAa,SAAS,EAAE,UAAU,CAAC,KAAKA,EAAY,KAAK,MAAM,aAAa,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,WAAW,cAAc,UAAU,WAAW,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAKA,EAAY,KAAK,MAAM,mBAAmB,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,SAAS,cAAc,UAAU,WAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,YAAY,2IAA8I,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC,KAAKA,EAAY,OAAO,MAAM,MAAM,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,gBAAgB,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC,KAAKA,EAAY,WAAW,MAAM,aAAa,aAAa,CAAC,KAAK,QAAQ,KAAK,UAAU,SAAS,GAAG,CAAC,CAAC,CAAC,C"}