{"version":3,"file":"BeforeAfterImage.BbuPbrKB.mjs","names":["useRef","useState","useCallback","startTransition","__esmMin","init_ssg_sandbox_shims","te","init_npm_react_18_3_1","_e","de","init_jsx_runtime","ne","p","ce","window","init_framer_BWFVvmND","useIsStaticRenderer","ControlType","addPropertyControls","BeforeAfterImage","props","isHorizontal","orientation","containerRef","position","setPosition","initialPosition","isDragging","setIsDragging","isHovering","setIsHovering","touchStartPos","isStatic","updatePositionFromEvent","rect","clientX","clientY","x","newPosition","y","handleClick","handleDoubleClick","handleMouseDown","handleMouseMove","handleMouseUp","handleTouchStart","touch","handleTouchMove","deltaX","deltaY","handleTouchEnd","handleKeyDown","enableKeyboard","step","handleGlobalMouseMove","handleGlobalMouseUp","handleGlobalTouchMove","handleGlobalTouchEnd","renderIcon","handleIcon","iconSize","handleSize","customHandleIcon","handleIconColor","dividerShadowStyle","dividerShadow","dividerShadowBlur","dividerShadowColor","handleOpacity","enableHover","hoverOpacity","getLabelPositionStyles","baseStyles","borderRadius","interactionMode","afterImage","showLabels","afterLabelPosition","labelBackgroundColor","labelColor","labelPadding","labelBorderRadius","labelFont","afterLabel","transitionDuration","beforeImage","beforeLabelPosition","beforeLabel","dividerWidth","dividerColor","showHandle","handleShape","handleColor","init_BeforeAfterImage"],"sources":["https:/framerusercontent.com/modules/5DZn1I9W9NBU7cjWMkEm/fT10iohFqi9nTrOOiBbu/BeforeAfterImage.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useCallback,useEffect,useRef,useState,startTransition}from\"react\";/**\n * Before After Image Comparison\n *\n * A fully customizable component for comparing two images with a draggable divider.\n * Supports horizontal/vertical orientation, custom handles, labels, and keyboard navigation.\n *\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function BeforeAfterImage(props){const{beforeImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Before image\"},afterImage={src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"After image\"},orientation=\"horizontal\",initialPosition=50,interactionMode=\"drag\",dividerColor=\"#FFFFFF\",dividerWidth=3,dividerShadow=true,dividerShadowColor=\"#000000\",dividerShadowBlur=8,showHandle=true,handleColor=\"#FFFFFF\",handleSize=48,handleShape=\"circle\",handleIcon=\"arrows\",handleIconColor=\"#000000\",showLabels=true,beforeLabel=\"Before\",afterLabel=\"After\",labelFont,labelColor=\"#FFFFFF\",labelBackgroundColor=\"#000000\",labelPadding=8,labelBorderRadius=4,beforeLabelPosition=\"top-left\",afterLabelPosition=\"top-right\",enableKeyboard=true,enableHover=true,hoverOpacity=.8,transitionDuration=.2,borderRadius=0,customHandleIcon}=props;const isHorizontal=orientation===\"horizontal\";const containerRef=useRef(null);const[position,setPosition]=useState(initialPosition);const[isDragging,setIsDragging]=useState(false);const[isHovering,setIsHovering]=useState(false);const touchStartPos=useRef(null);const isStatic=useIsStaticRenderer();const updatePositionFromEvent=useCallback(e=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();// Handle both mouse and touch events\nconst clientX=\"touches\"in e?e.touches[0]?.clientX:e.clientX;const clientY=\"touches\"in e?e.touches[0]?.clientY:e.clientY;if(isHorizontal){const x=clientX-rect.left;const newPosition=Math.max(0,Math.min(100,x/rect.width*100));startTransition(()=>setPosition(newPosition));}else{const y=clientY-rect.top;const newPosition=Math.max(0,Math.min(100,y/rect.height*100));startTransition(()=>setPosition(newPosition));}},[isHorizontal]);const handleClick=useCallback(e=>{if(!isDragging){updatePositionFromEvent(e);}},[isDragging,updatePositionFromEvent]);const handleDoubleClick=()=>{startTransition(()=>setPosition(initialPosition));};const handleMouseDown=e=>{e.preventDefault();startTransition(()=>setIsDragging(true));};const handleMouseMove=useCallback(e=>{if(!isDragging||!containerRef.current)return;updatePositionFromEvent(e);},[isDragging,updatePositionFromEvent]);const handleMouseUp=useCallback(()=>{startTransition(()=>setIsDragging(false));},[]);const handleTouchStart=e=>{const touch=e.touches[0];touchStartPos.current={x:touch.clientX,y:touch.clientY};startTransition(()=>setIsDragging(true));};const handleTouchMove=useCallback(e=>{if(!isDragging||!containerRef.current||!touchStartPos.current)return;const touch=e.touches[0];const deltaX=Math.abs(touch.clientX-touchStartPos.current.x);const deltaY=Math.abs(touch.clientY-touchStartPos.current.y);// For horizontal slider, prevent default only if moving more horizontally than vertically\n// For vertical slider, prevent default only if moving more vertically than horizontally\nif(isHorizontal&&deltaX>deltaY){e.preventDefault();}else if(!isHorizontal&&deltaY>deltaX){e.preventDefault();}// Only update position if we're moving in the slider's direction\nif(isHorizontal&&deltaX>deltaY||!isHorizontal&&deltaY>deltaX){updatePositionFromEvent(e);}},[isDragging,updatePositionFromEvent,isHorizontal]);const handleTouchEnd=useCallback(()=>{touchStartPos.current=null;startTransition(()=>setIsDragging(false));},[]);const handleKeyDown=useCallback(e=>{if(!enableKeyboard)return;const step=e.shiftKey?10:1;let newPosition=position;if(isHorizontal){if(e.key===\"ArrowLeft\"){newPosition=Math.max(0,position-step);}else if(e.key===\"ArrowRight\"){newPosition=Math.min(100,position+step);}}else{if(e.key===\"ArrowUp\"){newPosition=Math.max(0,position-step);}else if(e.key===\"ArrowDown\"){newPosition=Math.min(100,position+step);}}if(e.key===\"Home\"){newPosition=0;}else if(e.key===\"End\"){newPosition=100;}if(newPosition!==position){e.preventDefault();startTransition(()=>setPosition(newPosition));}},[position,isHorizontal,enableKeyboard]);useEffect(()=>{if(isStatic)return;const handleGlobalMouseMove=e=>handleMouseMove(e);const handleGlobalMouseUp=()=>handleMouseUp();const handleGlobalTouchMove=e=>handleTouchMove(e);const handleGlobalTouchEnd=()=>handleTouchEnd();if(isDragging){window.addEventListener(\"mousemove\",handleGlobalMouseMove);window.addEventListener(\"mouseup\",handleGlobalMouseUp);window.addEventListener(\"touchmove\",handleGlobalTouchMove,{passive:false});window.addEventListener(\"touchend\",handleGlobalTouchEnd);}return()=>{window.removeEventListener(\"mousemove\",handleGlobalMouseMove);window.removeEventListener(\"mouseup\",handleGlobalMouseUp);window.removeEventListener(\"touchmove\",handleGlobalTouchMove);window.removeEventListener(\"touchend\",handleGlobalTouchEnd);};},[isDragging,handleMouseMove,handleMouseUp,handleTouchMove,handleTouchEnd,isStatic]);const renderIcon=()=>{if(handleIcon===\"none\")return null;const iconSize=handleSize*.5;// Custom icon image\nif(customHandleIcon&&customHandleIcon.src){return /*#__PURE__*/_jsx(\"img\",{src:customHandleIcon.src,srcSet:customHandleIcon.srcSet,alt:customHandleIcon.alt||\"Handle icon\",style:{width:iconSize,height:iconSize,objectFit:\"contain\"}});}if(handleIcon===\"arrows\"){return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:iconSize,height:iconSize,strokeWidth:\"2.5\",stroke:handleIconColor,fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M13 5l6 6m-6 6l6-6m-6 0l-6 6m6-6l-6-6\"})});}if(handleIcon===\"chevrons\"){return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:iconSize,height:iconSize,strokeWidth:\"2.5\",stroke:handleIconColor,fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M11 17l-5-5 5-5M18 17l-5-5 5-5\"})});}return null;};const dividerShadowStyle=dividerShadow?`0 0 ${dividerShadowBlur}px ${dividerShadowColor}`:\"none\";const handleOpacity=enableHover&&isHovering?hoverOpacity:1;const getLabelPositionStyles=position=>{const baseStyles={position:\"absolute\"};switch(position){case\"top-left\":return{...baseStyles,top:16,left:16};case\"top-right\":return{...baseStyles,top:16,right:16};case\"bottom-left\":return{...baseStyles,bottom:16,left:16};case\"bottom-right\":return{...baseStyles,bottom:16,right:16};default:return{...baseStyles,top:16,left:16};}};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",cursor:isDragging?isHorizontal?\"ew-resize\":\"ns-resize\":\"pointer\",userSelect:\"none\",borderRadius:`${borderRadius}px`},onClick:isStatic?undefined:handleClick,onMouseMove:isStatic?undefined:e=>{if(interactionMode===\"hover\"){updatePositionFromEvent(e);}},onMouseDown:isStatic?undefined:handleMouseDown,onMouseUp:isStatic?undefined:handleMouseUp,onTouchStart:isStatic?undefined:handleTouchStart,onMouseEnter:()=>startTransition(()=>setIsHovering(true)),onMouseLeave:()=>startTransition(()=>setIsHovering(false)),onDoubleClick:handleDoubleClick,onKeyDown:enableKeyboard?handleKeyDown:undefined,tabIndex:enableKeyboard?0:undefined,role:\"slider\",\"aria-valuenow\":position,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-orientation\":orientation,\"aria-label\":\"Image comparison slider\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"img\",{src:afterImage.src,srcSet:afterImage.srcSet,alt:afterImage.alt||\"After image\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:{...getLabelPositionStyles(afterLabelPosition),backgroundColor:labelBackgroundColor,color:labelColor,padding:`${labelPadding}px ${labelPadding*1.5}px`,borderRadius:labelBorderRadius,...labelFont,pointerEvents:\"none\"},children:afterLabel})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",clipPath:isHorizontal?`inset(0 ${100-position}% 0 0)`:`inset(0 0 ${100-position}% 0)`,transition:isDragging?\"none\":`clip-path ${transitionDuration}s ease-out`},children:[/*#__PURE__*/_jsx(\"img\",{src:beforeImage.src,srcSet:beforeImage.srcSet,alt:beforeImage.alt||\"Before image\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:{...getLabelPositionStyles(beforeLabelPosition),backgroundColor:labelBackgroundColor,color:labelColor,padding:`${labelPadding}px ${labelPadding*1.5}px`,borderRadius:labelBorderRadius,...labelFont,pointerEvents:\"none\"},children:beforeLabel})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isHorizontal?0:`${position}%`,left:isHorizontal?`${position}%`:0,width:isHorizontal?`${dividerWidth}px`:\"100%\",height:isHorizontal?\"100%\":`${dividerWidth}px`,backgroundColor:dividerColor,boxShadow:dividerShadowStyle,transform:isHorizontal?`translateX(-${dividerWidth/2}px)`:`translateY(-${dividerWidth/2}px)`,cursor:isHorizontal?\"ew-resize\":\"ns-resize\",zIndex:2,transition:isDragging?\"none\":`all ${transitionDuration}s ease-out`},onMouseDown:isStatic?undefined:handleMouseDown,onTouchStart:isStatic?undefined:handleTouchStart}),showHandle&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isHorizontal?`calc(50% - ${handleSize/2}px)`:`${position}%`,left:isHorizontal?`${position}%`:`calc(50% - ${handleSize/2}px)`,width:`${handleSize}px`,height:`${handleSize}px`,borderRadius:handleShape===\"circle\"?\"50%\":`${labelBorderRadius}px`,backgroundColor:handleColor,border:`2px solid ${handleColor}`,boxShadow:dividerShadowStyle,transform:isHorizontal?`translateX(-${handleSize/2}px)`:`translateY(-${handleSize/2}px)`,cursor:isHorizontal?\"ew-resize\":\"ns-resize\",zIndex:3,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",opacity:handleOpacity,transition:isDragging?`opacity ${transitionDuration}s ease-out`:`all ${transitionDuration}s ease-out`},onMouseDown:isStatic?undefined:handleMouseDown,onTouchStart:isStatic?undefined:handleTouchStart,children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",height:\"100%\",transform:isHorizontal?\"rotate(90deg)\":\"rotate(0deg)\"},children:renderIcon()})})]});}addPropertyControls(BeforeAfterImage,{beforeImage:{type:ControlType.ResponsiveImage,title:\"Before Image\"},afterImage:{type:ControlType.ResponsiveImage,title:\"After Image\"},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:0,min:0,max:50,step:1,unit:\"px\"},orientation:{type:ControlType.Enum,title:\"Orientation\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],defaultValue:\"horizontal\",displaySegmentedControl:true},initialPosition:{type:ControlType.Number,title:\"Initial Position\",defaultValue:50,min:0,max:100,step:1,unit:\"%\"},interactionMode:{type:ControlType.Enum,title:\"Interaction Mode\",options:[\"hover\",\"drag\"],optionTitles:[\"Hover\",\"Click & Drag\"],defaultValue:\"drag\",displaySegmentedControl:true},dividerColor:{type:ControlType.Color,title:\"Divider Color\",defaultValue:\"#FFFFFF\"},dividerWidth:{type:ControlType.Number,title:\"Divider Width\",defaultValue:3,min:1,max:20,step:1,unit:\"px\"},dividerShadow:{type:ControlType.Boolean,title:\"Divider Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},dividerShadowColor:{type:ControlType.Color,title:\"Shadow Color\",defaultValue:\"#000000\",hidden:({dividerShadow})=>!dividerShadow},dividerShadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",defaultValue:8,min:0,max:30,step:1,unit:\"px\",hidden:({dividerShadow})=>!dividerShadow},showHandle:{type:ControlType.Boolean,title:\"Show Handle\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},handleColor:{type:ControlType.Color,title:\"Handle Color\",defaultValue:\"#FFFFFF\",hidden:({showHandle})=>!showHandle},handleSize:{type:ControlType.Number,title:\"Handle Size\",defaultValue:48,min:24,max:100,step:2,unit:\"px\",hidden:({showHandle})=>!showHandle},handleShape:{type:ControlType.Enum,title:\"Handle Shape\",options:[\"circle\",\"square\"],optionTitles:[\"Circle\",\"Square\"],defaultValue:\"circle\",displaySegmentedControl:true,hidden:({showHandle})=>!showHandle},handleIcon:{type:ControlType.Enum,title:\"Handle Icon\",options:[\"arrows\",\"chevrons\",\"none\"],optionTitles:[\"Arrows\",\"Chevrons\",\"None\"],defaultValue:\"arrows\",hidden:({showHandle})=>!showHandle},customHandleIcon:{type:ControlType.ResponsiveImage,title:\"Custom Icon\",hidden:({showHandle})=>!showHandle},handleIconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#000000\",hidden:({showHandle,handleIcon,customHandleIcon})=>!showHandle||handleIcon===\"none\"||!!(customHandleIcon&&customHandleIcon.src)},showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},beforeLabel:{type:ControlType.String,title:\"Before Label\",defaultValue:\"Before\",hidden:({showLabels})=>!showLabels},beforeLabelPosition:{type:ControlType.Enum,title:\"Before Position\",options:[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"top-left\",hidden:({showLabels})=>!showLabels},afterLabel:{type:ControlType.String,title:\"After Label\",defaultValue:\"After\",hidden:({showLabels})=>!showLabels},afterLabelPosition:{type:ControlType.Enum,title:\"After Position\",options:[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"top-right\",hidden:({showLabels})=>!showLabels},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},hidden:({showLabels})=>!showLabels},labelColor:{type:ControlType.Color,title:\"Label Text\",defaultValue:\"#FFFFFF\",hidden:({showLabels})=>!showLabels},labelBackgroundColor:{type:ControlType.Color,title:\"Label Background\",defaultValue:\"#000000\",hidden:({showLabels})=>!showLabels},labelPadding:{type:ControlType.Number,title:\"Label Padding\",defaultValue:8,min:4,max:20,step:1,unit:\"px\",hidden:({showLabels})=>!showLabels},labelBorderRadius:{type:ControlType.Number,title:\"Label Radius\",defaultValue:4,min:0,max:20,step:1,unit:\"px\",hidden:({showLabels})=>!showLabels},enableKeyboard:{type:ControlType.Boolean,title:\"Keyboard Nav\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},enableHover:{type:ControlType.Boolean,title:\"Hover Effect\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},hoverOpacity:{type:ControlType.Number,title:\"Hover Opacity\",defaultValue:.8,min:0,max:1,step:.1,hidden:({enableHover})=>!enableHover},transitionDuration:{type:ControlType.Number,title:\"Transition Speed\",defaultValue:.2,min:0,max:1,step:.05,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BeforeAfterImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"400\",\"framerIntrinsicWidth\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BeforeAfterImage.map"],"mappings":"A,qOAWG,SAAwBmB,EAAiB,EAAM,CAAC,GAAK,CAAC,cAAY,CAAC,IAAI,sEAAsE,IAAI,cAAc,EAAE,aAAW,CAAC,IAAI,oEAAoE,IAAI,aAAa,EAAE,cAAY,aAAa,kBAAgB,GAAG,kBAAgB,OAAO,eAAa,UAAU,eAAa,EAAE,gBAAc,GAAK,qBAAmB,UAAU,oBAAkB,EAAE,cAAW,GAAK,cAAY,UAAU,aAAW,GAAG,eAAY,SAAS,aAAW,SAAS,kBAAgB,UAAU,aAAW,GAAK,cAAY,SAAS,cAAW,QAAQ,YAAU,aAAW,UAAU,uBAAqB,UAAU,eAAa,EAAE,oBAAkB,EAAE,uBAAoB,WAAW,sBAAmB,YAAY,iBAAe,GAAK,eAAY,GAAK,eAAa,GAAG,qBAAmB,GAAG,eAAa,EAAE,oBAAkBC,EAAYC,EAAaC,IAAc,aAAmBC,EAAavB,EAAO,IAAI,EAAO,CAACwB,EAASC,GAAaxB,EAASyB,CAAe,EAAO,CAACC,EAAWC,GAAe3B,EAAS,EAAK,EAAO,CAAC4B,EAAWC,GAAe7B,EAAS,EAAK,EAAQ8B,EAAc/B,EAAO,IAAI,EAAQgC,EAAShB,GAAoB,EAAQiB,EAAwB/B,EAAY,GAAG,CAAC,GAAG,CAACqB,EAAa,QAAQ,OAAO,IAAMW,EAAKX,EAAa,QAAQ,sBAAsB,EAChyCY,EAAQ,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAcC,EAAQ,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAGf,EAAa,CAAC,IAAMgB,EAAEF,EAAQD,EAAK,KAAWI,EAAY,KAAK,IAAI,EAAE,KAAK,IAAI,IAAID,EAAEH,EAAK,MAAM,GAAG,CAAC,EAAE5B,MAAoBmB,EAAYa,CAAW,CAAC,CAAE,KAAK,CAAC,IAAMC,EAAEH,EAAQF,EAAK,IAAUI,EAAY,KAAK,IAAI,EAAE,KAAK,IAAI,IAAIC,EAAEL,EAAK,OAAO,GAAG,CAAC,EAAE5B,MAAoBmB,EAAYa,CAAW,CAAC,CAAE,CAAC,EAAE,CAACjB,CAAY,CAAC,EAAQmB,EAAYtC,EAAY,GAAG,CAAKyB,GAAYM,EAAwB,CAAC,CAAG,EAAE,CAACN,EAAWM,CAAuB,CAAC,EAAQQ,OAAsB,CAACnC,MAAoBmB,EAAYC,CAAe,CAAC,CAAE,EAAQgB,EAAgB,GAAG,CAAC,EAAE,eAAe,EAAEpC,MAAoBsB,EAAc,EAAI,CAAC,CAAE,EAAQe,EAAgBzC,EAAY,GAAG,CAAKyB,GAAaJ,EAAa,SAAeU,EAAwB,CAAC,CAAE,EAAE,CAACN,EAAWM,CAAuB,CAAC,EAAQW,EAAc1C,MAAgB,CAACI,MAAoBsB,EAAc,EAAK,CAAC,CAAE,EAAE,CAAC,CAAC,EAAQiB,EAAiB,GAAG,CAAC,IAAMC,EAAM,EAAE,QAAQ,GAAG,EAAc,QAAQ,CAAC,EAAEA,EAAM,QAAQ,EAAEA,EAAM,OAAO,EAAExC,MAAoBsB,EAAc,EAAI,CAAC,CAAE,EAAQmB,EAAgB7C,EAAY,GAAG,CAAC,GAAG,CAACyB,GAAY,CAACJ,EAAa,SAAS,CAACQ,EAAc,QAAQ,OAAO,IAAMe,EAAM,EAAE,QAAQ,GAASE,EAAO,KAAK,IAAIF,EAAM,QAAQf,EAAc,QAAQ,CAAC,EAAQkB,EAAO,KAAK,IAAIH,EAAM,QAAQf,EAAc,QAAQ,CAAC,GAEt0CV,GAAc2B,EAAOC,GAAoC,CAAC5B,GAAc4B,EAAOD,IAAQ,EAAE,eAAe,GACxG3B,GAAc2B,EAAOC,GAAQ,CAAC5B,GAAc4B,EAAOD,IAAQf,EAAwB,CAAC,CAAG,EAAE,CAACN,EAAWM,EAAwBZ,CAAY,CAAC,EAAQ6B,EAAehD,MAAgB,CAAC,EAAc,QAAQ,KAAKI,MAAoBsB,EAAc,EAAK,CAAC,CAAE,EAAE,CAAC,CAAC,EAAQuB,GAAcjD,EAAY,GAAG,CAAC,GAAG,CAACkD,EAAe,OAAO,IAAMC,EAAK,EAAE,SAAS,GAAG,EAAMf,EAAYd,EAAYH,EAAiB,EAAE,MAAM,YAAa,EAAY,KAAK,IAAI,EAAEG,EAAS6B,CAAI,EAAW,EAAE,MAAM,eAAc,EAAY,KAAK,IAAI,IAAI7B,EAAS6B,CAAI,GAAY,EAAE,MAAM,UAAW,EAAY,KAAK,IAAI,EAAE7B,EAAS6B,CAAI,EAAW,EAAE,MAAM,cAAa,EAAY,KAAK,IAAI,IAAI7B,EAAS6B,CAAI,GAAO,EAAE,MAAM,OAAQ,EAAY,EAAW,EAAE,MAAM,QAAO,EAAY,KAAQf,IAAcd,IAAU,EAAE,eAAe,EAAElB,MAAoBmB,EAAYa,CAAW,CAAC,EAAG,EAAE,CAACd,EAASH,EAAa+B,CAAc,CAAC,EAAEvC,OAAc,CAAC,GAAGmB,EAAS,OAAO,IAAMsB,EAAsB,GAAGX,EAAgB,CAAC,EAAQY,MAAwBX,EAAc,EAAQY,EAAsB,GAAGT,EAAgB,CAAC,EAAQU,MAAyBP,EAAe,EAAwQ,OAAnQvB,IAAYb,EAAO,iBAAiB,YAAYwC,CAAqB,EAAExC,EAAO,iBAAiB,UAAUyC,CAAmB,EAAEzC,EAAO,iBAAiB,YAAY0C,EAAsB,CAAC,QAAQ,EAAK,CAAC,EAAE1C,EAAO,iBAAiB,WAAW2C,CAAoB,OAAa,CAAC3C,EAAO,oBAAoB,YAAYwC,CAAqB,EAAExC,EAAO,oBAAoB,UAAUyC,CAAmB,EAAEzC,EAAO,oBAAoB,YAAY0C,CAAqB,EAAE1C,EAAO,oBAAoB,WAAW2C,CAAoB,CAAE,CAAE,EAAE,CAAC9B,EAAWgB,EAAgBC,EAAcG,EAAgBG,EAAelB,CAAQ,CAAC,EAAE,IAAM0B,OAAe,CAAC,GAAGC,IAAa,OAAO,OAAO,KAAK,IAAMC,EAASC,EAAW,GAChgC,OAAnvBC,GAAkBA,EAAiB,IAAyB,gBAAK,MAAM,CAAC,IAAIA,EAAiB,IAAI,OAAOA,EAAiB,OAAO,IAAIA,EAAiB,KAAK,cAAc,MAAM,CAAC,MAAMF,EAAS,OAAOA,EAAS,UAAU,SAAS,CAAC,CAAC,EAAMD,IAAa,SAA8B,gBAAK,MAAM,CAAC,QAAQ,YAAY,MAAMC,EAAS,OAAOA,EAAS,YAAY,MAAM,OAAOG,EAAgB,KAAK,OAAO,cAAc,OAAO,SAAsB,gBAAK,OAAO,CAAC,EAAE,uCAAuC,CAAC,CAAC,CAAC,EAAMJ,IAAa,WAAgC,gBAAK,MAAM,CAAC,QAAQ,YAAY,MAAMC,EAAS,OAAOA,EAAS,YAAY,MAAM,OAAOG,EAAgB,KAAK,OAAO,cAAc,OAAO,SAAsB,gBAAK,OAAO,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC,EAAU,IAAK,EAAQC,EAAmBC,EAAc,OAAOC,EAAkB,KAAKC,IAAqB,OAAaC,GAAcC,IAAaxC,EAAWyC,EAAa,EAAQC,EAAuB,GAAU,CAAC,IAAMC,EAAW,CAAC,SAAS,UAAU,EAAE,OAAOhD,EAAP,CAAiB,IAAI,WAAW,MAAM,CAAC,GAAGgD,EAAW,IAAI,GAAG,KAAK,EAAE,EAAE,IAAI,YAAY,MAAM,CAAC,GAAGA,EAAW,IAAI,GAAG,MAAM,EAAE,EAAE,IAAI,cAAc,MAAM,CAAC,GAAGA,EAAW,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,eAAe,MAAM,CAAC,GAAGA,EAAW,OAAO,GAAG,MAAM,EAAE,EAAE,QAAQ,MAAM,CAAC,GAAGA,EAAW,IAAI,GAAG,KAAK,EAAE,CAAE,CAAC,EAAE,MAAoB,gBAAM,MAAM,CAAC,IAAIjD,EAAa,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,SAAS,SAAS,OAAOI,EAAWN,EAAa,YAAY,YAAY,UAAU,WAAW,OAAO,aAAa,GAAGoD,EAAa,GAAG,EAAE,QAAQzC,EAAS,IAAA,GAAUQ,EAAY,YAAYR,EAAS,IAAA,GAAU,GAAG,CAAI0C,IAAkB,SAASzC,EAAwB,CAAC,CAAG,EAAE,YAAYD,EAAS,IAAA,GAAUU,EAAgB,UAAUV,EAAS,IAAA,GAAUY,EAAc,aAAaZ,EAAS,IAAA,GAAUa,EAAiB,iBAAiB1C,MAAoB2B,EAAc,EAAI,CAAC,EAAE,iBAAiB3B,MAAoB2B,EAAc,EAAK,CAAC,EAAE,cAAcW,GAAkB,UAAUW,EAAeD,GAAc,IAAA,GAAU,SAASC,EAAe,EAAE,IAAA,GAAU,KAAK,SAAS,gBAAgB5B,EAAS,gBAAgB,EAAE,gBAAgB,IAAI,mBAAmBF,EAAY,aAAa,0BAA0B,SAAS,CAAc,gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,MAAM,EAAE,SAAS,CAAc,gBAAK,MAAM,CAAC,IAAIqD,EAAW,IAAI,OAAOA,EAAW,OAAO,IAAIA,EAAW,KAAK,cAAc,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,QAAQ,OAAO,CAAC,CAAC,EAAEC,GAAyB,gBAAK,MAAM,CAAC,MAAM,CAAC,GAAGL,EAAuBM,EAAkB,EAAE,gBAAgBC,EAAqB,MAAMC,EAAW,QAAQ,GAAGC,EAAa,KAAKA,EAAa,IAAI,IAAI,aAAaC,EAAkB,GAAGC,EAAU,cAAc,MAAM,EAAE,SAASC,EAAU,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,OAAO,SAAS9D,EAAa,WAAW,IAAIG,EAAS,QAAQ,aAAa,IAAIA,EAAS,MAAM,WAAWG,EAAW,OAAO,aAAayD,EAAmB,WAAW,EAAE,SAAS,CAAc,gBAAK,MAAM,CAAC,IAAIC,EAAY,IAAI,OAAOA,EAAY,OAAO,IAAIA,EAAY,KAAK,eAAe,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,QAAQ,OAAO,CAAC,CAAC,EAAET,GAAyB,gBAAK,MAAM,CAAC,MAAM,CAAC,GAAGL,EAAuBe,EAAmB,EAAE,gBAAgBR,EAAqB,MAAMC,EAAW,QAAQ,GAAGC,EAAa,KAAKA,EAAa,IAAI,IAAI,aAAaC,EAAkB,GAAGC,EAAU,cAAc,MAAM,EAAE,SAASK,CAAW,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAIlE,EAAa,EAAE,GAAGG,EAAS,GAAG,KAAKH,EAAa,GAAGG,EAAS,GAAG,EAAE,MAAMH,EAAa,GAAGmE,EAAa,IAAI,OAAO,OAAOnE,EAAa,OAAO,GAAGmE,EAAa,IAAI,gBAAgBC,EAAa,UAAUzB,EAAmB,UAAU3C,EAAa,eAAemE,EAAa,EAAE,KAAK,eAAeA,EAAa,EAAE,KAAK,OAAOnE,EAAa,YAAY,YAAY,OAAO,EAAE,WAAWM,EAAW,OAAO,OAAOyD,EAAmB,WAAW,EAAE,YAAYpD,EAAS,IAAA,GAAUU,EAAgB,aAAaV,EAAS,IAAA,GAAUa,CAAgB,CAAC,EAAE6C,IAAyB,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAIrE,EAAa,cAAcwC,EAAW,EAAE,KAAK,GAAGrC,EAAS,GAAG,KAAKH,EAAa,GAAGG,EAAS,GAAG,cAAcqC,EAAW,EAAE,KAAK,MAAM,GAAGA,EAAW,IAAI,OAAO,GAAGA,EAAW,IAAI,aAAa8B,KAAc,SAAS,MAAM,GAAGV,EAAkB,IAAI,gBAAgBW,EAAY,OAAO,aAAaA,IAAc,UAAU5B,EAAmB,UAAU3C,EAAa,eAAewC,EAAW,EAAE,KAAK,eAAeA,EAAW,EAAE,KAAK,OAAOxC,EAAa,YAAY,YAAY,OAAO,EAAE,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,QAAQ+C,GAAc,WAAWzC,EAAW,WAAWyD,EAAmB,YAAY,OAAOA,EAAmB,WAAW,EAAE,YAAYpD,EAAS,IAAA,GAAUU,EAAgB,aAAaV,EAAS,IAAA,GAAUa,EAAiB,SAAsB,gBAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,MAAM,OAAO,OAAO,OAAO,UAAUxB,EAAa,gBAAgB,cAAc,EAAE,SAASqC,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,8CAACxC,EAAoBC,EAAiB,CAAC,YAAY,CAAC,KAAKF,EAAY,gBAAgB,MAAM,cAAc,EAAE,WAAW,CAAC,KAAKA,EAAY,gBAAgB,MAAM,aAAa,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,YAAY,CAAC,KAAKA,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,aAAa,UAAU,EAAE,aAAa,CAAC,aAAa,UAAU,EAAE,aAAa,aAAa,wBAAwB,EAAI,EAAE,gBAAgB,CAAC,KAAKA,EAAY,OAAO,MAAM,mBAAmB,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAKA,EAAY,KAAK,MAAM,mBAAmB,QAAQ,CAAC,QAAQ,MAAM,EAAE,aAAa,CAAC,QAAQ,cAAc,EAAE,aAAa,OAAO,wBAAwB,EAAI,EAAE,aAAa,CAAC,KAAKA,EAAY,MAAM,MAAM,gBAAgB,aAAa,SAAS,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,cAAc,CAAC,KAAKA,EAAY,QAAQ,MAAM,iBAAiB,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,mBAAmB,CAAC,KAAKA,EAAY,MAAM,MAAM,eAAe,aAAa,UAAU,QAAQ,CAAC,mBAAiB,CAACgD,CAAa,EAAE,kBAAkB,CAAC,KAAKhD,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,mBAAiB,CAACgD,CAAa,EAAE,WAAW,CAAC,KAAKhD,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAK,aAAa,OAAO,cAAc,MAAM,EAAE,YAAY,CAAC,KAAKA,EAAY,MAAM,MAAM,eAAe,aAAa,UAAU,QAAQ,CAAC,gBAAc,CAACyE,CAAU,EAAE,WAAW,CAAC,KAAKzE,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,gBAAc,CAACyE,CAAU,EAAE,YAAY,CAAC,KAAKzE,EAAY,KAAK,MAAM,eAAe,QAAQ,CAAC,SAAS,QAAQ,EAAE,aAAa,CAAC,SAAS,QAAQ,EAAE,aAAa,SAAS,wBAAwB,GAAK,QAAQ,CAAC,gBAAc,CAACyE,CAAU,EAAE,WAAW,CAAC,KAAKzE,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,SAAS,WAAW,MAAM,EAAE,aAAa,CAAC,SAAS,WAAW,MAAM,EAAE,aAAa,SAAS,QAAQ,CAAC,gBAAc,CAACyE,CAAU,EAAE,iBAAiB,CAAC,KAAKzE,EAAY,gBAAgB,MAAM,cAAc,QAAQ,CAAC,gBAAc,CAACyE,CAAU,EAAE,gBAAgB,CAAC,KAAKzE,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,QAAQ,CAAC,aAAW,aAAW,sBAAoB,CAACyE,GAAY/B,IAAa,QAAQ,CAAC,EAAEG,GAAkBA,EAAiB,IAAI,EAAE,WAAW,CAAC,KAAK7C,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAK,aAAa,OAAO,cAAc,MAAM,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,aAAa,SAAS,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,oBAAoB,CAAC,KAAK3D,EAAY,KAAK,MAAM,kBAAkB,QAAQ,CAAC,WAAW,YAAY,cAAc,cAAc,EAAE,aAAa,CAAC,WAAW,YAAY,cAAc,cAAc,EAAE,aAAa,WAAW,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,WAAW,CAAC,KAAK3D,EAAY,OAAO,MAAM,cAAc,aAAa,QAAQ,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,mBAAmB,CAAC,KAAK3D,EAAY,KAAK,MAAM,iBAAiB,QAAQ,CAAC,WAAW,YAAY,cAAc,cAAc,EAAE,aAAa,CAAC,WAAW,YAAY,cAAc,cAAc,EAAE,aAAa,YAAY,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,UAAU,CAAC,KAAK3D,EAAY,KAAK,MAAM,aAAa,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,WAAW,cAAc,UAAU,WAAW,KAAK,EAAE,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,WAAW,CAAC,KAAK3D,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,qBAAqB,CAAC,KAAK3D,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,aAAa,CAAC,KAAK3D,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,kBAAkB,CAAC,KAAK3D,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,gBAAc,CAAC2D,CAAU,EAAE,eAAe,CAAC,KAAK3D,EAAY,QAAQ,MAAM,eAAe,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,YAAY,CAAC,KAAKA,EAAY,QAAQ,MAAM,eAAe,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC,iBAAe,CAACoD,CAAW,EAAE,mBAAmB,CAAC,KAAKpD,EAAY,OAAO,MAAM,mBAAmB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,C"}