{"version":3,"file":"script_main.B51fCAfa.mjs","names":["useSyncExternalStore","useState","useRef","_Fragment","RichText","serializationHash","variantClassNames","transition1","transformTemplate1","animation","animation1","animation2","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","Image1","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","sharedStyle.className","RichText","sharedStyle.css","sharedStyle.fonts","React.useState","React.useId","React.useRef","React.useMemo","css","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","Image1","ButtonsSocial","Button2","serializationHash","variantClassNames","transition1","transformTemplate1","matchVariant","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","React.forwardRef","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","className","Image1","RichText","_Fragment","FormPlainTextInput","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","React.useRef","React.useId","React.useState","React.useCallback","Footer","NewNavLink","MacOnly","MacOnlyInfo","useRef","React.useId","PropertyOverrides","RichText","React.Fragment","React.createElement","BitrigLayout","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/4BllGYWtjEKyu3S5T2LF/5vJaXLW9fLNX3kcrJlfi/MacGate.js","https:/framerusercontent.com/modules/TphckAim3npDgpKGtmLX/gStnSYGf9w5hrS61arHu/OR0UZyRan.js","https:/framerusercontent.com/modules/gTfiJUahPQceLsPb9V9I/tVkjtrpZcnR69FSHavZU/qFEwdlkrB.js","https:/framerusercontent.com/modules/wPhZTeEIzehy2JMFa0Cb/UnCGfHfHddP0jsrHhdtm/IconArcFooter.js","https:/framerusercontent.com/modules/5Xil8LoZtAADXbmlnKrW/pTFQvMgPQ4O2Hh0C9Su7/zc0ybcRn0.js","https:/framerusercontent.com/modules/f5lbtcE8qC5qAHxVkfgL/7P4zinDmF9GTIRHvvgav/uQ7GpWE34.js","https:/framerusercontent.com/modules/xMBUfLfIxqQWpKgrIeJJ/5UiFAAyNlVtN5YXiY5lh/TwgMa8hUr.js","https:/framerusercontent.com/modules/IcRmtwK8UJ5JQUdxKt9t/BKRUwZ3L2Njgxc6HY56G/Efew.js","https:/framerusercontent.com/modules/TXi2Wjj1S01Qd8AI82hK/14exc1VtrteIMtvOgeUS/g2yl9llYn.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{useEffect,useRef,useState,useSyncExternalStore}from\"react\";/**\n * MacGate — Bitrig is a Mac app, so a .dmg is useless on an iPhone, iPad,\n * Android device or PC. Those visitors get a sheet instead of the download.\n *\n * This file draws the sheet. The interception that stops the tap lives in the\n * site's custom code (Site Settings > Custom Code, end of body): it runs at\n * parse time and covers the whole touch sequence, because on iOS Framer starts\n * navigating before `click` ever fires. The custom code latches\n * `window.__bitrigMacOnlyPending` and fires a `bitrig:mac-only` event; this\n * override reacts to whichever it sees first.\n *\n * The sheet body is the Mac Only component on the canvas — edit it there.\n */export const DOWNLOAD_URL=\"https://app.bitrig.com/download/latest\";const SHEET_CSS=`\n[data-bitrig-sheet-overlay] {\n    position: fixed;\n    inset: 0;\n    z-index: 2147483000;\n    background: rgba(18, 16, 14, 0.55);\n    -webkit-backdrop-filter: blur(6px);\n    backdrop-filter: blur(6px);\n}\n/* Positioning only. Deliberately no width, colour, radius or padding here:\n   every one of those lives on the Mac Only component so it can be tweaked on\n   canvas. The sheet's width comes from the instance's own max-width. */\n[data-bitrig-sheet-content] {\n    position: fixed;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 2147483001;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    outline: none;\n    background: transparent;\n}\n/* Two things canvas cannot express, both on Card because its own padding is 0\n   so nothing you set in Framer is overridden:\n\n   1. env() for the home-indicator gap.\n   2. A tail of card-coloured surface that sits BELOW the viewport. Vaul lets\n      the sheet rubber-band upward past its resting position, and with the card\n      anchored flush to the bottom that travel exposed the page behind it. The\n      negative margin cancels the extra height, so the tail hangs off-screen and\n      only shows while the sheet is pulled up. */\n[data-bitrig-sheet-content] [data-framer-name=\"Card\"] {\n    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 160px);\n    margin-bottom: -160px;\n}\n[data-bitrig-sheet-a11y] {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    margin: -1px;\n    padding: 0;\n    overflow: hidden;\n    clip: rect(0 0 0 0);\n    white-space: nowrap;\n    border: 0;\n}\n`;/**\n * The copied flag lives outside React because the three pieces that care about\n * it are separate overrides on separate canvas nodes — the card owns the state,\n * and the two labels each animate off it. A module-level store is the only\n * thing they can share.\n */let copiedState=false;const listeners=new Set;function setCopiedState(next){if(copiedState===next)return;copiedState=next;if(typeof window!==\"undefined\"){window.__bitrigCopied={value:next,subscribers:listeners.size};}listeners.forEach(listener=>listener());}function useCopied(){return useSyncExternalStore(onChange=>{listeners.add(onChange);return()=>listeners.delete(onChange);},()=>copiedState,()=>false);}/**\n * The custom code has already decided this and exposed it. Fall back to the same\n * rule only if that script is missing, so the two can never disagree.\n */function isArmed(){if(typeof window===\"undefined\")return false;const report=window.__bitrigMacGate;if(report&&typeof report.armed===\"boolean\")return report.armed;const ua=navigator.userAgent||\"\";if(/iPhone|iPad|iPod/.test(ua))return true;if(!/Mac/.test(ua))return true;return(navigator.maxTouchPoints||0)>1;}/**\n * Vaul pulls in Radix Dialog and would roughly double the site's main bundle,\n * and the override is reachable from the layout template, so a static import\n * would put it on every page for every visitor. Loaded on demand instead, in\n * the background, so the first tap already has it. `force` covers an explicit\n * open on a Mac — only the console escape hatch does that.\n */function useDrawer(force){const[drawer,setDrawer]=useState(null);useEffect(()=>{if(drawer)return;if(!isArmed()&&!force)return;let cancelled=false;import(\"vaul\").then(module=>{if(!cancelled)setDrawer(()=>module.Drawer);}).catch(()=>{// If it fails to load the links simply stay blocked with no\n// sheet, which still beats firing an unusable .dmg.\n});return()=>{cancelled=true;};},[drawer,force]);return drawer;}/* Opacity, scale and blur together read as one label replacing another rather\n   than two labels cross-fading. The spring is what stops it feeling linear. */const SHOWN={opacity:1,scale:1,filter:\"blur(0px)\"};const HIDDEN={opacity:0,scale:.72,filter:\"blur(5px)\"};const SPRING={type:\"spring\",stiffness:520,damping:34,mass:.7};function labelOverride(showWhenCopied){return Component=>{return props=>{const copied=useCopied();const visible=copied===showWhenCopied;return /*#__PURE__*/_jsx(motion.div,{initial:false,animate:visible?SHOWN:HIDDEN,transition:SPRING,style:{position:\"absolute\",inset:0,// the button itself takes the tap\npointerEvents:\"none\",willChange:\"transform, opacity, filter\"},children:/*#__PURE__*/_jsx(Component,{...props})});};};}/* Declared, not assigned from the factory: Framer only detects overrides\n   written as `export function`, so `export const x = factory()` is invisible. *//** Apply to the \"Copy Link Label\" text layer. */export function withCopyLabel(Component){return labelOverride(false)(Component);}/** Apply to the \"Copied Label\" text layer. */export function withCopiedLabel(Component){return labelOverride(true)(Component);}/** Apply to the \"Mac Only Card\" instance in the Bitrig Layout template. */export function withMacGate(Component){return props=>{const[open,setOpen]=useState(false);const timer=useRef(undefined);const Drawer=useDrawer(open);useEffect(()=>{const report=window.__bitrigMacGate;if(report)report.overrideMounted=true;const show=()=>setOpen(true);window.addEventListener(\"bitrig:mac-only\",show);// The custom code may have blocked a tap before this mounted.\nif(window.__bitrigMacOnlyPending)show();return()=>window.removeEventListener(\"bitrig:mac-only\",show);},[]);useEffect(()=>{if(open){window.__bitrigMacOnlyPending=false;return;}// Never reopen already showing \"Copied\".\nwindow.clearTimeout(timer.current);setCopiedState(false);},[open]);useEffect(()=>()=>window.clearTimeout(timer.current),[]);/**\n         * navigator.clipboard.writeText can hang forever rather than reject when\n         * the document is not focused, so it is never awaited unbounded — a\n         * stuck promise would leave the button with no feedback at all.\n         */const writeClipboard=async text=>{if(navigator.clipboard?.writeText){const wrote=await Promise.race([navigator.clipboard.writeText(text).then(()=>true,()=>false),new Promise(resolve=>window.setTimeout(()=>resolve(false),1e3))]);if(wrote)return true;}const field=document.createElement(\"textarea\");field.value=text;field.setAttribute(\"readonly\",\"\");field.style.position=\"fixed\";field.style.top=\"0\";field.style.opacity=\"0\";document.body.appendChild(field);field.select();let ok=false;try{ok=document.execCommand(\"copy\");}catch{ok=false;}field.remove();return ok;};const copy=async()=>{// Flip straight away so the tap always feels answered, then walk it\n// back if the write turns out to have failed.\nsetCopiedState(true);window.clearTimeout(timer.current);timer.current=window.setTimeout(()=>setCopiedState(false),2e3);const ok=await writeClipboard(DOWNLOAD_URL);if(!ok){// Not instantly: a clipboard write can fail in under a\n// millisecond and the label would flicker.\nwindow.clearTimeout(timer.current);timer.current=window.setTimeout(()=>setCopiedState(false),700);return;}try{window.amplitude?.track(\"Download Link Copied\",{location:\"mac-only-sheet\"});}catch{// analytics must never break the sheet\n}};// Vaul owns Escape, the overlay click, the focus trap and drag-to-dismiss.\n// Only the two buttons drawn on the canvas need wiring.\nconst onSheetClick=event=>{const target=event.target;if(!target||typeof target.closest!==\"function\")return;if(target.closest('[data-framer-name=\"Copy Link Button\"]')){event.preventDefault();void copy();return;}if(target.closest('[data-framer-name=\"Dismiss Button\"]')){event.preventDefault();setOpen(false);}};if(!Drawer)return null;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:SHEET_CSS}}),/*#__PURE__*/_jsx(Drawer.Root,{open:open,onOpenChange:setOpen,shouldScaleBackground:false,children:/*#__PURE__*/_jsxs(Drawer.Portal,{children:[/*#__PURE__*/_jsx(Drawer.Overlay,{\"data-bitrig-sheet-overlay\":true}),/*#__PURE__*/_jsxs(Drawer.Content,{\"data-bitrig-sheet-content\":true,children:[/*#__PURE__*/_jsx(Drawer.Title,{\"data-bitrig-sheet-a11y\":true,children:\"Bitrig is a Mac app\"}),/*#__PURE__*/_jsx(Drawer.Description,{\"data-bitrig-sheet-a11y\":true,children:\"Bitrig needs macOS 15 or later on Apple silicon. Copy the download link and open it on your Mac.\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},onClick:onSheetClick,children:/*#__PURE__*/_jsx(Component,{...props})})]})]})})]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"DOWNLOAD_URL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCopiedLabel\":{\"type\":\"reactHoc\",\"name\":\"withCopiedLabel\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMacGate\":{\"type\":\"reactHoc\",\"name\":\"withMacGate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCopyLabel\":{\"type\":\"reactHoc\",\"name\":\"withCopyLabel\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MacGate.map","// Generated by Framer (8a671e2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,cx,getLoadingLazyAtYPosition,Image as Image1,patchBorderRadiusScaleCorrector,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{withCopiedLabel,withCopyLabel}from\"https://framerusercontent.com/modules/4BllGYWtjEKyu3S5T2LF/5vJaXLW9fLNX3kcrJlfi/MacGate.js\";const RichTextWithCopyLabel1dxf93g=withCodeBoundaryForOverrides(RichText,{nodeId:\"E6KE5JNvM\",override:withCopyLabel,scopeId:\"OR0UZyRan\"});const RichTextWithCopiedLabelfgbqva=withCodeBoundaryForOverrides(RichText,{nodeId:\"GqPqSCZEZ\",override:withCopiedLabel,scopeId:\"OR0UZyRan\"});const serializationHash=\"framer-P1rDv\";const variantClassNames={d3_g1uUTx:\"framer-v-55tacu\"};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 patchBorderRadiusScaleCorrector1=patchBorderRadiusScaleCorrector();const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1.02,skewX:0,skewY:0,transition:transition1};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:.98,skewX:0,skewY:0,transition:transition1};const animation2={opacity:.6,rotate:0,rotateX:0,rotateY:0,scale:1.1,skewX:0,skewY:0,transition:transition1};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 getProps=({height,id,width,...props})=>{return{...props};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"d3_g1uUTx\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];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,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-55tacu\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"d3_g1uUTx\",ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-11izrif\",\"data-framer-name\":\"Handle\",layoutDependency:layoutDependency,layoutId:\"nKm4nFMbs\",style:{backgroundColor:\"rgba(255, 255, 255, 0.4)\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999}}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-13qju2d\",\"data-framer-name\":\"Card\",layoutDependency:layoutDependency,layoutId:\"ZPNrpjYsJ\",style:{\"--corner-shape-fallback\":.752,backgroundColor:\"rgb(0, 0, 0)\",borderTopLeftRadius:\"calc(40px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopRightRadius:\"calc(40px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",cornerShape:\"superellipse(1.5)\"},children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:846,intrinsicWidth:1752,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+15+0+0),pixelHeight:846,pixelWidth:1752,positionX:\"center\",positionY:\"bottom\",sizes:`min(${componentViewport?.width||\"100vw\"}, 480px)`,src:\"https://framerusercontent.com/images/tKDT0CIuiMFtTEyglIalsldU.png?width=1752&height=846\",srcSet:\"https://framerusercontent.com/images/tKDT0CIuiMFtTEyglIalsldU.png?scale-down-to=512&width=1752&height=846 512w,https://framerusercontent.com/images/tKDT0CIuiMFtTEyglIalsldU.png?scale-down-to=1024&width=1752&height=846 1024w,https://framerusercontent.com/images/tKDT0CIuiMFtTEyglIalsldU.png?width=1752&height=846 1752w\"},className:\"framer-y4v7f5\",\"data-framer-name\":\"Dock Image\",layoutDependency:layoutDependency,layoutId:\"Dg9FGWjPw\"}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1nt37ec\",\"data-framer-name\":\"Card Body\",layoutDependency:layoutDependency,layoutId:\"Q0RHM8Iye\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-lku4cx\",\"data-framer-name\":\"Top Glow\",layoutDependency:layoutDependency,layoutId:\"yYGeaZXSm\",style:{background:\"radial-gradient(120% 88% at 50% 0%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.06) 38%, rgba(255, 255, 255, 0) 72%)\"},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1044,intrinsicWidth:1752,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+15+0+195+0+0),pixelHeight:2088,pixelWidth:3504,sizes:`min(${componentViewport?.width||\"100vw\"}, 480px)`,src:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088\",srcSet:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=512&width=3504&height=2088 512w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=1024&width=3504&height=2088 1024w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=2048&width=3504&height=2088 2048w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088 3504w\"},className:\"framer-1roreej\",\"data-framer-name\":\"DottedGrid\",draggable:\"false\",layoutDependency:layoutDependency,layoutId:\"y6kqrYjHW\",style:{mask:\"linear-gradient(0deg, rgba(0,0,0,0) 15%, rgba(0,0,0,1) 100%) add\",WebkitMask:\"linear-gradient(0deg, rgba(0,0,0,0) 15%, rgba(0,0,0,1) 100%) add\"},transformTemplate:transformTemplate1})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-148y761\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"qYyxpg20P\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURVd01BPT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-variation-axes\":'var(--extracted-f6h9gt, \"wght\" 500)',\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.25em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-bcc46ffd-d2cf-447d-b8f1-8e1232ea3d5b))\"},children:\"Bitrig is a Mac app.\"})}),className:\"framer-7hk8z5\",\"data-framer-name\":\"Title\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],layoutDependency:layoutDependency,layoutId:\"oz7UmURsp\",style:{\"--extracted-1of0zx5\":\"var(--token-bcc46ffd-d2cf-447d-b8f1-8e1232ea3d5b)\",\"--extracted-f6h9gt\":'\"wght\" 500'},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURRd01BPT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-variation-axes\":'var(--extracted-2gg91v, \"wght\" 400)',\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(255, 255, 255, 0.62))\"},children:[/*#__PURE__*/_jsxs(motion.code,{children:[\"Requires macOS 15+ and Apple silicon.\",/*#__PURE__*/_jsx(motion.br,{})]}),\"Copy the link and pick it up on your Mac.\"]})}),className:\"framer-1xopol0\",\"data-framer-name\":\"Body\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],layoutDependency:layoutDependency,layoutId:\"tcaY8W2Jn\",style:{\"--extracted-2gg91v\":'\"wght\" 400',\"--extracted-r6o4lv\":\"rgba(255, 255, 255, 0.62)\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1b6c3dn\",\"data-framer-name\":\"Actions\",layoutDependency:layoutDependency,layoutId:\"lrvnjHKgW\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-hhpyge\",\"data-framer-name\":\"Copy Link Button\",layoutDependency:layoutDependency,layoutId:\"XPYKVuUgb\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},whileHover:animation,whileTap:animation1,children:[/*#__PURE__*/_jsx(RichTextWithCopyLabel1dxf93g,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURZd01BPT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-variation-axes\":'var(--extracted-2gg91v, \"wght\" 600)',\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(23, 22, 21))\"},children:\"Copy download link\"})}),className:\"framer-1dxf93g\",\"data-framer-name\":\"Copy Link Label\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],layoutDependency:layoutDependency,layoutId:\"E6KE5JNvM\",style:{\"--extracted-2gg91v\":'\"wght\" 600',\"--extracted-r6o4lv\":\"rgb(23, 22, 21)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichTextWithCopiedLabelfgbqva,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURZd01BPT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-variation-axes\":'var(--extracted-2gg91v, \"wght\" 600)',\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(23, 22, 21))\"},children:\"Copied\"})}),className:\"framer-fgbqva\",\"data-framer-name\":\"Copied Label\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],layoutDependency:layoutDependency,layoutId:\"GqPqSCZEZ\",style:{\"--extracted-2gg91v\":'\"wght\" 600',\"--extracted-r6o4lv\":\"rgb(23, 22, 21)\"},verticalAlignment:\"center\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-8pu6mu\",\"data-framer-name\":\"Dismiss Button\",layoutDependency:layoutDependency,layoutId:\"nwzTdFThh\",style:{borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},whileHover:animation2,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURVd01BPT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-variation-axes\":'var(--extracted-2gg91v, \"wght\" 500)',\"--framer-letter-spacing\":\"-0.01em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(255, 255, 255, 0.5))\"},children:\"Not now\"})}),className:\"framer-zjhqb7\",\"data-framer-name\":\"Dismiss Label\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],layoutDependency:layoutDependency,layoutId:\"IXN4lG50p\",style:{\"--extracted-2gg91v\":'\"wght\" 500',\"--extracted-r6o4lv\":\"rgba(255, 255, 255, 0.5)\"},verticalAlignment:\"top\",withExternalLayout:true})})]})]})]})]})})})});});const css=[\".framer-P1rDv.framer-4308i0, .framer-P1rDv .framer-4308i0 { display: block; }\",\".framer-P1rDv.framer-55tacu { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; max-width: 480px; overflow: visible; padding: 0px; position: relative; width: 380px; }\",\".framer-P1rDv .framer-11izrif { flex: none; height: 5px; position: relative; width: 36px; }\",\".framer-P1rDv .framer-13qju2d { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; max-width: 480px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-P1rDv .framer-y4v7f5 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 195px; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",\".framer-P1rDv .framer-1nt37ec { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; padding: 28px 24px 12px 24px; position: relative; width: 100%; }\",\".framer-P1rDv .framer-lku4cx { flex: none; height: 190px; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 0; }\",\".framer-P1rDv .framer-1roreej { -webkit-user-select: none; aspect-ratio: 1.6781609195402298 / 1; flex: none; height: auto; left: 50%; overflow: visible; pointer-events: none; position: absolute; top: 0px; user-select: none; width: 100%; z-index: 1; }\",\".framer-P1rDv .framer-148y761 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-P1rDv .framer-7hk8z5, .framer-P1rDv .framer-1xopol0 { --framer-text-wrap: balance; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-P1rDv .framer-1b6c3dn { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-P1rDv .framer-hhpyge { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: 54px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px 20px 12px 20px; position: relative; width: 100%; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-P1rDv .framer-1dxf93g, .framer-P1rDv .framer-fgbqva { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; white-space: pre-wrap; word-break: break-word; word-wrap: break-word; }\",\".framer-P1rDv .framer-8pu6mu { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: 44px; justify-content: center; padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-P1rDv .framer-zjhqb7 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 461\n * @framerIntrinsicWidth 380\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"480px\",null,null]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerOR0UZyRan=withCSS(Component,css,\"framer-P1rDv\");export default FramerOR0UZyRan;FramerOR0UZyRan.displayName=\"Mac Only\";FramerOR0UZyRan.defaultProps={height:461,width:380};const variationAxes=[{defaultValue:400,maxValue:1e3,minValue:300,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:0,minValue:-12,name:\"Slant\",tag:\"slnt\"}];addFonts(FramerOR0UZyRan,[{explicitInter:true,fonts:[{cssFamilyName:\"ABC Favorit Variable Variable Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"ABC Favorit Variable\",url:\"https://framerusercontent.com/assets/J1jxf59pLsDwYm2sj21dYFzXg4Y.woff2\",variationAxes,weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerOR0UZyRan\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"380\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"461\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"480px\\\",null,null]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OR0UZyRan.map","// Generated by Framer (8a671e2)\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/oOcLwRh11aG5EDdGRvjU/CNjT5RveWpWFSALwgdfO/q3oo9BxYG.js\";const serializationHash=\"framer-k1CTX\";const variantClassNames={Q3pjCFuKo:\"framer-v-1v3frw7\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const Kvxz70pKQ=undefined;const yMhPzGMzQ=undefined;const transition1={bounce:.2,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 getProps=({height,id,link,title,width,...props})=>{return{...props,Kvxz70pKQ:link??props.Kvxz70pKQ,yMhPzGMzQ:title??props.yMhPzGMzQ??\"Mac\"};};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,Kvxz70pKQ,yMhPzGMzQ,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Q3pjCFuKo\",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,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1v3frw7\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"Q3pjCFuKo\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURVd01Dd2dJbk5zYm5RaUlEQT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on\",\"--framer-font-size\":\"15px\",\"--framer-font-variation-axes\":'var(--extracted-2gg91v, \"wght\" 500, \"slnt\" 0)',\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\"},children:/*#__PURE__*/_jsx(Link,{href:Kvxz70pKQ,motionChild:true,nodeId:\"t6tD6oPOt\",openInNewTab:false,relValues:[],scopeId:\"qFEwdlkrB\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1myost8\",\"data-styles-preset\":\"q3oo9BxYG\",children:\"Mac\"})})})}),className:\"framer-15dlxm4\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],layoutDependency:layoutDependency,layoutId:\"t6tD6oPOt\",style:{\"--extracted-2gg91v\":'\"wght\" 500, \"slnt\" 0'},text:yMhPzGMzQ,verticalAlignment:\"top\",withExternalLayout:true})})})})});});const css=[\".framer-k1CTX.framer-1f7mhss, .framer-k1CTX .framer-1f7mhss { display: block; }\",\".framer-k1CTX.framer-1v3frw7 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px 12px 0px 12px; position: relative; width: min-content; }\",\".framer-k1CTX .framer-15dlxm4 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 14\n * @framerIntrinsicWidth 48\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"Kvxz70pKQ\":\"link\",\"yMhPzGMzQ\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerqFEwdlkrB=withCSS(Component,css,\"framer-k1CTX\");export default FramerqFEwdlkrB;FramerqFEwdlkrB.displayName=\"New/Nav Link\";FramerqFEwdlkrB.defaultProps={height:14,width:48};addPropertyControls(FramerqFEwdlkrB,{Kvxz70pKQ:{title:\"Link\",type:ControlType.Link},yMhPzGMzQ:{defaultValue:\"Mac\",displayTextArea:false,title:\"Title\",type:ControlType.String},onyMhPzGMzQChange:{changes:\"yMhPzGMzQ\",type:ControlType.ChangeHandler}});const variationAxes=[{defaultValue:400,maxValue:1e3,minValue:300,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:0,minValue:-12,name:\"Slant\",tag:\"slnt\"}];addFonts(FramerqFEwdlkrB,[{explicitInter:true,fonts:[{cssFamilyName:\"ABC Favorit Variable Variable Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"ABC Favorit Variable\",url:\"https://framerusercontent.com/assets/J1jxf59pLsDwYm2sj21dYFzXg4Y.woff2\",variationAxes,weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerqFEwdlkrB\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"Kvxz70pKQ\\\":\\\"link\\\",\\\"yMhPzGMzQ\\\":\\\"title\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"48\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"14\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./qFEwdlkrB.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useMotionValue,useSpring,useTransform}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * ICON ARC\n * A fanned row of app icons — biggest one dead center and in front, each step\n * outward smaller, lower and further back. The frame crops the bottom, so the\n * whole thing reads as a stack rising out of the edge.\n *\n * Drop your own PNGs into the Icons array. With the array empty it renders\n * placeholder squircles so you can lay the composition out first.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 300\n */// Both sheets are addressed through one custom property so the swap happens in\n// CSS at paint time. Deciding it in JS would let the statically rendered HTML\n// begin fetching the desktop sheet on a phone before React ever ran.\nconst ATLAS_VAR=\"var(--icon-arc-atlas)\";const PLACEHOLDER_COLORS=[\"#F0F0F2\",\"#2B2B2E\",\"#FFC629\",\"#F4F4F6\",\"#2E7DF6\",\"#FFB020\",\"#1F1F22\",\"#3DA9FC\",\"#EDEDF0\",\"#E8453C\",\"#00B8A9\",\"#7B61FF\"];/**\n * Superellipse (|x|^n + |y|^n = 1) in a 0..1 box — the continuous-curvature\n * corner Apple uses, which plain border-radius can't produce.\n * n = 2 is an ellipse, ~4.5 is the icon squircle, high n approaches a square.\n */function squirclePath(n,segments=128){const pts=[];for(let i=0;i<=segments;i++){const t=i/segments*Math.PI*2;const cos=Math.cos(t);const sin=Math.sin(t);const x=Math.sign(cos)*Math.pow(Math.abs(cos),2/n);const y=Math.sign(sin)*Math.pow(Math.abs(sin),2/n);pts.push(`${(.5+x/2).toFixed(5)},${(.5+y/2).toFixed(5)}`);}return`M${pts[0]}L${pts.slice(1).join(\"L\")}Z`;}/** Natural pixel size of an image, once it has loaded. */function useNaturalSize(src){const[size,setSize]=React.useState(null);React.useEffect(()=>{if(!src){setSize(null);return;}let alive=true;const img=new Image;img.onload=()=>{if(alive)setSize({w:img.naturalWidth,h:img.naturalHeight});};img.src=src;return()=>{alive=false;};},[src]);return size;}const gcd=(a,b)=>b?gcd(b,a%b):a;/**\n * Guess a square-cell grid from the sheet's pixel size. A 1792x1536 sheet\n * shares a factor of 256, so it reads as 7 x 6 cells of 256px.\n * Returns null when the guess is implausible — then the manual values win.\n */function guessGrid(size){if(!size||!size.w||!size.h)return null;const g=gcd(size.w,size.h);const c=size.w/g;const r=size.h/g;if(c*r<2||c>40||r>40)return null;return{c,r};}/**\n * Fires once (or every time) the element crosses into the viewport.\n * Plain IntersectionObserver so it doesn't depend on a particular\n * framer-motion version.\n */function useInView(ref,{threshold=.3,margin=0,once=true,enabled=true}){const[inView,setInView]=React.useState(false);React.useEffect(()=>{if(!enabled)return;const el=ref.current;if(!el||typeof IntersectionObserver===\"undefined\"){setInView(true);return;}const io=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){setInView(true);if(once)io.disconnect();}else if(!once){setInView(false);}},{threshold:Math.min(1,Math.max(0,threshold)),rootMargin:`${margin}px 0px ${margin}px 0px`});io.observe(el);return()=>io.disconnect();},[ref,threshold,margin,once,enabled]);return inView;}function usePrefersReducedMotion(){const[reduced,setReduced]=React.useState(false);React.useEffect(()=>{if(typeof matchMedia!==\"function\")return;const mq=matchMedia(\"(prefers-reduced-motion: reduce)\");setReduced(mq.matches);const on=()=>setReduced(mq.matches);mq.addEventListener?.(\"change\",on);return()=>mq.removeEventListener?.(\"change\",on);},[]);return reduced;}/**\n * One icon. Split into two nested motion elements on purpose: the outer one\n * owns the reveal (x / y / scale / opacity), the inner one owns the hover\n * magnification. Sharing `scale` between the two would make them fight.\n */function Tile(props){const{offsetX,left,top,w,zBase,pointerX,hover,magnify,range,originBottom,hoverSpeed,reveal,transition,shadow,clipId,artStyle,shadowArt,children}=props;// Raised cosine bell centred on the cursor: 1 under it, 0 at `range`.\n// Same shape the Dock uses, so neighbours swell instead of popping.\nconst bell=useTransform(pointerX,px=>{if(!hover||range<=0)return 0;const d=Math.abs(px-offsetX);if(d>=range)return 0;return Math.pow(Math.cos(d/range*(Math.PI/2)),2);});const springConfig={stiffness:120+hoverSpeed*480,damping:22,mass:.6};const scale=useSpring(useTransform(bell,b=>1+(magnify-1)*b),springConfig);// Whatever is under the cursor has to come forward, or the icons in front\n// of it in the arc would clip the magnified edges.\nconst zIndex=useTransform(bell,b=>zBase+Math.round(b*1e3));return /*#__PURE__*/_jsx(motion.div,{initial:false,animate:reveal,transition:transition,style:{position:\"absolute\",left:`calc(50% + ${left}px)`,top,width:w,height:w,zIndex:hover?zIndex:zBase},children:/*#__PURE__*/_jsxs(motion.div,{style:{width:\"100%\",height:\"100%\",scale:hover?scale:1,transformOrigin:originBottom?\"center bottom\":\"center\"},children:[shadow>0&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,transform:`translateY(${w*.03}px)`,filter:shadowArt?`brightness(0) blur(${w*.05}px)`:`blur(${w*.05}px)`,...shadowArt?{...shadowArt,opacity:shadow}:{// Placeholders have no alpha to cast from.\nborderRadius:\"22%\",background:`rgba(20,20,32,${shadow})`}}}),/*#__PURE__*/_jsx(\"div\",{style:artStyle,children:children})]})});}export default function IconArc(props){const{centerImage,centerTrimTop=0,atlas,mobileAtlas,atlasBreakpoint=810,columns=0,rows=0,trim=0,cells=0,startCell=0,images=[],count=9,size=340,scaleStep=.82,overlap=.56,drop=.17,curve=.9,topInset=20,corner=4.4,shadow=.12,fade=0,trigger=\"Scroll into view\",threshold=.35,margin=0,once=true,revealDelay=0,revealStagger=.08,revealDuration=.7,bounce=.35,fromScale=.55,fromCenter=true,hover=true,magnify=1.35,hoverRange=1.3,hoverOrigin=\"Bottom\",hoverSpeed=.6,fit=\"Fit\",sideInset=0,minSize=0,mask=0,clip=\"Bottom\",bleed=0,style}=props;const uid=React.useId().replace(/[^a-zA-Z0-9]/g,\"\");const clipId=`squircle_${uid}`;const atlasClass=`icon-arc-atlas-${uid}`;// On the Framer canvas, always show the finished composition — a designer\n// shouldn't have to scroll a preview to see what they're arranging.\nconst onCanvas=RenderTarget.current()===RenderTarget.canvas;const reduced=usePrefersReducedMotion();const containerRef=React.useRef(null);const animated=trigger!==\"Off\"&&!onCanvas&&!reduced;// Layout width of the frame. clientWidth, not getBoundingClientRect —\n// Framer zooms the canvas with a CSS transform, which would inflate rects.\nconst[frameWidth,setFrameWidth]=React.useState(0);React.useLayoutEffect(()=>{const el=containerRef.current;if(!el)return;const measure=()=>setFrameWidth(w=>Math.abs(w-el.clientWidth)<.5?w:el.clientWidth);measure();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(measure);ro.observe(el);return()=>ro.disconnect();},[]);const scrolledIn=useInView(containerRef,{threshold,margin,once,enabled:animated&&trigger===\"Scroll into view\"});const[loaded,setLoaded]=React.useState(false);React.useEffect(()=>{if(trigger===\"On load\"){const id=requestAnimationFrame(()=>setLoaded(true));return()=>cancelAnimationFrame(id);}},[trigger]);const shown=!animated||(trigger===\"On load\"?loaded:scrolledIn);// Source priority: sprite atlas > individual images > placeholders.\nconst useAtlas=Boolean(atlas?.src);// Grid detection only. It still has to probe the sheet the viewport will\n// actually paint, or a phone would download the desktop sheet just to read\n// its dimensions. Skipped entirely when the grid is stated explicitly.\nconst probeSrc=React.useMemo(()=>{if(columns>0&&rows>0)return undefined;if(mobileAtlas?.src&&typeof window!==\"undefined\"&&window.matchMedia(`(max-width: ${Math.max(1,Math.round(atlasBreakpoint)-1)}px)`).matches){return mobileAtlas.src;}return atlas?.src;},[columns,rows,mobileAtlas?.src,atlas?.src,atlasBreakpoint]);const natural=useNaturalSize(probeSrc);const guess=React.useMemo(()=>guessGrid(natural),[natural]);// 0 means \"work it out from the sheet\"; anything else is taken literally.\nconst cols=columns>0?Math.round(columns):guess?.c??1;const rowCount=rows>0?Math.round(rows):guess?.r??1;const grid=cols*rowCount;const atlasCells=useAtlas?Math.max(1,Math.min(grid,Math.round(cells)||grid)):0;const n=Math.max(1,useAtlas?atlasCells:images.length>0?images.length:Math.round(count));const center=(n-1)/2;// One cell of the atlas, addressed row-major, as a background slice.\n// `t` shaves a margin off every cell, for sheets exported with gutters.\nconst t=Math.min(.45,Math.max(0,trim));// Set below, once we know how many pairs the frame forced us to drop.\nlet cellOffset=0;const cellStyle=i=>{const cell=(Math.round(startCell)+cellOffset+i)%grid;const col=cell%cols;const row=Math.floor(cell/cols);// Scale factor, in element widths, that makes one trimmed cell\n// exactly fill the tile.\nconst bx=cols/(1-2*t);const by=rowCount/(1-2*t);// Left/top edge of the wanted window, as a fraction of the sheet.\nconst x0=(col+t)/cols;const y0=(row+t)/rowCount;// background-position % that lands that window on the tile.\nconst px=bx>1?x0*bx/(bx-1):0;const py=by>1?y0*by/(by-1):0;return{backgroundImage:ATLAS_VAR,backgroundRepeat:\"no-repeat\",backgroundSize:`${bx*100}% ${by*100}%`,backgroundPosition:`${px*100}% ${py*100}%`};};const path=React.useMemo(()=>squirclePath(corner),[corner]);const atlasCSS=atlas?.src?`.${atlasClass} { --icon-arc-atlas: url(\"${atlas.src}\"); }`+(mobileAtlas?.src?`@media (max-width: ${Math.max(1,Math.round(atlasBreakpoint)-1)}px) {`+`.${atlasClass} { --icon-arc-atlas: url(\"${mobileAtlas.src}\"); } }`:\"\"):\"\";// --- Layout, solved in \"unit\" space where the center icon is 1 wide ---\n// Doing it unitless first means the whole arrangement can be scaled to the\n// frame afterwards, instead of overflowing it.\nconst unitLayout=k=>{const c=(k-1)/2;const w=Array.from({length:k},(_,i)=>Math.pow(scaleStep,Math.abs(i-c)));const x=[0];for(let i=1;i<k;i++)x.push(x[i-1]+overlap*((w[i-1]+w[i])/2));const l=Math.min(...x.map((v,i)=>v-w[i]/2));const r=Math.max(...x.map((v,i)=>v+w[i]/2));return{w,x,span:r-l,shift:-(l+r)/2};};const available=frameWidth>0?frameWidth*(1-2*Math.min(.45,Math.max(0,sideInset))):0;// Drop icons in symmetric pairs when the frame is too narrow to show them\n// above `minSize`. Keeps the same hero cell by walking `startCell` inwards.\nlet shownCount=n;let dropped=0;if(available>0&&minSize>0&&fit!==\"Fixed\"){while(shownCount>1&&available/unitLayout(shownCount).span<minSize){shownCount-=2;dropped+=1;}if(shownCount<1){shownCount=1;dropped=Math.floor((n-1)/2);}}cellOffset=dropped;const unit=unitLayout(shownCount);// Fixed keeps the px value. Fit caps it at what the frame can hold.\n// Fill always spans the frame, growing as well as shrinking.\nconst fittedSize=available>0?available/unit.span:size;const effSize=fit===\"Fixed\"||available<=0?size:fit===\"Fill\"?fittedSize:Math.min(size,fittedSize);// Everything else scales with it, so the composition stays proportional\n// rather than the icons shrinking inside a fixed arc.\nconst k=size>0?effSize/size:1;const topPx=topInset*k;const nn=shownCount;const centerN=(nn-1)/2;const steps=Array.from({length:nn},(_,i)=>Math.abs(i-centerN));const widths=unit.w.map(v=>v*effSize);const xs=unit.x.map(v=>v*effSize);const shift=unit.shift*effSize;// The one at the front. Gets the Center image override, and leads the reveal.\nconst heroIndex=Math.round(centerN);// `drop` is the first step down as a fraction of the center icon.\n// `curve` shapes the rest: 1 = straight line, <1 flattens out towards the\n// edges, >1 lets them fall away faster.\nconst dropAt=m=>drop*effSize*Math.pow(m,curve);// Springs with bounce overshoot past scale 1, and Magnify goes further\n// still. For a duration/bounce spring the damping ratio is (1 - bounce),\n// and peak overshoot is exp(-pi*z / sqrt(1 - z^2)). Bounce 0.45 -> ~12.6%\n// over. That overshoot has to live somewhere or the frame shears it off.\nconst z=1-Math.min(.99,Math.max(0,bounce));const revealPeak=trigger!==\"Off\"&&bounce>0?1+Math.exp(-Math.PI*z/Math.sqrt(1-z*z)):1;const hoverPeak=hover&&magnify>1?magnify:1;const peak=Math.max(revealPeak,hoverPeak);// How far past the resting layout the overshoot actually reaches. Measured\n// per axis off the real geometry rather than assumed from the center icon —\n// the outermost icons are the smallest, so sideways growth is far less than\n// a naive (peak - 1) * size would reserve.\nconst restRight=Math.max(...xs.map((x,i)=>x+widths[i]/2));const peakRight=Math.max(...xs.map((x,i)=>x+widths[i]*peak/2));const spillX=Math.ceil(Math.max(0,peakRight-restRight))+2;// Reveal scales about each icon's center; hover can scale about its bottom,\n// which pushes twice as far up for the same peak.\nconst upFor=w=>Math.max(w*(revealPeak-1)/2,hover&&magnify>1?w*(magnify-1)*(hoverOrigin===\"Bottom\"?1:.5):0);const spillY=Math.ceil(Math.max(...widths.map(upFor)))+2;// Framer gives code components no clip-content toggle, so it lives here.\n//   Bottom — crop the bottom edge at the frame, leave the other three open\n//            by exactly the overshoot, so bounce and magnify never shear.\n//   Frame  — clip to the frame on all four sides, the plain overflow:hidden.\n//   None   — clip nothing; icons render past every edge.\nconst cropTop=clip===\"Bottom\"?spillY:0;const crop=clip===\"Bottom\"?{left:-spillX,right:-spillX,top:-spillY,bottom:0,overflow:\"hidden\"}:{left:0,right:0,top:0,bottom:0,overflow:clip===\"Frame\"?\"hidden\":\"visible\"};const maskAmount=Math.min(.49,Math.max(0,mask));const maskCSS=maskAmount>0?`linear-gradient(to right, transparent 0%, #000 ${maskAmount*100}%, #000 ${100-maskAmount*100}%, transparent 100%)`:undefined;// Cursor position relative to the component's horizontal centre. Parked far\n// away when the pointer leaves so every bell collapses to zero.\nconst AWAY=1e6;const pointerX=useMotionValue(AWAY);const onPointerMove=e=>{// Mouse only. A touch would set the bell and leave it stuck there,\n// since there's no leave event to reset it.\nif(!hover||e.pointerType!==\"mouse\")return;const r=e.currentTarget.getBoundingClientRect();pointerX.set(e.clientX-r.left-r.width/2);};const onPointerLeave=()=>pointerX.set(AWAY);const spring={type:\"spring\",duration:revealDuration,bounce};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,className:atlasClass,onPointerMove:onPointerMove,onPointerLeave:onPointerLeave,style:{position:\"relative\",// Negative margins pull the component out through a padded\n// parent, so the arc can span the full container width.\nwidth:bleed?`calc(100% + ${bleed*2}px)`:\"100%\",marginLeft:bleed?-bleed:undefined,marginRight:bleed?-bleed:undefined,height:\"100%\",// Not `hidden` — the inner crop box does the clipping, and only\n// along the bottom. The mask still fades relative to the frame.\noverflow:\"visible\",...maskCSS?{WebkitMaskImage:maskCSS,maskImage:maskCSS,// Without this the gradient tiles across the\n// overflowing area instead of ending at the frame.\nWebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskSize:\"100% 100%\",maskSize:\"100% 100%\"}:{},...style},children:[atlasCSS&&/*\n                 * dangerouslySetInnerHTML, not a text child. <style> content is\n                 * raw text in HTML, so entities are never decoded there — and\n                 * the static renderer escapes text children. A plain child ships\n                 * url(&quot;...&amp;height=768&quot;), which the browser then\n                 * resolves as a relative URL and 404s until hydration.\n                 *//*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:atlasCSS}}),/*#__PURE__*/_jsx(\"svg\",{width:\"0\",height:\"0\",style:{position:\"absolute\"},\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:clipId,clipPathUnits:\"objectBoundingBox\",children:/*#__PURE__*/_jsx(\"path\",{d:path})})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",...crop},children:Array.from({length:nn},(_,i)=>{const m=steps[i];const w=widths[i];const isHero=i===heroIndex;// Center image wins over the atlas / list for the front icon.\nconst override=isHero?centerImage:undefined;const image=override??images[i];const color=PLACEHOLDER_COLORS[i%PLACEHOLDER_COLORS.length];const restOpacity=1-fade*(m/Math.max(centerN,1));// Hidden state: sitting behind the hero, shrunk and invisible.\nconst hidden=fromCenter?{x:xs[heroIndex]-xs[i],y:dropAt(steps[heroIndex])-dropAt(m)+(widths[heroIndex]-w)/2}:{x:0,y:0};return /*#__PURE__*/_jsx(Tile,{offsetX:xs[i]+shift,left:xs[i]+shift-w/2,top:topPx+cropTop+dropAt(m),w:w,zBase:Math.round((nn-m)*10),pointerX:pointerX,hover:hover&&magnify!==1,magnify:magnify,range:hoverRange*effSize,originBottom:hoverOrigin===\"Bottom\",hoverSpeed:hoverSpeed,shadow:shadow,clipId:clipId,reveal:shown?{x:0,y:0,scale:1,opacity:restOpacity}:isHero?{x:0,y:0,scale:fromScale,opacity:0}:{...hidden,scale:fromScale,opacity:0},transition:{...spring,delay:shown?revealDelay+Math.max(0,m-steps[heroIndex])*revealStagger:0},shadowArt:override?.src||image?.src?{backgroundImage:`url(\"${(override??image).src}\")`,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\"}:useAtlas?cellStyle(i):undefined,artStyle:{position:\"relative\",width:\"100%\",height:\"100%\",clipPath:`url(#${clipId})`,overflow:\"hidden\",...override?{}:useAtlas?cellStyle(i):image?{}:{background:color}},children:image&&(override||!useAtlas)&&(()=>{// Top-only trim, and only on the Center override —\n// atlas cells have their own `trim`. Shave `tt` off\n// the top and scale the remainder so the bottom edge\n// still lands exactly on the tile:\n//   height = 1 / (1 - tt),  top = -tt / (1 - tt)\n// At tt = 0.004 that is a 0.4% crop with the icon's\n// baseline left untouched.\nconst tt=override?Math.min(.45,Math.max(0,centerTrimTop)):0;return /*#__PURE__*/_jsx(\"img\",{src:image.src,srcSet:image.srcSet,alt:image.alt??\"\",style:tt>0?{position:\"absolute\",left:0,top:`${-tt/(1-tt)*100}%`,width:\"100%\",height:`${1/(1-tt)*100}%`,objectFit:\"cover\",display:\"block\"}:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}});})()},i);})})]});}IconArc.displayName=\"Icon Arc\";addPropertyControls(IconArc,{centerImage:{type:ControlType.ResponsiveImage,title:\"Center\",description:\"The hero icon. Leave empty to take it from the atlas like the rest.\"},centerTrimTop:{type:ControlType.Number,title:\"Center trim\",defaultValue:0,min:0,max:.25,step:.001,description:\"Shave off the top of the Center image, as a share of its height\",hidden:p=>!p.centerImage?.src},atlas:{type:ControlType.ResponsiveImage,title:\"Atlas\",description:\"One sheet of icons on a uniform grid, read left to right, top to bottom. Overrides the Icons list.\"},mobileAtlas:{type:ControlType.ResponsiveImage,title:\"Mobile Atlas\",description:\"Optional lower-resolution sheet for narrow viewports. Same grid, same cell layout — only the pixel density differs.\",hidden:p=>!p.atlas?.src},atlasBreakpoint:{type:ControlType.Number,title:\"Mobile Below\",defaultValue:810,min:320,max:1440,step:10,unit:\"px\",description:\"Viewport width under which the Mobile Atlas is used\",hidden:p=>!p.mobileAtlas?.src},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:0,min:0,max:40,step:1,displayStepper:true,description:\"0 = detect from the sheet's proportions\",hidden:p=>!p.atlas?.src},rows:{type:ControlType.Number,title:\"Rows\",defaultValue:0,min:0,max:40,step:1,displayStepper:true,hidden:p=>!p.atlas?.src},trim:{type:ControlType.Number,title:\"Trim\",defaultValue:0,min:0,max:.45,step:.005,description:\"Shave gutters off each cell\",hidden:p=>!p.atlas?.src},cells:{type:ControlType.Number,title:\"Use\",defaultValue:0,min:0,max:400,step:1,displayStepper:true,description:\"0 = every cell in the grid\",hidden:p=>!p.atlas?.src},startCell:{type:ControlType.Number,title:\"Start at\",defaultValue:0,min:0,max:399,step:1,displayStepper:true,description:\"Rotate which cell lands in the center\",hidden:p=>!p.atlas?.src},images:{type:ControlType.Array,title:\"Icons\",control:{type:ControlType.ResponsiveImage},defaultValue:[],maxCount:21,hidden:p=>Boolean(p.atlas?.src)},count:{type:ControlType.Number,title:\"Placeholders\",defaultValue:9,min:1,max:21,step:1,displayStepper:true,hidden:p=>Boolean(p.atlas?.src)||(p.images?.length??0)>0},size:{type:ControlType.Number,title:\"Center size\",defaultValue:340,min:40,max:1200,step:2,unit:\"px\"},scaleStep:{type:ControlType.Number,title:\"Falloff\",defaultValue:.82,min:.4,max:1,step:.01},overlap:{type:ControlType.Number,title:\"Spacing\",defaultValue:.56,min:.15,max:1.2,step:.01},drop:{type:ControlType.Number,title:\"Arc\",defaultValue:.17,min:0,max:.6,step:.01},curve:{type:ControlType.Number,title:\"Curve\",defaultValue:.9,min:.3,max:2.5,step:.05,description:\"1 = straight fall \\xb7 below 1 flattens the ends\"},topInset:{type:ControlType.Number,title:\"Top\",defaultValue:20,min:-400,max:400,step:1,unit:\"px\"},corner:{type:ControlType.Number,title:\"Corner\",defaultValue:4.4,min:2,max:12,step:.1,description:\"2 = ellipse \\xb7 4.6 = Apple squircle \\xb7 12 = square\"},shadow:{type:ControlType.Number,title:\"Shadow\",defaultValue:.12,min:0,max:.6,step:.01},fade:{type:ControlType.Number,title:\"Edge fade\",defaultValue:0,min:0,max:1,step:.01},trigger:{type:ControlType.Enum,title:\"Reveal\",defaultValue:\"Scroll into view\",options:[\"Scroll into view\",\"On load\",\"Off\"],description:\"Center icon lands first, the rest fan out from behind it.\"},threshold:{type:ControlType.Number,title:\"Visible\",defaultValue:.35,min:0,max:1,step:.05,description:\"How much of the component must be on screen to fire\",hidden:p=>p.trigger!==\"Scroll into view\"},margin:{type:ControlType.Number,title:\"Offset\",defaultValue:0,min:-600,max:600,step:10,unit:\"px\",description:\"Positive fires earlier, negative later\",hidden:p=>p.trigger!==\"Scroll into view\"},once:{type:ControlType.Boolean,title:\"Repeat\",defaultValue:true,enabledTitle:\"Once\",disabledTitle:\"Every time\",hidden:p=>p.trigger!==\"Scroll into view\"},revealDelay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:4,step:.05,unit:\"s\",hidden:p=>p.trigger===\"Off\"},revealStagger:{type:ControlType.Number,title:\"Step\",defaultValue:.08,min:0,max:1,step:.01,unit:\"s\",description:\"Gap between each ring of icons appearing\",hidden:p=>p.trigger===\"Off\"},revealDuration:{type:ControlType.Number,title:\"Speed\",defaultValue:.7,min:.1,max:3,step:.05,unit:\"s\",hidden:p=>p.trigger===\"Off\"},bounce:{type:ControlType.Number,title:\"Bounce\",defaultValue:.35,min:0,max:1,step:.05,hidden:p=>p.trigger===\"Off\"},fromScale:{type:ControlType.Number,title:\"From\",defaultValue:.55,min:0,max:1,step:.05,description:\"Scale each icon starts at\",hidden:p=>p.trigger===\"Off\"},fromCenter:{type:ControlType.Boolean,title:\"Origin\",defaultValue:true,enabledTitle:\"Behind hero\",disabledTitle:\"In place\",hidden:p=>p.trigger===\"Off\"},hover:{type:ControlType.Boolean,title:\"Magnify\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Dock-style swell that follows the cursor.\"},magnify:{type:ControlType.Number,title:\"Peak\",defaultValue:1.35,min:1,max:2.5,step:.05,description:\"Scale of the icon directly under the cursor\",hidden:p=>!p.hover},hoverRange:{type:ControlType.Number,title:\"Falloff\",defaultValue:1.3,min:.2,max:4,step:.1,description:\"How far the swell reaches, in center-icon widths\",hidden:p=>!p.hover},hoverOrigin:{type:ControlType.Enum,title:\"Grow\",defaultValue:\"Bottom\",options:[\"Bottom\",\"Center\"],displaySegmentedControl:true,description:\"Bottom keeps the arc's baseline, like the Dock\",hidden:p=>!p.hover},hoverSpeed:{type:ControlType.Number,title:\"Snap\",defaultValue:.6,min:0,max:1,step:.05,hidden:p=>!p.hover},fit:{type:ControlType.Enum,title:\"Width\",defaultValue:\"Fit\",options:[\"Fixed\",\"Fit\",\"Fill\"],displaySegmentedControl:true,description:\"Fixed keeps Center size in px. Fit caps it so nothing clips. Fill always spans the frame.\"},sideInset:{type:ControlType.Number,title:\"Side inset\",defaultValue:0,min:0,max:.45,step:.01,description:\"Breathing room left and right, as a share of the frame\",hidden:p=>p.fit===\"Fixed\"},minSize:{type:ControlType.Number,title:\"Min icon\",defaultValue:0,min:0,max:400,step:5,unit:\"px\",description:\"Below this the outermost pair is dropped instead of shrinking further. 0 = never drop.\",hidden:p=>p.fit===\"Fixed\"},clip:{type:ControlType.Enum,title:\"Clip\",defaultValue:\"Bottom\",options:[\"Bottom\",\"Frame\",\"None\"],displaySegmentedControl:true,description:\"Bottom crops only the bottom edge and lets bounce overshoot past the sides. Frame clips all four. None clips nothing.\"},bleed:{type:ControlType.Number,title:\"Bleed\",defaultValue:0,min:0,max:200,step:1,unit:\"px\",description:\"Pull the component out through the parent's padding. Set it to the padding value to span edge to edge.\"},mask:{type:ControlType.Number,title:\"Side mask\",defaultValue:0,min:0,max:.49,step:.01,description:\"Fade width at each edge, as a share of the frame\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"IconArc\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IconArcFooter.map","// Generated by Framer (8a671e2)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-aNrTY .framer-styles-preset-14lxaat:not(.rich-text-wrapper), .framer-aNrTY .framer-styles-preset-14lxaat.rich-text-wrapper a { --framer-link-hover-text-color: #ffffff; --framer-link-text-color: rgba(255, 255, 255, 0.5); --framer-link-text-decoration: none; }\"];export const className=\"framer-aNrTY\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (8a671e2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,Link,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={aFdMokp3L:{hover:true},BLct2v_kf:{hover:true},T4ukEZFtM:{hover:true}};const cycleOrder=[\"T4ukEZFtM\",\"BLct2v_kf\",\"aFdMokp3L\"];const serializationHash=\"framer-l4IEd\";const variantClassNames={aFdMokp3L:\"framer-v-5217sp\",BLct2v_kf:\"framer-v-10dsnyg\",T4ukEZFtM:\"framer-v-h87i53\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const BEOgU9aci=undefined;const transition1={bounce:.2,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 humanReadableVariantMap={Discord:\"aFdMokp3L\",Twitter:\"T4ukEZFtM\",Youtube:\"BLct2v_kf\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,width,...props})=>{return{...props,BEOgU9aci:link??props.BEOgU9aci,variant:humanReadableVariantMap[props.variant]??props.variant??\"T4ukEZFtM\"};};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,BEOgU9aci,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"T4ukEZFtM\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"BLct2v_kf-hover\",\"aFdMokp3L-hover\"].includes(gestureVariant))return false;if([\"BLct2v_kf\",\"aFdMokp3L\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(gestureVariant===\"BLct2v_kf-hover\")return true;if(baseVariant===\"BLct2v_kf\")return true;return false;};const isDisplayed2=()=>{if(gestureVariant===\"aFdMokp3L-hover\")return true;if(baseVariant===\"aFdMokp3L\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:BEOgU9aci,motionChild:true,nodeId:\"T4ukEZFtM\",openInNewTab:true,scopeId:\"uQ7GpWE34\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-h87i53\",className,classNames)} framer-w4hhq6`,\"data-framer-name\":\"Twitter\",layoutDependency:layoutDependency,layoutId:\"T4ukEZFtM\",ref:refBinding,style:{opacity:.5,...style},variants:{\"aFdMokp3L-hover\":{opacity:1},\"BLct2v_kf-hover\":{opacity:1},\"T4ukEZFtM-hover\":{opacity:1}},...addPropertyOverrides({aFdMokp3L:{\"data-framer-name\":\"Discord\"},BLct2v_kf:{\"data-framer-name\":\"Youtube\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"Bitrig on X\",fit:\"fill\",intrinsicHeight:64,intrinsicWidth:80,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||32)*.5000000000000002-8)),pixelHeight:64,pixelWidth:80,sizes:\"20px\",src:\"https://framerusercontent.com/images/2HH97Z4ncv4vUAhNEV6VzC7vyI.png?width=80&height=64\"},className:\"framer-1ysxzqz\",\"data-framer-name\":\"Twitter\",draggable:\"false\",layoutDependency:layoutDependency,layoutId:\"CI4mbT2dy\"}),isDisplayed1()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"Bitrig on YouTube\",fit:\"fill\",intrinsicHeight:55,intrinsicWidth:77,pixelHeight:55,pixelWidth:77,src:\"https://framerusercontent.com/images/4b20yzkUgEmFmhPbJll5yjaNFA8.png?width=77&height=55\"},className:\"framer-17r8j93\",\"data-framer-name\":\"Youtube\",draggable:\"false\",layoutDependency:layoutDependency,layoutId:\"le4SitQAw\",...addPropertyOverrides({BLct2v_kf:{background:{alt:\"Bitrig on YouTube\",fit:\"fill\",intrinsicHeight:55,intrinsicWidth:77,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||32)*.5000000000000002-7.25)),pixelHeight:55,pixelWidth:77,sizes:\"20px\",src:\"https://framerusercontent.com/images/4b20yzkUgEmFmhPbJll5yjaNFA8.png?width=77&height=55\"}}},baseVariant,gestureVariant)}),isDisplayed2()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"Bitrig on Discord\",fit:\"fill\",intrinsicHeight:64,intrinsicWidth:80,pixelHeight:64,pixelWidth:80,src:\"https://framerusercontent.com/images/NrpTo5qV1ItQWIlOILCU8fmcsw.png?width=80&height=64\"},className:\"framer-1o5e9a1\",\"data-framer-name\":\"Discord\",draggable:\"false\",layoutDependency:layoutDependency,layoutId:\"x_dtoNcwB\",...addPropertyOverrides({aFdMokp3L:{background:{alt:\"Bitrig on Discord\",fit:\"fill\",intrinsicHeight:64,intrinsicWidth:80,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||32)*.5000000000000002-8)),pixelHeight:64,pixelWidth:80,sizes:\"20px\",src:\"https://framerusercontent.com/images/NrpTo5qV1ItQWIlOILCU8fmcsw.png?width=80&height=64\"}}},baseVariant,gestureVariant)})]})})})})});});const css=[\".framer-l4IEd.framer-w4hhq6, .framer-l4IEd .framer-w4hhq6 { display: block; }\",\".framer-l4IEd.framer-h87i53 { cursor: pointer; gap: 10px; height: 32px; position: relative; text-decoration: none; width: 32px; }\",\".framer-l4IEd .framer-1ysxzqz { flex: none; height: 16px; left: calc(50.00000000000002% - 20px / 2); overflow: visible; position: absolute; top: calc(50.00000000000002% - 16px / 2); width: 20px; }\",\".framer-l4IEd .framer-17r8j93 { flex: none; height: 15px; left: calc(50.00000000000002% - 20px / 2); overflow: visible; position: absolute; top: calc(50.00000000000002% - 14.5px / 2); width: 20px; z-index: 1; }\",\".framer-l4IEd .framer-1o5e9a1 { flex: none; height: 16px; left: calc(50.00000000000002% - 20px / 2); overflow: visible; position: absolute; top: calc(50.00000000000002% - 16px / 2); width: 20px; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 32\n * @framerIntrinsicWidth 32\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"BLct2v_kf\":{\"layout\":[\"fixed\",\"fixed\"]},\"aFdMokp3L\":{\"layout\":[\"fixed\",\"fixed\"]},\"FlUacW33z\":{\"layout\":[\"fixed\",\"fixed\"]},\"XA2MDkn2n\":{\"layout\":[\"fixed\",\"fixed\"]},\"toxTlW7wJ\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"BEOgU9aci\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameruQ7GpWE34=withCSS(Component,css,\"framer-l4IEd\");export default FrameruQ7GpWE34;FrameruQ7GpWE34.displayName=\"Buttons/Social\";FrameruQ7GpWE34.defaultProps={height:32,width:32};addPropertyControls(FrameruQ7GpWE34,{variant:{options:[\"T4ukEZFtM\",\"BLct2v_kf\",\"aFdMokp3L\"],optionTitles:[\"Twitter\",\"Youtube\",\"Discord\"],title:\"Variant\",type:ControlType.Enum},BEOgU9aci:{title:\"Link\",type:ControlType.Link}});addFonts(FrameruQ7GpWE34,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameruQ7GpWE34\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"32\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"32\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"BEOgU9aci\\\":\\\"link\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"BLct2v_kf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aFdMokp3L\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FlUacW33z\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"XA2MDkn2n\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"toxTlW7wJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./uQ7GpWE34.map","// Generated by Framer (8a671e2)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,FormContainer,FormPlainTextInput,forwardLoader,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import IconArc from\"https://framerusercontent.com/modules/wPhZTeEIzehy2JMFa0Cb/UnCGfHfHddP0jsrHhdtm/IconArcFooter.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/YCe7bHgW8ymtNWWdowIO/giTjOgwRK3JxBUaoM6PY/G75bZfKfY.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/NVBA5eHiMO4kTzTvx02d/BYCqBRkh1xUFlU18hRCu/QTN7cSWxG.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/5Xil8LoZtAADXbmlnKrW/pTFQvMgPQ4O2Hh0C9Su7/zc0ybcRn0.js\";import Button2 from\"https://framerusercontent.com/modules/9IohpGKoERas5Hr0L63R/jMFjp4cvt0a55JSnD2GH/Crr4_1pTv.js\";import ButtonsSocial from\"https://framerusercontent.com/modules/f5lbtcE8qC5qAHxVkfgL/7P4zinDmF9GTIRHvvgav/uQ7GpWE34.js\";const IconArcFonts=getFonts(IconArc);const ButtonsSocialFonts=getFonts(ButtonsSocial);const Button2Fonts=getFonts(Button2);const cycleOrder=[\"mC5VhoRkN\",\"ImSe91gaN\",\"m415yic9w\"];const serializationHash=\"framer-AzkiP\";const variantClassNames={ImSe91gaN:\"framer-v-11lxct\",m415yic9w:\"framer-v-sgbbo5\",mC5VhoRkN:\"framer-v-gvg2yf\"};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 transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const formVariants=(form,variants,currentVariant)=>{switch(form.state){case\"success\":return variants.success??currentVariant;case\"pending\":return variants.pending??currentVariant;case\"error\":return variants.error??currentVariant;case\"incomplete\":return variants.incomplete??currentVariant;default:return currentVariant;}};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 humanReadableVariantMap={Desktop:\"mC5VhoRkN\",Phone:\"m415yic9w\",Tablet:\"ImSe91gaN\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"mC5VhoRkN\"};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"mC5VhoRkN\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.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,children:/*#__PURE__*/_jsxs(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-gvg2yf\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"mC5VhoRkN\",ref:refBinding,style:{backgroundColor:\"rgb(0, 0, 0)\",...style},...addPropertyOverrides({ImSe91gaN:{\"data-framer-name\":\"Tablet\"},m415yic9w:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1044,intrinsicWidth:1752,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(componentViewport?.height||200)-515),pixelHeight:2088,pixelWidth:3504,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088\",srcSet:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=512&width=3504&height=2088 512w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=1024&width=3504&height=2088 1024w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=2048&width=3504&height=2088 2048w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088 3504w\"},className:\"framer-1xj5u3h\",\"data-framer-name\":\"DottedGrid\",draggable:\"false\",fitImageDimension:\"height\",layoutDependency:layoutDependency,layoutId:\"b8SRoKah7\",style:{mask:\"linear-gradient(0deg, rgba(0,0,0,0) 15%, rgba(0,0,0,1) 100%) add\",WebkitMask:\"linear-gradient(0deg, rgba(0,0,0,0) 15%, rgba(0,0,0,1) 100%) add\"},transformTemplate:transformTemplate1,...addPropertyOverrides({ImSe91gaN:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1044,intrinsicWidth:1752,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:2088,pixelWidth:3504,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088\",srcSet:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=512&width=3504&height=2088 512w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=1024&width=3504&height=2088 1024w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=2048&width=3504&height=2088 2048w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088 3504w\"}},m415yic9w:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1044,intrinsicWidth:1752,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:2088,pixelWidth:3504,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088\",srcSet:\"https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=512&width=3504&height=2088 512w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=1024&width=3504&height=2088 1024w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?scale-down-to=2048&width=3504&height=2088 2048w,https://framerusercontent.com/images/92hfrIRTeBxYSHs9g5ZWUvuHnow.png?width=3504&height=2088 3504w\"}}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1a9jaq0\",layoutDependency:layoutDependency,layoutId:\"LMip9Ki9s\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-okedg1-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"LuKTC3dpn-container\",nodeId:\"LuKTC3dpn\",rendersWithMotion:true,scopeId:\"TwgMa8hUr\",children:/*#__PURE__*/_jsx(IconArc,{atlas:addImageAlt({pixelHeight:1536,pixelWidth:1792,src:\"https://framerusercontent.com/images/VkKamP3PbbBbOEhkDEqZp8Hww0Q.png?width=1792&height=1536\",srcSet:\"https://framerusercontent.com/images/VkKamP3PbbBbOEhkDEqZp8Hww0Q.png?scale-down-to=512&width=1792&height=1536 512w,https://framerusercontent.com/images/VkKamP3PbbBbOEhkDEqZp8Hww0Q.png?scale-down-to=1024&width=1792&height=1536 1024w,https://framerusercontent.com/images/VkKamP3PbbBbOEhkDEqZp8Hww0Q.png?width=1792&height=1536 1792w\"},\"\"),atlasBreakpoint:810,bleed:0,bounce:.35,cells:9,centerImage:addImageAlt({pixelHeight:1024,pixelWidth:1024,src:\"https://framerusercontent.com/images/o19QtFNK2SrJaqibRHCBHjHSjmg.png?width=1024&height=1024\",srcSet:\"https://framerusercontent.com/images/o19QtFNK2SrJaqibRHCBHjHSjmg.png?scale-down-to=512&width=1024&height=1024 512w,https://framerusercontent.com/images/o19QtFNK2SrJaqibRHCBHjHSjmg.png?width=1024&height=1024 1024w\"},\"\"),centerTrimTop:.002,clip:\"Bottom\",columns:7,corner:11.9,count:9,curve:.85,drop:.14,fade:0,fit:\"Fit\",fromCenter:true,fromScale:.55,height:\"100%\",hover:false,hoverOrigin:\"Bottom\",hoverRange:1.3,hoverSpeed:.6,id:\"LuKTC3dpn\",images:[],layoutId:\"LuKTC3dpn\",magnify:1.35,margin:0,mask:0,minSize:0,mobileAtlas:addImageAlt({pixelHeight:768,pixelWidth:896,src:\"https://framerusercontent.com/images/8ekcWwZMlIaLudbEQQ1umPZk8ig.png?width=896&height=768\",srcSet:\"https://framerusercontent.com/images/8ekcWwZMlIaLudbEQQ1umPZk8ig.png?scale-down-to=512&width=896&height=768 512w,https://framerusercontent.com/images/8ekcWwZMlIaLudbEQQ1umPZk8ig.png?width=896&height=768 896w\"},\"\"),once:true,overlap:.69,revealDelay:0,revealDuration:.7,revealStagger:.08,rows:6,scaleStep:.88,shadow:.19,sideInset:0,size:220,startCell:0,style:{height:\"100%\",width:\"100%\"},threshold:.45,topInset:20,trigger:\"Scroll into view\",trim:.002,width:\"100%\",...addPropertyOverrides({ImSe91gaN:{bounce:.45,sideInset:.01},m415yic9w:{size:90}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1nisp2f\",\"data-border\":true,\"data-framer-name\":\"Footer Inner\",layoutDependency:layoutDependency,layoutId:\"dD6HXV9xE\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(255, 255, 255, 0.15)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"dashed\",\"--border-top-width\":\"1px\"},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1kr9kt1\",\"data-framer-name\":\"Footer Brand\",layoutDependency:layoutDependency,layoutId:\"fDyZhIXXU\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"IUYE1qGvh\",openInNewTab:false,scopeId:\"TwgMa8hUr\",children:/*#__PURE__*/_jsx(Image1,{as:\"a\",background:{alt:\"Bitrig home\",fit:\"fill\",intrinsicHeight:730,intrinsicWidth:3599,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+72+(((componentViewport?.height||200)-128-461)/2+185+0)+40+0+0),pixelHeight:730,pixelWidth:3599,sizes:\"80px\",src:\"https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?lossless=1&width=3599&height=730\",srcSet:\"https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=512&lossless=1&width=3599&height=730 512w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=1024&lossless=1&width=3599&height=730 1024w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=2048&lossless=1&width=3599&height=730 2048w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?lossless=1&width=3599&height=730 3599w\"},className:\"framer-1f21ajs framer-cho36l\",\"data-framer-name\":\"Footer Logo\",fitImageDimension:\"height\",layoutDependency:layoutDependency,layoutId:\"IUYE1qGvh\",...addPropertyOverrides({ImSe91gaN:{background:{alt:\"Bitrig home\",fit:\"fill\",intrinsicHeight:730,intrinsicWidth:3599,pixelHeight:730,pixelWidth:3599,sizes:\"80px\",src:\"https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?lossless=1&width=3599&height=730\",srcSet:\"https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=512&lossless=1&width=3599&height=730 512w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=1024&lossless=1&width=3599&height=730 1024w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=2048&lossless=1&width=3599&height=730 2048w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?lossless=1&width=3599&height=730 3599w\"}},m415yic9w:{background:{alt:\"Bitrig home\",fit:\"fill\",intrinsicHeight:730,intrinsicWidth:3599,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+12+(((componentViewport?.height||200)-60-727)/2+115+0)+40+0+0+0),pixelHeight:730,pixelWidth:3599,sizes:\"80px\",src:\"https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?lossless=1&width=3599&height=730\",srcSet:\"https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=512&lossless=1&width=3599&height=730 512w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=1024&lossless=1&width=3599&height=730 1024w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?scale-down-to=2048&lossless=1&width=3599&height=730 2048w,https://framerusercontent.com/images/srJIotyQ25oxaMCtzqm89z2zuY4.png?lossless=1&width=3599&height=730 3599w\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-g9fbgz\",layoutDependency:layoutDependency,layoutId:\"v1XOOsMdz\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"32px\",y:(componentViewport?.y||0)+72+(((componentViewport?.height||200)-128-461)/2+185+0)+40+0+168+0,...addPropertyOverrides({ImSe91gaN:{y:undefined},m415yic9w:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||200)-60-727)/2+115+0)+40+0+0+36+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1vzt5gr-container\",layoutDependency:layoutDependency,layoutId:\"Iv2sl2916-container\",nodeId:\"Iv2sl2916\",rendersWithMotion:true,scopeId:\"TwgMa8hUr\",children:/*#__PURE__*/_jsx(ButtonsSocial,{BEOgU9aci:\"https://x.com/BitrigApp\",height:\"100%\",id:\"Iv2sl2916\",layoutId:\"Iv2sl2916\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"T4ukEZFtM\"),width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"32px\",y:(componentViewport?.y||0)+72+(((componentViewport?.height||200)-128-461)/2+185+0)+40+0+168+0,...addPropertyOverrides({ImSe91gaN:{y:undefined},m415yic9w:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||200)-60-727)/2+115+0)+40+0+0+36+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ak9uxw-container\",layoutDependency:layoutDependency,layoutId:\"U7kcle11O-container\",nodeId:\"U7kcle11O\",rendersWithMotion:true,scopeId:\"TwgMa8hUr\",children:/*#__PURE__*/_jsx(ButtonsSocial,{BEOgU9aci:\"https://www.youtube.com/@BitrigApp\",height:\"100%\",id:\"U7kcle11O\",layoutId:\"U7kcle11O\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"BLct2v_kf\"),width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"32px\",y:(componentViewport?.y||0)+72+(((componentViewport?.height||200)-128-461)/2+185+0)+40+0+168+0,...addPropertyOverrides({ImSe91gaN:{y:undefined},m415yic9w:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||200)-60-727)/2+115+0)+40+0+0+36+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-blc5rq-container\",layoutDependency:layoutDependency,layoutId:\"j_YgfgQtO-container\",nodeId:\"j_YgfgQtO\",rendersWithMotion:true,scopeId:\"TwgMa8hUr\",children:/*#__PURE__*/_jsx(ButtonsSocial,{BEOgU9aci:\"https://discord.com/invite/Z8VAkUDBaP\",height:\"100%\",id:\"j_YgfgQtO\",layoutId:\"j_YgfgQtO\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"aFdMokp3L\"),width:\"100%\"})})})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ykt9r7\",\"data-framer-name\":\"Footer Links\",layoutDependency:layoutDependency,layoutId:\"Z4FkJoKmR\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-av9zzl\",layoutDependency:layoutDependency,layoutId:\"lABrPhIIn\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-mtp4ai\",\"data-framer-name\":\"Product Links\",layoutDependency:layoutDependency,layoutId:\"DT5fzAjEm\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1s6jubp\",\"data-styles-preset\":\"QTN7cSWxG\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Product\"})}),className:\"framer-18lxr8i\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"IWHDG_pWy\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"yi7fg3zYT\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Mac\"})})})}),className:\"framer-12u9n63\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"yi7fg3zYT\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"TRRyfv_d1\"},motionChild:true,nodeId:\"rHnLhVBrf\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Remote\"})})})}),className:\"framer-1ynvfaf\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"rHnLhVBrf\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"YXYkaBFeK\"},motionChild:true,nodeId:\"uw52l2X0s\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Pricing\"})})})}),className:\"framer-1jmymod\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"uw52l2X0s\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"MNPyH_QNp\"},motionChild:true,nodeId:\"MfIafnpfJ\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Download\"})})})}),className:\"framer-k83tgl\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"MfIafnpfJ\",verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-11shhsh\",\"data-framer-name\":\"Product Links\",layoutDependency:layoutDependency,layoutId:\"JhQQoWiaC\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1s6jubp\",\"data-styles-preset\":\"QTN7cSWxG\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Company\"})}),className:\"framer-ship34\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"xG4Od9TYJ\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bCCICkIhb\"},motionChild:true,nodeId:\"OadIza_4n\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Blog\"})})})}),className:\"framer-26zfca\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"OadIza_4n\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"yMVgEa3P3\"},motionChild:true,nodeId:\"yEQ0CvmVO\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"About\"})})})}),className:\"framer-w4fjaq\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"yEQ0CvmVO\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bdNRd1rrr\"},motionChild:true,nodeId:\"tO2AnqgRp\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Privacy Policy\"})})})}),className:\"framer-1l6xzr8\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"tO2AnqgRp\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"RizMztc96\"},motionChild:true,nodeId:\"KGJYpcJ_e\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Terms of Service\"})})})}),className:\"framer-18h72l7\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"KGJYpcJ_e\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"mailto:contact@bitrig.com\",motionChild:true,nodeId:\"tocOAER_M\",openInNewTab:false,relValues:[],scopeId:\"TwgMa8hUr\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14lxaat\",\"data-styles-preset\":\"zc0ybcRn0\",children:\"Contact Us\"})})})}),className:\"framer-1a3j5vc\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"tocOAER_M\",verticalAlignment:\"top\",withExternalLayout:true})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1mr2tt7\",\"data-framer-name\":\"Product Links\",layoutDependency:layoutDependency,layoutId:\"QeRTaEKuJ\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1s6jubp\",\"data-styles-preset\":\"QTN7cSWxG\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Newsletter\"})}),className:\"framer-hjed4l\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"KJLFxHLRa\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(FormContainer,{action:\"https://api.framer.com/forms/v1/forms/3dbbf1f8-3976-494c-bd01-6ee626ca17f5/submit\",className:\"framer-jvydf0\",layoutDependency:layoutDependency,layoutId:\"uzKj4aqxz\",nodeId:\"uzKj4aqxz\",redirectUrl:{webPageId:\"h27Wj58jJ\"},submitTrackingId:\"\",children:formState=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(motion.label,{className:\"framer-1w86rtv\",layoutDependency:layoutDependency,layoutId:\"fqWLr8A6O\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:\"Get all the latest news, and product updates from Bitrig.\"})}),className:\"framer-1tzbagi\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Qjjisoc2Z\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({m415yic9w:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-2oc8j7\",\"data-styles-preset\":\"G75bZfKfY\",dir:\"auto\",children:[\"Get all the latest news, and \",/*#__PURE__*/_jsx(motion.br,{}),\"product updates from Bitrig.\"]})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(FormPlainTextInput,{className:\"framer-1jdt7yi\",inputName:\"Email\",layoutDependency:layoutDependency,layoutId:\"HGQPwzF6z\",placeholder:\"janeappleseed@me.com\",required:true,style:{\"--framer-input-background\":\"rgba(187, 187, 187, 0.15)\",\"--framer-input-border-bottom-width\":\"1px\",\"--framer-input-border-color\":\"rgba(136, 136, 136, 0.1)\",\"--framer-input-border-left-width\":\"1px\",\"--framer-input-border-radius-bottom-left\":\"32px\",\"--framer-input-border-radius-bottom-right\":\"32px\",\"--framer-input-border-radius-top-left\":\"32px\",\"--framer-input-border-radius-top-right\":\"32px\",\"--framer-input-border-right-width\":\"1px\",\"--framer-input-border-style\":\"solid\",\"--framer-input-border-top-width\":\"1px\",\"--framer-input-font-color\":\"rgb(153, 153, 153)\",\"--framer-input-icon-mask-image\":\"none\",\"--framer-input-placeholder-color\":\"rgb(153, 153, 153)\"},type:\"email\"})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:44,width:\"280px\",y:(componentViewport?.y||0)+72+(((componentViewport?.height||200)-128-461)/2+185+0)+40+0+0+30+0+162,...addPropertyOverrides({ImSe91gaN:{y:undefined},m415yic9w:{height:48,width:`min(${componentViewport?.width||\"100vw\"} - 48px, 1080px)`,y:(componentViewport?.y||0)+12+(((componentViewport?.height||200)-60-727)/2+115+0)+40+112+0+218+0+30+0+164}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-cfvk6l-container\",\"data-framer-name\":\"Button\",layoutDependency:layoutDependency,layoutId:\"flMYlYi4V-container\",name:\"Button\",nodeId:\"flMYlYi4V\",rendersWithMotion:true,scopeId:\"TwgMa8hUr\",children:/*#__PURE__*/_jsx(Button2,{height:\"100%\",id:\"flMYlYi4V\",layoutId:\"flMYlYi4V\",name:\"Button\",OF1eTiKJ4:true,style:{height:\"100%\",width:\"100%\"},type:\"submit\",variant:formVariants(formState,{pending:\"uQq8wXuAS\",success:\"FaS9uWIB2\"},matchVariant(\"Bs3TPljbp\")),width:\"100%\"})})})]})})]})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-p4gewg\",\"data-framer-name\":\"Top Divider\",layoutDependency:layoutDependency,layoutId:\"vrKeXlwD8\",style:{background:\"radial-gradient(50% 50% at 50% 50%, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%)\",opacity:.2}})]})})})});});const css=[\".framer-AzkiP.framer-cho36l, .framer-AzkiP .framer-cho36l { display: block; }\",\".framer-AzkiP.framer-gvg2yf { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 72px 24px 56px 24px; position: relative; width: 1200px; }\",\".framer-AzkiP .framer-1xj5u3h { -webkit-user-select: none; bottom: -200px; flex: none; height: auto; left: 50%; overflow: visible; pointer-events: none; position: absolute; user-select: none; width: 100%; z-index: 1; }\",\".framer-AzkiP .framer-1a9jaq0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-AzkiP .framer-okedg1-container { flex: none; height: 185px; position: relative; width: 100%; }\",\".framer-AzkiP .framer-1nisp2f { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1080px; padding: 40px 0px 0px 0px; position: relative; width: 1080px; }\",\".framer-AzkiP .framer-1kr9kt1 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; height: 200px; justify-content: space-between; padding: 0px; position: relative; width: min-content; }\",\".framer-AzkiP .framer-1f21ajs { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: auto; justify-content: center; padding: 0px; position: relative; text-decoration: none; width: 80px; }\",\".framer-AzkiP .framer-g9fbgz { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-AzkiP .framer-1vzt5gr-container, .framer-AzkiP .framer-ak9uxw-container, .framer-AzkiP .framer-blc5rq-container { flex: none; height: 32px; position: relative; width: 32px; }\",\".framer-AzkiP .framer-ykt9r7 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 56px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: min-content; }\",\".framer-AzkiP .framer-av9zzl { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 56px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-AzkiP .framer-mtp4ai, .framer-AzkiP .framer-11shhsh, .framer-AzkiP .framer-1mr2tt7 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: min-content; }\",\".framer-AzkiP .framer-18lxr8i, .framer-AzkiP .framer-12u9n63, .framer-AzkiP .framer-1ynvfaf, .framer-AzkiP .framer-1jmymod, .framer-AzkiP .framer-k83tgl, .framer-AzkiP .framer-ship34, .framer-AzkiP .framer-26zfca, .framer-AzkiP .framer-w4fjaq, .framer-AzkiP .framer-1l6xzr8, .framer-AzkiP .framer-18h72l7, .framer-AzkiP .framer-1a3j5vc, .framer-AzkiP .framer-hjed4l { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-AzkiP .framer-jvydf0 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 280px; }\",\".framer-AzkiP .framer-1w86rtv { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",\".framer-AzkiP .framer-1tzbagi { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",'.framer-AzkiP .framer-1jdt7yi { --framer-input-focused-border-color: rgba(245, 245, 245, 0.17); --framer-input-focused-border-style: solid; --framer-input-focused-border-width: 2px; --framer-input-font-family: \"ABC Favorit Variable Variable Regular\"; --framer-input-font-letter-spacing: 0em; --framer-input-font-line-height: 1.2em; --framer-input-font-size: 14px; --framer-input-font-weight: 400; --framer-input-padding: 12px; flex: none; height: 40px; position: relative; width: 100%; }',\".framer-AzkiP .framer-cfvk6l-container { flex: none; height: 44px; position: relative; width: 100%; z-index: 1; }\",\".framer-AzkiP .framer-p4gewg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 1px; justify-content: center; left: calc(48.68055555555558% - min(1200px, 77.98611111111111%) / 2); max-width: 1200px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 78%; z-index: 1; }\",\".framer-AzkiP.framer-v-11lxct.framer-gvg2yf { padding: 24px 24px 56px 24px; width: 700px; }\",\".framer-AzkiP.framer-v-11lxct .framer-1xj5u3h, .framer-AzkiP.framer-v-sgbbo5 .framer-1xj5u3h { bottom: unset; top: 0px; }\",\".framer-AzkiP.framer-v-11lxct .framer-okedg1-container { height: 199px; }\",\".framer-AzkiP.framer-v-11lxct .framer-1nisp2f, .framer-AzkiP.framer-v-sgbbo5 .framer-1mr2tt7 { width: 100%; }\",\".framer-AzkiP.framer-v-11lxct .framer-1kr9kt1 { align-self: stretch; height: auto; }\",\".framer-AzkiP.framer-v-11lxct .framer-ykt9r7 { flex-wrap: wrap; }\",\".framer-AzkiP.framer-v-sgbbo5.framer-gvg2yf { padding: 12px 24px 48px 24px; width: 390px; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-okedg1-container { height: 115px; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-1nisp2f { flex-direction: column; gap: 44px; justify-content: flex-start; width: 100%; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-1kr9kt1 { gap: 20px; height: min-content; justify-content: flex-start; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-ykt9r7 { flex-direction: column; gap: 48px 56px; width: 100%; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-jvydf0 { align-content: flex-end; align-items: flex-end; gap: 8px; overflow: visible; width: 100%; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-1jdt7yi { --framer-input-font-size: 16px; height: 44px; }\",\".framer-AzkiP.framer-v-sgbbo5 .framer-cfvk6l-container { height: 48px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,'.framer-AzkiP[data-border=\"true\"]::after, .framer-AzkiP [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; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 553\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"ImSe91gaN\":{\"layout\":[\"fixed\",\"auto\"]},\"m415yic9w\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerTwgMa8hUr=withCSS(Component,css,\"framer-AzkiP\");export default FramerTwgMa8hUr;FramerTwgMa8hUr.displayName=\"Footer\";FramerTwgMa8hUr.defaultProps={height:553,width:1200};addPropertyControls(FramerTwgMa8hUr,{variant:{options:[\"mC5VhoRkN\",\"ImSe91gaN\",\"m415yic9w\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});const variationAxes=[{defaultValue:400,maxValue:1e3,minValue:300,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:0,minValue:-12,name:\"Slant\",tag:\"slnt\"}];addFonts(FramerTwgMa8hUr,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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\"},{cssFamilyName:\"ABC Favorit Variable Variable Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"ABC Favorit Variable\",url:\"https://framerusercontent.com/assets/J1jxf59pLsDwYm2sj21dYFzXg4Y.woff2\",variationAxes,weight:\"400\"}]},...IconArcFonts,...ButtonsSocialFonts,...Button2Fonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});FramerTwgMa8hUr.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(ButtonsSocial,{},context),forwardLoader(Button2,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerTwgMa8hUr\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"553\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ImSe91gaN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"m415yic9w\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TwgMa8hUr.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence,useReducedMotion}from\"framer-motion\";const DEFAULT_EDGE={hairline:1,ringDark:.06,ringLight:.45,highlight:.65,shade:.05,elevation:1,lift:12};const DEFAULT_PILL_EDGE={hairline:1,ringDark:.05,ringLight:.9,highlight:.95,shade:.04,elevation:1.35,lift:8};function edgeShadow(e,inner){const h=e.hairline??1;const el=e.elevation??1;const lift=e.lift??10;return[`inset 0 ${h}px 0 rgba(255,255,255,${e.highlight})`,`inset 0 -${h}px 0 rgba(0,0,0,${e.shade})`,`inset 0 0 0 ${h}px rgba(255,255,255,${e.ringLight})`,`0 0 0 ${h}px rgba(0,0,0,${e.ringDark})`,`0 1px 2px -1px rgba(0,0,0,${(.06*el).toFixed(3)})`,`0 2px 4px 0 rgba(0,0,0,${(.04*el).toFixed(3)})`,`0 ${lift}px ${Math.round(lift*2.2)}px -${Math.round(lift*.6)}px rgba(0,0,0,${((inner?.14:.1)*el).toFixed(3)})`].join(\", \");}const DEFAULT_SPECULAR={enabled:true,angle:145,width:1.5,intensity:.9,secondary:.35,spread:55};const DEFAULT_PILL_SPECULAR={enabled:true,angle:145,width:1,intensity:1,secondary:.45,spread:60};function specularGradient(sp){const a=sp.angle;const w=Math.max(1,sp.spread);const hi=sp.intensity;const lo=sp.secondary;return`conic-gradient(from ${a}deg,\n        rgba(255,255,255,${hi}) 0deg,\n        rgba(255,255,255,0) ${w}deg,\n        rgba(255,255,255,0) ${180-w}deg,\n        rgba(255,255,255,${lo}) 180deg,\n        rgba(255,255,255,0) ${180+w}deg,\n        rgba(255,255,255,0) ${360-w}deg,\n        rgba(255,255,255,${hi}) 360deg)`;}const DEFAULT_SEGMENT_STYLE={background:\"rgba(255,255,255,0.72)\",height:36,// \"box\" + zero padding: the pill is exactly the nav item's own frame, so\n// the breathing room comes from the item's padding in Framer.\nfit:\"box\",padLeft:0,padRight:0,offsetY:0,springMode:\"time\",duration:.32,bounce:.15,edge:DEFAULT_PILL_EDGE,specular:DEFAULT_PILL_SPECULAR,stiffness:440,damping:34,mass:.72};/* ------------------------------------------------------------------ fonts *//**\n * The Font control's object rendered as CSS declarations, all forced.\n *\n * Slotted Framer text carries its own family, size, weight, tracking and\n * colour, and some of those actively fight the component: Framer pins the\n * variable axis with font-variation-settings, which silently overrides\n * font-weight. Rather than negotiate with each layer, the component takes the\n * typography over wholesale, so the nav items only supply text and a link.\n */function forcedFontCSS(f){if(!f)return\"\";const unit=v=>typeof v===\"number\"?`${v}px`:v;const out=[];if(f.fontFamily)out.push(`font-family: ${f.fontFamily} !important;`);if(f.fontSize!=null)out.push(`font-size: ${unit(f.fontSize)} !important;`);if(f.letterSpacing!=null)out.push(`letter-spacing: ${unit(f.letterSpacing)} !important;`);if(f.lineHeight!=null)out.push(`line-height: ${f.lineHeight} !important;`);// Always emitted, even when unset: a slotted layer can be italic, and\n// \"not specified\" must mean \"normal\", not \"whatever the slot brought\".\nout.push(`font-style: ${f.fontStyle||\"normal\"} !important;`);return out.join(\"\\n                    \");}const DEFAULT_LABELS={enabled:true,color:\"rgba(0,0,0,0.56)\",hoverColor:\"rgba(0,0,0,0.78)\",activeColor:\"rgba(0,0,0,0.92)\",takeover:true,idleWeight:500,activeWeight:600,reserve:true,duration:.22,size:15};const DEFAULT_MOBILE={enabled:true,breakpoint:810,gap:8,padding:8,rowGap:2,rowPadX:16,rowPadY:12,burgerSize:18,burgerColor:\"#3A383B\",// Deliberately NOT the desktop pill's fill. That pill is translucent white,\n// which works because it sits on glass over the page; inside the dropdown\n// it sits on a light glass panel, so white-on-white leaves the selected row\n// invisible. A low-alpha dark tint reads as \"selected\" against any of the\n// panel's own colours.\nactiveFill:\"rgba(0,0,0,0.07)\",ctaPlacement:\"menu\",rowSize:17};const DEFAULT_TINT={enabled:true,samples:5,chromaWeight:1,darkWeight:.5,duration:.4,brightnessBoost:.26,saturationBoost:.3,veil:.24,// Fractions of the label's own alpha, removed at full tint. Lowering alpha\n// does both jobs at once: the glyph gets lighter AND more of the backdrop\n// shows through it, which is the tint.\n// Kept small on purpose. The labels are already 44% transparent at rest,\n// so the backdrop is ALREADY showing through them — the tint does not need\n// alpha removed to exist, and every point removed is contrast lost.\n// Measured at 0.30: contrast against the bar fell from 4.62:1 on white to\n// 2.81:1 over magenta, i.e. below the 3:1 floor for large text.\nlabelLighten:.1,wordmarkLighten:.12};function parseColor(input){if(!input)return null;const s=input.trim();if(s===\"transparent\")return[0,0,0,0];// getComputedStyle always normalises to rgb()/rgba()/color(), and modern\n// Chrome emits `color(srgb r g b / a)` for some inputs, so both are handled.\nlet m=s.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)(?:[\\s,/]+([\\d.%]+))?\\s*\\)/i);if(m){const a=m[4]==null?1:m[4].endsWith(\"%\")?parseFloat(m[4])/100:parseFloat(m[4]);return[+m[1],+m[2],+m[3],isNaN(a)?1:a];}m=s.match(/color\\(\\s*srgb\\s+([\\d.]+)\\s+([\\d.]+)\\s+([\\d.]+)(?:\\s*\\/\\s*([\\d.]+))?\\s*\\)/i);if(m)return[+m[1]*255,+m[2]*255,+m[3]*255,m[4]==null?1:+m[4]];m=s.match(/^#([0-9a-f]{3,8})$/i);if(m){let h=m[1];if(h.length===3||h.length===4)h=h.split(\"\").map(c=>c+c).join(\"\");const n=i=>parseInt(h.slice(i,i+2),16);return[n(0),n(2),n(4),h.length>=8?n(6)/255:1];}return null;}/** Source-over: `fg` painted on top of `bg`. */function compositeOver(fg,bg){const a=fg[3]+bg[3]*(1-fg[3]);if(a<=0)return[0,0,0,0];const ch=i=>(fg[i]*fg[3]+bg[i]*bg[3]*(1-fg[3]))/a;return[ch(0),ch(1),ch(2),a];}/** WCAG 2.x relative luminance, 0 (black) to 1 (white). */function relativeLuminance(c){const f=v=>{const x=v/255;return x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4);};return .2126*f(c[0])+.7152*f(c[1])+.0722*f(c[2]);}/**\n * A gradient's mean colour. Not physically correct — it ignores stop positions\n * and interpolation space — but the question here is only \"is this light or\n * dark\", and for that the average of the stops is more than accurate enough.\n * `url()` images return null: sampling those needs a canvas, and a canvas\n * tainted by a cross-origin image throws on read. That is what data-nav-tint\n * is for.\n */function averageGradientStops(bgImage){if(!bgImage||bgImage===\"none\")return null;if(!/gradient\\(/i.test(bgImage))return null;const found=bgImage.match(/(?:rgba?\\([^)]*\\)|color\\(srgb[^)]*\\)|#[0-9a-f]{3,8})/gi);if(!found?.length)return null;let r=0,g=0,b=0,a=0,n=0;for(const token of found){const c=parseColor(token);if(!c)continue;r+=c[0];g+=c[1];b+=c[2];a+=c[3];n++;}return n?[r/n,g/n,b/n,a/n]:null;}/**\n * A colour whose alpha is scaled down as the tint signal rises.\n *\n * Lowering alpha is doing two jobs at once, which is why it is the whole\n * mechanism: the glyph gets lighter, and more of the backdrop shows through it,\n * which IS the tint. A solid colour cannot pick up a hue from anything.\n *\n * Emitted as a second declaration after a plain rgba() fallback — a browser\n * without registered custom properties drops this one as invalid and keeps the\n * static colour, rather than losing the label colour entirely.\n */function tintedColor(input,lighten){const c=parseColor(input);if(!c)return input;const[r,g,b,a]=c;const round=v=>Math.round(v);return`rgb(${round(r)} ${round(g)} ${round(b)} / calc(${a} * (1 - var(--gnb-tint, 0) * ${lighten})))`;}function sampleBackdrop(nav,x,y){if(typeof document===\"undefined\"||!document.elementsFromPoint)return null;// Topmost first. Note this already skips pointer-events:none elements,\n// which conveniently excludes the bar's own glass and specular layers.\nconst stack=document.elementsFromPoint(x,y);let acc=null;for(const el of stack){if(el===nav||nav.contains(el))continue;// An explicit escape hatch for backdrops the sampler cannot read.\nconst declared=el.closest?.(\"[data-nav-tint]\");if(declared){const v=parseFloat(declared.getAttribute(\"data-nav-tint\")||\"\");if(!isNaN(v))return{forced:Math.max(0,Math.min(1,v)),color:[0,0,0,1]};}const cs=getComputedStyle(el);if(cs.visibility===\"hidden\"||cs.opacity===\"0\")continue;let c=parseColor(cs.backgroundColor);if(!c||c[3]===0)c=averageGradientStops(cs.backgroundImage);if(!c||c[3]===0)continue;// The element's own opacity scales whatever it paints.\nconst o=parseFloat(cs.opacity);if(!isNaN(o)&&o<1)c=[c[0],c[1],c[2],c[3]*o];acc=acc?compositeOver(acc,c):c;if(acc[3]>=.995)break;}if(!acc)return null;// Anything still translucent is sitting on the browser's canvas, which is\n// white unless the page says otherwise.\nconst base=parseColor(getComputedStyle(document.body).backgroundColor);const under=base&&base[3]>0?[base[0],base[1],base[2],1]:[255,255,255,1];const final=acc[3]>=.995?acc:compositeOver(acc,under);return{forced:null,color:final};}export default function GlassNavBar(props){const{items,ctaItem,logoItem,mobile,forceActive,samePage,preview,backdropTint,homeHref,wordmarkHoverOpacity,wordmarkPressScale,widthMode,barWidth,wordmarkHeight,wordmarkColor,wordmarkGap,linkGap,ctaGap,paddingLeft,paddingRight,cornerRadius,smoothing,ctaMatchPill,clipContent,background,textColor,segment,edge,specular,labels,blur,glassSaturation,glassContrast,glassBrightness,glassHighlight,font,style}=props;const isStaticRenderer=useIsStaticRenderer();const reduceMotion=useReducedMotion();const segmentStyle={...DEFAULT_SEGMENT_STYLE,...segment};const edgeStyle={...DEFAULT_EDGE,...edge};const pillEdgeStyle={...DEFAULT_PILL_EDGE,...segmentStyle.edge};const labelStyle={...DEFAULT_LABELS,...labels};const specStyle={...DEFAULT_SPECULAR,...specular};const pillSpecStyle={...DEFAULT_PILL_SPECULAR,...segmentStyle.specular};const mob={...DEFAULT_MOBILE,...mobile};// Declared up here because the menu's outside-click handler closes over it.\nconst navRef=React.useRef(null);const instanceClass=\"gnb-\"+React.useId().replace(/[^a-zA-Z0-9_-]/g,\"\");// Corner smoothing, expressed the way Figma does it: a 0-100 percentage\n// rather than the raw superellipse exponent, because nobody thinks in\n// exponents. 0 = a circular arc, 100 = superellipse(2), the iOS squircle;\n// Figma's own \"iOS\" preset is 60%, which lands on superellipse(1.6).\n//\n// Two things worth knowing before reaching for this:\n//  - corner-shape does nothing unless border-radius is non-zero, and at a\n//    radius >= half the short side the shape is already a capsule, so\n//    smoothing can only make it SQUARER. On a pill it is a taste knob.\n//  - Chrome/Edge 139+ only. Safari and Firefox drop the declaration and\n//    render the plain circular arc, which is the correct fallback: layout,\n//    shadows and blur are untouched either way.\nconst cornerShape=smoothing>0?`superellipse(${(1+smoothing/100).toFixed(3)})`:null;const locationKey=useLocationKey();/* ---------------- backdrop tint ---------------- */const tint={...DEFAULT_TINT,...backdropTint};// Written straight to a CSS custom property, never to React state. The\n// signal changes on every scroll frame; routing that through a re-render\n// would rebuild the injected stylesheet and re-run every layout effect\n// dozens of times a second. --gnb-tint is a registered property, so the\n// browser interpolates it for us and every value derived from it —\n// brightness, veil opacity, label alpha — eases along with it.\nReact.useEffect(()=>{const nav=navRef.current;if(!nav)return;if(tint.enabled===false||isStaticRenderer){nav.style.setProperty(\"--gnb-tint\",\"0\");return;}if(typeof window===\"undefined\")return;let raf=0;let last=-1;const run=()=>{raf=0;const bar=nav.querySelector(\"[data-nav-bar]\");if(!bar)return;const r=bar.getBoundingClientRect();if(r.width<=0||r.height<=0)return;const y=Math.round(r.top+r.height/2);const n=Math.max(2,Math.min(9,Math.round(tint.samples)));let sum=0;let hits=0;let forced=null;for(let i=0;i<n;i++){const x=Math.round(r.left+(i+.5)/n*r.width);const s=sampleBackdrop(nav,x,y);if(!s)continue;if(s.forced!=null){forced=s.forced;break;}// Two things make a section want a brighter bar, and they are\n// not the same thing: how SATURATED it is (a mid-tone magenta\n// soaks colour through the glass) and how DARK it is (the glass\n// goes muddy). Weighted separately so either can be dialled out.\nconst lum=relativeLuminance(s.color);const chroma=(Math.max(s.color[0],s.color[1],s.color[2])-Math.min(s.color[0],s.color[1],s.color[2]))/255;sum+=chroma*tint.chromaWeight+(1-lum)*tint.darkWeight;hits++;}const raw=forced!=null?forced:hits?sum/hits:0;const v=Math.max(0,Math.min(1,raw));// Quantised to 1/100. Sub-percent changes are invisible and would\n// otherwise touch the DOM on every single scroll frame.\nconst q=Math.round(v*100)/100;if(q===last)return;last=q;nav.style.setProperty(\"--gnb-tint\",String(q));};const schedule=()=>{if(!raf)raf=window.requestAnimationFrame(run);};run();const timers=[window.setTimeout(run,120),window.setTimeout(run,500),window.setTimeout(run,1200)];window.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule);return()=>{window.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);timers.forEach(t=>window.clearTimeout(t));if(raf)window.cancelAnimationFrame(raf);};},[tint.enabled,tint.samples,tint.chromaWeight,tint.darkWeight,isStaticRenderer,locationKey]);/* ---------------- responsive ---------------- */// matchMedia rather than a resize listener: it fires only when the query\n// actually flips, instead of on every pixel of a drag.\nconst[isNarrow,setIsNarrow]=React.useState(false);React.useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(`(max-width: ${mob.breakpoint-1}px)`);const update=()=>setIsNarrow(mq.matches);update();mq.addEventListener?.(\"change\",update);return()=>mq.removeEventListener?.(\"change\",update);},[mob.breakpoint]);// `force` exists so the mobile layout can be previewed on the Framer canvas,\n// where the window is wide even though the frame is narrow.\n// `preview` is a authoring affordance, not a style: on the Framer canvas\n// the window is wide even when the frame is narrow, so the media query\n// always says desktop and the mobile layout is otherwise unreachable\n// without publishing. It lives at the top level rather than inside Mobile\n// because it is the control you go looking for, not one you tune.\nconst forced=preview===\"mobile\"?true:preview===\"desktop\"?false:null;const isMobile=mob.enabled!==false&&(forced!==null?forced:isNarrow&&!isStaticRenderer);const[menuOpen,setMenuOpen]=React.useState(false);const[wordmarkPressed,setWordmarkPressed]=React.useState(false);// Close on navigation, on Escape, and when the layout stops being narrow.\nReact.useEffect(()=>setMenuOpen(false),[locationKey]);React.useEffect(()=>{if(!isMobile)setMenuOpen(false);},[isMobile]);React.useEffect(()=>{if(!menuOpen)return;const onKey=e=>{if(e.key===\"Escape\")setMenuOpen(false);};const onDown=e=>{const nav=navRef.current;if(nav&&!nav.contains(e.target))setMenuOpen(false);};window.addEventListener(\"keydown\",onKey);window.addEventListener(\"pointerdown\",onDown);return()=>{window.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"pointerdown\",onDown);};},[menuOpen]);// The ref goes on the plain <nav>, not on the motion.div, and the bar is\n// found by attribute rather than by child position: the injected <style>\n// tag is also a child of <nav>, so firstElementChild is not dependable.\nconst getBar=React.useCallback(()=>(navRef.current?.querySelector(\"[data-nav-bar]\"))||null,[]);const links=React.Children.toArray(items||[]);const cta=React.Children.toArray(ctaItem||[]);// Deliberately NOT tagged as a nav item: the wordmark links to the home\n// page, and if the pill could see it, landing on home would give two\n// candidates for \"active\".\nconst logoNode=React.Children.toArray(logoItem||[])[0];const totalItems=links.length+cta.length;/* ---------------- active pill ---------------- */const[pill,setPill]=React.useState(null);// A move is identified by a counter, not a boolean. Measurement re-runs\n// constantly — the ResizeObserver fires whenever the active label changes\n// weight and the bar's width shifts — and a boolean flag got cleared by\n// those re-runs mid-flight, replacing the in-flight spring with a\n// duration-0 jump to the target.\nconst moveIdRef=React.useRef(0);const[settledMove,setSettledMove]=React.useState(0);const activeKeyRef=React.useRef(null);// Which logical item is current, independent of where it is rendered. The\n// mobile panel needs this because its rows are opaque Framer nodes — there\n// is no way to ask a slot what it links to without reading the DOM.\nconst[activeIndex,setActiveIndex]=React.useState(-1);// Framer's router takes ~500ms to commit a URL. Waiting for it means the\n// pill and the label weight both sit still for half a second after the tap,\n// which reads as lag. Claim the tapped item immediately and let the URL\n// confirm it afterwards.\nconst[optimistic,setOptimistic]=React.useState(-1);const measure=React.useCallback(()=>{const bar=getBar();const root=navRef.current;if(!bar||!root)return;let activeEl=null;let activeHref=null;// Searched from <nav>, not from the bar. On mobile the links are not in\n// the bar at all — they live in the dropdown, which is a SIBLING of it.\n// Scoping this to the bar meant the mobile panel could never work out\n// which row was current, so the active row never highlighted.\n//\n// Queried from the DOM rather than held in a refs array: slotted Framer\n// content mounts on its own schedule, and a stale ref would silently\n// hide the pill.\n// :not([data-nav-cta]) is load-bearing. The CTA carries data-nav-item\n// too (that is what gives it an index and the touch hardening), so\n// without this exclusion it competes for \"active\" like any other tab —\n// and it wins whenever its own href matches the URL. Clicking Download\n// then sent the pill travelling across the bar to wrap the button\n// before vanishing. The button is not a tab; it can never be the\n// selected one.\nconst els=Array.from(root.querySelectorAll(\"[data-nav-item]:not([data-nav-cta])\"));let logicalIndex=-1;els.forEach(el=>{if(activeEl)return;const anchor=el.querySelector(\"a[href]\");const href=anchor?.getAttribute(\"href\");const idx=Number(el.dataset.navIndex??-1);// Force Active pins a tab regardless of the URL — useful on the\n// Framer canvas, where there is no route to match against.\nconst claimed=forceActive>=0?forceActive:optimistic;const hit=claimed>=0?idx===claimed:!!href&&linkMatchesLocation(href);if(hit){activeEl=el;activeHref=href;logicalIndex=idx;}});setActiveIndex(logicalIndex);// On mobile there is no pill: the links are rows in the dropdown, and\n// an absolutely positioned pill measured against the bar would land\n// somewhere meaningless. The active row paints its own background.\nif(!activeEl||isMobile){if(!activeEl)activeKeyRef.current=null;// Only `visible` changes — x, y and width are deliberately kept, so\n// the pill fades out exactly where it was standing. Zeroing them\n// would send it sliding to the bar's left edge on its way out,\n// which reads as the pill going to fetch something.\nsetPill(p=>p?{...p,visible:false}:null);return;}// Identity is the item, not its URL. Comparing hrefs meant two tabs\n// pointing at the same place — or any setup where the href does not\n// change — never registered as a move, so the pill teleported.\nconst key=logicalIndex>=0?`#${logicalIndex}`:activeHref;if(activeKeyRef.current!==key)moveIdRef.current+=1;activeKeyRef.current=key;const br=bar.getBoundingClientRect();let ir=activeEl.getBoundingClientRect();// \"content\" measures the rendered text instead of the frame holding it.\n// Padding inside an item makes the label sit off-centre in its own box,\n// and a pill wrapped around that box inherits the lopsidedness. A Range\n// over the node's contents ignores padding entirely.\nif(segmentStyle.fit===\"content\"){try{const range=document.createRange();range.selectNodeContents(activeEl);const cr=range.getBoundingClientRect();if(cr.width>0&&cr.height>0)ir=cr;}catch{}}const padL=segmentStyle.padLeft??segmentStyle.padX??0;const padR=segmentStyle.padRight??segmentStyle.padX??0;const h=segmentStyle.height;// The pill is absolutely positioned with left/top 0, which resolves to\n// the bar's PADDING box — inside its border. Every figure below is\n// measured from the bar's BORDER box, so the border width has to come\n// back off or the pill sits 1px right and 1px low.\nconst barCS=getComputedStyle(bar);const borderL=parseFloat(barCS.borderLeftWidth)||0;const borderT=parseFloat(barCS.borderTopWidth)||0;// No edge snapping here, unlike the scroll-reveal version. There, the\n// first and last nav items sat against the bar's own edge, so parking\n// the pill at a fixed inset was what kept it concentric. With a\n// wordmark on the left and a button on the right, no nav item touches\n// the bar's edge — snapping would drag the pill away from its label.\nconst x=ir.left-br.left-padL;const width=ir.width+padL+padR;// Vertically, centre on the ACTIVE ITEM rather than on the bar. The row\n// is sized by its tallest child (the CTA), so if that child is taller\n// than the bar's content box the row overflows and every label shifts.\n// Tracking the item means the pill can never disagree with the label it\n// is highlighting, whatever the row does.\nconst itemBox=activeEl.getBoundingClientRect();const itemCentreY=itemBox.top+itemBox.height/2;const y=itemCentreY-br.top-h/2-borderT+(segmentStyle.offsetY||0);setPill({x:x-borderL,y,width,height:h,visible:true,move:moveIdRef.current});},[getBar,segmentStyle.height,segmentStyle.fit,segmentStyle.padLeft,segmentStyle.padRight,segmentStyle.padX,segmentStyle.offsetY,forceActive,optimistic,isMobile]);// Re-measure whenever the route changes or the bar reflows.\nReact.useLayoutEffect(()=>{measure();},[measure,locationKey,totalItems,isMobile,menuOpen]);React.useEffect(()=>{// Registered unconditionally — never behind a ref guard, or one null\n// ref takes the listeners down with it.\nwindow.addEventListener(\"resize\",measure);const fonts=document.fonts;if(fonts?.ready)fonts.ready.then(()=>measure()).catch(()=>{});// Slotted content can mount a frame or two after this effect.\nconst timers=[window.setTimeout(measure,60),window.setTimeout(measure,250),window.setTimeout(measure,800)];const bar=getBar();const observer=bar?new ResizeObserver(measure):null;if(bar&&observer)observer.observe(bar);return()=>{window.removeEventListener(\"resize\",measure);timers.forEach(id=>window.clearTimeout(id));observer?.disconnect();};},[measure,getBar,totalItems]);// The pill's FIRST appearance must never animate.\n//\n// Slotted Framer content mounts on its own schedule, so the first layout\n// pass often finds no nav items at all and the pill stays hidden. When the\n// slots do arrive, measure() sees a new active item, bumps the move counter\n// to 1 — and 1 !== settledMove (0), so that first placement was treated as\n// a MOVE and sprung in from x:0, width:0. That is the pill \"appearing a\n// second later\": it was growing out of the bar's left edge the whole time.\n//\n// `placed` gates on the pill actually becoming visible rather than on a\n// timer, so it is correct whenever the slots turn up.\nconst[placed,setPlaced]=React.useState(false);React.useEffect(()=>{if(placed||!pill?.visible)return;setPlaced(true);setSettledMove(pill.move);},[placed,pill?.visible,pill?.move]);/* ---------------- label width reservation ---------------- */// Every label is sized to the width it will have WHEN ACTIVE, and that\n// width is locked in. Otherwise selecting a tab makes its label bolder and\n// therefore wider, the row's total width changes, and a centred bar visibly\n// slides. Measured at 6px of travel between two tabs before this.\nReact.useLayoutEffect(()=>{if(labelStyle.enabled===false||labelStyle.reserve===false)return;const nav=navRef.current;const bar=getBar();if(!nav||!bar)return;const els=Array.from(bar.querySelectorAll(\"[data-nav-item]:not([data-nav-cta])\"));if(!els.length)return;const apply=()=>{// Release, force every label to the active weight, read, restore.\n// All inside one layout effect, so nothing is painted mid-way.\nels.forEach(el=>el.style.minWidth=\"\");nav.classList.add(\"gnb-measuring\");const widths=els.map(el=>el.getBoundingClientRect().width);nav.classList.remove(\"gnb-measuring\");els.forEach((el,i)=>{el.style.minWidth=`${Math.ceil(widths[i]*100)/100}px`;});};apply();const fonts=document.fonts;if(fonts?.ready)fonts.ready.then(apply).catch(()=>{});return()=>els.forEach(el=>el.style.minWidth=\"\");},[labelStyle.enabled,labelStyle.reserve,labelStyle.activeWeight,totalItems,isMobile,menuOpen,getBar]);/* ---------------- optimistic activation ---------------- */React.useEffect(()=>{setOptimistic(-1);},[locationKey]);React.useEffect(()=>{const nav=navRef.current;if(!nav)return;let timer=0;// The pill is claimed on RELEASE, not on press.\n//\n// A press is only a promise of a click. Drag off the item, scroll from\n// it, or let go somewhere else and no click ever arrives — but the\n// pill had already moved, so it sat on a page you never went to until\n// a safety timer pulled it back. Release-over-the-same-item is the\n// earliest moment a tap is provably a tap, and it still lands well\n// before the navigation does, which is all the optimism ever bought.\n// A drag is simply not a gesture this bar responds to any more.\nlet armedEl=null;let armedIdx=-1;let startX=0;let startY=0;let travelled=false;const disarm=()=>{armedEl=null;armedIdx=-1;travelled=false;};const itemFrom=e=>e.target?.closest?.(\"[data-nav-item]\");const onDown=e=>{const el=itemFrom(e);if(!el||el.hasAttribute(\"data-nav-cta\"))return disarm();if(!el.querySelector(\"a[href]\"))return disarm();const idx=Number(el.dataset.navIndex??-1);if(idx<0)return disarm();armedEl=el;armedIdx=idx;startX=e.clientX;startY=e.clientY;travelled=false;};// Slop for an ordinary click, which on a mouse almost never travels\n// this far while held. Past it, the gesture is a drag or a scroll.\nconst onMove=e=>{if(!armedEl||travelled)return;if(Math.hypot(e.clientX-startX,e.clientY-startY)>10)travelled=true;};const onUp=e=>{if(!armedEl)return;const isTap=!travelled&&itemFrom(e)===armedEl;const idx=armedIdx;disarm();if(!isTap)return;setOptimistic(idx);// Safety net: if the navigation never lands, hand authority back to\n// the URL rather than staying wrong forever.\nwindow.clearTimeout(timer);timer=window.setTimeout(()=>setOptimistic(-1),2e3);};nav.addEventListener(\"pointerdown\",onDown,true);// On window, not the bar: a drag very often ends outside it, and those\n// are exactly the releases that must not be missed.\nwindow.addEventListener(\"pointermove\",onMove,true);window.addEventListener(\"pointerup\",onUp,true);window.addEventListener(\"pointercancel\",disarm,true);return()=>{nav.removeEventListener(\"pointerdown\",onDown,true);window.removeEventListener(\"pointermove\",onMove,true);window.removeEventListener(\"pointerup\",onUp,true);window.removeEventListener(\"pointercancel\",disarm,true);window.clearTimeout(timer);};},[totalItems]);// Dismissing the sheet.\n//\n// Done on pointer release rather than left to the click that follows,\n// because that click does not always arrive: tapping the row for the page\n// you are ALREADY on is caught by the same-page handler, which stops\n// propagation in the capture phase so React never sees it — and\n// locationKey does not change either, since you have not gone anywhere.\n// The sheet stayed open. A release is a release.\n//\n// There is deliberately NO click-forwarding here any more. An earlier\n// version forwarded taps from the row to the anchor to fix the dead\n// padding around Framer's link; that is now done natively by the stretched\n// ::after in the stylesheet, so forwarding was redundant — and a mechanism\n// that synthesises a second click on a link is exactly the kind of thing\n// worth deleting rather than keeping \"just in case\".\nReact.useEffect(()=>{const root=navRef.current;if(!root||!menuOpen)return;let inSheet=false;let downX=0;let downY=0;const onDown=e=>{const el=e.target;inSheet=!!(el&&typeof el.closest===\"function\"&&el.closest(\".gnb-menu\"));downX=e.clientX;downY=e.clientY;};const onUp=e=>{const was=inSheet;inSheet=false;if(!was)return;// A drag or a scroll that began on a row is not a tap.\nif(Math.abs(e.clientX-downX)>10)return;if(Math.abs(e.clientY-downY)>10)return;// Deferred by a frame, deliberately. pointerup fires BEFORE click,\n// so dismissing synchronously unmounts the row — and its anchor —\n// while the click meant for Framer's router is still in flight; the\n// router gets a detached node and the route transition dies, which\n// is the blank page. Dropping the dismissal entirely is not the\n// answer either: locationKey does not update reliably, so the sheet\n// then stays open after navigating. rAF runs after the click has\n// been dispatched, so the anchor is alive when it matters and the\n// sheet still closes on release.\nrequestAnimationFrame(()=>setMenuOpen(false));};const onCancel=()=>{inSheet=false;};root.addEventListener(\"pointerdown\",onDown,true);root.addEventListener(\"pointerup\",onUp,true);root.addEventListener(\"pointercancel\",onCancel,true);return()=>{root.removeEventListener(\"pointerdown\",onDown,true);root.removeEventListener(\"pointerup\",onUp,true);root.removeEventListener(\"pointercancel\",onCancel,true);};},[menuOpen]);// Clicking the page you are already on. Framer's router still commits a\n// navigation for it, which tears the page down and rebuilds it — a reload\n// for no destination. Caught in the CAPTURE phase so the event never\n// reaches React's root listener, where Framer's own click handler lives;\n// stopping it in the bubble phase would be too late.\nReact.useEffect(()=>{if(samePage===\"allow\")return;// Bound to the <nav>, not the bar, so it also covers the mobile\n// dropdown — which is a sibling of the bar, not a child.\nconst root=navRef.current;if(!root)return;const onClick=event=>{if(event.defaultPrevented||event.button!==0)return;if(event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return;const target=event.target;const anchor=target?.closest?.(\"a[href]\");if(!anchor||!root.contains(anchor))return;if(anchor.target&&anchor.target!==\"_self\")return;if(!linkMatchesLocation(anchor.getAttribute(\"href\")||undefined))return;event.preventDefault();event.stopPropagation();// This handler swallows the event so it never reaches React's root\n// listener, which is where the sheet's own dismiss lives. Anything\n// that depended on that click has to be done here explicitly.\nsetMenuOpen(false);if(samePage===\"top\"){window.scrollTo({top:0,behavior:\"smooth\"});}};root.addEventListener(\"click\",onClick,true);return()=>root.removeEventListener(\"click\",onClick,true);},[samePage,locationKey,totalItems]);/* ---------------- springs ---------------- */// Layout properties must not overshoot: a width that springs past its\n// target makes the bar breathe, which reads as horizontal jitter.\nconst layoutSpring={type:\"spring\",stiffness:360,damping:36,mass:.75};// Two ways to describe the same motion. \"time\" matches Framer's Transition\n// panel exactly (Based On: Time → Duration + Bounce), so a curve tuned on\n// the canvas transfers by copying two numbers.\nconst segmentSpring=segmentStyle.springMode===\"physics\"?{type:\"spring\",stiffness:segmentStyle.stiffness,damping:segmentStyle.damping,mass:segmentStyle.mass}:{type:\"spring\",duration:segmentStyle.duration??.32,bounce:segmentStyle.bounce??.15};// Settled by the clock, never by onAnimationComplete. That event also fires\n// when an animation is REPLACED, and the pill is retargeted constantly\n// mid-flight (the active label changes weight, the bar resizes, measure\n// runs again). A completion event from the superseded animation flipped the\n// transition to duration-0 while the pill was still travelling, which read\n// as a teleport — and only in whichever direction happened to trigger the\n// resize at the wrong moment.\nconst pillMove=pill?.move??0;React.useEffect(()=>{if(!pillMove||pillMove===settledMove)return;const ms=(segmentStyle.duration??.32)*1e3+120;const id=window.setTimeout(()=>setSettledMove(pillMove),ms);return()=>window.clearTimeout(id);},[pillMove,settledMove,segmentStyle.duration]);const pillTransition=reduceMotion||!placed||!pill||pill.move===settledMove?{duration:0}:segmentSpring;/* ---------------- derived styles ---------------- */const barShadow=edgeShadow(edgeStyle,false);const pillShadow=edgeShadow(pillEdgeStyle,true);// brightness and saturate take a calc() reading the tint signal, so the\n// whole filter eases with it rather than being recomputed per frame in JS.\nconst glass=tint.enabled===false?`blur(${blur}px) brightness(${glassBrightness}) saturate(${glassSaturation}) contrast(${glassContrast})`:`blur(${blur}px)`+` brightness(calc(${glassBrightness} + var(--gnb-tint, 0) * ${tint.brightnessBoost}))`+` saturate(calc(${glassSaturation} + var(--gnb-tint, 0) * ${tint.saturationBoost}))`+` contrast(${glassContrast})`;// Mobile always spans its frame; the dropdown aligns to the bar's edges.\nconst barCSSWidth=isMobile?\"100%\":widthMode===\"fill\"?\"100%\":widthMode===\"fixed\"?barWidth:\"max-content\";// \"Spread\" = the bar is wider than its content, so the leftover space has\n// to be distributed rather than left hanging off one end.\nconst spread=isMobile||widthMode!==\"fit\";const groupStyle={display:\"flex\",alignItems:\"center\",gap:linkGap,minWidth:0,position:\"relative\",zIndex:2,flexShrink:0};// data-nav-index is the item's LOGICAL position and stays constant whether\n// the item is rendered in the desktop bar or the mobile panel.\n// data-nav-item is what measurement queries for.\nconst slot=(node,key,index,extra,isCta)=>/*#__PURE__*/_jsx(\"div\",{\"data-nav-item\":\"\",\"data-nav-index\":index,\"data-nav-cta\":isCta?\"\":undefined,\"data-active\":index===activeIndex?\"\":undefined,style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,...extra},children:node},key);const ctaIndex=links.length;// The built-in wordmark is a raw <a>, and a raw <a> cannot reach Framer's\n// router — that is the whole reason the nav items are slots. So rather than\n// navigate itself, it hands the click to a Framer Link that already points\n// at the same destination: one of the nav items almost always does (the\n// home tab). Framer's own handler then routes client-side and this header\n// stays mounted. Only if no such link exists does the browser do a full\n// document load, which is the correct fallback rather than a broken link.\n//\n// Scoped to <nav> deliberately. Forwarding a click to an arbitrary anchor\n// elsewhere on the page could fire handlers that have nothing to do with\n// navigation; every anchor in here is known to be a nav link.\nconst onWordmarkClick=React.useCallback(event=>{if(event.defaultPrevented||event.button!==0)return;if(event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return;const root=navRef.current;if(!root||typeof window===\"undefined\")return;const self=event.currentTarget;let want;try{want=normalizePath(new URL(homeHref||\"/\",window.location.href).pathname);}catch{return;}const proxy=Array.from(root.querySelectorAll(\"a[href]\")).find(a=>{if(a===self||a.contains(self))return false;if(a.target&&a.target!==\"_self\")return false;// Never forward into the mobile sheet. pointerup already fired\n// setMenuOpen(false), so by the time this click runs the sheet\n// is mid-exit and about to unmount — clicking an anchor React\n// is tearing down hands the router a dying node and the route\n// transition dies with it. No proxy here means the browser does\n// a full document load instead, which is the correct fallback.\nif(a.closest(\".gnb-menu\"))return false;try{const u=new URL(a.getAttribute(\"href\")||\"\",window.location.href);if(u.origin!==window.location.origin)return false;return normalizePath(u.pathname)===want;}catch{return false;}});// No proxy: do NOT fall through to the browser. Framer's router\n// intercepts the click on this raw <a> first and pushes a history\n// entry with no internal routeId, so it cannot resolve a route --\n// it renders nothing and the previous page's DOM is left mounted at\n// zero height. That is the blank page. Measured: url becomes \"/\",\n// body.scrollHeight 0, document.title still the old page, no error.\n// A real document load is the correct fallback, so ask for one\n// explicitly rather than hoping the browser gets there first.\n// This is the common path on mobile, where the nav links live in\n// the sheet and there is no proxy whenever it is closed.\nif(!proxy){event.preventDefault();window.location.assign(homeHref||\"/\");return;}event.preventDefault();proxy.click();},[homeHref]);const wordmark=/*#__PURE__*/_jsx(\"div\",{\"data-nav-wordmark\":\"\",// Pointer events rather than :active. Safari on iOS does not\n// reliably match :active on a link, so a CSS-only press reads on\n// desktop and does nothing on a phone — which is exactly where a\n// tap affordance is doing the most work. pointercancel matters as\n// much as pointerup: the browser fires it the moment a press turns\n// into a scroll, and without it the logo would stay squashed for\n// the rest of the gesture.\n\"data-pressed\":wordmarkPressed?\"\":undefined,onPointerDown:()=>setWordmarkPressed(true),onPointerUp:()=>setWordmarkPressed(false),onPointerCancel:()=>setWordmarkPressed(false),onPointerLeave:()=>setWordmarkPressed(false),style:{display:\"flex\",alignItems:\"center\",flexShrink:0,position:\"relative\",zIndex:2,// Right margin only. The bar's own paddingLeft handles the\n// gap to the edge, so the wordmark needs no left margin of its\n// own — one source of truth per gap.\nmarginRight:wordmarkGap,height:wordmarkHeight,justifySelf:spread?\"start\":undefined},children:logoNode??/*#__PURE__*/_jsx(\"a\",{href:homeHref||\"/\",\"aria-label\":\"Bitrig home\",onClick:onWordmarkClick,style:{display:\"flex\",alignItems:\"center\",height:\"100%\",color:\"inherit\",textDecoration:\"none\"},children:/*#__PURE__*/_jsx(Wordmark,{height:wordmarkHeight})})});return /*#__PURE__*/_jsxs(\"nav\",{ref:navRef,className:instanceClass,\"aria-label\":\"Primary navigation\",// A nav link is still an <a>, and the browser will happily start a\n// native link-drag from one — ghost image, drop target, the lot.\n// Nothing in a nav bar is draggable, so refuse it at the root\n// rather than item by item.\nonDragStart:e=>e.preventDefault(),style:{...style,// Full width on mobile so the bar can span the viewport and the\n// dropdown can align to its edges.\nwidth:isMobile?\"100%\":undefined,height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                  @property --gnb-wght {\n                    syntax: \"<number>\";\n                    inherits: true;\n                    initial-value: 400;\n                  }\n                  /* Registered, so the browser can interpolate it. An unregistered\n                     custom property is just a string and jumps between values. */\n                  @property --gnb-tint {\n                    syntax: \"<number>\";\n                    inherits: true;\n                    initial-value: 0;\n                  }\n                  .${instanceClass} {\n                    --gnb-tint: 0;\n                    transition: --gnb-tint ${tint.duration}s cubic-bezier(0.22, 1, 0.36, 1);\n                  }\n                  @media (prefers-reduced-motion: reduce) {\n                    .${instanceClass} { transition-duration: 0.01ms; }\n                  }\n                  .${instanceClass} .gnb-spec {\n                    position: absolute;\n                    inset: 0;\n                    border-radius: inherit;\n                    pointer-events: none;\n                  }\n                  /* Without mask-composite the ring would paint as a solid\n                     gradient over the whole surface, so the effect is opted\n                     into only where it can actually be clipped to the rim. */\n                  @supports ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {\n                    .${instanceClass} .gnb-spec {\n                      padding: var(--gnb-w);\n                      background: var(--gnb-grad);\n                      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n                      -webkit-mask-composite: xor;\n                      mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n                      mask-composite: exclude;\n                    }\n                  }\n                  /* Touch hardening. Every one of these is invisible until you\n                     hold a real phone: the grey flash on tap, the 300ms delay\n                     browsers keep for double-tap-to-zoom, and the text selection\n                     you get from resting a thumb on a label. */\n                  .${instanceClass} [data-nav-item],\n                  .${instanceClass} .gnb-mrow,\n                  .${instanceClass} .gnb-burger {\n                    -webkit-tap-highlight-color: transparent;\n                    touch-action: manipulation;\n                    -webkit-user-select: none;\n                    user-select: none;\n                  }\n                  /* Not only cosmetic. Safari decides whether an element is\n                     \"interactive\" — and therefore whether it gets pointer and\n                     click events at all — partly from this. A bare div with no\n                     cursor swallows taps on iOS. */\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]),\n                  .${instanceClass} .gnb-mrow {\n                    cursor: pointer;\n                  }\n                  .${instanceClass}.gnb-measuring [data-nav-item]:not([data-nav-cta]) a,\n                  .${instanceClass}.gnb-measuring [data-nav-item]:not([data-nav-cta]) a * {\n                    --gnb-wght: ${labelStyle.activeWeight} !important;\n                    transition: none !important;\n                  }\n                  .${instanceClass} [data-nav-bar],\n                  .${instanceClass} .gnb-menu {\n                    -webkit-font-smoothing: antialiased;\n                  }\n                  /* Vertical half of the hit area. The pill is Pill Height\n                     tall, but a Framer link's own frame is only as tall as its\n                     text — measured 15px on the live site — so the top and\n                     bottom bands INSIDE the pill were not the item at all.\n                     Growing the item to the pill's height costs nothing: the\n                     pill takes its height from Pill Height and its centre from\n                     the item's centre, both unchanged by this.\n                     The HORIZONTAL half cannot be fixed in CSS. See the click\n                     delegation in the effect below for why. */\n                  .${instanceClass} [data-nav-bar] [data-nav-item]:not([data-nav-cta]) {\n                    min-height: ${segmentStyle.height}px;\n                  }\n                  .${instanceClass} .gnb-mrow {\n                    min-height: 44px;\n                  }\n\n                  /* ---- the whole target is the link, natively ----\n                     The anchor Framer renders is tiny compared to what looks\n                     clickable: measured on the published site, 47.9px of a\n                     71.9px item, because the Link component carries 12px of its\n                     own padding on an intermediate frame. It cannot be\n                     stretched: it is five levels down, so a child combinator\n                     matches nothing, and it is display:inline inside a <p>.\n                     Forwarding the click in JS worked on desktop and did\n                     nothing on iOS, because Safari will not dispatch click to a\n                     div it considers non-interactive; moving to pointerup did\n                     not fix it on a real device either.\n                     So: give the anchor an absolutely positioned ::after that\n                     fills the whole target. The pseudo-element belongs to the\n                     anchor, so a tap on it activates the anchor itself — a real\n                     native link hit, no synthetic events, nothing for a browser\n                     to disagree about. (This is the \"stretched link\" pattern.)\n                     Verified on bitrig.com: elementFromPoint at all four\n                     extremes returns the <a>, where it previously returned\n                     DIV.framer-9RBOF.\n                     Every wrapper in between measured position:relative, which\n                     would capture the ::after as its containing block — hence\n                     forcing them static. In the bar the containing block is the\n                     item; in the sheet it is the ROW, so the row's padding ring\n                     is covered too. */\n                  .${instanceClass} [data-nav-bar] [data-nav-item]:not([data-nav-cta]) {\n                    position: relative !important;\n                  }\n                  .${instanceClass} .gnb-mrow {\n                    position: relative !important;\n                  }\n                  .${instanceClass} .gnb-menu [data-nav-item]:not([data-nav-cta]) {\n                    position: static !important;\n                  }\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) > *,\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) > * > *,\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) > * > * > *,\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) > * > * > * > *,\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) > * > * > * > * > * {\n                    position: static !important;\n                  }\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) a::after {\n                    content: \"\";\n                    position: absolute;\n                    inset: 0;\n                    z-index: 1;\n                  }\n                  /* In the sheet the button is the primary action, not a chip,\n                     so it takes the full row width and the row height rather\n                     than the bar's pill height. Framer's own width on the slot\n                     has to be overridden or it stays chip-sized. */\n                  .${instanceClass} .gnb-mcta,\n                  .${instanceClass} .gnb-mcta [data-nav-cta],\n                  .${instanceClass} .gnb-mcta [data-nav-cta] > a {\n                    width: 100% !important;\n                    max-width: none !important;\n                    box-sizing: border-box;\n                  }\n                  .${instanceClass} .gnb-mcta [data-nav-cta] > a {\n                    height: ${mob.rowPadY*2+20}px;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                  }\n                  /* Label size. Emitted AFTER forcedFontCSS below would be too\n                     late to read, so it is set here and the cascade order is\n                     what makes it win: same selector, same !important, later\n                     declaration. The sheet gets its own size because a 15px\n                     row is a poor touch target label. */\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) a,\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) a * {\n                    font-size: ${labelStyle.size}px !important;\n                  }\n                  .${instanceClass} .gnb-menu [data-nav-item]:not([data-nav-cta]) a,\n                  .${instanceClass} .gnb-menu [data-nav-item]:not([data-nav-cta]) a * {\n                    font-size: ${mob.rowSize}px !important;\n                  }\n                  /* Belt to the onDragStart braces: WebKit wants the\n                     property as well as the cancelled event, and dropping text\n                     selection removes the other way a press becomes a drag. */\n                  .${instanceClass} [data-nav-item],\n                  .${instanceClass} [data-nav-item] a,\n                  .${instanceClass} [data-nav-item] img,\n                  .${instanceClass} [data-nav-wordmark] a {\n                    -webkit-user-drag: none;\n                    -webkit-user-select: none;\n                    user-select: none;\n                  }\n                  /* Wordmark Size drives a slotted logo too, not just the\n                     built-in SVG. A Framer Link wrapping an image or SVG brings\n                     its own fixed dimensions, so without this the control would\n                     silently do nothing the moment you filled the slot — and\n                     the only way to resize would be to leave the component.\n                     height on the graphic with width:auto keeps its own aspect\n                     ratio, so nothing can stretch. */\n                  .${instanceClass} [data-nav-wordmark] img,\n                  .${instanceClass} [data-nav-wordmark] svg,\n                  .${instanceClass} [data-nav-wordmark] picture {\n                    height: 100% !important;\n                    width: auto !important;\n                    max-width: none !important;\n                    object-fit: contain;\n                  }\n                  .${instanceClass} [data-nav-wordmark] {\n                    color: ${wordmarkColor};\n                    color: ${tintedColor(wordmarkColor,tint.wordmarkLighten)};\n                    -webkit-tap-highlight-color: transparent;\n                    touch-action: manipulation;\n                    -webkit-user-select: none;\n                    user-select: none;\n                    /* Declared on the wrapper, not inside the hover rule, so the\n                       fade is eased on the way OUT as well as in. A transition\n                       that only exists while hovered snaps back on exit. */\n                    transition: opacity 0.18s cubic-bezier(0.22, 1, 0.36, 1),\n                      transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);\n                    transform-origin: center center;\n                  }\n                  /* Hover-capable pointers only. On touch, :hover sticks after a\n                     tap, so the wordmark would stay faded until you tapped\n                     somewhere else. */\n                  @media (hover: hover) and (pointer: fine) {\n                    .${instanceClass} [data-nav-wordmark]:hover {\n                      opacity: ${wordmarkHoverOpacity};\n                    }\n                  }\n                  /* Press reads on touch, where hover never fires at all. */\n                  .${instanceClass} [data-nav-wordmark]:active {\n                    opacity: ${Math.max(0,wordmarkHoverOpacity-.12).toFixed(2)};\n                    transition-duration: 0.06s;\n                  }\n                  /* Press dips fast and releases slow. Matching the two reads\n                     as mush; the asymmetry is what makes it feel like a button\n                     taking weight and then letting go. Transform only, so the\n                     bar never reflows and the pill's measurements stay put. */\n                  .${instanceClass} [data-nav-wordmark][data-pressed] {\n                    transform: scale(${wordmarkPressScale});\n                    transition: opacity 0.06s cubic-bezier(0.22, 1, 0.36, 1),\n                      transform 0.09s cubic-bezier(0.4, 0, 0.2, 1);\n                  }\n                  @media (prefers-reduced-motion: reduce) {\n                    .${instanceClass} [data-nav-wordmark] {\n                      transition-duration: 0.01ms;\n                    }\n                    /* Opacity still confirms the tap; the movement is what\n                       reduced motion is asking us to drop. */\n                    .${instanceClass} [data-nav-wordmark],\n                    .${instanceClass} [data-nav-wordmark][data-pressed] {\n                      transform: none;\n                    }\n                  }\n                  ${ctaMatchPill===false?\"\":`\n                  /* The bar carries the Font control's size and line-height as\n                     an inline style, and typography inherits — so a CTA slot\n                     whose own text does not pin its size picks the bar's up and\n                     auto-sizes to something arbitrary. Measured on a build\n                     where the slot's text lost its own line-height: the button\n                     went 36 -> 31 (15px line-height + 8px padding either side)\n                     against a 36px pill, with no height rule anywhere to\n                     explain it. Pinning the height makes the button's box\n                     independent of what the slot's text does, so it stays\n                     concentric with the pill. */\n                  .${instanceClass} [data-nav-bar] [data-nav-cta] {\n                    height: ${segmentStyle.height}px;\n                    box-sizing: border-box;\n                  }\n                  .${instanceClass} [data-nav-bar] [data-nav-cta] > a {\n                    height: 100%;\n                    box-sizing: border-box;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                    padding-top: 0;\n                    padding-bottom: 0;\n                  }`}\n                  ${cornerShape?`\n                  /* corner-shape is not inherited, so every element painting its\n                     own box needs it: the bar, the glass layer, the specular rim\n                     (whose mask must follow the same outline or the ring\n                     detaches at the corners), the pill, the CTA, and the mobile\n                     sheet and its rows. */\n                  .${instanceClass} [data-nav-bar],\n                  .${instanceClass} .gnb-glass,\n                  .${instanceClass} .gnb-spec,\n                  .${instanceClass} [data-nav-pill],\n                  .${instanceClass} [data-nav-cta] a,\n                  .${instanceClass} .gnb-menu,\n                  .${instanceClass} .gnb-mrow {\n                    corner-shape: ${cornerShape};\n                  }`:\"\"}\n                  ${labelStyle.enabled===false?\"\":`\n                  /* Framer pins the variable axis with font-variation-settings,\n                     and that OVERRIDES font-weight — measured: font-weight 900\n                     changed the rendered text width by 0px, the wght axis by\n                     3.5px. So the weight has to be driven through the axis or it\n                     does not render at all. font-variation-settings cannot be\n                     interpolated directly in a way we can rely on, so the number\n                     lives in a registered custom property, which transitions\n                     like any other number. */\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) a,\n                  .${instanceClass} [data-nav-item]:not([data-nav-cta]) a * {\n                    ${labelStyle.takeover===false?\"\":forcedFontCSS(font)}\n                    text-decoration: none !important;\n                    --gnb-wght: ${labelStyle.idleWeight};\n                    font-variation-settings: \"wght\" var(--gnb-wght) !important;\n                    font-weight: var(--gnb-wght) !important;\n                    color: ${labelStyle.color} !important;\n                    color: ${tintedColor(labelStyle.color,tint.labelLighten)} !important;\n                    transition:\n                      color ${labelStyle.duration}s cubic-bezier(0.22, 1, 0.36, 1),\n                      --gnb-wght ${labelStyle.duration}s cubic-bezier(0.22, 1, 0.36, 1);\n                  }\n                  .${instanceClass} [data-nav-item][data-active]:not([data-nav-cta]) a,\n                  .${instanceClass} [data-nav-item][data-active]:not([data-nav-cta]) a * {\n                    --gnb-wght: ${labelStyle.activeWeight};\n                    /* Deliberately NOT tinted. The active label sits on the\n                       pill, which is a near-opaque white fill — the backdrop\n                       cannot reach it, so lowering its alpha produces the fade\n                       with none of the tint that justifies the fade elsewhere.\n                       Measured: the selected label was dropping from 0.92 to\n                       0.64 alpha for no visible colour pickup at all. */\n                    color: ${labelStyle.activeColor} !important;\n                  }\n                  @media (hover: hover) and (pointer: fine) {\n                    .${instanceClass} [data-nav-item]:not([data-active]):not([data-nav-cta]):hover a,\n                    .${instanceClass} [data-nav-item]:not([data-active]):not([data-nav-cta]):hover a * {\n                      color: ${labelStyle.hoverColor} !important;\n                      color: ${tintedColor(labelStyle.hoverColor,tint.labelLighten)} !important;\n                    }\n                  }`}\n                `}),/*#__PURE__*/_jsxs(\"div\",{\"data-nav-bar\":\"\",style:{position:\"relative\",width:barCSSWidth,maxWidth:\"100%\",height:\"100%\",// Fit hugs its content, so the three groups sit side by side\n// and the two gap controls are what you see. Any other width\n// has slack to distribute, and flex would hand all of it to\n// one side — so it switches to a 1fr/auto/1fr grid, which\n// lands the links on the bar's true centre without measuring\n// anything. The gaps stay applied as margins; they simply\n// stop being the thing that decides the spacing.\ndisplay:spread?\"grid\":\"flex\",gridTemplateColumns:spread?\"1fr auto 1fr\":undefined,alignItems:\"center\",// In landscape the notch eats into the left/right edges, so\n// the bar's own padding has to yield to the safe area.\npaddingLeft:isMobile?`max(${paddingLeft}px, env(safe-area-inset-left))`:paddingLeft,paddingRight:isMobile?`max(${paddingRight}px, env(safe-area-inset-right))`:paddingRight,boxSizing:\"border-box\",borderRadius:cornerRadius,// No CSS border anywhere: the edge is entirely shadow\n// layers, so it composites with whatever is behind it.\nborder:0,background:\"transparent\",boxShadow:barShadow,color:textColor,// Visible by default: an item taller than the bar's inner\n// area gets its corners shaved off by the bar's own radius\n// otherwise. The glass layer rounds itself via\n// borderRadius: inherit, so it does not need clipping here.\noverflow:clipContent?\"hidden\":\"visible\",...font},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,className:\"gnb-glass\",style:{position:\"absolute\",inset:0,zIndex:0,pointerEvents:\"none\",borderRadius:\"inherit\",background:[// The veil. An extra sheet of white whose opacity\n// rides the tint signal, so the bar physically\n// lightens over a saturated section instead of\n// letting the colour soak through it.\n`linear-gradient(rgb(255 255 255 / calc(var(--gnb-tint, 0) * ${tint.veil})), rgb(255 255 255 / calc(var(--gnb-tint, 0) * ${tint.veil})))`,`radial-gradient(120% 180% at 50% -80%, rgba(255,255,255,0.9) 0%, transparent 66%)`,`linear-gradient(180deg, ${glassHighlight} 0%, rgba(255,255,255,0.10) 46%, rgba(255,255,255,0.20) 100%)`,`linear-gradient(${background}, ${background})`].join(\", \"),backdropFilter:glass,WebkitBackdropFilter:glass}}),/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":true,\"data-nav-pill\":\"\",initial:false,animate:{x:pill?.x??0,y:pill?.y??0,width:pill?.width??0,height:pill?.height??segmentStyle.height,opacity:pill?.visible?1:0},transition:pillTransition,style:{position:\"absolute\",top:0,left:0,zIndex:1,boxSizing:\"border-box\",borderRadius:999,border:0,background:segmentStyle.background,boxShadow:pillShadow,pointerEvents:\"none\"},children:pillSpecStyle.enabled!==false&&/*#__PURE__*/_jsx(\"div\",{className:\"gnb-spec\",style:{\"--gnb-w\":`${pillSpecStyle.width}px`,\"--gnb-grad\":specularGradient(pillSpecStyle)}})}),specStyle.enabled!==false&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,className:\"gnb-spec\",style:{zIndex:4,\"--gnb-w\":`${specStyle.width}px`,\"--gnb-grad\":specularGradient(specStyle)}}),wordmark,isMobile?/*#__PURE__*/_jsx(\"div\",{}):/*#__PURE__*/_jsx(\"div\",{style:{...groupStyle,justifySelf:spread?\"center\":undefined},children:links.map((node,i)=>slot(node,`i-${i}`,i))}),/*#__PURE__*/_jsxs(\"div\",{style:{...groupStyle,// Extra breathing room before the button, on top of Item\n// Gap. A margin rather than a wider gap, so the links\n// stay evenly spaced among themselves.\nmarginLeft:isMobile?0:ctaGap,justifySelf:spread?\"end\":undefined},children:[(!isMobile||mob.ctaPlacement===\"bar\")&&cta.map((node,i)=>slot(node,`c-${i}`,ctaIndex+i,undefined,true)),isMobile&&/*#__PURE__*/_jsx(motion.button,{type:\"button\",className:\"gnb-burger\",\"aria-label\":menuOpen?\"Close menu\":\"Open menu\",\"aria-expanded\":menuOpen,onClick:()=>setMenuOpen(v=>!v),whileTap:reduceMotion?undefined:{scale:.9},transition:{type:\"spring\",duration:.2,bounce:0},style:{appearance:\"none\",background:\"transparent\",border:0,// 44px is the smallest target a thumb hits\n// reliably; the icon stays 18px inside it.\nminWidth:44,minHeight:44,padding:0,margin:0,marginLeft:2,cursor:\"pointer\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",color:mob.burgerColor},children:/*#__PURE__*/_jsx(Burger,{open:menuOpen,size:mob.burgerSize,color:mob.burgerColor,reduceMotion:!!reduceMotion})})]})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:isMobile&&menuOpen&&/*#__PURE__*/_jsxs(motion.div,{className:\"gnb-menu\",onClick:()=>setMenuOpen(false),// Exit on opacity + blur rather than position. Sliding\n// out draws the eye to something that is leaving;\n// dissolving lets it go quietly.\ninitial:{opacity:0,y:-8,filter:\"blur(4px)\"},animate:{opacity:1,y:0,filter:\"blur(0px)\"},exit:{opacity:0,filter:\"blur(4px)\",scale:.985},transition:reduceMotion?{duration:0}:layoutSpring,style:{position:\"absolute\",top:\"100%\",left:0,right:0,marginTop:mob.gap,zIndex:5,boxSizing:\"border-box\",padding:mob.padding,display:\"flex\",flexDirection:\"column\",gap:mob.rowGap,// Concentric: outer radius = inner radius + padding.\n// The rows are pills, so their radius is half their\n// height. Anything else leaves the corners looking\n// like two unrelated curves stacked together.\nborderRadius:mob.padding+(mob.rowPadY*2+20)/2,// A long menu scrolls itself instead of chaining to\n// the page and triggering pull-to-refresh.\nmaxHeight:\"min(70vh, 70dvh)\",overflowY:\"auto\",overscrollBehavior:\"contain\",WebkitOverflowScrolling:\"touch\",border:0,boxShadow:barShadow,color:textColor,backdropFilter:glass,WebkitBackdropFilter:glass,background:[`linear-gradient(180deg, ${glassHighlight} 0%, rgba(255,255,255,0.10) 46%, rgba(255,255,255,0.20) 100%)`,`linear-gradient(${background}, ${background})`].join(\", \"),...font},children:[links.map((node,i)=>{const active=i===activeIndex;return /*#__PURE__*/_jsx(\"div\",{className:\"gnb-mrow\",style:{display:\"flex\",alignItems:\"center\",padding:`${mob.rowPadY}px ${mob.rowPadX}px`,// border-box, or the 44px touch floor\n// in the stylesheet applies to the\n// CONTENT box and the row comes out\n// 44 + both paddings tall. Measured 68.\nboxSizing:\"border-box\",borderRadius:999,background:active?mob.activeFill:\"transparent\",border:0,boxShadow:active?\"inset 0 0 0 1px rgba(0,0,0,0.04)\":\"none\"},children:slot(node,`mi-${i}`,i,{width:\"100%\",justifyContent:\"flex-start\"})},`m-${i}`);}),mob.ctaPlacement!==\"bar\"&&cta.map((node,i)=>/*#__PURE__*/_jsx(\"div\",{className:\"gnb-mcta\",style:{display:\"flex\",// A little air above it, so the primary\n    // action reads as its own thing rather\n    // than a sixth nav row.\n    marginTop:mob.rowGap+6},children:slot(node,`mci-${i}`,ctaIndex+i,{width:\"100%\"},true)},`mc-${i}`))]},\"menu\")})]});}/* ---------------- wordmark ---------------- */// Inlined rather than loaded as an image: an <img> is a second network round\n// trip that lands after first paint, so the bar's width would change once the\n// wordmark arrived — reintroducing exactly the shift this component exists to\n// remove. Inline SVG is measured on the first layout pass with everything else.\n// fill=\"currentColor\" so a single colour control drives it.\nconst WORDMARK_RATIO=3599/730;function Wordmark({height}){return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 3599 730\",role:\"img\",\"aria-label\":\"Bitrig\",focusable:\"false\",style:{height,width:height*WORDMARK_RATIO,display:\"block\",flexShrink:0},children:/*#__PURE__*/_jsx(\"path\",{fill:\"currentColor\",d:\"M2139.49 284.873C2131.38 298.398 2119.54 308.54 2104 315.286C2088.45 322.048 2069.19 325.423 2046.22 325.423H1913.71C1908.51 325.423 1904.29 321.204 1904.29 316.003V158.446C1904.29 153.244 1908.51 149.025 1913.71 149.025H2046.22C2081.35 149.025 2107.71 156.123 2125.3 170.316C2142.86 184.509 2151.65 206.144 2151.65 235.197C2151.65 254.808 2147.6 271.36 2139.49 284.873ZM2207.32 376.435C2217.67 372.06 2226.91 367.342 2235.8 361.919C2263.5 345.035 2283.95 323.396 2297.13 297.038C2310.31 270.68 2316.9 239.252 2316.9 202.756C2316.9 166.261 2306.92 133.313 2286.99 103.912C2267.05 74.5106 2239.5 51.5443 2204.37 34.976C2169.22 18.42 2129.68 10.1378 2085.76 10.1378H1756.87C1746.46 10.1378 1738.03 18.5715 1738.03 28.9794V700.945C1738.03 711.348 1746.46 719.786 1756.87 719.786H1885.45C1895.85 719.786 1904.29 711.353 1904.29 700.945V470.692C1904.29 465.49 1908.51 461.271 1913.71 461.271H2073.59C2098.59 461.271 2116 466.338 2125.8 476.476C2135.59 486.617 2140.5 504.197 2140.5 529.195V700.945C2140.5 711.348 2148.94 719.786 2159.35 719.786H2287.92C2298.33 719.786 2306.76 711.353 2306.76 700.945V489.657C2306.76 461.951 2300.17 439.317 2286.99 421.733C2273.82 404.165 2252.68 392.508 2223.63 386.757C2218.96 385.835 2214.32 385.135 2209.21 384.59C2203.75 384.066 2194.46 382.022 2207.32 376.435ZM2826.57 10.1378H2452.66C2442.25 10.1378 2433.82 18.5715 2433.82 28.9794V137.282C2433.82 147.686 2442.25 156.123 2452.66 156.123H2546.56C2551.76 156.123 2555.98 160.338 2555.98 165.544V564.38C2555.98 569.582 2551.76 573.801 2546.56 573.801H2452.66C2442.25 573.801 2433.82 582.238 2433.82 592.642V700.945C2433.82 711.348 2442.25 719.786 2452.66 719.786H2826.57C2836.98 719.786 2845.41 711.348 2845.41 700.945V592.642C2845.41 582.238 2836.98 573.801 2826.57 573.801H2732.67C2727.47 573.801 2723.25 569.582 2723.25 564.38V165.544C2723.25 160.338 2727.47 156.123 2732.67 156.123H2826.57C2836.98 156.123 2845.41 147.686 2845.41 137.282V28.9794C2845.41 18.5715 2836.98 10.1378 2826.57 10.1378ZM1635.7 10.1378H1140.15C1129.74 10.1378 1121.3 18.5715 1121.3 28.9794V137.282C1121.3 147.686 1129.74 156.123 1140.15 156.123H1295.13C1300.33 156.123 1304.55 160.338 1304.55 165.544V700.945C1304.55 711.348 1312.98 719.786 1323.39 719.786H1451.97C1462.37 719.786 1470.81 711.348 1470.81 700.945V165.544C1470.81 160.338 1475.03 156.123 1480.23 156.123H1635.7C1646.11 156.123 1654.55 147.686 1654.55 137.282V28.9794C1654.55 18.5715 1646.11 10.1378 1635.7 10.1378ZM3422.54 243.729C3424.74 254.956 3434.66 262.57 3445.07 262.57H3575.67C3586.06 262.57 3593.29 253.522 3592.07 243.79C3584.98 198.828 3569.42 158.958 3545.35 124.187C3517.97 84.6482 3480.97 54.0797 3434.34 32.4405C3387.7 10.8178 3333.97 0.000168455 3273.15 0.000168455C3202.18 0.000168455 3139.66 15.5527 3085.59 46.6332C3031.52 77.7259 2989.79 121.148 2960.39 176.906C2931 232.661 2916.29 296.022 2916.29 366.99C2916.29 437.953 2930.31 500.982 2958.36 556.061C2986.4 611.152 3026.45 653.89 3078.5 684.303C3130.54 714.715 3190.35 729.924 3257.94 729.924C3289.7 729.924 3318.92 726.377 3345.63 719.278C3372.32 712.184 3395.81 701.887 3416.09 688.358C3429.6 679.355 3442.02 668.938 3453.42 657.22C3457.79 652.362 3462.72 650.752 3462.72 656.601V700.945C3462.72 711.348 3471.16 719.786 3481.57 719.786H3579.73C3590.14 719.786 3598.57 711.348 3598.57 700.945V367.878C3598.57 352.273 3585.92 339.616 3570.31 339.616H3291.99C3281.58 339.616 3273.15 348.054 3273.15 358.458V451.551C3273.15 461.959 3281.58 470.393 3291.99 470.393L3435.69 470.397C3440.71 470.397 3442.97 475.255 3441.81 479.355C3434.33 502.223 3422.75 522.052 3406.96 538.825C3390.74 556.061 3371.64 569.082 3349.68 577.856C3327.71 586.646 3303.56 591.037 3277.2 591.037H3268.08C3229.55 591.037 3196.26 581.911 3168.22 563.663C3140.17 545.415 3118.87 519.406 3104.35 485.602C3089.81 451.814 3082.56 411.943 3082.56 365.974C3082.56 320.021 3089.81 280.15 3104.35 246.35C3118.87 212.562 3140.17 186.536 3168.22 168.288C3196.26 150.041 3229.55 140.915 3268.08 140.915H3277.2C3320.44 140.915 3354.76 151.732 3380.1 173.355C3401.08 191.271 3415.22 214.708 3422.54 243.729ZM388.784 562.647C372.896 575.496 350.421 581.911 321.368 581.911H174.666C169.464 581.911 165.245 577.692 165.245 572.49V436.224C165.245 431.022 169.464 426.803 174.666 426.803H321.368C350.421 426.803 372.896 433.234 388.784 446.063C404.656 458.912 412.611 478.171 412.611 503.849C412.611 530.207 404.656 549.819 388.784 562.647ZM165.245 157.434C165.245 152.228 169.464 148.013 174.666 148.013H312.242C339.268 148.013 360.223 154.268 375.099 166.765C389.96 179.282 397.402 197.022 397.402 219.992C397.402 243.655 389.96 261.731 375.099 274.227C360.223 286.741 339.268 292.983 312.242 292.983H174.666C169.464 292.983 165.245 288.764 165.245 283.562V157.434ZM452.252 354.329C460.898 351.249 468.431 347.898 476.48 343.671C503.501 329.478 524.792 309.551 540.344 283.861C555.885 258.183 563.663 228.102 563.663 193.63C563.663 159.843 554.873 128.926 537.305 100.872C519.721 72.8312 494.043 50.6882 460.255 34.468C426.455 18.2479 386.916 10.1378 341.643 10.1378H18.8415C8.43356 10.1378 0 18.5715 0 28.9794V700.945C0 711.348 8.43356 719.786 18.8415 719.786H351.781C396.386 719.786 435.753 711.516 469.889 694.948C504.009 678.396 530.715 655.586 549.974 626.516C569.238 597.467 578.871 565.359 578.871 530.207C578.871 493.712 570.253 462.127 553.017 435.421C535.781 408.728 512.291 388.453 482.562 374.592C472.613 369.963 462.725 366.273 452.252 363.344C441.643 360.411 441.811 358.327 452.252 354.329ZM1039.42 10.1378H665.51C655.102 10.1378 646.668 18.5715 646.668 28.9794V137.282C646.668 147.686 655.102 156.123 665.51 156.123H759.407C764.613 156.123 768.827 160.338 768.827 165.544V564.38C768.827 569.582 764.613 573.801 759.407 573.801H665.51C655.102 573.801 646.668 582.238 646.668 592.642V700.945C646.668 711.348 655.102 719.786 665.51 719.786H1039.42C1049.83 719.786 1058.26 711.348 1058.26 700.945V592.642C1058.26 582.238 1049.83 573.801 1039.42 573.801H945.525C940.319 573.801 936.104 569.582 936.104 564.38V165.544C936.104 160.338 940.319 156.123 945.525 156.123H1039.42C1049.83 156.123 1058.26 147.686 1058.26 137.282V28.9794C1058.26 18.5715 1049.83 10.1378 1039.42 10.1378Z\"})});}/* ---------------- hamburger ---------------- */function Burger({open,size,color,reduceMotion}){const thickness=Math.max(1.5,Math.round(size/10));const gap=Math.round(size*.26);// Each bar travels half the gap plus half its own thickness to meet in the\n// middle, which is what makes the two strokes land on a single axis.\nconst travel=gap/2+thickness/2;const bar={display:\"block\",width:size,height:thickness,borderRadius:999,background:color,transformOrigin:\"center\"};const t=reduceMotion?{duration:0}:{type:\"spring\",stiffness:500,damping:32,mass:.7};return /*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":true,style:{width:size,height:gap+thickness*2,display:\"inline-flex\",flexDirection:\"column\",justifyContent:\"space-between\",flexShrink:0},children:[/*#__PURE__*/_jsx(motion.span,{initial:false,animate:{rotate:open?45:0,y:open?travel:0},transition:t,style:bar}),/*#__PURE__*/_jsx(motion.span,{initial:false,animate:{rotate:open?-45:0,y:open?-travel:0},transition:t,style:bar})]});}/* ---------------- location ---------------- */function normalizePath(path){if(!path)return\"/\";try{const p=path.startsWith(\"http\")?new URL(path).pathname:path.split(\"?\")[0].split(\"#\")[0];return p.replace(/\\/+$/,\"\")||\"/\";}catch{return path;}}function linkMatchesLocation(url){if(!url||url===\"#\"||typeof window===\"undefined\")return false;try{const current=new URL(window.location.href);const target=new URL(url,current);if(target.origin!==current.origin)return false;if(normalizePath(target.pathname)!==normalizePath(current.pathname))return false;if(target.hash&&target.hash!==current.hash)return false;return true;}catch{return false;}}const LOCATION_EVENT=\"bitrig:locationchange\";// Framer's router navigates with history.pushState, which fires no event.\n// popstate only covers back/forward. Without this, a header living in a layout\n// template never learns the page changed.\nfunction patchHistoryOnce(){if(typeof window===\"undefined\")return;const history=window.history;for(const name of[\"pushState\",\"replaceState\"]){const original=history[name];if(!original||original.__bitrigPatched)continue;const wrapped=function(...args){const result=original.apply(this,args);// Deferred to a microtask, NOT dispatched inline. Framer's router\n// calls pushState/replaceState as part of a route transition; firing\n// a synchronous event from inside that call re-enters the router\n// mid-transition through whatever is listening. Observed result: the\n// route commits with a correct routeId, then the entire React tree —\n// layout template included — unmounts and nothing remounts, with no\n// error thrown. Letting the stack unwind first removes the\n// re-entrancy while still updating before paint.\nPromise.resolve().then(()=>{window.dispatchEvent(new Event(LOCATION_EVENT));});return result;};wrapped.__bitrigPatched=true;history[name]=wrapped;}}function useLocationKey(){const read=()=>typeof window===\"undefined\"?\"\":window.location.pathname+window.location.search+window.location.hash;const[key,setKey]=React.useState(read);React.useEffect(()=>{patchHistoryOnce();const update=()=>setKey(read());update();window.addEventListener(\"popstate\",update);window.addEventListener(\"hashchange\",update);window.addEventListener(LOCATION_EVENT,update);return()=>{window.removeEventListener(\"popstate\",update);window.removeEventListener(\"hashchange\",update);window.removeEventListener(LOCATION_EVENT,update);};},[]);return key;}/* ---------------- defaults ---------------- */GlassNavBar.defaultProps={// Everything not in the property panel below lives here — re-expose a\n// control only if it turns out to need tuning per instance.\nitems:[],ctaItem:[],logoItem:[],forceActive:-1,samePage:\"ignore\",wordmarkHeight:15,preview:\"auto\",backdropTint:DEFAULT_TINT,homeHref:\"/\",wordmarkHoverOpacity:.65,wordmarkPressScale:.94,widthMode:\"fit\",barWidth:900,// Semi-transparent, not a solid hex. This is the same trick the labels use:\n// the glass behind is translucent, so a glyph painted at <100% alpha lets\n// the backdrop through and picks up a tint from whatever section is\n// underneath. A solid colour cannot do that — it composites over the blur\n// and stays flat grey no matter what it is sitting on.\nwordmarkColor:\"rgba(0,0,0,0.92)\",wordmarkGap:20,linkGap:2,ctaGap:20,paddingLeft:14,paddingRight:4,cornerRadius:999,smoothing:0,ctaMatchPill:true,clipContent:false,background:\"rgba(242,242,247,0.5)\",textColor:\"#3A383B\",blur:26,glassSaturation:1.8,glassContrast:1.02,glassBrightness:1.04,glassHighlight:\"rgba(255,255,255,0.5)\",segment:DEFAULT_SEGMENT_STYLE,edge:DEFAULT_EDGE,specular:DEFAULT_SPECULAR,labels:DEFAULT_LABELS,mobile:DEFAULT_MOBILE,font:{fontSize:15,letterSpacing:\"-0.02em\",lineHeight:1}};addPropertyControls(GlassNavBar,{preview:{type:ControlType.Enum,title:\"Preview\",options:[\"auto\",\"desktop\",\"mobile\"],optionTitles:[\"Auto\",\"Desktop\",\"Mobile\"],defaultValue:\"auto\",displaySegmentedControl:true,description:\"Canvas only. The canvas window is always wide, so the media query never reports mobile — set this to Mobile to lay it out here. Leave on Auto for the published site.\"},items:{type:ControlType.Array,title:\"Items\",maxCount:8,control:{type:ControlType.ComponentInstance},description:\"Framer Link elements. A raw <a> cannot reach Framer's router, so these must be real Links or every click reloads the document.\"},ctaItem:{type:ControlType.Array,title:\"Button\",maxCount:1,control:{type:ControlType.ComponentInstance}},logoItem:{type:ControlType.Array,title:\"Wordmark Link\",maxCount:1,control:{type:ControlType.ComponentInstance},description:\"Optional. Drop a Framer Link here to make the wordmark clickable; leave empty for the built-in SVG.\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:15,letterSpacing:\"-0.02em\",lineHeight:1},controls:\"extended\",defaultFontType:\"sans-serif\"},backdropTint:{type:ControlType.Object,title:\"Backdrop\",controls:{enabled:{type:ControlType.Boolean,title:\"React To Backdrop\",description:'Brightens the glass and lightens the labels and wordmark over saturated or dark sections. Cannot read photos, video or canvas — put data-nav-tint=\"0.8\" on those instead.',defaultValue:true},chromaWeight:{type:ControlType.Number,title:\"From Colour\",description:\"How much a section's saturation drives the effect. 0 ignores colour entirely.\",defaultValue:1,min:0,max:2,step:.05,displayStepper:false},darkWeight:{type:ControlType.Number,title:\"From Darkness\",description:\"How much a section's darkness drives it, independently of colour.\",defaultValue:.5,min:0,max:2,step:.05,displayStepper:false},brightnessBoost:{type:ControlType.Number,title:\"Brightness\",description:\"Added to the glass brightness at full tint.\",defaultValue:.26,min:0,max:1,step:.01,displayStepper:false},veil:{type:ControlType.Number,title:\"Veil\",description:\"Opacity of an extra sheet of white over the glass at full tint. This is what stops a saturated section soaking through, and it RAISES label contrast — reach for this before lightening the labels.\",defaultValue:.24,min:0,max:.6,step:.01,displayStepper:false},saturationBoost:{type:ControlType.Number,title:\"Saturation\",defaultValue:.3,min:0,max:1.5,step:.05,displayStepper:false},labelLighten:{type:ControlType.Number,title:\"Labels\",description:\"Fraction of the labels' alpha removed at full tint. Small values only — the labels are already 44% transparent, so the tint exists without this, and every point removed is contrast lost.\",defaultValue:.1,min:0,max:.4,step:.01,displayStepper:false},wordmarkLighten:{type:ControlType.Number,title:\"Wordmark\",defaultValue:.12,min:0,max:.4,step:.01,displayStepper:false},duration:{type:ControlType.Number,title:\"Ease\",defaultValue:.4,min:0,max:1.5,step:.01,unit:\"s\",displayStepper:false},samples:{type:ControlType.Number,title:\"Samples\",defaultValue:5,min:2,max:9,step:1,displayStepper:true}}},homeHref:{type:ControlType.String,title:\"Logo Link\",description:\"Where the built-in wordmark goes. The click is handed to whichever nav Link already points here so Framer routes it client-side; with no such Link it falls back to a full page load.\",defaultValue:\"/\",placeholder:\"/\",hidden:p=>(p.logoItem?.length??0)>0},wordmarkHoverOpacity:{type:ControlType.Number,title:\"Logo Hover\",description:\"Opacity the wordmark fades to on hover.\",defaultValue:.65,min:.2,max:1,step:.05,displayStepper:false},wordmarkPressScale:{type:ControlType.Number,title:\"Logo Press\",description:\"How far the wordmark scales down while held. 1 turns the press off.\",defaultValue:.94,min:.8,max:1,step:.01,displayStepper:false},widthMode:{type:ControlType.Enum,title:\"Width\",options:[\"fit\",\"fill\",\"fixed\"],optionTitles:[\"Fit\",\"Fill\",\"Fixed\"],defaultValue:\"fit\",displaySegmentedControl:true,description:\"Fit hugs the content and the two gap controls decide the spacing. Fill and Fixed have slack, so the links centre on the bar and the gaps become minimums.\"},barWidth:{type:ControlType.Number,title:\"Bar Width\",defaultValue:900,min:240,max:1600,step:2,unit:\"px\",displayStepper:false,hidden:p=>p.widthMode!==\"fixed\"},wordmarkHeight:{type:ControlType.Number,title:\"Wordmark Size\",description:\"Cap height of the wordmark. Width follows automatically at the SVG's own 4.93:1 ratio, so it can never distort.\",defaultValue:15,min:6,max:64,step:.5,unit:\"px\",displayStepper:false},wordmarkColor:{type:ControlType.Color,title:\"Wordmark Color\",defaultValue:\"#111113\",hidden:p=>(p.logoItem?.length??0)>0},wordmarkGap:{type:ControlType.Number,title:\"Wordmark Gap\",defaultValue:20,min:0,max:120,step:1,unit:\"px\"},linkGap:{type:ControlType.Number,title:\"Item Gap\",defaultValue:2,min:0,max:40,step:1,unit:\"px\"},ctaGap:{type:ControlType.Number,title:\"Button Gap\",description:\"Space between the last link and the button. Set it equal to Wordmark Gap to match the spacing on the other side — both are measured from a link frame's edge, so equal values give equal optical gaps as long as your link's left and right padding match.\",defaultValue:20,min:0,max:160,step:1,unit:\"px\",displayStepper:false},paddingLeft:{type:ControlType.Number,title:\"Pad Left\",defaultValue:14,min:0,max:40,step:1,unit:\"px\"},paddingRight:{type:ControlType.Number,title:\"Pad Right\",defaultValue:4,min:0,max:40,step:1,unit:\"px\"},ctaMatchPill:{type:ControlType.Boolean,title:\"Button Height\",description:\"Locks the button slot to the active pill's height so the two stay concentric. Off lets Framer size it, which makes it depend on the slot text's line-height.\",enabledTitle:\"Match Pill\",disabledTitle:\"Framer\",defaultValue:true},smoothing:{type:ControlType.Number,title:\"Smoothing\",description:\"Figma-style corner smoothing; 60% is the iOS squircle. Chrome/Edge only — Safari and Firefox fall back to a plain rounded corner.\",defaultValue:0,min:0,max:100,step:5,unit:\"%\",displayStepper:false},labels:{type:ControlType.Object,title:\"Labels\",controls:{size:{type:ControlType.Number,title:\"Size\",description:\"Link text size. Overrides the Font control's size for the nav labels only.\",defaultValue:15,min:8,max:32,step:.5,unit:\"px\",displayStepper:false},idleWeight:{type:ControlType.Number,title:\"Idle Weight\",defaultValue:500,min:100,max:1e3,step:5},activeWeight:{type:ControlType.Number,title:\"Active Weight\",defaultValue:600,min:100,max:1e3,step:5},color:{type:ControlType.Color,title:\"Idle\",defaultValue:\"rgba(0,0,0,0.56)\"},hoverColor:{type:ControlType.Color,title:\"Hover\",defaultValue:\"rgba(0,0,0,0.78)\"},activeColor:{type:ControlType.Color,title:\"Active\",defaultValue:\"rgba(0,0,0,0.92)\"}}},segment:{type:ControlType.Object,title:\"Pill\",controls:{background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"rgba(255,255,255,0.72)\"},height:{type:ControlType.Number,title:\"Height\",defaultValue:36,min:16,max:72,step:1,unit:\"px\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:.32,min:0,max:1.5,step:.01,unit:\"s\"},bounce:{type:ControlType.Number,title:\"Bounce\",defaultValue:.15,min:0,max:1,step:.01}}},background:{type:ControlType.Color,title:\"Bar Fill\",defaultValue:\"rgba(242,242,247,0.5)\"},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:26,min:0,max:60,step:1,unit:\"px\"},mobile:{type:ControlType.Object,title:\"Mobile\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true},ctaPlacement:{type:ControlType.Enum,title:\"Button\",options:[\"menu\",\"bar\"],optionTitles:[\"In Menu\",\"In Bar\"],defaultValue:\"menu\",displaySegmentedControl:true,description:\"Where the Download button goes on mobile. In Menu drops it to the bottom of the dropdown at full width and leaves only the wordmark and burger in the bar.\"},rowSize:{type:ControlType.Number,title:\"Row Size\",description:\"Link text size inside the dropdown.\",defaultValue:17,min:10,max:32,step:.5,unit:\"px\",displayStepper:false},breakpoint:{type:ControlType.Number,title:\"Breakpoint\",defaultValue:810,min:320,max:1400,step:10,unit:\"px\"},burgerColor:{type:ControlType.Color,title:\"Burger\",defaultValue:\"#3A383B\"},activeFill:{type:ControlType.Color,title:\"Active Row\",description:\"Fill for the current page's row in the dropdown. A dark tint, not the desktop pill's white — white on a light glass panel is invisible.\",defaultValue:\"rgba(0,0,0,0.07)\"}}},forceActive:{type:ControlType.Number,title:\"Force Active\",description:\"Canvas only: pins a tab by index when there is no route to match against. -1 uses the URL.\",defaultValue:-1,min:-1,max:8,step:1,displayStepper:true},samePage:{type:ControlType.Enum,title:\"Same Page\",options:[\"ignore\",\"top\",\"allow\"],optionTitles:[\"Ignore\",\"Scroll Top\",\"Navigate\"],defaultValue:\"ignore\",displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GlassNavBar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Efew.map","// Generated by Framer (eb3d845)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,forwardLoader,GeneratedComponentContext,getFonts,Link,PropertyOverrides,RenderTarget,ResolveLinks,RichText,safeCSSValue,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useRouter,withCodeBoundaryForOverrides,withCSS,withFlowFX,withMappedReactProps,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import MacOnly,*as MacOnlyInfo from\"#framer/local/canvasComponent/OR0UZyRan/OR0UZyRan.js\";import NewNavLink from\"#framer/local/canvasComponent/qFEwdlkrB/qFEwdlkrB.js\";import Footer from\"#framer/local/canvasComponent/TwgMa8hUr/TwgMa8hUr.js\";import GlassNavBar from\"#framer/local/codeFile/xE2damj/Efew.js\";import{withMacGate}from\"#framer/local/codeFile/AzBt8vv/MacGate.js\";const FooterFonts=getFonts(Footer);const NewNavLinkFonts=getFonts(NewNavLink);const GlassNavBarFonts=getFonts(GlassNavBar);const ContainerWithOptimizedAppearEffect=withOptimizedAppearEffect(Container);const MacOnlyFonts=getFonts(MacOnly);const MacOnlyWithMacGate164xxjfWithMappedReactProps1rt292z=withMappedReactProps(withCodeBoundaryForOverrides(MacOnly,{nodeId:\"HnwZdSS51\",override:withMacGate,scopeId:\"g2yl9llYn\"}),MacOnlyInfo);const MotionDivWithFlowFX=withFlowFX(motion.div);const breakpoints={F7Adr66So:\"(min-width: 1200px)\",Kgx90YHi9:\"(max-width: 647.98px)\",yXlXovJnt:\"(min-width: 810px) and (max-width: 1199.98px)\",ZLWQLcEjJ:\"(min-width: 648px) and (max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-4eCP7\";const variantClassNames={F7Adr66So:\"framer-v-hxc14v\",Kgx90YHi9:\"framer-v-176uvmu\",yXlXovJnt:\"framer-v-1gwqqmz\",ZLWQLcEjJ:\"framer-v-lz4qom\"};const uFKoHUcOm=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const transition2={delay:1.3,duration:1.1,ease:[.44,0,.27,1.02],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-74};const transition3={damping:100,delay:1.5,mass:10,stiffness:336,type:\"spring\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition3,x:0,y:0};const animation3={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-57};const transition4={bounce:.25,delay:0,duration:.45,type:\"spring\"};const animation4={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1.02,skewX:0,skewY:0,transition:transition4};const transition5={bounce:.2,delay:0,duration:.4,type:\"spring\"};const animation5={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:.99,skewX:0,skewY:0,transition:transition5};const breakpointRules={Kgx90YHi9:[\".framer-4eCP7 .framer-1r07at { top: 12px; width: 90%; }\",\".framer-4eCP7 .framer-yccdam-container { width: 100%; }\"],ZLWQLcEjJ:[\".framer-4eCP7 .framer-1r07at { width: 95%; }\",\".framer-4eCP7 .framer-yccdam-container { width: 100%; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={Kgx90YHi9:\".framer-176uvmu-override\",ZLWQLcEjJ:\".framer-lz4qom-override\"};const rules=[\".framer-4eCP7.framer-1b9m06j, .framer-4eCP7 .framer-1b9m06j { display: block; }\",\".framer-4eCP7.framer-hxc14v { align-content: center; align-items: center; background-color: var(--1dvaow); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-4eCP7 .framer-1ek0not { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-4eCP7 .framer-1nhwefv-container { flex: none; height: auto; order: 1001; position: relative; width: 100%; z-index: 0; }\",\".framer-4eCP7 .framer-1r07at { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; left: 50%; order: 1002; overflow: visible; padding: 0px; position: var(--framer-canvas-fixed-position, fixed); top: 24px; width: min-content; z-index: 10; }\",\".framer-4eCP7 .framer-yccdam-container { flex: none; height: 44px; position: relative; width: auto; will-change: var(--framer-will-change-effect-override, transform); z-index: 10; }\",\".framer-4eCP7 .framer-60zag-container, .framer-4eCP7 .framer-1fe6cpp-container, .framer-4eCP7 .framer-tpyp7m-container, .framer-4eCP7 .framer-ymsw12-container, .framer-4eCP7 .framer-u3xkah-container { height: min-content; position: relative; width: 100%; }\",\".framer-4eCP7 .framer-10ar6ym { --border-bottom-width: 1.1px; --border-color: rgba(255, 255, 255, 0.15); --border-left-width: 1.1px; --border-right-width: 1.1px; --border-style: solid; --border-top-width: 1.1px; align-content: center; align-items: center; background: linear-gradient(180deg, #2b2b2b 0%, rgb(0, 0, 0) 100%); border-bottom-left-radius: 999px; border-bottom-right-radius: 999px; border-top-left-radius: 999px; border-top-right-radius: 999px; box-shadow: 0px 0px 15px 0px rgba(6, 125, 140, 0.05), 0px 0.7961918735236395px 1.751622121752007px -1px rgba(0, 0, 0, 0.08), 0px 2.414506143104518px 5.311913514829939px -2px rgba(0, 0, 0, 0.07), 0px 6.382653521484461px 14.041837747265815px -3px rgba(0, 0, 0, 0.06), 0px 20px 44px -4px rgba(0, 0, 0, 0.02); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 8px 20px 8px 20px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-4eCP7 .framer-172l1vw { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-4eCP7 .framer-164xxjf-container { flex: none; height: auto; left: 0px; max-width: 420px; order: 1003; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 100%; z-index: 10; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }','.framer-4eCP7[data-border=\"true\"]::after, .framer-4eCP7 [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; corner-shape: inherit; pointer-events: none; }'];const mediaQueries={F7Adr66So:\"(min-width: 1200px)\",Kgx90YHi9:\"(max-width: 647.98px)\",yXlXovJnt:\"(min-width: 810px) and (max-width: 1199.98px)\",ZLWQLcEjJ:\"(min-width: 648px) and (max-width: 809.98px)\"};const humanReadableVariantMap={Desktop:\"F7Adr66So\",Narrow:\"ZLWQLcEjJ\",Phone:\"Kgx90YHi9\",Tablet:\"yXlXovJnt\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({fill,height,id,width,...props})=>{return{...props,uFKoHUcOm:fill??props.uFKoHUcOm??\"rgb(255, 255, 255)\",variant:humanReadableVariantMap[props.variant]??props.variant??\"F7Adr66So\"};};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{style,className,layoutId,variant,uFKoHUcOm,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"F7Adr66So\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:`:root body { background: ${safeCSSValue(uFKoHUcOm)}; }`}),/*#__PURE__*/_jsxs(MotionDivWithFlowFX,{...restProps,className:cx(scopingClassNames,\"framer-hxc14v\",className),\"data-layout-template\":true,flowEffectEnabled:true,flowEffectTransition:transition1,isNestedFlowEffect:false,ref:refBinding,style:{\"--1dvaow\":uFKoHUcOm,...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1ek0not\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:553,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1nhwefv-container\",layout:\"position\",nodeId:\"ZKv9_TMvV\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Kgx90YHi9:{variant:matchVariant(\"m415yic9w\")},yXlXovJnt:{variant:matchVariant(\"ImSe91gaN\")},ZLWQLcEjJ:{variant:matchVariant(\"ImSe91gaN\")}},children:/*#__PURE__*/_jsx(Footer,{height:\"100%\",id:\"ZKv9_TMvV\",layoutId:\"ZKv9_TMvV\",style:{width:\"100%\"},variant:matchVariant(\"mC5VhoRkN\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1r07at\",\"data-framer-layout-hint-center-x\":true,\"data-framer-name\":\"Header Shell\",layout:\"position\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Kgx90YHi9:{animate:animation2,initial:animation3}},children:/*#__PURE__*/_jsx(ContainerWithOptimizedAppearEffect,{animate:animation,className:\"framer-yccdam-container\",\"data-framer-appear-id\":\"yccdam\",initial:animation1,isAuthoredByUser:true,nodeId:\"eF4Y21P49\",optimized:true,rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Kgx90YHi9:{preview:\"mobile\",style:{height:\"100%\",width:\"100%\"},wordmarkHeight:11},ZLWQLcEjJ:{style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(GlassNavBar,{backdropTint:{brightnessBoost:.26,chromaWeight:1,darkWeight:.5,duration:.4,enabled:true,labelLighten:.1,samples:5,saturationBoost:.3,veil:.24,wordmarkLighten:.12},background:\"rgba(242, 242, 247, 0.5)\",barWidth:900,blur:8,ctaGap:14,ctaItem:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"MNPyH_QNp\"},motionChild:true,nodeId:\"dyonFnXJt\",scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-10ar6ym framer-1b9m06j\",\"data-border\":true,whileHover:animation4,whileTap:animation5,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7QUJDIEZhdm9yaXQgVmFyaWFibGUgVmFyaWFibGUgUmVndWxhclZGPUluZG5hSFFpSURVMU1Dd2dJbk5zYm5RaUlEQT0=\",\"--framer-font-family\":'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on\",\"--framer-font-size\":\"15px\",\"--framer-font-variation-axes\":'\"wght\" 550, \"slnt\" 0',\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Download\"})}),className:\"framer-172l1vw\",fonts:[\"CUSTOMV2;ABC Favorit Variable Variable Regular\"],verticalAlignment:\"top\",withExternalLayout:true})})})],ctaMatchPill:true,font:{fontFamily:'\"ABC Favorit Variable Variable Regular\", \"ABC Favorit Variable Variable Regular Placeholder\", sans-serif',fontSize:\"15px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.01em\",lineHeight:\"1em\"},forceActive:-1,height:\"100%\",homeHref:\"\",id:\"eF4Y21P49\",items:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,children:/*#__PURE__*/_jsx(Container,{className:\"framer-60zag-container\",\"data-framer-name\":\"Mac\",inComponentSlot:true,name:\"Mac\",nodeId:\"PWx8U9eRR\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(NewNavLink,{height:\"100%\",id:\"PWx8U9eRR\",Kvxz70pKQ:resolvedLinks[0],layoutId:\"PWx8U9eRR\",name:\"Mac\",width:\"100%\",yMhPzGMzQ:\"Mac\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"TRRyfv_d1\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1fe6cpp-container\",\"data-framer-name\":\"Remote\",inComponentSlot:true,name:\"Remote\",nodeId:\"mYP972Co0\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(NewNavLink,{height:\"100%\",id:\"mYP972Co0\",Kvxz70pKQ:resolvedLinks1[0],layoutId:\"mYP972Co0\",name:\"Remote\",width:\"100%\",yMhPzGMzQ:\"Remote\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"bCCICkIhb\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,children:/*#__PURE__*/_jsx(Container,{className:\"framer-tpyp7m-container\",\"data-framer-name\":\"Blog\",inComponentSlot:true,name:\"Blog\",nodeId:\"Rv1imfRa5\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(NewNavLink,{height:\"100%\",id:\"Rv1imfRa5\",Kvxz70pKQ:resolvedLinks2[0],layoutId:\"Rv1imfRa5\",name:\"Blog\",width:\"100%\",yMhPzGMzQ:\"Blog\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"YXYkaBFeK\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,children:/*#__PURE__*/_jsx(Container,{className:\"framer-ymsw12-container\",inComponentSlot:true,nodeId:\"jXGlODyii\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(NewNavLink,{height:\"100%\",id:\"jXGlODyii\",Kvxz70pKQ:resolvedLinks3[0],layoutId:\"jXGlODyii\",width:\"100%\",yMhPzGMzQ:\"Pricing\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"yMVgEa3P3\"},implicitPathVariables:undefined}],children:resolvedLinks4=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,children:/*#__PURE__*/_jsx(Container,{className:\"framer-u3xkah-container\",\"data-framer-name\":\"About\",inComponentSlot:true,name:\"About\",nodeId:\"UVVf4LAIS\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(NewNavLink,{height:\"100%\",id:\"UVVf4LAIS\",Kvxz70pKQ:resolvedLinks4[0],layoutId:\"UVVf4LAIS\",name:\"About\",width:\"100%\",yMhPzGMzQ:\"About\"})})})})],labels:{activeColor:\"rgba(0, 0, 0, 0.92)\",activeWeight:550,color:\"rgba(0, 0, 0, 0.56)\",hoverColor:\"rgba(0, 0, 0, 0.78)\",idleWeight:450,size:15},layoutId:\"eF4Y21P49\",linkGap:0,logoItem:[],mobile:{activeFill:\"rgba(0, 0, 0, 0.07)\",breakpoint:810,burgerColor:\"rgb(58, 56, 59)\",ctaPlacement:\"menu\",enabled:true,rowSize:17},paddingLeft:19,paddingRight:4,preview:\"auto\",samePage:\"ignore\",segment:{background:\"rgba(255, 255, 255, 0.72)\",bounce:.15,duration:.32,height:36},smoothing:5,style:{height:\"100%\"},width:\"100%\",widthMode:\"fit\",wordmarkColor:\"rgb(17, 17, 19)\",wordmarkGap:14,wordmarkHeight:12,wordmarkHoverOpacity:.65,wordmarkPressScale:.94})})})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:461,width:\"min(100vw, 420px)\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-164xxjf-container\",\"data-framer-name\":\"Mac Only Card\",layout:\"position\",layoutScroll:true,name:\"Mac Only Card\",nodeId:\"HnwZdSS51\",rendersWithMotion:true,scopeId:\"g2yl9llYn\",children:/*#__PURE__*/_jsx(MacOnlyWithMacGate164xxjfWithMappedReactProps1rt292z,{height:\"100%\",id:\"HnwZdSS51\",layoutId:\"HnwZdSS51\",name:\"Mac Only Card\",style:{maxWidth:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"yXlXovJnt\":{\"layout\":[\"fixed\",\"fixed\"]},\"Kgx90YHi9\":{\"layout\":[\"fixed\",\"fixed\"]},\"ZLWQLcEjJ\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"uFKoHUcOm\":\"fill\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"F7Adr66So\":[\".framer-1nhwefv-container\",\".framer-1r07at\",\".framer-164xxjf-container\"],\"yXlXovJnt\":[\".framer-1nhwefv-container\",\".framer-1r07at\",\".framer-164xxjf-container\"],\"Kgx90YHi9\":[\".framer-1nhwefv-container\",\".framer-1r07at\",\".framer-164xxjf-container\"],\"ZLWQLcEjJ\":[\".framer-1nhwefv-container\",\".framer-1r07at\",\".framer-164xxjf-container\"]}\n * @framerBreakpoints {\"F7Adr66So\":{\"min\":1200,\"canvasClassName\":\"framer-hxc14v-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"yXlXovJnt\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-1gwqqmz-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"ZLWQLcEjJ\":{\"min\":648,\"max\":809,\"canvasClassName\":\"framer-lz4qom-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Narrow\",\"width\":648,\"rootFontSize\":16},\"Kgx90YHi9\":{\"max\":647,\"canvasClassName\":\"framer-176uvmu-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant F7Adr66So\n * @framerLayoutTemplate true\n */const Framerg2yl9llYn=withCSS(Component,css,\"framer-4eCP7\");export default Framerg2yl9llYn;Framerg2yl9llYn.displayName=\"Bitrig Layout\";Framerg2yl9llYn.defaultProps={height:1e3,width:1200};addPropertyControls(Framerg2yl9llYn,{uFKoHUcOm:{defaultValue:\"rgb(255, 255, 255)\",title:\"Fill\",type:ControlType.Color}});const variationAxes=[{defaultValue:400,maxValue:1e3,minValue:300,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:0,minValue:-12,name:\"Slant\",tag:\"slnt\"}];addFonts(Framerg2yl9llYn,[{explicitInter:true,fonts:[{cssFamilyName:\"ABC Favorit Variable Variable Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"ABC Favorit Variable\",url:\"https://framerusercontent.com/assets/J1jxf59pLsDwYm2sj21dYFzXg4Y.woff2\",variationAxes,weight:\"400\"}]},...FooterFonts,...NewNavLinkFonts,...GlassNavBarFonts,...MacOnlyFonts],{supportsExplicitInterCodegen:true});Framerg2yl9llYn.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Footer,{},context),forwardLoader(NewNavLink,{},context),forwardLoader(MacOnly,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerg2yl9llYn\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerBreakpoints\":\"{\\\"F7Adr66So\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-hxc14v-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"yXlXovJnt\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1gwqqmz-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"ZLWQLcEjJ\\\":{\\\"min\\\":648,\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-lz4qom-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Narrow\\\",\\\"width\\\":648,\\\"rootFontSize\\\":16},\\\"Kgx90YHi9\\\":{\\\"max\\\":647,\\\"canvasClassName\\\":\\\"framer-176uvmu-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerVariables\":\"{\\\"uFKoHUcOm\\\":\\\"fill\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"yXlXovJnt\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Kgx90YHi9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ZLWQLcEjJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerHitTargets\":\"{\\\"F7Adr66So\\\":[\\\".framer-1nhwefv-container\\\",\\\".framer-1r07at\\\",\\\".framer-164xxjf-container\\\"],\\\"yXlXovJnt\\\":[\\\".framer-1nhwefv-container\\\",\\\".framer-1r07at\\\",\\\".framer-164xxjf-container\\\"],\\\"Kgx90YHi9\\\":[\\\".framer-1nhwefv-container\\\",\\\".framer-1r07at\\\",\\\".framer-164xxjf-container\\\"],\\\"ZLWQLcEjJ\\\":[\\\".framer-1nhwefv-container\\\",\\\".framer-1r07at\\\",\\\".framer-164xxjf-container\\\"]}\",\"framerColorSyntax\":\"true\",\"framerDefaultVariant\":\"F7Adr66So\",\"framerIntrinsicHeight\":\"1000\",\"framerLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport BitrigLayout from \"https://framerusercontent.com/modules/TXi2Wjj1S01Qd8AI82hK/14exc1VtrteIMtvOgeUS/g2yl9llYn.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {cGHmJHX76: \"home-header\", VMRSJIOhL: \"remote-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/24DrSXoMzySbEYMEEguL/VOJ4ewyBWpfCbPaUCF9r/augiA20Il.js\")), path: \"/\"}, TRRyfv_d1: {elements: {qvvHrb1Bo: \"remote-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/UgwFOrO8uZUpXgP31mZ3/tMf7U2FFVZgkauAEoKVW/TRRyfv_d1.js\")), path: \"/remote\"}, YXYkaBFeK: {elements: {WzVWmRTM4: \"pricing-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/voxcBDk5u4pYON5IRO8e/434c69vw3dzwRyxQovzn/YXYkaBFeK.js\")), path: \"/pricing\"}, bCCICkIhb: {elements: {apjNztywC: \"blog-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/SJ7cst6bFPZnAbBZLSQr/6f3JwSjGq4WwxpTPMJFB/bCCICkIhb.js\")), path: \"/blog\"}, ybWOzdsI6: {elements: {B2hloINaO: \"shipaton-hero\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/vaCDFFF0cJWHswhMlgWQ/B8R4cqJXZJr3Brfb2Lm9/ybWOzdsI6.js\")), path: \"/shipaton\"}, yMVgEa3P3: {elements: {N0enKFZNj: \"about-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9nDC1gEOsAPPzekh6uHg/yjwOFIVnIvXYYUMDKOxp/yMVgEa3P3.js\")), path: \"/about\"}, MNPyH_QNp: {elements: {i39KNQBv5: \"remote-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/gtKaixXcNmFnVkkZfaXa/mqqLAEBPUfBLNMbz28nR/MNPyH_QNp.js\")), path: \"/download\"}, h27Wj58jJ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/U8IXNdzvOOO8eobnzZ4D/VDnh7IWjbW4TScqnWpoL/h27Wj58jJ.js\")), path: \"/newsletter-success\"}, bdNRd1rrr: {elements: {TNkiQRvSk: \"privacy-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/8rhfYhIyAXJR2m8ZlWTj/sMdttX9sPhmy79UtvLBO/bdNRd1rrr.js\")), path: \"/privacy\"}, RizMztc96: {elements: {QSEgvrwz1: \"terms\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/d4HPQrMAlHDg4iSglSgA/MDfpUK3Qll3OcCZRmBLV/RizMztc96.js\")), path: \"/terms\"}, DX9caNQtf: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/EhOTuxDhyB8gqR5pmh2k/tlbItjmb0A57rOCdau3N/DX9caNQtf.js\")), path: \"/404\"}, whgVE61z5: {elements: {UHwE_tyXB: \"guides-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/sbTq3mp3NQ83zBoKsBbq/w2ZqdDQveYsQ5hE9Wrqq/whgVE61z5.js\")), path: \"/blog/guides\"}, CVQrnQWTo: {collectionId: \"JYhr3l_7i\", elements: {R4cZ7mhbb: \"blog-post-header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/r68Fjg5xhTt5mZoah2eH/EtE3gbV1n00YpQeX8tll/CVQrnQWTo.js\")), path: \"/blog/:ekjDXG5MI\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {JYhr3l_7i: async () => (await import(\"https://framerusercontent.com/modules/yvNlpTY9BF3dWHAEYoQ9/hYdTASx46DCvJ2LeEtBY/JYhr3l_7i.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"752b10ce039c0506798297900c4e2daaedef33006f919e427a7871a7855dfda1\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {uFKoHUcOm: \"rgb(0, 0, 0)\"}\r\nconst props2 = {...props1, uFKoHUcOm: \"rgb(255, 255, 255)\"}\r\nconst templateProps = {augiA20Il: props1, bCCICkIhb: props2, bdNRd1rrr: props2, BVPwYREGA: props1, CVQrnQWTo: props2, h27Wj58jJ: props2, MNPyH_QNp: props2, RizMztc96: props2, TRRyfv_d1: props2, whgVE61z5: props2, ybWOzdsI6: props2, yMVgEa3P3: props2, YXYkaBFeK: props2}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"BVPwYREGA\":\r\ncase \"TRRyfv_d1\":\r\ncase \"YXYkaBFeK\":\r\ncase \"bCCICkIhb\":\r\ncase \"ybWOzdsI6\":\r\ncase \"yMVgEa3P3\":\r\ncase \"MNPyH_QNp\":\r\ncase \"h27Wj58jJ\":\r\ncase \"bdNRd1rrr\":\r\ncase \"RizMztc96\":\r\ncase \"whgVE61z5\":\r\ncase \"CVQrnQWTo\":\r\nreturn React.createElement(BitrigLayout, {...props, key: \"BitrigLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"BVPwYREGA\":\r\ncase \"TRRyfv_d1\":\r\ncase \"YXYkaBFeK\":\r\ncase \"bCCICkIhb\":\r\ncase \"ybWOzdsI6\":\r\ncase \"yMVgEa3P3\":\r\ncase \"MNPyH_QNp\":\r\ncase \"h27Wj58jJ\":\r\ncase \"bdNRd1rrr\":\r\ncase \"RizMztc96\":\r\ncase \"whgVE61z5\":\r\ncase \"CVQrnQWTo\":\r\nreturn [{hash: \"176uvmu\", mediaQuery: \"(max-width: 647.98px)\"}, {hash: \"lz4qom\", mediaQuery: \"(min-width: 648px) and (max-width: 809.98px)\"}, {hash: \"1gwqqmz\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"hxc14v\", mediaQuery: \"(min-width: 1200px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tFramer.setLibraryFeatures({disableCustomCode: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/EhOTuxDhyB8gqR5pmh2k/tlbItjmb0A57rOCdau3N/DX9caNQtf.js\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://bitrig.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/hfBqqXT0KZd4Jt9Brg9Z/4defTRHNk5OL4HoDjrip/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\tconst effect = {enter: {mask: {angle: 90, type: \"wipe\", width: \"100%\"}, opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {bdNRd1rrr: {augiA20Il: effect}, CVQrnQWTo: {augiA20Il: effect}, DX9caNQtf: {augiA20Il: effect}, h27Wj58jJ: {augiA20Il: effect}, MNPyH_QNp: {augiA20Il: effect}, RizMztc96: {augiA20Il: effect}, TRRyfv_d1: {augiA20Il: effect}, whgVE61z5: {augiA20Il: effect}, ybWOzdsI6: {augiA20Il: effect}, yMVgEa3P3: {augiA20Il: effect}, YXYkaBFeK: {augiA20Il: effect}}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"0lCAiEiD,SAAS,GAAe,EAAK,CAAI,KAAc,IAAY,GAAY,EAAe,IAAS,SAAa,EAAO,eAAe,CAAC,MAAM,EAAK,YAAY,GAAU,IAAI,GAAG,GAAU,QAAQ,GAAU,EAAS,CAAC,EAAE,CAAC,SAAS,IAAW,CAAC,OAAOA,GAAqB,IAAW,GAAU,IAAI,CAAQ,MAAY,GAAU,OAAO,CAAQ,OAAQ,OAAgB,EAAK,CAAE,CAGxZ,SAAS,IAAS,CAAC,GAAU,IAAS,OAAY,MAAO,GAAM,IAAM,EAAO,EAAO,gBAAgB,GAAG,GAAQ,OAAO,EAAO,OAAQ,UAAU,OAAO,EAAO,MAAM,IAAM,EAAG,EAAU,WAAW,GAA6E,MAAvE,mBAAmB,KAAK,CAAE,GAAiB,CAAC,MAAM,KAAK,CAAE,EAAS,IAAY,EAAU,gBAAgB,GAAG,CAAE,CAMnT,SAAS,GAAU,EAAM,CAAC,GAAK,CAAC,EAAO,GAAWC,EAAS,IAAI,EAEjB,OAFmB,MAAc,CAAkB,GAAd,GAAiB,CAAC,GAAQ,GAAG,CAAC,EAAM,OAAO,IAAI,EAAU,GAE5I,OAFkJ,OAAO,sBAAO,CAAC,KAAK,GAAQ,CAAK,GAAU,MAAc,EAAO,MAAM,CAAE,CAAC,CAAC,CAAC,UAAU,CAE1O,CAAC,MAAY,CAAC,EAAU,EAAK,CAAE,EAAE,CAAC,EAAO,CAAK,CAAC,EAAS,CAAO,CACuL,SAAS,GAAc,EAAe,CAAC,MAAO,IAAmB,GAAO,CAA0B,IAAM,EAAlB,GAA+B,IAAI,EAAe,OAAoB,EAAK,EAAO,IAAI,CAAC,QAAQ,GAAM,QAAQ,EAAQ,GAAM,GAAO,WAAW,GAAO,MAAM,CAAC,SAAS,WAAW,MAAM,EACjgB,cAAc,OAAO,WAAW,4BAA4B,EAAE,SAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAE,CAAI,CACa,SAAgB,GAAc,EAAU,CAAC,OAAO,GAAc,EAAK,CAAC,CAAC,CAAS,CAAE,CAA+C,SAAgB,GAAgB,EAAU,CAAC,OAAO,GAAc,EAAI,CAAC,CAAC,CAAS,CAAE,CAA4E,SAAgB,GAAY,EAAU,CAAC,MAAO,IAAO,CAAC,GAAK,CAAC,EAAK,GAASA,EAAS,EAAK,EAAQ,EAAMC,EAAO,IAAA,EAAS,EAAQ,EAAO,GAAU,CAAI,EAAE,MAAc,CAAC,IAAM,EAAO,EAAO,gBAAmB,IAAO,EAAO,gBAAgB,IAAK,IAAM,MAAS,EAAQ,EAAI,EAC/nB,OADioB,EAAO,iBAAiB,kBAAkB,CAAI,EACptB,EAAO,wBAAuB,EAAK,MAAY,EAAO,oBAAoB,kBAAkB,CAAI,CAAE,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,GAAG,EAAK,CAAC,EAAO,uBAAuB,GAAM,MAAO,CAC9K,EAAO,aAAa,EAAM,OAAO,EAAE,GAAe,EAAK,CAAE,EAAE,CAAC,CAAI,CAAC,EAAE,UAAkB,EAAO,aAAa,EAAM,OAAO,EAAE,CAAC,CAAC,EAI/G,IAAM,EAAe,KAAM,IAAM,CAAC,GAAG,EAAU,WAAW,WAA6K,MAAhJ,QAAQ,KAAK,CAAC,EAAU,UAAU,UAAU,CAAI,CAAC,CAAC,SAAS,OAAS,EAAK,EAAE,IAAI,QAAQ,GAAS,EAAO,eAAe,EAAQ,EAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAW,MAAO,GAAM,IAAM,EAAM,SAAS,cAAc,UAAU,EAAE,EAAM,MAAM,EAAK,EAAM,aAAa,WAAW,EAAE,EAAE,EAAM,MAAM,SAAS,QAAQ,EAAM,MAAM,IAAI,IAAI,EAAM,MAAM,QAAQ,IAAI,SAAS,KAAK,YAAY,CAAK,EAAE,EAAM,OAAO,EAAE,IAAI,EAAG,GAAM,GAAG,CAAC,EAAG,SAAS,YAAY,MAAM,CAAE,MAAM,CAAC,EAAG,EAAM,CAAgB,OAAf,EAAM,OAAO,EAAS,CAAG,EAAQ,EAAK,SAAS,CAE9a,GAAnK,GAAe,EAAI,EAAE,EAAO,aAAa,EAAM,OAAO,EAAE,EAAM,QAAQ,EAAO,eAAe,GAAe,EAAK,EAAE,GAAG,EAAiD,CAAC,MAAjC,EAAA,wCAA2B,EAAS,CAE1K,EAAO,aAAa,EAAM,OAAO,EAAE,EAAM,QAAQ,EAAO,eAAe,GAAe,EAAK,EAAE,GAAG,EAAE,MAAO,CAAC,GAAG,CAAC,EAAO,WAAW,MAAM,uBAAuB,CAAC,SAAS,gBAAgB,CAAC,CAAE,MAAM,CAChM,CAAC,EAE2U,OAAnB,EAAuC,EAAMC,GAAU,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,EAAS,CAAC,CAAC,EAAe,EAAK,EAAO,KAAK,CAAM,OAAK,aAAa,EAAQ,sBAAsB,GAAM,SAAsB,EAAM,EAAO,OAAO,CAAC,SAAS,CAAc,EAAK,EAAO,QAAQ,CAAC,4BAA4B,EAAI,CAAC,EAAe,EAAM,EAAO,QAAQ,CAAC,4BAA4B,GAAK,SAAS,CAAc,EAAK,EAAO,MAAM,CAAC,yBAAyB,GAAK,SAAS,qBAAqB,CAAC,EAAe,EAAK,EAAO,YAAY,CAAC,yBAAyB,GAAK,SAAS,kGAAkG,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,UAAU,EAAE,QAAvhC,GAAO,CAAC,IAAM,EAAO,EAAM,OAAU,MAAC,GAAQ,OAAO,EAAO,SAAU,YAAkB,IAAG,EAAO,QAAQ,uCAAuC,EAAE,CAAC,EAAM,eAAe,EAAE,EAAU,EAAE,MAAO,CAAI,EAAO,QAAQ,qCAAqC,IAAG,EAAM,eAAe,EAAE,EAAQ,EAAK,EAA/F,CAAkG,EAA4wB,SAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAApzB,IAAszB,CAAE,wCA5FjjC,IAAkC,IAAkE,EAYtG,GAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqD/E,GAAY,GAAY,GAAU,IAAI,IAYwC,GAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,WAAW,EAAQ,GAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,OAAO,WAAW,EAAQ,GAAO,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,GAAG,KAAK,EAAE,gHC5E5L,IAA2M,IAAkE,IAA4B,KAAgK,EAAO,GAA6B,GAA6BC,EAAS,CAAC,OAAO,YAAY,SAAS,GAAc,QAAQ,WAAW,CAAC,EAAQ,GAA8B,GAA6BA,EAAS,CAAC,OAAO,YAAY,SAAS,GAAgB,QAAQ,WAAW,CAAC,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,iBAAiB,EAA+LC,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAyC,GAAgC,EAAQC,IAAoB,EAAE,IAAI,oBAAoB,IAAUC,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,WAAWF,EAAW,EAAQG,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,WAAWH,EAAW,EAAQI,GAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,WAAWJ,EAAW,EAAQK,IAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,EAAiB,CAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,GAAS,EAAO,OAAOC,CAAc,EAAQC,IAAU,CAAC,SAAO,KAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,CAAK,GAAUC,IAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAUvmE,GAAgB,GAVwnEC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,GAAc,EAAQ,EAAkB,EAAqB,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWJ,GAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,aAAU,mBAAgB,cAAW,aAAU,GAAgB,CAAC,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,EAAiB,CAAC,EAAQ,EAAiBC,GAAuB,EAAM,EAAQ,EAAuC,EAAkB,EAAGb,EAA0C,EAAE,OAAoB,EAAK,GAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKU,GAAS,CAAC,QAAQ,GAAS,QAAQ,GAAM,SAAsB,EAAKH,GAAW,CAAC,MAAML,GAAY,SAAsB,EAAM,EAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,EAAG,EAAkB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,GAAG,CAAK,EAAE,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,2BAA2B,uBAAuB,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,0BAA0B,KAAK,gBAAgB,eAAe,oBAAoB,iFAAiF,qBAAqB,iFAAiF,YAAY,mBAAmB,EAAE,SAAS,CAAc,EAAKe,EAAO,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,IAAI,WAAW,KAAK,UAAU,SAAS,UAAU,SAAS,MAAM,OAAO,GAAmB,OAAO,QAAQ,UAAU,IAAI,0FAA0F,OAAO,+TAA+T,EAAE,UAAU,gBAAgB,mBAAmB,aAA8B,mBAAiB,SAAS,WAAW,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,WAAW,8HAA8H,EAAE,SAAsB,EAAKA,EAAO,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,KAAK,WAAW,KAAK,MAAM,OAAO,GAAmB,OAAO,QAAQ,UAAU,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,iBAAiB,mBAAmB,aAAa,UAAU,QAAyB,mBAAiB,SAAS,YAAY,MAAM,CAAC,KAAK,mEAAmE,WAAW,kEAAkE,EAAE,kBAAkBd,EAAkB,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKJ,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKY,EAAe,CAAC,SAAsB,EAAK,EAAO,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2FAA2F,uBAAuB,2GAA2G,qBAAqB,OAAO,+BAA+B,sCAAsC,0BAA0B,UAAU,uBAAuB,SAAS,0BAA0B,SAAS,sBAAsB,6EAA6E,EAAE,SAAS,sBAAsB,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,QAAQ,MAAM,CAAC,gDAAgD,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,oDAAoD,qBAAqB,YAAY,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKZ,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKY,EAAe,CAAC,SAAsB,EAAM,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2FAA2F,uBAAuB,2GAA2G,qBAAqB,OAAO,+BAA+B,sCAAsC,uBAAuB,QAAQ,0BAA0B,SAAS,sBAAsB,oDAAoD,EAAE,SAAS,CAAc,EAAM,EAAO,KAAK,CAAC,SAAS,CAAC,wCAAqD,EAAK,EAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,2CAA2C,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,OAAO,MAAM,CAAC,gDAAgD,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,aAAa,qBAAqB,2BAA2B,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,mBAAoC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qBAAqB,uBAAuB,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,qBAAqB,GAAG,EAAE,WAAWP,GAAU,SAASC,GAAW,SAAS,CAAc,EAAK,GAA6B,CAAC,sBAAsB,GAAK,SAAsB,EAAKM,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2FAA2F,uBAAuB,2GAA2G,+BAA+B,sCAAsC,0BAA0B,UAAU,uBAAuB,OAAO,0BAA0B,SAAS,sBAAsB,0CAA0C,EAAE,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,kBAAkB,MAAM,CAAC,gDAAgD,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,aAAa,qBAAqB,iBAAiB,EAAE,kBAAkB,SAAS,mBAAmB,EAAI,CAAC,EAAe,EAAK,GAA8B,CAAC,sBAAsB,GAAK,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2FAA2F,uBAAuB,2GAA2G,+BAA+B,sCAAsC,0BAA0B,UAAU,uBAAuB,OAAO,0BAA0B,SAAS,sBAAsB,0CAA0C,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,eAAe,MAAM,CAAC,gDAAgD,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,aAAa,qBAAqB,iBAAiB,EAAE,kBAAkB,SAAS,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,iBAAkC,mBAAiB,SAAS,YAAY,MAAM,CAAC,uBAAuB,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,qBAAqB,GAAG,EAAE,WAAWL,GAAW,SAAsB,EAAKP,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKY,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2FAA2F,uBAAuB,2GAA2G,qBAAqB,OAAO,+BAA+B,sCAAsC,0BAA0B,UAAU,uBAAuB,OAAO,0BAA0B,SAAS,sBAAsB,mDAAmD,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,gBAAgB,MAAM,CAAC,gDAAgD,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,aAAa,qBAAqB,0BAA0B,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAUryY,EAAE,CAVizY,gFAAgF,0RAA0R,8FAA8F,8XAA8X,+PAA+P,kRAAkR,+HAA+H,6PAA6P,8QAA8Q,gOAAgO,6QAA6Q,qYAAqY,sNAAsN,sUAAsU,+GAU9pf,EAAE,cAAc,EAAiC,GAAgB,YAAY,WAAW,GAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,GAAG,EAA+J,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,wCAAwC,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,yEAAyE,cAAA,CAApY,CAAC,aAAa,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,SAAS,IAAI,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,QAAQ,IAAI,MAAM,CAA2Q,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,EACvoB,GAAqB,CAAC,QAAU,CAAC,MAAQ,CAAC,KAAO,SAAS,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,QAAU,CAAC,KAAO,iBAAiB,KAAO,kBAAkB,MAAQ,CAAC,EAAE,YAAc,CAAC,qBAAuB,MAAM,sBAAwB,IAAI,sBAAwB,MAAM,yBAA2B,QAAQ,6BAA+B,OAAO,qBAAuB,OAAO,kBAAoB,OAAO,yBAA2B,OAAO,oCAAsC,kHAAoI,CAAC,EAAE,mBAAqB,CAAC,KAAO,UAAU,CAAC,CAAC,yCCXjnB,IAAiK,IAAkE,IAA4B,KAAmJ,EAAOO,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,EAAmPC,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,IAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,EAAiB,CAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,GAAS,EAAO,OAAOC,CAAc,EAAQC,IAAU,CAAC,SAAO,KAAG,OAAK,QAAM,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,UAAU,UAAU,GAAO,EAAM,WAAW,KAAK,GAAUC,IAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAWh9C,EAAgB,GAXi+CC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,GAAc,EAA0B,EAAqB,EAAE,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAG,GAAWJ,GAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,aAAU,mBAAgB,cAAW,aAAU,GAAgB,CAAC,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,EAAiB,CAAC,EAAQ,EAAiBC,GAAuB,EAAM,EAAQ,EAA4D,EAAkB,EAAGT,GAAlDa,EAA4F,EAAE,OAAoB,EAAK,GAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKP,GAAS,CAAC,QAAQ,GAAS,QAAQ,GAAM,SAAsB,EAAKH,GAAW,CAAC,MAAMD,GAAY,SAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,EAAG,EAAkB,iBAAiB,EAAU,CAAU,EAAE,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,GAAG,CAAK,EAAE,SAAsB,EAAKY,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKP,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2GAA2G,uBAAuB,2GAA2G,mCAAmC,wDAAwD,qBAAqB,OAAO,+BAA+B,gDAAgD,0BAA0B,UAAU,uBAAuB,MAAM,EAAE,SAAsB,EAAK,EAAK,CAAC,KAAK,EAAU,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,gDAAgD,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,sBAAsB,EAAE,KAAK,EAAU,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAWtzH,EAAE,CAXk0H,kFAAkF,sRAAsR,iHAAiH,GAAGQ,EAW5xI,EAAE,cAAc,EAAiC,EAAgB,YAAY,eAAe,EAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE,EAAoB,EAAgB,CAAC,UAAU,CAAC,MAAM,OAAO,KAAK,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,MAAM,gBAAgB,GAAM,MAAM,QAAQ,KAAK,EAAY,MAAM,EAAE,kBAAkB,CAAC,QAAQ,YAAY,KAAK,EAAY,aAAa,CAAC,CAAC,EAA+J,EAAS,EAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,wCAAwC,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,yEAAyE,cAAA,CAApY,CAAC,aAAa,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,SAAS,IAAI,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,QAAQ,IAAI,MAAM,CAA2Q,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,GAAwBC,EAAiB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCQz7B,SAAS,GAAa,EAAE,EAAS,IAAI,CAAC,IAAM,EAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAS,IAAI,CAAC,IAAM,EAAE,EAAE,EAAS,KAAK,GAAG,EAAQ,EAAI,KAAK,IAAI,CAAC,EAAQ,EAAI,KAAK,IAAI,CAAC,EAAQ,EAAE,KAAK,KAAK,CAAG,EAAW,KAAK,IAAI,CAAG,IAAE,EAAE,GAAS,EAAE,KAAK,KAAK,CAAG,EAAW,KAAK,IAAI,CAAG,IAAE,EAAE,GAAG,EAAI,KAAK,IAAI,GAAG,EAAE,EAAA,CAAG,QAAQ,CAAC,EAAE,IAAI,GAAG,EAAE,EAAA,CAAG,QAAQ,CAAC,GAAG,CAAE,CAAC,MAAM,IAAI,EAAI,GAAG,GAAG,EAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,EAAG,CAA2D,SAAS,GAAe,EAAI,CAAC,GAAK,CAAC,EAAK,GAASC,EAAe,IAAI,EAAoN,OAAlN,MAAoB,CAAC,GAAG,CAAC,EAAI,CAAC,EAAQ,IAAI,EAAE,MAAO,CAAC,IAAI,EAAM,GAAW,EAAI,IAAI,MAA+F,MAAzF,GAAI,WAAW,CAAI,GAAM,EAAQ,CAAC,EAAE,EAAI,aAAa,EAAE,EAAI,aAAa,CAAC,CAAE,EAAE,EAAI,IAAI,MAAc,CAAC,EAAM,EAAM,CAAE,EAAE,CAAC,CAAG,CAAC,EAAS,CAAK,CAIvsB,SAAS,GAAU,EAAK,CAAC,GAAG,CAAC,GAAM,CAAC,EAAK,GAAG,CAAC,EAAK,EAAE,OAAO,KAAK,IAAM,EAAE,GAAI,EAAK,EAAE,EAAK,CAAC,EAAQ,EAAE,EAAK,EAAE,EAAQ,EAAE,EAAK,EAAE,EAAmC,OAA9B,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAU,KAAW,CAAC,IAAE,CAAC,CAAE,CAI1K,SAAS,GAAU,EAAI,CAAC,YAAU,GAAG,SAAO,EAAE,OAAK,GAAK,UAAQ,IAAM,CAAC,GAAK,CAAC,EAAO,GAAWA,EAAe,EAAK,EAAyc,OAAvc,MAAoB,CAAC,GAAG,CAAC,EAAQ,OAAO,IAAM,EAAG,EAAI,QAAQ,GAAG,CAAC,GAAI,OAAO,qBAAuB,IAAY,CAAC,EAAU,EAAI,EAAE,MAAO,CAAC,IAAM,EAAG,IAAI,sBAAsB,CAAC,KAAS,CAAI,EAAM,gBAAgB,EAAU,EAAI,EAAK,GAAK,EAAG,WAAW,GAAY,GAAM,EAAU,EAAK,CAAG,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAS,CAAC,EAAE,WAAW,GAAG,EAAO,SAAS,EAAO,OAAO,CAAC,EAAiB,OAAf,EAAG,QAAQ,CAAE,MAAY,EAAG,WAAW,CAAE,EAAE,CAAC,EAAI,EAAU,EAAO,EAAK,CAAO,CAAC,EAAS,CAAO,CAAC,SAAS,IAAyB,CAAC,GAAK,CAAC,EAAQ,GAAYA,EAAe,EAAK,EAA4Q,OAA1Q,MAAoB,CAAC,GAAG,OAAO,YAAa,WAAW,OAAO,IAAM,EAAG,WAAW,kCAAkC,EAAE,EAAW,EAAG,OAAO,EAAE,IAAM,MAAO,EAAW,EAAG,OAAO,EAAqC,OAAnC,EAAG,mBAAmB,SAAS,CAAE,MAAY,EAAG,sBAAsB,SAAS,CAAE,CAAE,EAAE,CAAC,CAAC,EAAS,CAAQ,CAIv7B,SAAS,GAAK,EAAM,CAAC,GAAK,CAAC,UAAQ,OAAK,MAAI,IAAE,QAAM,WAAS,QAAM,UAAQ,QAAM,eAAa,aAAW,SAAO,aAAW,SAAO,SAAO,WAAS,YAAU,YAAU,EAEnK,EAAK,GAAa,EAAS,GAAI,CAAC,GAAG,CAAC,GAAO,GAAO,EAAE,MAAO,GAAE,IAAM,EAAE,KAAK,IAAI,EAAG,CAAO,EAAuB,OAAlB,GAAG,EAAa,EAAkB,KAAK,IAAI,EAAE,GAAO,KAAK,GAAG,EAAE,GAAE,CAAG,CAAC,EAAQ,GAAa,CAAC,UAAU,IAAI,EAAW,IAAI,QAAQ,GAAG,KAAK,EAAE,EAAQ,GAAM,EAAU,GAAa,EAAK,GAAG,GAAG,EAAQ,GAAG,CAAC,EAAE,EAAY,EAEhT,GAAO,GAAa,EAAK,GAAG,EAAM,KAAK,MAAM,EAAE,GAAG,CAAC,EAAE,OAAoB,EAAK,EAAO,IAAI,CAAC,QAAQ,GAAM,QAAQ,EAAkB,aAAW,MAAM,CAAC,SAAS,WAAW,KAAK,cAAc,EAAK,KAAK,MAAI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAM,GAAO,CAAK,EAAE,SAAsB,EAAM,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,EAAM,GAAM,EAAE,gBAAgB,EAAa,gBAAgB,QAAQ,EAAE,SAAS,CAAC,EAAO,GAAgB,EAAK,MAAM,CAAC,cAAc,GAAK,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,UAAU,cAAc,EAAE,IAAI,KAAK,OAAO,EAAU,sBAAsB,EAAE,IAAI,KAAK,QAAQ,EAAE,IAAI,KAAK,GAAG,EAAU,CAAC,GAAG,EAAU,QAAQ,CAAM,EAAE,CACtoB,aAAa,MAAM,WAAW,iBAAiB,EAAO,EAAE,CAAC,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,EAAkB,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,SAAwB,GAAQ,EAAM,CAAC,GAAK,CAAC,cAAY,gBAAc,EAAE,QAAM,cAAY,kBAAgB,IAAI,UAAQ,EAAE,OAAK,EAAE,OAAK,EAAE,QAAM,EAAE,YAAU,EAAE,SAAO,CAAC,EAAE,QAAM,EAAE,OAAK,IAAI,aAAU,IAAI,WAAQ,IAAI,QAAK,IAAI,SAAM,GAAG,WAAS,GAAG,SAAO,IAAI,UAAO,IAAI,OAAK,EAAE,UAAQ,mBAAmB,aAAU,IAAI,UAAO,EAAE,OAAK,GAAK,eAAY,EAAE,iBAAc,IAAI,iBAAe,GAAG,SAAO,IAAI,aAAU,IAAI,aAAW,GAAK,SAAM,GAAK,WAAQ,KAAK,cAAW,IAAI,cAAY,SAAS,aAAW,GAAG,MAAI,MAAM,aAAU,EAAE,WAAQ,EAAE,QAAK,EAAE,QAAK,SAAS,QAAM,EAAE,SAAO,EAAY,EAAIC,GAAY,CAAC,CAAC,QAAQ,gBAAgB,EAAE,EAAQ,GAAO,YAAY,IAAY,EAAW,kBAAkB,IAEryB,GAAS,EAAa,QAAQ,IAAI,EAAa,OAAa,GAAQ,GAAwB,EAAQ,EAAaC,EAAa,IAAI,EAAQ,EAAS,IAAU,OAAO,CAAC,IAAU,CAAC,GAEjL,CAAC,EAAW,IAAeF,EAAe,CAAC,EAAE,MAA0B,CAAC,IAAM,EAAG,EAAa,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAM,MAAY,GAAc,GAAG,KAAK,IAAI,EAAE,EAAG,WAAW,EAAE,GAAG,EAAE,EAAG,WAAW,EAAY,GAAV,EAAQ,EAAK,OAAO,eAAiB,IAAY,OAAO,IAAM,EAAG,IAAI,eAAe,CAAO,EAAiB,OAAf,EAAG,QAAQ,CAAE,MAAY,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAAE,IAAM,GAAW,GAAU,EAAa,CAAC,aAAU,UAAO,OAAK,QAAQ,GAAU,IAAU,kBAAkB,CAAC,EAAO,CAAC,EAAO,IAAWA,EAAe,EAAK,EAAE,MAAoB,CAAC,GAAG,IAAU,UAAU,CAAC,IAAM,EAAG,0BAA0B,GAAU,EAAI,CAAC,EAAE,UAAU,qBAAqB,CAAE,CAAE,CAAC,EAAE,CAAC,CAAO,CAAC,EAAE,IAAM,EAAM,CAAC,IAAW,IAAU,UAAU,EAAO,IACrrB,GAAS,EAAQ,GAAO,IAGoS,EAAQ,GAA3TG,MAAkB,CAAI,OAAQ,GAAG,EAAK,GAAuL,OAAjK,GAAa,KAAY,IAAS,QAAa,EAAO,WAAW,eAAe,KAAK,IAAI,EAAE,KAAK,MAAM,CAAe,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,QAAgB,EAAY,IAAY,GAAO,GAAI,EAAE,CAAC,EAAQ,EAAK,GAAa,IAAI,GAAO,IAAI,CAAe,CAAuC,CAAC,EAAQ,EAAMA,MAAkB,GAAU,CAAO,EAAE,CAAC,CAAO,CAAC,EACvZ,EAAK,EAAQ,EAAE,KAAK,MAAM,CAAO,EAAE,GAAO,GAAG,EAAQ,GAAS,EAAK,EAAE,KAAK,MAAM,CAAI,EAAE,GAAO,GAAG,EAAQ,EAAK,EAAK,GAA8F,EAAE,KAAK,IAAI,EAAE,GAAjF,GAAS,KAAK,IAAI,EAAE,KAAK,IAAI,EAAK,KAAK,MAAM,CAAK,GAAG,CAAI,CAAC,EAAE,EAAyC,EAAO,OAAO,EAAE,EAAO,OAAO,KAAK,MAAM,CAAK,CAAC,GAAgB,EAAE,GAAG,EAE3T,IAAM,GAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,CAAI,CAAC,EACjC,EAAW,EAAQ,GAAU,GAAG,CAAC,IAAM,GAAM,KAAK,MAAM,CAAS,EAAE,EAAW,GAAG,EAAW,EAAI,EAAK,EAAW,EAAI,KAAK,MAAM,EAAK,CAAI,EAEtI,EAAG,GAAM,EAAE,EAAE,IAAS,EAAG,IAAU,EAAE,EAAE,IACvC,GAAI,EAAI,IAAG,EAAW,GAAI,EAAI,IAAG,GACjC,EAAG,EAAG,EAAE,EAAG,GAAI,EAAG,GAAG,EAAQ,EAAG,EAAG,EAAE,EAAG,GAAI,EAAG,GAAG,EAAE,MAAM,CAAC,gBAAgB,GAAU,iBAAiB,YAAY,eAAe,GAAG,EAAG,IAAI,IAAI,EAAG,IAAI,GAAG,mBAAmB,GAAG,EAAG,IAAI,IAAI,EAAG,IAAI,EAAE,CAAE,EAAQ,GAAKA,MAAkB,GAAa,CAAM,EAAE,CAAC,CAAM,CAAC,EAAQ,EAAS,GAAO,IAAI,IAAI,EAAW,4BAA4B,EAAM,IAAI,QAAQ,GAAa,IAAI,sBAAsB,KAAK,IAAI,EAAE,KAAK,MAAM,CAAe,EAAE,CAAC,EAAE,QAAW,EAAW,4BAA4B,EAAY,IAAI,SAAS,IAAI,GAG1f,GAAW,GAAG,CAAC,IAAM,GAAG,EAAE,GAAG,EAAQ,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAa,KAAU,KAAK,IAAI,EAAE,CAAC,CAAE,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAQ,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAE,IAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAE,EAAQ,EAAU,EAAW,EAAE,GAAY,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,EAAS,CAAC,GAAG,EAElY,EAAW,EAAM,GAAQ,EAAE,GAAG,EAAU,GAAG,GAAQ,GAAG,IAAM,QAAQ,CAAC,KAAM,EAAW,GAAG,EAAU,GAAW,CAAU,CAAC,CAAC,KAAK,IAAS,GAAY,EAAE,IAAS,EAAM,EAAW,IAAG,EAAW,EAAE,GAAQ,KAAK,OAAO,EAAE,GAAG,CAAC,EAAG,CAAC,EAAW,GAAQ,IAAM,GAAK,GAAW,CAAU,EAE/Q,GAAW,EAAU,EAAE,EAAU,GAAK,KAAK,EAAW,EAAQ,IAAM,SAAS,GAAW,EAAE,EAAK,IAAM,OAAO,GAAW,KAAK,IAAI,EAAK,EAAU,EAEjH,GAAM,GAAlC,EAAK,EAAE,EAAQ,EAAK,GAA+B,GAAG,EAAiB,IAAS,GAAG,GAAG,EAAQ,GAAM,MAAM,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,EAAO,CAAC,EAAQ,GAAO,GAAK,EAAE,IAAI,GAAG,EAAE,CAAO,EAAQ,GAAG,GAAK,EAAE,IAAI,GAAG,EAAE,CAAO,EAAQ,GAAM,GAAK,MAAM,EACxP,GAAU,KAAK,MAAM,EAAO,EAG5B,GAAO,GAAG,GAAK,EAAiB,IAAE,GAIlC,GAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,CAAM,CAAC,EAAQ,GAAW,IAAU,OAAO,EAAO,EAAE,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,GAAE,KAAK,KAAK,EAAE,GAAE,EAAC,CAAC,EAAE,EAAmD,GAAK,KAAK,IAAI,GAA/C,IAAO,GAAQ,EAAE,GAAQ,CAA0C,EAI7M,GAAU,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,IAAI,EAAE,GAAO,GAAG,CAAC,CAAC,EAAQ,GAAU,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,IAAI,EAAE,GAAO,GAAG,GAAK,CAAC,CAAC,EAAQ,GAAO,KAAK,KAAK,KAAK,IAAI,EAAE,GAAU,EAAS,CAAC,EAAE,EAEhE,GAAO,KAAK,KAAK,KAAK,IAAI,GAAG,GAAO,IAAzI,GAAG,KAAK,IAAI,GAAG,GAAW,GAAG,EAAE,IAAO,GAAQ,EAAE,GAAG,GAAQ,IAAI,IAAc,SAAS,EAAE,IAAI,CAAC,CAAqD,CAAC,CAAC,EAAE,EAK5J,GAAQ,KAAO,SAAS,GAAO,EAAQ,GAAK,KAAO,SAAS,CAAC,KAAK,CAAC,GAAO,MAAM,CAAC,GAAO,IAAI,CAAC,GAAO,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,KAAO,QAAQ,SAAS,SAAS,EAAQ,GAAW,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,EAAI,CAAC,EAAQ,GAAQ,GAAW,EAAE,kDAAkD,GAAW,IAAI,UAAU,IAAI,GAAW,IAAI,sBAAsB,IAAA,GAE1Y,GAAK,IAAU,GAAS,GAAe,EAAI,EAAQ,GAAc,GAAG,CAE1E,GAAG,CAAC,IAAO,EAAE,cAAc,QAAQ,OAAO,IAAM,EAAE,EAAE,cAAc,sBAAsB,EAAE,GAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAE,EAAQ,OAAmB,GAAS,IAAI,EAAI,EAAQ,GAAO,CAAC,KAAK,SAAS,SAAS,EAAe,QAAM,EAAE,OAAoB,EAAM,MAAM,CAAC,IAAI,EAAa,UAAU,EAAyB,iBAA6B,kBAAe,MAAM,CAAC,SAAS,WAE9X,MAAM,EAAM,eAAe,EAAM,EAAE,KAAK,OAAO,WAAW,EAAM,CAAC,EAAM,IAAA,GAAU,YAAY,EAAM,CAAC,EAAM,IAAA,GAAU,OAAO,OAE3H,SAAS,UAAU,GAAG,GAAQ,CAAC,gBAAgB,GAAQ,UAAU,GAEjE,iBAAiB,YAAY,WAAW,YAAY,eAAe,YAAY,SAAS,WAAW,EAAE,CAAC,EAAE,GAAG,CAAK,EAAE,SAAS,CAAC,GAM5F,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAQ,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC,SAAS,UAAU,EAAE,cAAc,GAAK,SAAsB,EAAK,OAAO,CAAC,SAAsB,EAAK,WAAW,CAAC,GAAG,GAAO,cAAc,oBAAoB,SAAsB,EAAK,OAAO,CAAC,EAAE,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,GAAG,EAAI,EAAE,SAAS,MAAM,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAM,EAAE,GAAM,GAAS,EAAE,GAAO,GAAS,EAAO,IAAI,GAClf,EAAS,EAAO,EAAY,IAAA,GAAgB,EAAM,GAAU,EAAO,GAAS,EAAM,GAAmB,EAAE,GAAmB,QAAc,EAAY,EAAQ,EAAE,KAAK,IAAI,GAAQ,CAAC,EAA1B,EACtJ,EAAO,EAAW,CAAC,EAAE,GAAG,IAAW,GAAG,GAAG,EAAE,GAAO,GAAM,GAAU,EAAE,GAAO,CAAC,GAAG,GAAO,IAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAoB,EAAK,GAAK,CAAC,QAAQ,GAAG,GAAG,GAAM,KAAK,GAAG,GAAG,GAAM,EAAE,EAAE,IAAI,GAAM,GAAQ,GAAO,CAAC,EAAI,IAAE,MAAM,KAAK,OAAO,GAAG,GAAG,EAAE,EAAW,YAAS,MAAM,IAAO,KAAU,EAAU,WAAQ,MAAM,GAAW,EAAQ,aAAa,IAAc,SAAoB,aAAkB,UAAc,UAAO,OAAO,EAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAW,EAAE,EAAO,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAU,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAO,MAAM,GAAU,QAAQ,CAAC,EAAE,WAAW,CAAC,GAAG,GAAO,MAAM,EAAM,GAAY,KAAK,IAAI,EAAE,EAAE,GAAM,GAAU,EAAE,GAAc,CAAC,EAAE,UAAU,GAAU,KAAK,GAAO,IAAI,CAAC,gBAAgB,SAAS,GAAU,EAAA,CAAO,IAAI,IAAI,eAAe,QAAQ,mBAAmB,SAAS,iBAAiB,WAAW,EAAE,GAAS,GAAU,CAAC,EAAE,IAAA,GAAU,SAAS,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,SAAS,QAAQ,GAAO,GAAG,SAAS,SAAS,GAAG,EAAS,CAAC,EAAE,GAAS,GAAU,CAAC,EAAE,EAAM,CAAC,EAAE,CAAC,WAAW,CAAK,CAAC,EAAE,SAAS,IAAQ,GAAU,CAAC,UAAgB,CAOniC,IAAM,EAAG,EAAS,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,CAAa,CAAC,EAAE,EAAE,OAAoB,EAAK,MAAM,CAAC,IAAI,EAAM,IAAI,OAAO,EAAM,OAAO,IAAI,EAAM,KAAK,GAAG,MAAM,EAAG,EAAE,CAAC,SAAS,WAAW,KAAK,EAAE,IAAI,GAAG,CAAC,GAAI,EAAE,GAAI,IAAI,GAAG,MAAM,OAAO,OAAO,GAAG,GAAG,EAAE,GAAI,IAAI,GAAG,UAAU,QAAQ,QAAQ,OAAO,EAAE,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,QAAQ,OAAO,CAAC,CAAC,CAAE,EAAA,CAAG,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,+BA1GpT,IAA4B,IAAwE,IAAiE,EAgBvN,GAAU,wBAA8B,GAAmB,CAAC,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,SAAS,EAIwhB,IAAK,EAAE,IAAI,EAAE,GAAI,EAAE,EAAE,CAAC,EAAE,EAsF5X,GAAQ,YAAY,WAAW,EAAoB,GAAQ,CAAC,YAAY,CAAC,KAAK,EAAY,gBAAgB,MAAM,SAAS,YAAY,qEAAqE,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,KAAK,YAAY,kEAAkE,OAAO,GAAG,CAAC,EAAE,aAAa,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,QAAQ,YAAY,oGAAoG,EAAE,YAAY,CAAC,KAAK,EAAY,gBAAgB,MAAM,eAAe,YAAY,sHAAsH,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,KAAK,KAAK,YAAY,sDAAsD,OAAO,GAAG,CAAC,EAAE,aAAa,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,YAAY,0CAA0C,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,KAAK,YAAY,8BAA8B,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,YAAY,6BAA6B,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,YAAY,wCAAwC,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,QAAQ,CAAC,KAAK,EAAY,eAAe,EAAE,aAAa,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,EAAQ,EAAE,OAAO,GAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,OAAO,GAAG,EAAQ,EAAE,OAAO,MAAO,EAAE,QAAQ,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,YAAY,+CAAkD,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,YAAY,kDAAwD,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,aAAa,mBAAmB,QAAQ,CAAC,mBAAmB,UAAU,KAAK,EAAE,YAAY,2DAA2D,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,YAAY,sDAAsD,OAAO,GAAG,EAAE,UAAU,kBAAkB,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,KAAK,KAAK,YAAY,yCAAyC,OAAO,GAAG,EAAE,UAAU,kBAAkB,EAAE,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAK,aAAa,OAAO,cAAc,aAAa,OAAO,GAAG,EAAE,UAAU,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,YAAY,2CAA2C,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,YAAY,4BAA4B,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAK,aAAa,cAAc,cAAc,WAAW,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,MAAM,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,YAAY,2CAA2C,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,KAAK,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,YAAY,8CAA8C,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,YAAY,mDAAmD,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,SAAS,QAAQ,CAAC,SAAS,QAAQ,EAAE,wBAAwB,GAAK,YAAY,iDAAiD,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,aAAa,MAAM,QAAQ,CAAC,QAAQ,MAAM,MAAM,EAAE,wBAAwB,GAAK,YAAY,2FAA2F,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,YAAY,yDAAyD,OAAO,GAAG,EAAE,MAAM,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,YAAY,yFAAyF,OAAO,GAAG,EAAE,MAAM,OAAO,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,SAAS,QAAQ,CAAC,SAAS,QAAQ,MAAM,EAAE,wBAAwB,GAAK,YAAY,uHAAuH,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,YAAY,wGAAwG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,YAAY,kDAAkD,CAAC,CAAC,2BCzG95N,EAAC,GAAU,UAAU,CAAC,CAAC,EAAe,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAeC,GAAI,CAAC,4QAA4Q,EAAe,GAAU,kBCAqO,SAASC,GAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,mDAAnwB,IAA0K,IAAkE,IAA4B,EAAiC,GAAgB,CAAC,UAAU,CAAC,MAAM,EAAI,EAAE,UAAU,CAAC,MAAM,EAAI,EAAE,UAAU,CAAC,MAAM,EAAI,CAAC,EAAQC,GAAW,CAAC,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,iBAAiB,EAAyNC,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,IAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,EAAiB,CAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,GAAwB,CAAC,QAAQ,YAAY,QAAQ,YAAY,QAAQ,WAAW,EAAQC,GAAS,EAAO,OAAOC,CAAc,EAAQC,IAAU,CAAC,SAAO,KAAG,OAAK,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,UAAU,QAAQH,GAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAUI,IAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAWzpD,GAAgB,GAX0qDC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,GAAc,EAAQ,EAAkB,EAAqB,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,GAAG,GAAWJ,GAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,aAAU,mBAAgB,cAAW,aAAU,GAAgB,CAAC,WAAA,GAAW,eAAe,YAAY,mBAAgB,IAAI,EAAW,UAAQ,kBAAA,EAAiB,CAAC,EAAQ,EAAiBC,GAAuB,EAAM,EAAQ,EAAuC,EAAkB,EAAGV,EAA0C,EAAQ,OAAgG,EAA5E,CAAC,kBAAkB,iBAAiB,CAAC,CAAC,SAAS,CAAc,GAAkB,CAAC,YAAY,WAAW,CAAC,CAAC,SAAS,CAAW,GAAmC,MAAqB,IAAiB,mBAAiC,IAAc,YAA6C,OAAqB,IAAiB,mBAAiC,IAAc,YAAuC,OAAoB,EAAK,GAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKO,GAAS,CAAC,QAAQ,GAAS,QAAQ,GAAM,SAAsB,EAAKJ,GAAW,CAAC,MAAMD,GAAY,SAAsB,EAAK,EAAK,CAAC,KAAK,EAAU,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAM,EAAO,EAAE,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,EAAG,EAAkB,gBAAgB,EAAU,CAAU,EAAE,gBAAgB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAGJ,GAAqB,CAAC,UAAU,CAAC,mBAAmB,SAAS,EAAE,UAAU,CAAC,mBAAmB,SAAS,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAC,GAAY,GAAgB,EAAKgB,EAAO,CAAC,WAAW,CAAC,IAAI,cAAc,IAAI,OAAO,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAA2B,GAAmB,GAAG,KAAK,GAAmB,QAAQ,IAAI,kBAAkB,EAAE,EAAE,YAAY,GAAG,WAAW,GAAG,MAAM,OAAO,IAAI,wFAAwF,EAAE,UAAU,iBAAiB,mBAAmB,UAAU,UAAU,QAAyB,mBAAiB,SAAS,WAAW,CAAC,EAAE,EAAa,GAAgB,EAAKA,EAAO,CAAC,WAAW,CAAC,IAAI,oBAAoB,IAAI,OAAO,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,yFAAyF,EAAE,UAAU,iBAAiB,mBAAmB,UAAU,UAAU,QAAyB,mBAAiB,SAAS,YAAY,GAAGhB,GAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,oBAAoB,IAAI,OAAO,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAA2B,GAAmB,GAAG,KAAK,GAAmB,QAAQ,IAAI,kBAAkB,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,MAAM,OAAO,IAAI,yFAAyF,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAE,GAAa,GAAgB,EAAKgB,EAAO,CAAC,WAAW,CAAC,IAAI,oBAAoB,IAAI,OAAO,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,wFAAwF,EAAE,UAAU,iBAAiB,mBAAmB,UAAU,UAAU,QAAyB,mBAAiB,SAAS,YAAY,GAAGhB,GAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,oBAAoB,IAAI,OAAO,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAA2B,GAAmB,GAAG,KAAK,GAAmB,QAAQ,IAAI,kBAAkB,EAAE,EAAE,YAAY,GAAG,WAAW,GAAG,MAAM,OAAO,IAAI,wFAAwF,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAW1oL,EAAE,CAXspL,gFAAgF,oIAAoI,uMAAuM,qNAAqN,kNAWpwM,EAAE,cAAc,EAAiC,GAAgB,YAAY,iBAAiB,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE,EAAoB,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,UAAU,SAAS,EAAE,MAAM,UAAU,KAAK,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,OAAO,KAAK,EAAY,IAAI,CAAC,CAAC,EAAE,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCX4hC,SAAS,GAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,qEAA9nD,IAA2T,IAAkE,IAA4B,KAAgJ,KAA0H,KAAyH,KAA0H,KAAkH,KAAwH,EAAO,GAAa,EAAS,EAAO,EAAQ,GAAmB,EAASiB,EAAa,EAAQ,GAAa,EAASC,EAAO,EAAQ,GAAW,CAAC,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,iBAAiB,EAA+LC,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,IAAoB,EAAE,IAAI,oBAAoB,IAAU,IAAa,EAAM,IAAM,CAAI,MAAC,GAAO,OAAO,GAAQ,UAAkB,MAAM,CAAC,GAAG,EAAM,KAAG,CAAE,EAAQC,IAAc,GAAG,IAAO,CAAC,IAAI,IAAM,KAAO,EAAM,GAAG,GAAK,OAAO,GAAM,SAAS,OAAO,CAAsB,EAAQ,IAAc,EAAK,EAAS,IAAiB,CAAC,OAAO,EAAK,MAAZ,CAAmB,IAAI,UAAU,OAAO,EAAS,SAAS,EAAe,IAAI,UAAU,OAAO,EAAS,SAAS,EAAe,IAAI,QAAQ,OAAO,EAAS,OAAO,EAAe,IAAI,aAAa,OAAO,EAAS,YAAY,EAAe,QAAQ,OAAO,CAAe,CAAC,EAAQ,IAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,EAAiB,CAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,GAAwB,CAAC,QAAQ,YAAY,MAAM,YAAY,OAAO,WAAW,EAAQ,GAAS,EAAO,OAAOC,CAAc,EAAQC,IAAU,CAAC,SAAO,KAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,QAAQF,GAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAU,IAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAUxjG,GAAgB,GAVykGG,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,GAAc,EAAQ,EAAkB,EAAqB,EAAO,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,GAAG,GAAWH,GAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,aAAU,mBAAgB,cAAW,YAAU,GAAgB,CAAC,cAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,EAAiB,CAAC,EAAQ,EAAiB,GAAuB,EAAM,CAAQ,EAA0G,GAAkB,EAAGT,GAAhGa,GAAsBC,GAAuBC,EAA6F,EAAE,OAAoB,EAAK,GAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAK,GAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAK,GAAW,CAAC,MAAMb,GAAY,SAAsB,EAAM,EAAO,OAAO,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,EAAG,GAAkB,gBAAgBc,EAAU,CAAU,EAAE,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,gBAAgB,eAAe,GAAG,CAAK,EAAE,GAAG,GAAqB,CAAC,UAAU,CAAC,mBAAmB,QAAQ,EAAE,UAAU,CAAC,mBAAmB,OAAO,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,EAAKC,EAAO,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,IAAI,GAAmB,QAAQ,KAAK,GAAG,EAAE,YAAY,KAAK,WAAW,KAAK,MAAM,GAAmB,OAAO,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,iBAAiB,mBAAmB,aAAa,UAAU,QAAQ,kBAAkB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,KAAK,mEAAmE,WAAW,kEAAkE,EAAE,kBAAkBd,GAAmB,GAAG,GAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,GAAG,CAAC,EAAE,YAAY,KAAK,WAAW,KAAK,MAAM,GAAmB,OAAO,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,GAAG,CAAC,EAAE,YAAY,KAAK,WAAW,KAAK,MAAM,GAAmB,OAAO,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,SAAsB,EAAK,EAA0B,CAAC,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAsB,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,GAAQ,CAAC,MAAM,GAAY,CAAC,YAAY,KAAK,WAAW,KAAK,IAAI,8FAA8F,OAAO,2UAA2U,EAAE,EAAE,EAAE,gBAAgB,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,YAAY,GAAY,CAAC,YAAY,KAAK,WAAW,KAAK,IAAI,8FAA8F,OAAO,sNAAsN,EAAE,EAAE,EAAE,cAAc,KAAK,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,EAAE,IAAI,MAAM,WAAW,GAAK,UAAU,IAAI,OAAO,OAAO,MAAM,GAAM,YAAY,SAAS,WAAW,IAAI,WAAW,GAAG,GAAG,YAAY,OAAO,CAAC,EAAE,SAAS,YAAY,QAAQ,KAAK,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAY,CAAC,YAAY,IAAI,WAAW,IAAI,IAAI,4FAA4F,OAAO,iNAAiN,EAAE,EAAE,EAAE,KAAK,GAAK,QAAQ,IAAI,YAAY,EAAE,eAAe,GAAG,cAAc,IAAI,KAAK,EAAE,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,UAAU,IAAI,SAAS,GAAG,QAAQ,mBAAmB,KAAK,KAAK,MAAM,OAAO,GAAG,GAAqB,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,cAAc,GAAK,mBAAmB,eAAgC,mBAAiB,SAAS,YAAY,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,4BAA4B,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,SAAS,qBAAqB,KAAK,EAAE,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,eAAgC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAKc,EAAO,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,cAAc,IAAI,OAAO,gBAAgB,IAAI,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,YAAY,IAAI,WAAW,KAAK,MAAM,OAAO,IAAI,wGAAwG,OAAO,weAAwe,EAAE,UAAU,+BAA+B,mBAAmB,cAAc,kBAAkB,SAA0B,mBAAiB,SAAS,YAAY,GAAG,GAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,cAAc,IAAI,OAAO,gBAAgB,IAAI,eAAe,KAAK,YAAY,IAAI,WAAW,KAAK,MAAM,OAAO,IAAI,wGAAwG,OAAO,weAAwe,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,cAAc,IAAI,OAAO,gBAAgB,IAAI,eAAe,KAAK,QAAQ,GAA2B,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,YAAY,IAAI,WAAW,KAAK,MAAM,OAAO,IAAI,wGAAwG,OAAO,weAAwe,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,EAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAqB,CAAC,UAAU,CAAC,EAAE,IAAA,EAAS,EAAE,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,GAA8B,CAAC,UAAU,2BAA4C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKnB,GAAc,CAAC,UAAU,0BAA0B,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQM,GAAa,WAAW,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAqB,CAAC,UAAU,CAAC,EAAE,IAAA,EAAS,EAAE,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKN,GAAc,CAAC,UAAU,qCAAqC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQM,GAAa,WAAW,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAqB,CAAC,UAAU,CAAC,EAAE,IAAA,EAAS,EAAE,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKN,GAAc,CAAC,UAAU,wCAAwC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQM,GAAa,WAAW,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,eAAgC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKc,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,oBAAoB,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,oBAAoB,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,EAAK,CAAC,KAAK,4BAA4B,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKU,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,oBAAoB,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,EAAK,GAAc,CAAC,OAAO,oFAAoF,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,OAAO,YAAY,YAAY,CAAC,UAAU,WAAW,EAAE,iBAAiB,GAAG,SAAS,GAAwB,EAAMW,GAAU,CAAC,SAAS,CAAc,EAAM,EAAO,MAAM,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKD,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKV,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAS,2DAA2D,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,GAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAM,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAS,CAAC,gCAA6C,EAAK,EAAO,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKY,EAAmB,CAAC,UAAU,iBAAiB,UAAU,QAAyB,mBAAiB,SAAS,YAAY,YAAY,uBAAuB,SAAS,GAAK,MAAM,CAAC,4BAA4B,4BAA4B,qCAAqC,MAAM,8BAA8B,2BAA2B,mCAAmC,MAAM,2CAA2C,OAAO,4CAA4C,OAAO,wCAAwC,OAAO,yCAAyC,OAAO,oCAAoC,MAAM,8BAA8B,QAAQ,kCAAkC,MAAM,4BAA4B,qBAAqB,iCAAiC,OAAO,mCAAmC,oBAAoB,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,GAAqB,CAAC,UAAU,CAAC,EAAE,IAAA,EAAS,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,OAAO,GAAmB,OAAO,QAAQ,kBAAkB,GAAG,GAAmB,GAAG,GAAG,MAAM,GAAmB,QAAQ,KAAK,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA0B,mBAAmB,SAA0B,mBAAiB,SAAS,sBAAsB,KAAK,SAAS,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKrB,GAAQ,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,SAAS,UAAU,GAAK,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,KAAK,SAAS,QAAQ,GAAa,EAAU,CAAC,QAAQ,YAAY,QAAQ,WAAW,EAAEK,GAAa,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,MAAM,CAAC,WAAW,0FAA0F,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAU/t1B,EAAE,CAV2u1B,gFAAgF,gTAAgT,6NAA6N,gRAAgR,yGAAyG,iSAAiS,mQAAmQ,0QAA0Q,oRAAoR,yLAAyL,6QAA6Q,gSAAgS,8UAA8U,icAAic,4RAA4R,0QAA0Q,qKAAqK,0eAA0e,oHAAoH,kXAAkX,8FAA8F,4HAA4H,4EAA4E,gHAAgH,uFAAuF,oEAAoE,8FAA8F,4EAA4E,iIAAiI,iHAAiH,wGAAwG,6IAA6I,kGAAkG,2EAA2E,GAAGiB,GAAgB,GAAGC,GAAiB,GAAGC,GAAiB,sdAU3ziC,EAAE,cAAc,EAAiC,GAAgB,YAAY,SAAS,GAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE,EAAoB,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,SAAS,OAAO,EAAE,MAAM,UAAU,KAAK,EAAY,IAAI,CAAC,CAAC,EAA+J,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,wCAAwC,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,yEAAyE,cAAA,CAApoE,CAAC,aAAa,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,SAAS,IAAI,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,QAAQ,IAAI,MAAM,CAA2gE,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,GAAa,GAAG,GAAmB,GAAG,GAAa,GAAG,GAAwBC,EAAiB,EAAE,GAAG,GAAwBC,EAAkB,EAAE,GAAG,GAAwBC,EAAkB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,EAAE,GAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,EAAc5B,GAAc,CAAC,EAAE,CAAO,EAAE,EAAcC,GAAQ,CAAC,EAAE,CAAO,CAAC,CAAC,EAAG,KCXrgF,SAAS,GAAW,EAAE,EAAM,CAAC,IAAM,EAAE,EAAE,UAAU,EAAQ,EAAG,EAAE,WAAW,EAAQ,EAAK,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,wBAAwB,EAAE,UAAU,GAAG,YAAY,EAAE,kBAAkB,EAAE,MAAM,GAAG,eAAe,EAAE,sBAAsB,EAAE,UAAU,GAAG,SAAS,EAAE,gBAAgB,EAAE,SAAS,GAAG,8BAA8B,IAAI,EAAA,CAAI,QAAQ,CAAC,EAAE,GAAG,2BAA2B,IAAI,EAAA,CAAI,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAK,KAAK,KAAK,MAAM,EAAK,GAAG,EAAE,MAAM,KAAK,MAAM,EAAK,EAAE,EAAE,kBAAkB,EAAM,IAAI,IAAI,EAAA,CAAI,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAE,CAAiM,SAAS,GAAiB,EAAG,CAAC,IAAM,EAAE,EAAG,MAAY,EAAE,KAAK,IAAI,EAAE,EAAG,MAAM,EAAQ,EAAG,EAAG,UAAgB,EAAG,EAAG,UAAU,MAAM,uBAAuB,EAAE;2BACzvC,EAAG;8BACA,EAAE;8BACF,IAAI,EAAE;2BACT,EAAG;8BACA,IAAI,EAAE;8BACN,IAAI,EAAE;2BACT,EAAG,UAAW,CAUtC,SAAS,GAAc,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAM,EAAK,GAAG,OAAO,GAAI,SAAS,GAAG,EAAE,IAAI,EAAQ,EAAI,CAAC,EAEvC,OAF4C,EAAE,YAAW,EAAI,KAAK,gBAAgB,EAAE,WAAW,aAAa,EAAK,EAAE,UAAU,MAAK,EAAI,KAAK,cAAc,EAAK,EAAE,QAAQ,EAAE,aAAa,EAAK,EAAE,eAAe,MAAK,EAAI,KAAK,mBAAmB,EAAK,EAAE,aAAa,EAAE,aAAa,EAAK,EAAE,YAAY,MAAK,EAAI,KAAK,gBAAgB,EAAE,WAAW,aAAa,EAEzZ,EAAI,KAAK,eAAe,EAAE,WAAW,SAAS,aAAa,EAAS,EAAI,KAAK;qBAAwB,CAAE,CAalE,SAAS,GAAW,EAAM,CAAC,GAAG,CAAC,EAAM,OAAO,KAAK,IAAM,EAAE,EAAM,KAAK,EAAE,GAAG,IAAI,cAAc,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAE9I,IAAI,EAAE,EAAE,MAAM,2EAA2E,EAAE,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAE,CAAyF,GAAxF,EAAE,EAAE,MAAM,4EAA4E,EAAK,EAAE,MAAM,CAAE,EAAE,GAAG,IAAK,EAAE,GAAG,IAAK,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,EAAmC,GAAjC,EAAE,EAAE,MAAM,qBAAqB,EAAK,EAAE,CAAC,IAAI,EAAE,EAAE,IAAM,EAAE,SAAS,GAAG,EAAE,SAAS,KAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAE,IAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAE,CAAC,OAAO,IAAK,CAAiD,SAAS,GAAc,EAAG,EAAG,CAAC,IAAM,EAAE,EAAG,GAAG,EAAG,IAAI,EAAE,EAAG,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,EAAG,IAAI,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,IAAI,EAAE,EAAG,KAAK,EAAE,MAAM,CAAC,EAAG,CAAC,EAAE,EAAG,CAAC,EAAE,EAAG,CAAC,EAAE,CAAC,CAAE,CAA4D,SAAS,GAAkB,EAAE,CAAC,IAAM,EAAE,GAAG,CAAC,IAAM,EAAE,EAAE,IAAI,OAAO,GAAG,OAAO,EAAE,QAAgB,EAAE,MAAM,QAAM,GAAK,EAAE,MAAO,OAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAE,CAO/+B,SAAS,GAAqB,EAAQ,CAA2C,GAAvC,CAAC,GAAS,IAAU,QAAsB,CAAC,cAAc,KAAK,CAAO,EAAE,OAAO,KAAK,IAAM,EAAM,EAAQ,MAAM,wDAAwD,EAAE,GAAG,CAAC,GAAO,OAAO,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAM,KAAS,EAAM,CAAC,IAAM,EAAE,GAAW,CAAK,EAAM,IAAW,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAK,CAU/Y,SAAS,GAAY,EAAM,EAAQ,CAAC,IAAM,EAAE,GAAW,CAAK,EAAE,GAAG,CAAC,EAAE,OAAO,EAAM,GAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAQ,EAAM,GAAG,KAAK,MAAM,CAAC,EAAE,MAAM,OAAO,EAAM,CAAC,EAAE,GAAG,EAAM,CAAC,EAAE,GAAG,EAAM,CAAC,EAAE,UAAU,EAAE,+BAA+B,EAAQ,IAAK,CAAC,SAAS,GAAe,EAAI,EAAE,EAAE,CAAC,GAAG,OAAO,SAAW,KAAa,CAAC,SAAS,kBAAkB,OAAO,KAE/U,IAAM,EAAM,SAAS,kBAAkB,EAAE,CAAC,EAAM,EAAI,KAAK,IAAI,IAAM,KAAM,EAAM,CAAC,GAAG,IAAK,GAAK,EAAI,SAAS,CAAE,EAAE,SAC9G,IAAM,EAAS,EAAG,UAAU,iBAAiB,EAAE,GAAG,EAAS,CAAC,IAAM,EAAE,WAAW,EAAS,aAAa,eAAe,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,IAAM,EAAG,iBAAiB,CAAE,EAAE,GAAG,EAAG,aAAa,UAAU,EAAG,UAAU,IAAI,SAAS,IAAI,EAAE,GAAW,EAAG,eAAe,EAA6D,IAAxD,CAAC,GAAG,EAAE,KAAK,KAAE,EAAE,GAAqB,EAAG,eAAe,GAAK,CAAC,GAAG,EAAE,KAAK,EAAE,SACvY,IAAM,EAAE,WAAW,EAAG,OAAO,EAA6E,GAAxE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAE,EAAI,EAAI,GAAc,EAAI,CAAC,EAAE,EAAK,EAAI,IAAI,KAAK,KAAM,CAAC,GAAG,CAAC,EAAI,OAAO,KAEhJ,IAAM,EAAK,GAAW,iBAAiB,SAAS,IAAI,CAAC,CAAC,eAAe,EAAQ,EAAM,GAAM,EAAK,GAAG,EAAE,CAAC,EAAK,GAAG,EAAK,GAAG,EAAK,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,EAAwD,MAAM,CAAC,OAAO,KAAK,MAA7D,EAAI,IAAI,KAAK,EAAI,GAAc,EAAI,CAAK,CAAgC,CAAE,CAAC,SAAwB,GAAY,EAAM,CAAC,GAAK,CAAC,QAAM,UAAQ,WAAS,SAAO,cAAY,WAAS,UAAQ,eAAa,WAAS,uBAAqB,qBAAmB,YAAU,YAAS,kBAAe,iBAAc,eAAY,UAAQ,SAAO,eAAY,eAAa,gBAAa,aAAU,eAAa,eAAY,aAAW,YAAU,WAAQ,OAAK,YAAS,UAAO,QAAK,kBAAgB,gBAAc,kBAAgB,kBAAe,QAAK,UAAO,EAAY,GAAiB,GAAoB,EAAQ,EAAa,GAAiB,EAAQ,EAAa,CAAC,GAAG,GAAsB,GAAG,EAAO,EAAQ,EAAU,CAAC,GAAG,GAAa,GAAG,CAAI,EAAQ,GAAc,CAAC,GAAG,GAAkB,GAAG,EAAa,IAAI,EAAQ,EAAW,CAAC,GAAG,GAAe,GAAG,EAAM,EAAQ,GAAU,CAAC,GAAG,GAAiB,GAAG,EAAQ,EAAQ,GAAc,CAAC,GAAG,GAAsB,GAAG,EAAa,QAAQ,EAAQ,EAAI,CAAC,GAAG,GAAe,GAAG,CAAM,EACzmC,EAAO4B,EAAa,IAAI,EAAQ,EAAc,OAAOC,GAAY,CAAC,CAAC,QAAQ,kBAAkB,EAAE,EAY/F,GAAY,GAAU,EAAE,iBAAiB,EAAE,GAAU,IAAA,CAAK,QAAQ,CAAC,EAAE,GAAG,KAAW,GAAY,GAAe,EAA6D,EAAK,CAAC,GAAG,GAAa,GAAG,CAAY,EAMtN,MAAoB,CAAC,IAAM,EAAI,EAAO,QAAQ,GAAG,CAAC,EAAI,OAAO,GAAG,EAAK,UAAU,IAAO,GAAiB,CAAC,EAAI,MAAM,YAAY,aAAa,GAAG,EAAE,MAAO,CAAC,GAAU,IAAS,OAAY,OAAO,IAAI,EAAI,EAAM,EAAK,GAAS,MAAQ,CAAC,EAAI,EAAE,IAAM,EAAI,EAAI,cAAc,gBAAgB,EAAE,GAAG,CAAC,EAAI,OAAO,IAAM,EAAE,EAAI,sBAAsB,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,QAAQ,EAAE,OAAO,IAAM,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAK,OAAO,CAAC,CAAC,EAAM,EAAI,EAAM,EAAK,EAAM,EAAO,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAM,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAQ,EAAE,GAAe,EAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,QAAQ,KAAK,CAAC,EAAO,EAAE,OAAO,KAAM,CAIxoB,IAAM,EAAI,GAAkB,EAAE,KAAK,EAAQ,GAAQ,KAAK,IAAI,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,GAAK,EAAO,EAAK,cAAc,EAAE,GAAK,EAAK,WAAW,GAAO,CAAC,IAAM,EAAI,IAAoB,EAAK,EAAI,EAAK,GAElP,EAAE,KAAK,MAFqP,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAG,CAExQ,EAAE,GAAG,EAAE,IAAO,IAAI,IAAY,EAAK,EAAE,EAAI,MAAM,YAAY,aAAa,OAAO,CAAC,CAAC,EAAE,EAAQ,MAAa,CAAC,AAAQ,IAAI,EAAO,sBAAsB,CAAG,CAAE,EAAE,EAAI,EAAE,IAAM,EAAO,CAAC,EAAO,WAAW,EAAI,GAAG,EAAE,EAAO,WAAW,EAAI,GAAG,EAAE,EAAO,WAAW,EAAI,IAAI,CAAC,EAAuG,OAArG,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,EAAI,CAAC,EAAE,EAAO,iBAAiB,SAAS,CAAQ,MAAY,CAAC,EAAO,oBAAoB,SAAS,CAAQ,EAAE,EAAO,oBAAoB,SAAS,CAAQ,EAAE,EAAO,QAAQ,GAAG,EAAO,aAAa,CAAC,CAAC,EAAK,GAAI,EAAO,qBAAqB,CAAG,CAAE,CAAE,EAAE,CAAC,EAAK,QAAQ,EAAK,QAAQ,EAAK,aAAa,EAAK,WAAW,GAAiB,EAAW,CAAC,EAE/oB,GAAK,CAAC,GAAS,GAAaC,EAAe,EAAK,EAAE,MAAoB,CAAC,GAAU,IAAS,QAAa,CAAC,EAAO,WAAW,OAAO,IAAM,EAAG,EAAO,WAAW,eAAe,EAAI,WAAW,EAAE,IAAI,EAAQ,MAAW,EAAY,EAAG,OAAO,EAAkD,OAAhD,EAAO,EAAE,EAAG,mBAAmB,SAAS,CAAM,MAAY,EAAG,sBAAsB,SAAS,CAAM,CAAE,EAAE,CAAC,EAAI,UAAU,CAAC,EAOjW,IAAM,GAAO,IAAU,UAAc,IAAU,WAAgB,KAAW,EAAS,EAAI,UAAU,KAAQ,KAAS,KAAY,IAAU,CAAC,GAAlB,IAAyC,CAAC,EAAS,GAAaA,EAAe,EAAK,EAAO,CAAC,GAAgB,GAAoBA,EAAe,EAAK,EAC3Q,MAAoB,EAAY,EAAK,EAAE,CAAC,EAAW,CAAC,EAAE,MAAoB,CAAK,GAAS,EAAY,EAAK,CAAE,EAAE,CAAC,CAAQ,CAAC,EAAE,MAAoB,CAAC,GAAG,CAAC,EAAS,OAAO,IAAM,EAAM,GAAG,CAAI,EAAE,MAAM,UAAS,EAAY,EAAK,CAAE,EAAQ,EAAO,GAAG,CAAC,IAAM,EAAI,EAAO,QAAW,GAAK,CAAC,EAAI,SAAS,EAAE,MAAM,GAAE,EAAY,EAAK,CAAE,EAAyF,OAAvF,EAAO,iBAAiB,UAAU,CAAK,EAAE,EAAO,iBAAiB,cAAc,CAAM,MAAY,CAAC,EAAO,oBAAoB,UAAU,CAAK,EAAE,EAAO,oBAAoB,cAAc,CAAM,CAAE,CAAE,EAAE,CAAC,CAAQ,CAAC,EAGvgB,IAAM,EAAOC,MAAuB,EAAO,SAAS,cAAc,gBAAgB,GAAI,KAAK,CAAC,CAAC,EAAQ,GAAA,EAAqB,QAAQ,GAAO,CAAC,CAAC,EAAQ,EAAA,EAAmB,QAAQ,GAAS,CAAC,CAAC,EAGnL,GAAA,EAAwB,QAAQ,GAAU,CAAC,CAAC,CAAC,CAAC,GAAS,GAAW,GAAM,OAAO,EAAI,OAA+D,CAAC,EAAK,IAASD,EAAe,IAAI,EAKpL,EAAUF,EAAa,CAAC,EAAO,CAAC,EAAY,IAAgBE,EAAe,CAAC,EAAQ,GAAaF,EAAa,IAAI,EAGnH,CAAC,GAAY,GAAgBE,EAAe,EAAE,EAI9C,CAAC,GAAW,IAAeA,EAAe,EAAE,EAAQ,EAAQC,MAAsB,CAAC,IAAM,EAAI,EAAO,EAAQ,EAAK,EAAO,QAAQ,GAAG,CAAC,GAAK,CAAC,EAAK,OAAO,IAAI,EAAS,KAAS,EAAW,KAetL,EAAI,MAAM,KAAK,EAAK,iBAAiB,qCAAqC,CAAC,EAAM,EAAa,GAKpG,GALuG,EAAI,QAAQ,GAAI,CAAC,GAAG,EAAS,OAAgD,IAAM,EAAlC,EAAG,cAAc,SAA2B,CAAC,EAAE,aAAa,MAAM,EAAQ,EAAI,OAAO,EAAG,QAAQ,UAAU,EAAE,EAE9P,EAAQ,GAAa,EAAE,EAAY,IAAqB,GAAS,EAAE,IAAM,EAAU,GAAM,GAAoB,CAAI,KAAU,EAAS,EAAG,EAAW,EAAK,EAAa,EAAK,CAAC,EAAE,EAAe,CAAY,EAG1M,CAAC,GAAU,EAAS,CAAK,IAAS,GAAa,QAAQ,MAI1D,GAAQ,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAK,EAAE,IAAI,EAAE,MAAO,CAG/C,IAAM,EAAI,GAAc,EAAE,IAAI,IAAe,EAAc,GAAa,UAAU,IAAI,EAAU,SAAS,GAAE,GAAa,QAAQ,EAAI,IAAM,EAAG,EAAI,sBAAsB,EAAM,EAAG,EAAS,sBAAsB,EAI/M,GAAG,EAAa,MAAM,UAAW,GAAG,CAAC,IAAM,EAAM,SAAS,YAAY,EAAE,EAAM,mBAAmB,CAAQ,EAAE,IAAM,EAAG,EAAM,sBAAsB,EAAK,EAAG,MAAM,GAAG,EAAG,OAAO,IAAE,EAAG,EAAG,MAAM,CAAC,CAAE,IAAM,EAAK,EAAa,SAAS,EAAa,MAAM,EAAQ,EAAK,EAAa,UAAU,EAAa,MAAM,EAAQ,EAAE,EAAa,OAIxT,EAAM,iBAAiB,CAAG,EAAQ,EAAQ,WAAW,EAAM,eAAe,GAAG,EAAQ,EAAQ,WAAW,EAAM,cAAc,GAAG,EAK/H,EAAE,EAAG,KAAK,EAAG,KAAK,EAAW,EAAM,EAAG,MAAM,EAAK,EAKjD,EAAQ,EAAS,sBAAsB,EAAuD,EAAnC,EAAQ,IAAI,EAAQ,OAAO,EAAsB,EAAG,IAAI,EAAE,EAAE,GAAS,EAAa,SAAS,GAAG,GAAQ,CAAC,EAAE,EAAE,EAAQ,EAAE,QAAM,OAAO,EAAE,QAAQ,GAAK,KAAK,EAAU,OAAO,CAAC,CAAE,EAAE,CAAC,EAAO,EAAa,OAAO,EAAa,IAAI,EAAa,QAAQ,EAAa,SAAS,EAAa,KAAK,EAAa,QAAQ,EAAY,GAAW,CAAQ,CAAC,EAC5Y,MAA0B,CAAC,EAAQ,CAAE,EAAE,CAAC,EAAQ,GAAY,GAAW,EAAS,CAAQ,CAAC,EAAE,MAAoB,CAE/G,EAAO,iBAAiB,SAAS,CAAO,EAAE,IAAM,EAAM,SAAS,MAAS,GAAO,OAAM,EAAM,MAAM,SAAS,EAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EACjI,IAAM,EAAO,CAAC,EAAO,WAAW,EAAQ,EAAE,EAAE,EAAO,WAAW,EAAQ,GAAG,EAAE,EAAO,WAAW,EAAQ,GAAG,CAAC,EAAQ,EAAI,EAAO,EAAQ,EAAS,EAAI,IAAI,eAAe,CAAO,EAAE,KAA4C,OAApC,GAAK,GAAS,EAAS,QAAQ,CAAG,MAAY,CAAC,EAAO,oBAAoB,SAAS,CAAO,EAAE,EAAO,QAAQ,GAAI,EAAO,aAAa,CAAE,CAAC,EAAE,GAAU,WAAW,CAAE,CAAE,EAAE,CAAC,EAAQ,EAAO,EAAU,CAAC,EAWnX,GAAK,CAAC,GAAO,IAAWD,EAAe,EAAK,EAAE,MAAoB,CAAI,IAAQ,CAAC,GAAM,UAAe,GAAU,EAAI,EAAE,GAAe,EAAK,IAAI,EAAE,EAAE,CAAC,GAAO,GAAM,QAAQ,GAAM,IAAI,CAAC,EAIjL,MAA0B,CAAC,GAAG,EAAW,UAAU,IAAO,EAAW,UAAU,GAAM,OAAO,IAAM,EAAI,EAAO,QAAc,EAAI,EAAO,EAAE,GAAG,CAAC,GAAK,CAAC,EAAI,OAAO,IAAM,EAAI,MAAM,KAAK,EAAI,iBAAiB,qCAAqC,CAAC,EAAE,GAAG,CAAC,EAAI,OAAO,OAAO,IAAM,MAAU,CAErR,EAAI,QAAQ,GAAI,EAAG,MAAM,SAAS,EAAE,EAAE,EAAI,UAAU,IAAI,eAAe,EAAE,IAAM,EAAO,EAAI,IAAI,GAAI,EAAG,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAI,UAAU,OAAO,eAAe,EAAE,EAAI,SAAS,EAAG,IAAI,CAAC,EAAG,MAAM,SAAS,GAAG,KAAK,KAAK,EAAO,GAAG,GAAG,EAAE,IAAI,GAAI,CAAC,CAAE,EAAE,EAAM,EAAE,IAAM,EAAM,SAAS,MAA4D,OAAnD,GAAO,OAAM,EAAM,MAAM,KAAK,CAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAY,EAAI,QAAQ,GAAI,EAAG,MAAM,SAAS,EAAE,CAAE,EAAE,CAAC,EAAW,QAAQ,EAAW,QAAQ,EAAW,aAAa,GAAW,EAAS,EAAS,CAAM,CAAC,EAA+D,MAAoB,CAAC,GAAc,EAAE,CAAE,EAAE,CAAC,EAAW,CAAC,EAAE,MAAoB,CAAC,IAAM,EAAI,EAAO,QAAQ,GAAG,CAAC,EAAI,OAAO,IAAI,EAAM,EASlqB,EAAQ,KAAS,EAAS,GAAO,EAAO,EAAM,EAAO,EAAM,EAAU,GAAY,MAAW,CAAC,EAAQ,KAAK,EAAS,GAAG,EAAU,EAAM,EAAQ,EAAS,GAAG,EAAE,QAAQ,UAAU,iBAAiB,EAAQ,EAAO,GAAG,CAAC,IAAM,EAAG,EAAS,CAAC,EAA0D,GAArD,CAAC,GAAI,EAAG,aAAa,cAAc,GAAqB,CAAC,EAAG,cAAc,SAAS,EAAE,OAAO,EAAO,EAAE,IAAM,EAAI,OAAO,EAAG,QAAQ,UAAU,EAAE,EAAE,GAAG,EAAI,EAAE,OAAO,EAAO,EAAE,EAAQ,EAAG,EAAS,EAAI,EAAO,EAAE,QAAQ,EAAO,EAAE,QAAQ,EAAU,EAAM,EAE1d,EAAO,GAAG,CAAI,CAAC,GAAS,GAAoB,KAAK,MAAM,EAAE,QAAQ,EAAO,EAAE,QAAQ,CAAM,EAAE,KAAG,EAAU,GAAK,EAAQ,EAAK,GAAG,CAAC,GAAG,CAAC,EAAQ,OAAO,IAAM,EAAM,CAAC,GAAW,EAAS,CAAC,IAAI,EAAc,EAAI,EAAS,EAAO,EAAM,IAAa,GAAc,CAAG,EAElQ,EAAO,aAAa,CAAK,EAAE,EAAM,EAAO,eAAe,GAAc,EAAE,EAAE,GAAG,EAAE,EAEyE,OAFvE,EAAI,iBAAiB,cAAc,EAAO,EAAI,EAE9H,EAAO,iBAAiB,cAAc,EAAO,EAAI,EAAE,EAAO,iBAAiB,YAAY,EAAK,EAAI,EAAE,EAAO,iBAAiB,gBAAgB,EAAO,EAAI,MAAY,CAAC,EAAI,oBAAoB,cAAc,EAAO,EAAI,EAAE,EAAO,oBAAoB,cAAc,EAAO,EAAI,EAAE,EAAO,oBAAoB,YAAY,EAAK,EAAI,EAAE,EAAO,oBAAoB,gBAAgB,EAAO,EAAI,EAAE,EAAO,aAAa,CAAK,CAAE,CAAE,EAAE,CAAC,EAAU,CAAC,EAeha,MAAoB,CAAC,IAAM,EAAK,EAAO,QAAQ,GAAG,CAAC,GAAM,CAAC,EAAS,OAAO,IAAI,EAAQ,GAAU,EAAM,EAAM,EAAM,EAAQ,EAAO,GAAG,CAAC,IAAM,EAAG,EAAE,OAAO,EAAQ,CAAC,EAAE,GAAI,OAAO,EAAG,SAAU,YAAY,EAAG,QAAQ,WAAW,GAAG,EAAM,EAAE,QAAQ,EAAM,EAAE,OAAQ,EAAQ,EAAK,GAAG,CAAC,IAAM,EAAI,EAAQ,EAAQ,GAAU,IACjT,KAAK,IAAI,EAAE,QAAQ,CAAK,EAAE,IAAa,KAAK,IAAI,EAAE,QAAQ,CAAK,EAAE,IASpE,0BAA0B,EAAY,EAAK,CAAC,EAAE,EAAQ,MAAa,CAAC,EAAQ,EAAM,EAAqJ,OAAnJ,EAAK,iBAAiB,cAAc,EAAO,EAAI,EAAE,EAAK,iBAAiB,YAAY,EAAK,EAAI,EAAE,EAAK,iBAAiB,gBAAgB,EAAS,EAAI,MAAY,CAAC,EAAK,oBAAoB,cAAc,EAAO,EAAI,EAAE,EAAK,oBAAoB,YAAY,EAAK,EAAI,EAAE,EAAK,oBAAoB,gBAAgB,EAAS,EAAI,CAAE,CAAE,EAAE,CAAC,CAAQ,CAAC,EAK5Z,MAAoB,CAAC,GAAG,IAAW,QAAQ,OAE3C,IAAM,EAAK,EAAO,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAQ,GAAO,CAAoD,GAAhD,EAAM,kBAAkB,EAAM,SAAS,GAAY,EAAM,SAAS,EAAM,SAAS,EAAM,UAAU,EAAM,OAAO,OAAiC,IAAM,EAAnB,EAAM,QAA4B,UAAU,SAAS,EAAK,CAAC,GAAQ,CAAC,EAAK,SAAS,CAAM,GAAY,EAAO,QAAQ,EAAO,SAAS,SAAmB,GAAoB,EAAO,aAAa,MAAM,GAAG,IAAA,EAAS,IAAS,EAAM,eAAe,EAAE,EAAM,gBAAgB,EAG3c,EAAY,EAAK,EAAK,IAAW,OAAO,EAAO,SAAS,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,EAAG,EAA8C,OAA5C,EAAK,iBAAiB,QAAQ,EAAQ,EAAI,MAAY,EAAK,oBAAoB,QAAQ,EAAQ,EAAI,CAAE,EAAE,CAAC,EAAS,GAAY,EAAU,CAAC,EAE9N,IAAM,GAAa,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,GAAG,KAAK,GAAG,EAG7D,GAAc,EAAa,aAAa,UAAU,CAAC,KAAK,SAAS,UAAU,EAAa,UAAU,QAAQ,EAAa,QAAQ,KAAK,EAAa,IAAI,EAAE,CAAC,KAAK,SAAS,SAAS,EAAa,UAAU,IAAI,OAAO,EAAa,QAAQ,GAAG,EAOzO,GAAS,GAAM,MAAM,EAAE,MAAoB,CAAC,GAAG,CAAC,IAAU,KAAW,EAAY,OAAO,IAAM,GAAI,EAAa,UAAU,KAAK,IAAI,IAAU,EAAG,EAAO,eAAe,GAAe,EAAQ,EAAE,CAAE,EAAE,UAAU,EAAO,aAAa,CAAE,CAAE,EAAE,CAAC,GAAS,EAAY,EAAa,QAAQ,CAAC,EAAE,IAAM,GAAe,GAAc,CAAC,IAAQ,CAAC,GAAM,EAAK,OAAO,EAAY,CAAC,SAAS,CAAC,EAAE,GAA0E,GAAU,GAAW,EAAU,EAAK,EAAQ,GAAW,GAAW,GAAc,EAAI,EAE1gB,GAAM,EAAK,UAAU,GAAM,QAAQ,GAAK,iBAAiB,EAAgB,aAAa,EAAgB,aAAa,EAAc,GAAG,QAAQ,GAAK,sBAAyB,EAAgB,0BAA0B,EAAK,gBAAgB,mBAAsB,EAAgB,0BAA0B,EAAK,gBAAgB,cAAiB,EAAc,GAC7V,GAAY,GAAgB,IAAY,OAAnB,OAAiC,IAAY,QAAQ,GAAS,cAEnF,GAAO,GAAU,IAAY,MAAY,GAAW,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAQ,SAAS,EAAE,SAAS,WAAW,OAAO,EAAE,WAAW,CAAC,EAGxJ,IAAM,EAAK,EAAI,EAAM,EAAM,IAAqB,EAAK,MAAM,CAAC,gBAAgB,GAAG,iBAAiB,EAAM,eAAe,EAAM,GAAG,IAAA,GAAU,cAAc,IAAQ,GAAY,GAAG,IAAA,GAAU,MAAM,CAAC,QAAQ,cAAc,WAAW,SAAS,eAAe,SAAS,WAAW,EAAE,GAAG,CAAK,EAAE,SAAS,CAAI,EAAE,CAAG,EAAQ,GAAS,GAAM,OAWhU,GAAgBC,EAAkB,GAAO,CAAoD,GAAhD,EAAM,kBAAkB,EAAM,SAAS,GAAY,EAAM,SAAS,EAAM,SAAS,EAAM,UAAU,EAAM,OAAO,OAAO,IAAM,EAAK,EAAO,QAAQ,GAAG,CAAC,GAAa,IAAS,OAAY,OAAO,IAAM,EAAK,EAAM,cAAkB,EAAK,GAAG,CAAC,EAAK,GAAc,IAAI,IAAI,GAAU,IAAI,EAAO,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAE,MAAM,CAAC,MAAO,CAAC,IAAM,EAAM,MAAM,KAAK,EAAK,iBAAiB,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAMpb,GANwb,IAAI,GAAM,EAAE,SAAS,CAAI,GAAkB,EAAE,QAAQ,EAAE,SAAS,SAMrf,EAAE,QAAQ,WAAW,EAAE,MAAO,GAAM,GAAG,CAAC,IAAM,EAAE,IAAI,IAAI,EAAE,aAAa,MAAM,GAAG,GAAG,EAAO,SAAS,IAAI,EAAoD,OAA/C,EAAE,SAAS,EAAO,SAAS,QAA2B,GAAc,EAAE,QAAQ,IAAI,CAAK,MAAM,CAAC,MAAO,EAAM,CAAC,CAAC,EAU5N,GAAG,CAAC,EAAM,CAAC,EAAM,eAAe,EAAE,EAAO,SAAS,OAAO,GAAU,GAAG,EAAE,MAAO,CAAC,EAAM,eAAe,EAAE,EAAM,MAAM,CAAE,EAAE,CAAC,CAAQ,CAAC,EAAQ,GAAsB,EAAK,MAAM,CAAC,oBAAoB,GAO/L,eAAe,GAAgB,GAAG,IAAA,GAAU,kBAAkB,EAAmB,EAAI,EAAE,gBAAgB,EAAmB,EAAK,EAAE,oBAAoB,EAAmB,EAAK,EAAE,mBAAmB,EAAmB,EAAK,EAAE,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,WAAW,EAAE,SAAS,WAAW,OAAO,EAG9S,YAAY,GAAY,OAAO,GAAe,YAAY,GAAO,QAAQ,IAAA,EAAS,EAAE,SAAS,IAAuB,EAAK,IAAI,CAAC,KAAK,GAAU,IAAI,aAAa,cAAc,QAAQ,GAAgB,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,OAAO,OAAO,MAAM,UAAU,eAAe,MAAM,EAAE,SAAsB,EAAK,GAAS,CAAC,OAAO,EAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAoB,EAAM,MAAM,CAAC,IAAI,EAAO,UAAU,EAAc,aAAa,qBAIrb,YAAY,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,GAAG,GAE5C,MAAM,EAAS,OAAO,IAAA,GAAU,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,UAAU,SAAS,UAAU,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;;;;;qBAa1K,EAAc;;6CAEU,EAAK,SAAS;;;uBAGpC,EAAc;;qBAEhB,EAAc;;;;;;;;;;uBAUZ,EAAc;;;;;;;;;;;;;qBAahB,EAAc;qBACd,EAAc;qBACd,EAAc;;;;;;;;;;qBAUd,EAAc;qBACd,EAAc;;;qBAGd,EAAc;qBACd,EAAc;kCACD,EAAW,aAAa;;;qBAGrC,EAAc;qBACd,EAAc;;;;;;;;;;;;qBAYd,EAAc;kCACD,EAAa,OAAO;;qBAEjC,EAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4Bd,EAAc;;;qBAGd,EAAc;;;qBAGd,EAAc;;;qBAGd,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;;;qBAGd,EAAc;;;;;;;;;;qBAUd,EAAc;qBACd,EAAc;qBACd,EAAc;;;;;qBAKd,EAAc;8BACL,EAAI,QAAQ,EAAE,GAAG;;;;;;;;;;qBAU1B,EAAc;qBACd,EAAc;iCACF,EAAW,KAAK;;qBAE5B,EAAc;qBACd,EAAc;iCACF,EAAI,QAAQ;;;;;qBAKxB,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;;;;;;;;;;;;qBAYd,EAAc;qBACd,EAAc;qBACd,EAAc;;;;;;qBAMd,EAAc;6BACN,GAAc;6BACd,GAAY,GAAc,EAAK,eAAe,EAAE;;;;;;;;;;;;;;;;uBAgBtD,EAAc;iCACJ,EAAqB;;;;qBAIjC,EAAc;+BACJ,KAAK,IAAI,EAAE,EAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;;;;;;;qBAO1D,EAAc;uCACI,EAAmB;;;;;uBAKnC,EAAc;;;;;uBAKd,EAAc;uBACd,EAAc;;;;oBAIjB,IAAe,GAAM,GAAG;;;;;;;;;;;qBAWvB,EAAc;8BACL,EAAa,OAAO;;;qBAG7B,EAAc;;;;;;;;qBAQd;oBACD,GAAY;;;;;;qBAMX,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;qBACd,EAAc;oCACC,GAAY;qBAC3B,GAAG;oBACJ,EAAW,UAAU,GAAM,GAAG;;;;;;;;;qBAS7B,EAAc;qBACd,EAAc;sBACb,EAAW,WAAW,GAAM,GAAG,GAAc,EAAI,EAAE;;kCAEvC,EAAW,WAAW;;;6BAG3B,EAAW,MAAM;6BACjB,GAAY,EAAW,MAAM,EAAK,YAAY,EAAE;;8BAE/C,EAAW,SAAS;mCACf,EAAW,SAAS;;qBAElC,EAAc;qBACd,EAAc;kCACD,EAAW,aAAa;;;;;;;6BAO7B,EAAW,YAAY;;;uBAG7B,EAAc;uBACd,EAAc;+BACN,EAAW,WAAW;+BACtB,GAAY,EAAW,WAAW,EAAK,YAAY,EAAE;;qBAE/D;iBACJ,CAAC,EAAe,EAAM,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,WAAW,MAAM,GAAY,SAAS,OAAO,OAAO,OAOpI,QAAQ,GAAO,OAAO,OAAO,oBAAoB,GAAO,eAAe,IAAA,GAAU,WAAW,SAE5F,YAAY,EAAS,OAAO,GAAY,gCAAgC,GAAY,aAAa,EAAS,OAAO,EAAa,iCAAiC,EAAa,UAAU,aAAa,aAAa,GAEhN,OAAO,EAAE,WAAW,cAAc,UAAU,GAAU,MAAM,EAI5D,SAAS,GAAY,SAAS,UAAU,GAAG,EAAI,EAAE,SAAS,CAAc,EAAK,MAAM,CAAC,cAAc,GAAK,UAAU,YAAY,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,cAAc,OAAO,aAAa,UAAU,WAAW,CAIhO,+DAA+D,EAAK,KAAK,kDAAkD,EAAK,KAAK,KAAK,oFAAoF,2BAA2B,GAAe,+DAA+D,mBAAmB,EAAW,IAAI,EAAW,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,eAAe,GAAM,qBAAqB,EAAK,CAAC,CAAC,EAAe,EAAK,EAAO,IAAI,CAAC,cAAc,GAAK,gBAAgB,GAAG,QAAQ,GAAM,QAAQ,CAAC,EAAE,GAAM,GAAG,EAAE,EAAE,GAAM,GAAG,EAAE,MAAM,GAAM,OAAO,EAAE,OAAO,GAAM,QAAQ,EAAa,OAAO,QAAQ,MAAM,OAAW,EAAE,WAAW,GAAe,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,aAAa,aAAa,IAAI,OAAO,EAAE,WAAW,EAAa,WAAW,UAAU,GAAW,cAAc,MAAM,EAAE,SAAS,GAAc,UAAU,IAAoB,EAAK,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,UAAU,GAAG,GAAc,MAAM,IAAI,aAAa,GAAiB,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAU,UAAU,IAAoB,EAAK,MAAM,CAAC,cAAc,GAAK,UAAU,WAAW,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,GAAU,MAAM,IAAI,aAAa,GAAiB,EAAS,CAAC,CAAC,CAAC,EAAE,GAAS,EAAsB,EAAK,MAAM,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,GAAW,YAAY,GAAO,SAAS,IAAA,EAAS,EAAE,SAAS,GAAM,KAAK,EAAK,IAAI,GAAK,EAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,GAGx5C,WAAW,EAAS,EAAE,EAAO,YAAY,GAAO,MAAM,IAAA,EAAS,EAAE,SAAS,EAAE,CAAC,GAAU,EAAI,eAAe,QAAQ,EAAI,KAAK,EAAK,IAAI,GAAK,EAAK,KAAK,IAAI,GAAS,EAAE,IAAA,GAAU,EAAI,CAAC,EAAE,GAAuB,EAAK,EAAO,OAAO,CAAC,KAAK,SAAS,UAAU,aAAa,aAAa,EAAS,aAAa,YAAY,gBAAgB,EAAS,YAAY,EAAY,GAAG,CAAC,CAAC,EAAE,SAAS,EAAa,IAAA,GAAU,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,KAAK,SAAS,SAAS,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,OAAO,WAAW,cAAc,OAAO,EAE9f,SAAS,GAAG,UAAU,GAAG,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,UAAU,QAAQ,cAAc,WAAW,SAAS,eAAe,SAAS,MAAM,EAAI,WAAW,EAAE,SAAsB,EAAK,GAAO,CAAC,KAAK,EAAS,KAAK,EAAI,WAAW,MAAM,EAAI,YAAY,aAAa,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,GAAgB,CAAC,SAAS,GAAU,GAAuB,EAAM,EAAO,IAAI,CAAC,UAAU,WAAW,YAAY,EAAY,EAAK,EAGrb,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,YAAY,MAAM,IAAI,EAAE,WAAW,EAAa,CAAC,SAAS,CAAC,EAAE,GAAa,MAAM,CAAC,SAAS,WAAW,IAAI,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAI,IAAI,OAAO,EAAE,UAAU,aAAa,QAAQ,EAAI,QAAQ,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAI,OAIjW,aAAa,EAAI,SAAS,EAAI,QAAQ,EAAE,IAAI,EAE5C,UAAU,mBAAmB,UAAU,OAAO,mBAAmB,UAAU,wBAAwB,QAAQ,OAAO,EAAE,UAAU,GAAU,MAAM,EAAU,eAAe,GAAM,qBAAqB,GAAM,WAAW,CAAC,2BAA2B,GAAe,+DAA+D,mBAAmB,EAAW,IAAI,EAAW,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,GAAG,EAAI,EAAE,SAAS,CAAC,GAAM,KAAK,EAAK,IAAI,CAAC,IAAM,EAAO,IAAI,GAAY,OAAoB,EAAK,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,QAAQ,GAAG,EAAI,QAAQ,KAAK,EAAI,QAAQ,IAIrkB,UAAU,aAAa,aAAa,IAAI,WAAW,EAAO,EAAI,WAAW,cAAc,OAAO,EAAE,UAAU,EAAO,mCAAmC,MAAM,EAAE,SAAS,GAAK,EAAK,MAAM,IAAI,EAAE,CAAC,MAAM,OAAO,eAAe,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,CAAE,CAAC,EAAE,EAAI,eAAe,OAAO,EAAI,KAAK,EAAK,IAAiB,EAAK,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,QAAQ,OAG1V,UAAU,EAAI,OAAO,CAAC,EAAE,SAAS,GAAK,EAAK,OAAO,IAAI,GAAS,EAAE,CAAC,MAAM,MAAM,EAAE,EAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAKxF,SAAS,GAAS,CAAC,UAAQ,CAAC,OAAoB,EAAK,MAAM,CAAC,QAAQ,eAAe,KAAK,MAAM,aAAa,SAAS,UAAU,QAAQ,MAAM,CAAC,SAAO,MAAM,EAAO,GAAe,QAAQ,QAAQ,WAAW,CAAC,EAAE,SAAsB,EAAK,OAAO,CAAC,KAAK,eAAe,EAAE,kgMAAkgM,CAAC,CAAC,CAAC,CAAE,CAAkD,SAAS,GAAO,CAAC,OAAK,OAAK,QAAM,gBAAc,CAAC,IAAM,EAAU,KAAK,IAAI,IAAI,KAAK,MAAM,EAAK,EAAE,CAAC,EAAQ,EAAI,KAAK,MAAM,EAAK,GAAG,EAEv9M,EAAO,EAAI,EAAE,EAAU,EAAQ,EAAI,CAAC,QAAQ,QAAQ,MAAM,EAAK,OAAO,EAAU,aAAa,IAAI,WAAW,EAAM,gBAAgB,QAAQ,EAAQ,EAAE,EAAa,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,GAAG,KAAK,EAAE,EAAE,OAAoB,EAAM,OAAO,CAAC,cAAc,GAAK,MAAM,CAAC,MAAM,EAAK,OAAO,EAAI,EAAU,EAAE,QAAQ,cAAc,cAAc,SAAS,eAAe,gBAAgB,WAAW,CAAC,EAAE,SAAS,CAAc,EAAK,EAAO,KAAK,CAAC,QAAQ,GAAM,QAAQ,CAAC,OAAO,EAAK,GAAG,EAAE,EAAE,EAAK,EAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAG,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,QAAQ,GAAM,QAAQ,CAAC,OAAO,EAAK,IAAI,EAAE,EAAE,EAAK,CAAC,EAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAiD,SAAS,GAAc,EAAK,CAAC,GAAG,CAAC,EAAK,MAAM,IAAI,GAAG,CAAyF,OAAhF,EAAK,WAAW,MAAM,EAAE,IAAI,IAAI,CAAI,CAAC,CAAC,SAAS,EAAK,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAA,CAAY,QAAQ,OAAO,EAAE,GAAG,GAAI,MAAM,CAAC,OAAO,CAAK,CAAC,CAAC,SAAS,GAAoB,EAAI,CAAC,GAAG,CAAC,GAAK,IAAM,KAAY,IAAS,OAAY,MAAO,GAAM,GAAG,CAAC,IAAM,EAAQ,IAAI,IAAI,EAAO,SAAS,IAAI,EAAQ,EAAO,IAAI,IAAI,EAAI,CAAO,EAA0L,MAAxD,EAA7H,EAAO,SAAS,EAAQ,QAAuB,GAAc,EAAO,QAAQ,IAAI,GAAc,EAAQ,QAAQ,GAAkB,EAAO,MAAM,EAAO,OAAO,EAAQ,KAA8B,MAAM,CAAC,MAAO,EAAM,CAAC,CAG3wC,SAAS,IAAkB,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAQ,EAAO,QAAQ,IAAI,IAAM,IAAO,CAAC,YAAY,cAAc,EAAE,CAAC,IAAM,EAAS,EAAQ,GAAM,GAAG,CAAC,GAAU,EAAS,gBAAgB,SAAS,IAAM,EAAQ,SAAS,GAAG,EAAK,CAAC,IAAM,EAAO,EAAS,MAAM,KAAK,CAAI,EAQjN,OAA/E,QAAQ,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAO,cAAc,IAAI,MAAM,EAAc,CAAC,CAAE,CAAC,EAAS,CAAO,EAAE,EAAQ,gBAAgB,GAAK,EAAQ,GAAM,CAAQ,CAAC,CAAC,SAAS,IAAgB,CAAC,IAAM,MAAgB,IAAS,OAAY,GAAG,EAAO,SAAS,SAAS,EAAO,SAAS,OAAO,EAAO,SAAS,KAAU,CAAC,EAAI,GAAQD,EAAe,CAAI,EAA6X,OAA3X,MAAoB,CAAC,GAAiB,EAAE,IAAM,MAAW,EAAO,EAAK,CAAC,EAAkJ,OAAhJ,EAAO,EAAE,EAAO,iBAAiB,WAAW,CAAM,EAAE,EAAO,iBAAiB,aAAa,CAAM,EAAE,EAAO,iBAAiB,GAAe,CAAM,MAAY,CAAC,EAAO,oBAAoB,WAAW,CAAM,EAAE,EAAO,oBAAoB,aAAa,CAAM,EAAE,EAAO,oBAAoB,GAAe,CAAM,CAAE,CAAE,EAAE,CAAC,CAAC,EAAS,CAAI,oDAnpBtpB,IAA4B,IAAwE,IAAmE,EAAO,GAAa,CAAC,SAAS,EAAE,SAAS,IAAI,UAAU,IAAI,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE,KAAK,EAAE,EAAQ,GAAkB,CAAC,SAAS,EAAE,SAAS,IAAI,UAAU,GAAG,UAAU,IAAI,MAAM,IAAI,UAAU,KAAK,KAAK,CAAC,EAAghB,GAAiB,CAAC,QAAQ,GAAK,MAAM,IAAI,MAAM,IAAI,UAAU,GAAG,UAAU,IAAI,OAAO,EAAE,EAAQ,GAAsB,CAAC,QAAQ,GAAK,MAAM,IAAI,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,OAAO,EAAE,EAO1kC,GAAsB,CAAC,WAAW,yBAAyB,OAAO,GAElH,IAAI,MAAM,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,OAAO,SAAS,IAAI,OAAO,IAAI,KAAK,GAAkB,SAAS,GAAsB,UAAU,IAAI,QAAQ,GAAG,KAAK,GAAG,EAU5D,GAAe,CAAC,QAAQ,GAAK,MAAM,mBAAmB,WAAW,mBAAmB,YAAY,mBAAmB,SAAS,GAAK,WAAW,IAAI,aAAa,IAAI,QAAQ,GAAK,SAAS,IAAI,KAAK,EAAE,EAAQ,GAAe,CAAC,QAAQ,GAAK,WAAW,IAAI,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,UAK7a,WAAW,mBAAmB,aAAa,OAAO,QAAQ,EAAE,EAAQ,GAAa,CAAC,QAAQ,GAAK,QAAQ,EAAE,aAAa,EAAE,WAAW,GAAG,SAAS,GAAG,gBAAgB,IAAI,gBAAgB,GAAG,KAAK,IAQ9L,aAAa,GAAG,gBAAgB,GAAG,EAsmB7B,GAAe,KAAK,IAEwvC,GAAe,wBAWliB,GAAY,aAAa,CAExxB,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,SAAS,SAAS,eAAe,GAAG,QAAQ,OAAO,aAAa,GAAa,SAAS,IAAI,qBAAqB,IAAI,mBAAmB,IAAI,UAAU,MAAM,SAAS,IAKlN,cAAc,mBAAmB,YAAY,GAAG,QAAQ,EAAE,OAAO,GAAG,YAAY,GAAG,aAAa,EAAE,aAAa,IAAI,UAAU,EAAE,aAAa,GAAK,YAAY,GAAM,WAAW,wBAAwB,UAAU,UAAU,KAAK,GAAG,gBAAgB,IAAI,cAAc,KAAK,gBAAgB,KAAK,eAAe,wBAAwB,QAAQ,GAAsB,KAAK,GAAa,SAAS,GAAiB,OAAO,GAAe,OAAO,GAAe,KAAK,CAAC,SAAS,GAAG,cAAc,UAAU,WAAW,CAAC,CAAC,EAAE,EAAoB,GAAY,CAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,OAAO,UAAU,QAAQ,EAAE,aAAa,CAAC,OAAO,UAAU,QAAQ,EAAE,aAAa,OAAO,wBAAwB,GAAK,YAAY,uKAAuK,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAY,iBAAiB,EAAE,YAAY,gIAAgI,EAAE,QAAQ,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAY,iBAAiB,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,gBAAgB,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAY,iBAAiB,EAAE,YAAY,qGAAqG,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,CAAC,SAAS,GAAG,cAAc,UAAU,WAAW,CAAC,EAAE,SAAS,WAAW,gBAAgB,YAAY,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,oBAAoB,YAAY,4KAA4K,aAAa,EAAI,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,YAAY,gFAAgF,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,EAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,YAAY,oEAAoE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,EAAK,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,8CAA8C,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,EAAK,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,YAAY,sMAAsM,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,eAAe,EAAK,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,eAAe,EAAK,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,6LAA6L,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,eAAe,EAAK,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,eAAe,EAAK,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,eAAe,EAAK,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,wLAAwL,aAAa,IAAI,YAAY,IAAI,OAAO,IAAI,EAAE,UAAU,QAAQ,GAAG,CAAC,EAAE,qBAAqB,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,0CAA0C,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,eAAe,EAAK,EAAE,mBAAmB,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,sEAAsE,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,eAAe,EAAK,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,MAAM,OAAO,OAAO,EAAE,aAAa,CAAC,MAAM,OAAO,OAAO,EAAE,aAAa,MAAM,wBAAwB,GAAK,YAAY,2JAA2J,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,KAAK,KAAK,eAAe,GAAM,OAAO,GAAG,EAAE,YAAY,OAAO,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,YAAY,kHAAkH,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,KAAK,eAAe,EAAK,EAAE,cAAc,CAAC,KAAK,EAAY,MAAM,MAAM,iBAAiB,aAAa,UAAU,OAAO,IAAI,EAAE,UAAU,QAAQ,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,6PAA6P,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,eAAe,EAAK,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,gBAAgB,YAAY,+JAA+J,aAAa,aAAa,cAAc,SAAS,aAAa,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,oIAAoI,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,eAAe,EAAK,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,YAAY,6EAA6E,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,KAAK,eAAe,EAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,aAAa,kBAAkB,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,kBAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,aAAa,wBAAwB,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,WAAW,aAAa,uBAAuB,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,EAAI,EAAE,aAAa,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,OAAO,KAAK,EAAE,aAAa,CAAC,UAAU,QAAQ,EAAE,aAAa,OAAO,wBAAwB,GAAK,YAAY,4JAA4J,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,YAAY,sCAAsC,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,KAAK,eAAe,EAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,KAAK,IAAI,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,SAAS,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,YAAY,0IAA0I,aAAa,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,YAAY,6FAA6F,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,SAAS,MAAM,OAAO,EAAE,aAAa,CAAC,SAAS,aAAa,UAAU,EAAE,aAAa,SAAS,wBAAwB,EAAI,CAAC,CAAC,4GCzpBvhS,IAAsZ,IAA8C,IAA4B,KAAoH,KAA6E,KAAyE,KAAgE,KAAmE,EAAO,GAAY,EAASE,EAAM,EAAQ,GAAgB,EAASC,CAAU,EAAQ,GAAiB,EAAS,EAAW,EAAQ,GAAmC,GAA0B,CAAS,EAAQ,GAAa,EAASC,EAAO,EAAQ,GAAqD,GAAqB,GAA6BA,GAAQ,CAAC,OAAO,YAAY,SAAS,GAAY,QAAQ,WAAW,CAAC,EAAEC,EAAW,EAAQ,GAAoB,GAAW,EAAO,GAAG,EAAQ,GAAY,CAAC,UAAU,sBAAsB,UAAU,wBAAwB,UAAU,gDAAgD,UAAU,8CAA8C,EAA0D,GAAkB,eAAqB,GAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,iBAAiB,EAAkC,GAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQ,IAAc,GAAG,IAAO,CAAC,IAAI,IAAM,KAAO,EAAM,GAAG,GAAK,OAAO,GAAM,SAAS,OAAO,CAAsB,EAAQ,IAAoB,EAAE,IAAI,oBAAoB,IAAwF,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAtJ,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,KAAK,OAA8G,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAsF,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAvJ,QAAQ,IAAI,MAAM,IAAI,KAAK,GAAG,UAAU,IAAI,KAAK,QAAgH,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAA0E,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,WAAW,CAA9I,OAAO,IAAI,MAAM,EAAE,SAAS,IAAI,KAAK,QAAmH,CAAC,EAAwE,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,WAAW,CAA3I,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAkH,CAAC,EAAQ,GAAgB,CAAC,UAAU,CAAC,0DAA0D,yDAAyD,EAAE,UAAU,CAAC,+CAA+C,yDAAyD,CAAC,EAAQ,GAAe,OAAO,KAAK,EAAe,EAAQ,GAAU,CAAC,UAAU,2BAA2B,UAAU,yBAAyB,EAAQ,GAAM,CAAC,kFAAkF,mUAAmU,0JAA0J,kIAAkI,qWAAqW,wLAAwL,mQAAmQ,2kCAA2kC,iHAAiH,4MAA4M,oEAAoE,sdAAsd,EAAQ,GAAa,CAAC,UAAU,sBAAsB,UAAU,wBAAwB,UAAU,gDAAgD,UAAU,8CAA8C,EAAQ,GAAwB,CAAC,QAAQ,YAAY,OAAO,YAAY,MAAM,YAAY,OAAO,WAAW,EAAQ,IAAW,CAAC,WAAyB,GAAgC,EAAS,KAAyB,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAK,EAAE,yBAAyB,EAAE,CAAC,EAAU,IAAU,CAAC,OAAK,SAAO,KAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qBAAqB,QAAQ,GAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAU,GAAuB,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,GAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,WAAS,GAAG,GAAW,GAAS,CAAK,EAAO,CAAC,EAAY,GAAqB,EAA8B,EAAQ,GAAY,EAAK,EAAsE,EAAkB,EAAG,EAA0C,EAAgD,OAAjC,GAAU,EAAE,EAAiB,CAAC,CAAC,EAAsB,EAAK,GAA0B,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAY,2BAAwB,iBAAiB,GAAK,iBAAiB,YAAY,oBAAiB,EAAE,SAAsB,EAAM,GAAY,CAAC,GAAG,GAAU,EAAgB,SAAS,CAAc,EAAK,GAAU,CAAC,MAAM,4BAA4B,EAAa,CAAS,EAAE,IAAI,CAAC,EAAe,EAAM,GAAoB,CAAC,GAAG,EAAU,UAAU,EAAG,EAAkB,gBAAgB,CAAS,EAAE,uBAAuB,GAAK,kBAAkB,GAAK,qBAAqB,GAAY,mBAAmB,GAAM,IAAI,EAAW,MAAM,CAAC,WAAW,EAAU,GAAG,CAAK,EAAE,SAAS,CAAC,EAAsB,EAAK,MAAM,CAAC,UAAU,gBAAgB,CAAC,EAAe,EAAK,EAA0B,CAAC,OAAO,IAAI,MAAM,QAAQ,EAAE,IAAI,SAAsB,EAAK,EAAU,CAAC,UAAU,2BAA2B,OAAO,WAAW,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKC,GAAkB,CAAC,WAAW,EAAY,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,GAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,GAAa,WAAW,CAAC,CAAC,EAAE,SAAsB,EAAKN,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,GAAa,WAAW,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mCAAmC,GAAK,mBAAmB,eAAe,OAAO,WAAW,kBAAkB,GAAmB,SAAsB,EAAK,EAA0B,CAAC,SAAsB,EAAKM,GAAkB,CAAC,WAAW,EAAY,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAW,QAAQ,EAAU,CAAC,EAAE,SAAsB,EAAK,GAAmC,CAAC,QAAQ,GAAU,UAAU,0BAA0B,wBAAwB,SAAS,QAAQ,GAAW,iBAAiB,GAAK,OAAO,YAAY,UAAU,GAAK,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,GAAkB,CAAC,WAAW,EAAY,UAAU,CAAC,UAAU,CAAC,QAAQ,SAAS,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,eAAe,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,EAAE,SAAsB,EAAK,GAAY,CAAC,aAAa,CAAC,gBAAgB,IAAI,aAAa,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAK,aAAa,GAAG,QAAQ,EAAE,gBAAgB,GAAG,KAAK,IAAI,gBAAgB,GAAG,EAAE,WAAW,2BAA2B,SAAS,IAAI,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAc,EAAK,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,gCAAgC,cAAc,GAAK,WAAW,GAAW,SAAS,GAAW,SAAsB,EAAKC,EAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,2GAA2G,uBAAuB,2GAA2G,mCAAmC,wDAAwD,qBAAqB,OAAO,+BAA+B,uBAAuB,0BAA0B,UAAU,uBAAuB,OAAO,sBAAsB,oBAAoB,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,gDAAgD,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,GAAK,KAAK,CAAC,WAAW,2GAA2G,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,cAAc,UAAU,WAAW,KAAK,EAAE,YAAY,GAAG,OAAO,OAAO,SAAS,GAAG,GAAG,YAAY,MAAM,CAAc,EAAK,EAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,CAAC,EAAE,SAAS,GAA4B,EAAK,EAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,EAAU,CAAC,UAAU,yBAAyB,mBAAmB,MAAM,gBAAgB,GAAK,KAAK,MAAM,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKP,EAAW,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAc,GAAG,SAAS,YAAY,KAAK,MAAM,MAAM,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,CAAC,EAAE,SAAS,GAA6B,EAAK,EAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,EAAU,CAAC,UAAU,2BAA2B,mBAAmB,SAAS,gBAAgB,GAAK,KAAK,SAAS,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,EAAW,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAe,GAAG,SAAS,YAAY,KAAK,SAAS,MAAM,OAAO,UAAU,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,CAAC,EAAE,SAAS,GAA6B,EAAK,EAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,EAAU,CAAC,UAAU,0BAA0B,mBAAmB,OAAO,gBAAgB,GAAK,KAAK,OAAO,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,EAAW,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAe,GAAG,SAAS,YAAY,KAAK,OAAO,MAAM,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,CAAC,EAAE,SAAS,GAA6B,EAAK,EAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,EAAU,CAAC,UAAU,0BAA0B,gBAAgB,GAAK,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,EAAW,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAe,GAAG,SAAS,YAAY,MAAM,OAAO,UAAU,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,CAAC,EAAE,SAAS,GAA6B,EAAK,EAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,EAAU,CAAC,UAAU,0BAA0B,mBAAmB,QAAQ,gBAAgB,GAAK,KAAK,QAAQ,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,EAAW,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAe,GAAG,SAAS,YAAY,KAAK,QAAQ,MAAM,OAAO,UAAU,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,sBAAsB,aAAa,IAAI,MAAM,sBAAsB,WAAW,sBAAsB,WAAW,IAAI,KAAK,EAAE,EAAE,SAAS,YAAY,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,sBAAsB,WAAW,IAAI,YAAY,kBAAkB,aAAa,OAAO,QAAQ,GAAK,QAAQ,EAAE,EAAE,YAAY,GAAG,aAAa,EAAE,QAAQ,OAAO,SAAS,SAAS,QAAQ,CAAC,WAAW,4BAA4B,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,MAAM,EAAE,MAAM,OAAO,UAAU,MAAM,cAAc,kBAAkB,YAAY,GAAG,eAAe,GAAG,qBAAqB,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,EAA0B,CAAC,OAAO,IAAI,MAAM,oBAAoB,EAAE,EAAE,SAAsB,EAAK,EAAU,CAAC,UAAU,2BAA2B,mBAAmB,gBAAgB,OAAO,WAAW,aAAa,GAAK,KAAK,gBAAgB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,GAAqD,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,gBAAgB,MAAM,CAAC,SAAS,OAAO,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQ,GAAI,GAAgC,IAAS,EAAa,QAAQ,IAAS,EAAa,OAAgL,CAAC,GAAG,GAAM,GAAG,GAAe,QAAQ,GAAK,CAAC,IAAM,EAAS,GAAU,GAAK,OAAO,GAAgB,EAAI,CAAC,IAAI,GAAM,GAAG,EAAS,IAAI,EAAK,EAAE,CAAE,CAAC,CAAC,EAAtR,CAAC,GAAG,GAAM,GAAG,GAAe,IAAI,GAA0C,UAAxB,GAAa,GAA2B,KAAK,GAAgB,EAAI,CAAC,KAAK,GAAG,EAAE,GAAK,CAAC,EAer0f,GAAgB,GAAQ,GAAU,GAAI,cAAc,EAAiC,GAAgB,YAAY,gBAAgB,GAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE,EAAoB,GAAgB,CAAC,UAAU,CAAC,aAAa,qBAAqB,MAAM,OAAO,KAAK,EAAY,KAAK,CAAC,CAAC,EAA+J,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,wCAAwC,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,yEAAyE,cAAA,CAApY,CAAC,aAAa,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,SAAS,IAAI,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,QAAQ,IAAI,MAAM,CAA2Q,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,GAAY,GAAG,GAAgB,GAAG,GAAiB,GAAG,EAAY,EAAE,CAAC,6BAA6B,EAAI,CAAC,EAAE,GAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,EAAcD,GAAO,CAAC,EAAE,CAAO,EAAE,EAAcC,EAAW,CAAC,EAAE,CAAO,EAAE,EAAcC,GAAQ,CAAC,EAAE,CAAO,CAAC,CAAC,EAAG,KCJ1iC,SAAS,GAAS,CAAC,YAAW,WAAU,QAAO,GAAG,GAAO,CAAC,IAAM,EAAS,CAAC,UAAW,cAAc,EAC/F,EAAS,CAAC,GAAG,EAAQ,UAAW,oBAAoB,EAEpD,EAAQ,CADS,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,CAC5O,EAAE,IAAc,CAAC,EAC3C,OAAQ,EAAR,CAAoB,IAAK,YACzB,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,OAAOO,EAAoBC,GAAc,CAAC,GAAG,EAAO,IAAK,eAAgB,OAAK,EAAG,EAAS,EAAI,CAAC,EAC/F,QAAW,OAAO,EAAS,EAAK,CAAG,CAAC,CACpC,SAAgB,GAA6B,EAAS,CAAC,OAAQ,EAAR,CAAkB,IAAK,YAC9E,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,MAAO,CAAC,CAAC,KAAM,UAAW,WAAY,uBAAuB,EAAG,CAAC,KAAM,SAAU,WAAY,8CAA8C,EAAG,CAAC,KAAM,UAAW,WAAY,+CAA+C,EAAG,CAAC,KAAM,SAAU,WAAY,qBAAqB,CAAC,EACjR,QAAW,MAAkB,CAAC,CAK5B,eAAsB,GAAY,CAAE,UAAS,gBAAe,WAAU,oBAAoB,CACzF,IAAM,EAAc,GAAO,EAAQ,CAAC,KAAK,QAAQ,EAEjD,GAA0B,CAAC,kBAAmB,GAAO,uCAAwC,GAAO,eAAgB,GAAO,0BAA2B,GAAM,eAAgB,GAAM,6BAA8B,GAAM,kBAAmB,GAAM,+BAAgC,GAAO,WAAY,EAAK,CAAC,EA8DxS,IAAM,EAA8CD,EAAoBe,GAAyC,CAChH,SA7Def,EACfE,EACA,CACC,UAAW,GACX,YAAa,OACb,UACA,gBACA,UACA,mBACA,gBACA,aAAcC,MAAkB,OAAO,6DAA+F,EACtI,gBAAiB,IAAA,GACjB,WACA,WACA,oBAAqB,IAAA,GACrB,iBAAkB,qBAClB,UACK,IAAW,OAkCX,IAAA,QAlCgC,CACtC,GAAI,GAAO,CACV,QAAQ,IAAI,+DAA+D,EAC3E,MACD,CAEA,OAAOA,EAAY,SAAY,CAqB9B,EAAO,+BAAiC,CAnBvC,UAAW,EACX,OAAQ,CACUC,mBACFC,iBACJC,YACZ,EACA,MAAO,CACN,cAAeN,EACf,SAAUO,EACV,KAAMC,EACN,YAAaC,EACb,UAAWC,EACX,OAAQC,EACR,SAAUC,EACV,gBAAiBC,CAClB,EACA,YAAa,CAAE,aAAA,CAAa,CAGsB,EAEnD,GAAM,CAAE,mBAAoB,MAAM,OAAO,oCACzC,MAAO,CACN,QAAS,EAAgB,CAC1B,CACD,CAAC,CACF,EAAA,CAAG,EAED,2BAA4B,GAC5B,eAAgB,GAChB,mBAAoB,IAAIC,OAAuB,OAAO,6DAA8F,EACpJ,wBAAyB,CAC1B,CAIU,CACX,CAAC,EAEK,EAAS,CAAC,MAAO,CAAC,KAAM,CAAC,MAAO,GAAI,KAAM,OAAQ,MAAO,MAAM,EAAG,QAAS,EAAG,OAAQ,EAAG,SAAU,GAAO,QAAS,EAAG,QAAS,EAAG,MAAO,EAAG,WAAY,CAAC,QAAS,GAAI,MAAO,EAAG,SAAU,GAAK,KAAM,CAAC,IAAM,EAAG,IAAM,CAAC,EAAG,KAAM,EAAG,UAAW,IAAK,KAAM,OAAO,EAAG,EAAG,MAAO,EAAG,KAAK,CAAC,EACrR,EAAOd,EAAoBgB,GAA4B,CAC5D,SAAU,EACV,MAAO,CAAC,OAAQ,CAAC,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,EAAG,UAAW,CAAC,UAAW,CAAM,CAAC,CAAC,CACjX,CAAC,EAID,OADA,MAAM,EACC,CACR,CAqBA,SAAS,IAAQ,CACX,IACL,EAAO,gBAAgB,KAAK,SAAS,CACtC,CAEA,eAAe,GAAK,EAAe,EAAW,CAC7C,SAAS,EAAY,EAAO,EAAW,EAAc,GAAM,CAC1D,GAAI,EAAM,QAAU,EAAO,uBAAwB,OAEnD,IAAM,EAAiB,GAAW,eAClC,GAAI,EAGH,IAFA,QAAQ,KAAK;EAA4S,EAAO,CAAc,EAE1U,KAAK,OAAO,EAAI,IAAM,MAAA,MAE1B,QAAQ,MAAM;EAA+G,EAAO,CAAc,EAEnJ,GAAM,EAAc,wCAA0C,4BAA6B,CAC1F,QAAS,OAAO,CAAK,EACrB,iBACA,MAAO,EAAiB,IAAA,GAAY,aAAiB,OAAS,OAAO,EAAM,OAAU,SAAW,EAAM,MAAQ,IAC/G,CAAC,CACF,CAEA,GAAI,CACH,IAAI,EAAS,EAAU,EAAe,EAAa,EACnD,GAAI,EACH,EAAY,KAAK,MAAM,EAAU,QAAQ,eAAkB,EAC3D,EAAU,EAAU,QACpB,EAAW,EAAU,SACrB,EAAgB,EAAU,cAC1B,EAAc,EAAU,YAExB,EAAUC,GAA+B,GAAQ,CAAO,MAClD,CACN,GAA+B,GAAQ,IAAA,EAAS,EAIhD,IAAM,EAA8C,YAAY,iBAAiB,YAAY,CAAC,CAAC,EAAE,EAAE,cAAc,KAAK,GAAK,EAAE,OAAS,OAAO,CAAC,EAAE,YAChJ,GAAI,EAAa,CAChB,IAAM,EAAY,IAAI,gBAAgB,CAAW,EACjD,EAAU,EAAU,IAAI,IAAI,EAC5B,EAAW,EAAU,IAAI,QAAQ,EACjC,IAAK,GAAM,CAAC,EAAK,KAAU,EAAU,QAAQ,EACvC,EAAI,WAAW,MAAM,IAC1B,IAAkB,CAAC,EACnB,EAAc,EAAI,MAAM,CAAC,GAAK,EAEhC,CACA,GAAI,CAAC,GAAW,CAAC,EAAU,CAC1B,IAAM,EAAYC,EAAiC,GAAQ,mBAAmB,SAAS,QAAQ,EAAG,GAAM,EAAO,EAC/G,EAAU,EAAU,QACpB,EAAW,EAAU,SACrB,EAAgB,EAAU,aAC3B,CAED,CAEA,IAAM,EAAc,GAAY,CAC/B,UACA,WACA,gBACA,iBAAkB,GAAW,gBAC9B,CAAC,EAGM,IAAW,SACf,SAAY,CACjB,IAAM,EAAQ,GAAO,GAGf,EAAe,GAAQ,MAAM,CAAE,QAAU,EAAoC,IAAO,EAAhC,IAAO,SAAiC,CAAC,CAAC,KAEhG,EAAmB,GAAW,kBAAoB,KACtD,GAAI,IAAqB,MAAQ,GAAO,cAAgB,GAAiB,CACtE,IAAM,EAAQ,MAAM,GAAgB,EAAM,aAAa,GAAG,EACpD,CAAC,GAAQ,OAAO,OAAO,CAAa,EACtC,GAAS,OAAO,GAAS,WAC5B,EAAoB,MAAM,EAAM,kBAAkB,EAAM,GAAgB,IAAA,EAAS,GAAM,KAE3F,CAEA,IAAM,EAA0B,KAAK,eAAe,CAAC,CAAC,gBAAgB,EAChE,EAAW,EAAwB,SACnC,EAAS,EAAwB,OAIvC,MAAM,IAAI,QAAS,GAAY,CAC1B,SAAS,aACZ,SAAS,iBAAiB,qBAAsB,EAAS,CAAE,KAAM,EAAK,CAAC,EAEvE,EAAQ,CAEV,CAAC,EAED,EAAO,gBAAgB,KAAK,CAC3B,0BACA,CACC,gBACA,QAAS,EACT,UAAW,GAAO,MAAQ,IAC1B,mBACA,aAAc,GAAgB,KAC9B,UAAW,GAAO,oBAAsB,EACxC,SAAU,GAAO,SACjB,SAAU,SAAS,UAAY,KAC/B,IAAK,EAAO,SAAS,KACrB,SAAU,EAAO,SAAS,UAAY,KACtC,SAAU,EAAO,SAAS,UAAY,KACtC,KAAM,EAAO,SAAS,MAAQ,KAC9B,OAAQ,EAAO,SAAS,QAAU,KAClC,WACA,QACD,EACA,OACD,CAAC,EAGD,MAAMC,GAAmB,CAAE,SAAU,aAAc,2BAA4B,GAAM,cAAe,OAAQ,CAAC,EAE7G,SAAS,cAAc,IAAI,YAAY,kBAAmB,CACzD,OAAQ,CAAE,aAAc,GAAgB,IAAK,CAC9C,CAAC,CAAC,CACH,EAAA,CAAG,EAIA,IAAM,EAAO,MAAM,EACf,GAGH,EAA4B,iCAAoC,CAC/D,GAAsC,CAAW,EACjD,EAAO,gCAAgC,CAAW,CACnD,CAAC,GAIuB,GAAQ,GAAM,EAAG,EAAIC,EAAAA,KACvB,CACrB,EAA0B,EAC1B,GAAiC,EACjC,EAAqB,EAAW,EAAM,CAAE,mBAAoB,CAAY,CAAC,CAC1E,CAAC,GAGD,GAAoB,EAAW,CAAE,mBAAoB,CAAY,CAAC,CAAC,CAAC,OAAO,CAAI,CAEjF,OAAS,EAAO,CAEf,MADA,EAAY,EAAO,IAAA,GAAW,EAAK,EAC7B,CACP,CACD,+BA7KA,SAjIgC,IACJ,KACU,KACI,KAC2E,EAE/G,GAAS,CAAC,UAAW,CAAC,SAAU,CAAC,UAAW,cAAe,UAAW,eAAe,EAAG,KAAMjB,MAAkB,OAAO,6DAA+F,EAAG,KAAM,GAAG,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,eAAe,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,SAAS,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,gBAAgB,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,UAAU,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,aAAa,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,OAAO,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,eAAe,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,WAAW,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,cAAc,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,QAAQ,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,eAAe,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,WAAW,EAAG,UAAW,CAAC,SAAU,CAAC,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,qBAAqB,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,gBAAgB,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,UAAU,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,OAAO,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,QAAQ,EAAG,UAAW,CAAC,SAAU,CAAC,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,MAAM,EAAG,UAAW,CAAC,SAAU,CAAC,UAAW,eAAe,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,cAAc,EAAG,UAAW,CAAC,aAAc,YAAa,SAAU,CAAC,UAAW,kBAAkB,EAAG,KAAMA,MAAkB,OAAO,6DAA+F,EAAG,KAAM,kBAAkB,CAAC,EAEjjF,GAAU,CAAC,CAAC,KAAM,KAAM,GAAI,UAAW,KAAM,UAAW,KAAM,GAAI,cAAe,KAAK,CAAC,EACvF,GAAkB,CAAC,UAAW,UAAa,MAAM,OAAO,8DAAA,EAAmG,KAAQ,EACnK,GAAe,mEAoCf,GAAY,OAAO,SAAa,IAChC,GAAQ,IAAa,wDAAwD,KAAK,EAAU,SAAS,EAkFvG,GAAW,CAEd,EAAO,4BAA8B,EAAoB,QACjDH,EAAoBqB,GAAyB,CAAE,MAAO,qCAAuC,EAAmB,SAAW,EAAqB,GAAI,CAAC,EAK7J,EAAO,gBAAkB,EAAO,iBAAmB,CAAC,EAGpD,GAA4B,EAE5B,IAAM,EAAY,SAAS,eAAe,MAAM,EAE5C,oBAAqB,EAAU,QAAS,GAAK,GAAM,CAAS,EAC3D,GAAK,GAAO,CAAS,CAC3B"}