{"version":3,"file":"Keyboard.CZ5khfF3.mjs","names":["React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","className","sharedStyle.css","sharedStyle.fonts","useState","_Fragment","useRef","x"],"sources":["https:/framerusercontent.com/modules/s2ME6TcWc7D0RwZRCm3z/KI1Z2lbRshBOYg6Yhq98/Fsf4Jw5tb.js","https:/framerusercontent.com/modules/gHMasmR03uRDZgl92GaS/tMAkpREd6qCTDQsGn2FX/ENqTxqaBa.js","https:/framerusercontent.com/modules/1r1mSuvu9vZJzjYoCY0Z/8NyQeOKuglWa9CkBaZnK/Keyboard.js"],"sourcesContent":["// Generated by Framer (84fc51f)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Geist-500\",\"GF;Geist-700\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Geist\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/geist/v3/gyBhhwUxId8gMGYQMKR3pzfaWI_RruM4mJPby1QNtA.woff2\",weight:\"500\"},{family:\"Geist\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/geist/v3/gyBhhwUxId8gMGYQMKR3pzfaWI_Re-Q4mJPby1QNtA.woff2\",weight:\"700\"}]}];export const css=['.framer-uzNB1 .framer-styles-preset-xo0ggf:not(.rich-text-wrapper), .framer-uzNB1 .framer-styles-preset-xo0ggf.rich-text-wrapper p { --framer-font-family: \"Geist\", \"Geist Placeholder\", sans-serif; --framer-font-family-bold: \"Geist\", \"Geist Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: 0px; --framer-line-height: 21px; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-2c72faf6-32c5-4f21-861d-4a2242d28b90, #0e0f14); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-uzNB1\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (7f7ffdc)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/s2ME6TcWc7D0RwZRCm3z/KI1Z2lbRshBOYg6Yhq98/Fsf4Jw5tb.js\";const enabledGestures={KVNqCD7kU:{hover:true},pL1FOT8wn:{hover:true}};const cycleOrder=[\"rZXjMZB4R\",\"KVNqCD7kU\",\"pL1FOT8wn\"];const serializationHash=\"framer-kLgoz\";const variantClassNames={KVNqCD7kU:\"framer-v-b0bkwq\",pL1FOT8wn:\"framer-v-17bisdr\",rZXjMZB4R:\"framer-v-18eu5rf\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transition2={bounce:0,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Base:\"rZXjMZB4R\",Mac:\"KVNqCD7kU\",Windows:\"pL1FOT8wn\"};const getProps=({height,id,link,width,...props})=>{return{...props,uP3OxlQer:link??props.uP3OxlQer,variant:humanReadableVariantMap[props.variant]??props.variant??\"rZXjMZB4R\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,uP3OxlQer,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"rZXjMZB4R\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({KVNqCD7kU:{value:transition2},pL1FOT8wn:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Link,{href:uP3OxlQer,motionChild:true,nodeId:\"rZXjMZB4R\",openInNewTab:true,scopeId:\"ENqTxqaBa\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-18eu5rf\",className,classNames)} framer-mprgbo`,\"data-border\":true,\"data-framer-name\":\"Base\",layoutDependency:layoutDependency,layoutId:\"rZXjMZB4R\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c5aa1e59-6136-49f5-a934-6c284fc0a0da, rgb(31, 35, 40))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"var(--token-2927e4cb-8744-4df5-b49f-dc6fae5abf48, rgb(230, 233, 238))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,...style},variants:{\"KVNqCD7kU-hover\":{backgroundColor:\"rgb(188, 190, 194)\"},\"pL1FOT8wn-hover\":{backgroundColor:\"var(--token-15af4ada-c57f-4d88-9a02-f1c80ba7180b, rgb(31, 31, 38))\"},pL1FOT8wn:{backgroundColor:\"var(--token-2c72faf6-32c5-4f21-861d-4a2242d28b90, rgb(14, 15, 20))\"}},...addPropertyOverrides({\"KVNqCD7kU-hover\":{\"data-framer-name\":undefined},\"pL1FOT8wn-hover\":{\"data-framer-name\":undefined},KVNqCD7kU:{\"data-framer-name\":\"Mac\"},pL1FOT8wn:{\"data-framer-name\":\"Windows\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-xo0ggf\",\"data-styles-preset\":\"Fsf4Jw5tb\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-2c72faf6-32c5-4f21-861d-4a2242d28b90, rgb(14, 15, 20)))\"},children:\"Join Early Access\"})}),className:\"framer-dt90h0\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"UPPUimOkZ\",style:{\"--extracted-r6o4lv\":\"var(--token-2c72faf6-32c5-4f21-861d-4a2242d28b90, rgb(14, 15, 20))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{pL1FOT8wn:{\"--extracted-r6o4lv\":\"var(--token-2927e4cb-8744-4df5-b49f-dc6fae5abf48, rgb(230, 233, 238))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({pL1FOT8wn:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-xo0ggf\",\"data-styles-preset\":\"Fsf4Jw5tb\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-2927e4cb-8744-4df5-b49f-dc6fae5abf48, rgb(230, 233, 238)))\"},children:\"See How It Works\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-kLgoz.framer-mprgbo, .framer-kLgoz .framer-mprgbo { display: block; }\",\".framer-kLgoz.framer-18eu5rf { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; min-width: 100px; overflow: var(--overflow-clip-fallback, clip); padding: 8px 14px 8px 14px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-kLgoz .framer-dt90h0 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-kLgoz.framer-v-b0bkwq.framer-18eu5rf, .framer-kLgoz.framer-v-17bisdr.framer-18eu5rf { cursor: pointer; }\",...sharedStyle.css,'.framer-kLgoz[data-border=\"true\"]::after, .framer-kLgoz [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 37\n * @framerIntrinsicWidth 144\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"100px\",null,null,null]},\"KVNqCD7kU\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"100px\",null,null,null]},\"pL1FOT8wn\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"100px\",null,null,null]},\"pyql2t1vM\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"100px\",null,null,null]},\"y2z8uUhrl\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"100px\",null,null,null]}}}\n * @framerVariables {\"uP3OxlQer\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerENqTxqaBa=withCSS(Component,css,\"framer-kLgoz\");export default FramerENqTxqaBa;FramerENqTxqaBa.displayName=\"Download Button\";FramerENqTxqaBa.defaultProps={height:37,width:144};addPropertyControls(FramerENqTxqaBa,{variant:{options:[\"rZXjMZB4R\",\"KVNqCD7kU\",\"pL1FOT8wn\"],optionTitles:[\"Base\",\"Mac\",\"Windows\"],title:\"Variant\",type:ControlType.Enum},uP3OxlQer:{title:\"Link\",type:ControlType.Link}});addFonts(FramerENqTxqaBa,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerENqTxqaBa\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"37\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"100px\\\",null,null,null]},\\\"KVNqCD7kU\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"100px\\\",null,null,null]},\\\"pL1FOT8wn\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"100px\\\",null,null,null]},\\\"pyql2t1vM\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"100px\\\",null,null,null]},\\\"y2z8uUhrl\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"100px\\\",null,null,null]}}}\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"uP3OxlQer\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"144\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ENqTxqaBa.map","// Recreate the keyboard image as closely as possible, matching keycap size, padding, letter/icon/symbol size, and layout. No functionality yet.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef}from\"react\";const KEYBOARD_WIDTH=1100;const KEYBOARD_HEIGHT=390;const KEY_RADIUS=10;const KEY_GAP=10;// Use props for key colors\n// const KEY_BG = \"#232427\"\n// const KEY_COLOR = \"#e6e6e6\"\nconst KEY_FONT={fontSize:22,fontWeight:400,fontFamily:\"SF Pro Display, Arial, sans-serif\",letterSpacing:0,lineHeight:1.1};const KEY_FONT_SMALL={fontSize:14,fontWeight:400,fontFamily:\"SF Pro Display, Arial, sans-serif\",letterSpacing:0,lineHeight:1.1};const KEY_FONT_TINY={fontSize:11,fontWeight:400,fontFamily:\"SF Pro Display, Arial, sans-serif\",letterSpacing:0,lineHeight:1.1};const ROWS=[// Row 2: ~ 1 2 ... delete\n[{label:\"`\",sub:\"~\",width:1},{label:\"1\",sub:\"!\",width:1},{label:\"2\",sub:\"@\",width:1},{label:\"3\",sub:\"#\",width:1},{label:\"4\",sub:\"$\",width:1},{label:\"5\",sub:\"%\",width:1},{label:\"6\",sub:\"^\",width:1},{label:\"7\",sub:\"&\",width:1},{label:\"8\",sub:\"*\",width:1},{label:\"9\",sub:\"(\",width:1},{label:\"0\",sub:\")\",width:1},{label:\"-\",sub:\"_\",width:.7},{label:\"=\",sub:\"+\",width:1},{label:\"delete\",width:2.1}],// Row 3: tab Q ... ] \\\n[{label:\"tab\",width:1.2},{label:\"Q\",width:1},{label:\"W\",width:1},{label:\"E\",width:1},{label:\"R\",width:1},{label:\"T\",width:1},{label:\"Y\",width:1},{label:\"U\",width:1},{label:\"I\",width:1},{label:\"O\",width:1},{label:\"P\",width:1},{label:\"[\",sub:\"{\",width:1},{label:\"]\",sub:\"}\",width:1},{label:\"\\\\\",sub:\"|\",width:1.6}],// Row 4: caps lock A ... return\n[{label:\"caps lock\",width:1.7},{label:\"A\",width:1},{label:\"S\",width:1},{label:\"D\",width:1},{label:\"F\",width:1},{label:\"G\",width:1},{label:\"H\",width:1},{label:\"J\",width:1},{label:\"K\",width:1},{label:\"L\",width:1},{label:\";\",sub:\":\",width:1},{label:\"'\",sub:'\"',width:1},{label:\"return\",width:2.1}],// Row 5: shift Z ... shift, up arrow\n[{label:\"shift 1\",width:2.1},{label:\"Z\",width:1},{label:\"X\",width:1},{label:\"C\",width:1},{label:\"V\",width:1},{label:\"B\",width:1},{label:\"N\",width:1},{label:\"M\",width:1},{label:\",\",sub:\"<\",width:1},{label:\".\",sub:\">\",width:1},{label:\"/\",sub:\"?\",width:1},{label:\"shift 2\",width:1.7},{arrow:\"up\",width:1}],// Row 6: fn, ctrl, opt, cmd, space, ... left, down, right arrows\n[{label:\"fn\",icon:\"fn\",width:1},{label:\"control\",width:1},{label:\"option\",width:1},{label:\"command 1\",icon:\"⌘\",width:1.3},{label:\"\",width:5.2},{label:\"command 2\",icon:\"⌘\",width:1.3},{label:\"option\",width:1},{arrow:\"left\",width:1},{arrow:\"down\",width:1},{arrow:\"right\",width:1}]];function renderArrow(dir,color){// SVG arrows for up/down/left/right\nif(dir===\"left\")return /*#__PURE__*/_jsx(\"svg\",{width:\"17\",height:\"17\",viewBox:\"0 0 18 18\",style:{display:\"block\",position:\"relative\",top:2},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"12,4 6,9 12,14\",fill:\"none\",stroke:color,strokeWidth:\"2.1\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});if(dir===\"right\")return /*#__PURE__*/_jsx(\"svg\",{width:\"17\",height:\"17\",viewBox:\"0 0 18 18\",style:{display:\"block\",position:\"relative\",top:2},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"6,4 12,9 6,14\",fill:\"none\",stroke:color,strokeWidth:\"2.1\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});if(dir===\"up\")return /*#__PURE__*/_jsx(\"svg\",{width:\"17\",height:\"17\",viewBox:\"0 0 18 18\",style:{display:\"block\",position:\"relative\",top:2},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"4,12 9,6 14,12\",fill:\"none\",stroke:color,strokeWidth:\"2.1\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});if(dir===\"down\")return /*#__PURE__*/_jsx(\"svg\",{width:\"17\",height:\"17\",viewBox:\"0 0 18 18\",style:{display:\"block\",position:\"relative\",top:2},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"4,6 9,12 14,6\",fill:\"none\",stroke:color,strokeWidth:\"2.1\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});return null;}function renderIcon(icon,color){// All icons are white SVGs\nif(icon===\"🔆\")return /*#__PURE__*/_jsx(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v2m0 12v2m8-8h-2M6 12H4m13.07-7.07l-1.41 1.41M6.34 17.66l-1.41 1.41m12.02 0l-1.41-1.41M6.34 6.34L4.93 4.93\",stroke:color,strokeWidth:\"1.9\",fill:\"none\",strokeLinecap:\"round\"})});if(icon===\"🔅\")return /*#__PURE__*/_jsx(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v2m0 12v2m8-8h-2M6 12H4\",stroke:color,strokeWidth:\"1.9\",fill:\"none\",strokeLinecap:\"round\"})});if(icon===\"display\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"4\",y:\"6\",width:\"16\",height:\"10\",rx:\"2\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"18\",width:\"6\",height:\"2\",rx:\"1\",fill:color})]});if(icon===\"search\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"7\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16.5\",y1:\"16.5\",x2:\"20\",y2:\"20\",stroke:color,strokeWidth:\"1.9\",strokeLinecap:\"round\"})]});if(icon===\"mic\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"4\",width:\"6\",height:\"10\",rx:\"3\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M5 11v1a7 7 0 0 0 14 0v-1\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"21\",x2:\"12\",y2:\"19\",stroke:color,strokeWidth:\"1.9\",strokeLinecap:\"round\"})]});if(icon===\"moon\")return /*#__PURE__*/_jsx(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"})});if(icon===\"prev\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"11 19 2 12 11 5 11 19\",fill:color}),/*#__PURE__*/_jsx(\"rect\",{x:\"13\",y:\"5\",width:\"2\",height:\"14\",rx:\"1\",fill:color})]});if(icon===\"playpause\")return /*#__PURE__*/_jsx(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"polygon\",{points:\"5 3 19 12 5 21 5 3\",fill:color})});if(icon===\"next\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"13 5 22 12 13 19 13 5\",fill:color}),/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"5\",width:\"2\",height:\"14\",rx:\"1\",fill:color})]});if(icon===\"mute\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"9\",width:\"4\",height:\"6\",rx:\"1\",fill:color}),/*#__PURE__*/_jsx(\"polygon\",{points:\"7 9 15 3 15 21 7 15\",fill:color}),/*#__PURE__*/_jsx(\"line\",{x1:\"19\",y1:\"9\",x2:\"19\",y2:\"15\",stroke:color,strokeWidth:\"1.9\",strokeLinecap:\"round\"})]});if(icon===\"vol-down\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"9\",width:\"4\",height:\"6\",rx:\"1\",fill:color}),/*#__PURE__*/_jsx(\"polygon\",{points:\"7 9 15 3 15 21 7 15\",fill:color}),/*#__PURE__*/_jsx(\"path\",{d:\"M17 12a2 2 0 0 0 0-4\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"})]});if(icon===\"vol-up\")return /*#__PURE__*/_jsxs(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"9\",width:\"4\",height:\"6\",rx:\"1\",fill:color}),/*#__PURE__*/_jsx(\"polygon\",{points:\"7 9 15 3 15 21 7 15\",fill:color}),/*#__PURE__*/_jsx(\"path\",{d:\"M17 12a5 5 0 0 0 0-10\",stroke:color,strokeWidth:\"1.9\",fill:\"none\"})]});if(icon===\"fn\")return /*#__PURE__*/_jsx(\"svg\",{width:\"21\",height:\"21\",viewBox:\"0 0 24 24\",style:{display:\"block\",marginLeft:1},children:/*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"ellipse\",{cx:\"12\",cy:\"12\",rx:\"8\",ry:\"8\",fill:\"none\",stroke:color,strokeWidth:\"1.9\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"12\",cy:\"12\",rx:\"4.5\",ry:\"8\",fill:\"none\",stroke:color,strokeWidth:\"1.1\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"12\",cy:\"12\",rx:\"8\",ry:\"4.5\",fill:\"none\",stroke:color,strokeWidth:\"1.1\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"4\",x2:\"12\",y2:\"20\",stroke:color,strokeWidth:\"1.1\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"4\",y1:\"12\",x2:\"20\",y2:\"12\",stroke:color,strokeWidth:\"1.1\"})]})});return null;}function Key({label,sub,icon,arrow,circle,width=1,keyColor,keyTextColor,keyGradientStart,keyGradientEnd,keyStrokeColor,font,showCommandIcon,glowKey,glowColor=\"#00e6ff\",glowBrightness=1,glowKey2}){// Key width is 60px per unit\nconst w=60*width+KEY_GAP*(width-1);const h=60;// --- Add interactive state ---\nconst[hovered,setHovered]=useState(false);const[pressed,setPressed]=useState(false);// Keyboard event: pressed if key matches\nuseEffect(()=>{if(!label&&!sub&&!icon&&!arrow)return;function handleDown(e){if(e.repeat)return;// Prevent default for Tab to avoid focus jumping\nif(label===\"tab\"&&(e.key===\"Tab\"||e.key===\"tab\")){e.preventDefault&&e.preventDefault();}// --- Fix number row logic ---\n// For number row, match sub for Shift+number, label for number\nif(sub&&typeof sub===\"string\"&&e.key===sub)setPressed(true);if(label&&typeof label===\"string\"){// For number row, label is number, sub is symbol\nif(isNumberRow){// If key is a number (0-9) or ` - =\nif(e.key===label)setPressed(true);// For shifted symbol\nif(e.key===sub)setPressed(true);}else{if(e.key.toLowerCase()===label.toLowerCase())setPressed(true);}}// Special for spacebar\nif(label===\"\"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(true);// Tab\nif(label===\"tab\"&&(e.key===\"Tab\"||e.key===\"tab\"))setPressed(true);// Caps Lock\nif(label===\"caps lock\"&&(e.key===\"CapsLock\"||e.key===\"Caps Lock\"))setPressed(true);// Delete\nif(label===\"delete\"&&(e.key===\"Backspace\"||e.key===\"Delete\"))setPressed(true);// Return/Enter\nif(label===\"return\"&&(e.key===\"Enter\"||e.key===\"Return\"))setPressed(true);// Command\nif(label===\"command\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\"))setPressed(true);// Option/Alt\nif(label===\"option\"&&(e.altKey||e.key===\"Alt\"||e.key===\"Option\"))setPressed(true);// Fn (support more key possibilities)\nif(label===\"fn\"&&(e.key===\"Fn\"||e.code===\"Fn\"||e.key.toLowerCase()===\"fn\"||e.key===\"F17\"||e.location===3))setPressed(true);// Space bar\nif(label===\" \"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(true);// Arrow keys\nif(arrow===\"left\"&&e.key===\"ArrowLeft\")setPressed(true);if(arrow===\"right\"&&e.key===\"ArrowRight\")setPressed(true);if(arrow===\"up\"&&e.key===\"ArrowUp\")setPressed(true);if(arrow===\"down\"&&e.key===\"ArrowDown\")setPressed(true);// Shift 1 and Shift 2\nif(label===\"shift 1\"&&e.key===\"Shift\"&&e.location===1||label===\"shift 2\"&&e.key===\"Shift\"&&e.location===2)setPressed(true);// Command 1 and Command 2\nif(label===\"command 1\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\")&&e.location===1||label===\"command 2\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\")&&e.location===2)setPressed(true);}function handleUp(e){if(label&&typeof label===\"string\"){if(isNumberRow){if(e.key===label)setPressed(false);if(e.key===sub)setPressed(false);}else{if(e.key.toLowerCase()===label.toLowerCase())setPressed(false);}}if(sub&&typeof sub===\"string\"&&e.key===sub)setPressed(false);if(label===\"\"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(false);if(label===\"tab\"&&(e.key===\"Tab\"||e.key===\"tab\"))setPressed(false);if(label===\"caps lock\"&&(e.key===\"CapsLock\"||e.key===\"Caps Lock\"))setPressed(false);if(label===\"delete\"&&(e.key===\"Backspace\"||e.key===\"Delete\"))setPressed(false);if(label===\"return\"&&(e.key===\"Enter\"||e.key===\"Return\"))setPressed(false);if(label===\"command\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\"))setPressed(false);if(label===\"option\"&&(e.altKey||e.key===\"Alt\"||e.key===\"Option\"))setPressed(false);if(label===\"fn\"&&(e.key===\"Fn\"||e.code===\"Fn\"||e.key.toLowerCase()===\"fn\"||e.key===\"F17\"||e.location===3))setPressed(false);if(label===\" \"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(false);// Arrow keys\nif(arrow===\"left\"&&e.key===\"ArrowLeft\")setPressed(false);if(arrow===\"right\"&&e.key===\"ArrowRight\")setPressed(false);if(arrow===\"up\"&&e.key===\"ArrowUp\")setPressed(false);if(arrow===\"down\"&&e.key===\"ArrowDown\")setPressed(false);// Shift 1 and Shift 2\nif(label===\"shift 1\"&&e.key===\"Shift\"&&e.location===1||label===\"shift 2\"&&e.key===\"Shift\"&&e.location===2)setPressed(false);// Command 1 and Command 2\nif(label===\"command 1\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\")&&e.location===1||label===\"command 2\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\")&&e.location===2)setPressed(false);}window.addEventListener(\"keydown\",handleDown,{capture:true});window.addEventListener(\"keyup\",handleUp,{capture:true});return()=>{window.removeEventListener(\"keydown\",handleDown,{capture:true});window.removeEventListener(\"keyup\",handleUp,{capture:true});};},[label,sub,icon,arrow]);// ---\n// ADJUSTED: pressed/hovered state for text/icon size\nconst textScale=pressed?.96:1;const iconScale=pressed?.96:1;// Detect mobile layout for command key font size\nconst isMobileCommandKey=showCommandIcon&&label===\"command\";// Detect mobile layout for command icon size\nconst isMobileCommandIcon=showCommandIcon&&label===\"command\"&&width===1.2;const style={width:w,height:h,background:`linear-gradient(180deg, ${keyGradientStart} 0%, ${keyGradientEnd} 100%)`,color:keyTextColor,borderRadius:KEY_RADIUS,display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",justifyContent:\"center\",position:\"relative\",boxShadow:hovered||pressed?\"0 2px 8px #000c, 0 0.5px 0 #fff1 inset\":\"0 1px 2px #0008, 0 0.5px 0 #fff1 inset\",marginRight:KEY_GAP,marginBottom:KEY_GAP,padding:label===\"\"?\"0\":\"0 14px\",fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",userSelect:\"none\",border:`1px solid ${hovered?brightenColor(keyStrokeColor,.25):keyStrokeColor}`,transition:\"box-shadow 0.12s cubic-bezier(.4,0,.2,1), border-color 0.12s cubic-bezier(.4,0,.2,1), top 0.12s cubic-bezier(.4,0,.2,1)\",transform:pressed?\"scale(0.97)\":\"none\",cursor:\"pointer\",top:hovered?1.5:0,left:5,zIndex:glowKey&&(label&&label.toLowerCase()===glowKey.toLowerCase()||arrow&&arrow===glowKey.toLowerCase()||label===\" \"&&glowKey===\" \")?2:1};// Add glow effect if this key matches glowKey\nconst isGlow=glowKey&&(label&&label.toLowerCase()===glowKey.toLowerCase()||arrow&&arrow===glowKey.toLowerCase()||label===\" \"&&glowKey===\" \")||glowKey2&&glowKey2!==\"none\"&&(label&&label.toLowerCase()===glowKey2.toLowerCase()||arrow&&arrow===glowKey2.toLowerCase()||label===\" \"&&glowKey2===\" \");if(circle){return /*#__PURE__*/_jsx(\"div\",{style:{...style,borderRadius:\"50%\",width:40,height:40,alignItems:\"center\",justifyContent:\"center\",marginRight:0,marginLeft:10,background:`linear-gradient(135deg, ${keyGradientStart} 0%, ${keyGradientEnd} 100%)`},children:/*#__PURE__*/_jsx(\"div\",{style:{width:24,height:24,borderRadius:\"50%\",background:keyColor,border:\"2px solid #444\"}})});}// Special bottom-aligned for control/option/command\nconst isBottomKey=label===\"control\"||label===\"option\"||label===\"command\"||label===\"command 1\"||label===\"command 2\";// For first row: swap label and sub (number row)\n// FIX: Remove invalid character class range in regex\nconst isNumberRow=sub&&typeof label===\"string\"&&label.match(/^[0-9`\\-=]$/)||[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"0\",\"-\",\"=\",\"`\"].includes(label);// Special bottom-left for tab, caps lock, shift\nconst isBottomLeftKey=label===\"tab\"||label===\"caps lock\"||label===\"shift\"||label===\"shift 1\";// Special bottom-right for delete, return, right shift\nconst isBottomRightKey=label===\"delete\"||label===\"return\"||label===\"shift\"&&width<2||label===\"shift 2\"&&width<2;return /*#__PURE__*/_jsxs(\"div\",{style:{...style,boxShadow:isGlow?`0 0 0 0 #00e6ff, 0 0 ${16*glowBrightness}px ${6*glowBrightness}px ${glowColor}, 0 2px 8px #000c, 0 0.5px 0 #fff1 inset`:style.boxShadow},tabIndex:0,\"aria-label\":label||sub||icon||arrow||\"key\",onMouseEnter:()=>setHovered(true),onMouseLeave:()=>{setHovered(false);setPressed(false);},onMouseDown:e=>{e.preventDefault();setPressed(true);},onMouseUp:()=>setPressed(false),onBlur:()=>{setHovered(false);setPressed(false);},onFocus:()=>setHovered(true),onKeyDown:e=>{if(e.repeat)return;// Prevent default for Tab to avoid focus jumping\nif(label===\"tab\"&&(e.key===\"Tab\"||e.key===\"tab\")){e.preventDefault&&e.preventDefault();}// --- Fix number row logic ---\nif(sub&&typeof sub===\"string\"&&e.key===sub)setPressed(true);if(label&&typeof label===\"string\"){if(isNumberRow){if(e.key===label)setPressed(true);if(e.key===sub)setPressed(true);}else{if(e.key.toLowerCase()===label.toLowerCase())setPressed(true);}}if(label===\"\"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(true);if(label===\"tab\"&&(e.key===\"Tab\"||e.key===\"tab\"))setPressed(true);if(label===\"caps lock\"&&(e.key===\"CapsLock\"||e.key===\"Caps Lock\"))setPressed(true);if(label===\"delete\"&&(e.key===\"Backspace\"||e.key===\"Delete\"))setPressed(true);if(label===\"return\"&&(e.key===\"Enter\"||e.key===\"Return\"))setPressed(true);if(label===\"command\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\"))setPressed(true);if(label===\"option\"&&(e.altKey||e.key===\"Alt\"||e.key===\"Option\"))setPressed(true);if(label===\"fn\"&&(e.key===\"Fn\"||e.code===\"Fn\"||e.key.toLowerCase()===\"fn\"||e.key===\"F17\"||e.location===3))setPressed(true);if(label===\" \"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(true);},onKeyUp:e=>{if(label&&typeof label===\"string\"){if(isNumberRow){if(e.key===label)setPressed(false);if(e.key===sub)setPressed(false);}else{if(e.key.toLowerCase()===label.toLowerCase())setPressed(false);}}if(sub&&typeof sub===\"string\"&&e.key===sub)setPressed(false);if(label===\"\"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(false);if(label===\"tab\"&&(e.key===\"Tab\"||e.key===\"tab\"))setPressed(false);if(label===\"caps lock\"&&(e.key===\"CapsLock\"||e.key===\"Caps Lock\"))setPressed(false);if(label===\"delete\"&&(e.key===\"Backspace\"||e.key===\"Delete\"))setPressed(false);if(label===\"return\"&&(e.key===\"Enter\"||e.key===\"Return\"))setPressed(false);if(label===\"command\"&&(e.metaKey||e.key===\"Meta\"||e.key===\"OS\"))setPressed(false);if(label===\"option\"&&(e.altKey||e.key===\"Alt\"||e.key===\"Option\"))setPressed(false);if(label===\"fn\"&&(e.key===\"Fn\"||e.code===\"Fn\"||e.key.toLowerCase()===\"fn\"||e.key===\"F17\"||e.location===3))setPressed(false);if(label===\" \"&&(e.key===\" \"||e.code===\"Space\"||e.key===\"Spacebar\"))setPressed(false);},children:[icon===\"fn\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",bottom:8,left:6},children:renderIcon(icon,keyTextColor)}),/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_SMALL,position:\"absolute\",top:8,right:8,transform:`scale(${textScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:\"fn\"}),isGlow&&/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",bottom:8,left:6,pointerEvents:\"none\",filter:`drop-shadow(0 0 ${8*glowBrightness}px ${glowColor}) drop-shadow(0 0 ${16*glowBrightness}px ${glowColor}) blur(6px)`,zIndex:3},children:renderIcon(icon,glowColor)})]}),((label===\"command\"||label===\"command 1\"||label===\"command 2\")&&icon===\"⌘\"&&width===1.3||showCommandIcon)&&/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:6,// Place icon at top right for left command, top left for right command\nleft:label===\"command 2\"?8:undefined,right:label===\"command 1\"?8:undefined,fontSize:isMobileCommandIcon?12:13,lineHeight:1,width:18,height:18,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transform:`scale(${iconScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:\"⌘\"}),icon&&icon!==\"fn\"&&/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_SMALL,position:\"absolute\",top:8,left:14,transform:`scale(${iconScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:renderIcon(icon,keyTextColor)}),arrow&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",transform:`translate(-50%,-50%) scale(${iconScale})`,...isGlow?{filter:`drop-shadow(0 0 ${8*glowBrightness}px ${glowColor}) drop-shadow(0 0 ${16*glowBrightness}px ${glowColor})`}:{}},children:renderArrow(arrow,keyTextColor)}),isNumberRow&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_TINY,position:\"absolute\",top:10,left:\"50%\",transform:`translateX(-50%) scale(${textScale})`,textAlign:\"center\",width:\"100%\",fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:sub}),/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT,fontSize:21,position:\"absolute\",bottom:10,left:\"50%\",transform:`translateX(-50%) scale(${textScale})`,textAlign:\"center\",width:\"100%\",fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:label})]}),!isNumberRow&&label&&icon!==\"fn\"&&!isBottomKey&&!isBottomLeftKey&&!isBottomRightKey&&/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT,fontSize:label.length>1?15:21,marginTop:icon?22:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",textAlign:\"center\",transform:`scale(${textScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:label}),label&&isBottomKey&&/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_SMALL,position:\"absolute\",left:\"50%\",bottom:9,transform:`translateX(-50%) scale(${textScale})`,fontSize:(label===\"command\"||label===\"command 1\"||label===\"command 2\")&&showCommandIcon?isMobileCommandKey?12:14:14,textAlign:\"center\",width:\"100%\",lineHeight:1.1,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:label.startsWith(\"command\")?\"command\":label}),label&&isBottomLeftKey&&!(label===\"shift\"&&width<2)&&/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_SMALL,position:\"absolute\",left:8,bottom:9,fontSize:14,textAlign:\"left\",lineHeight:1.1,transform:`scale(${textScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:label.startsWith(\"shift\")?\"shift\":label}),label&&isBottomRightKey&&/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_SMALL,position:\"absolute\",right:8,bottom:9,fontSize:14,textAlign:\"right\",lineHeight:1.1,transform:`scale(${textScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:label.startsWith(\"shift\")&&width<2?\"shift\":label!==\"shift\"?label:null}),!isNumberRow&&sub&&/*#__PURE__*/_jsx(\"span\",{style:{...KEY_FONT_TINY,position:\"absolute\",top:10,right:14,transform:`scale(${textScale})`,fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",...isGlow?{textShadow:`0 0 ${8*glowBrightness}px ${glowColor}, 0 0 ${16*glowBrightness}px ${glowColor}`}:{}},children:sub})]});}/**\n * Keyboard Replica\n *\n * @framerIntrinsicWidth 1100\n * @framerIntrinsicHeight 390\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Keyboard(props){// Use props for key colors\nconst{keyColor=\"#232427\",keyTextColor=\"#e6e6e6\",borderColor=\"#444\",background=\"#18191b\",keyGradientStart=\"#232427\",keyGradientEnd=\"#232427\",keyStrokeColor=\"#232528\",font={fontSize:22,variant:\"Regular\",letterSpacing:0,lineHeight:1.1},layout=\"desktop\",glowKey=\"A\",glowColor=\"#00e6ff\",glowBrightness=1,glowKey2=\"none\",shadowBrightness=1}=props;// --- Add focus on mount for keyboard events ---\nconst containerRef=useRef(null);// Remove auto-focus on mount to prevent scroll jump\n// useEffect(() => {\n//     if (containerRef.current) {\n//         containerRef.current.focus()\n//     }\n// }, [])\n// Mobile layout: 370px wide, QWERT keys and under them ASDF\nconst MOBILE_ROWS=[// QWERT row (add T key for reverse pyramid)\n[{label:\"Q\",width:1},{label:\"W\",width:1},{label:\"E\",width:1},{label:\"R\",width:1},{label:\"T\",width:1}],// ASDF row (centered)\n(()=>{// Always only 3 keys (A, S, D)\nconst row=[{label:\"A\",width:1},{label:\"S\",width:1},{label:\"D\",width:1}];// If a second glow key is selected and it's not none, add it as the 4th key\nif(glowKey2&&glowKey2!==\"none\"&&![\"Q\",\"W\",\"E\",\"R\",\"T\",\"A\",\"S\",\"D\",\"F\",\"command 1\",\"command 2\"].includes(glowKey2)){row.push({label:glowKey2,width:1});}return row;})(),// Add command and space bar row for pyramid shape\n[{label:\"command 1\",icon:\"⌘\",width:1.2,showCommandIcon:true},{label:\"\",width:3.22}]];const isMobile=layout===\"mobile\";const rows=isMobile?MOBILE_ROWS:ROWS;const containerWidth=isMobile?370:\"100%\";const containerHeight=isMobile?undefined:\"100%\";const borderRadius=18;return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,tabIndex:-1,style:{width:containerWidth,height:containerHeight,background:background,borderRadius:borderRadius,border:`4px solid ${borderColor}`,boxShadow:shadowBrightness===0?\"none\":`0 2px ${16*(shadowBrightness||1)}px #000a`,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",padding:18,boxSizing:\"border-box\",fontFamily:font&&font.fontFamily?font.fontFamily:\"SF Pro Display, Arial, sans-serif\",outline:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\"},children:rows.map((row,i)=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"row\",justifyContent:isMobile&&(i===1?\"center\":i===2?\"center\":undefined),width:isMobile?\"100%\":undefined},children:row.map((key,j)=>/*#__PURE__*/_jsx(Key,{...key,keyColor:keyColor,keyTextColor:keyTextColor,keyGradientStart:keyGradientStart,keyGradientEnd:keyGradientEnd,keyStrokeColor:keyStrokeColor,font:font,glowKey:glowKey,glowColor:glowColor,glowBrightness:glowBrightness,glowKey2:glowKey2},j))},i))})});}// Add this helper function at the top level (outside Key)\nfunction brightenColor(color,amount=.2){// Accepts hex color, returns a slightly brighter hex\nlet c=color.replace(\"#\",\"\");if(c.length===3)c=c.split(\"\").map(x=>x+x).join(\"\");let num=parseInt(c,16);let r=Math.min(255,(num>>16&255)+Math.round(255*amount));let g=Math.min(255,(num>>8&255)+Math.round(255*amount));let b=Math.min(255,(num&255)+Math.round(255*amount));return`#${((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1)}`;}addPropertyControls(Keyboard,{keyGradientStart:{type:ControlType.Color,title:\"Key Gradient Start\",defaultValue:\"#232427\"},keyGradientEnd:{type:ControlType.Color,title:\"Key Gradient End\",defaultValue:\"#2a2b2e\"},keyTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#e6e6e6\"},keyStrokeColor:{type:ControlType.Color,title:\"Key Stroke\",defaultValue:\"#232528\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#444\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#18191b\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:22,variant:\"Regular\",letterSpacing:0,lineHeight:1.1}},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"desktop\",\"mobile\"],optionTitles:[\"Desktop\",\"Mobile\"],defaultValue:\"desktop\",displaySegmentedControl:true},glowKey:{type:ControlType.Enum,title:\"Glow Key\",options:[\"none\",\"A\",\"S\",\"D\",\"F\",\"G\",\"H\",\"J\",\"K\",\"L\",\"Q\",\"W\",\"E\",\"R\",\"T\",\"Y\",\"U\",\"I\",\"O\",\"P\",\"Z\",\"X\",\"C\",\"V\",\"B\",\"N\",\"M\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"0\",\"tab\",\"caps lock\",\"shift 1\",\"shift 2\",\"delete\",\"return\",\"option\",\"command 1\",\"command 2\",\"control\",\"fn\",\" \",\"up\",\"down\",\"left\",\"right\"],optionTitles:[\"None\",\"A\",\"S\",\"D\",\"F\",\"G\",\"H\",\"J\",\"K\",\"L\",\"Q\",\"W\",\"E\",\"R\",\"T\",\"Y\",\"U\",\"I\",\"O\",\"P\",\"Z\",\"X\",\"C\",\"V\",\"B\",\"N\",\"M\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"0\",\"Tab\",\"Caps Lock\",\"Shift 1\",\"Shift 2\",\"Delete\",\"Return\",\"Option\",\"Command 1\",\"Command 2\",\"Control\",\"Fn\",\"Space\",\"Up\",\"Down\",\"Left\",\"Right\"],defaultValue:\"A\"},glowKey2:{type:ControlType.Enum,title:\"Glow Key 2\",options:[\"none\",\"A\",\"S\",\"D\",\"F\",\"G\",\"H\",\"J\",\"K\",\"L\",\"Q\",\"W\",\"E\",\"R\",\"T\",\"Y\",\"U\",\"I\",\"O\",\"P\",\"Z\",\"X\",\"C\",\"V\",\"B\",\"N\",\"M\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"0\",\"tab\",\"caps lock\",\"shift 1\",\"shift 2\",\"delete\",\"return\",\"option\",\"command 1\",\"command 2\",\"control\",\"fn\",\" \",\"up\",\"down\",\"left\",\"right\"],optionTitles:[\"None\",\"A\",\"S\",\"D\",\"F\",\"G\",\"H\",\"J\",\"K\",\"L\",\"Q\",\"W\",\"E\",\"R\",\"T\",\"Y\",\"U\",\"I\",\"O\",\"P\",\"Z\",\"X\",\"C\",\"V\",\"B\",\"N\",\"M\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"0\",\"Tab\",\"Caps Lock\",\"Shift 1\",\"Shift 2\",\"Delete\",\"Return\",\"Option\",\"Command 1\",\"Command 2\",\"Control\",\"Fn\",\"Space\",\"Up\",\"Down\",\"Left\",\"Right\"],defaultValue:\"none\"},glowColor:{type:ControlType.Color,title:\"Glow Color\",defaultValue:\"#00e6ff\"},glowBrightness:{type:ControlType.Number,title:\"Glow Brightness\",defaultValue:1,min:0,max:2,step:.05},shadowBrightness:{type:ControlType.Number,title:\"Shadow Brightness\",defaultValue:1,min:0,max:2,step:.05}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Keyboard\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1100\",\"framerIntrinsicHeight\":\"390\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Keyboard.map"],"mappings":"wZAC8B,GAAU,UAAU,CAAC,eAAe,eAAe,CAAC,CAAc,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,IAAI,wFAAwF,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,IAAI,wFAAwF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAc,EAAI,CAAC,y0BAAy0B,CAAc,EAAU,kBCAzlB,SAAS,EAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,EAAE,CAAsF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,GAAS,CAAC,CAAQ,+CAA90B,IAAiK,IAAkE,IAA4B,IAAmJ,CAAM,EAAgB,CAAC,UAAU,CAAC,MAAM,GAAK,CAAC,UAAU,CAAC,MAAM,GAAK,CAAC,CAAO,EAAW,CAAC,YAAY,YAAY,YAAY,CAAO,EAAkB,eAAqB,EAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,CAA8L,EAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,SAAS,CAAO,EAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,SAAS,CAAO,GAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOA,EAAiB,EAAoB,CAAO,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,aAAW,EAAE,CAAC,KAAK,UAAU,EAAW,CAAC,CAAC,CAAC,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,WAAS,CAAC,EAAS,EAAS,EAAO,OAAOC,EAAe,CAAO,EAAwB,CAAC,KAAK,YAAY,IAAI,YAAY,QAAQ,YAAY,CAAO,GAAU,CAAC,SAAO,KAAG,OAAK,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,UAAU,QAAQ,EAAwB,EAAM,UAAU,EAAM,SAAS,YAAY,EAAS,GAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,IAAI,CAAC,EAAM,iBAAwB,EAAS,KAAK,IAAI,CAWpwD,EAAgB,EAXoxD,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,KAAK,CAAO,EAAW,GAAK,EAAkB,EAAgBC,GAAa,CAAM,CAAC,eAAa,aAAW,GAAe,CAAyB,GAAsB,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAW,EAAS,EAAM,CAAM,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,YAAU,EAAgB,CAAC,aAAW,eAAe,YAAY,kBAAgB,IAAI,EAAW,UAAQ,oBAAkB,CAAC,CAAO,EAAiB,EAAuB,EAAM,EAAS,CAA2D,EAAkB,EAAG,EAAlDC,EAA6F,CAAC,OAAoB,EAAK,EAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAK,EAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAK,EAAW,CAAC,MAAM,EAAY,GAAG,EAAqB,CAAC,UAAU,CAAC,MAAM,EAAY,CAAC,UAAU,CAAC,MAAM,EAAY,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAK,EAAK,CAAC,KAAK,EAAU,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAK,EAAO,EAAE,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,EAAG,EAAkB,iBAAiBC,EAAU,EAAW,CAAC,gBAAgB,cAAc,GAAK,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,qEAAqE,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,gBAAgB,wEAAwE,uBAAuB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,EAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,qBAAqB,CAAC,kBAAkB,CAAC,gBAAgB,qEAAqE,CAAC,UAAU,CAAC,gBAAgB,qEAAqE,CAAC,CAAC,GAAG,EAAqB,CAAC,kBAAkB,CAAC,mBAAmB,IAAA,GAAU,CAAC,kBAAkB,CAAC,mBAAmB,IAAA,GAAU,CAAC,UAAU,CAAC,mBAAmB,MAAM,CAAC,UAAU,CAAC,mBAAmB,UAAU,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAK,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKJ,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,8FAA8F,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,qEAAqE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,qBAAqB,wEAAwE,CAAC,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,EAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,gFAAgF,sZAAsZ,gHAAgH,mHAAmH,GAAGK,EAAgB,gcAAgc,CAWl/M,eAAe,IAAgB,EAAgB,EAAgB,YAAY,kBAAkB,EAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,EAAoB,EAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,CAAC,aAAa,CAAC,OAAO,MAAM,UAAU,CAAC,MAAM,UAAU,KAAK,EAAY,KAAK,CAAC,UAAU,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,CAAC,CAAC,CAAC,EAAS,EAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,EAAwBC,EAAkB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,ICHx0D,SAAS,GAAY,EAAI,EAAM,CACu2B,OAA1pC,IAAM,OAA2B,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,SAAS,WAAW,IAAI,EAAE,CAAC,SAAsB,EAAK,WAAW,CAAC,OAAO,iBAAiB,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAI,IAAM,QAA4B,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,SAAS,WAAW,IAAI,EAAE,CAAC,SAAsB,EAAK,WAAW,CAAC,OAAO,gBAAgB,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAI,IAAM,KAAyB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,SAAS,WAAW,IAAI,EAAE,CAAC,SAAsB,EAAK,WAAW,CAAC,OAAO,iBAAiB,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAI,IAAM,OAA2B,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,SAAS,WAAW,IAAI,EAAE,CAAC,SAAsB,EAAK,WAAW,CAAC,OAAO,gBAAgB,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAQ,KAAM,SAAS,EAAW,EAAK,EAAM,CAC+vG,OAAr8I,IAAO,KAAyB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAsB,EAAK,OAAO,CAAC,EAAE,kHAAkH,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,cAAc,QAAQ,CAAC,CAAC,CAAC,CAAI,IAAO,KAAyB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAsB,EAAK,OAAO,CAAC,EAAE,+BAA+B,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,cAAc,QAAQ,CAAC,CAAC,CAAC,CAAI,IAAO,UAA8B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,EAAM,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,SAA6B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,IAAI,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,MAA0B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,4BAA4B,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,OAA2B,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAsB,EAAK,OAAO,CAAC,EAAE,mDAAmD,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAI,IAAO,OAA2B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,UAAU,CAAC,OAAO,wBAAwB,KAAK,EAAM,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,IAAI,KAAK,EAAM,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,YAAgC,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAsB,EAAK,UAAU,CAAC,OAAO,qBAAqB,KAAK,EAAM,CAAC,CAAC,CAAC,CAAI,IAAO,OAA2B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,UAAU,CAAC,OAAO,wBAAwB,KAAK,EAAM,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,IAAI,KAAK,EAAM,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,OAA2B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,EAAM,CAAC,CAAc,EAAK,UAAU,CAAC,OAAO,sBAAsB,KAAK,EAAM,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,OAAO,EAAM,YAAY,MAAM,cAAc,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,WAA+B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,EAAM,CAAC,CAAc,EAAK,UAAU,CAAC,OAAO,sBAAsB,KAAK,EAAM,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,uBAAuB,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,SAA6B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,EAAM,CAAC,CAAc,EAAK,UAAU,CAAC,OAAO,sBAAsB,KAAK,EAAM,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,wBAAwB,OAAO,EAAM,YAAY,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAI,IAAO,KAAyB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,WAAW,EAAE,CAAC,SAAsB,EAAM,IAAI,CAAC,SAAS,CAAc,EAAK,UAAU,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,CAAC,CAAc,EAAK,UAAU,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,CAAC,CAAc,EAAK,UAAU,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,KAAK,OAAO,OAAO,EAAM,YAAY,MAAM,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,OAAO,EAAM,YAAY,MAAM,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,OAAO,EAAM,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,KAAM,SAAS,GAAI,CAAC,QAAM,MAAI,OAAK,QAAM,SAAO,QAAM,EAAE,WAAS,eAAa,mBAAiB,iBAAe,iBAAe,OAAK,kBAAgB,UAAQ,YAAU,UAAU,iBAAe,EAAE,YAAU,CACxpJ,IAAM,GAAE,GAAG,EAAM,GAAS,EAAM,GAC3B,CAAC,EAAQ,GAAYC,EAAS,GAAM,CAAM,CAAC,EAAQ,GAAYA,EAAS,GAAM,CACnF,MAAc,CAAC,GAAG,CAAC,GAAO,CAAC,GAAK,CAAC,GAAM,CAAC,EAAM,OAAO,SAAS,EAAW,EAAE,CAAI,EAAE,SAC9E,IAAQ,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAEnF,GAAK,OAAO,GAAM,UAAU,EAAE,MAAM,GAAI,EAAW,GAAK,CAAI,GAAO,OAAO,GAAQ,WAClF,GACA,EAAE,MAAM,GAAM,EAAW,GAAK,CAC9B,EAAE,MAAM,GAAI,EAAW,GAAK,EAAU,EAAE,IAAI,aAAa,GAAG,EAAM,aAAa,EAAC,EAAW,GAAK,EAChG,IAAQ,KAAK,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAK,CAChF,IAAQ,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,QAAO,EAAW,GAAK,CAC9D,IAAQ,cAAc,EAAE,MAAM,YAAY,EAAE,MAAM,cAAa,EAAW,GAAK,CAC/E,IAAQ,WAAW,EAAE,MAAM,aAAa,EAAE,MAAM,WAAU,EAAW,GAAK,CAC1E,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,MAAM,WAAU,EAAW,GAAK,CACtE,IAAQ,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAM,EAAW,GAAK,CAC7E,IAAQ,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,WAAU,EAAW,GAAK,CAC9E,IAAQ,OAAO,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,IAAI,aAAa,GAAG,MAAM,EAAE,MAAM,OAAO,EAAE,WAAW,IAAG,EAAW,GAAK,CACvH,IAAQ,MAAM,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAK,CACjF,IAAQ,QAAQ,EAAE,MAAM,aAAY,EAAW,GAAK,CAAI,IAAQ,SAAS,EAAE,MAAM,cAAa,EAAW,GAAK,CAAI,IAAQ,MAAM,EAAE,MAAM,WAAU,EAAW,GAAK,CAAI,IAAQ,QAAQ,EAAE,MAAM,aAAY,EAAW,GAAK,EAC1N,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,WAAW,GAAG,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,WAAW,IAAE,EAAW,GAAK,EACvH,IAAQ,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,WAAW,GAAG,IAAQ,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,WAAW,IAAE,EAAW,GAAK,EAAE,SAAS,EAAS,EAAE,CAAI,GAAO,OAAO,GAAQ,WAAa,GAAgB,EAAE,MAAM,GAAM,EAAW,GAAM,CAAI,EAAE,MAAM,GAAI,EAAW,GAAM,EAAU,EAAE,IAAI,aAAa,GAAG,EAAM,aAAa,EAAC,EAAW,GAAM,EAAM,GAAK,OAAO,GAAM,UAAU,EAAE,MAAM,GAAI,EAAW,GAAM,CAAI,IAAQ,KAAK,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAM,CAAI,IAAQ,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,QAAO,EAAW,GAAM,CAAI,IAAQ,cAAc,EAAE,MAAM,YAAY,EAAE,MAAM,cAAa,EAAW,GAAM,CAAI,IAAQ,WAAW,EAAE,MAAM,aAAa,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAM,EAAW,GAAM,CAAI,IAAQ,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,OAAO,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,IAAI,aAAa,GAAG,MAAM,EAAE,MAAM,OAAO,EAAE,WAAW,IAAG,EAAW,GAAM,CAAI,IAAQ,MAAM,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAM,CAC7rC,IAAQ,QAAQ,EAAE,MAAM,aAAY,EAAW,GAAM,CAAI,IAAQ,SAAS,EAAE,MAAM,cAAa,EAAW,GAAM,CAAI,IAAQ,MAAM,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,QAAQ,EAAE,MAAM,aAAY,EAAW,GAAM,EAC9N,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,WAAW,GAAG,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,WAAW,IAAE,EAAW,GAAM,EACxH,IAAQ,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,WAAW,GAAG,IAAQ,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,WAAW,IAAE,EAAW,GAAM,CAAwH,OAAtH,EAAO,iBAAiB,UAAU,EAAW,CAAC,QAAQ,GAAK,CAAC,CAAC,EAAO,iBAAiB,QAAQ,EAAS,CAAC,QAAQ,GAAK,CAAC,KAAW,CAAC,EAAO,oBAAoB,UAAU,EAAW,CAAC,QAAQ,GAAK,CAAC,CAAC,EAAO,oBAAoB,QAAQ,EAAS,CAAC,QAAQ,GAAK,CAAC,GAAK,CAAC,EAAM,EAAI,EAAK,EAAM,CAAC,CAE7c,IAAM,EAAU,EAAQ,IAAI,EAAQ,EAAU,EAAQ,IAAI,EACpD,EAAmB,GAAiB,IAAQ,UAC5C,EAAoB,GAAiB,IAAQ,WAAW,IAAQ,IAAU,EAAM,CAAC,MAAM,GAAE,OAAO,GAAE,WAAW,2BAA2B,EAAiB,OAAO,EAAe,QAAQ,MAAM,EAAa,aAAa,GAAW,QAAQ,OAAO,cAAc,SAAS,WAAW,aAAa,eAAe,SAAS,SAAS,WAAW,UAAU,GAAS,EAAQ,yCAAyC,yCAAyC,YAAY,EAAQ,aAAa,EAAQ,QAAQ,IAAQ,GAAG,IAAI,SAAS,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,WAAW,OAAO,OAAO,aAAa,EAAQ,GAAc,EAAe,IAAI,CAAC,IAAiB,WAAW,0HAA0H,UAAU,EAAQ,cAAc,OAAO,OAAO,UAAU,IAAI,EAAQ,IAAI,EAAE,KAAK,EAAE,OAAO,IAAU,GAAO,EAAM,aAAa,GAAG,EAAQ,aAAa,EAAE,GAAO,IAAQ,EAAQ,aAAa,EAAE,IAAQ,KAAK,IAAU,KAAK,EAAE,EAAE,CACzhC,EAAO,IAAU,GAAO,EAAM,aAAa,GAAG,EAAQ,aAAa,EAAE,GAAO,IAAQ,EAAQ,aAAa,EAAE,IAAQ,KAAK,IAAU,MAAM,GAAU,IAAW,SAAS,GAAO,EAAM,aAAa,GAAG,EAAS,aAAa,EAAE,GAAO,IAAQ,EAAS,aAAa,EAAE,IAAQ,KAAK,IAAW,KAAK,GAAG,EAAQ,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAM,aAAa,MAAM,MAAM,GAAG,OAAO,GAAG,WAAW,SAAS,eAAe,SAAS,YAAY,EAAE,WAAW,GAAG,WAAW,2BAA2B,EAAiB,OAAO,EAAe,QAAQ,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,MAAM,WAAW,EAAS,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACnqB,IAAM,EAAY,IAAQ,WAAW,IAAQ,UAAU,IAAQ,WAAW,IAAQ,aAAa,IAAQ,YAEjG,EAAY,GAAK,OAAO,GAAQ,UAAU,EAAM,MAAM,cAAc,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAM,CAC3I,EAAgB,IAAQ,OAAO,IAAQ,aAAa,IAAQ,SAAS,IAAQ,UAC7E,EAAiB,IAAQ,UAAU,IAAQ,UAAU,IAAQ,SAAS,EAAM,GAAG,IAAQ,WAAW,EAAM,EAAE,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAM,UAAU,EAAO,wBAAwB,GAAG,EAAe,KAAK,EAAE,EAAe,KAAK,EAAU,0CAA0C,EAAM,UAAU,CAAC,SAAS,EAAE,aAAa,GAAO,GAAK,GAAM,GAAO,MAAM,iBAAiB,EAAW,GAAK,CAAC,iBAAiB,CAAC,EAAW,GAAM,CAAC,EAAW,GAAM,EAAG,YAAY,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAW,GAAK,EAAG,cAAc,EAAW,GAAM,CAAC,WAAW,CAAC,EAAW,GAAM,CAAC,EAAW,GAAM,EAAG,YAAY,EAAW,GAAK,CAAC,UAAU,GAAG,CAAI,EAAE,SACloB,IAAQ,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CACnF,GAAK,OAAO,GAAM,UAAU,EAAE,MAAM,GAAI,EAAW,GAAK,CAAI,GAAO,OAAO,GAAQ,WAAa,GAAgB,EAAE,MAAM,GAAM,EAAW,GAAK,CAAI,EAAE,MAAM,GAAI,EAAW,GAAK,EAAU,EAAE,IAAI,aAAa,GAAG,EAAM,aAAa,EAAC,EAAW,GAAK,EAAM,IAAQ,KAAK,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAK,CAAI,IAAQ,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,QAAO,EAAW,GAAK,CAAI,IAAQ,cAAc,EAAE,MAAM,YAAY,EAAE,MAAM,cAAa,EAAW,GAAK,CAAI,IAAQ,WAAW,EAAE,MAAM,aAAa,EAAE,MAAM,WAAU,EAAW,GAAK,CAAI,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,MAAM,WAAU,EAAW,GAAK,CAAI,IAAQ,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAM,EAAW,GAAK,CAAI,IAAQ,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,WAAU,EAAW,GAAK,CAAI,IAAQ,OAAO,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,IAAI,aAAa,GAAG,MAAM,EAAE,MAAM,OAAO,EAAE,WAAW,IAAG,EAAW,GAAK,CAAI,IAAQ,MAAM,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAK,GAAG,QAAQ,GAAG,CAAI,GAAO,OAAO,GAAQ,WAAa,GAAgB,EAAE,MAAM,GAAM,EAAW,GAAM,CAAI,EAAE,MAAM,GAAI,EAAW,GAAM,EAAU,EAAE,IAAI,aAAa,GAAG,EAAM,aAAa,EAAC,EAAW,GAAM,EAAM,GAAK,OAAO,GAAM,UAAU,EAAE,MAAM,GAAI,EAAW,GAAM,CAAI,IAAQ,KAAK,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAM,CAAI,IAAQ,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,QAAO,EAAW,GAAM,CAAI,IAAQ,cAAc,EAAE,MAAM,YAAY,EAAE,MAAM,cAAa,EAAW,GAAM,CAAI,IAAQ,WAAW,EAAE,MAAM,aAAa,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,WAAW,EAAE,MAAM,SAAS,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,EAAE,MAAM,OAAM,EAAW,GAAM,CAAI,IAAQ,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,WAAU,EAAW,GAAM,CAAI,IAAQ,OAAO,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,IAAI,aAAa,GAAG,MAAM,EAAE,MAAM,OAAO,EAAE,WAAW,IAAG,EAAW,GAAM,CAAI,IAAQ,MAAM,EAAE,MAAM,KAAK,EAAE,OAAO,SAAS,EAAE,MAAM,aAAY,EAAW,GAAM,EAAG,SAAS,CAAC,IAAO,MAAmB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,EAAE,KAAK,EAAE,CAAC,SAAS,EAAW,EAAK,EAAa,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAe,SAAS,WAAW,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,GAAqB,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,EAAE,KAAK,EAAE,cAAc,OAAO,OAAO,mBAAmB,EAAE,EAAe,KAAK,EAAU,oBAAoB,GAAG,EAAe,KAAK,EAAU,aAAa,OAAO,EAAE,CAAC,SAAS,EAAW,EAAK,EAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAQ,WAAW,IAAQ,aAAa,IAAQ,cAAc,IAAO,KAAK,IAAQ,KAAK,IAA+B,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAC75F,KAAK,IAAQ,YAAY,EAAE,IAAA,GAAU,MAAM,IAAQ,YAAY,EAAE,IAAA,GAAU,SAAS,EAAoB,GAAG,GAAG,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAM,IAAO,MAAmB,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAe,SAAS,WAAW,IAAI,EAAE,KAAK,GAAG,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAW,EAAK,EAAa,CAAC,CAAC,CAAC,GAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,KAAK,MAAM,IAAI,MAAM,UAAU,8BAA8B,EAAU,GAAG,GAAG,EAAO,CAAC,OAAO,mBAAmB,EAAE,EAAe,KAAK,EAAU,oBAAoB,GAAG,EAAe,KAAK,EAAU,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,GAAY,EAAM,EAAa,CAAC,CAAC,CAAC,GAA0B,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAc,SAAS,WAAW,IAAI,GAAG,KAAK,MAAM,UAAU,0BAA0B,EAAU,GAAG,UAAU,SAAS,MAAM,OAAO,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAI,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAS,SAAS,GAAG,SAAS,WAAW,OAAO,GAAG,KAAK,MAAM,UAAU,0BAA0B,EAAU,GAAG,UAAU,SAAS,MAAM,OAAO,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAa,GAAO,IAAO,MAAM,CAAC,GAAa,CAAC,GAAiB,CAAC,GAA+B,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAS,SAAS,EAAM,OAAO,EAAE,GAAG,GAAG,UAAU,EAAK,GAAG,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,MAAM,OAAO,UAAU,SAAS,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAM,CAAC,CAAC,GAAO,GAA0B,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAe,SAAS,WAAW,KAAK,MAAM,OAAO,EAAE,UAAU,0BAA0B,EAAU,GAAG,UAAU,IAAQ,WAAW,IAAQ,aAAa,IAAQ,cAAc,GAAgB,EAAmB,GAAG,GAAM,UAAU,SAAS,MAAM,OAAO,WAAW,IAAI,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAM,WAAW,UAAU,CAAC,UAAU,EAAM,CAAC,CAAC,GAAO,GAAiB,EAAE,IAAQ,SAAS,EAAM,IAAiB,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAe,SAAS,WAAW,KAAK,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU,OAAO,WAAW,IAAI,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAM,WAAW,QAAQ,CAAC,QAAQ,EAAM,CAAC,CAAC,GAAO,GAA+B,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAe,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU,QAAQ,WAAW,IAAI,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAM,WAAW,QAAQ,EAAE,EAAM,EAAE,QAAQ,IAAQ,QAAc,KAAN,EAAW,CAAC,CAAC,CAAC,GAAa,GAAkB,EAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAc,SAAS,WAAW,IAAI,GAAG,MAAM,GAAG,UAAU,SAAS,EAAU,GAAG,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,GAAG,EAAO,CAAC,WAAW,OAAO,EAAE,EAAe,KAAK,EAAU,QAAQ,GAAG,EAAe,KAAK,IAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,CAQ5sI,SAAwB,GAAS,EAAM,CAC1C,GAAK,CAAC,WAAS,UAAU,eAAa,UAAU,cAAY,OAAO,aAAW,UAAU,mBAAiB,UAAU,iBAAe,UAAU,iBAAe,UAAU,OAAK,CAAC,SAAS,GAAG,QAAQ,UAAU,cAAc,EAAE,WAAW,IAAI,CAAC,SAAO,UAAU,UAAQ,IAAI,YAAU,UAAU,iBAAe,EAAE,WAAS,OAAO,mBAAiB,GAAG,EACzU,EAAaC,EAAO,KAAK,CAOzB,EAAY,CAClB,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,MAChG,CACL,IAAM,EAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CACgF,OAApJ,GAAU,IAAW,QAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,YAAY,YAAY,CAAC,SAAS,EAAS,EAAE,EAAI,KAAK,CAAC,MAAM,EAAS,MAAM,EAAE,CAAC,CAAS,KAAQ,CACtK,CAAC,CAAC,MAAM,YAAY,KAAK,IAAI,MAAM,IAAI,gBAAgB,GAAK,CAAC,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAO,EAAS,IAAS,SAAe,EAAK,EAAS,EAAY,GAAoH,OAAoB,EAAK,MAAM,CAAC,IAAI,EAAa,SAAS,GAAG,MAAM,CAAC,MAA9J,EAAS,IAAI,OAAsK,OAAzI,EAAS,IAAA,GAAU,OAAwJ,aAAW,aAAzI,GAAmK,OAAO,aAAa,IAAc,UAAU,IAAmB,EAAE,OAAO,SAAS,IAAI,GAAkB,GAAG,UAAU,QAAQ,OAAO,cAAc,SAAS,eAAe,SAAS,WAAW,SAAS,QAAQ,GAAG,UAAU,aAAa,WAAW,GAAM,EAAK,WAAW,EAAK,WAAW,oCAAoC,QAAQ,OAAO,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,CAAC,SAAS,EAAK,KAAK,EAAI,IAAiB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,MAAM,eAAe,IAAW,IAAI,GAAW,IAAI,EAAb,SAAwB,IAAA,IAAW,MAAM,EAAS,OAAO,IAAA,GAAU,CAAC,SAAS,EAAI,KAAK,EAAI,IAAiB,EAAK,GAAI,CAAC,GAAG,EAAa,WAAsB,eAA8B,mBAAgC,iBAA8B,iBAAoB,OAAa,UAAkB,YAAyB,iBAAwB,WAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACtzC,SAAS,GAAc,EAAM,EAAO,GAAG,CACvC,IAAI,EAAE,EAAM,QAAQ,IAAI,GAAG,CAAI,EAAE,SAAS,IAAE,EAAE,EAAE,MAAM,GAAG,CAAC,IAAI,GAAGC,EAAEA,EAAE,CAAC,KAAK,GAAG,EAAC,IAAI,EAAI,SAAS,EAAE,GAAG,CAAK,EAAE,KAAK,IAAI,KAAK,GAAK,GAAG,KAAK,KAAK,MAAM,IAAI,EAAO,CAAC,CAAK,EAAE,KAAK,IAAI,KAAK,GAAK,EAAE,KAAK,KAAK,MAAM,IAAI,EAAO,CAAC,CAAK,EAAE,KAAK,IAAI,KAAK,EAAI,KAAK,KAAK,MAAM,IAAI,EAAO,CAAC,CAAC,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,uCAvEvP,IAAoD,IAA6C,CAA0D,GAAW,GAAS,EAAQ,GAGhQ,EAAS,CAAC,SAAS,GAAG,WAAW,IAAI,WAAW,oCAAoC,cAAc,EAAE,WAAW,IAAI,CAAO,EAAe,CAAC,SAAS,GAAG,WAAW,IAAI,WAAW,oCAAoC,cAAc,EAAE,WAAW,IAAI,CAAO,EAAc,CAAC,SAAS,GAAG,WAAW,IAAI,WAAW,oCAAoC,cAAc,EAAE,WAAW,IAAI,CAAO,GAAK,CACpY,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,SAAS,MAAM,IAAI,CAAC,CACzY,CAAC,CAAC,MAAM,MAAM,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,CACxT,CAAC,CAAC,MAAM,YAAY,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,SAAS,MAAM,IAAI,CAAC,CACtS,CAAC,CAAC,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,CAC9S,CAAC,CAAC,MAAM,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,MAAM,UAAU,MAAM,EAAE,CAAC,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC,MAAM,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,MAAM,QAAQ,MAAM,EAAE,CAAC,CAAC,CA+DoD,EAAoB,GAAS,CAAC,iBAAiB,CAAC,KAAK,EAAY,MAAM,MAAM,qBAAqB,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,CAAC,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,OAAO,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,QAAQ,UAAU,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,UAAU,SAAS,CAAC,aAAa,CAAC,UAAU,SAAS,CAAC,aAAa,UAAU,wBAAwB,GAAK,CAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,gMAA+R,CAAC,aAAa,oMAAmS,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,QAAQ,gMAA+R,CAAC,aAAa,oMAAmS,CAAC,aAAa,OAAO,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,oBAAoB,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC"}