{"version":3,"file":"TextDiff.DDjbkTDt.mjs","names":["mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","React.forwardRef","useMemo","useState"],"sources":["https:/framerusercontent.com/modules/78wJr0q4vFZTRbgiA8bC/Y2EfGRGz13i3kdwNCKGk/gU109MUNe.js","https:/framerusercontent.com/modules/ddSSnr51Ev6XhkbX5HBT/OSFL9ztXlvqRyHESys5O/mkaNE3fll.js","https:/framerusercontent.com/modules/wAiweybtfCFTLuctxaSq/FisilB3Oci1KpF5r4AoN/TextDiff.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 7.5 C 0 3.358 3.358 0 7.5 0 C 11.642 0 15 3.358 15 7.5 C 15 11.642 11.642 15 7.5 15 C 3.358 15 0 11.642 0 7.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15px\" id=\"i5oDhfGPs\" transform=\"translate(3 3)\" width=\"15px\"/><path d=\"M 0 7.5 C 0 3.358 3.358 0 7.5 0 C 11.642 0 15 3.358 15 7.5 C 15 11.642 11.642 15 7.5 15 C 3.358 15 0 11.642 0 7.5 Z\" fill=\"transparent\" height=\"15px\" id=\"g08Nvj3MZ\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"15px\"/><path d=\"M 0 0 L 5.197 5.197\" fill=\"transparent\" height=\"5.196562499999999px\" id=\"NQvjzSBYl\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(15.803 15.803)\" width=\"5.196562499999999px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3899066744\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-In32S\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-In32S { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Magnifying Glass\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-In32S\");Icon.displayName=\"Magnifying Glass\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVector\":\"{\\\"name\\\":\\\"Magnifying Glass\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 2.856 16.644 C 1.993 15.782 2.565 13.97 2.126 12.908 C 1.671 11.813 0 10.922 0 9.75 C 0 8.578 1.671 7.688 2.126 6.592 C 2.565 5.531 1.993 3.718 2.856 2.856 C 3.718 1.993 5.531 2.565 6.592 2.126 C 7.692 1.671 8.578 0 9.75 0 C 10.922 0 11.813 1.671 12.908 2.126 C 13.97 2.565 15.782 1.993 16.644 2.856 C 17.507 3.718 16.935 5.53 17.374 6.592 C 17.829 7.692 19.5 8.578 19.5 9.75 C 19.5 10.922 17.829 11.813 17.374 12.908 C 16.935 13.97 17.507 15.782 16.644 16.644 C 15.782 17.507 13.97 16.935 12.908 17.374 C 11.813 17.829 10.922 19.5 9.75 19.5 C 8.578 19.5 7.688 17.829 6.592 17.374 C 5.531 16.935 3.718 17.507 2.856 16.644 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"19.5px\" id=\"Hb1Z2mXax\" transform=\"translate(2.25 2.25)\" width=\"19.5px\"/><path d=\"M 2.856 16.644 C 1.993 15.782 2.565 13.97 2.126 12.908 C 1.671 11.813 0 10.922 0 9.75 C 0 8.578 1.671 7.688 2.126 6.592 C 2.565 5.531 1.993 3.718 2.856 2.856 C 3.718 1.993 5.531 2.565 6.592 2.126 C 7.692 1.671 8.578 0 9.75 0 C 10.922 0 11.813 1.671 12.908 2.126 C 13.97 2.565 15.782 1.993 16.644 2.856 C 17.507 3.718 16.935 5.53 17.374 6.592 C 17.829 7.692 19.5 8.578 19.5 9.75 C 19.5 10.922 17.829 11.813 17.374 12.908 C 16.935 13.97 17.507 15.782 16.644 16.644 C 15.782 17.507 13.97 16.935 12.908 17.374 C 11.813 17.829 10.922 19.5 9.75 19.5 C 8.578 19.5 7.688 17.829 6.592 17.374 C 5.531 16.935 3.718 17.507 2.856 16.644 Z\" fill=\"transparent\" height=\"19.5px\" id=\"zUTIozC0Y\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(2.25 2.25)\" width=\"19.5px\"/><path d=\"M 0 3 L 2.25 5.25 L 7.5 0\" fill=\"transparent\" height=\"5.25px\" id=\"tNeITiQIS\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(8.25 9.75)\" width=\"7.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"876389144\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-BpUsM\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-BpUsM { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Seal Check\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-BpUsM\");Icon.displayName=\"Seal Check\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Seal Check\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * LCS-based word diff algorithm\n * Returns [type, text]\n * type:  0 = unchanged\n *        1 = insert\n *       -1 = delete\n */function wordDiff(a,b){const aWords=a.split(/(\\s+)/);const bWords=b.split(/(\\s+)/);// Build LCS dynamic programming table\nconst dp=Array(aWords.length+1).fill(null).map(()=>Array(bWords.length+1).fill(0));for(let i=1;i<=aWords.length;i++){for(let j=1;j<=bWords.length;j++){if(aWords[i-1]===bWords[j-1]){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);}}}// Backtrack to build the diff result\nconst result=[];let i=aWords.length;let j=bWords.length;while(i>0||j>0){if(i>0&&j>0&&aWords[i-1]===bWords[j-1]){// Words match - unchanged\nresult.unshift([0,aWords[i-1]]);i--;j--;}else if(j>0&&(i===0||dp[i][j-1]>=dp[i-1][j])){// Word was inserted in revised text\nresult.unshift([1,bWords[j-1]]);j--;}else{// Word was deleted from original text\nresult.unshift([-1,aWords[i-1]]);i--;}}return result;}export function TextDiff(props){const{originalText,revisedText,baseText,basePosition}=props;// Memoize diff calculation for performance\nconst diffs=useMemo(()=>wordDiff(originalText||\"\",revisedText||\"\"),[originalText,revisedText]);const[hoveredIndex,setHoveredIndex]=useState(null);const[accepted,setAccepted]=useState(new Set);const[buttonHovered,setButtonHovered]=useState(false);// Memoize pending changes count\nconst pendingChanges=useMemo(()=>diffs.filter(([type],i)=>type!==0&&!accepted.has(i)).length,[diffs,accepted]);const handleAcceptAll=()=>{const allChangeIndices=diffs.map(([type],i)=>type!==0?i:null).filter(i=>i!==null);setAccepted(new Set(allChangeIndices));};const Popover=({type,index})=>{const isInsert=type===1;const bgColor=isInsert?\"#1e8e3e\":\"#c5221f\";const hoverColor=isInsert?\"#167c32\":\"#a91b18\";return /*#__PURE__*/_jsxs(\"span\",{style:{position:\"absolute\",bottom:\"calc(100% + 8px)\",left:\"50%\",transform:\"translateX(-50%)\",zIndex:1e3},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:e=>{e.stopPropagation();setAccepted(new Set([...accepted,index]));setHoveredIndex(null);},onMouseEnter:()=>setButtonHovered(true),onMouseLeave:()=>setButtonHovered(false),style:{fontSize:\"11px\",fontWeight:500,fontFamily:\"Inter, sans-serif\",padding:\"6px 12px\",borderRadius:\"8px\",border:\"none\",background:buttonHovered?hoverColor:bgColor,color:\"white\",cursor:\"pointer\",whiteSpace:\"nowrap\",boxShadow:\"0 4px 12px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.1)\",display:\"flex\",alignItems:\"center\",gap:\"6px\",transition:\"all 0.15s ease\",transform:buttonHovered?\"scale(1.02)\":\"scale(1)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"14px\",lineHeight:1},children:isInsert?\"✓\":\"✕\"}),isInsert?\"Insert\":\"Remove\"]}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",bottom:\"-6px\",left:\"50%\",transform:\"translateX(-50%)\",width:0,height:0,borderLeft:\"7px solid transparent\",borderRight:\"7px solid transparent\",borderTop:`7px solid ${buttonHovered?hoverColor:bgColor}`,transition:\"border-color 0.15s ease\"}})]});};const renderDiff=()=>diffs.map(([type,text],i)=>{if(accepted.has(i)){if(type===-1)return null;if(type===1)return /*#__PURE__*/_jsx(\"span\",{style:{color:\"#364153\"},children:text},i);}const isHovered=hoveredIndex===i;if(type===0){return /*#__PURE__*/_jsx(\"span\",{children:text},i);}if(type===1){return /*#__PURE__*/_jsxs(\"span\",{onMouseEnter:()=>setHoveredIndex(i),style:{position:\"relative\",color:\"#1e8e3e\",backgroundColor:isHovered?\"rgba(30, 142, 62, 0.25)\":\"rgba(30, 142, 62, 0.12)\",textDecoration:\"underline\",textDecorationColor:\"#1e8e3e\",textDecorationThickness:\"2px\",textUnderlineOffset:\"2px\",transition:\"background-color 0.15s ease\",borderRadius:\"2px\",cursor:\"pointer\"},children:[text,isHovered&&/*#__PURE__*/_jsx(Popover,{type:1,index:i})]},i);}return /*#__PURE__*/_jsxs(\"span\",{onMouseEnter:()=>setHoveredIndex(i),style:{position:\"relative\",color:\"#c5221f\",backgroundColor:isHovered?\"rgba(197, 34, 31, 0.25)\":\"rgba(197, 34, 31, 0.12)\",textDecoration:\"line-through\",textDecorationColor:\"#c5221f\",textDecorationThickness:\"2px\",transition:\"background-color 0.15s ease\",borderRadius:\"2px\",cursor:\"pointer\"},children:[text,isHovered&&/*#__PURE__*/_jsx(Popover,{type:-1,index:i})]},i);});return /*#__PURE__*/_jsxs(\"div\",{onMouseLeave:()=>{setHoveredIndex(null);setButtonHovered(false);},style:{fontSize:\"13px\",color:\"#364153\",lineHeight:\"1.6\",whiteSpace:\"pre-wrap\",fontFamily:\"Inter, sans-serif\"},children:[pendingChanges>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",marginBottom:\"8px\",paddingBottom:\"8px\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:\"13px\",color:\"#6b7280\",fontWeight:400,flex:1},children:[pendingChanges,\" pending\",\" \",pendingChanges===1?\"change\":\"changes\"]}),/*#__PURE__*/_jsx(\"button\",{onClick:handleAcceptAll,style:{fontSize:\"12px\",fontWeight:500,padding:\"6px 8px\",borderRadius:\"8px\",border:\"1px solid #d1d5db\",background:\"white\",color:\"#374151\",cursor:\"pointer\",transition:\"all 0.15s ease\",whiteSpace:\"nowrap\"},onMouseEnter:e=>{e.currentTarget.style.background=\"#f9fafb\";e.currentTarget.style.borderColor=\"#9ca3af\";},onMouseLeave:e=>{e.currentTarget.style.background=\"white\";e.currentTarget.style.borderColor=\"#d1d5db\";},children:\"Accept All\"})]}),/*#__PURE__*/_jsxs(\"div\",{children:[basePosition===\"start\"&&/*#__PURE__*/_jsx(\"span\",{children:baseText}),renderDiff(),basePosition===\"end\"&&/*#__PURE__*/_jsx(\"span\",{children:baseText})]}),pendingChanges===0&&diffs.some(([type])=>type!==0)&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"12px\",paddingTop:\"12px\",borderTop:\"1px solid #e5e7eb\",fontSize:\"12px\",color:\"#1e8e3e\",fontWeight:500,display:\"flex\",alignItems:\"center\",gap:\"6px\"},children:[/*#__PURE__*/_jsx(\"span\",{children:\"✓\"}),\" All changes applied\"]})]});}addPropertyControls(TextDiff,{baseText:{type:ControlType.String,title:\"Base / Unchanged\",displayTextArea:true},basePosition:{type:ControlType.Enum,title:\"Base Position\",options:[\"start\",\"end\"],optionTitles:[\"Beginning\",\"End\"],defaultValue:\"start\"},originalText:{type:ControlType.String,title:\"Original\",displayTextArea:true},revisedText:{type:ControlType.String,title:\"Revised\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"TextDiff\":{\"type\":\"reactComponent\",\"name\":\"TextDiff\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextDiff.map"],"mappings":"+RAC0C,IAAqF,IAA4B,EAAqCA,EAAK,0BAAgCC,EAAkB,EAAW,SAAS,EAAM,EAAI,CAAC,OAAoB,EAAK,MAAM,CAAC,GAAG,EAAU,MAAI,SAAS,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQC,EAAU,EAAO,OAAOD,CAAI,EAAQE,EAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAKD,EAAU,CAAC,GAAG,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,EAAK,MAAM,CAAC,GAAG,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQE,EAAI,2/BAAigCC,GAAU,CAAC,QAAM,QAAM,SAAO,KAAG,QAAM,SAAO,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAO,EAAM,WAAW,eAAe,UAAU,GAAQ,EAAM,WAAW,IAAI,UAAU,GAAO,EAAM,SAAS,GAUh1DC,EAAK,EAV42DC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,YAAU,GAAG,GAAWF,EAAS,CAAK,EAAQ,EAAK,EAAe,aAAaD,CAAG,EAAE,OAAoB,EAAKD,EAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAe,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAY,EAAU,WAAW,EAAU,WAAW,EAAU,GAAG,CAAK,EAAE,QAAQ,YAAY,SAAsB,EAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAUryE,EAAE,CAVizE,iCAAiCH,EAAK,2CAA2CA,EAAK,iBAUr4E,EAAE,cAAc,EAAE,EAAK,YAAY,mBAAuC,EAAoBM,EAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAK,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAY,MAAM,CAAC,CAAC,+BCVpa,IAAqF,IAA4B,EAAqC,EAAK,0BAAgC,EAAkB,EAAW,SAAS,EAAM,EAAI,CAAC,OAAoB,EAAK,MAAM,CAAC,GAAG,EAAU,MAAI,SAAS,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQ,EAAU,EAAO,OAAO,CAAI,EAAQ,EAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAU,CAAC,GAAG,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,EAAK,MAAM,CAAC,GAAG,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQ,EAAI,k/DAAw/D,GAAU,CAAC,QAAM,QAAM,SAAO,KAAG,QAAM,SAAO,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAO,EAAM,WAAW,eAAe,UAAU,GAAQ,EAAM,WAAW,IAAI,UAAU,GAAO,EAAM,SAAS,GAUv0F,EAAK,EAVm2FE,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,YAAU,GAAG,GAAW,EAAS,CAAK,EAAQ,EAAK,EAAe,YAAY,CAAG,EAAE,OAAoB,EAAK,EAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAe,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAY,EAAU,WAAW,EAAU,WAAW,EAAU,GAAG,CAAK,EAAE,QAAQ,YAAY,SAAsB,EAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAU3xG,EAAE,CAVuyG,iCAAiC,EAAK,2CAA2C,EAAK,iBAU33G,EAAE,cAAc,EAAE,EAAK,YAAY,aAAiC,EAAoB,EAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAK,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAY,MAAM,CAAC,CAAC,KCLrc,SAAS,EAAS,EAAE,EAAE,CAAC,IAAM,EAAO,EAAE,MAAM,OAAO,EAAQ,EAAO,EAAE,MAAM,OAAO,EAC9E,EAAG,MAAM,EAAO,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,MAAM,EAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAO,OAAO,IAAK,IAAI,IAAI,EAAE,EAAE,GAAG,EAAO,OAAO,IAAQ,EAAO,EAAE,KAAK,EAAO,EAAE,GAAI,EAAG,EAAE,CAAC,GAAG,EAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAQ,EAAG,EAAE,CAAC,GAAG,KAAK,IAAI,EAAG,EAAE,EAAE,CAAC,GAAG,EAAG,EAAE,CAAC,EAAE,EAAE,EAC1P,IAAM,EAAO,CAAC,EAAM,EAAE,EAAO,OAAW,EAAE,EAAO,OAAO,KAAM,EAAE,GAAG,EAAE,GAAM,EAAE,GAAG,EAAE,GAAG,EAAO,EAAE,KAAK,EAAO,EAAE,IAC5G,EAAO,QAAQ,CAAC,EAAE,EAAO,EAAE,EAAE,CAAC,EAAE,IAAI,KAAa,EAAE,IAAI,IAAI,GAAG,EAAG,EAAE,CAAC,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,KAClF,EAAO,QAAQ,CAAC,EAAE,EAAO,EAAE,EAAE,CAAC,EAAE,MAChC,EAAO,QAAQ,CAAC,GAAG,EAAO,EAAE,EAAE,CAAC,EAAE,KAAM,OAAO,CAAO,CAAC,SAAgB,EAAS,EAAM,CAAC,GAAK,CAAC,eAAa,cAAY,WAAS,gBAAc,EACtI,EAAMC,MAAY,EAAS,GAAc,GAAG,GAAa,EAAE,EAAE,CAAC,EAAa,CAAW,CAAC,EAAO,CAAC,EAAa,GAAiBC,EAAS,IAAI,EAAO,CAAC,EAAS,GAAaA,EAAS,IAAI,GAAG,EAAO,CAAC,EAAc,GAAkBA,EAAS,EAAK,EAC9O,EAAeD,MAAY,EAAM,QAAQ,CAAC,GAAM,IAAI,IAAO,GAAG,CAAC,EAAS,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAM,CAAQ,CAAC,EAAQ,MAAoB,CAAC,IAAM,EAAiB,EAAM,KAAK,CAAC,GAAM,IAAI,IAAO,EAAI,KAAF,CAAM,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,EAAY,IAAI,IAAI,CAAgB,CAAC,CAAE,EAAQ,GAAS,CAAC,OAAK,WAAS,CAAC,IAAM,EAAS,IAAO,EAAQ,EAAQ,EAAS,UAAU,UAAgB,EAAW,EAAS,UAAU,UAAU,OAAoB,EAAM,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,mBAAmB,KAAK,MAAM,UAAU,mBAAmB,OAAO,GAAG,EAAE,SAAS,CAAc,EAAM,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,gBAAgB,EAAE,EAAY,IAAI,IAAI,CAAC,GAAG,EAAS,CAAK,CAAC,CAAC,EAAE,EAAgB,IAAI,CAAE,EAAE,iBAAiB,EAAiB,EAAI,EAAE,iBAAiB,EAAiB,EAAK,EAAE,MAAM,CAAC,SAAS,OAAO,WAAW,IAAI,WAAW,oBAAoB,QAAQ,WAAW,aAAa,MAAM,OAAO,OAAO,WAAW,EAAc,EAAW,EAAQ,MAAM,QAAQ,OAAO,UAAU,WAAW,SAAS,UAAU,yDAAyD,QAAQ,OAAO,WAAW,SAAS,IAAI,MAAM,WAAW,iBAAiB,UAAU,EAAc,cAAc,UAAU,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,WAAW,CAAC,EAAE,SAAS,EAAS,IAAI,GAAG,CAAC,EAAE,EAAS,SAAS,QAAQ,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,OAAO,KAAK,MAAM,UAAU,mBAAmB,MAAM,EAAE,OAAO,EAAE,WAAW,wBAAwB,YAAY,wBAAwB,UAAU,aAAa,EAAc,EAAW,IAAU,WAAW,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAuqC,OAAoB,EAAM,MAAM,CAAC,iBAAiB,CAAC,EAAgB,IAAI,EAAE,EAAiB,EAAK,CAAE,EAAE,MAAM,CAAC,SAAS,OAAO,MAAM,UAAU,WAAW,MAAM,WAAW,WAAW,WAAW,mBAAmB,EAAE,SAAS,CAAC,EAAe,GAAgB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,eAAe,gBAAgB,aAAa,MAAM,cAAc,KAAK,EAAE,SAAS,CAAc,EAAM,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,MAAM,UAAU,WAAW,IAAI,KAAK,CAAC,EAAE,SAAS,CAAC,EAAe,WAAW,IAAI,IAAiB,EAAE,SAAS,SAAS,CAAC,CAAC,EAAe,EAAK,SAAS,CAAC,QAAQ,EAAgB,MAAM,CAAC,SAAS,OAAO,WAAW,IAAI,QAAQ,UAAU,aAAa,MAAM,OAAO,oBAAoB,WAAW,QAAQ,MAAM,UAAU,OAAO,UAAU,WAAW,iBAAiB,WAAW,QAAQ,EAAE,aAAa,GAAG,CAAC,EAAE,cAAc,MAAM,WAAW,UAAU,EAAE,cAAc,MAAM,YAAY,SAAU,EAAE,aAAa,GAAG,CAAC,EAAE,cAAc,MAAM,WAAW,QAAQ,EAAE,cAAc,MAAM,YAAY,SAAU,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,SAAS,CAAC,IAAe,SAAsB,EAAK,OAAO,CAAC,SAAS,CAAQ,CAAC,EAAhxE,EAAM,KAAK,CAAC,EAAK,GAAM,IAAI,CAAC,GAAG,EAAS,IAAI,CAAC,EAAE,CAAC,GAAG,IAAO,GAAG,OAAO,KAAK,GAAG,IAAO,EAAE,OAAoB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE,SAAS,CAAI,EAAE,CAAC,CAAE,CAAC,IAAM,EAAU,IAAe,EAA0hB,OAArhB,IAAO,EAAuB,EAAK,OAAO,CAAC,SAAS,CAAI,EAAE,CAAC,EAAM,IAAO,EAAuB,EAAM,OAAO,CAAC,iBAAiB,EAAgB,CAAC,EAAE,MAAM,CAAC,SAAS,WAAW,MAAM,UAAU,gBAAgB,EAAU,0BAA0B,0BAA0B,eAAe,YAAY,oBAAoB,UAAU,wBAAwB,MAAM,oBAAoB,MAAM,WAAW,8BAA8B,aAAa,MAAM,OAAO,SAAS,EAAE,SAAS,CAAC,EAAK,GAAwB,EAAK,EAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAuB,EAAM,OAAO,CAAC,iBAAiB,EAAgB,CAAC,EAAE,MAAM,CAAC,SAAS,WAAW,MAAM,UAAU,gBAAgB,EAAU,0BAA0B,0BAA0B,eAAe,eAAe,oBAAoB,UAAU,wBAAwB,MAAM,WAAW,8BAA8B,aAAa,MAAM,OAAO,SAAS,EAAE,SAAS,CAAC,EAAK,GAAwB,EAAK,EAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,EAAipC,IAAe,OAAoB,EAAK,OAAO,CAAC,SAAS,CAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAiB,GAAG,EAAM,MAAM,CAAC,KAAQ,IAAO,CAAC,GAAgB,EAAM,MAAM,CAAC,MAAM,CAAC,UAAU,OAAO,WAAW,OAAO,UAAU,oBAAoB,SAAS,OAAO,MAAM,UAAU,WAAW,IAAI,QAAQ,OAAO,WAAW,SAAS,IAAI,KAAK,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,iBAbnsI,IAAoC,IAAoD,EAa4mI,EAAoB,EAAS,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,gBAAgB,EAAI,EAAE,aAAa,CAAC,KAAK,EAAY,KAAK,MAAM,gBAAgB,QAAQ,CAAC,QAAQ,KAAK,EAAE,aAAa,CAAC,YAAY,KAAK,EAAE,aAAa,OAAO,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,gBAAgB,EAAI,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,gBAAgB,EAAI,CAAC,CAAC"}