{"version":3,"file":"SmartTooltips_3.DUlRbPMD.mjs","names":["useState","useRef","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/nP5f7usKjuwH7iabiJrB/9iNtbuhF8aZnXo7oxY7U/SmartTooltips_3.js"],"sourcesContent":["// Advanced Tooltip component with customizable icon, styling, and smart positioning\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,useEffect,useCallback,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Advanced Tooltip\n *\n * @framerIntrinsicWidth 20\n * @framerIntrinsicHeight 20\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function SmartTooltips(props){const{button,tooltip,triggerType,preview}=props;const[isVisible,setIsVisible]=useState(false);const[isHovered,setIsHovered]=useState(false);const[isPinned,setIsPinned]=useState(false);const[viewportWidth,setViewportWidth]=useState(800);// Track viewport width\nuseEffect(()=>{if(typeof window!==\"undefined\"){const updateViewportWidth=()=>{startTransition(()=>setViewportWidth(window.innerWidth));};updateViewportWidth();window.addEventListener(\"resize\",updateViewportWidth);return()=>window.removeEventListener(\"resize\",updateViewportWidth);}},[]);// Update visibility when preview changes\nuseEffect(()=>{if(preview){startTransition(()=>setIsVisible(true));startTransition(()=>setIsHovered(true));}else{startTransition(()=>setIsVisible(false));startTransition(()=>setIsHovered(false));}},[preview]);const[position,setPosition]=useState({top:0,left:0,placement:\"bottom\"});const buttonRef=useRef(null);const tooltipRef=useRef(null);const calculatePosition=useCallback(()=>{if(!buttonRef.current||!tooltipRef.current||typeof window===\"undefined\")return;const buttonRect=buttonRef.current.getBoundingClientRect();const tooltipRect=tooltipRef.current.getBoundingClientRect();const viewportHeight=window.innerHeight;let top=0;let left=0;let placement=props.tooltip.position;// Use the selected tooltip position as the primary placement\nif(props.tooltip.position===\"right\"){// Try right first\nif(buttonRect.right+tooltipRect.width+8<=viewportWidth){top=buttonRect.top+(buttonRect.height-tooltipRect.height)/2;left=buttonRect.right+8;placement=\"right\";}else if(buttonRect.left-tooltipRect.width-8>=0){top=buttonRect.top+(buttonRect.height-tooltipRect.height)/2;left=buttonRect.left-tooltipRect.width-8;placement=\"left\";}else{top=buttonRect.bottom+8;left=buttonRect.left+(buttonRect.width-tooltipRect.width)/2;placement=\"bottom\";}}else{// Try bottom first (original behavior for \"bottom\" setting)\nif(buttonRect.bottom+tooltipRect.height+8<=viewportHeight){top=buttonRect.bottom+8;placement=\"bottom\";}else if(buttonRect.top-tooltipRect.height-8>=0){top=buttonRect.top-tooltipRect.height-8;placement=\"top\";}else if(buttonRect.right+tooltipRect.width+8<=viewportWidth){top=buttonRect.top+(buttonRect.height-tooltipRect.height)/2;left=buttonRect.right+8;placement=\"right\";}else if(buttonRect.left-tooltipRect.width-8>=0){top=buttonRect.top+(buttonRect.height-tooltipRect.height)/2;left=buttonRect.left-tooltipRect.width-8;placement=\"left\";}else{top=buttonRect.bottom+8;placement=\"bottom\";}}// Center horizontally for top/bottom placements\nif(placement===\"top\"||placement===\"bottom\"){left=buttonRect.left+(buttonRect.width-tooltipRect.width)/2;// Ensure tooltip doesn't go off screen horizontally\nif(left<8)left=8;if(left+tooltipRect.width>viewportWidth-8){left=viewportWidth-tooltipRect.width-8;}}setPosition({top,left,placement});},[viewportWidth,props.tooltip.position]);useEffect(()=>{if(isVisible&&typeof window!==\"undefined\"){calculatePosition();const handleResize=()=>calculatePosition();window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);}},[isVisible,calculatePosition]);const handleClick=()=>{if(!preview){if(triggerType===\"hover\"&&isVisible&&!isPinned){// If hovering and tooltip is visible but not pinned, pin it instead of closing\nstartTransition(()=>setIsPinned(true));}else{// Toggle visibility and reset pinned state\nstartTransition(()=>setIsVisible(!isVisible));startTransition(()=>setIsPinned(false));}}};const handleMouseEnter=()=>{startTransition(()=>setIsHovered(true));if(triggerType===\"hover\"&&!preview){startTransition(()=>setIsVisible(true));}};const handleMouseLeave=()=>{if(!preview){startTransition(()=>setIsHovered(false));if(triggerType===\"hover\"&&!isPinned){startTransition(()=>setIsVisible(false));}}};const handleClickOutside=useCallback(event=>{if(buttonRef.current&&tooltipRef.current&&!buttonRef.current.contains(event.target)&&!tooltipRef.current.contains(event.target)){startTransition(()=>setIsVisible(false));}},[]);useEffect(()=>{// Listen for outside clicks regardless of trigger type\nif(isVisible&&typeof document!==\"undefined\"){document.addEventListener(\"mousedown\",handleClickOutside);return()=>document.removeEventListener(\"mousedown\",handleClickOutside);}},[isVisible,handleClickOutside]);// Close tooltip on scroll\nuseEffect(()=>{if(isVisible&&!preview&&typeof window!==\"undefined\"){const handleScroll=()=>{startTransition(()=>setIsVisible(false));startTransition(()=>setIsPinned(false));};window.addEventListener(\"scroll\",handleScroll,true);return()=>window.removeEventListener(\"scroll\",handleScroll,true);}},[isVisible,preview]);const defaultQuestionMarkSvg=`\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n            <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1,-0.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"/>\n        </svg>\n    `;// Convert Framer transition object to CSS transition string\nconst getTransitionString=()=>{const transition=button.hoverEffect.transition;if(!transition)return\"all 0.3s ease\";const duration=transition.duration||.3;const delay=transition.delay||0;const ease=transition.ease||[.4,0,.2,1]// Default easing\n;// Convert ease array to cubic-bezier\nlet timingFunction=\"ease\";if(Array.isArray(ease)&&ease.length===4){timingFunction=`cubic-bezier(${ease.join(\", \")})`;}else if(typeof ease===\"string\"){timingFunction=ease;}return`all ${duration}s ${timingFunction}${delay>0?` ${delay}s`:\"\"}`;};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{ref:buttonRef,style:{width:\"100%\",height:\"100%\",aspectRatio:\"1/1\",backgroundColor:isHovered||isVisible?button.hoverEffect.backgroundColor:button.backgroundColor,borderRadius:button.borderRadius,border:`${button.border.width}px solid ${button.border.color}`,borderColor:isHovered||isVisible?button.hoverEffect.borderColor:button.border.color,borderWidth:isHovered||isVisible?button.hoverEffect.borderWidth:button.border.width,boxShadow:`${button.shadow.x}px ${button.shadow.y}px ${button.shadow.blur}px ${button.shadow.spread}px ${button.shadow.color}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",transform:`rotate(${button.rotation}deg) scale(${isHovered||isVisible?button.hoverEffect.scale:1}) rotate(${isHovered||isVisible?button.hoverEffect.rotate:0}deg) skew(${isHovered||isVisible?button.hoverEffect.skewX:0}deg, ${isHovered||isVisible?button.hoverEffect.skewY:0}deg)`,opacity:isHovered||isVisible?button.hoverEffect.opacity/100:1,filter:`blur(${isHovered||isVisible?button.hoverEffect.blur:0}px)`,transition:getTransitionString(),position:\"relative\",zIndex:1},onClick:handleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,role:\"button\",tabIndex:0,\"aria-label\":\"Show tooltip\",onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();handleClick();}},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${button.icon.size}%`,height:`${button.icon.size}%`,color:button.icon.color,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:button.icon.svg?/*#__PURE__*/_jsx(\"span\",{style:{width:\"100%\",height:\"100%\",backgroundColor:isHovered||isVisible?button.icon.hoverColor:button.icon.color,maskImage:`url(${button.icon.svg})`,WebkitMaskImage:`url(${button.icon.svg})`,maskSize:\"contain\",maskRepeat:\"no-repeat\",maskPosition:\"center\",display:\"inline-block\",transition:getTransitionString()}}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:isHovered||isVisible?button.icon.hoverColor:button.icon.color,transition:getTransitionString()},dangerouslySetInnerHTML:{__html:defaultQuestionMarkSvg}})})}),(isVisible||preview)&&/*#__PURE__*/_jsxs(\"div\",{ref:tooltipRef,style:{position:preview?\"absolute\":\"fixed\",top:preview?props.tooltip.position===\"right\"?\"50%\":\"130%\":position.top,left:preview?props.tooltip.position===\"right\"?\"140%\":\"50%\":position.left,transform:preview?props.tooltip.position===\"right\"?\"translateY(-50%)\":\"translateX(-50%)\":\"none\",width:preview?`${Math.min(tooltip.maxWidth,400)}px`:\"auto\",maxWidth:preview?`${Math.min(tooltip.maxWidth,400)}px`:Math.min(tooltip.maxWidth,viewportWidth-16),backgroundColor:tooltip.backgroundColor,color:tooltip.textColor,padding:\"12px 16px\",borderRadius:tooltip.borderRadius,boxShadow:`${tooltip.shadow.x}px ${tooltip.shadow.y}px ${tooltip.shadow.blur}px ${tooltip.shadow.spread}px ${tooltip.shadow.color}`,zIndex:1e3,pointerEvents:\"auto\",opacity:isVisible||preview?1:0,visibility:isVisible||preview?\"visible\":\"hidden\",transition:\"opacity 0.2s ease, visibility 0.2s ease\",...tooltip.font},role:\"tooltip\",\"aria-live\":\"polite\",children:[tooltip.link?/*#__PURE__*/_jsx(\"a\",{href:tooltip.link,target:tooltip.linkTarget||\"_blank\",rel:\"noopener noreferrer\",style:{color:tooltip.textColor,textDecoration:\"none\",cursor:\"pointer\"},children:tooltip.text}):tooltip.text,/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:0,height:0,borderStyle:\"solid\",...preview&&props.tooltip.position===\"bottom\"&&{top:-8,left:\"50%\",transform:\"translateX(-50%)\",borderWidth:\"0 8px 8px 8px\",borderColor:`transparent transparent ${tooltip.backgroundColor} transparent`},...preview&&props.tooltip.position===\"right\"&&{left:-8,top:\"50%\",transform:\"translateY(-50%)\",borderWidth:\"8px 8px 8px 0\",borderColor:`transparent ${tooltip.backgroundColor} transparent transparent`},...!preview&&position.placement===\"bottom\"&&{top:-8,left:\"50%\",transform:\"translateX(-50%)\",borderWidth:\"0 8px 8px 8px\",borderColor:`transparent transparent ${tooltip.backgroundColor} transparent`},...!preview&&position.placement===\"top\"&&{bottom:-8,left:\"50%\",transform:\"translateX(-50%)\",borderWidth:\"8px 8px 0 8px\",borderColor:`${tooltip.backgroundColor} transparent transparent transparent`},...!preview&&position.placement===\"right\"&&{left:-8,top:\"50%\",transform:\"translateY(-50%)\",borderWidth:\"8px 8px 8px 0\",borderColor:`transparent ${tooltip.backgroundColor} transparent transparent`},...!preview&&position.placement===\"left\"&&{right:-8,top:\"50%\",transform:\"translateY(-50%)\",borderWidth:\"8px 0 8px 8px\",borderColor:`transparent transparent transparent ${tooltip.backgroundColor}`}}})]})]});}export default SmartTooltips;addPropertyControls(SmartTooltips,{preview:{type:ControlType.Boolean,title:\"Preview\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},button:{type:ControlType.Object,title:\"Button\",controls:{icon:{type:ControlType.Object,title:\"Icon\",controls:{svg:{type:ControlType.File,title:\"SVG\",allowedFileTypes:[\"svg\"]},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},hoverColor:{type:ControlType.Color,title:\"Hover Color\",defaultValue:\"#CCCCCC\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:60,min:20,max:100,step:5,unit:\"%\"}}},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#000000\"},border:{type:ControlType.Object,title:\"Border\",controls:{width:{type:ControlType.Number,title:\"Width\",defaultValue:0,min:0,max:10,step:1,unit:\"px\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"}}},rotation:{type:ControlType.Number,title:\"Rotation\",defaultValue:0,min:0,max:360,step:1,unit:\"deg\"},borderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:\"8px\"},shadow:{type:ControlType.Object,title:\"Shadow\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"rgba(0, 0, 0, 0)\"},x:{type:ControlType.Number,title:\"X\",defaultValue:0,min:-50,max:50,step:1,unit:\"px\"},y:{type:ControlType.Number,title:\"Y\",defaultValue:0,min:-50,max:50,step:1,unit:\"px\"},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:0,min:0,max:100,step:1,unit:\"px\"},spread:{type:ControlType.Number,title:\"Spread\",defaultValue:0,min:-50,max:50,step:1,unit:\"px\"}}},hoverEffect:{type:ControlType.Object,title:\"Hover Effect\",controls:{scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.5,max:2,step:.1},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:100,min:0,max:100,step:1,unit:\"%\"},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:0,min:0,max:20,step:1,unit:\"px\"},rotate:{type:ControlType.Number,title:\"Rotate\",defaultValue:0,min:-180,max:180,step:1,unit:\"deg\"},skewX:{type:ControlType.Number,title:\"Skew X\",defaultValue:0,min:-45,max:45,step:1,unit:\"deg\"},skewY:{type:ControlType.Number,title:\"Skew Y\",defaultValue:0,min:-45,max:45,step:1,unit:\"deg\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:0,min:0,max:10,step:1,unit:\"px\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#000000\"},transition:{type:ControlType.Transition,title:\"Transition\"}}}}},tooltip:{type:ControlType.Object,title:\"Tooltip\",controls:{text:{type:ControlType.String,title:\"Text\",defaultValue:\"This is a helpful tooltip with detailed information.\",displayTextArea:true},link:{type:ControlType.Link,title:\"Link\",defaultValue:\"\"},linkTarget:{type:ControlType.Enum,title:\"Link Target\",options:[\"_blank\",\"_self\",\"_parent\",\"_top\"],optionTitles:[\"New Tab\",\"Same Tab\",\"Parent Frame\",\"Top Frame\"],defaultValue:\"_blank\",hidden:({link})=>!link},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:300,min:100,max:600,step:10,unit:\"px\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},position:{type:ControlType.Enum,title:\"Position\",options:[\"bottom\",\"right\"],optionTitles:[\"Bottom\",\"Right\"],defaultValue:\"bottom\",displaySegmentedControl:true},borderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:\"8px\"},shadow:{type:ControlType.Object,title:\"Shadow\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"rgba(0, 0, 0, 0)\"},x:{type:ControlType.Number,title:\"X\",defaultValue:0,min:-50,max:50,step:1,unit:\"px\"},y:{type:ControlType.Number,title:\"Y\",defaultValue:10,min:-50,max:50,step:1,unit:\"px\"},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:20,min:0,max:100,step:1,unit:\"px\"},spread:{type:ControlType.Number,title:\"Spread\",defaultValue:0,min:-50,max:50,step:1,unit:\"px\"}}}}},triggerType:{type:ControlType.Enum,title:\"Trigger\",options:[\"click\",\"hover\"],optionTitles:[\"Click\",\"Hover\"],defaultValue:\"hover\",displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmartTooltips\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"20\",\"framerIntrinsicWidth\":\"20\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmartTooltips_3.map"],"mappings":"6NASG,SAAS,EAAc,EAAM,CAAC,GAAK,CAAC,SAAO,UAAQ,cAAY,WAAS,EAAW,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAM,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAM,CAAC,EAAS,GAAaA,EAAS,GAAM,CAAM,CAAC,EAAc,GAAkBA,EAAS,IAAI,CAC5Q,MAAc,CAAC,GAAU,IAAS,OAAY,CAAC,IAAM,MAAwB,CAAC,MAAoB,EAAiB,EAAO,WAAW,CAAC,EAA+E,OAA5E,GAAqB,CAAC,EAAO,iBAAiB,SAAS,EAAoB,KAAW,EAAO,oBAAoB,SAAS,EAAoB,GAAI,EAAE,CAAC,CAC9R,MAAc,CAAI,GAAS,MAAoB,EAAa,GAAK,CAAC,CAAC,MAAoB,EAAa,GAAK,CAAC,GAAO,MAAoB,EAAa,GAAM,CAAC,CAAC,MAAoB,EAAa,GAAM,CAAC,GAAI,CAAC,EAAQ,CAAC,CAAC,GAAK,CAAC,EAAS,GAAaA,EAAS,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,SAAS,CAAC,CAAO,EAAUC,EAAO,KAAK,CAAO,EAAWA,EAAO,KAAK,CAAO,EAAkBC,MAAgB,CAAC,GAAG,CAAC,EAAU,SAAS,CAAC,EAAW,SAAgB,IAAS,OAAY,OAAO,IAAM,EAAW,EAAU,QAAQ,uBAAuB,CAAO,EAAY,EAAW,QAAQ,uBAAuB,CAAO,EAAe,EAAO,YAAgB,EAAI,EAAM,EAAK,EAAM,EAAU,EAAM,QAAQ,SAC1pB,EAAM,QAAQ,WAAW,QACzB,EAAW,MAAM,EAAY,MAAM,GAAG,GAAe,EAAI,EAAW,KAAK,EAAW,OAAO,EAAY,QAAQ,EAAE,EAAK,EAAW,MAAM,EAAE,EAAU,SAAiB,EAAW,KAAK,EAAY,MAAM,GAAG,GAAG,EAAI,EAAW,KAAK,EAAW,OAAO,EAAY,QAAQ,EAAE,EAAK,EAAW,KAAK,EAAY,MAAM,EAAE,EAAU,SAAa,EAAI,EAAW,OAAO,EAAE,EAAK,EAAW,MAAM,EAAW,MAAM,EAAY,OAAO,EAAE,EAAU,UACta,EAAW,OAAO,EAAY,OAAO,GAAG,GAAgB,EAAI,EAAW,OAAO,EAAE,EAAU,UAAkB,EAAW,IAAI,EAAY,OAAO,GAAG,GAAG,EAAI,EAAW,IAAI,EAAY,OAAO,EAAE,EAAU,OAAe,EAAW,MAAM,EAAY,MAAM,GAAG,GAAe,EAAI,EAAW,KAAK,EAAW,OAAO,EAAY,QAAQ,EAAE,EAAK,EAAW,MAAM,EAAE,EAAU,SAAiB,EAAW,KAAK,EAAY,MAAM,GAAG,GAAG,EAAI,EAAW,KAAK,EAAW,OAAO,EAAY,QAAQ,EAAE,EAAK,EAAW,KAAK,EAAY,MAAM,EAAE,EAAU,SAAa,EAAI,EAAW,OAAO,EAAE,EAAU,WAC/jB,IAAY,OAAO,IAAY,YAAU,EAAK,EAAW,MAAM,EAAW,MAAM,EAAY,OAAO,EACnG,EAAK,IAAE,EAAK,GAAK,EAAK,EAAY,MAAM,EAAc,IAAG,EAAK,EAAc,EAAY,MAAM,IAAI,EAAY,CAAC,MAAI,OAAK,YAAU,CAAC,EAAG,CAAC,EAAc,EAAM,QAAQ,SAAS,CAAC,CAAC,MAAc,CAAC,GAAG,GAAkB,IAAS,OAAY,CAAC,GAAmB,CAAC,IAAM,MAAiB,GAAmB,CAAgD,OAA/C,EAAO,iBAAiB,SAAS,EAAa,KAAW,EAAO,oBAAoB,SAAS,EAAa,GAAI,CAAC,EAAU,EAAkB,CAAC,CAAC,IAAM,MAAgB,CAAK,IAAY,IAAc,SAAS,GAAW,CAAC,EACjgB,MAAoB,EAAY,GAAK,CAAC,EACtC,MAAoB,EAAa,CAAC,EAAU,CAAC,CAAC,MAAoB,EAAY,GAAM,CAAC,IAAW,MAAqB,CAAC,MAAoB,EAAa,GAAK,CAAC,CAAI,IAAc,SAAS,CAAC,GAAS,MAAoB,EAAa,GAAK,CAAC,EAAU,MAAqB,CAAK,IAAS,MAAoB,EAAa,GAAM,CAAC,CAAI,IAAc,SAAS,CAAC,GAAU,MAAoB,EAAa,GAAM,CAAC,GAAW,EAAmBA,EAAY,GAAO,CAAI,EAAU,SAAS,EAAW,SAAS,CAAC,EAAU,QAAQ,SAAS,EAAM,OAAO,EAAE,CAAC,EAAW,QAAQ,SAAS,EAAM,OAAO,EAAE,MAAoB,EAAa,GAAM,CAAC,EAAI,EAAE,CAAC,CAAC,MAAc,CAC7nB,GAAG,GAAW,OAAO,SAAW,IAAuE,OAA1D,SAAS,iBAAiB,YAAY,EAAmB,KAAW,SAAS,oBAAoB,YAAY,EAAmB,EAAI,CAAC,EAAU,EAAmB,CAAC,CAChN,MAAc,CAAC,GAAG,GAAW,CAAC,GAAgB,IAAS,OAAY,CAAC,IAAM,MAAiB,CAAC,MAAoB,EAAa,GAAM,CAAC,CAAC,MAAoB,EAAY,GAAM,CAAC,EAAuD,OAApD,EAAO,iBAAiB,SAAS,EAAa,GAAK,KAAW,EAAO,oBAAoB,SAAS,EAAa,GAAK,GAAI,CAAC,EAAU,EAAQ,CAAC,CAAC,IAKtT,MAAwB,CAAC,IAAM,EAAW,EAAO,YAAY,WAAW,GAAG,CAAC,EAAW,MAAM,gBAAgB,IAAM,EAAS,EAAW,UAAU,GAAS,EAAM,EAAW,OAAO,EAAQ,EAAK,EAAW,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAE7N,EAAe,OAAwJ,OAA9I,MAAM,QAAQ,EAAK,EAAE,EAAK,SAAS,EAAG,EAAe,gBAAgB,EAAK,KAAK,KAAK,CAAC,GAAY,OAAO,GAAO,WAAU,EAAe,GAAY,OAAO,EAAS,IAAI,IAAiB,EAAM,EAAE,IAAI,EAAM,GAAG,MAAO,OAAoB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,IAAI,EAAU,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,YAAY,MAAM,gBAAgB,GAAW,EAAU,EAAO,YAAY,gBAAgB,EAAO,gBAAgB,aAAa,EAAO,aAAa,OAAO,GAAG,EAAO,OAAO,MAAM,WAAW,EAAO,OAAO,QAAQ,YAAY,GAAW,EAAU,EAAO,YAAY,YAAY,EAAO,OAAO,MAAM,YAAY,GAAW,EAAU,EAAO,YAAY,YAAY,EAAO,OAAO,MAAM,UAAU,GAAG,EAAO,OAAO,EAAE,KAAK,EAAO,OAAO,EAAE,KAAK,EAAO,OAAO,KAAK,KAAK,EAAO,OAAO,OAAO,KAAK,EAAO,OAAO,QAAQ,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,OAAO,UAAU,UAAU,UAAU,EAAO,SAAS,aAAa,GAAW,EAAU,EAAO,YAAY,MAAM,EAAE,WAAW,GAAW,EAAU,EAAO,YAAY,OAAO,EAAE,YAAY,GAAW,EAAU,EAAO,YAAY,MAAM,EAAE,OAAO,GAAW,EAAU,EAAO,YAAY,MAAM,EAAE,MAAM,QAAQ,GAAW,EAAU,EAAO,YAAY,QAAQ,IAAI,EAAE,OAAO,QAAQ,GAAW,EAAU,EAAO,YAAY,KAAK,EAAE,KAAK,WAAW,GAAqB,CAAC,SAAS,WAAW,OAAO,EAAE,CAAC,QAAQ,EAAY,aAAa,EAAiB,aAAa,EAAiB,KAAK,SAAS,SAAS,EAAE,aAAa,eAAe,UAAU,GAAG,EAAI,EAAE,MAAM,SAAS,EAAE,MAAM,OAAK,EAAE,gBAAgB,CAAC,GAAa,GAAI,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAO,KAAK,KAAK,GAAG,OAAO,GAAG,EAAO,KAAK,KAAK,GAAG,MAAM,EAAO,KAAK,MAAM,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,CAAC,SAAS,EAAO,KAAK,IAAiB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,gBAAgB,GAAW,EAAU,EAAO,KAAK,WAAW,EAAO,KAAK,MAAM,UAAU,OAAO,EAAO,KAAK,IAAI,GAAG,gBAAgB,OAAO,EAAO,KAAK,IAAI,GAAG,SAAS,UAAU,WAAW,YAAY,aAAa,SAAS,QAAQ,eAAe,WAAW,GAAqB,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,MAAM,GAAW,EAAU,EAAO,KAAK,WAAW,EAAO,KAAK,MAAM,WAAW,GAAqB,CAAC,CAAC,wBAAwB,CAAC,OAAO;;;;MAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAW,IAAuB,EAAM,MAAM,CAAC,IAAI,EAAW,MAAM,CAAC,SAAS,EAAQ,WAAW,QAAQ,IAAI,EAAQ,EAAM,QAAQ,WAAW,QAAQ,MAAM,OAAO,EAAS,IAAI,KAAK,EAAQ,EAAM,QAAQ,WAAW,QAAQ,OAAO,MAAM,EAAS,KAAK,UAAU,EAAQ,EAAM,QAAQ,WAAW,QAAQ,mBAAmB,mBAAmB,OAAO,MAAM,EAAQ,GAAG,KAAK,IAAI,EAAQ,SAAS,IAAI,CAAC,IAAI,OAAO,SAAS,EAAQ,GAAG,KAAK,IAAI,EAAQ,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,EAAQ,SAAS,EAAc,GAAG,CAAC,gBAAgB,EAAQ,gBAAgB,MAAM,EAAQ,UAAU,QAAQ,YAAY,aAAa,EAAQ,aAAa,UAAU,GAAG,EAAQ,OAAO,EAAE,KAAK,EAAQ,OAAO,EAAE,KAAK,EAAQ,OAAO,KAAK,KAAK,EAAQ,OAAO,OAAO,KAAK,EAAQ,OAAO,QAAQ,OAAO,IAAI,cAAc,OAAO,QAAQ,GAAW,EAAQ,EAAE,EAAE,WAAW,GAAW,EAAQ,UAAU,SAAS,WAAW,0CAA0C,GAAG,EAAQ,KAAK,CAAC,KAAK,UAAU,YAAY,SAAS,SAAS,CAAC,EAAQ,KAAkB,EAAK,IAAI,CAAC,KAAK,EAAQ,KAAK,OAAO,EAAQ,YAAY,SAAS,IAAI,sBAAsB,MAAM,CAAC,MAAM,EAAQ,UAAU,eAAe,OAAO,OAAO,UAAU,CAAC,SAAS,EAAQ,KAAK,CAAC,CAAC,EAAQ,KAAkB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,YAAY,QAAQ,GAAG,GAAS,EAAM,QAAQ,WAAW,UAAU,CAAC,IAAI,GAAG,KAAK,MAAM,UAAU,mBAAmB,YAAY,gBAAgB,YAAY,2BAA2B,EAAQ,gBAAgB,cAAc,CAAC,GAAG,GAAS,EAAM,QAAQ,WAAW,SAAS,CAAC,KAAK,GAAG,IAAI,MAAM,UAAU,mBAAmB,YAAY,gBAAgB,YAAY,eAAe,EAAQ,gBAAgB,0BAA0B,CAAC,GAAG,CAAC,GAAS,EAAS,YAAY,UAAU,CAAC,IAAI,GAAG,KAAK,MAAM,UAAU,mBAAmB,YAAY,gBAAgB,YAAY,2BAA2B,EAAQ,gBAAgB,cAAc,CAAC,GAAG,CAAC,GAAS,EAAS,YAAY,OAAO,CAAC,OAAO,GAAG,KAAK,MAAM,UAAU,mBAAmB,YAAY,gBAAgB,YAAY,GAAG,EAAQ,gBAAgB,sCAAsC,CAAC,GAAG,CAAC,GAAS,EAAS,YAAY,SAAS,CAAC,KAAK,GAAG,IAAI,MAAM,UAAU,mBAAmB,YAAY,gBAAgB,YAAY,eAAe,EAAQ,gBAAgB,0BAA0B,CAAC,GAAG,CAAC,GAAS,EAAS,YAAY,QAAQ,CAAC,MAAM,GAAG,IAAI,MAAM,UAAU,mBAAmB,YAAY,gBAAgB,YAAY,uCAAuC,EAAQ,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBA1BzwJ,IAAyE,IAAoD,GA0B6pJ,EAAc,EAAoB,EAAc,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,GAAM,aAAa,KAAK,cAAc,MAAM,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,UAAU,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,MAAM,CAAC,aAAa,CAAC,KAAK,EAAY,aAAa,MAAM,gBAAgB,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAY,OAAO,MAAM,IAAI,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,KAAK,EAAY,OAAO,MAAM,IAAI,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,UAAU,CAAC,WAAW,CAAC,KAAK,EAAY,WAAW,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,uDAAuD,gBAAgB,GAAK,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,SAAS,QAAQ,UAAU,OAAO,CAAC,aAAa,CAAC,UAAU,WAAW,eAAe,YAAY,CAAC,aAAa,SAAS,QAAQ,CAAC,UAAQ,CAAC,EAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,CAAC,SAAS,OAAO,QAAQ,SAAS,cAAc,UAAU,WAAW,QAAQ,CAAC,SAAS,WAAW,gBAAgB,aAAa,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,CAAC,SAAS,QAAQ,CAAC,aAAa,CAAC,SAAS,QAAQ,CAAC,aAAa,SAAS,wBAAwB,GAAK,CAAC,aAAa,CAAC,KAAK,EAAY,aAAa,MAAM,gBAAgB,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAY,OAAO,MAAM,IAAI,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,KAAK,EAAY,OAAO,MAAM,IAAI,aAAa,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,QAAQ,QAAQ,CAAC,aAAa,CAAC,QAAQ,QAAQ,CAAC,aAAa,QAAQ,wBAAwB,GAAK,CAAC,CAAC"}