{"version":3,"file":"ImageUploadControl.BUV765sZ.mjs","names":["useState","useRef","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/RtD2yqkFsw49KYymvv5t/hT6mF6At0hsx0tnIwOMD/ImageUploadControl.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useConditionArray,CONDITION_ARRAY_CONTROL}from\"https://framer.com/m/ConditionalLogicUtil-69lIOW.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst API_UPLOAD_ENDPOINT=\"https://api.framergeeks.com/upload/api/v1/common/upload\";const SUPPORTED_IMAGE_FORMATS=\"image/*\";// ============================================================================\n// DEFAULT VALUES\n// ============================================================================\nconst DEFAULT_VALIDATION={requiredMessage:\"\",maxSizeMessage:\"\"};const DEFAULT_UPLOAD={maxSizeMB:25,uploadingText:\"Uploading [FileName]...\",showSpinner:true};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},color:\"#888888\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_INPUT_STYLE={font:{fontSize:14,lineHeight:1.2},color:\"#333333\",placeholderColor:\"#999999\",background:\"rgba(187,187,187,0.15)\",padding:\"12px 15px 12px 12px\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"},radius:\"10px\",shadow:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"\",scale:1};const DEFAULT_ICONS={showIcon:true,icon:\"\",size:18,color:\"#0066FF\",containerBackground:\"#F5F5F5\",containerBorderColor:\"#FFFFFF\"};const DEFAULT_PREVIEW={showPreview:true,height:44,radius:\"8px\"};const DEFAULT_CLEAR_BUTTON={show:true,icon:\"\",size:12,color:\"#000000\",background:\"#FFFFFF\",radius:\"8px\"};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};// ============================================================================\n// DEFAULT ICONS (SVG)\n// ============================================================================\nconst DEFAULT_IMAGE_ICON=`data:image/svg+xml,${encodeURIComponent(`<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.75 9.5C6.23 9.5 5 8.27 5 6.75C5 5.23 6.23 4 7.75 4C9.27 4 10.5 5.23 10.5 6.75C10.5 8.27 9.27 9.5 7.75 9.5ZM7.75 5.5C7.06 5.5 6.5 6.06 6.5 6.75C6.5 7.44 7.06 8 7.75 8C8.44 8 9 7.44 9 6.75C9 6.06 8.44 5.5 7.75 5.5Z\" fill=\"currentColor\"/>\n<path d=\"M13.75 21.5H7.75C2.32 21.5 0 19.18 0 13.75V7.75C0 2.32 2.32 0 7.75 0H11.75C12.16 0 12.5 0.34 12.5 0.75C12.5 1.16 12.16 1.5 11.75 1.5H7.75C3.14 1.5 1.5 3.14 1.5 7.75V13.75C1.5 18.36 3.14 20 7.75 20H13.75C18.36 20 20 18.36 20 13.75V8.75C20 8.34 20.34 8 20.75 8C21.16 8 21.5 8.34 21.5 8.75V13.75C21.5 19.18 19.18 21.5 13.75 21.5Z\" fill=\"currentColor\"/>\n<path d=\"M16.75 7.49994C16.34 7.49994 16 7.15994 16 6.74994V0.749939C16 0.449939 16.18 0.169939 16.46 0.0599391C16.74 -0.0500609 17.06 0.0099391 17.28 0.219939L19.28 2.21994C19.57 2.50994 19.57 2.98994 19.28 3.27994C18.99 3.56994 18.51 3.56994 18.22 3.27994L17.5 2.55994V6.74994C17.5 7.15994 17.16 7.49994 16.75 7.49994Z\" fill=\"currentColor\"/>\n<path d=\"M14.7499 3.49994C14.5599 3.49994 14.3699 3.42994 14.2199 3.27994C13.9299 2.98994 13.9299 2.50994 14.2199 2.21994L16.2199 0.219941C16.5099 -0.0700586 16.9899 -0.0700586 17.2799 0.219941C17.5699 0.509941 17.5699 0.989941 17.2799 1.27994L15.2799 3.27994C15.1299 3.42994 14.9399 3.49994 14.7499 3.49994Z\" fill=\"currentColor\"/>\n<path d=\"M1.4198 18.4501C1.1798 18.4501 0.939805 18.3301 0.799805 18.1201C0.569805 17.7801 0.659805 17.3101 0.999805 17.0801L5.9298 13.7701C7.0098 13.0501 8.4998 13.1301 9.4798 13.9601L9.8098 14.2501C10.3098 14.6801 11.1598 14.6801 11.6498 14.2501L15.8098 10.6801C16.8698 9.77006 18.5398 9.77006 19.6098 10.6801L21.2398 12.0801C21.5498 12.3501 21.5898 12.8201 21.3198 13.1401C21.0498 13.4501 20.5698 13.4901 20.2598 13.2201L18.6298 11.8201C18.1298 11.3901 17.2898 11.3901 16.7898 11.8201L12.6298 15.3901C11.5698 16.3001 9.8998 16.3001 8.8298 15.3901L8.4998 15.1001C8.0398 14.7101 7.27981 14.6701 6.76981 15.0201L1.8498 18.3301C1.7098 18.4101 1.5598 18.4501 1.4198 18.4501Z\" fill=\"currentColor\"/>\n</svg>`)}`;const DEFAULT_DELETE_ICON=`data:image/svg+xml,${encodeURIComponent(`<svg width=\"13\" height=\"14\" viewBox=\"0 0 13 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 2H7.5C7.5 1.73478 7.39464 1.48043 7.20711 1.29289C7.01957 1.10536 6.76522 1 6.5 1C6.23478 1 5.98043 1.10536 5.79289 1.29289C5.60536 1.48043 5.5 1.73478 5.5 2ZM4.5 2C4.5 1.46957 4.71071 0.960859 5.08579 0.585786C5.46086 0.210714 5.96957 0 6.5 0C7.03043 0 7.53914 0.210714 7.91421 0.585786C8.28929 0.960859 8.5 1.46957 8.5 2H12.5C12.6326 2 12.7598 2.05268 12.8536 2.14645C12.9473 2.24021 13 2.36739 13 2.5C13 2.63261 12.9473 2.75979 12.8536 2.85355C12.7598 2.94732 12.6326 3 12.5 3H11.936L10.731 11.838C10.6493 12.4369 10.3533 12.986 9.8979 13.3835C9.44249 13.781 8.85848 14 8.254 14H4.746C4.14152 14 3.55751 13.781 3.1021 13.3835C2.64669 12.986 2.35073 12.4369 2.269 11.838L1.064 3H0.5C0.367392 3 0.240215 2.94732 0.146447 2.85355C0.0526784 2.75979 0 2.63261 0 2.5C0 2.36739 0.0526784 2.24021 0.146447 2.14645C0.240215 2.05268 0.367392 2 0.5 2H4.5ZM5.5 5.5C5.5 5.36739 5.44732 5.24021 5.35355 5.14645C5.25979 5.05268 5.13261 5 5 5C4.86739 5 4.74021 5.05268 4.64645 5.14645C4.55268 5.24021 4.5 5.36739 4.5 5.5V10.5C4.5 10.6326 4.55268 10.7598 4.64645 10.8536C4.74021 10.9473 4.86739 11 5 11C5.13261 11 5.25979 10.9473 5.35355 10.8536C5.44732 10.7598 5.5 10.6326 5.5 10.5V5.5ZM8 5C8.13261 5 8.25979 5.05268 8.35355 5.14645C8.44732 5.24021 8.5 5.36739 8.5 5.5V10.5C8.5 10.6326 8.44732 10.7598 8.35355 10.8536C8.25979 10.9473 8.13261 11 8 11C7.86739 11 7.74021 10.9473 7.64645 10.8536C7.55268 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.55268 5.24021 7.64645 5.14645C7.74021 5.05268 7.86739 5 8 5ZM3.26 11.703C3.30908 12.0623 3.48664 12.3916 3.75984 12.6301C4.03304 12.8685 4.38337 13 4.746 13H8.254C8.6168 13.0002 8.96737 12.8689 9.24078 12.6304C9.51419 12.3919 9.6919 12.0625 9.741 11.703L10.927 3H2.073L3.26 11.703Z\" fill=\"currentColor\"/>\n</svg>`)}`;// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\nasync function uploadToServer(file,userId,projectId){const formData=new FormData;formData.append(\"file\",file);if(userId)formData.append(\"userId\",userId);if(projectId)formData.append(\"projectId\",projectId);try{const response=await fetch(API_UPLOAD_ENDPOINT,{method:\"POST\",body:formData});if(!response.ok){const errorBody=await response.json().catch(()=>({}));throw new Error(errorBody.message||errorBody.errorMessage||\"Upload failed\");}const responseBody=await response.json();const fileLocation=responseBody.data?.path||responseBody.path||responseBody.url||responseBody.fileLocation||responseBody.fileUrl;if(!fileLocation){throw new Error(\"No file URL returned from server\");}return fileLocation;}catch(error){console.error(\"Upload error:\",error);return null;}}// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 92\n * @framerDisableUnlink\n */export default function ImageUploadControl(props){const{name,labelText,placeholder,subText,required,validation,upload,label,layout,inputStyle,icons,preview,clearButton,focusStyle,errorStyle,conditions,_meta,style}=props;// Merge configs with defaults\nconst validationConfig={...DEFAULT_VALIDATION,...validation||{}};const uploadConfig={...DEFAULT_UPLOAD,...upload||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const inputStyleConfig={...DEFAULT_INPUT_STYLE,...inputStyle||{},font:{...DEFAULT_INPUT_STYLE.font,...inputStyle&&inputStyle.font||{}},border:{...DEFAULT_INPUT_STYLE.border,...inputStyle&&inputStyle.border||{}}};const iconsConfig={...DEFAULT_ICONS,...icons||{}};const previewConfig={...DEFAULT_PREVIEW,...preview||{}};const clearButtonConfig={...DEFAULT_CLEAR_BUTTON,...clearButton||{}};const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"image-upload\";const currentLabelText=labelText||\"Image\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const maxSizeMB=Math.min(uploadConfig.maxSizeMB||25,25);const[fileName,setFileName]=useState(\"\");const[uploadedFileUrl,setUploadedFileUrl]=useState(\"\");const[imagePreviewUrl,setImagePreviewUrl]=useState(\"\");const[isUploading,setIsUploading]=useState(false);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const rootRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Conditional logic\nconst conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setFileName(\"\");setUploadedFileUrl(\"\");setImagePreviewUrl(\"\");setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const effectiveRequired=conditionItems.some(c=>c.type===\"required\")?isRequired:required;const effectiveDisabled=conditionItems.some(c=>c.type===\"disable\")?isDisabled:false;const effectiveDisabledOrReadOnly=effectiveDisabled||(conditionItems.some(c=>c.type===\"readOnly\")?isReadOnly:false);const Wrapper=isCanvas?\"div\":motion.div;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);const userId=parsedMeta?.userId;const projectId=parsedMeta?.projectId;// Get validation messages with token replacement\nconst getRequiredMessage=useCallback(()=>{const template=validationConfig.requiredMessage?.trim();if(template){return template.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName);}return\"Please upload an image.\";},[validationConfig.requiredMessage,currentLabelText,fieldName]);const getMaxSizeMessage=useCallback(()=>{const template=validationConfig.maxSizeMessage?.trim();if(template){return template.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName).replace(/\\{max\\}/g,`${maxSizeMB}`);}return`File size exceeds ${maxSizeMB}MB limit.`;},[validationConfig.maxSizeMessage,currentLabelText,fieldName,maxSizeMB]);// Form submission handler to enforce required validation\nuseEffect(()=>{if(isCanvas)return;if(!effectiveRequired)return;const form=rootRef.current?.closest(\"form\");if(!form)return;const handleSubmit=event=>{if(!uploadedFileUrl){event.preventDefault();event.stopPropagation();setError(getRequiredMessage());return;}setError(\"\");};form.addEventListener(\"submit\",handleSubmit,true);return()=>{form.removeEventListener(\"submit\",handleSubmit,true);};},[isCanvas,effectiveRequired,uploadedFileUrl,getRequiredMessage]);const handleFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleBlur=useCallback(()=>{setIsFocused(false);},[]);const handleFileChange=useCallback(async event=>{const file=event.target.files?.[0];if(!file)return;setFileName(file.name);setImagePreviewUrl(\"\");setError(\"\");// Validate file type - images only\nif(!file.type.startsWith(\"image/\")){setError(\"Invalid file type. Only image files are allowed.\");setFileName(\"\");return;}// Validate file size\nconst maxSizeBytes=maxSizeMB*1024*1024;if(file.size>maxSizeBytes){setError(getMaxSizeMessage());setFileName(\"\");return;}// Create image preview\nif(previewConfig.showPreview){setImagePreviewUrl(URL.createObjectURL(file));}setIsUploading(true);const fileUrl=await uploadToServer(file,userId,projectId);setIsUploading(false);if(fileUrl){setUploadedFileUrl(fileUrl);}else{setError(\"Upload failed. Please try again.\");setFileName(\"\");setImagePreviewUrl(\"\");}},[maxSizeMB,userId,projectId,previewConfig.showPreview,getMaxSizeMessage]);const handleClearFile=useCallback(()=>{setFileName(\"\");setUploadedFileUrl(\"\");setImagePreviewUrl(\"\");setIsUploading(false);setError(\"\");if(inputRef.current){inputRef.current.value=\"\";}},[]);const handleKeyDown=useCallback(event=>{if(event.key===\"Enter\"){inputRef.current?.click();}},[]);const handleInvalid=useCallback(event=>{event.preventDefault();if(!uploadedFileUrl&&effectiveRequired){setError(getRequiredMessage());}},[uploadedFileUrl,effectiveRequired,getRequiredMessage]);// Variants for animation\nconst wrapperVariants={idle:{borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",boxShadow:inputStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow,scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\",scale:1}};const wrapperState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;// Styles\nconst containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"center\":\"stretch\",gap:`${layoutConfig.gap}px`,width:\"100%\",...style};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 500;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,flexShrink:0,...layoutConfig.direction===\"horizontal\"?{width:`${layoutConfig.labelWidth}px`}:{}};const inputWrapperStyle={...inputStyleConfig.border,borderWidth:inputStyleConfig.border?.borderWidth||1,borderStyle:inputStyleConfig.border?.borderStyle||\"solid\",borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",borderRadius:inputStyleConfig.radius,backgroundColor:inputStyleConfig.background,padding:inputStyleConfig.padding,boxShadow:inputStyleConfig.shadow,minHeight:\"56px\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",gap:\"12px\",position:\"relative\",cursor:fileName?\"default\":\"pointer\"};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};const resolvedIcon=iconsConfig.icon||DEFAULT_IMAGE_ICON;const resolvedClearIcon=clearButtonConfig.icon||DEFAULT_DELETE_ICON;// Render spinner\nconst renderSpinner=()=>/*#__PURE__*/_jsx(\"div\",{style:{width:iconsConfig.size,height:iconsConfig.size,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},dangerouslySetInnerHTML:{__html:`\n                <svg width=\"${iconsConfig.size}\" height=\"${iconsConfig.size}\" viewBox=\"0 0 50 50\">\n                    <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"#e2e8f0\" stroke-width=\"4\"></circle>\n                    <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"${iconsConfig.color}\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-dasharray=\"125.6\" stroke-dashoffset=\"125.6\">\n                        <animate attributeName=\"stroke-dashoffset\" values=\"125.6;0;125.6\" dur=\"2s\" repeatCount=\"indefinite\" />\n                    </circle>\n                </svg>\n                `}});// Render icon or preview\nconst renderIconOrPreview=()=>{if(isUploading&&uploadConfig.showSpinner){return renderSpinner();}// Show image preview if available\nif(imagePreviewUrl&&previewConfig.showPreview){return /*#__PURE__*/_jsx(\"div\",{style:{width:previewConfig.height,height:previewConfig.height,minWidth:previewConfig.height,borderRadius:previewConfig.radius,overflow:\"hidden\",flexShrink:0},children:/*#__PURE__*/_jsx(\"img\",{src:imagePreviewUrl,alt:\"Preview\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}})});}if(!iconsConfig.showIcon)return null;return /*#__PURE__*/_jsx(\"div\",{style:{width:44,height:44,minWidth:44,borderRadius:\"50%\",background:fileName?\"transparent\":iconsConfig.containerBackground,border:fileName?\"none\":`4px solid ${iconsConfig.containerBorderColor}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,backgroundColor:fileName?\"#666666\":iconsConfig.color,WebkitMaskImage:`url(${resolvedIcon})`,maskImage:`url(${resolvedIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\"}})});};// Render content\nconst renderContent=()=>{if(isUploading){return /*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,color:inputStyleConfig.color,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:uploadConfig.uploadingText.replace(\"[FileName]\",fileName)});}if(fileName){return /*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,color:inputStyleConfig.color,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:fileName});}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"2px\",alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,color:inputStyleConfig.color},children:placeholder}),subText&&/*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,fontSize:((inputStyleConfig.font?.fontSize)||14)*.85,fontWeight:500,color:inputStyleConfig.placeholderColor,marginTop:4,opacity:.8},children:subText.replace(\"{max}\",`${maxSizeMB}`)})]});};if(!isVisible){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-conditional-block) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{className:\"formsplugin-hide-conditional-block\"})]});}return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:containerStyle,children:[labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:labelStyle,children:[currentLabelText,effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\"},children:[/*#__PURE__*/_jsxs(Wrapper,{...!isCanvas&&{animate:wrapperState,variants:wrapperVariants,transition:{duration:.2,ease:\"easeOut\"}},style:{...inputWrapperStyle,opacity:effectiveDisabledOrReadOnly?.5:1,pointerEvents:effectiveDisabledOrReadOnly?\"none\":\"auto\"},onFocus:handleFocus,onBlur:handleBlur,onKeyDown:handleKeyDown,tabIndex:0,children:[/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:fieldName,value:uploadedFileUrl}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,type:\"file\",accept:SUPPORTED_IMAGE_FORMATS,onChange:handleFileChange,onInvalid:handleInvalid,required:effectiveRequired&&!uploadedFileUrl,disabled:effectiveDisabledOrReadOnly,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,style:{position:\"absolute\",inset:0,opacity:0,cursor:\"pointer\",pointerEvents:fileName?\"none\":\"auto\"}}),renderIconOrPreview(),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",alignItems:\"center\"},children:renderContent()}),clearButtonConfig.show&&fileName&&!isUploading&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:e=>{e.preventDefault();e.stopPropagation();handleClearFile();},style:{flexShrink:0,width:27,height:27,background:clearButtonConfig.background,borderRadius:clearButtonConfig.radius,border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"8px 9px\",boxShadow:\"0px 2px 5px rgba(51, 51, 51, 0.06)\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${clearButtonConfig.size}px`,height:`${clearButtonConfig.size}px`,backgroundColor:clearButtonConfig.color,WebkitMaskImage:`url(${resolvedClearIcon})`,maskImage:`url(${resolvedClearIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\"}})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:error&&!isCanvas&&/*#__PURE__*/_jsx(motion.div,{id:errorId,role:\"alert\",initial:{opacity:0,y:-4,height:0},animate:{opacity:1,y:0,height:\"auto\"},exit:{opacity:0,y:-4,height:0},transition:{duration:.2,ease:\"easeOut\"},style:errorMessageStyle,children:error},\"error-message\")})]})]});}ImageUploadControl.displayName=\"Image Upload\";ImageUploadControl.defaultProps={name:\"image-upload\",labelText:\"Image\",placeholder:\"Click to upload image\",subText:\"Max {max} MB\",required:false,validation:DEFAULT_VALIDATION,upload:DEFAULT_UPLOAD,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,inputStyle:DEFAULT_INPUT_STYLE,icons:DEFAULT_ICONS,preview:DEFAULT_PREVIEW,clearButton:DEFAULT_CLEAR_BUTTON,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,conditions:[],_meta:\"\",style:{}};// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(ImageUploadControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"image-upload\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Name\",defaultValue:\"Image\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Click to upload image\"},subText:{type:ControlType.String,title:\"Sub Text\",defaultValue:\"Max {max} MB\",description:\"Use {max} for max file size.\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Custom message when required. Supports {label}, {name}.\"},maxSizeMessage:{type:ControlType.String,title:\"Max Size Error\",defaultValue:\"\",description:\"Custom message for size limit. Supports {label}, {name}, {max}.\"}}},upload:{type:ControlType.Object,title:\"Upload Settings\",controls:{maxSizeMB:{type:ControlType.Number,title:\"Max Size\",defaultValue:25,min:1,max:25,step:1,unit:\"MB\"},uploadingText:{type:ControlType.String,title:\"Uploading Text\",defaultValue:\"Uploading [FileName]...\",description:\"[FileName] will be replaced with actual file name.\"},showSpinner:{type:ControlType.Boolean,title:\"Show Spinner\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},requiredMark:{type:ControlType.String,title:\"Required Mark\",defaultValue:\"*\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Label Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#888888\",hidden(props){return props.show===false;}}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],optionIcons:[\"direction-vertical\",\"direction-horizontal\"],displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:2,unit:\"px\"},labelWidth:{type:ControlType.Number,title:\"Label Width\",defaultValue:120,min:40,max:300,step:4,unit:\"px\",hidden(props){return props.direction!==\"horizontal\";}}}},inputStyle:{type:ControlType.Object,title:\"Input Style\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},placeholderColor:{type:ControlType.Color,title:\"Sub Text Color\",defaultValue:\"#999999\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187,187,187,0.15)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 15px 12px 12px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"none\"}}},icons:{type:ControlType.Object,title:\"Icon\",controls:{showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.showIcon===false;}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0066FF\",hidden(props){return props.showIcon===false;}},size:{type:ControlType.Number,title:\"Icon Size\",defaultValue:18,min:8,max:64,step:1,unit:\"px\",displayStepper:true,hidden(props){return props.showIcon===false;}},containerBackground:{type:ControlType.Color,title:\"Icon BG\",defaultValue:\"#F5F5F5\",hidden(props){return props.showIcon===false;}},containerBorderColor:{type:ControlType.Color,title:\"Icon Border\",defaultValue:\"#FFFFFF\",hidden(props){return props.showIcon===false;}}}},preview:{type:ControlType.Object,title:\"Image Preview\",controls:{showPreview:{type:ControlType.Boolean,title:\"Show Preview\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Show thumbnail of uploaded image.\"},height:{type:ControlType.Number,title:\"Height\",defaultValue:44,min:24,max:120,step:4,unit:\"px\",hidden(props){return props.showPreview===false;}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\",hidden(props){return props.showPreview===false;}}}},clearButton:{type:ControlType.Object,title:\"Clear Button\",controls:{show:{type:ControlType.Boolean,title:\"Show Button\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#000000\",hidden(props){return props.show===false;}},size:{type:ControlType.Number,title:\"Icon Size\",defaultValue:12,min:8,max:32,step:1,unit:\"px\",displayStepper:true,hidden(props){return props.show===false;}},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\",hidden(props){return props.show===false;}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\",hidden(props){return props.show===false;}}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"none\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.05,step:.005}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageUploadControl\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"300\",\"framerDisableUnlink\":\"\",\"framerIntrinsicHeight\":\"92\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImageUploadControl.map"],"mappings":"0WAoBA,eAAe,GAAe,EAAK,EAAO,EAAU,CAAC,IAAM,EAAS,IAAI,SAAS,EAAS,OAAO,OAAO,EAAK,CAAI,GAAO,EAAS,OAAO,SAAS,EAAO,CAAI,GAAU,EAAS,OAAO,YAAY,EAAU,CAAC,GAAG,CAAC,IAAM,EAAS,MAAM,MAAM,EAAoB,CAAC,OAAO,OAAO,KAAK,EAAS,CAAC,CAAC,GAAG,CAAC,EAAS,GAAG,CAAC,IAAM,EAAU,MAAM,EAAS,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,MAAU,MAAM,EAAU,SAAS,EAAU,cAAc,gBAAgB,CAAE,IAAM,EAAa,MAAM,EAAS,MAAM,CAAO,EAAa,EAAa,MAAM,MAAM,EAAa,MAAM,EAAa,KAAK,EAAa,cAAc,EAAa,QAAQ,GAAG,CAAC,EAAc,MAAU,MAAM,mCAAmC,CAAE,OAAO,QAAoB,EAAM,CAAsC,OAArC,QAAQ,MAAM,gBAAgB,EAAM,CAAQ,MAS/uB,SAAwB,EAAmB,EAAM,CAAC,GAAK,CAAC,OAAK,aAAU,eAAY,UAAQ,YAAS,aAAW,SAAO,QAAM,SAAO,aAAW,QAAM,WAAQ,eAAY,cAAW,aAAW,cAAW,QAAM,UAAO,EACnN,EAAiB,CAAC,GAAG,EAAmB,GAAG,GAAY,EAAE,CAAC,CAAO,EAAa,CAAC,GAAG,EAAe,GAAG,GAAQ,EAAE,CAAC,CAAO,EAAY,CAAC,GAAG,EAAc,GAAG,GAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAc,KAAK,GAAG,GAAO,EAAM,MAAM,EAAE,CAAC,CAAC,CAAO,EAAa,CAAC,GAAG,EAAe,GAAG,GAAQ,EAAE,CAAC,CAAO,EAAiB,CAAC,GAAG,EAAoB,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAoB,KAAK,GAAG,GAAY,EAAW,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAoB,OAAO,GAAG,GAAY,EAAW,QAAQ,EAAE,CAAC,CAAC,CAAO,EAAY,CAAC,GAAG,EAAc,GAAG,GAAO,EAAE,CAAC,CAAO,EAAc,CAAC,GAAG,EAAgB,GAAG,IAAS,EAAE,CAAC,CAAO,EAAkB,CAAC,GAAG,EAAqB,GAAG,IAAa,EAAE,CAAC,CAAO,EAAiB,CAAC,GAAG,EAAoB,GAAG,IAAY,EAAE,CAAC,CAAO,EAAiB,CAAC,GAAG,EAAoB,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAoB,KAAK,GAAG,GAAY,EAAW,MAAM,EAAE,CAAC,CAAC,CAAO,EAAU,GAAM,eAAqB,EAAiB,IAAW,QAAc,GAAQ,SAAS,IAAkB,GAAQ,SAAS,IAAkB,EAAU,KAAK,IAAI,EAAa,WAAW,GAAG,GAAG,CAAM,CAAC,EAAS,GAAaA,EAAS,GAAG,CAAM,CAAC,EAAgB,GAAoBA,EAAS,GAAG,CAAM,CAAC,GAAgB,GAAoBA,EAAS,GAAG,CAAM,CAAC,EAAY,GAAgBA,EAAS,GAAM,CAAM,CAAC,EAAM,GAAUA,EAAS,GAAG,CAAM,CAAC,GAAU,IAAcA,EAAS,GAAM,CAAO,EAASC,EAAO,KAAK,CAAO,GAAQA,EAAO,KAAK,CAAO,EAAS,GAAa,SAAS,GAAG,GAAa,OAC76C,EAAeC,OAAY,IAAY,EAAE,CAAC,CAAC,GAAW,CAAC,CAA+H,CAAC,aAAU,cAAW,cAAW,eAAY,GAAkB,EAAe,GAAG,EAAxLC,MAAgB,CAAC,EAAY,GAAG,CAAC,EAAmB,GAAG,CAAC,EAAmB,GAAG,CAAC,EAAS,GAAG,EAAG,EAAE,CAAC,CAAiH,CAAO,EAAkB,EAAe,KAAK,GAAG,EAAE,OAAO,WAAW,CAAC,GAAW,GAAmG,GAAlE,EAAe,KAAK,GAAG,EAAE,OAAO,UAAU,CAAC,GAAW,MAA4D,EAAe,KAAK,GAAG,EAAE,OAAO,WAAW,CAAC,GAAW,IAAa,GAAQ,EAAS,MAAM,GAAO,IAAU,GAAWD,OAAY,CAAC,GAAG,CAAC,EAAM,OAAO,KAAK,GAAG,CAAC,OAAO,KAAK,MAAM,EAAM,MAAO,CAAC,OAAO,OAAQ,CAAC,EAAM,CAAC,CAAO,GAAO,IAAY,OAAa,GAAU,IAAY,UACtxB,EAAmBC,MAAgB,CAAC,IAAM,EAAS,EAAiB,iBAAiB,MAAM,CAAgH,OAA5G,EAAiB,EAAS,QAAQ,aAAa,GAAkB,EAAU,CAAC,QAAQ,YAAY,EAAU,CAAQ,2BAA4B,CAAC,EAAiB,gBAAgB,EAAiB,EAAU,CAAC,CAAO,GAAkBA,MAAgB,CAAC,IAAM,EAAS,EAAiB,gBAAgB,MAAM,CAAmJ,OAA/I,EAAiB,EAAS,QAAQ,aAAa,GAAkB,EAAU,CAAC,QAAQ,YAAY,EAAU,CAAC,QAAQ,WAAW,GAAG,IAAY,CAAQ,qBAAqB,EAAU,YAAa,CAAC,EAAiB,eAAe,EAAiB,EAAU,EAAU,CAAC,CAC7pB,OAAc,CAAoB,GAAhB,GAAmB,CAAC,EAAkB,OAAO,IAAM,EAAK,GAAQ,SAAS,QAAQ,OAAO,CAAC,GAAG,CAAC,EAAK,OAAO,IAAM,EAAa,GAAO,CAAC,GAAG,CAAC,EAAgB,CAAC,EAAM,gBAAgB,CAAC,EAAM,iBAAiB,CAAC,EAAS,GAAoB,CAAC,CAAC,OAAQ,EAAS,GAAG,EAAqD,OAAlD,EAAK,iBAAiB,SAAS,EAAa,GAAK,KAAW,CAAC,EAAK,oBAAoB,SAAS,EAAa,GAAK,GAAK,CAAC,EAAS,EAAkB,EAAgB,EAAmB,CAAC,CAAC,IAAM,GAAYA,MAAgB,CAAC,GAAa,GAAK,CAAC,EAAS,GAAG,EAAG,EAAE,CAAC,CAAO,GAAWA,MAAgB,CAAC,GAAa,GAAM,EAAG,EAAE,CAAC,CAAO,GAAiBA,EAAY,KAAM,IAAO,CAAC,IAAM,EAAK,EAAM,OAAO,QAAQ,GAAG,GAAG,CAAC,EAAK,OACzqB,GADgrB,EAAY,EAAK,KAAK,CAAC,EAAmB,GAAG,CAAC,EAAS,GAAG,CACvuB,CAAC,EAAK,KAAK,WAAW,SAAS,CAAC,CAAC,EAAS,mDAAmD,CAAC,EAAY,GAAG,CAAC,OACjH,IAAM,EAAa,EAAU,KAAK,KAAK,GAAG,EAAK,KAAK,EAAa,CAAC,EAAS,IAAmB,CAAC,CAAC,EAAY,GAAG,CAAC,OAC7G,EAAc,aAAa,EAAmB,IAAI,gBAAgB,EAAK,CAAC,CAAE,EAAe,GAAK,CAAC,IAAM,EAAQ,MAAM,GAAe,EAAK,GAAO,GAAU,CAAC,EAAe,GAAM,CAAI,EAAS,EAAmB,EAAQ,EAAO,EAAS,mCAAmC,CAAC,EAAY,GAAG,CAAC,EAAmB,GAAG,GAAI,CAAC,EAAU,GAAO,GAAU,EAAc,YAAY,GAAkB,CAAC,CAAO,GAAgBA,MAAgB,CAAC,EAAY,GAAG,CAAC,EAAmB,GAAG,CAAC,EAAmB,GAAG,CAAC,EAAe,GAAM,CAAC,EAAS,GAAG,CAAI,EAAS,UAAS,EAAS,QAAQ,MAAM,KAAM,EAAE,CAAC,CAAO,GAAcA,EAAY,GAAO,CAAI,EAAM,MAAM,SAAS,EAAS,SAAS,OAAO,EAAI,EAAE,CAAC,CAAO,GAAcA,EAAY,GAAO,CAAC,EAAM,gBAAgB,CAAI,CAAC,GAAiB,GAAmB,EAAS,GAAoB,CAAC,EAAI,CAAC,EAAgB,EAAkB,EAAmB,CAAC,CAC11B,GAAgB,CAAC,KAAK,CAAC,YAAY,EAAiB,QAAQ,aAAa,UAAU,UAAU,EAAiB,QAAQ,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAiB,YAAY,UAAU,EAAiB,OAAO,MAAM,EAAiB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAiB,MAAM,UAAU,gCAAgC,MAAM,EAAE,CAAC,CAAO,GAAa,EAAM,QAAQ,GAAU,UAAU,OAAa,GAAY,EAAM,GAAQ,IAAA,GAClb,GAAe,CAAC,QAAQ,OAAO,cAAc,EAAa,YAAY,aAAa,MAAM,SAAS,WAAW,EAAa,YAAY,aAAa,SAAS,UAAU,IAAI,GAAG,EAAa,IAAI,IAAI,MAAM,OAAO,GAAG,GAAM,CAAO,QAA+B,CAAC,IAAM,EAAQ,EAAY,MAAM,WAAsJ,OAAxI,GAA+B,MAAM,IAAU,IAAI,IAAU,UAAU,IAAU,WAAW,IAAU,KAAK,IAAU,MAAc,IAAY,KAAY,CAAO,GAAW,CAAC,GAAG,EAAY,KAAK,WAAW,GAA0B,MAAM,EAAY,MAAM,WAAW,EAAE,GAAG,EAAa,YAAY,aAAa,CAAC,MAAM,GAAG,EAAa,WAAW,IAAI,CAAC,EAAE,CAAC,CAAO,GAAkB,CAAC,GAAG,EAAiB,OAAO,YAAY,EAAiB,QAAQ,aAAa,EAAE,YAAY,EAAiB,QAAQ,aAAa,QAAQ,YAAY,EAAiB,QAAQ,aAAa,UAAU,aAAa,EAAiB,OAAO,gBAAgB,EAAiB,WAAW,QAAQ,EAAiB,QAAQ,UAAU,EAAiB,OAAO,UAAU,OAAO,SAAS,SAAS,QAAQ,OAAO,WAAW,SAAS,IAAI,OAAO,SAAS,WAAW,OAAO,EAAS,UAAU,UAAU,CAAO,GAAkB,CAAC,GAAG,EAAiB,KAAK,MAAM,EAAiB,MAAM,UAAU,MAAM,SAAS,SAAS,CAAO,GAAa,EAAY,MAAM,GAAyB,GAAkB,EAAkB,MAAM,GACn2C,OAA+B,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAY,KAAK,OAAO,EAAY,KAAK,WAAW,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,CAAC,wBAAwB,CAAC,OAAO;8BAClL,EAAY,KAAK,YAAY,EAAY,KAAK;;yEAEH,EAAY,MAAM;;;;kBAIzE,CAAC,CAAC,CACd,OAA4B,GAAa,EAAa,YAAoB,IAAe,CAC5F,IAAiB,EAAc,YAAiC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAc,OAAO,OAAO,EAAc,OAAO,SAAS,EAAc,OAAO,aAAa,EAAc,OAAO,SAAS,SAAS,WAAW,EAAE,CAAC,SAAsB,EAAK,MAAM,CAAC,IAAI,GAAgB,IAAI,UAAU,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,eAAe,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,EAAY,SAAyC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,MAAM,WAAW,EAAS,cAAc,EAAY,oBAAoB,OAAO,EAAS,OAAO,aAAa,EAAY,uBAAuB,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,WAAW,EAAE,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAY,KAAK,IAAI,OAAO,GAAG,EAAY,KAAK,IAAI,gBAAgB,EAAS,UAAU,EAAY,MAAM,gBAAgB,OAAO,GAAa,GAAG,UAAU,OAAO,GAAa,GAAG,iBAAiB,YAAY,WAAW,YAAY,mBAAmB,SAAS,aAAa,SAAS,eAAe,UAAU,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAzqB,KAC7Z,OAAsB,EAAiC,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAiB,KAAK,MAAM,EAAiB,MAAM,WAAW,SAAS,SAAS,SAAS,aAAa,WAAW,CAAC,SAAS,EAAa,cAAc,QAAQ,aAAa,EAAS,CAAC,CAAC,CAAK,EAA8B,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAiB,KAAK,MAAM,EAAiB,MAAM,WAAW,SAAS,SAAS,SAAS,aAAa,WAAW,CAAC,SAAS,EAAS,CAAC,CAAsB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,MAAM,WAAW,aAAa,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAiB,KAAK,MAAM,EAAiB,MAAM,CAAC,SAAS,GAAY,CAAC,CAAC,GAAsB,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAiB,KAAK,UAAW,EAAiB,MAAM,UAAW,IAAI,IAAI,WAAW,IAAI,MAAM,EAAiB,iBAAiB,UAAU,EAAE,QAAQ,GAAG,CAAC,SAAS,EAAQ,QAAQ,QAAQ,GAAG,IAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyP,OAAlP,GAAsQ,EAAM,MAAM,CAAC,IAAI,GAAQ,MAAM,GAAe,SAAS,CAAC,EAAY,MAAM,GAA+B,EAAM,QAAQ,CAAC,QAAQ,GAAQ,MAAM,GAAW,SAAS,CAAC,EAAiB,GAAgC,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAiB,MAAM,WAAW,MAAM,CAAC,SAAS,EAAY,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,SAAS,CAAc,EAAM,GAAQ,CAAC,GAAG,CAAC,GAAU,CAAC,QAAQ,GAAa,SAAS,GAAgB,WAAW,CAAC,SAAS,GAAG,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,GAAkB,QAAQ,EAA4B,GAAG,EAAE,cAAc,EAA4B,OAAO,OAAO,CAAC,QAAQ,GAAY,OAAO,GAAW,UAAU,GAAc,SAAS,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,SAAS,KAAK,EAAU,MAAM,EAAgB,CAAC,CAAc,EAAK,QAAQ,CAAC,IAAI,EAAS,GAAG,GAAQ,KAAK,OAAO,OAAO,GAAwB,SAAS,GAAiB,UAAU,GAAc,SAAS,GAAmB,CAAC,EAAgB,SAAS,EAA4B,eAAe,EAAM,OAAO,IAAA,GAAU,mBAAmB,GAAY,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,EAAE,OAAO,UAAU,cAAc,EAAS,OAAO,OAAO,CAAC,CAAC,CAAC,IAAqB,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,OAAO,WAAW,SAAS,CAAC,SAAS,IAAe,CAAC,CAAC,CAAC,EAAkB,MAAM,GAAU,CAAC,GAA0B,EAAK,SAAS,CAAC,KAAK,SAAS,QAAQ,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,IAAiB,EAAG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,EAAkB,WAAW,aAAa,EAAkB,OAAO,OAAO,OAAO,OAAO,UAAU,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,QAAQ,UAAU,UAAU,qCAAqC,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAkB,KAAK,IAAI,OAAO,GAAG,EAAkB,KAAK,IAAI,gBAAgB,EAAkB,MAAM,gBAAgB,OAAO,GAAkB,GAAG,UAAU,OAAO,GAAkB,GAAG,iBAAiB,YAAY,WAAW,YAAY,mBAAmB,SAAS,aAAa,SAAS,eAAe,UAAU,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAAgB,CAAC,SAAS,GAAO,CAAC,GAAuB,EAAK,GAAO,IAAI,CAAC,GAAG,GAAQ,KAAK,QAAQ,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,UAAU,CAAC,MAAM,GAAkB,SAAS,EAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAvqF,EAAMC,GAAU,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,oEAAoE,CAAC,CAAc,EAAK,MAAM,CAAC,UAAU,qCAAqC,CAAC,CAAC,CAAC,CAAC,kDAjDzlC,KAAiE,KAAkD,IAAiE,IAA2G,CAGxW,EAAoB,0DAAgE,GAAwB,UAG5G,EAAmB,CAAC,gBAAgB,GAAG,eAAe,GAAG,CAAO,EAAe,CAAC,UAAU,GAAG,cAAc,0BAA0B,YAAY,GAAK,CAAO,EAAc,CAAC,KAAK,GAAK,aAAa,IAAI,KAAK,CAAC,SAAS,GAAG,WAAW,MAAM,WAAW,QAAQ,CAAC,MAAM,UAAU,CAAO,EAAe,CAAC,UAAU,WAAW,IAAI,EAAE,WAAW,IAAI,CAAO,EAAoB,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,MAAM,UAAU,iBAAiB,UAAU,WAAW,yBAAyB,QAAQ,sBAAsB,OAAO,CAAC,YAAY,EAAE,YAAY,QAAQ,YAAY,mBAAmB,CAAC,OAAO,OAAO,OAAO,GAAG,CAAO,EAAoB,CAAC,YAAY,UAAU,OAAO,GAAG,MAAM,EAAE,CAAO,EAAc,CAAC,SAAS,GAAK,KAAK,GAAG,KAAK,GAAG,MAAM,UAAU,oBAAoB,UAAU,qBAAqB,UAAU,CAAO,EAAgB,CAAC,YAAY,GAAK,OAAO,GAAG,OAAO,MAAM,CAAO,EAAqB,CAAC,KAAK,GAAK,KAAK,GAAG,KAAK,GAAG,MAAM,UAAU,WAAW,UAAU,OAAO,MAAM,CAAO,EAAoB,CAAC,MAAM,UAAU,KAAK,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,CAGxhC,GAAmB,uqFAMR,GAAoB,o1EAkC2lH,EAAmB,YAAY,eAAe,EAAmB,aAAa,CAAC,KAAK,eAAe,UAAU,QAAQ,YAAY,wBAAwB,QAAQ,eAAe,SAAS,GAAM,WAAW,EAAmB,OAAO,EAAe,MAAM,EAAc,OAAO,EAAe,WAAW,EAAoB,MAAM,EAAc,QAAQ,EAAgB,YAAY,EAAqB,WAAW,EAAoB,WAAW,EAAoB,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAGvmI,EAAoB,EAAmB,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,eAAe,YAAY,2CAA2C,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,wBAAwB,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,eAAe,YAAY,+BAA+B,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,WAAW,aAAa,GAAM,aAAa,MAAM,cAAc,KAAK,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,YAAY,0DAA0D,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,YAAY,kEAAkE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,0BAA0B,YAAY,qDAAqD,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,eAAe,aAAa,GAAK,aAAa,MAAM,cAAc,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,SAAS,QAAQ,gBAAgB,GAAK,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,MAAM,WAAW,QAAQ,CAAC,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,UAAU,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,WAAW,QAAQ,CAAC,WAAW,aAAa,CAAC,aAAa,CAAC,WAAW,aAAa,CAAC,YAAY,CAAC,qBAAqB,uBAAuB,CAAC,wBAAwB,GAAK,CAAC,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,OAAO,EAAM,CAAC,OAAO,EAAM,YAAY,cAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,QAAQ,gBAAgB,GAAK,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAY,MAAM,MAAM,iBAAiB,aAAa,UAAU,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,yBAAyB,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,CAAC,YAAY,EAAE,YAAY,QAAQ,YAAY,mBAAmB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,aAAa,MAAM,SAAS,aAAa,OAAO,CAAC,OAAO,CAAC,KAAK,EAAY,UAAU,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,CAAC,KAAK,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,OAAO,EAAM,CAAC,OAAO,EAAM,WAAW,IAAQ,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,OAAO,EAAM,CAAC,OAAO,EAAM,WAAW,IAAQ,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,eAAe,GAAK,OAAO,EAAM,CAAC,OAAO,EAAM,WAAW,IAAQ,CAAC,oBAAoB,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,aAAa,UAAU,OAAO,EAAM,CAAC,OAAO,EAAM,WAAW,IAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,UAAU,OAAO,EAAM,CAAC,OAAO,EAAM,WAAW,IAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,eAAe,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,YAAY,oCAAoC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,IAAQ,CAAC,OAAO,CAAC,KAAK,EAAY,aAAa,MAAM,SAAS,aAAa,MAAM,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,IAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,CAAC,KAAK,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,eAAe,GAAK,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,OAAO,CAAC,KAAK,EAAY,aAAa,MAAM,SAAS,aAAa,MAAM,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,IAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,UAAU,CAAC,OAAO,CAAC,KAAK,EAAY,UAAU,MAAM,SAAS,aAAa,OAAO,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,YAAY,gEAAgE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,QAAQ,gBAAgB,GAAK,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAwB,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,QAAQ,CAAC,MAAO,IAAO,CAAC,CAAC"}