{"version":3,"file":"ProjectWindowCard.Dtklk0rE.mjs","names":["useRef","Tag","Fragment"],"sources":["https:/framerusercontent.com/modules/D75h9oxNgJByzSe5UfeV/JrFkiQ7cI4TjIXHbGZhJ/TextScrollReveal.js","https:/framerusercontent.com/modules/XJlmVejjnHYxWj7OQQI7/R8ERdgP5OlLvtzrygyI0/ProjectWindowCard.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useTransform,useSpring}from\"framer-motion\";import{useRef,Fragment}from\"react\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer\n * @framerIntrinsicWidth 600\n * @framerSupportedLayoutHeight any-prefer\n * @framerIntrinsicHeight 300\n */export default function TextScrollReveal({text,type,font,color,htmlTag,opacity:{minOpacity,maxOpacity},style,appear:{start,end,transition}}){const ref=useRef(null);const{scrollYProgress}=useScroll({target:ref,offset:[`0 ${start}`,`0 ${end}`]});const words=text.split(\" \");const Tag=htmlTag;return /*#__PURE__*/_jsx(Tag,{ref:ref,style:{...style,textAlign:font.textAlign},children:words.map((word,wordIndex)=>{return /*#__PURE__*/_jsx(Fragment,{children:type===\"word\"?/*#__PURE__*/_jsx(Word,{word:word,wordIndex:wordIndex,numberOfWords:words.length,scrollYProgress:scrollYProgress,minOpacity:minOpacity,maxOpacity:maxOpacity,style:{color,fontWeight:\"normal\",...font},transition:transition}):/*#__PURE__*/_jsx(Character,{word:word,wordIndex:wordIndex,numberOfWords:words.length,scrollYProgress:scrollYProgress,minOpacity:minOpacity,maxOpacity:maxOpacity,style:{color,fontWeight:\"normal\",...font},transition:transition})},word+wordIndex);})});}const Character=({word,wordIndex,numberOfWords,scrollYProgress,minOpacity,maxOpacity,style,transition})=>{const wordStart=wordIndex/numberOfWords;const wordEnd=wordStart+1/numberOfWords;return /*#__PURE__*/_jsxs(motion.span,{style:style,children:[word.split(\"\").map((char,charIndex)=>{const charStart=wordStart+charIndex/word.length*(wordEnd-wordStart);const charEnd=wordStart+(charIndex+1)/word.length*(wordEnd-wordStart);const scaleY=useSpring(scrollYProgress,transition);const opacity=useTransform(scaleY,[charStart,charEnd],[minOpacity,maxOpacity]);return /*#__PURE__*/_jsx(motion.span,{style:{opacity,...style},children:char},`${wordIndex}-${charIndex}`);}),wordIndex<numberOfWords-1&&\" \"]},word+wordIndex);};const Word=({word,wordIndex,numberOfWords,scrollYProgress,minOpacity,maxOpacity,style,transition})=>{const wordStart=wordIndex/numberOfWords;const wordEnd=wordStart+1/numberOfWords;const scaleY=useSpring(scrollYProgress,transition);const opacity=useTransform(scaleY,[wordStart,wordEnd],[minOpacity,maxOpacity]);return /*#__PURE__*/_jsxs(motion.span,{style:{opacity,...style},children:[word,wordIndex<numberOfWords-1&&\" \"]},word+wordIndex);};TextScrollReveal.displayName=\"Text Scroll Reveal\";addPropertyControls(TextScrollReveal,{text:{title:\"Text\",type:ControlType.String,displayTextArea:true,defaultValue:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\"},htmlTag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"h1\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"span\",\"p\"],optionTitles:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"span\",\"p\"]},type:{title:\"Type\",type:ControlType.Enum,defaultValue:\"word\",options:[\"word\",\"character\"],optionTitles:[\"Word\",\"Character\"]},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#000\"},opacity:{title:\"Opacity\",type:ControlType.Object,controls:{minOpacity:{title:\"Min\",type:ControlType.Number,defaultValue:.2,min:0,max:1,step:.1,displayStepper:true},maxOpacity:{title:\"Max\",type:ControlType.Number,defaultValue:1,min:0,max:1,step:.1,displayStepper:true}}},appear:{title:\"Scroll Trigger\",type:ControlType.Object,controls:{start:{title:\"Start\",type:ControlType.Enum,defaultValue:\"1\",options:[\"1\",\"0.75\",\"0.5\"],optionTitles:[\"Bottom of Screen\",\"3/4 Down Screen\",\"Middle of Screen\"]},end:{title:\"End\",type:ControlType.Enum,defaultValue:\"0\",options:[\"0\",\"0.25\",\"0.5\"],optionTitles:[\"Top of Screen\",\"1/4 Down Screen\",\"Middle of Screen\"]},transition:{title:\"Transition\",type:ControlType.Transition}},description:\"Full tutorial on [NewOffset](https://newoffset.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextScrollReveal\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer\",\"framerSupportedLayoutHeight\":\"any-prefer\",\"framerIntrinsicHeight\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextScrollReveal.map","// User instructions:\n// Build the project grid card from Devyani's Canva mock as a reusable Framer component.\n// It is a retro-OS window: coloured title bar holding the project name, pixel-art body,\n// and a status bar carrying industry / role / year. Hybrid with the Uxtract site language:\n// hard offset drop-shadow instead of a soft OS shadow, chunky ink borders, cream + pastel palette.\n// No filter toggles. Whole card is a single link, one tab stop.\n// Title bar carries ONE button: an \"open in new window\" glyph (square with an arrow leaving the\n// top-right corner), replacing the earlier decorative minimise / maximise / close trio.\n// The glyph can be hidden per card via the Show Icon toggle.\n// Glyph is tuned for legibility at small size: lighter stroke, deeper notch, larger render box.\n// Hover: the artwork zooms in slightly and its rest-state colour treatment lifts to full colour.\n// Rest treatment is switchable (Desaturate / Grayscale / Cool Tint / Wash / Sepia / None) because\n// sepia on a cream page reads warm-on-warm.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useReducedMotion}from\"framer-motion\";// Always emit the SAME filter function on both sides of the transition, with a\n// neutral value on hover. Animating between \"saturate(0.5)\" and \"none\" would snap\n// instead of tween, because framer-motion cannot interpolate mismatched lists.\nfunction buildFilter(style,amount,hovered){const a=hovered?0:Math.min(Math.max(amount,0),100)/100;switch(style){case\"grayscale\":return`grayscale(${a})`;case\"sepia\":return`sepia(${a})`;case\"wash\":// flattens contrast and lifts the blacks, like a faded print\nreturn`contrast(${1-a*.35}) brightness(${1+a*.12}) saturate(${1-a*.3})`;case\"desaturate\":return`saturate(${1-a*.9})`;default:// \"tint\" and \"none\" leave the pixels alone; tint is handled by the overlay\nreturn`saturate(1)`;}}/**\n * Project Window Card\n *\n * @framerIntrinsicWidth 540\n * @framerIntrinsicHeight 470\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ProjectWindowCard(props){const{title,tag1,tag2,tag3,year,link,newTab,showIcon=true,image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"\"},barColor,inkColor,frameColor,surfaceColor,barTextColor,aspectRatio,shadowSize,filterStyle,filterAmount,tintColor,zoomAmount,hoverSpeed,iconSize,iconWeight,titleFont,tagFont,style}=props;const reduceMotion=useReducedMotion();const tags=[tag1,tag2,tag3].filter(t=>typeof t===\"string\"&&t.trim().length>0);const restShadow=`${shadowSize}px ${shadowSize}px 0px ${inkColor}`;const hoverShadow=`${shadowSize+5}px ${shadowSize+5}px 0px ${inkColor}`;const ease={duration:hoverSpeed,ease:\"easeOut\"};// Card lift. Skipped entirely when the visitor asks for reduced motion.\nconst cardVariants={rest:{x:0,y:0,boxShadow:restShadow},hover:reduceMotion?{x:0,y:0,boxShadow:hoverShadow}:{x:-3,y:-3,boxShadow:hoverShadow}};// Artwork: muted at rest, full colour + slight zoom on hover.\n// The colour change survives reduced motion, only the zoom is dropped, because a\n// colour shift is not vestibular motion.\nconst artVariants={rest:{scale:1,filter:buildFilter(filterStyle,filterAmount,false)},hover:{scale:reduceMotion?1:zoomAmount,filter:buildFilter(filterStyle,filterAmount,true)}};// Tint is a blend-mode overlay, not a filter. mix-blend-mode \"color\" borrows the\n// hue + saturation from this layer and keeps the luminance of the photo underneath.\nconst tintVariants={rest:{opacity:Math.min(Math.max(filterAmount,0),100)/100},hover:{opacity:0}};// The open glyph nudges out along its own diagonal on hover.\nconst glyphVariants={rest:{x:0,y:0},hover:reduceMotion?{x:0,y:0}:{x:1.5,y:-1.5}};const titleStyle={margin:0,color:barTextColor,fontFamily:titleFont?.fontFamily||\"Oswald, sans-serif\",fontSize:titleFont?.fontSize??20,fontWeight:titleFont?.fontWeight??600,fontStyle:titleFont?.fontStyle,lineHeight:titleFont?.lineHeight??\"1.15em\",letterSpacing:titleFont?.letterSpacing??\"0.01em\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",minWidth:0,flex:1};const tagTextStyle={fontFamily:tagFont?.fontFamily||\"Oswald, sans-serif\",fontSize:tagFont?.fontSize??12,fontWeight:tagFont?.fontWeight??500,fontStyle:tagFont?.fontStyle,lineHeight:tagFont?.lineHeight??\"1em\",letterSpacing:tagFont?.letterSpacing??\"0.08em\",textTransform:\"uppercase\"};const describedBy=[...tags,year].filter(Boolean).join(\", \");return /*#__PURE__*/_jsxs(motion.a,{href:link||undefined,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,\"aria-label\":`${title}. ${describedBy}`,initial:\"rest\",animate:\"rest\",whileHover:\"hover\",whileFocus:\"hover\",variants:cardVariants,transition:{type:\"spring\",stiffness:420,damping:30},style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",width:\"100%\",textDecoration:\"none\",background:frameColor,border:`3px solid ${inkColor}`,borderRadius:4,padding:\"20px 5px\",boxShadow:restShadow,boxSizing:\"border-box\",cursor:link?\"pointer\":\"default\",...style},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:14,padding:\"9px 10px 9px 14px\",background:barColor,border:`2px solid ${inkColor}`,borderRadius:2,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:titleStyle,children:title}),showIcon?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:iconSize+12,height:iconSize+8,flexShrink:0,background:frameColor,border:`2px solid ${inkColor}`,borderRadius:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(motion.svg,{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:inkColor,strokeWidth:iconWeight,strokeLinecap:\"butt\",strokeLinejoin:\"miter\",variants:glyphVariants,transition:ease,style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M17.5 14 V21 H3 V6 H10.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M11 13 L20.6 3.4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M14 3 H21 V10\"})]})}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",aspectRatio:String(aspectRatio),border:`2px solid ${inkColor}`,borderTop:\"none\",overflow:\"hidden\",background:surfaceColor,boxSizing:\"border-box\",isolation:\"isolate\"},children:[/*#__PURE__*/_jsx(motion.img,{src:image?.src,srcSet:image?.srcSet,alt:image?.alt||\"\",loading:\"lazy\",variants:artVariants,transition:ease,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",transformOrigin:\"center center\",// keeps pixel art crisp instead of letting the browser blur it\nimageRendering:\"pixelated\"}}),filterStyle===\"tint\"?/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":\"true\",variants:tintVariants,transition:ease,style:{position:\"absolute\",inset:0,background:tintColor,mixBlendMode:\"color\",pointerEvents:\"none\"}}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,flexWrap:\"wrap\",padding:\"9px 12px\",background:frameColor,border:`2px solid ${inkColor}`,borderTop:\"none\",borderRadius:\"0 0 2px 2px\",boxSizing:\"border-box\"},children:[tags.map((tag,i)=>/*#__PURE__*/_jsx(\"span\",{style:{...tagTextStyle,padding:\"5px 10px\",border:`2px solid ${inkColor}`,borderRadius:5,color:inkColor,background:surfaceColor},children:tag},`${tag}-${i}`)),year?/*#__PURE__*/_jsx(\"span\",{style:{...tagTextStyle,marginLeft:\"auto\",color:inkColor,opacity:.75},children:year}):null]})]});}addPropertyControls(ProjectWindowCard,{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Edtech Web App\"},tag1:{type:ControlType.String,title:\"Industry\",defaultValue:\"Edtech\"},tag2:{type:ControlType.String,title:\"Role 1\",defaultValue:\"Product Design\"},tag3:{type:ControlType.String,title:\"Role 2\",defaultValue:\"PM\"},year:{type:ControlType.String,title:\"Year\",defaultValue:\"2025-26\"},image:{type:ControlType.ResponsiveImage,title:\"Artwork\"},link:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},filterStyle:{type:ControlType.Enum,title:\"Rest Look\",defaultValue:\"desaturate\",options:[\"desaturate\",\"grayscale\",\"tint\",\"wash\",\"sepia\",\"none\"],optionTitles:[\"Desaturate\",\"Grayscale\",\"Cool Tint\",\"Wash\",\"Sepia\",\"None\"],displaySegmentedControl:false},filterAmount:{type:ControlType.Number,title:\"Amount\",defaultValue:55,min:0,max:100,step:5,unit:\"%\",hidden:p=>p.filterStyle===\"none\"},tintColor:{type:ControlType.Color,title:\"Tint\",defaultValue:\"#C7CAFF\",hidden:p=>p.filterStyle!==\"tint\"},zoomAmount:{type:ControlType.Number,title:\"Hover Zoom\",defaultValue:1.06,min:1,max:1.3,step:.01},hoverSpeed:{type:ControlType.Number,title:\"Hover Speed\",defaultValue:.45,min:.1,max:1.5,step:.05,unit:\"s\"},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:18,min:12,max:28,step:1,unit:\"px\",hidden:p=>!p.showIcon},iconWeight:{type:ControlType.Number,title:\"Icon Weight\",defaultValue:2,min:1,max:3.5,step:.1,hidden:p=>!p.showIcon},barColor:{type:ControlType.Color,title:\"Title Bar\",defaultValue:\"#6E1D63\"},barTextColor:{type:ControlType.Color,title:\"Bar Text\",defaultValue:\"#FEFAE7\"},inkColor:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#3B001B\"},frameColor:{type:ControlType.Color,title:\"Frame\",defaultValue:\"#D6D2C4\"},surfaceColor:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#FEFAE7\"},aspectRatio:{type:ControlType.Number,title:\"Art Ratio\",defaultValue:1.05,min:.6,max:2,step:.05},shadowSize:{type:ControlType.Number,title:\"Shadow\",defaultValue:9,min:0,max:24,step:1,unit:\"px\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:20,variant:\"Semibold\",lineHeight:\"1.15em\",letterSpacing:\"0.01em\"}},tagFont:{type:ControlType.Font,title:\"Tag Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,variant:\"Medium\",lineHeight:\"1em\",letterSpacing:\"0.08em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectWindowCard\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"470\",\"framerIntrinsicWidth\":\"540\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectWindowCard.map"],"mappings":"qQAOG,SAAwB,EAAiB,CAAC,OAAK,OAAK,OAAK,QAAM,UAAQ,QAAQ,CAAC,aAAW,cAAY,QAAM,OAAO,CAAC,QAAM,MAAI,eAAa,CAAC,IAAM,EAAIA,EAAO,IAAI,EAAO,CAAC,mBAAiB,EAAU,CAAC,OAAO,EAAI,OAAO,CAAC,KAAK,IAAQ,KAAK,GAAK,CAAC,CAAC,EAAQ,EAAM,EAAK,MAAM,GAAG,EAAoB,OAAoB,EAAKC,EAAI,CAAK,MAAI,MAAM,CAAC,GAAG,EAAM,UAAU,EAAK,SAAS,EAAE,SAAS,EAAM,KAAK,EAAK,IAAiC,EAAKC,EAAS,CAAC,SAAoC,EAA3B,IAAO,OAAyB,EAA+N,EAA1N,CAAM,OAAe,YAAU,cAAc,EAAM,OAAuB,kBAA2B,aAAsB,aAAW,MAAM,CAAC,QAAM,WAAW,SAAS,GAAG,CAAI,EAAa,YAAU,CAAqO,CAAC,EAAE,EAAK,CAAS,CAAG,CAAC,CAAC,CAAE,qBAPt3B,IAAoD,IAAmE,IAAmC,EAOmuB,GAAW,CAAC,OAAK,YAAU,gBAAc,kBAAgB,aAAW,aAAW,QAAM,gBAAc,CAAC,IAAM,EAAU,EAAU,EAAoB,EAAQ,EAAU,EAAE,EAAc,OAAoB,EAAM,EAAO,KAAK,CAAO,QAAM,SAAS,CAAC,EAAK,MAAM,EAAE,CAAC,CAAC,KAAK,EAAK,IAAY,CAAC,IAAM,EAAU,EAAU,EAAU,EAAK,QAAQ,EAAQ,GAAiB,EAAQ,GAAW,EAAU,GAAG,EAAK,QAAQ,EAAQ,GAAoE,EAAQ,EAApD,EAAU,EAAgB,CAA4C,EAAE,CAAC,EAAU,CAAO,EAAE,CAAC,EAAW,CAAU,CAAC,EAAE,OAAoB,EAAK,EAAO,KAAK,CAAC,MAAM,CAAC,UAAQ,GAAG,CAAK,EAAE,SAAS,CAAI,EAAE,GAAG,EAAU,GAAG,GAAW,CAAE,CAAC,EAAE,EAAU,EAAc,GAAG,GAAG,CAAC,EAAE,EAAK,CAAS,CAAE,EAAQ,GAAM,CAAC,OAAK,YAAU,gBAAc,kBAAgB,aAAW,aAAW,QAAM,gBAAc,CAAC,IAAM,EAAU,EAAU,EAAoB,EAAQ,EAAU,EAAE,EAAuE,EAAQ,EAApD,EAAU,EAAgB,CAA4C,EAAE,CAAC,EAAU,CAAO,EAAE,CAAC,EAAW,CAAU,CAAC,EAAE,OAAoB,EAAM,EAAO,KAAK,CAAC,MAAM,CAAC,UAAQ,GAAG,CAAK,EAAE,SAAS,CAAC,EAAK,EAAU,EAAc,GAAG,GAAG,CAAC,EAAE,EAAK,CAAS,CAAE,EAAE,EAAiB,YAAY,qBAAqB,EAAoB,EAAiB,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,gBAAgB,GAAK,aAAa,6HAA6H,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,aAAa,KAAK,QAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,GAAG,EAAE,aAAa,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,aAAa,OAAO,QAAQ,CAAC,OAAO,WAAW,EAAE,aAAa,CAAC,OAAO,WAAW,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,UAAU,EAAE,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,MAAM,EAAE,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,SAAS,CAAC,WAAW,CAAC,MAAM,MAAM,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,EAAI,EAAE,WAAW,CAAC,MAAM,MAAM,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,EAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,iBAAiB,KAAK,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,KAAK,aAAa,IAAI,QAAQ,CAAC,IAAI,OAAO,KAAK,EAAE,aAAa,CAAC,mBAAmB,kBAAkB,kBAAkB,CAAC,EAAE,IAAI,CAAC,MAAM,MAAM,KAAK,EAAY,KAAK,aAAa,IAAI,QAAQ,CAAC,IAAI,OAAO,KAAK,EAAE,aAAa,CAAC,gBAAgB,kBAAkB,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,aAAa,KAAK,EAAY,UAAU,CAAC,EAAE,YAAY,qDAAqD,CAAC,CAAC,KCSjgH,SAAS,EAAY,EAAM,EAAO,EAAQ,CAAC,IAAM,EAAE,EAAQ,EAAE,KAAK,IAAI,KAAK,IAAI,EAAO,CAAC,EAAE,GAAG,EAAE,IAAI,OAAO,EAAP,CAAc,IAAI,YAAY,MAAM,aAAa,EAAE,GAAG,IAAI,QAAQ,MAAM,SAAS,EAAE,GAAG,IAAI,OAC5L,MAAM,YAAY,EAAE,EAAE,IAAI,eAAe,EAAE,EAAE,IAAI,aAAa,EAAE,EAAE,GAAG,GAAG,IAAI,aAAa,MAAM,YAAY,EAAE,EAAE,GAAG,GAAG,QACrH,MAAM,aAAc,CAAC,CAQlB,SAAwB,EAAkB,EAAM,CAAC,GAAK,CAAC,QAAM,OAAK,OAAK,OAAK,OAAK,OAAK,SAAO,WAAS,GAAK,QAAM,CAAC,IAAI,sEAAsE,IAAI,EAAE,EAAE,WAAS,WAAS,aAAW,eAAa,eAAa,cAAY,aAAW,cAAY,eAAa,YAAU,aAAW,aAAW,WAAS,aAAW,YAAU,UAAQ,SAAO,EAAY,EAAa,EAAiB,EAAQ,EAAK,CAAC,EAAK,EAAK,CAAI,CAAC,CAAC,OAAO,GAAG,OAAO,GAAI,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,EAAQ,EAAW,GAAG,EAAW,KAAK,EAAW,SAAS,IAAiB,EAAY,GAAG,EAAW,EAAE,KAAK,EAAW,EAAE,SAAS,IAAiB,EAAK,CAAC,SAAS,EAAW,KAAK,SAAS,EACxqB,EAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAU,EAAE,MAAM,EAAa,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAW,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAW,CAAC,EAGtI,EAAY,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAY,EAAY,EAAa,EAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAa,EAAE,EAAW,OAAO,EAAY,EAAY,EAAa,EAAI,CAAC,CAAC,EAExK,EAAa,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,KAAK,IAAI,EAAa,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EACzF,EAAc,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAQ,EAAW,CAAC,OAAO,EAAE,MAAM,EAAa,WAAW,GAAW,YAAY,qBAAqB,SAAS,GAAW,UAAU,GAAG,WAAW,GAAW,YAAY,IAAI,UAAU,GAAW,UAAU,WAAW,GAAW,YAAY,SAAS,cAAc,GAAW,eAAe,SAAS,WAAW,SAAS,SAAS,SAAS,aAAa,WAAW,SAAS,EAAE,KAAK,CAAC,EAAQ,EAAa,CAAC,WAAW,GAAS,YAAY,qBAAqB,SAAS,GAAS,UAAU,GAAG,WAAW,GAAS,YAAY,IAAI,UAAU,GAAS,UAAU,WAAW,GAAS,YAAY,MAAM,cAAc,GAAS,eAAe,SAAS,cAAc,WAAW,EAAQ,EAAY,CAAC,GAAG,EAAK,CAAI,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,OAAoB,EAAM,EAAO,EAAE,CAAC,KAAK,GAAM,IAAA,GAAU,OAAO,EAAO,SAAS,IAAA,GAAU,IAAI,EAAO,sBAAsB,IAAA,GAAU,aAAa,GAAG,EAAM,IAAI,IAAc,QAAQ,OAAO,QAAQ,OAAO,WAAW,QAAQ,WAAW,QAAQ,SAAS,EAAa,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,SAAS,WAAW,QAAQ,OAAO,cAAc,SAAS,MAAM,OAAO,eAAe,OAAO,WAAW,EAAW,OAAO,aAAa,IAAW,aAAa,EAAE,QAAQ,WAAW,UAAU,EAAW,UAAU,aAAa,OAAO,EAAK,UAAU,UAAU,GAAG,CAAK,EAAE,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,GAAG,QAAQ,oBAAoB,WAAW,EAAS,OAAO,aAAa,IAAW,aAAa,EAAE,UAAU,YAAY,EAAE,SAAS,CAAc,EAAK,KAAK,CAAC,MAAM,EAAW,SAAS,CAAK,CAAC,EAAE,EAAsB,EAAK,OAAO,CAAC,cAAc,OAAO,MAAM,CAAC,MAAM,EAAS,GAAG,OAAO,EAAS,EAAE,WAAW,EAAE,WAAW,EAAW,OAAO,aAAa,IAAW,aAAa,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,QAAQ,EAAE,SAAsB,EAAM,EAAO,IAAI,CAAC,MAAM,EAAS,OAAO,EAAS,QAAQ,YAAY,KAAK,OAAO,OAAO,EAAS,YAAY,EAAW,cAAc,OAAO,eAAe,QAAQ,SAAS,EAAc,WAAW,EAAK,MAAM,CAAC,QAAQ,OAAO,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,0BAA0B,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,kBAAkB,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,YAAY,OAAO,CAAW,EAAE,OAAO,aAAa,IAAW,UAAU,OAAO,SAAS,SAAS,WAAW,EAAa,UAAU,aAAa,UAAU,SAAS,EAAE,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,IAAI,GAAO,IAAI,OAAO,GAAO,OAAO,IAAI,GAAO,KAAK,GAAG,QAAQ,OAAO,SAAS,EAAY,WAAW,EAAK,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,QAAQ,QAAQ,gBAAgB,gBAClvF,eAAe,WAAW,CAAC,CAAC,EAAE,IAAc,OAAoB,EAAK,EAAO,IAAI,CAAC,cAAc,OAAO,SAAS,EAAa,WAAW,EAAK,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,WAAW,EAAU,aAAa,QAAQ,cAAc,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAE,SAAS,OAAO,QAAQ,WAAW,WAAW,EAAW,OAAO,aAAa,IAAW,UAAU,OAAO,aAAa,cAAc,UAAU,YAAY,EAAE,SAAS,CAAC,EAAK,KAAK,EAAI,IAAiB,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAa,QAAQ,WAAW,OAAO,aAAa,IAAW,aAAa,EAAE,MAAM,EAAS,WAAW,CAAY,EAAE,SAAS,CAAG,EAAE,GAAG,EAAI,GAAG,GAAG,CAAC,EAAE,EAAkB,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAa,WAAW,OAAO,MAAM,EAAS,QAAQ,GAAG,EAAE,SAAS,CAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,iBArB1vB,IAAoD,IAAmD,EAqBopB,EAAoB,EAAkB,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,gBAAgB,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,gBAAgB,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,SAAS,EAAE,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,SAAS,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,GAAM,aAAa,MAAM,cAAc,IAAI,EAAE,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,aAAa,MAAM,cAAc,IAAI,EAAE,YAAY,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,aAAa,QAAQ,CAAC,aAAa,YAAY,OAAO,OAAO,QAAQ,MAAM,EAAE,aAAa,CAAC,aAAa,YAAY,YAAY,OAAO,QAAQ,MAAM,EAAE,wBAAwB,EAAK,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,OAAO,GAAG,EAAE,cAAc,MAAM,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,aAAa,UAAU,OAAO,GAAG,EAAE,cAAc,MAAM,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,KAAK,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,GAAG,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,YAAY,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,WAAW,aAAa,SAAS,EAAE,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,MAAM,aAAa,SAAS,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,aAAa,SAAS,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,KAAK,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,QAAQ,WAAW,WAAW,SAAS,cAAc,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,QAAQ,SAAS,WAAW,MAAM,cAAc,QAAQ,CAAC,CAAC,CAAC"}