{"version":3,"file":"shared-lib.CLucXA7j.mjs","names":["React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","React.useRef","React.useState","EASE","React.useRef","React.useState","React.useMemo","React.useState","React.useRef","_Fragment","css","css","React.useRef","React.useState","css","React.Fragment","React.useState","metadata","metadata","siteMetadata","metadataVersion","__FramerMetadata__","__esmMin","pe","init_npm_react_18_3_1","init_ssg_sandbox_shims","window","x","ie","init_npm_react_dom_18_3_1","_e","Ha","oe","p","c","J","init_jsx_runtime","ce","de","MotionConfigContext","LayoutGroup","init_framer_motion_DhsWWWsN","useComponentViewport","init_framer_DymZktPS","useLocaleInfo","addFonts","RenderTarget","cx","RichText","withCSS","ControlType","useVariantState","addPropertyControls","addPropertyOverrides","variants","nextOverrides","variant","overrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","FramerxXHCRAiPB","init_xXHCRAiPB","config","transition","value","contextValue","motion","props","label","fallbackRef","refBinding","ref","defaultLayoutId","restProps","layoutDependency","scopingClassNames","layoutId","gestureHandlers","className","classNames","style","baseVariant","gestureVariant","OakpAN5W5","useReveal","state","setState","el","isLive","reduced","io","useTouchFocus","e","entries","seen","scan","NEAR","t1","t2","t3","SecHead","no","Base","C","GLASS","TICKS","TICK_SIZE","TICK_POS","sel","EASE$1","delays","TOUCH","PHONE","spot","STAG","init_Arc44Base","r","prefix","s","i","useShader","wrap","cv","gl","onFail","sh","type","src","prog","frag","loc","frame","setup","W","H","size","dpr","scale","ro","still","raf","visible","draw","now","loop","useSectionPointer","m","sec","move","leave","click","GlassRims","failed","setFailed","ptr","RIMS","uRes","uT","uM","uOn","ease","StripeLight","ctx","center","last","target","w2","width","gap","d","I","peak","RibbonMesh","svg","paths","t","k","lines","u","y","opacity","hash2","h","vn","xi","yi","xf","yf","v","a","b","buildTopo","key","seed","topoCache","f","j","TC","march","levels","idx","T","R","B","L","seg","q","bold","fine","grid","ticks","gx","TW","TH","gy","TopoMap","brightness","dots","FX_CSS","init_Arc44FX","Cursor","on","setOn","dot","ring","tagEl","reduce","mx","my","rx","ry","mag","setMode","mode","text","releaseMag","EASE","els","hit","INTERACTIVE","tag","MAGNETIC","dx","magnetStrength","dy","down","up","l","css$3","ACCENT","init_Cursor","Footer","TAGLINE","emailProp","EMAIL","workLabel","link","workLink","email","css$2","fixWarsaw","tagline","year","init_Footer","and","HalftonePool","live","FRAG","U","n","uDpr","uL","uRp","uRa","uDot","uBr","coarse","cw","ch","home","P","local","t0","age","narrow","step","poke","Hero","words","headline","accents","accentWords","HT_CSS","css$1","dotSize","dotBrightness","hint","eyebrow","w","lead","primaryLink","primaryLabel","secondaryLink","secondaryLabel","init_Hero","Nav","LINKS","scrolled","setScrolled","talent","setTalent","isCareersPath","top","css","TALENT_LINKS","links","fixLink","ctaLink","ctaLabel","CAREERS","init_Nav","metadata$2","init_siteMetadata","metadata$1","params","contentLocale","metadataVersion$1","__FramerMetadata__$1","init_augiA20Il","\"exports\"","\"metadataVersion\"","\"type\"","\"annotations\"","\"framerContractVersion\"","\"default\"","\"__FramerMetadata__\"","metadata","metadataVersion","__FramerMetadata__","init_Kr3qmNH1W"],"sources":["https:/framerusercontent.com/modules/A1hKqPGjx2IvaOlNLMMD/JgNUc9G127oCzPq3fN7U/xXHCRAiPB.js","https:/framerusercontent.com/modules/mX2DxlTEY9X259dAzTBw/z5zXKQYfAAyjD9VzOsYX/Arc44Base.js","https:/framerusercontent.com/modules/xBMO4ZyshlEnx4BGLMqD/PDEpQQRJHTjouH7KZ6YD/Arc44FX.js","https:/framerusercontent.com/modules/f97eFwbKXhSxpo0vyx5S/6lkkS3DEBgBOw1KzjDpD/Cursor.js","https:/framerusercontent.com/modules/Z32acDMKPdNQrpVZzBR5/We3QR4jnBs5WezxYfZIA/Footer.js","https:/framerusercontent.com/modules/T8tD3Z3mcirXMfaCQK0S/BDDCnCw1AUi2cUriBisH/Hero.js","https:/framerusercontent.com/modules/zQfFk1MDazvnOxFyLjnD/E2jGkW8MX05hszqsQxwk/Nav.js","https:/framerusercontent.com/modules/kbANBIjo3NyLSetIcxvl/wzasgCFTfDBmMqlv1rkl/siteMetadata.js","https:/framerusercontent.com/modules/79POli39WJxkRJClnfha/0j6iWqskriApi9SN5kUz/augiA20Il.js","https:/framerusercontent.com/modules/LgloPvOC4C8WQluConI2/Urek4BQuigj2vX2c9rX3/Kr3qmNH1W.js"],"sourcesContent":["// Generated by Framer (dd23e71)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"C2OF9jJgY\",\"yD2hMvwSi\",\"nITmKzMAL\",\"qiLYnm68B\"];const serializationHash=\"framer-b85fW\";const variantClassNames={C2OF9jJgY:\"framer-v-zo61x\",nITmKzMAL:\"framer-v-yt8i38\",qiLYnm68B:\"framer-v-1k87prm\",yD2hMvwSi:\"framer-v-fcwawa\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const OakpAN5W5=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={Default:\"C2OF9jJgY\",Error:\"qiLYnm68B\",Loading:\"yD2hMvwSi\",Success:\"nITmKzMAL\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,label,width,...props})=>{return{...props,OakpAN5W5:label??props.OakpAN5W5??\"Submit\",variant:humanReadableVariantMap[props.variant]??props.variant??\"C2OF9jJgY\"};};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,contentLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,OakpAN5W5,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"C2OF9jJgY\",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__*/_jsx(motion.button,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-zo61x\",className,classNames),\"data-framer-name\":\"Default\",\"data-reset\":\"button\",layoutDependency:layoutDependency,layoutId:\"C2OF9jJgY\",ref:refBinding,style:{backgroundColor:\"rgb(222, 255, 0)\",opacity:1,...style},variants:{nITmKzMAL:{backgroundColor:\"rgb(255, 255, 255)\",opacity:1},qiLYnm68B:{backgroundColor:\"rgb(38, 38, 38)\",opacity:1},yD2hMvwSi:{opacity:.7}},...addPropertyOverrides({nITmKzMAL:{\"data-framer-name\":\"Success\"},qiLYnm68B:{\"data-framer-name\":\"Error\"},yD2hMvwSi:{\"data-framer-name\":\"Loading\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-2gg91v, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, #050505)\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-1asg273, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, #050505)\"},children:\"Submit\"})})}),className:\"framer-1ayouf8\",fonts:[\"GF;Geist-500\"],layoutDependency:layoutDependency,layoutId:\"W_OwiAzlx\",style:{\"--extracted-1asg273\":\"normal\",\"--extracted-1w3ko1f\":\"#050505\",\"--extracted-2gg91v\":\"normal\",\"--extracted-r6o4lv\":\"#050505\"},text:OakpAN5W5,variants:{nITmKzMAL:{\"--extracted-1w3ko1f\":\"rgb(5, 5, 5)\",\"--extracted-r6o4lv\":\"rgb(5, 5, 5)\"},qiLYnm68B:{\"--extracted-1w3ko1f\":\"#FFFFFF\",\"--extracted-r6o4lv\":\"#FFFFFF\"},yD2hMvwSi:{\"--extracted-1w3ko1f\":\"rgb(5, 5, 5)\",\"--extracted-r6o4lv\":\"rgb(5, 5, 5)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({nITmKzMAL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-2gg91v, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(5, 5, 5))\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-1asg273, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(5, 5, 5))\"},children:\"Sent. We’ll reply by email.\"})})})},qiLYnm68B:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-2gg91v, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, #FFFFFF)\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-1asg273, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, #FFFFFF)\"},children:\"Couldn’t send. Please try again.\"})})})},yD2hMvwSi:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-2gg91v, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(5, 5, 5))\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7R2Vpc3QtNTAw\",\"--framer-font-family\":'\"Geist\"',\"--framer-font-size\":\"17px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"var(--extracted-1asg273, normal)\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(5, 5, 5))\"},children:\"Sending…\"})})})}},baseVariant,gestureVariant)})})})})});});const css=[\".framer-b85fW.framer-b6n6fv, .framer-b85fW .framer-b6n6fv { display: block; }\",\".framer-b85fW.framer-zo61x { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 60px; justify-content: center; padding: 0px 32px 0px 32px; position: relative; width: min-content; }\",\".framer-b85fW .framer-1ayouf8 { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 60\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"yD2hMvwSi\":{\"layout\":[\"auto\",\"fixed\"]},\"nITmKzMAL\":{\"layout\":[\"auto\",\"fixed\"]},\"qiLYnm68B\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"OakpAN5W5\":\"label\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerxXHCRAiPB=withCSS(Component,css,\"framer-b85fW\");export default FramerxXHCRAiPB;FramerxXHCRAiPB.displayName=\"Arc44 Submit Button\";FramerxXHCRAiPB.defaultProps={height:60,width:200};addPropertyControls(FramerxXHCRAiPB,{variant:{options:[\"C2OF9jJgY\",\"yD2hMvwSi\",\"nITmKzMAL\",\"qiLYnm68B\"],optionTitles:[\"Default\",\"Loading\",\"Success\",\"Error\"],title:\"Variant\",type:ControlType.Enum},OakpAN5W5:{defaultValue:\"Submit\",title:\"Label\",type:ControlType.String},onOakpAN5W5Change:{changes:\"OakpAN5W5\",type:ControlType.ChangeHandler}});addFonts(FramerxXHCRAiPB,[{explicitInter:true,fonts:[{cssFamilyName:\"Geist\",source:\"google\",style:\"normal\",uiFamilyName:\"Geist\",url:\"https://fonts.gstatic.com/s/geist/v5/gyBhhwUxId8gMGYQMKR3pzfaWI_RruM4mJPby1QNtA.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerxXHCRAiPB\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"OakpAN5W5\\\":\\\"label\\\"}\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"yD2hMvwSi\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"nITmKzMAL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"qiLYnm68B\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"200\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"60\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./xXHCRAiPB.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{RenderTarget}from\"framer\";export const C={bg:\"#050505\",bg1:\"#0B0B0B\",bg2:\"#111111\",surface:\"#0B0B0B\",line:\"#1F1F1F\",lineAlt:\"#262626\",lineStrong:\"#3A3A3A\",text:\"#FFFFFF\",soft:\"#C4C4C4\",muted:\"#A3A3A3\",faint:\"#737373\",accent:\"#DEFF00\"};export const isLive=()=>{try{return RenderTarget.current()===RenderTarget.preview;}catch(e){return true;}};export const reduced=()=>typeof window!==\"undefined\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;/* Anything already on screen (or nearly) renders with no animation at all. Everything else fires\n   as soon as its top edge is 60px inside the viewport, so content is already settled by the time\n   you have scrolled to it rather than starting once it is halfway up the screen. */export function useReveal(){const ref=React.useRef(null);const[state,setState]=React.useState(\"\");React.useEffect(()=>{const el=ref.current;if(!el||!isLive()||reduced())return;if(el.getBoundingClientRect().top<window.innerHeight*.92)return;setState(\" is-off\");const io=new IntersectionObserver(([e])=>{if(e.isIntersecting){setState(\" is-in\");io.disconnect();}},{threshold:0,rootMargin:\"0px 0px -60px 0px\"});io.observe(el);return()=>io.disconnect();},[]);return[ref,state];}/* ---------- Touch focus ----------\n   Phones and tablets have no hover, so on a coarse pointer whatever is passing through the middle\n   band of the screen gets the class \"is-near\", and the CSS below mirrors that element's hover state\n   onto it. Every interactive card, cell and row on both pages is covered. Call once per page. */const NEAR=[\".bf-cell\",\".w-card\",\".pp-cell\",\".u-row\",\".pr-tier\",\".pr-add\",\".r-card\",\".tw-item\",\".tj-card\",\".th-role\",\".x-glass-hi\"].join(\", \");export function useTouchFocus(){React.useEffect(()=>{if(!isLive())return;if(!window.matchMedia(\"(hover: none)\").matches)return;// The band is the middle ~24% of the screen: a card or two is lit at a time, not the page.\nconst io=new IntersectionObserver(entries=>{for(const e of entries)e.target.classList.toggle(\"is-near\",e.isIntersecting);},{threshold:0,rootMargin:\"-38% 0px -38% 0px\"});const seen=new WeakSet;const scan=()=>{document.querySelectorAll(NEAR).forEach(el=>{if(seen.has(el))return;seen.add(el);io.observe(el);});};scan();// Sections mount and reflow after the nav, so rescan a few times and on resize.\nconst t1=setTimeout(scan,400);const t2=setTimeout(scan,1400);const t3=setTimeout(scan,3e3);window.addEventListener(\"resize\",scan);return()=>{io.disconnect();clearTimeout(t1);clearTimeout(t2);clearTimeout(t3);window.removeEventListener(\"resize\",scan);};},[]);}// Sets --mx/--my on the element for cursor-driven spotlights, dot glows and topo reveals.\nexport const spot=e=>{const r=e.currentTarget.getBoundingClientRect();e.currentTarget.style.setProperty(\"--mx\",`${e.clientX-r.left}px`);e.currentTarget.style.setProperty(\"--my\",`${e.clientY-r.top}px`);};export function SecHead({no,label}){return /*#__PURE__*/_jsxs(\"div\",{className:\"x-sh\",\"data-r\":\"\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"x-accent\",children:[\"(\",no,\")\"]}),/*#__PURE__*/_jsx(\"span\",{children:label})]});}/* ---------- Topographic contours (value noise + marching squares, computed once per seed) ---------- */const W=1600,H=1e3,CELL=16;const topoCache={};function hash(x,y,s){let h=x*374761393+y*668265263+s*982451653|0;h=(h^h>>>13)*1274126177;return((h^h>>>16)>>>0)/4294967295;}function vnoise(x,y,s){const xi=Math.floor(x),yi=Math.floor(y),xf=x-xi,yf=y-yi;const u=xf*xf*(3-2*xf),v=yf*yf*(3-2*yf);const a=hash(xi,yi,s),b=hash(xi+1,yi,s),c=hash(xi,yi+1,s),d=hash(xi+1,yi+1,s);return a+(b-a)*u+(c-a)*v+(a-b-c+d)*u*v;}function topoPath(seed,levels){const key=seed+\":\"+levels;if(topoCache[key])return topoCache[key];const cols=W/CELL+1,rows=H/CELL+1;const f=[];for(let j=0;j<rows;j++){f[j]=[];for(let i=0;i<cols;i++){const x=i*.045,y=j*.045;f[j][i]=vnoise(x,y,seed)*.6+vnoise(x*2.1,y*2.1,seed+7)*.28+vnoise(x*4.3,y*4.3,seed+13)*.12;}}let d=\"\";for(let l=1;l<=levels;l++){const t=.18+l/(levels+1)*.64;for(let j=0;j<rows-1;j++){for(let i=0;i<cols-1;i++){const a=f[j][i],b=f[j][i+1],c=f[j+1][i+1],e=f[j+1][i];const idx=(a>t?8:0)|(b>t?4:0)|(c>t?2:0)|(e>t?1:0);if(idx===0||idx===15)continue;const x=i*CELL,y=j*CELL;const T=[x+CELL*((t-a)/(b-a)),y];const R=[x+CELL,y+CELL*((t-b)/(c-b))];const B=[x+CELL*((t-e)/(c-e)),y+CELL];const L=[x,y+CELL*((t-a)/(e-a))];const seg=(p,q)=>{d+=`M${p[0].toFixed(1)} ${p[1].toFixed(1)}L${q[0].toFixed(1)} ${q[1].toFixed(1)}`;};switch(idx){case 1:case 14:seg(L,B);break;case 2:case 13:seg(B,R);break;case 3:case 12:seg(L,R);break;case 4:case 11:seg(T,R);break;case 5:seg(L,T);seg(B,R);break;case 6:case 9:seg(T,B);break;case 7:case 8:seg(L,T);break;case 10:seg(T,R);seg(L,B);break;}}}}topoCache[key]=d;return d;}// Contour-line background. An accent copy lights up around the cursor (put spot() on the parent section).\nexport function Topo({seed=3,levels=11,opacity=.07,reveal=true}){const d=React.useMemo(()=>topoPath(seed,levels),[seed,levels]);return /*#__PURE__*/_jsxs(\"div\",{className:\"x-topo\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"svg\",{viewBox:`0 0 ${W} ${H}`,preserveAspectRatio:\"xMidYMid slice\",children:/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:`rgba(255,255,255,${opacity})`,strokeWidth:\"1\"})}),reveal&&/*#__PURE__*/_jsx(\"div\",{className:\"x-topo-hi\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:`0 0 ${W} ${H}`,preserveAspectRatio:\"xMidYMid slice\",children:/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:\"rgba(222,255,0,.6)\",strokeWidth:\"1.2\"})})})]});}// Receding perspective grid floor.\nexport function Floor({height=320}){return /*#__PURE__*/_jsx(\"div\",{className:\"x-floor\",\"aria-hidden\":\"true\",style:{height},children:/*#__PURE__*/_jsx(\"div\",{className:\"x-floor-grid\"})});}// Grids whose children stagger in on entry.\nconst STAG=[\".x-stag > *\",\".pr-row > *\",\".u-rows > *\",\".c-presets > *\",\".x-hair > *\"];const sel=prefix=>STAG.map(s=>`${prefix} ${s}`).join(\", \");// Short, tight stagger: the last card in a row lands ~0.3s after the first, not 1s after.\nconst delays=Array.from({length:10},(_,i)=>`${sel(\".x.is-in\")}:nth-child(${i+1}) { animation-delay: ${70+i*38}ms; }`).join(\"\\n\");const EASE=\"cubic-bezier(.2,.75,.25,1)\";const GLASS=\"linear-gradient(160deg, rgba(255,255,255,.075) 0%, rgba(255,255,255,.025) 45%, rgba(255,255,255,.04) 100%)\";const TICK=\"linear-gradient(var(--hc), var(--hc))\";const TICKS=Array(8).fill(TICK).join(\", \");const TICK_SIZE=\"10px 1px, 1px 10px, 10px 1px, 1px 10px, 10px 1px, 1px 10px, 10px 1px, 1px 10px\";const TICK_POS=\"0 0, 0 0, 100% 0, 100% 0, 0 100%, 0 100%, 100% 100%, 100% 100%\";/* ---------- Touch focus styles ----------\n   Mirrors each component's hover rules onto .is-near, so scrolling on a phone reveals the same\n   accents a cursor does on desktop. Prefixed with .x to win over the components' own rules. */const TOUCH=`\n@media (hover: none) {\n  .x .bf-cell.is-near { background: rgba(255,255,255,.04); }\n  .x .bf-cell.is-near::after { transform: scaleX(1); }\n  .x .bf-cell.is-near .bf-no { color: ${C.accent}; }\n  .x .bf-cell.is-near .bf-detail { color: ${C.soft}; }\n  /* Process cards: the step this card shows is driven by the auto-cycle, so the scroll state needs\n     its own look, not just the border it already shares with the active step. */\n  .x .w-card.is-near { border-color: rgba(222,255,0,.6); transform: translateY(-4px); box-shadow: 0 0 0 1px rgba(222,255,0,.16), inset 0 1px 0 rgba(255,255,255,.14), 0 24px 50px -28px rgba(0,0,0,.95); }\n  .x .w-card.is-near .w-t { color: ${C.text}; }\n  .x .w-card.is-near .w-b { color: ${C.soft}; opacity: 1; }\n  .x .w-grid.is-playing .w-card.is-near:not(.is-on) .w-t { color: ${C.text}; }\n  .x .w-grid.is-playing .w-card.is-near:not(.is-on) .w-b { opacity: 1; }\n  .x .pp-cell.is-near { border-color: rgba(222,255,0,.35); }\n  .x .pp-cell.is-near::before { transform: scaleY(1); }\n  .x .pp-cell.is-near .pp-no { color: ${C.accent}; }\n  .x button.u-row.is-near { color: ${C.text}; padding-left: 8px; }\n  .x .pr-tier:not(.is-on).is-near { border-color: rgba(255,255,255,.22); transform: translateY(-4px); }\n  /* Plain add-ons warm to white; the founding partner card keeps (and brightens) its lime edge. */\n  .x .pr-add:not(.is-h).is-near { border-color: rgba(255,255,255,.22); }\n  .x .pr-add.is-h.is-near { border-color: ${C.accent}; box-shadow: 0 0 24px -6px rgba(222,255,0,.35); }\n  .x .r-card.is-near, .x .tj-card.is-near { border-color: rgba(222,255,0,.4); transform: translateY(-4px); }\n  .x .tj-card.is-near::before { background: ${C.accent}; box-shadow: 0 0 14px rgba(222,255,0,.6); }\n  .x .tj-card.is-near .tj-b { color: ${C.soft}; }\n  .x .tw-item.is-near { padding-left: 10px; }\n  .x .tw-item.is-near::before { transform: scaleX(1); }\n  .x .tw-item.is-near .tw-no { opacity: 1; }\n  .x .tw-item.is-near .tw-t::after { opacity: 1; transform: none; }\n  .x .th-role.is-near { padding-left: 6px; color: ${C.accent}; }\n  .x .x-glass-hi.is-near { --mx: 50%; --my: 38%; }\n  .x .x-glass-hi.is-near::after { opacity: 1; }\n}\n@media (hover: none) and (prefers-reduced-motion: reduce) {\n  .x .r-card.is-near, .x .tj-card.is-near, .x .w-card.is-near, .x .pr-tier:not(.is-on).is-near { transform: none; }\n}\n`;/* ---------- Phone sizing pass ----------\n   One place that scales type, padding and card sizes down below 600px (and again below 430px), so\n   sections stop overrunning the fold. Prefixed with .x so they win over each component's own rules,\n   which load after this stylesheet. */const PHONE=`\n@container (max-width: 600px) {\n  .x .x-sec { padding-top: 60px; padding-bottom: 60px; }\n  .x .x-h2 { font-size: clamp(32px, 8.6cqi, 44px); letter-spacing: -0.035em; }\n  .x .x-h2alt { font-size: clamp(30px, 8cqi, 40px); letter-spacing: -0.035em; }\n  .x a.x-btn, .x a.x-btn-ghost { min-height: 52px; padding: 0 22px; font-size: 16px; }\n  .x .x-sh { font-size: 12px; }\n  .x .x-12 { row-gap: 36px; }\n\n  .x .h { min-height: 560px; }\n  .x .h-in { padding-top: 52px; padding-bottom: 52px; gap: 36px; }\n  .x .h-top { gap: 22px; }\n  .x .h-h1 { font-size: clamp(36px, 11.2cqi, 50px); letter-spacing: -0.035em; line-height: 0.96; }\n  .x .h-lead { font-size: 17px; }\n  .x .h-eyebrow { font-size: 12px; padding: 7px 12px 7px 10px; }\n  .x .th { min-height: 560px; padding-top: 52px; padding-bottom: 56px; }\n  .x .th-h1 { font-size: clamp(42px, 13cqi, 60px); letter-spacing: -0.04em; }\n  .x .th-lead { font-size: 17px; }\n  .x .th-top { gap: 22px; }\n  .x .th-bottom, .x .th-panel { margin-top: 28px; }\n  .x .th-panel { padding: 18px; }\n  .x .th-role { font-size: 15px; padding: 10px 0; }\n\n  .x .c-body, .x .tw-body, .x .af-body, .x .r-intro, .x .w-intro, .x .t-p, .x .u-body { font-size: 16px; line-height: 1.5; }\n\n  .x .c-box { padding: 22px; gap: 22px; }\n  .x .c-lab { font-size: 11px; }\n  .x .c-spend { font-size: 28px; }\n  .x .c-cell { padding: 14px; gap: 4px; }\n  .x .c-k { font-size: 11px; }\n  .x .c-v { font-size: 19px; }\n  .x .c-total { padding-top: 18px; gap: 6px; }\n  .x .c-total-k { font-size: 11px; }\n  .x .c-total-r { padding: 2px 2px 0 4px; }\n  .x .c-total-v { font-size: 34px; line-height: 1.08; padding: 2px 2px 4px; }\n  .x .c-sub { font-size: 12px; padding-bottom: 2px; }\n  .x .c-sub b { font-size: 15px; }\n  .x .c-foot { font-size: 13px; gap: 10px; }\n  .x .c-scale { font-size: 11px; }\n  .x .c-range { height: 36px; }\n  .x button.c-chip { font-size: 12px; padding: 8px 11px; }\n  .x .c-presets { gap: 6px; }\n\n  .x .bf-cell { padding: 20px 16px; gap: 20px; }\n  .x .bf-name { font-size: 20px; }\n  .x .bf-detail { min-height: 0; }\n  .x .w-card { padding: 22px; }\n  .x .w-t { font-size: 26px; margin-top: 22px; }\n  .x .r-card { padding: 22px; }\n  .x .r-t { font-size: 26px; margin-top: 22px; }\n  .x .r-reqs { margin: 20px 0 24px; padding-top: 16px; font-size: 14px; }\n  .x .pp-cell { padding: 22px; }\n  .x .pp-t { font-size: 20px; margin-top: 20px; }\n  .x .tj-card { padding: 22px; }\n  .x .tj-t { font-size: 23px; margin-top: 22px; }\n  .x .tw-item { padding: 18px 0; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }\n  .x .tw-t { font-size: 19px; }\n  .x .w-b, .x .pp-b, .x .r-b, .x .tj-b, .x .tw-b { font-size: 15px; line-height: 1.5; }\n\n  /* Teardown: the row gap between the paragraph and the button is the lime block's home, sized to\n     fit the block (128px) plus its readout with even breathing room above and below. */\n  .x .t { min-height: 720px; padding-top: 64px; padding-bottom: 72px; row-gap: 252px; }\n  .x .t-h { font-size: clamp(36px, 10.6cqi, 50px); letter-spacing: -0.035em; }\n  .x a.t-btn { min-height: 56px; font-size: 16px; }\n  .x .af-h { font-size: clamp(40px, 12cqi, 56px); }\n  .x .af-form { padding: 20px; gap: 18px; }\n  .x .af-in { padding: 12px; font-size: 15px; }\n  .x .af-done { padding: 32px 22px; min-height: 0; }\n  .x .af-done h3 { font-size: 28px; }\n}\n@container (max-width: 430px) {\n  .x .x-sec { padding-top: 52px; padding-bottom: 52px; }\n  .x .h-h1 { font-size: 36px; }\n  .x .th-h1 { font-size: 42px; }\n  .x .c-spend { font-size: 26px; }\n  .x .c-total-v { font-size: 30px; }\n  .x .c-v { font-size: 18px; }\n  .x .bf-name { font-size: 19px; }\n  .x .w-t, .x .r-t { font-size: 24px; }\n  .x .t { min-height: 700px; padding-bottom: 64px; row-gap: 244px; }\n}\n`;export function Base(){return /*#__PURE__*/_jsx(\"style\",{children:`\n@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');\n.x { container-type: inline-size; width: 100%; box-sizing: border-box; background: ${C.bg}; color: ${C.text}; font-family: 'Geist', ui-sans-serif, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }\n.x *, .x *::before, .x *::after { box-sizing: border-box; }\n.x a { color: inherit; }\n.x a:focus-visible, .x input:focus-visible, .x button:focus-visible, .x [role=button]:focus-visible, .x [role=radio]:focus-visible { outline: 2px solid ${C.accent}; outline-offset: 3px; }\n.x button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }\n.x-label { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.04em; color: ${C.faint}; }\n.x-sh { display: flex; align-items: center; gap: 12px; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.04em; color: ${C.muted}; }\n.x-sh::after { content: \"\"; flex: 1; max-width: 120px; height: 1px; background: ${C.lineStrong}; margin-left: 6px; transform-origin: left; }\n.x-pad { padding-left: clamp(20px, 4.45cqi, 64px); padding-right: clamp(20px, 4.45cqi, 64px); }\n.x-sec { padding-top: clamp(80px, 9.7cqi, 140px); padding-bottom: clamp(80px, 9.7cqi, 140px); }\n.x-h2 { margin: 0; font-size: clamp(48px, 6.12cqi, 88px); font-weight: 500; line-height: 0.95; letter-spacing: -0.045em; text-wrap: balance; }\n.x-h2alt { margin: 0; font-size: clamp(44px, 5cqi, 72px); font-weight: 500; line-height: 0.98; letter-spacing: -0.045em; text-wrap: balance; }\n.x-accent { color: ${C.accent}; }\n.x a.x-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 28px; background: ${C.accent}; color: ${C.bg}; text-decoration: none; font-size: 17px; font-weight: 600; white-space: nowrap; transition: background .2s, box-shadow .3s; }\n.x a.x-btn:hover { background: #EAFF4D; color: ${C.bg}; box-shadow: 0 0 0 6px rgba(222,255,0,.12); }\n.x a.x-btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 28px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); color: ${C.text}; text-decoration: none; font-size: 17px; font-weight: 500; white-space: nowrap; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); transition: border-color .2s, background .2s; }\n.x a.x-btn-ghost:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.08); }\n.x-arr { display: inline-block; transition: transform .25s cubic-bezier(.2,.7,.2,1); }\n.x a:hover .x-arr { transform: translateX(4px); }\n.x-ul { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s cubic-bezier(.2,.7,.2,1), color .2s; padding-bottom: 2px; }\n.x-ul:hover { background-size: 100% 1px; }\n.x-hair { display: grid; gap: 1px; background: ${C.line}; border: 1px solid ${C.line}; }\n.x-spot { position: relative; isolation: isolate; }\n.x-spot::before { content: \"\"; position: absolute; inset: 0; z-index: -1; background: radial-gradient(380px circle at var(--mx, -999px) var(--my, -999px), rgba(222,255,0,.075), transparent 60%); opacity: 0; transition: opacity .35s; pointer-events: none; }\n.x-spot:hover::before { opacity: 1; }\n.x-12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }\n\n/* Layering: background layers at z 0, content above. */\n.x-bgwrap { position: relative; overflow: hidden; isolation: isolate; }\n.x-bgwrap > .x-topo, .x-bgwrap > .x-floor, .x-bgwrap > .x-dots, .x-bgwrap > .x-scan, .x-bgwrap > .x-glow { z-index: 0; }\n.x-bgwrap > :not(.x-topo):not(.x-floor):not(.x-dots):not(.x-scan):not(.x-glow) { position: relative; z-index: 1; }\n\n/* iOS-style glass (+ optional HUD corner ticks layered on the same background) */\n.x-glass { background: ${GLASS}; -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); border: 1px solid rgba(255,255,255,.09); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(255,255,255,.03), 0 30px 60px -30px rgba(0,0,0,.9); }\n.x-hud { --hc: rgba(222,255,0,.55); background-image: ${TICKS}; background-repeat: no-repeat; background-size: ${TICK_SIZE}; background-position: ${TICK_POS}; }\n.x-glass.x-hud { background-image: ${TICKS}, ${GLASS}; background-size: ${TICK_SIZE}, 100% 100%; background-position: ${TICK_POS}, 0 0; }\n.x-glass-hi { position: relative; }\n.x-glass-hi::after { content: \"\"; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(260px circle at var(--mx, -999px) var(--my, -999px), rgba(255,255,255,.09), transparent 65%); opacity: 0; transition: opacity .35s; }\n.x-glass-hi:hover::after { opacity: 1; }\n\n/* Topographic contours */\n.x-topo { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }\n.x-topo svg { position: absolute; left: -6%; top: -6%; width: 112%; height: 112%; animation: x-drift 60s ease-in-out infinite alternate; }\n.x-topo-hi { position: absolute; inset: 0; -webkit-mask-image: radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px), #000 0%, transparent 100%); mask-image: radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px), #000 0%, transparent 100%); }\n@keyframes x-drift { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-2%, 1.5%, 0) scale(1.04); } }\n\n/* Dot matrix, brighter under the cursor */\n.x-dots { position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(255,255,255,.09) 1px, transparent 1.2px); background-size: 22px 22px; }\n.x-dots::after { content: \"\"; position: absolute; inset: 0; background-image: radial-gradient(rgba(222,255,0,.8) 1.2px, transparent 1.4px); background-size: 22px 22px; -webkit-mask-image: radial-gradient(200px circle at var(--mx, -999px) var(--my, -999px), #000, transparent); mask-image: radial-gradient(200px circle at var(--mx, -999px) var(--my, -999px), #000, transparent); }\n\n/* Scan line sweep */\n.x-scan { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }\n.x-scan::after { content: \"\"; position: absolute; left: 0; right: 0; top: -20%; height: 20%; background: linear-gradient(to bottom, transparent, rgba(222,255,0,.04) 70%, rgba(222,255,0,.14) 99%, transparent); animation: x-scan 8s linear infinite; }\n@keyframes x-scan { to { transform: translateY(600%); } }\n\n/* Soft accent glow */\n.x-glow { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(80px); background: rgba(222,255,0,.08); }\n\n/* Perspective floor */\n.x-floor { position: absolute; left: -20%; right: -20%; bottom: 0; pointer-events: none; perspective: 520px; -webkit-mask-image: linear-gradient(to top, #000 10%, transparent 95%); mask-image: linear-gradient(to top, #000 10%, transparent 95%); }\n.x-floor-grid { position: absolute; inset: -60% 0 0 0; transform: rotateX(72deg); transform-origin: bottom; background-image: linear-gradient(rgba(222,255,0,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(222,255,0,.16) 1px, transparent 1px); background-size: 64px 64px; animation: x-floor 3.5s linear infinite; }\n@keyframes x-floor { to { background-position: 0 64px, 0 0; } }\n\n/* Scroll entry: short, small-travel, transform and opacity only. */\n.x.is-off [data-r], ${sel(\".x.is-off\")} { opacity: 0; }\n.x.is-off .x-sh::after { transform: scaleX(0); }\n.x.is-in [data-r] { animation: x-rise .5s ${EASE} backwards; animation-delay: calc(var(--i, 0) * 45ms); }\n.x.is-in .x-h2[data-r], .x.is-in .x-h2alt[data-r], .x.is-in .t-h[data-r] { animation-name: x-wipe; animation-duration: .62s; }\n.x.is-in .x-sh::after { animation: x-line .5s ${EASE} .06s backwards; }\n${sel(\".x.is-in\")} { animation: x-cell .46s ${EASE} backwards; }\n${delays}\n@keyframes x-rise { from { opacity: 0; transform: translate3d(0, 16px, 0); } }\n@keyframes x-wipe { from { opacity: 0; transform: translate3d(0, 0.18em, 0); clip-path: inset(0 0 100% 0); } 55% { opacity: 1; } to { clip-path: inset(-10% 0 -25% 0); } }\n@keyframes x-line { from { transform: scaleX(0); } }\n@keyframes x-cell { from { opacity: 0; transform: translate3d(0, 12px, 0); } }\n@media (prefers-reduced-motion: reduce) {\n  .x-arr, .x-ul { transition: none; }\n  .x-topo svg, .x-scan::after, .x-floor-grid { animation: none !important; }\n  .x.is-off [data-r], ${sel(\".x.is-off\")} { opacity: 1; }\n  .x.is-in [data-r], ${sel(\".x.is-in\")}, .x.is-in .x-sh::after { animation: none !important; opacity: 1; transform: none; }\n}\n@container (max-width: 810px) { .x-12 { grid-template-columns: 1fr; row-gap: 48px; } .x-12 > * { grid-column: 1 / -1 !important; } }\n${TOUCH}\n${PHONE}\n`});}\nexport const __FramerMetadata__ = {\"exports\":{\"Base\":{\"type\":\"reactComponent\",\"name\":\"Base\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"isLive\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useTouchFocus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReveal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"reduced\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"C\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"spot\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SecHead\":{\"type\":\"reactComponent\",\"name\":\"SecHead\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Floor\":{\"type\":\"reactComponent\",\"name\":\"Floor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Topo\":{\"type\":\"reactComponent\",\"name\":\"Topo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Arc44Base.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{isLive,reduced}from\"https://framerusercontent.com/modules/mX2DxlTEY9X259dAzTBw/z5zXKQYfAAyjD9VzOsYX/Arc44Base.js\";/* Background effects for the moodboard direction. Every effect renders as an absolutely\n   positioned layer (class fx-bg) at z-index 0 inside an .x-bgwrap section. */export const FX_CSS=`\n.x-bgwrap > .fx-bg { position: absolute !important; z-index: 0 !important; inset: 0; pointer-events: none; }\n.fx-grain { inset: -10% !important; opacity: .05; background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>\"); animation: fx-grain .9s steps(6) infinite; }\n@keyframes fx-grain { 0% { transform: translate(0,0); } 20% { transform: translate(-3%,2%); } 40% { transform: translate(2%,-3%); } 60% { transform: translate(-2%,-1%); } 80% { transform: translate(3%,3%); } 100% { transform: translate(0,0); } }\n.fx-canvas { display: block; width: 100%; height: 100%; }\n.fx-svg { position: absolute; inset: 0; width: 100%; height: 100%; }\n.fx-topo svg { animation: fx-drift 80s ease-in-out infinite alternate; transform-origin: 50% 50%; }\n@keyframes fx-drift { from { transform: translate3d(0,0,0) scale(1.04); } to { transform: translate3d(-1.5%, 1%, 0) scale(1.07); } }\n@media (prefers-reduced-motion: reduce) { .fx-grain, .fx-topo svg { animation: none; } }\n`;export function Grain(){return /*#__PURE__*/_jsx(\"div\",{className:\"fx-bg fx-grain\",\"aria-hidden\":\"true\"});}function useShader(wrap,cv,frag,setup,scale,onFail){React.useEffect(()=>{const el=wrap.current,c=cv.current;if(!el||!c)return;const gl=c.getContext(\"webgl\",{premultipliedAlpha:true,alpha:true,antialias:false});if(!gl)return onFail();const sh=(type,src)=>{const s=gl.createShader(type);gl.shaderSource(s,src);gl.compileShader(s);return s;};const prog=gl.createProgram();gl.attachShader(prog,sh(gl.VERTEX_SHADER,`attribute vec2 p; void main(){ gl_Position = vec4(p, 0.0, 1.0); }`));gl.attachShader(prog,sh(gl.FRAGMENT_SHADER,frag));gl.linkProgram(prog);if(!gl.getProgramParameter(prog,gl.LINK_STATUS))return onFail();gl.useProgram(prog);gl.bindBuffer(gl.ARRAY_BUFFER,gl.createBuffer());gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),gl.STATIC_DRAW);const loc=gl.getAttribLocation(prog,\"p\");gl.enableVertexAttribArray(loc);gl.vertexAttribPointer(loc,2,gl.FLOAT,false,0,0);gl.enable(gl.BLEND);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);const frame=setup(gl,prog);let W=1,H=1;const size=()=>{const r=el.getBoundingClientRect();const dpr=Math.min(1.5,window.devicePixelRatio||1)*scale;W=Math.max(1,Math.round(r.width*dpr));H=Math.max(1,Math.round(r.height*dpr));c.width=W;c.height=H;gl.viewport(0,0,W,H);};size();const ro=new ResizeObserver(size);ro.observe(el);const still=reduced()||!isLive();let raf=0,visible=true;const draw=now=>{gl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);frame(still?12e3:now,W,H);gl.drawArrays(gl.TRIANGLE_STRIP,0,4);};const loop=now=>{draw(now);if(visible&&!still)raf=requestAnimationFrame(loop);};const io=new IntersectionObserver(([e])=>{visible=e.isIntersecting;cancelAnimationFrame(raf);if(visible)raf=requestAnimationFrame(loop);},{rootMargin:\"120px\"});io.observe(el);draw(performance.now());return()=>{cancelAnimationFrame(raf);io.disconnect();ro.disconnect();};},[]);}// Cursor tracker in section-relative units (x centered, y up, 1 = section height). Eases toward the pointer.\nfunction useSectionPointer(wrap){const m=React.useRef({x:.4,y:0,tx:.4,ty:0,on:0,ton:0,pulse:0});React.useEffect(()=>{const el=wrap.current;if(!el)return;const sec=el.parentElement;const move=e=>{if(e.pointerType!==\"mouse\")return;const r=el.getBoundingClientRect();m.current.tx=(e.clientX-r.left-r.width/2)/r.height;m.current.ty=-(e.clientY-r.top-r.height/2)/r.height;m.current.ton=1;};const leave=()=>{m.current.ton=0;};const click=e=>{if(!e.target.closest(\"a, button\"))m.current.pulse=1;};sec.addEventListener(\"pointermove\",move);sec.addEventListener(\"pointerleave\",leave);sec.addEventListener(\"click\",click);return()=>{sec.removeEventListener(\"pointermove\",move);sec.removeEventListener(\"pointerleave\",leave);sec.removeEventListener(\"click\",click);};},[]);return m;}const ease=(m,k=.05)=>{m.x+=(m.tx-m.x)*k;m.y+=(m.ty-m.y)*k;m.on+=(m.ton-m.on)*.04;m.pulse*=.95;};/* ---------------- Liquid glass rims ----------------\n   Contours of one smooth, slowly flowing field, each drawn as a glass rim: a razor-thin bright\n   edge, a fainter second edge just inside, and a soft glow falling into black. Grayscale with a\n   barely-there cool tint. The cursor adds a smooth swell to the field, so rims flow around it. */const RIMS=`\nprecision highp float;\nuniform vec2 res; uniform float t; uniform vec2 m; uniform float mOn;\nconst float S = 2.5;\nfloat F(vec2 p){\n  float a = t * 0.045;\n  float f = sin(p.x * 1.05 + sin(p.y * 0.85 + a) * 1.25 + a * 0.6)\n          + sin(p.y * 1.25 + sin(p.x * 0.75 - a * 0.8) * 1.35 - a * 0.45)\n          + 0.5 * sin((p.x + p.y) * 0.8 + a * 0.9);\n  vec2 d = p - m * S;\n  f += 0.9 * exp(-dot(d, d) * 1.4) * mOn;\n  return f;\n}\nfloat rim(float dpx, float lit, float lit2){\n  float core = exp(-abs(dpx) / 0.9);\n  float second = exp(-abs(dpx - 4.5) / 0.8) * 0.5;\n  float inner = (dpx > 0.0) ? exp(-dpx / 16.0) * 0.09 : 0.0;\n  float outer = (dpx < 0.0) ? exp(dpx / 5.0) * 0.05 : 0.0;\n  return core * (0.25 + lit * 1.05) + second * (0.15 + lit2 * 0.85) + inner * (0.4 + lit) + outer + core * pow(lit, 8.0) * 1.2;\n}\nvoid main(){\n  vec2 uv = (gl_FragCoord.xy - 0.5 * res) / res.y;\n  vec2 p = uv * S;\n  float f = F(p);\n  vec2 e = vec2(0.002, 0.0);\n  vec2 g = vec2(F(p + e.xy) - F(p - e.xy), F(p + e.yx) - F(p - e.yx)) / (2.0 * e.x);\n  float glen = max(length(g), 1e-3);\n  vec2 gd = g / glen;\n  float pxPerUnit = res.y / S;\n  float lit = pow(max(0.0, dot(gd, normalize(vec2(-0.55, 0.83)))), 1.6);\n  float lit2 = pow(max(0.0, dot(-gd, normalize(vec2(0.7, -0.5)))), 2.0);\n  float v = 0.0;\n  for (int i = 0; i < 2; i++) {\n    float L = (i == 0) ? 0.45 : -1.05;\n    float dpx = (f - L) / glen * pxPerUnit;\n    if (abs(dpx) < 60.0) v += rim(dpx, lit, lit2);\n  }\n  vec3 col = vec3(v) * vec3(0.94, 0.975, 1.03);\n  gl_FragColor = vec4(col, clamp(v, 0.0, 1.0));\n}`;export function GlassRims({scale=1}){const wrap=React.useRef(null);const cv=React.useRef(null);const[failed,setFailed]=React.useState(false);const ptr=useSectionPointer(wrap);useShader(wrap,cv,RIMS,(gl,prog)=>{const uRes=gl.getUniformLocation(prog,\"res\"),uT=gl.getUniformLocation(prog,\"t\"),uM=gl.getUniformLocation(prog,\"m\"),uOn=gl.getUniformLocation(prog,\"mOn\");return(now,W,H)=>{const p=ptr.current;ease(p,.04);gl.uniform2f(uRes,W,H);gl.uniform1f(uT,now/1e3+40);gl.uniform2f(uM,p.x,p.y);gl.uniform1f(uOn,p.on);};},scale,()=>setFailed(true));return /*#__PURE__*/_jsx(\"div\",{className:\"fx-bg fx-rims\",ref:wrap,\"aria-hidden\":\"true\",children:!failed&&/*#__PURE__*/_jsx(\"canvas\",{ref:cv,className:\"fx-canvas\"})});}/* ---------------- Satin blobs with grain (metaballs) ---------------- */const BLOBS=`\nprecision highp float;\nuniform vec2 res; uniform float t; uniform vec3 b[6]; uniform float pulse;\nfloat field(vec2 p){ float s = 0.0; for (int i = 0; i < 6; i++) { vec2 d = p - b[i].xy; s += b[i].z * b[i].z / (dot(d, d) + 1e-4); } return s; }\nfloat hash(vec2 p){ return fract(sin(dot(p, vec2(12.9898, 78.233))) * 43758.5453); }\nvoid main(){\n  vec2 uv = (gl_FragCoord.xy - 0.5 * res) / res.y;\n  float f = field(uv);\n  vec2 e = vec2(0.0015, 0.0);\n  vec2 g = vec2(field(uv + e.xy) - field(uv - e.xy), field(uv + e.yx) - field(uv - e.yx));\n  float edge = smoothstep(0.96, 1.04, f);\n  float halo = smoothstep(0.45, 1.0, f) * (1.0 - edge) * 0.035;\n  float tilt = 1.0 - smoothstep(1.0, 2.4, f);\n  vec3 n = normalize(vec3(-normalize(g + 1e-6) * tilt * 1.5, 1.0));\n  vec3 L = normalize(vec3(-0.45, 0.6, 0.65));\n  float diff = max(dot(n, L), 0.0);\n  float spec = pow(max(dot(reflect(-L, n), vec3(0.0, 0.0, 1.0)), 0.0), 36.0);\n  float rimL = pow(1.0 - n.z, 2.2);\n  float grain = (hash(gl_FragCoord.xy + floor(t * 12.0)) - 0.5) * 0.16;\n  float v = 0.02 + diff * 0.16 + rimL * (0.45 + pulse * 0.4) + spec * 0.85;\n  v = max(v + grain * (0.4 + diff), 0.0);\n  vec3 col = vec3(v * edge + halo) * vec3(0.95, 0.98, 1.03);\n  gl_FragColor = vec4(col, max(edge, halo * 6.0));\n}`;export function SatinBlobs({scale=.8,anchor=[.55,.02]}){const wrap=React.useRef(null);const cv=React.useRef(null);const[failed,setFailed]=React.useState(false);const ptr=useSectionPointer(wrap);useShader(wrap,cv,BLOBS,(gl,prog)=>{const uRes=gl.getUniformLocation(prog,\"res\"),uT=gl.getUniformLocation(prog,\"t\"),uB=gl.getUniformLocation(prog,\"b\"),uP=gl.getUniformLocation(prog,\"pulse\");const arr=new Float32Array(18);const base=[[0,.05,.15,.31,0],[.24,-.12,.11,.23,1.7],[-.2,.2,.095,.37,3.1],[.12,.28,.07,.29,4.4],[-.08,-.26,.085,.19,5.6]];return(now,W,H)=>{const p=ptr.current;ease(p,.035);const s=now/1e3;base.forEach((q,i)=>{arr[i*3]=anchor[0]+q[0]+Math.sin(s*q[3]+q[4])*.07;arr[i*3+1]=anchor[1]+q[1]+Math.cos(s*q[3]*.8+q[4])*.06;arr[i*3+2]=q[2]*(1+p.pulse*.25*Math.sin(s*9+i));});// Sixth blob trails the cursor; it melts into the others when it gets close.\narr[15]=p.on>.02?p.x:anchor[0]-.3;arr[16]=p.on>.02?p.y:anchor[1]-.2;arr[17]=.065*p.on;gl.uniform2f(uRes,W,H);gl.uniform1f(uT,s);gl.uniform3fv(uB,arr);gl.uniform1f(uP,p.pulse);};},scale,()=>setFailed(true));return /*#__PURE__*/_jsx(\"div\",{className:\"fx-bg fx-blobs\",ref:wrap,\"aria-hidden\":\"true\",children:!failed&&/*#__PURE__*/_jsx(\"canvas\",{ref:cv,className:\"fx-canvas\"})});}/* ---------------- Vertical light stripes (canvas 2D) ---------------- */export function StripeLight({gap=6,peak=.11,center=.72,width=.2}){const wrap=React.useRef(null);const cv=React.useRef(null);const ptr=useSectionPointer(wrap);React.useEffect(()=>{const el=wrap.current,c=cv.current;if(!el||!c)return;const ctx=c.getContext(\"2d\");const dpr=Math.min(2,window.devicePixelRatio||1);let W=1,H=1;const size=()=>{const r=el.getBoundingClientRect();W=r.width;H=r.height;c.width=Math.round(W*dpr);c.height=Math.round(H*dpr);ctx.setTransform(dpr,0,0,dpr,0,0);};size();const ro=new ResizeObserver(size);ro.observe(el);const still=reduced()||!isLive();let cx=center,raf=0,visible=true,last=0;const draw=now=>{const p=ptr.current;ease(p,.04);const s=still?0:now/1e3;const target=center+Math.sin(s*.11)*.08+(p.on>.02?((p.x*H+W/2)/W-center)*.35*p.on:0);cx+=(target-cx)*.05;ctx.clearRect(0,0,W,H);const w2=2*(width*W)**2;for(let x=0;x<W;x+=gap){const d=x-cx*W;const I=peak*Math.exp(-(d*d)/w2)*(.75+.25*Math.sin(x*.37+s*.6));if(I<.004)continue;ctx.fillStyle=`rgba(235,242,255,${I.toFixed(3)})`;ctx.fillRect(Math.round(x),0,1,H);}};const loop=now=>{if(now-last>33){draw(now);last=now;}if(visible&&!still)raf=requestAnimationFrame(loop);};const io=new IntersectionObserver(([e])=>{visible=e.isIntersecting;cancelAnimationFrame(raf);if(visible)raf=requestAnimationFrame(loop);},{rootMargin:\"120px\"});io.observe(el);draw(performance.now());return()=>{cancelAnimationFrame(raf);io.disconnect();ro.disconnect();};},[gap,peak,center,width]);return /*#__PURE__*/_jsx(\"div\",{className:\"fx-bg fx-stripes\",ref:wrap,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"canvas\",{ref:cv,className:\"fx-canvas\"})});}/* ---------------- Twisting line ribbon (SVG) ---------------- */export function RibbonMesh({lines=34,opacity=.07}){const wrap=React.useRef(null);const svg=React.useRef(null);React.useEffect(()=>{const el=wrap.current,s=svg.current;if(!el||!s)return;const paths=Array.from(s.querySelectorAll(\"path\"));const still=reduced()||!isLive();let raf=0,visible=true,last=0;const draw=now=>{const r=el.getBoundingClientRect();const W=r.width,H=r.height,t=still?20:now/1e3;s.setAttribute(\"viewBox\",`0 0 ${W} ${H}`);paths.forEach((p,i)=>{const k=i/(lines-1)*2-1;let d=\"\";for(let x=-40;x<=W+40;x+=24){const u=x/W;const y0=H*(.66+.14*Math.sin(u*3.1+t*.12)+.05*Math.sin(u*7.3-t*.09));const w=H*.15*Math.sin(u*2.3+1.1+t*.08);const y=y0+w*k+H*.02*Math.sin(u*11+k*2+t*.2)*Math.abs(k);d+=(x===-40?\"M\":\"L\")+x.toFixed(1)+\" \"+y.toFixed(1);}p.setAttribute(\"d\",d);});};const loop=now=>{if(now-last>40){draw(now);last=now;}if(visible&&!still)raf=requestAnimationFrame(loop);};const io=new IntersectionObserver(([e])=>{visible=e.isIntersecting;cancelAnimationFrame(raf);if(visible)raf=requestAnimationFrame(loop);},{rootMargin:\"120px\"});io.observe(el);draw(performance.now());return()=>{cancelAnimationFrame(raf);io.disconnect();};},[lines]);return /*#__PURE__*/_jsx(\"div\",{className:\"fx-bg fx-ribbon\",ref:wrap,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"svg\",{ref:svg,className:\"fx-svg\",preserveAspectRatio:\"none\",children:Array.from({length:lines}).map((_,i)=>/*#__PURE__*/_jsx(\"path\",{fill:\"none\",stroke:`rgba(255,255,255,${i%6===0?opacity*2.2:opacity})`,strokeWidth:i%6===0?.9:.6},i))})});}/* ---------------- Topographic map: sparse clustered contours, warped grid, crosshairs, dots ---------------- */const TW=1600,TH=1e3,TC=8;const topoCache={};function hash2(x,y,s){let h=x*374761393+y*668265263+s*982451653|0;h=(h^h>>>13)*1274126177;return((h^h>>>16)>>>0)/4294967295;}function vn(x,y,s){const xi=Math.floor(x),yi=Math.floor(y),xf=x-xi,yf=y-yi;const u=xf*xf*(3-2*xf),v=yf*yf*(3-2*yf);const a=hash2(xi,yi,s),b=hash2(xi+1,yi,s),c=hash2(xi,yi+1,s),d=hash2(xi+1,yi+1,s);return a+(b-a)*u+(c-a)*v+(a-b-c+d)*u*v;}function buildTopo(seed){const key=String(seed);if(topoCache[key])return topoCache[key];const cols=TW/TC+1,rows=TH/TC+1;const f=[];for(let j=0;j<rows;j++){f[j]=[];for(let i=0;i<cols;i++){const x=i*TC,y=j*TC;f[j][i]=.5+.2*Math.sin(x*.0031+seed)*Math.cos(y*.0042-seed*.7)+.13*Math.sin((x+y)*.0019+seed*1.9)+.17*(vn(x*.0022,y*.0022,seed)-.5);}}const march=levels=>{let d=\"\";for(const t of levels){for(let j=0;j<rows-1;j++)for(let i=0;i<cols-1;i++){const a=f[j][i],b=f[j][i+1],c=f[j+1][i+1],e=f[j+1][i];const idx=(a>t?8:0)|(b>t?4:0)|(c>t?2:0)|(e>t?1:0);if(idx===0||idx===15)continue;const x=i*TC,y=j*TC;const T=[x+TC*((t-a)/(b-a)),y],R=[x+TC,y+TC*((t-b)/(c-b))];const B=[x+TC*((t-e)/(c-e)),y+TC],L=[x,y+TC*((t-a)/(e-a))];const seg=(p,q)=>{d+=`M${p[0].toFixed(1)} ${p[1].toFixed(1)}L${q[0].toFixed(1)} ${q[1].toFixed(1)}`;};switch(idx){case 1:case 14:seg(L,B);break;case 2:case 13:seg(B,R);break;case 3:case 12:seg(L,R);break;case 4:case 11:seg(T,R);break;case 5:seg(L,T);seg(B,R);break;case 6:case 9:seg(T,B);break;case 7:case 8:seg(L,T);break;case 10:seg(T,R);seg(L,B);break;}}}return d;};// Clusters of close levels (as in the reference); a heavier line leads each cluster.\nconst bold=march([.3,.52,.7]);const fine=march([.335,.365,.555,.59,.735]);let grid=\"\";let ticks=\"\";const G=200;for(let gx=0;gx<=TW;gx+=G){let d=\"\";for(let y=0;y<=TH;y+=25){const x=gx+6*Math.sin(y*.004+gx*.01);d+=(y===0?\"M\":\"L\")+x.toFixed(1)+\" \"+y;}grid+=d;}for(let gy=0;gy<=TH;gy+=G){let d=\"\";for(let x=0;x<=TW;x+=25){const y=gy+5*Math.sin(x*.0035+gy*.013);d+=(x===0?\"M\":\"L\")+x+\" \"+y.toFixed(1);}grid+=d;}for(let gx=0;gx<=TW;gx+=G)for(let gy=0;gy<=TH;gy+=G){const x=gx+6*Math.sin(gy*.004+gx*.01),y=gy+5*Math.sin(gx*.0035+gy*.013);ticks+=`M${(x-4).toFixed(1)} ${y.toFixed(1)}L${(x+4).toFixed(1)} ${y.toFixed(1)}M${x.toFixed(1)} ${(y-4).toFixed(1)}L${x.toFixed(1)} ${(y+4).toFixed(1)}`;}return topoCache[key]={bold,fine,grid,ticks};}export function TopoMap({seed=4,brightness=1,dots=[[.63,.22],[.38,.5],[.82,.74]]}){const t=React.useMemo(()=>buildTopo(seed),[seed]);const b=Math.max(0,Math.min(1.6,brightness));return /*#__PURE__*/_jsx(\"div\",{className:\"fx-bg fx-topo\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsxs(\"svg\",{className:\"fx-svg\",viewBox:`0 0 ${TW} ${TH}`,preserveAspectRatio:\"xMidYMid slice\",children:[/*#__PURE__*/_jsx(\"path\",{d:t.grid,fill:\"none\",stroke:`rgba(255,255,255,${(.06*b).toFixed(3)})`,strokeWidth:\"1\"}),/*#__PURE__*/_jsx(\"path\",{d:t.ticks,fill:\"none\",stroke:`rgba(255,255,255,${(.22*b).toFixed(3)})`,strokeWidth:\"1\"}),/*#__PURE__*/_jsx(\"path\",{d:t.fine,fill:\"none\",stroke:`rgba(255,255,255,${(.3*b).toFixed(3)})`,strokeWidth:\"1\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:t.bold,fill:\"none\",stroke:`rgba(255,255,255,${(.52*b).toFixed(3)})`,strokeWidth:\"1.7\",strokeLinecap:\"round\"}),dots.map((d,i)=>/*#__PURE__*/_jsx(\"circle\",{cx:d[0]*TW,cy:d[1]*TH,r:\"4\",fill:`rgba(255,255,255,${(.8*b).toFixed(3)})`},i))]})});}\nexport const __FramerMetadata__ = {\"exports\":{\"StripeLight\":{\"type\":\"reactComponent\",\"name\":\"StripeLight\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FX_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Grain\":{\"type\":\"reactComponent\",\"name\":\"Grain\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GlassRims\":{\"type\":\"reactComponent\",\"name\":\"GlassRims\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinBlobs\":{\"type\":\"reactComponent\",\"name\":\"SatinBlobs\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TopoMap\":{\"type\":\"reactComponent\",\"name\":\"TopoMap\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RibbonMesh\":{\"type\":\"reactComponent\",\"name\":\"RibbonMesh\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";import{isLive}from\"https://framerusercontent.com/modules/mX2DxlTEY9X259dAzTBw/z5zXKQYfAAyjD9VzOsYX/Arc44Base.js\";const ACCENT=\"#DEFF00\";const INTERACTIVE=\"a, button, input, label, [role=button], [role=radio], [data-cursor]\";const MAGNETIC=\"a.x-btn, a.x-btn-ghost, a.n-cta, [data-magnetic]\";const EASE=\"cubic-bezier(.2,.7,.2,1)\";const css=`\n.a44c-dot, .a44c-ring, .a44c-tag { position: fixed; left: 0; top: 0; pointer-events: none; z-index: 2147483647; will-change: transform; }\n.a44c-dot { width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; background: ${ACCENT}; }\n.a44c-ring { width: 26px; height: 26px; margin: -13px 0 0 -13px; border: 1px solid rgba(255,255,255,.4); transition: width .3s ${EASE}, height .3s ${EASE}, margin .3s ${EASE}, border-color .3s, background .3s, opacity .3s; }\n.a44c-ring.is-hover { width: 40px; height: 40px; margin: -20px 0 0 -20px; border-color: ${ACCENT}; background: rgba(222,255,0,.08); }\n.a44c-ring.is-label { width: 18px; height: 18px; margin: -9px 0 0 -9px; border-color: ${ACCENT}; }\n.a44c-ring.is-down { width: 16px; height: 16px; margin: -8px 0 0 -8px; }\n.a44c-tag { margin: 14px 0 0 14px; padding: 4px 7px; background: ${ACCENT}; color: #050505; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px; line-height: 1; letter-spacing: .04em; white-space: nowrap; opacity: 0; transform-origin: top left; transition: opacity .2s; }\n.a44c-tag.is-on { opacity: 1; }\n.a44c-hidden { opacity: 0 !important; }\n`;/**\n * Custom cursor + magnetic buttons for the whole page. Mouse only; off for touch and reduced motion.\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function Cursor(props){const{magnetStrength=.3}=props;const[on,setOn]=React.useState(false);const dot=React.useRef(null);const ring=React.useRef(null);const tagEl=React.useRef(null);React.useEffect(()=>{if(!isLive())return;const fine=window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches;const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(fine&&!reduce)setOn(true);},[]);React.useEffect(()=>{if(!on)return;let mx=-100,my=-100,rx=-100,ry=-100,raf=0;let mag=null;const setMode=(mode,text=\"\")=>{const r=ring.current;if(r){r.classList.toggle(\"is-hover\",mode===\"hover\");r.classList.toggle(\"is-label\",mode===\"label\");}const t=tagEl.current;if(t){if(mode===\"label\")t.textContent=text;t.classList.toggle(\"is-on\",mode===\"label\");}};const releaseMag=()=>{if(mag){mag.style.transform=\"\";mag.style.transition=`transform .45s ${EASE}`;mag=null;}};const els=()=>[dot.current,ring.current,tagEl.current];const move=e=>{if(e.pointerType!==\"mouse\")return;mx=e.clientX;my=e.clientY;els().forEach(el=>el?.classList.remove(\"a44c-hidden\"));const t=e.target;const hit=t&&t.closest?t.closest(INTERACTIVE):null;const tag=hit?.closest(\"[data-cursor]\")?.getAttribute(\"data-cursor\");const isLink=hit&&hit.matches(\"a, button, input, label, [role=button], [role=radio]\");if(isLink&&!(tag&&!hit.matches(\"a, button\")))setMode(\"hover\");else if(tag)setMode(\"label\",tag);else setMode(\"\");const m=t&&t.closest?t.closest(MAGNETIC):null;if(m!==mag)releaseMag();if(m){mag=m;const r=m.getBoundingClientRect();const dx=(mx-(r.left+r.width/2))*magnetStrength;const dy=(my-(r.top+r.height/2))*magnetStrength;m.style.transition=\"transform .15s ease-out\";m.style.transform=`translate(${dx}px, ${dy}px)`;}};const down=()=>ring.current?.classList.add(\"is-down\");const up=()=>ring.current?.classList.remove(\"is-down\");const leave=()=>{els().forEach(el=>el?.classList.add(\"a44c-hidden\"));releaseMag();};const loop=()=>{rx+=(mx-rx)*.2;ry+=(my-ry)*.2;if(dot.current)dot.current.style.transform=`translate(${mx}px, ${my}px)`;if(ring.current)ring.current.style.transform=`translate(${rx}px, ${ry}px)`;if(tagEl.current)tagEl.current.style.transform=`translate(${rx}px, ${ry}px)`;raf=requestAnimationFrame(loop);};window.addEventListener(\"pointermove\",move,{passive:true});window.addEventListener(\"pointerdown\",down);window.addEventListener(\"pointerup\",up);document.documentElement.addEventListener(\"mouseleave\",leave);raf=requestAnimationFrame(loop);return()=>{window.removeEventListener(\"pointermove\",move);window.removeEventListener(\"pointerdown\",down);window.removeEventListener(\"pointerup\",up);document.documentElement.removeEventListener(\"mouseleave\",leave);cancelAnimationFrame(raf);releaseMag();};},[on,magnetStrength]);if(!on||typeof document===\"undefined\")return /*#__PURE__*/_jsx(\"div\",{style:{width:0,height:0},\"aria-hidden\":\"true\"});return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"div\",{className:\"a44c-ring a44c-hidden\",ref:ring,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{className:\"a44c-tag a44c-hidden\",ref:tagEl,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{className:\"a44c-dot a44c-hidden\",ref:dot,\"aria-hidden\":\"true\"})]}),document.body);}addPropertyControls(Cursor,{magnetStrength:{type:ControlType.Number,title:\"Magnet\",min:0,max:.6,step:.05,defaultValue:.3}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Cursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{C,Base}from\"https://framerusercontent.com/modules/mX2DxlTEY9X259dAzTBw/z5zXKQYfAAyjD9VzOsYX/Arc44Base.js\";const EMAIL=\"grant@arc44studios.com\";const TAGLINE=\"Performance creative for CPG brands \\xb7 Warsaw, Poland\";// \"Warsaw\" always reads \"Warsaw, Poland\" on the site, even on layers saved with the old tagline.\nexport const fixWarsaw=s=>(s||\"\").replace(/Warsaw(?!,\\s*Poland)(\\s+and\\b)?/g,(_m,and)=>and?\"Warsaw, Poland, and\":\"Warsaw, Poland\");const css=`\n.f { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; padding-top: 56px; padding-bottom: 48px; background: ${C.bg1}; border-top: 1px solid ${C.line}; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.02em; color: ${C.faint}; }\n.f-l { display: flex; flex-direction: column; gap: 12px; }\n.f-mark { display: flex; align-items: center; gap: 10px; font-size: 16px; letter-spacing: 0.06em; color: ${C.text}; }\n.f-sq { width: 8px; height: 8px; background: ${C.accent}; display: inline-block; }\n.f-links { display: flex; gap: 32px; flex-wrap: wrap; align-items: center; }\n.f-links a { color: ${C.text}; }\n.f-links a:hover { color: ${C.accent}; }\n.f-top { color: ${C.faint} !important; }\n`;/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Footer(props){const{tagline=TAGLINE,workLabel=\"Careers\",workLink=\"/careers\",email:emailProp=EMAIL,year=\"2026\"}=props;/* Footers placed before the rename have \"Work with us\" and /work-with-us saved on the layer,\n       which override the new defaults. Translate those legacy values so every breakpoint points at\n       /careers; anything else the user types is left alone. */const label=/^\\s*work with us\\s*$/i.test(workLabel||\"\")?\"Careers\":workLabel;const link=/^\\/?work-with-us\\/?$/i.test(workLink||\"\")?\"/careers\":workLink;// Same for the old placeholder, in case it was saved on a layer.\nconst email=!emailProp||/\\[YOUR EMAIL\\]/i.test(emailProp)?EMAIL:emailProp;return /*#__PURE__*/_jsxs(\"div\",{className:\"x\",style:{background:C.bg1},children:[/*#__PURE__*/_jsx(Base,{}),/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"footer\",{className:\"f x-pad\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"f-l\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"f-mark\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"f-sq\"}),\"Arc44\"]}),/*#__PURE__*/_jsx(\"span\",{children:fixWarsaw(tagline)}),/*#__PURE__*/_jsxs(\"span\",{children:[\"\\xa9 \",year,\" Arc44\"]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"f-links\",children:[/*#__PURE__*/_jsx(\"a\",{className:\"x-ul\",href:link,children:label}),/*#__PURE__*/_jsx(\"a\",{className:\"x-ul\",href:`mailto:${email}`,children:email}),/*#__PURE__*/_jsx(\"a\",{className:\"x-ul f-top\",href:\"#top\",onClick:e=>{e.preventDefault();window.scrollTo({top:0,behavior:window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches?\"auto\":\"smooth\"});},children:\"Back to top ↑\"})]})]})]});}addPropertyControls(Footer,{tagline:{type:ControlType.String,defaultValue:TAGLINE},workLabel:{type:ControlType.String,title:\"Careers label\",defaultValue:\"Careers\"},workLink:{type:ControlType.String,title:\"Careers link\",defaultValue:\"/careers\"},email:{type:ControlType.String,defaultValue:EMAIL},year:{type:ControlType.String,defaultValue:\"2026\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"fixWarsaw\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Footer\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Footer.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{C,Base,reduced,isLive}from\"https://framerusercontent.com/modules/mX2DxlTEY9X259dAzTBw/z5zXKQYfAAyjD9VzOsYX/Arc44Base.js\";/* ---------------- Halftone light pool (WebGL) ----------------\n   Built from the board's halftone pin: slow satin-like folds of light rendered as a fine dot grid.\n   Dots swell where the light is bright and shrink to pinpoints in the dark, with a faint warm and\n   cool tint in the folds. Kept small and dim so the headline stays the focus, and dimmed further on\n   narrow screens where the copy sits right on top of the pool. The pool rests right of the headline\n   and leans toward the cursor; a click sends a ring of light out through the dots.\n   Exported so both heroes (home and work with us) run the same effect. */const FRAG=`\nprecision highp float;\nuniform vec2 res; uniform float dpr; uniform float t;\nuniform vec2 L; uniform vec2 rp; uniform float ra;\nuniform float dotMax; uniform float bright;\nconst float CELL = 7.0;\nfloat field(vec2 c, out float phase){\n  float H = res.y / dpr;\n  vec2 uv = c / H;\n  float w = uv.x * 1.25 + uv.y * 0.35 + 0.34 * sin(uv.y * 2.3 + t * 0.11) + 0.18 * sin(uv.x * 3.1 - t * 0.08);\n  phase = w * 5.2 - t * 0.16;\n  float band = pow(0.5 + 0.5 * sin(phase), 2.6);\n  vec2 d = (c - L) / H;\n  d.x *= 0.8;\n  float pool = exp(-dot(d, d) * 3.4);\n  float I = band * pool * 0.95 + pool * 0.08;\n  if (ra >= 0.0) {\n    float r = length((c - rp) / H);\n    float front = ra * 0.75;\n    I += 0.45 * exp(-pow((r - front) * 11.0, 2.0)) * exp(-ra * 1.1);\n  }\n  return clamp(I, 0.0, 1.0);\n}\nvoid main(){\n  vec2 px = vec2(gl_FragCoord.x, res.y - gl_FragCoord.y) / dpr;\n  vec2 g = floor(px / CELL);\n  vec2 c = (g + 0.5) * CELL;\n  float ph;\n  float I = field(c, ph);\n  float r = CELL * dotMax * sqrt(I);\n  float d = length(px - c);\n  float aa = 0.7 / dpr + 0.3;\n  float cov = 1.0 - smoothstep(r - aa, r + aa, d);\n  float lum = mix(0.12, 1.0, smoothstep(0.03, 0.55, I));\n  vec3 warm = vec3(1.0, 0.93, 0.84);\n  vec3 cool = vec3(0.8, 0.88, 1.0);\n  vec3 tint = mix(warm, cool, 0.5 + 0.5 * sin(ph + 1.4));\n  vec3 col = mix(vec3(1.0), tint, 0.55) * cov * lum * bright;\n  gl_FragColor = vec4(col, 1.0);\n}`;export function HalftonePool({dotMax=.32,bright=.42,hx=.72,hy=.52}){const wrap=React.useRef(null);const cv=React.useRef(null);const live=React.useRef({dotMax,bright,hx,hy});live.current={dotMax,bright,hx,hy};const[failed,setFailed]=React.useState(false);React.useEffect(()=>{const el=wrap.current,c=cv.current;if(!el||!c)return;const gl=c.getContext(\"webgl\",{antialias:false,alpha:false});if(!gl)return setFailed(true);const sh=(type,src)=>{const s=gl.createShader(type);gl.shaderSource(s,src);gl.compileShader(s);return s;};const prog=gl.createProgram();gl.attachShader(prog,sh(gl.VERTEX_SHADER,\"attribute vec2 p; void main(){ gl_Position = vec4(p, 0.0, 1.0); }\"));gl.attachShader(prog,sh(gl.FRAGMENT_SHADER,FRAG));gl.linkProgram(prog);if(!gl.getProgramParameter(prog,gl.LINK_STATUS))return setFailed(true);gl.useProgram(prog);gl.bindBuffer(gl.ARRAY_BUFFER,gl.createBuffer());gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),gl.STATIC_DRAW);const loc=gl.getAttribLocation(prog,\"p\");gl.enableVertexAttribArray(loc);gl.vertexAttribPointer(loc,2,gl.FLOAT,false,0,0);const U=n=>gl.getUniformLocation(prog,n);const uRes=U(\"res\"),uDpr=U(\"dpr\"),uT=U(\"t\"),uL=U(\"L\"),uRp=U(\"rp\"),uRa=U(\"ra\"),uDot=U(\"dotMax\"),uBr=U(\"bright\");const coarse=window.matchMedia(\"(hover: none)\").matches;let W=1,H=1,cw=1,ch=1,dpr=1;// The light's resting spot, as a fraction of the section.\nconst home=()=>({x:cw*live.current.hx,y:ch*live.current.hy});const P={x:0,y:0,tx:0,ty:0,last:0};const size=()=>{const r=el.getBoundingClientRect();dpr=Math.min(2,window.devicePixelRatio||1);cw=r.width;ch=r.height;W=Math.max(1,Math.round(cw*dpr));H=Math.max(1,Math.round(ch*dpr));c.width=W;c.height=H;gl.viewport(0,0,W,H);if(!P.last){const h=home();P.x=P.tx=h.x;P.y=P.ty=h.y;}};size();const ro=new ResizeObserver(size);ro.observe(el);const R={x:0,y:0,start:-1};const sec=el.parentElement;const local=e=>{const r=el.getBoundingClientRect();return{x:e.clientX-r.left,y:e.clientY-r.top};};const move=e=>{if(e.pointerType!==\"mouse\")return;const p=local(e),h=home();// Lean toward the cursor, but only partway, so the pool trails instead of sticking.\nP.tx=h.x+(p.x-h.x)*.55;P.ty=h.y+(p.y-h.y)*.55;P.last=performance.now();};const leave=()=>{const h=home();P.tx=h.x;P.ty=h.y;};const click=e=>{if(e.target.closest(\"a, button, input, textarea\"))return;const p=local(e);R.x=p.x;R.y=p.y;R.start=performance.now();};sec.addEventListener(\"pointermove\",move);sec.addEventListener(\"pointerleave\",leave);sec.addEventListener(\"click\",click);const still=reduced()||!isLive();const t0=performance.now();const draw=now=>{const s=still?20:(now-t0)/1e3+20;if(!still&&now-P.last>1800){const h=home();P.tx=h.x+Math.sin(s*.21)*cw*.05;P.ty=h.y+Math.cos(s*.29)*ch*.07;}P.x+=(P.tx-P.x)*.045;P.y+=(P.ty-P.y)*.045;const age=R.start<0?-1:(now-R.start)/1e3;if(age>4)R.start=-1;// On narrow screens the copy sits right over the pool, so dim it well down.\nconst narrow=cw<600?.45:cw<810?.72:1;gl.uniform2f(uRes,W,H);gl.uniform1f(uDpr,dpr);gl.uniform1f(uT,s);gl.uniform2f(uL,P.x,P.y);gl.uniform2f(uRp,R.x,R.y);gl.uniform1f(uRa,R.start<0?-1:age);gl.uniform1f(uDot,live.current.dotMax);gl.uniform1f(uBr,live.current.bright*narrow);gl.drawArrays(gl.TRIANGLE_STRIP,0,4);};let raf=0,visible=true,last=0;const step=coarse?42:30;const loop=now=>{if(now-last>=step){draw(now);last=now;}if(visible&&!still)raf=requestAnimationFrame(loop);};const io=new IntersectionObserver(([e])=>{visible=e.isIntersecting;cancelAnimationFrame(raf);if(visible&&!still)raf=requestAnimationFrame(loop);},{rootMargin:\"80px\"});io.observe(el);draw(performance.now());// Redraw once on a still canvas so panel changes show up without motion.\nconst poke=setInterval(()=>{if(still&&visible)draw(performance.now());},400);return()=>{cancelAnimationFrame(raf);clearInterval(poke);io.disconnect();ro.disconnect();sec.removeEventListener(\"pointermove\",move);sec.removeEventListener(\"pointerleave\",leave);sec.removeEventListener(\"click\",click);};},[]);return /*#__PURE__*/_jsx(\"div\",{className:\"h-ht\",ref:wrap,\"aria-hidden\":\"true\",children:!failed?/*#__PURE__*/_jsx(\"canvas\",{ref:cv}):/*#__PURE__*/_jsx(\"div\",{className:\"h-ht-fb\"})});}// Shared halftone layer styles, used by both heroes.\nexport const HT_CSS=`\n.h-ht { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; animation: h-fadein .7s ease-out .15s forwards; }\n.h-ht canvas { display: block; width: 100%; height: 100%; }\n@keyframes h-fadein { to { opacity: 1; } }\n.h-ht-fb { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.3) 1px, transparent 1.2px); background-size: 7px 7px; -webkit-mask-image: radial-gradient(40% 45% at 72% 52%, #000, transparent 75%); mask-image: radial-gradient(40% 45% at 72% 52%, #000, transparent 75%); }\n@media (prefers-reduced-motion: reduce) { .h-ht { animation: none; opacity: 1; } }\n@container (max-width: 600px) { .h-ht { opacity: .7; } .h-ht-fb { opacity: .5; } }\n`;const css=`\n.h { position: relative; overflow: hidden; border-bottom: 1px solid ${C.line}; min-height: clamp(640px, 56.7cqi, 816px); display: flex; cursor: crosshair; background: #000; }\n.h-fade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background:\n  radial-gradient(58% 52% at 18% 30%, rgba(0,0,0,.7), transparent 72%),\n  radial-gradient(48% 38% at 22% 90%, rgba(0,0,0,.72), transparent 75%),\n  linear-gradient(to bottom, rgba(0,0,0,0) 85%, rgba(5,5,5,.9) 100%); }\n.h-in { position: relative; z-index: 2; width: 100%; padding-top: clamp(72px, 7.8cqi, 112px); padding-bottom: 72px; display: flex; flex-direction: column; justify-content: space-between; gap: 56px; pointer-events: none; }\n.h-top { display: flex; flex-direction: column; gap: 36px; }\n.h-eyebrow { display: inline-flex; align-self: flex-start; align-items: center; gap: 12px; padding: 8px 14px 8px 12px; border: 1px solid ${C.lineAlt}; background: rgba(5,5,5,.7); font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.03em; color: ${C.soft}; opacity: 0; animation: h-in .45s cubic-bezier(.2,.75,.25,1) .04s forwards; }\n.h-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: ${C.accent}; display: inline-block; }\n.h-dot::after { content: \"\"; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid ${C.accent}; animation: h-ping 2.2s ease-out infinite; }\n@keyframes h-ping { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2); opacity: 0; } }\n.h-h1 { margin: 0; max-width: 1180px; font-size: clamp(54px, 8.9cqi, 128px); font-weight: 500; line-height: 0.92; letter-spacing: -0.045em; }\n.h-w { display: inline-block; opacity: 0; transform: translate3d(0, 0.18em, 0); filter: blur(3px); animation: h-up .5s cubic-bezier(.2,.75,.25,1) forwards; }\n@keyframes h-up { to { opacity: 1; transform: none; filter: blur(0); } }\n.h-bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; opacity: 0; animation: h-in .5s cubic-bezier(.2,.75,.25,1) .5s forwards; }\n@keyframes h-in { from { opacity: 0; transform: translate3d(0, 10px, 0); } to { opacity: 1; transform: none; } }\n.h-lead { margin: 0; max-width: 600px; font-size: 20px; line-height: 1.5; color: ${C.soft}; }\n.h-ctas { display: flex; gap: 12px; pointer-events: auto; flex-wrap: wrap; }\n.h-hint { position: absolute; right: clamp(20px, 4.45cqi, 64px); top: 28px; z-index: 2; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; color: ${C.faint}; pointer-events: none; opacity: 0; animation: h-fadein .5s ease-out .75s forwards; }\n@media (prefers-reduced-motion: reduce) { .h-w, .h-bottom, .h-eyebrow, .h-hint { animation: none; opacity: 1; transform: none; filter: none; } .h-dot::after { animation: none; } }\n@media (hover: none) { .h-hint { display: none; } }\n@container (max-width: 960px) { .h-bottom { flex-direction: column; align-items: flex-start; } .h-hint { display: none; } }\n/* Narrow screens: the copy runs the full width, so darken the ground under all of it. */\n@container (max-width: 600px) { .h-fade { background:\n  radial-gradient(85% 44% at 50% 26%, rgba(0,0,0,.72), transparent 78%),\n  radial-gradient(90% 34% at 50% 88%, rgba(0,0,0,.82), transparent 80%),\n  linear-gradient(to bottom, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 42%, rgba(0,0,0,0) 72%, rgba(5,5,5,.92) 100%); } }\n@container (max-width: 520px) { .h-lead { font-size: 18px; } .h-ctas { width: 100%; } .h-ctas a { flex: 1 1 100%; } }\n`;/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Hero(props){const{eyebrow=\"Performance creative for CPG brands\",headline=\"CPG brands don’t run out of budget. They run out of\",accentWords=\"creative.\",lead=\"Arc44 plans your creative from your margins and your customers, produces it, and turns every result into the next brief. For CPG brands spending $30k+ per month on Meta and TikTok.\",primaryLabel=\"Get a free creative teardown\",primaryLink=\"/#teardown\",secondaryLabel=\"Price your account\",secondaryLink=\"/#calc\",hint=\"Move or click the light\",dotSize=.32,dotBrightness=.42}=props;const words=headline.split(\" \");const accents=accentWords.split(\" \").filter(Boolean);// Words land in quick succession and the whole headline is settled in well under a second.\nconst step=.034;return /*#__PURE__*/_jsxs(\"div\",{className:\"x\",children:[/*#__PURE__*/_jsx(Base,{}),/*#__PURE__*/_jsx(\"style\",{children:HT_CSS+css}),/*#__PURE__*/_jsxs(\"section\",{className:\"h\",\"data-cursor\":\"Click\",children:[/*#__PURE__*/_jsx(HalftonePool,{dotMax:dotSize,bright:dotBrightness}),/*#__PURE__*/_jsx(\"div\",{className:\"h-fade\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{className:\"h-hint\",\"aria-hidden\":\"true\",children:hint}),/*#__PURE__*/_jsxs(\"div\",{className:\"h-in x-pad\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"h-top\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"h-eyebrow\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"h-dot\"}),eyebrow]}),/*#__PURE__*/_jsxs(\"h1\",{className:\"h-h1\",children:[words.map((w,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"h-w\",style:{animationDelay:`${(.08+i*step).toFixed(3)}s`},children:w}),\" \"]},i)),accents.map((w,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"h-w x-accent\",style:{animationDelay:`${(.08+(words.length+i)*step).toFixed(3)}s`},children:w}),i<accents.length-1?\" \":\"\"]},\"a\"+i))]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"h-bottom\",children:[/*#__PURE__*/_jsx(\"p\",{className:\"h-lead\",children:lead}),/*#__PURE__*/_jsxs(\"div\",{className:\"h-ctas\",children:[/*#__PURE__*/_jsxs(\"a\",{className:\"x-btn\",href:primaryLink,children:[primaryLabel,\" \",/*#__PURE__*/_jsx(\"span\",{className:\"x-arr\",children:\"→\"})]}),/*#__PURE__*/_jsx(\"a\",{className:\"x-btn-ghost\",href:secondaryLink,children:secondaryLabel})]})]})]})]})]});}addPropertyControls(Hero,{dotSize:{type:ControlType.Number,title:\"Dot size\",min:.15,max:.6,step:.02,defaultValue:.32},dotBrightness:{type:ControlType.Number,title:\"Dot brightness\",min:.15,max:1,step:.02,defaultValue:.42},eyebrow:{type:ControlType.String,defaultValue:\"Performance creative for CPG brands\"},headline:{type:ControlType.String,displayTextArea:true,defaultValue:\"CPG brands don’t run out of budget. They run out of\"},accentWords:{type:ControlType.String,title:\"Accent words\",defaultValue:\"creative.\"},lead:{type:ControlType.String,displayTextArea:true,defaultValue:\"Arc44 plans your creative from your margins and your customers, produces it, and turns every result into the next brief. For CPG brands spending $30k+ per month on Meta and TikTok.\"},primaryLabel:{type:ControlType.String,defaultValue:\"Get a free creative teardown\"},primaryLink:{type:ControlType.String,defaultValue:\"/#teardown\"},secondaryLabel:{type:ControlType.String,defaultValue:\"Price your account\"},secondaryLink:{type:ControlType.String,defaultValue:\"/#calc\"},hint:{type:ControlType.String,defaultValue:\"Move or click the light\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"HalftonePool\":{\"type\":\"reactComponent\",\"name\":\"HalftonePool\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"HT_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Hero\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hero.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{C,Base,isLive,useTouchFocus}from\"https://framerusercontent.com/modules/mX2DxlTEY9X259dAzTBw/z5zXKQYfAAyjD9VzOsYX/Arc44Base.js\";const LINKS=[{label:\"How it works\",link:\"/#how\"},{label:\"Pricing\",link:\"/#calc\"},{label:\"Principles\",link:\"/#principles\"},{label:\"Careers\",link:\"/careers\"}];const TALENT_LINKS=[{label:\"For brands\",link:\"/\"},{label:\"Open roles\",link:\"#roles\"},{label:\"How joining works\",link:\"#joining\"}];// Inter is only used by the wordmark, so it loads here rather than in the shared stylesheet.\nconst css=`\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');\n.n-wrap { background: rgba(5,5,5,.72); -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); border-bottom: 1px solid rgba(255,255,255,.07); transition: background .3s; }\n.n-wrap.is-scrolled { background: rgba(5,5,5,.9); }\n.n { display: flex; align-items: center; justify-content: space-between; padding-top: 22px; padding-bottom: 22px; transition: padding .35s cubic-bezier(.2,.7,.2,1); }\n.is-scrolled .n { padding-top: 14px; padding-bottom: 14px; }\n.x a.n-mark { display: flex; align-items: center; gap: 12px; font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; font-size: 19px; font-weight: 700; letter-spacing: -0.02em; text-decoration: none; }\n.n-sq { width: 10px; height: 10px; background: ${C.accent}; display: inline-block; transition: transform .5s cubic-bezier(.2,.7,.2,1); }\n.x a.n-mark:hover .n-sq { transform: rotate(45deg); }\n.n-links { display: flex; align-items: center; gap: 36px; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 14px; letter-spacing: 0.02em; }\n.n-links a.x-ul { color: ${C.muted}; }\n.n-links a.x-ul:hover { color: ${C.text}; }\n.x a.n-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; background: ${C.accent}; color: ${C.bg}; text-decoration: none; font-weight: 500; transition: box-shadow .3s; }\n.x a.n-cta:hover { box-shadow: 0 0 0 5px rgba(222,255,0,.14); }\n@container (max-width: 960px) { .n-links a.x-ul { display: none; } }\n@container (max-width: 520px) { .n { padding-top: 16px; padding-bottom: 16px; } .x a.n-mark { font-size: 18px; } .x a.n-cta { min-height: 40px; padding: 0 16px; font-size: 15px; } }\n`;// The careers page lives at /careers; /work-with-us is its former path, kept here so nav layers\n// saved with the old link still behave correctly.\nconst CAREERS=\"/careers\";const isCareersPath=p=>{const s=p.replace(/\\/$/,\"\");return s.endsWith(\"/careers\")||s.endsWith(\"/work-with-us\");};const fixLink=l=>/^\\/?work-with-us\\/?$/i.test(l||\"\")?CAREERS:l;/**\n * Switches to careers links automatically on the careers page.\n * Also owns two page-level behaviours: start at the top, and touch focus on scroll.\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Nav(props){const{links=LINKS,ctaLabel=\"Free teardown\",ctaLink=\"/#teardown\"}=props;const[scrolled,setScrolled]=React.useState(false);const[talent,setTalent]=React.useState(false);// On phones and tablets, light up whatever is passing through the middle of the screen.\nuseTouchFocus();React.useEffect(()=>{setTalent(isCareersPath(window.location.pathname));const on=()=>setScrolled(window.scrollY>24);on();window.addEventListener(\"scroll\",on,{passive:true});return()=>window.removeEventListener(\"scroll\",on);},[]);/* Browsers restore your old scroll position when a page is reopened or reloaded, which is why\n       the site could come back halfway down. Unless the URL points at a section (#calc, #apply),\n       start at the top. The late pass catches the restore that some browsers run after load. */React.useEffect(()=>{if(!isLive())return;try{if(\"scrollRestoration\"in window.history)window.history.scrollRestoration=\"manual\";}catch(e){}if(window.location.hash)return;const top=()=>window.scrollTo(0,0);top();const t1=setTimeout(top,60);const t2=setTimeout(top,300);window.addEventListener(\"load\",top);return()=>{clearTimeout(t1);clearTimeout(t2);window.removeEventListener(\"load\",top);};},[]);const list=talent?TALENT_LINKS:links;return /*#__PURE__*/_jsxs(\"div\",{className:\"x\",style:{background:\"transparent\"},children:[/*#__PURE__*/_jsx(Base,{}),/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"div\",{className:\"n-wrap\"+(scrolled?\" is-scrolled\":\"\"),children:/*#__PURE__*/_jsxs(\"header\",{className:\"n x-pad\",children:[/*#__PURE__*/_jsxs(\"a\",{className:\"n-mark\",href:\"/\",\"aria-label\":\"Arc44 home\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"n-sq\"}),\"Arc44\"]}),/*#__PURE__*/_jsxs(\"nav\",{\"aria-label\":\"Main\",className:\"n-links\",children:[list.map((l,i)=>/*#__PURE__*/_jsx(\"a\",{className:\"x-ul\",href:fixLink(l.link),children:/^\\s*work with us\\s*$/i.test(l.label||\"\")?\"Careers\":l.label},i)),/*#__PURE__*/_jsxs(\"a\",{className:\"n-cta\",href:talent?\"#apply\":ctaLink,children:[talent?\"Apply\":ctaLabel,\" \",/*#__PURE__*/_jsx(\"span\",{className:\"x-arr\",children:\"→\"})]})]})]})})]});}addPropertyControls(Nav,{links:{type:ControlType.Array,defaultValue:LINKS,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,defaultValue:\"Link\"},link:{type:ControlType.String,defaultValue:\"/\"}}}},ctaLabel:{type:ControlType.String,title:\"Button\",defaultValue:\"Free teardown\"},ctaLink:{type:ControlType.String,title:\"Button link\",defaultValue:\"/#teardown\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Nav\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Nav.map","// Generated by Framer (dd23e71)\nexport default function metadata(params,contentLocale){return{description:\"Ad creative for CPG brands spending $30k+ per month on Meta and TikTok, planned from your margins and your customers. Pricing in the open.\",robots:\"max-image-preview:large\",title:\"Arc44 \\xb7 Performance creative for CPG brands\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (dd23e71)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,contentLocale){return{breakpoints:[{hash:\"72rtr7\",mediaQuery:\"(min-width: 1440px)\"},{hash:\"12657s9\",mediaQuery:\"(min-width: 810px) and (max-width: 1439.98px)\"},{hash:\"1d4e6hg\",mediaQuery:\"(max-width: 809.98px)\"}],description:siteMetadata(params,contentLocale).description,elements:{RWkfjaQEX:\"request\"},robots:\"max-image-preview:large\",serializationId:\"framer-oXwnr\",title:siteMetadata(params,contentLocale).title||\"Home\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (dd23e71)\nexport default function metadata(params,contentLocale){return{breakpoints:[{hash:\"msafkn\",mediaQuery:\"(min-width: 1440px)\"},{hash:\"nnwe4g\",mediaQuery:\"(min-width: 810px) and (max-width: 1439.98px)\"},{hash:\"17emvz5\",mediaQuery:\"(max-width: 809.98px)\"}],description:\"Arc44 is building a bench of senior freelance Creative Strategists, Media Buyers, Account Managers, Editors / Designers, Production Coordinators and UGC Creators for CPG performance creative.\",elements:{puCq2JKwf:\"apply\"},robots:\"max-image-preview:large\",serializationId:\"framer-Pxn3A\",title:\"Careers \\xb7 Arc44\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"A,uXAC2hB,SAAS0D,EAAqB,EAAU,GAAGC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAuF,OAArFD,GAAU,QAAQ,GAASE,GAAS,OAAO,OAAOD,EAAcE,EAAUD,EAAQ,CAAC,EAASD,CAAc,C,yEAApa,EAAW,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQ,GAAkB,eAAqB,EAAkB,CAAC,UAAU,iBAAiB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,iBAAiB,EAAyN,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQ,GAAY,CAAC,QAAM,cAAY,CAAC,IAAMc,EAAO1E,EAAiB4C,CAAmB,EAAQ+B,EAAWC,GAAOF,EAAO,WAAiBG,EAAa5E,OAAmB,CAAC,GAAGyE,EAAO,YAAU,GAAG,CAAC,KAAK,UAAUC,CAAU,CAAC,CAAC,EAAE,MAAoB,gBAAK/B,EAAoB,SAAS,CAAC,MAAMiC,EAAsB,UAAQ,CAAC,CAAE,EAAQ,EAAwB,CAAC,QAAQ,YAAY,MAAM,YAAY,QAAQ,YAAY,QAAQ,WAAW,EAAQ,EAASC,EAAO,OAAO5E,CAAc,EAAQ,GAAU,CAAC,SAAO,KAAG,QAAM,QAAM,GAAG6E,MAAgB,CAAC,GAAGA,EAAM,UAAUC,GAAOD,EAAM,WAAW,SAAS,QAAQX,EAAwBW,EAAM,UAAUA,EAAM,SAAS,WAAW,GAAU,IAAwB,EAAM,IAAeA,EAAM,iBAAwBpB,EAAS,KAAK,GAAG,EAAEoB,EAAM,iBAAwBpB,EAAS,KAAK,GAAG,EAW7kD,EAAgBL,GAX8lDnD,kBAAiB,SAAS,EAAM,EAAI,CAAC,IAAM8E,EAAY7E,EAAO,IAAI,EAAQ8E,EAAWC,GAAKF,EAAkBG,EAAgB/E,EAAY,EAAO,CAAC,eAAa,gBAAc,aAAW4C,EAAc,EAA0BF,EAAqB,EAAE,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,GAAGsC,GAAWf,EAASS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,aAAU,kBAAgB,aAAW,YAAUvB,EAAgB,CAAC,aAAW,eAAe,YAAY,IAAI0B,EAAW,UAAQ,mBAAiB,CAAC,EAAQI,EAAiBf,GAAuBQ,EAAMpB,CAAQ,EAAuC4B,EAAkBnC,EAAGY,EAA0C,EAAE,MAAoB,gBAAKnB,EAAY,CAAC,GAAG2C,GAAUJ,EAAgB,SAAsB,gBAAKf,EAAS,CAAC,QAAQV,EAAS,QAAQ,GAAM,SAAsB,gBAAKQ,EAAW,CAAC,MAAMD,GAAY,SAAsB,gBAAKY,EAAO,OAAO,CAAC,GAAGO,EAAU,GAAGI,EAAgB,UAAUrC,EAAGmC,EAAkB,eAAeG,EAAUC,CAAU,EAAE,mBAAmB,UAAU,aAAa,SAA0B,mBAAiB,SAAS,YAAY,IAAIT,EAAW,MAAM,CAAC,gBAAgB,mBAAmB,QAAQ,EAAE,GAAGU,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,qBAAqB,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,kBAAkB,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAGlC,EAAqB,CAAC,UAAU,CAAC,mBAAmB,SAAS,EAAE,UAAU,CAAC,mBAAmB,OAAO,EAAE,UAAU,CAAC,mBAAmB,SAAS,CAAC,EAAEmC,EAAYC,CAAc,EAAE,SAAsB,gBAAKzC,GAAS,CAAC,sBAAsB,GAAK,SAAsB,gBAAKnD,EAAe,CAAC,SAAsB,gBAAK4E,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,kCAAkC,uBAAuB,MAAM,sBAAsB,kCAAkC,EAAE,SAAsB,gBAAKA,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,mCAAmC,uBAAuB,MAAM,sBAAsB,mCAAmC,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,cAAc,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,SAAS,sBAAsB,UAAU,qBAAqB,SAAS,qBAAqB,SAAS,EAAE,KAAKiB,EAAU,SAAS,CAAC,UAAU,CAAC,sBAAsB,eAAe,qBAAqB,cAAc,EAAE,UAAU,CAAC,sBAAsB,UAAU,qBAAqB,SAAS,EAAE,UAAU,CAAC,sBAAsB,eAAe,qBAAqB,cAAc,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGrC,EAAqB,CAAC,UAAU,CAAC,SAAsB,gBAAKxD,EAAe,CAAC,SAAsB,gBAAK4E,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,kCAAkC,uBAAuB,MAAM,sBAAsB,uCAAuC,EAAE,SAAsB,gBAAKA,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,mCAAmC,uBAAuB,MAAM,sBAAsB,wCAAwC,EAAE,SAAS,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,gBAAK5E,EAAe,CAAC,SAAsB,gBAAK4E,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,kCAAkC,uBAAuB,MAAM,sBAAsB,kCAAkC,EAAE,SAAsB,gBAAKA,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,mCAAmC,uBAAuB,MAAM,sBAAsB,mCAAmC,EAAE,SAAS,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,gBAAK5E,EAAe,CAAC,SAAsB,gBAAK4E,EAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,kCAAkC,uBAAuB,MAAM,sBAAsB,uCAAuC,EAAE,SAAsB,gBAAKA,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,mBAAmB,uBAAuB,UAAU,qBAAqB,OAAO,sBAAsB,SAAS,+BAA+B,mCAAmC,uBAAuB,MAAM,sBAAsB,wCAAwC,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEe,EAAYC,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAWzuN,EAAE,CAXqvN,gFAAgF,2QAA2Q,8JAW9kO,EAAE,cAAc,EAAiC,EAAgB,YAAY,sBAAsB,EAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAErC,EAAoBe,EAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,UAAU,UAAU,OAAO,EAAE,MAAM,UAAU,KAAKjB,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,SAAS,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,kBAAkB,CAAC,QAAQ,YAAY,KAAKA,EAAY,aAAa,CAAC,CAAC,EAAEL,EAASsB,EAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,IAAI,wFAAwF,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,C,OCVptB,SAAgBwB,IAAW,CAAC,IAAMb,EAAI7E,EAAa,IAAI,EAAO,CAAC2F,EAAMC,GAAU3F,EAAe,EAAE,EAAsW,OAApWmC,MAAoB,CAAC,IAAMyD,EAAGhB,EAAI,QAA4C,GAAjC,CAACgB,GAAI,CAACC,EAAO,GAAGC,EAAQ,GAAYF,EAAG,sBAAsB,CAAC,CAAC,IAAIpE,EAAO,YAAY,IAAI,OAAOmE,EAAS,SAAS,EAAE,IAAMI,EAAG,IAAI,sBAAsB,CAAC,KAAK,CAAI,EAAE,iBAAgBJ,EAAS,QAAQ,EAAEI,EAAG,WAAW,EAAG,EAAE,CAAC,UAAU,EAAE,WAAW,mBAAmB,CAAC,EAAiB,OAAfA,EAAG,QAAQH,CAAE,MAAYG,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAAQ,CAACnB,EAAIc,CAAK,CAAE,CAG5T,SAAgBM,IAAe,CAAC7D,MAAoB,CAAqB,GAAjB,CAAC0D,EAAO,GAAY,CAACrE,EAAO,WAAW,eAAe,CAAC,CAAC,QAAQ,OACxW,IAAMuE,EAAG,IAAI,qBAAqB,GAAS,CAAC,IAAI,IAAME,KAAKC,EAAQD,EAAE,OAAO,UAAU,OAAO,UAAUA,EAAE,cAAc,CAAE,EAAE,CAAC,UAAU,EAAE,WAAW,mBAAmB,CAAC,EAAQE,kBAAK,IAAI,QAAcC,MAAS,CAAC,SAAS,iBAAiBC,EAAI,CAAC,CAAC,QAAQ,GAAI,CAAIF,EAAK,IAAIP,CAAE,IAASO,EAAK,IAAIP,CAAE,EAAEG,EAAG,QAAQH,CAAE,EAAE,CAAC,CAAE,EAAEQ,EAAK,EAC1T,IAAME,EAAG,WAAWF,EAAK,GAAG,EAAQG,EAAG,WAAWH,EAAK,IAAI,EAAQI,EAAG,WAAWJ,EAAK,GAAG,EAAyC,OAAvC5E,EAAO,iBAAiB,SAAS4E,CAAI,MAAY,CAACL,EAAG,WAAW,EAAE,aAAaO,CAAE,EAAE,aAAaC,CAAE,EAAE,aAAaC,CAAE,EAAEhF,EAAO,oBAAoB,SAAS4E,CAAI,CAAE,CAAE,EAAE,CAAC,CAAC,CAAE,CACvD,SAAgBK,GAAQ,CAAC,KAAG,SAAO,CAAC,MAAoB,gBAAM,MAAM,CAAC,UAAU,OAAO,SAAS,GAAG,SAAS,CAAc,gBAAM,OAAO,CAAC,UAAU,WAAW,SAAS,CAAC,IAAIC,EAAG,GAAG,CAAC,CAAC,EAAe,gBAAK,OAAO,CAAC,SAASjC,CAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CA6H3a,SAAgBkC,GAAM,CAAC,MAAoB,gBAAK,QAAQ,CAAC,SAAS;;qFAEiBC,EAAE,GAAG,WAAWA,EAAE,KAAK;;;0JAG8CA,EAAE,OAAO;;iHAElDA,EAAE,MAAM;6JACoCA,EAAE,MAAM;kFACnFA,EAAE,WAAW;;;;;qBAK1EA,EAAE,OAAO;6IAC+GA,EAAE,OAAO,WAAWA,EAAE,GAAG;iDACrHA,EAAE,GAAG;0TACoQA,EAAE,KAAK;;;;;;iDAMhRA,EAAE,KAAK,sBAAsBA,EAAE,KAAK;;;;;;;;;;;;yBAY5DC,GAAM;wDACyBC,GAAM,mDAAmDC,GAAU,yBAAyBC,GAAS;qCACxHF,GAAM,IAAID,GAAM,qBAAqBE,GAAU,oCAAoCC,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA6B3GC,EAAI,WAAW,EAAE;;4CAEKhH,EAAK;;gDAEDA,EAAK;EACnDgH,EAAI,UAAU,EAAE,4BAA4BhH,EAAK;EACjDkH,GAAO;;;;;;;;wBAQeF,EAAI,WAAW,EAAE;uBAClBA,EAAI,UAAU,EAAE;;;EAGrCG,GAAM;EACNC,GAAM;CACP,CAAC,CAAE,C,0FA3N+H,EAAE,CAAC,GAAG,UAAU,IAAI,UAAU,IAAI,UAAU,QAAQ,UAAU,KAAK,UAAU,QAAQ,UAAU,WAAW,UAAU,KAAK,UAAU,KAAK,UAAU,MAAM,UAAU,MAAM,UAAU,OAAO,SAAS,EAAe,MAAW,CAAC,GAAG,CAAC,OAAOzE,EAAa,QAAQ,IAAIA,EAAa,OAAQ,MAAS,CAAC,MAAO,EAAK,CAAC,EAAe,MAAmBpB,IAAS,QAAaA,EAAO,WAAW,kCAAkC,CAAC,CAAC,QAKvb,GAAK,CAAC,WAAW,UAAU,WAAW,SAAS,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,aAAa,CAAC,CAAC,KAAK,IAAI,EAGjO,GAAK,GAAG,CAAC,IAAMiG,EAAE,EAAE,cAAc,sBAAsB,EAAE,EAAE,cAAc,MAAM,YAAY,OAAO,GAAG,EAAE,QAAQA,EAAE,KAAK,GAAG,EAAE,EAAE,cAAc,MAAM,YAAY,OAAO,GAAG,EAAE,QAAQA,EAAE,IAAI,GAAG,CAAE,EAGnM,GAAK,CAAC,cAAc,cAAc,cAAc,iBAAiB,aAAa,EAAQ,EAAI,GAAQF,GAAK,IAAI,GAAG,GAAGG,EAAO,GAAGC,GAAG,CAAC,CAAC,KAAK,IAAI,EACzI,GAAO,MAAM,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,GAAGV,EAAI,UAAU,EAAE,aAAaW,EAAE,EAAE,uBAAuB,GAAGA,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK;CAAI,EAAQ3H,EAAK,6BAAmC,GAAM,6GAAsK,GAAM,MAAM,CAAC,CAAC,CAAC,KAAK,uCAAI,CAAC,CAAC,KAAK,IAAI,EAAQ,GAAU,iFAAuF,GAAS,iEAE3Y,GAAM;;;;wCAInE2G,EAAE,OAAO;4CACLA,EAAE,KAAK;;;;qCAIdA,EAAE,KAAK;qCACPA,EAAE,KAAK;oEACwBA,EAAE,KAAK;;;;wCAInCA,EAAE,OAAO;qCACZA,EAAE,KAAK;;;;4CAIAA,EAAE,OAAO;;8CAEPA,EAAE,OAAO;uCAChBA,EAAE,KAAK;;;;;oDAKMA,EAAE,OAAO;;;;;;;EAUhB,GAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;C,OC1C0D,SAASiB,GAAU,EAAK,EAAG,EAAK,EAAM,EAAM,EAAO,CAAC1F,MAAoB,CAAC,IAAMyD,EAAGkC,EAAK,QAAQ,EAAEC,EAAG,QAAQ,GAAG,CAACnC,GAAI,CAAC,EAAE,OAAO,IAAMoC,EAAG,EAAE,WAAW,QAAQ,CAAC,mBAAmB,GAAK,MAAM,GAAK,UAAU,EAAK,CAAC,EAAE,GAAG,CAACA,EAAG,OAAOC,EAAO,EAAE,IAAMC,GAAI,EAAK,IAAM,CAAC,IAAMP,EAAEK,EAAG,aAAaG,CAAI,EAA6C,OAA3CH,EAAG,aAAaL,EAAES,CAAG,EAAEJ,EAAG,cAAcL,CAAC,EAASA,CAAE,EAAQU,EAAKL,EAAG,cAAc,EAAwL,GAAtLA,EAAG,aAAaK,EAAKH,EAAGF,EAAG,cAAc,mEAAmE,CAAC,EAAEA,EAAG,aAAaK,EAAKH,EAAGF,EAAG,gBAAgBM,CAAI,CAAC,EAAEN,EAAG,YAAYK,CAAI,EAAK,CAACL,EAAG,oBAAoBK,EAAKL,EAAG,WAAW,EAAE,OAAOC,EAAO,EAAED,EAAG,WAAWK,CAAI,EAAEL,EAAG,WAAWA,EAAG,aAAaA,EAAG,aAAa,CAAC,EAAEA,EAAG,WAAWA,EAAG,aAAa,IAAI,aAAa,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,EAAEA,EAAG,WAAW,EAAE,IAAMO,EAAIP,EAAG,kBAAkBK,EAAK,GAAG,EAAEL,EAAG,wBAAwBO,CAAG,EAAEP,EAAG,oBAAoBO,EAAI,EAAEP,EAAG,MAAM,GAAM,EAAE,CAAC,EAAEA,EAAG,OAAOA,EAAG,KAAK,EAAEA,EAAG,UAAUA,EAAG,IAAIA,EAAG,mBAAmB,EAAE,IAAMQ,EAAMC,EAAMT,EAAGK,CAAI,EAAMK,EAAE,EAAEC,EAAE,EAAQC,MAAS,CAAC,IAAMnB,EAAE7B,EAAG,sBAAsB,EAAQiD,EAAI,KAAK,IAAI,IAAIrH,EAAO,kBAAkB,CAAC,EAAEsH,EAAM,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMrB,EAAE,MAAMoB,CAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMpB,EAAE,OAAOoB,CAAG,CAAC,EAAE,EAAE,MAAMH,EAAE,EAAE,OAAOC,EAAEX,EAAG,SAAS,EAAE,EAAEU,EAAEC,CAAC,CAAE,EAAEC,EAAK,EAAE,IAAMG,EAAG,IAAI,eAAeH,CAAI,EAAEG,EAAG,QAAQnD,CAAE,EAAE,IAAMoD,EAAMlD,EAAQ,GAAG,CAACD,EAAO,EAAMoD,EAAI,EAAEC,EAAQ,GAAWC,EAAK,GAAK,CAACnB,EAAG,WAAW,EAAE,EAAE,EAAE,CAAC,EAAEA,EAAG,MAAMA,EAAG,gBAAgB,EAAEQ,EAAMQ,EAAM,KAAKI,EAAIV,EAAEC,CAAC,EAAEX,EAAG,WAAWA,EAAG,eAAe,EAAE,CAAC,CAAE,EAAQqB,EAAK,GAAK,CAACF,EAAKC,CAAG,EAAKF,GAAS,CAACF,IAAM,EAAI,sBAAsBK,CAAI,EAAE,EAAQtD,EAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAQ,EAAE,eAAe,qBAAqBkD,CAAG,EAAKC,IAAQ,EAAI,sBAAsBG,CAAI,EAAE,EAAE,CAAC,WAAW,OAAO,CAAC,EAAyC,OAAvCtD,EAAG,QAAQH,CAAE,EAAEuD,EAAK,YAAY,IAAI,CAAC,MAAY,CAAC,qBAAqBF,CAAG,EAAElD,EAAG,WAAW,EAAEgD,EAAG,WAAW,CAAE,CAAE,EAAE,CAAC,CAAC,CAAE,CACh5D,SAASO,GAAkB,EAAK,CAAC,IAAMC,EAAErJ,EAAa,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAwpB,OAAtpBiC,MAAoB,CAAC,IAAMyD,EAAGkC,EAAK,QAAQ,GAAG,CAAClC,EAAG,OAAO,IAAM4D,EAAI5D,EAAG,cAAoB6D,EAAK,GAAG,CAAC,GAAG,EAAE,cAAc,QAAQ,OAAO,IAAM,EAAE7D,EAAG,sBAAsB,EAAE,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAE,EAAQ8D,MAAU,CAAC,EAAE,QAAQ,IAAI,CAAE,EAAQC,EAAM,GAAG,CAAK,EAAE,OAAO,QAAQ,WAAW,IAAE,EAAE,QAAQ,MAAM,EAAE,EAA0H,OAAxHH,EAAI,iBAAiB,cAAcC,CAAI,EAAED,EAAI,iBAAiB,eAAeE,CAAK,EAAEF,EAAI,iBAAiB,QAAQG,CAAK,MAAY,CAACH,EAAI,oBAAoB,cAAcC,CAAI,EAAED,EAAI,oBAAoB,eAAeE,CAAK,EAAEF,EAAI,oBAAoB,QAAQG,CAAK,CAAE,CAAE,EAAE,CAAC,CAAC,EAASJ,CAAE,CA0C5vB,SAAgBK,GAAU,CAAC,QAAM,GAAG,CAAC,IAAM9B,EAAK5H,EAAa,IAAI,EAAQ6H,EAAG7H,EAAa,IAAI,EAAO,CAAC2J,EAAOC,GAAW3J,EAAe,EAAK,EAAQ4J,EAAIT,GAAkBxB,CAAI,EAAkX,OAAhXD,GAAUC,EAAKC,EAAGiC,IAAM,EAAG,IAAO,CAAC,IAAMC,EAAKjC,EAAG,mBAAmBK,EAAK,KAAK,EAAE6B,EAAGlC,EAAG,mBAAmBK,EAAK,GAAG,EAAE8B,EAAGnC,EAAG,mBAAmBK,EAAK,GAAG,EAAE+B,EAAIpC,EAAG,mBAAmBK,EAAK,KAAK,EAAE,OAAO,EAAI,EAAE,IAAI,CAAC,IAAMtG,EAAEgI,EAAI,QAAQM,GAAKtI,EAAE,GAAG,EAAEiG,EAAG,UAAUiC,EAAKvB,EAAEC,CAAC,EAAEX,EAAG,UAAUkC,EAAGd,EAAI,IAAI,EAAE,EAAEpB,EAAG,UAAUmC,EAAGpI,EAAE,EAAEA,EAAE,CAAC,EAAEiG,EAAG,UAAUoC,EAAIrI,EAAE,EAAE,CAAE,CAAE,EAAE+G,MAAUgB,EAAU,EAAI,CAAC,EAAsB,gBAAK,MAAM,CAAC,UAAU,gBAAgB,IAAIhC,EAAK,cAAc,OAAO,SAAS,CAAC+B,GAAqB,gBAAK,SAAS,CAAC,IAAI9B,EAAG,UAAU,WAAW,CAAC,CAAC,CAAC,CAAE,CAwBxQ,SAAgBuC,GAAY,CAAC,MAAI,EAAE,OAAK,IAAI,SAAO,IAAI,QAAM,IAAI,CAAC,IAAMxC,EAAK5H,EAAa,IAAI,EAAQ6H,EAAG7H,EAAa,IAAI,EAAQ6J,EAAIT,GAAkBxB,CAAI,EAA6wC,OAA3wC3F,MAAoB,CAAC,IAAMyD,EAAGkC,EAAK,QAAQ9F,EAAE+F,EAAG,QAAQ,GAAG,CAACnC,GAAI,CAAC5D,EAAE,OAAO,IAAMuI,EAAIvI,EAAE,WAAW,IAAI,EAAQ6G,EAAI,KAAK,IAAI,EAAErH,EAAO,kBAAkB,CAAC,EAAMkH,EAAE,EAAEC,EAAE,EAAQC,MAAS,CAAC,IAAMnB,EAAE7B,EAAG,sBAAsB,EAAE,EAAE6B,EAAE,MAAM,EAAEA,EAAE,OAAO,EAAE,MAAM,KAAK,MAAMiB,EAAEG,CAAG,EAAE,EAAE,OAAO,KAAK,MAAMF,EAAEE,CAAG,EAAE0B,EAAI,aAAa1B,EAAI,EAAE,EAAEA,EAAI,EAAE,CAAC,CAAE,EAAED,EAAK,EAAE,IAAMG,EAAG,IAAI,eAAeH,CAAI,EAAEG,EAAG,QAAQnD,CAAE,EAAE,IAAMoD,EAAMlD,EAAQ,GAAG,CAACD,EAAO,EAAMhD,EAAG2H,EAAOvB,EAAI,EAAEC,EAAQ,GAAKuB,EAAK,EAAQtB,EAAK,GAAK,CAAC,IAAMpH,EAAEgI,EAAI,QAAQM,GAAKtI,EAAE,GAAG,EAAE,IAAM4F,EAAEqB,EAAM,EAAEI,EAAI,IAAUsB,EAAOF,EAAO,KAAK,IAAI7C,EAAE,GAAG,EAAE,KAAK5F,EAAE,GAAG,MAAMA,EAAE,EAAE4G,EAAED,EAAE,GAAGA,EAAE8B,GAAQ,IAAIzI,EAAE,GAAG,GAAG,IAAK2I,EAAO7H,GAAI,IAAI0H,EAAI,UAAU,EAAE,EAAE7B,EAAEC,CAAC,EAAE,IAAMgC,EAAG,GAAGC,EAAMlC,IAAI,EAAE,IAAI,IAAIjH,EAAE,EAAEA,EAAEiH,EAAE,GAAGmC,EAAI,CAAC,IAAMC,EAAErJ,EAAEoB,EAAG6F,EAAQqC,EAAEC,EAAK,KAAK,IAAI,EAAEF,EAAEA,GAAGH,CAAE,GAAG,IAAI,IAAI,KAAK,IAAIlJ,EAAE,IAAIkG,EAAE,EAAE,GAAMoD,EAAE,OAAc,EAAI,UAAU,oBAAoBA,EAAE,QAAQ,CAAC,EAAE,GAAGR,EAAI,SAAS,KAAK,MAAM9I,CAAC,EAAE,EAAE,EAAEkH,CAAC,EAAE,CAAC,EAAQU,EAAK,GAAK,CAAID,EAAIqB,EAAK,KAAItB,EAAKC,CAAG,EAAE,EAAKA,GAAQF,GAAS,CAACF,IAAM,EAAI,sBAAsBK,CAAI,EAAE,EAAQtD,EAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAQ,EAAE,eAAe,qBAAqBkD,CAAG,EAAKC,IAAQ,EAAI,sBAAsBG,CAAI,EAAE,EAAE,CAAC,WAAW,OAAO,CAAC,EAAyC,OAAvCtD,EAAG,QAAQH,CAAE,EAAEuD,EAAK,YAAY,IAAI,CAAC,MAAY,CAAC,qBAAqBF,CAAG,EAAElD,EAAG,WAAW,EAAEgD,EAAG,WAAW,CAAE,CAAE,EAAE,CAAC8B,EAAIG,EAAKR,EAAOI,CAAK,CAAC,EAAsB,gBAAK,MAAM,CAAC,UAAU,mBAAmB,IAAI9C,EAAK,cAAc,OAAO,SAAsB,gBAAK,SAAS,CAAC,IAAIC,EAAG,UAAU,WAAW,CAAC,CAAC,CAAC,CAAE,CAAmE,SAAgBkD,GAAW,CAAC,QAAM,GAAG,UAAQ,KAAK,CAAC,IAAMnD,EAAK5H,EAAa,IAAI,EAAQgL,EAAIhL,EAAa,IAAI,EAAmhC,OAAjhCiC,MAAoB,CAAC,IAAMyD,EAAGkC,EAAK,QAAQH,EAAEuD,EAAI,QAAQ,GAAG,CAACtF,GAAI,CAAC+B,EAAE,OAAO,IAAMwD,EAAM,MAAM,KAAKxD,EAAE,iBAAiB,MAAM,CAAC,EAAQqB,EAAMlD,EAAQ,GAAG,CAACD,EAAO,EAAMoD,EAAI,EAAEC,EAAQ,GAAKuB,EAAK,EAAQtB,EAAK,GAAK,CAAC,IAAM,EAAEvD,EAAG,sBAAsB,EAAQ8C,EAAE,EAAE,MAAMC,EAAE,EAAE,OAAOyC,EAAEpC,EAAM,GAAGI,EAAI,IAAIzB,EAAE,aAAa,UAAU,OAAOe,EAAE,GAAGC,GAAG,EAAEwC,EAAM,SAAS,EAAE,IAAI,CAAC,IAAME,EAAEzD,GAAG0D,EAAM,GAAG,EAAE,EAAMR,EAAE,GAAG,IAAI,IAAIrJ,EAAE,IAAIA,GAAGiH,EAAE,GAAG,GAAG,GAAG,CAAC,IAAM6C,EAAE9J,EAAEiH,EAAqH8C,EAA1G7C,GAAG,IAAI,IAAI,KAAK,IAAI4C,EAAE,IAAIH,EAAE,GAAG,EAAE,IAAI,KAAK,IAAIG,EAAE,IAAIH,EAAE,GAAG,GAAWzC,EAAE,IAAI,KAAK,IAAI4C,EAAE,IAAI,IAAIH,EAAE,GAAG,EAAeC,EAAE1C,EAAE,IAAI,KAAK,IAAI4C,EAAE,GAAGF,EAAE,EAAED,EAAE,EAAE,EAAE,KAAK,IAAIC,CAAC,EAAE,IAAI5J,IAAI,IAAI,IAAI,KAAKA,EAAE,QAAQ,CAAC,EAAE,IAAI+J,EAAE,QAAQ,CAAC,CAAE,CAACzJ,EAAE,aAAa,IAAI+I,CAAC,CAAE,CAAC,CAAE,EAAQzB,EAAK,GAAK,CAAID,EAAIqB,EAAK,KAAItB,EAAKC,CAAG,EAAE,EAAKA,GAAQF,GAAS,CAACF,IAAM,EAAI,sBAAsBK,CAAI,EAAE,EAAQtD,EAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAQ,EAAE,eAAe,qBAAqBkD,CAAG,EAAKC,IAAQ,EAAI,sBAAsBG,CAAI,EAAE,EAAE,CAAC,WAAW,OAAO,CAAC,EAAyC,OAAvCtD,EAAG,QAAQH,CAAE,EAAEuD,EAAK,YAAY,IAAI,CAAC,MAAY,CAAC,qBAAqBF,CAAG,EAAElD,EAAG,WAAW,CAAE,CAAE,EAAE,CAACuF,CAAK,CAAC,EAAsB,gBAAK,MAAM,CAAC,UAAU,kBAAkB,IAAIxD,EAAK,cAAc,OAAO,SAAsB,gBAAK,MAAM,CAAC,IAAIoD,EAAI,UAAU,SAAS,oBAAoB,OAAO,SAAS,MAAM,KAAK,CAAC,OAAOI,CAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAiB,gBAAK,OAAO,CAAC,KAAK,OAAO,OAAO,oBAAoB1D,EAAE,GAAI,EAAE6D,EAAQ,IAAIA,EAAQ,GAAG,YAAY7D,EAAE,GAAI,EAAE,GAAG,EAAE,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA+J,SAAS8D,EAAM,EAAE,EAAE,EAAE,CAAC,IAAIC,EAAElK,EAAE,UAAU+J,EAAE,UAAU7D,EAAE,UAAU,EAA0B,MAAxB,IAAGgE,EAAEA,IAAI,IAAI,aAAmBA,EAAEA,IAAI,MAAM,GAAG,UAAW,CAAC,SAASC,GAAG,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAG,KAAK,MAAMpK,CAAC,EAAEqK,EAAG,KAAK,MAAMN,CAAC,EAAEO,EAAGtK,EAAEoK,EAAGG,EAAGR,EAAEM,EAASP,EAAEQ,EAAGA,GAAI,EAAE,EAAEA,GAAIE,EAAED,EAAGA,GAAI,EAAE,EAAEA,GAAUE,EAAER,EAAMG,EAAGC,EAAGnE,CAAC,EAAEwE,EAAET,EAAMG,EAAG,EAAEC,EAAGnE,CAAC,EAAE3F,EAAE0J,EAAMG,EAAGC,EAAG,EAAEnE,CAAC,EAAEmD,EAAEY,EAAMG,EAAG,EAAEC,EAAG,EAAEnE,CAAC,EAAE,OAAOuE,GAAGC,EAAED,GAAGX,GAAGvJ,EAAEkK,GAAGD,GAAGC,EAAEC,EAAEnK,EAAE8I,GAAGS,EAAEU,CAAE,CAAC,SAASG,GAAU,EAAK,CAAC,IAAMC,EAAI,OAAOC,CAAI,EAAE,GAAGC,EAAUF,GAAK,OAAOE,EAAUF,GAAK,IAAsCG,EAAE,CAAC,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAE,IAAK,IAAI,CAAC,EAAEA,GAAG,CAAC,EAAE,IAAI,IAAI7E,EAAE,EAAEA,EAAE,IAAK,IAAI,CAAC,IAAMnG,EAAEmG,EAAE8E,EAAGlB,EAAEiB,EAAEC,EAAG,EAAED,EAAE,CAAC7E,GAAG,GAAG,GAAG,KAAK,IAAInG,EAAE,MAAM6K,CAAI,EAAE,KAAK,IAAId,EAAE,MAAMc,EAAK,EAAE,EAAE,IAAI,KAAK,KAAK7K,EAAE+J,GAAG,MAAMc,EAAK,GAAG,EAAE,KAAKV,GAAGnK,EAAE,MAAM+J,EAAE,MAAMc,CAAI,EAAE,GAAI,CAAC,CAAC,IAAMK,EAAM,GAAQ,CAAC,IAAI7B,EAAE,GAAG,IAAI,IAAMM,KAAKwB,EAAQ,IAAI,IAAIH,EAAE,EAAEA,EAAE,IAAO,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,IAAO,IAAI,CAAC,IAAM,EAAED,EAAEC,EAAE,CAAC,GAAGN,EAAEK,EAAEC,EAAE,CAAC,EAAE,GAAGzK,EAAEwK,EAAEC,EAAE,EAAE,CAAC,EAAE,GAAGxG,EAAEuG,EAAEC,EAAE,EAAE,CAAC,GAASI,GAAK,EAAEzB,EAAE,EAAE,IAAIe,EAAEf,EAAE,EAAE,IAAIpJ,EAAEoJ,EAAE,EAAE,GAAInF,EAAEmF,EAAO,GAAGyB,IAAM,GAAGA,IAAM,GAAG,SAAS,IAAMpL,EAAE,EAAEiL,EAAGlB,EAAEiB,EAAEC,EAASI,EAAE,CAACrL,EAAEiL,IAAKtB,EAAE,IAAIe,EAAE,IAAIX,CAAC,EAAEuB,EAAE,CAACtL,EAAEiL,EAAGlB,EAAEkB,IAAKtB,EAAEe,IAAInK,EAAEmK,GAAG,EAAQa,EAAE,CAACvL,EAAEiL,IAAKtB,EAAEnF,IAAIjE,EAAEiE,IAAIuF,EAAEkB,CAAE,EAAEO,EAAE,CAACxL,EAAE+J,EAAEkB,IAAKtB,EAAE,IAAInF,EAAE,GAAG,EAAQiH,GAAK,EAAE,IAAI,CAAC,GAAG,IAAInL,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAGA,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAGoL,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAGA,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAI,EAAE,OAAON,EAAP,CAAY,IAAK,GAAE,IAAK,IAAGK,EAAID,EAAED,CAAC,EAAE,MAAM,IAAK,GAAE,IAAK,IAAGE,EAAIF,EAAED,CAAC,EAAE,MAAM,IAAK,GAAE,IAAK,IAAGG,EAAID,EAAEF,CAAC,EAAE,MAAM,IAAK,GAAE,IAAK,IAAGG,EAAIJ,EAAEC,CAAC,EAAE,MAAM,IAAK,GAAEG,EAAID,EAAEH,CAAC,EAAEI,EAAIF,EAAED,CAAC,EAAE,MAAM,IAAK,GAAE,IAAK,GAAEG,EAAIJ,EAAEE,CAAC,EAAE,MAAM,IAAK,GAAE,IAAK,GAAEE,EAAID,EAAEH,CAAC,EAAE,MAAM,IAAK,IAAGI,EAAIJ,EAAEC,CAAC,EAAEG,EAAID,EAAED,CAAC,CAAQ,CAAC,CAAE,OAAOlC,CAAE,EAChnKsC,EAAKT,EAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAQU,EAAKV,EAAM,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,EAAMW,EAAK,GAAOC,EAAM,GAAe,IAAI,IAAIC,EAAG,EAAEA,GAAIC,EAAG,GAAI,IAAE,CAAC,IAAI3C,EAAE,GAAG,IAAI,IAAIU,EAAE,EAAEA,GAAGkC,EAAG,GAAG,GAAG,CAAC,IAAMjM,EAAE+L,EAAG,EAAE,KAAK,IAAIhC,EAAE,KAAKgC,EAAG,GAAG,EAAE,IAAIhC,IAAI,EAAE,IAAI,KAAK/J,EAAE,QAAQ,CAAC,EAAE,IAAI+J,CAAE,CAAC,GAAMV,CAAE,CAAC,IAAI,IAAI6C,EAAG,EAAEA,GAAID,EAAG,GAAI,IAAE,CAAC,IAAI5C,EAAE,GAAG,IAAI,IAAIrJ,EAAE,EAAEA,GAAGgM,EAAG,GAAG,GAAG,CAAC,IAAMjC,EAAEmC,EAAG,EAAE,KAAK,IAAIlM,EAAE,MAAMkM,EAAG,IAAI,EAAE,IAAIlM,IAAI,EAAE,IAAI,KAAKA,EAAE,IAAI+J,EAAE,QAAQ,CAAC,CAAE,CAAC,GAAMV,CAAE,CAAC,IAAI,IAAI0C,EAAG,EAAEA,GAAIC,EAAG,GAAI,IAAE,IAAI,IAAIE,EAAG,EAAEA,GAAID,EAAG,GAAI,IAAE,CAAC,IAAMjM,EAAE+L,EAAG,EAAE,KAAK,IAAIG,EAAG,KAAKH,EAAG,GAAG,EAAEhC,EAAEmC,EAAG,EAAE,KAAK,IAAIH,EAAG,MAAMG,EAAG,IAAI,EAAE,GAAO,KAAKlM,EAAE,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG+J,EAAE,QAAQ,CAAC,EAAE,IAAI/J,EAAE,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG+J,EAAE,QAAQ,CAAC,EAAE,GAAG/J,EAAE,QAAQ,CAAC,EAAE,IAAI+J,EAAE,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG/J,EAAE,QAAQ,CAAC,EAAE,IAAI+J,EAAE,EAAA,CAAG,QAAQ,CAAC,GAAI,CAAC,MAAO,GAAUa,GAAK,CAAC,OAAK,OAAK,OAAK,OAAK,CAAE,CAAC,SAAgBuB,GAAQ,CAAC,OAAK,EAAE,aAAW,EAAE,OAAK,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAMxC,EAAEhL,MAAkBgM,GAAUE,CAAI,EAAE,CAACA,CAAI,CAAC,EAAQH,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,IAAI0B,CAAU,CAAC,EAAE,MAAoB,gBAAK,MAAM,CAAC,UAAU,gBAAgB,cAAc,OAAO,SAAsB,gBAAM,MAAM,CAAC,UAAU,SAAS,QAAQ,OAAOJ,EAAG,GAAGC,IAAK,oBAAoB,iBAAiB,SAAS,CAAc,gBAAK,OAAO,CAAC,EAAEtC,EAAE,KAAK,KAAK,OAAO,OAAO,qBAAqB,IAAIe,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG,YAAY,GAAG,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAEf,EAAE,MAAM,KAAK,OAAO,OAAO,qBAAqB,IAAIe,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG,YAAY,GAAG,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAEf,EAAE,KAAK,KAAK,OAAO,OAAO,qBAAqB,GAAGe,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG,YAAY,IAAI,cAAc,OAAO,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAEf,EAAE,KAAK,KAAK,OAAO,OAAO,qBAAqB,IAAIe,EAAA,CAAG,QAAQ,CAAC,EAAE,GAAG,YAAY,MAAM,cAAc,OAAO,CAAC,EAAE2B,EAAK,KAAK,EAAE,IAAiB,gBAAK,SAAS,CAAC,GAAGhD,EAAE,GAAG2C,EAAG,GAAG3C,EAAE,GAAG4C,EAAG,EAAE,IAAI,KAAK,qBAAqB,GAAGvB,EAAA,CAAG,QAAQ,CAAC,EAAE,EAAE,EAAEvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,qEA7EtnD,GAAO;;;;;;;;;EAUoqB,IAAM,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI2B,EAAE,GAAGA,EAAE,GAAG8B,EAAE,EAAE,IAAI9B,EAAE,GAAGA,EAAE,GAAG8B,EAAE,EAAE,KAAK9B,EAAE,IAAIA,EAAE,IAAI,IAAI,EAAE,OAAO,GAAI,EAGvvB,GAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+D4jH,EAAG,KAAK,EAAG,IAAI,EAAG,EAAQ,EAAU,CAAC,C,OC/D3sH,SAAwB0E,GAAO,EAAM,CAAC,GAAK,CAAC,iBAAe,IAAIzJ,EAAW,CAAC0J,EAAGC,GAAO9N,EAAe,EAAK,EAAQ+N,EAAI9N,EAAa,IAAI,EAAQ+N,EAAK/N,EAAa,IAAI,EAAQgO,EAAMhO,EAAa,IAAI,EAAylF,OAAvlF6B,MAAoB,CAAC,GAAG,CAAC0D,EAAO,EAAE,OAAO,IAAMwH,EAAK7L,EAAO,WAAW,oCAAoC,CAAC,CAAC,QAAc+M,EAAO/M,EAAO,WAAW,kCAAkC,CAAC,CAAC,QAAW6L,GAAM,CAACkB,GAAOJ,EAAM,EAAI,CAAE,EAAE,CAAC,CAAC,EAAEhM,MAAoB,CAAC,GAAG,CAAC+L,EAAG,OAAO,IAAIM,EAAG,KAAKC,EAAG,KAAKC,EAAG,KAAKC,EAAG,KAAK1F,EAAI,EAAM2F,EAAI,KAAWC,GAAS,EAAK,EAAK,KAAK,CAAC,IAAMpH,EAAE4G,EAAK,QAAW5G,IAAGA,EAAE,UAAU,OAAO,WAAWqH,IAAO,OAAO,EAAErH,EAAE,UAAU,OAAO,WAAWqH,IAAO,OAAO,GAAG,IAAM1D,EAAEkD,EAAM,QAAWlD,IAAM0D,IAAO,UAAQ,EAAE,YAAYC,GAAK3D,EAAE,UAAU,OAAO,QAAQ0D,IAAO,OAAO,EAAG,EAAQE,MAAe,CAAC,AAA6EJ,KAArE,EAAI,MAAM,UAAU,GAAG,EAAI,MAAM,WAAW,kBAAkBK,IAAW,KAAM,EAAQC,MAAQ,CAACd,EAAI,QAAQC,EAAK,QAAQC,EAAM,OAAO,EAAQ7E,EAAK,GAAG,CAAC,GAAGxD,EAAE,cAAc,QAAQ,OAAO,EAAGA,EAAE,QAAQ,EAAGA,EAAE,QAAQiJ,EAAI,CAAC,CAAC,QAAQ,GAAItJ,GAAI,UAAU,OAAO,aAAa,CAAC,EAAE,IAAMwF,EAAEnF,EAAE,OAAakJ,EAAI/D,GAAGA,EAAE,QAAQA,EAAE,QAAQgE,EAAW,EAAE,KAAWC,EAAIF,GAAK,QAAQ,eAAe,CAAC,EAAE,aAAa,aAAa,EAAeA,GAAKA,EAAI,QAAQ,sDAAsD,IAAe,IAAMA,EAAI,QAAQ,WAAW,GAAGN,EAAQ,OAAO,EAAUQ,EAAIR,EAAQ,QAAQQ,CAAG,EAAOR,EAAQ,EAAE,EAAE,IAAMtF,EAAE6B,GAAGA,EAAE,QAAQA,EAAE,QAAQkE,EAAQ,EAAE,KAA6B,GAArB/F,IAAIqF,GAAII,EAAW,EAAKzF,EAAE,CAAC,EAAIA,EAAE,IAAM9B,EAAE8B,EAAE,sBAAsB,EAAQgG,GAAIf,GAAI/G,EAAE,KAAKA,EAAE,MAAM,IAAI+H,EAAqBC,GAAIhB,GAAIhH,EAAE,IAAIA,EAAE,OAAO,IAAI+H,EAAe,EAAE,MAAM,WAAW,0BAA0B,EAAE,MAAM,UAAU,aAAaD,EAAG,MAAME,EAAG,IAAK,CAAC,EAAQC,MAASrB,EAAK,SAAS,UAAU,IAAI,SAAS,EAAQsB,MAAOtB,EAAK,SAAS,UAAU,OAAO,SAAS,EAAQ3E,MAAU,CAACwF,EAAI,CAAC,CAAC,QAAQ,GAAItJ,GAAI,UAAU,IAAI,aAAa,CAAC,EAAEoJ,EAAW,CAAE,EAAQ3F,MAAS,CAAC,IAAKmF,EAAGE,GAAI,GAAG,IAAKD,EAAGE,GAAI,GAAMP,EAAI,UAAQ,EAAI,QAAQ,MAAM,UAAU,aAAaI,EAAG,MAAMC,EAAG,MAAQJ,EAAK,UAAQ,EAAK,QAAQ,MAAM,UAAU,aAAaK,EAAG,MAAMC,EAAG,MAAQL,EAAM,UAAQ,EAAM,QAAQ,MAAM,UAAU,aAAaI,EAAG,MAAMC,EAAG,MAAK,EAAI,sBAAsBtF,CAAI,CAAE,EAA+O,OAA7O7H,EAAO,iBAAiB,cAAciI,EAAK,CAAC,QAAQ,EAAI,CAAC,EAAEjI,EAAO,iBAAiB,cAAckO,CAAI,EAAElO,EAAO,iBAAiB,YAAYmO,CAAE,EAAE,SAAS,gBAAgB,iBAAiB,aAAajG,CAAK,EAAE,EAAI,sBAAsBL,CAAI,MAAY,CAAC7H,EAAO,oBAAoB,cAAciI,CAAI,EAAEjI,EAAO,oBAAoB,cAAckO,CAAI,EAAElO,EAAO,oBAAoB,YAAYmO,CAAE,EAAE,SAAS,gBAAgB,oBAAoB,aAAajG,CAAK,EAAE,qBAAqBT,CAAG,EAAE+F,EAAW,CAAE,CAAE,EAAE,CAACd,EAAGsB,CAAc,CAAC,EAAK,CAACtB,GAAI,OAAO,SAAW,IAAgC,gBAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,MAAM,CAAC,EAAsB,gBAA0B,gBAAM3N,EAAU,CAAC,SAAS,CAAc,gBAAK,QAAQ,CAAC,SAASC,EAAG,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,wBAAwB,IAAI6N,EAAK,cAAc,MAAM,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,uBAAuB,IAAIC,EAAM,cAAc,MAAM,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,uBAAuB,IAAIF,EAAI,cAAc,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAE,C,yEAdz3F,EAAO,UAAgB,GAAY,sEAA4E,GAAS,mDAAyD,EAAK,2BAAiC5N,GAAI;;8EAEvcsP,EAAO;iIAC4Cb,EAAK,eAAeA,EAAK,eAAeA,EAAK;0FACpFa,EAAO;wFACTA,EAAO;;mEAE5BA,EAAO;;;EAO0mG5M,EAAoB+K,GAAO,CAAC,eAAe,CAAC,KAAKjL,EAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC,C,OCD3yG,SAAwBgN,GAAO,EAAM,CAAC,GAAK,CAAC,UAAQC,GAAQ,YAAU,UAAU,WAAS,WAAW,MAAMC,EAAUC,GAAM,OAAK,QAAQ3L,EAErEC,EAAM,wBAAwB,KAAK2L,GAAW,EAAE,EAAE,UAAUA,EAAgBC,EAAK,wBAAwB,KAAKC,GAAU,EAAE,EAAE,WAAWA,EACtMC,EAAM,CAACL,GAAW,kBAAkB,KAAKA,CAAS,EAAEC,GAAMD,EAAU,MAAoB,gBAAM,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAWtJ,EAAE,GAAG,EAAE,SAAS,CAAc,gBAAKD,EAAK,CAAC,CAAC,EAAe,gBAAK,QAAQ,CAAC,SAASlG,EAAG,CAAC,EAAe,gBAAM,SAAS,CAAC,UAAU,UAAU,SAAS,CAAc,gBAAM,MAAM,CAAC,UAAU,MAAM,SAAS,CAAc,gBAAM,MAAM,CAAC,UAAU,SAAS,SAAS,CAAc,gBAAK,OAAO,CAAC,UAAU,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAe,gBAAK,OAAO,CAAC,SAASgQ,GAAUC,CAAO,CAAC,CAAC,EAAe,gBAAM,OAAO,CAAC,SAAS,CAAC,KAAQC,EAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,UAAU,UAAU,SAAS,CAAc,gBAAK,IAAI,CAAC,UAAU,OAAO,KAAKN,EAAK,SAAS5L,CAAK,CAAC,EAAe,gBAAK,IAAI,CAAC,UAAU,OAAO,KAAK,UAAU8L,IAAQ,SAASA,CAAK,CAAC,EAAe,gBAAK,IAAI,CAAC,UAAU,aAAa,KAAK,OAAO,QAAQ,GAAG,CAAC,EAAE,eAAe,EAAE/O,EAAO,SAAS,CAAC,IAAI,EAAE,SAASA,EAAO,WAAW,kCAAkC,CAAC,CAAC,QAAQ,OAAO,QAAQ,CAAC,CAAE,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,gEAhB9wB,GAAM,yBAA+B,GAAQ,uDACpQ,GAAU,IAAImG,GAAG,GAAA,CAAI,QAAQ,oCAAoC,EAAG,IAAMkJ,EAAI,sBAAsB,gBAAgB,EAAQpQ,GAAI;8JACiBmG,EAAE,IAAI,0BAA0BA,EAAE,KAAK,wGAAwGA,EAAE,MAAM;;2GAE1MA,EAAE,KAAK;+CACnEA,EAAE,OAAO;;sBAElCA,EAAE,KAAK;4BACDA,EAAE,OAAO;kBACnBA,EAAE,MAAM;EAOy9B1D,EAAoB8M,GAAO,CAAC,QAAQ,CAAC,KAAKhN,EAAY,OAAO,aAAaiN,EAAO,EAAE,UAAU,CAAC,KAAKjN,EAAY,OAAO,MAAM,gBAAgB,aAAa,SAAS,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,aAAa,UAAU,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,aAAamN,EAAK,EAAE,KAAK,CAAC,KAAKnN,EAAY,OAAO,aAAa,MAAM,CAAC,CAAC,C,OC6B10C,SAAgB8N,GAAa,CAAC,SAAO,IAAI,SAAO,IAAI,KAAG,IAAI,KAAG,KAAK,CAAC,IAAMhJ,EAAKpH,EAAa,IAAI,EAAQqH,EAAGrH,EAAa,IAAI,EAAQqQ,EAAKrQ,EAAa,CAAC,SAAO,SAAO,KAAG,IAAE,CAAC,EAAE,EAAK,QAAQ,CAAC,SAAO,SAAO,KAAG,IAAE,EAAE,GAAK,CAACmJ,EAAOC,GAAWnJ,EAAe,EAAK,EAIgD,OAJ9CwB,MAAoB,CAAC,IAAMyD,EAAGkC,EAAK,QAAQ9F,EAAE+F,EAAG,QAAQ,GAAG,CAACnC,GAAI,CAAC5D,EAAE,OAAO,IAAMgG,EAAGhG,EAAE,WAAW,QAAQ,CAAC,UAAU,GAAM,MAAM,EAAK,CAAC,EAAE,GAAG,CAACgG,EAAG,OAAO8B,EAAU,EAAI,EAAE,IAAM5B,GAAI,EAAK,IAAM,CAAC,IAAMP,EAAEK,EAAG,aAAaG,CAAI,EAA6C,OAA3CH,EAAG,aAAaL,EAAES,CAAG,EAAEJ,EAAG,cAAcL,CAAC,EAASA,CAAE,EAAQU,EAAKL,EAAG,cAAc,EAAwL,GAAtLA,EAAG,aAAaK,EAAKH,EAAGF,EAAG,cAAc,mEAAmE,CAAC,EAAEA,EAAG,aAAaK,EAAKH,EAAGF,EAAG,gBAAgBgJ,EAAI,CAAC,EAAEhJ,EAAG,YAAYK,CAAI,EAAK,CAACL,EAAG,oBAAoBK,EAAKL,EAAG,WAAW,EAAE,OAAO8B,EAAU,EAAI,EAAE9B,EAAG,WAAWK,CAAI,EAAEL,EAAG,WAAWA,EAAG,aAAaA,EAAG,aAAa,CAAC,EAAEA,EAAG,WAAWA,EAAG,aAAa,IAAI,aAAa,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,EAAEA,EAAG,WAAW,EAAE,IAAMO,EAAIP,EAAG,kBAAkBK,EAAK,GAAG,EAAEL,EAAG,wBAAwBO,CAAG,EAAEP,EAAG,oBAAoBO,EAAI,EAAEP,EAAG,MAAM,GAAM,EAAE,CAAC,EAAE,IAAMiJ,EAAE,GAAGjJ,EAAG,mBAAmBK,EAAK6I,CAAC,EAAQjH,EAAKgH,EAAE,KAAK,EAAEE,EAAKF,EAAE,KAAK,EAAE/G,EAAG+G,EAAE,GAAG,EAAEG,EAAGH,EAAE,GAAG,EAAEI,EAAIJ,EAAE,IAAI,EAAEK,EAAIL,EAAE,IAAI,EAAEM,EAAKN,EAAE,QAAQ,EAAEO,EAAIP,EAAE,QAAQ,EAAQQ,EAAOjQ,EAAO,WAAW,eAAe,CAAC,CAAC,QAAYkH,EAAE,EAAEC,EAAE,EAAE+I,EAAG,EAAEC,EAAG,EAAE9I,EAAI,EACpyC+I,OAAU,CAAC,EAAEF,EAAGX,EAAK,QAAQ,GAAG,EAAEY,EAAGZ,EAAK,QAAQ,EAAE,GAASc,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAQjJ,OAAS,CAAC,IAAM,EAAEhD,EAAG,sBAAsB,EAAgL,GAA9K,EAAI,KAAK,IAAI,EAAEpE,EAAO,kBAAkB,CAAC,EAAE,EAAG,EAAE,MAAM,EAAG,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMkQ,EAAG7I,CAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM8I,EAAG9I,CAAG,CAAC,EAAE,EAAE,MAAMH,EAAE,EAAE,OAAOC,EAAEX,EAAG,SAAS,EAAE,EAAEU,EAAEC,CAAC,EAAK,CAACkJ,EAAE,KAAK,CAAC,IAAMlG,EAAEiG,EAAK,EAAE,EAAE,EAAE,EAAE,GAAGjG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,CAAE,CAAC,EAAE/C,GAAK,EAAE,IAAMG,GAAG,IAAI,eAAeH,EAAI,EAAEG,GAAG,QAAQnD,CAAE,EAAE,IAAMmH,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAQvD,EAAI5D,EAAG,cAAoBkM,EAAM,GAAG,CAAC,IAAMrK,EAAE7B,EAAG,sBAAsB,EAAE,MAAM,CAAC,EAAEK,EAAE,QAAQwB,EAAE,KAAK,EAAExB,EAAE,QAAQwB,EAAE,GAAG,CAAE,EAAQgC,EAAK,GAAG,CAAC,GAAG,EAAE,cAAc,QAAQ,OAAO,IAAM1H,EAAE+P,EAAM,CAAC,EAAEnG,EAAEiG,EAAK,EAClpB,EAAE,GAAGjG,EAAE,GAAG5J,EAAE,EAAE4J,EAAE,GAAG,IAAI,EAAE,GAAGA,EAAE,GAAG5J,EAAE,EAAE4J,EAAE,GAAG,IAAI,EAAE,KAAK,YAAY,IAAI,CAAE,EAAQjC,MAAU,CAAC,IAAMiC,EAAEiG,EAAK,EAAE,EAAE,GAAGjG,EAAE,EAAE,EAAE,GAAGA,EAAE,CAAE,EAAQhC,GAAM,GAAG,CAAC,GAAG,EAAE,OAAO,QAAQ,4BAA4B,EAAE,OAAO,IAAM5H,EAAE+P,EAAM,CAAC,EAAE,EAAE,EAAE/P,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,MAAM,YAAY,IAAI,CAAE,EAAEyH,EAAI,iBAAiB,cAAcC,CAAI,EAAED,EAAI,iBAAiB,eAAeE,CAAK,EAAEF,EAAI,iBAAiB,QAAQG,EAAK,EAAE,IAAMX,EAAMlD,EAAQ,GAAG,CAACD,EAAO,EAAQkM,GAAG,YAAY,IAAI,EAAQ5I,EAAK,GAAK,CAAC,IAAMxB,EAAEqB,EAAM,IAAII,EAAI2I,IAAI,IAAI,GAAG,GAAG,CAAC/I,GAAOI,EAAIyI,EAAE,KAAK,KAAK,CAAC,IAAMlG,EAAEiG,EAAK,EAAE,EAAE,GAAGjG,EAAE,EAAE,KAAK,IAAIhE,EAAE,GAAG,EAAE+J,EAAG,IAAI,EAAE,GAAG/F,EAAE,EAAE,KAAK,IAAIhE,EAAE,GAAG,EAAEgK,EAAG,GAAI,CAAC,EAAE,IAAIE,EAAE,GAAGA,EAAE,GAAG,KAAK,EAAE,IAAIA,EAAE,GAAGA,EAAE,GAAG,KAAK,IAAMG,EAAIjF,EAAE,MAAM,EAAE,IAAI3D,EAAI2D,EAAE,OAAO,IAAOiF,EAAI,IAAE,EAAE,MAAM,IACzrB,IAAMC,EAAOP,EAAG,IAAI,IAAIA,EAAG,IAAI,IAAI,EAAE1J,EAAG,UAAUiC,EAAKvB,EAAEC,CAAC,EAAEX,EAAG,UAAUmJ,EAAKtI,CAAG,EAAEb,EAAG,UAAUkC,EAAGvC,CAAC,EAAEK,EAAG,UAAUoJ,EAAGS,EAAE,EAAEA,EAAE,CAAC,EAAE7J,EAAG,UAAUqJ,EAAItE,EAAE,EAAEA,EAAE,CAAC,EAAE/E,EAAG,UAAUsJ,EAAIvE,EAAE,MAAM,EAAE,GAAGiF,CAAG,EAAEhK,EAAG,UAAUuJ,EAAKR,EAAK,QAAQ,MAAM,EAAE/I,EAAG,UAAUwJ,EAAIT,EAAK,QAAQ,OAAOkB,CAAM,EAAEjK,EAAG,WAAWA,EAAG,eAAe,EAAE,CAAC,CAAE,EAAMiB,EAAI,EAAEC,EAAQ,GAAKuB,EAAK,EAAQyH,GAAKT,EAAO,GAAG,GAASpI,EAAK,GAAK,CAAID,EAAIqB,GAAMyH,KAAM/I,EAAKC,CAAG,EAAE,EAAKA,GAAQF,GAAS,CAACF,IAAM,EAAI,sBAAsBK,CAAI,EAAE,EAAQtD,EAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAQ,EAAE,eAAe,qBAAqBkD,CAAG,EAAKC,GAAS,CAACF,IAAM,EAAI,sBAAsBK,CAAI,EAAE,EAAE,CAAC,WAAW,MAAM,CAAC,EAAEtD,EAAG,QAAQH,CAAE,EAAEuD,EAAK,YAAY,IAAI,CAAC,EACtqB,IAAMgJ,GAAK,gBAAgB,CAAInJ,GAAOE,GAAQC,EAAK,YAAY,IAAI,CAAC,CAAE,EAAE,GAAG,EAAE,UAAU,CAAC,qBAAqBF,CAAG,EAAE,cAAckJ,EAAI,EAAEpM,EAAG,WAAW,EAAEgD,GAAG,WAAW,EAAES,EAAI,oBAAoB,cAAcC,CAAI,EAAED,EAAI,oBAAoB,eAAeE,CAAK,EAAEF,EAAI,oBAAoB,QAAQG,EAAK,CAAE,CAAE,EAAE,CAAC,CAAC,EAAsB,gBAAK,MAAM,CAAC,UAAU,OAAO,IAAI7B,EAAK,cAAc,OAAO,SAAU+B,EAAyD,gBAAK,MAAM,CAAC,UAAU,SAAS,CAAC,EAArE,gBAAK,SAAS,CAAC,IAAI9B,CAAE,CAAC,CAAgD,CAAC,CAAE,CAwCle,SAAwBqK,GAAK,EAAM,CAAC,GAAK,CAAC,UAAQ,sCAAsC,WAAS,sDAAsD,cAAY,YAAY,OAAK,uLAAuL,eAAa,+BAA+B,cAAY,aAAa,iBAAe,qBAAqB,gBAAc,SAAS,OAAK,0BAA0B,UAAQ,IAAI,gBAAc,KAAK5N,EAAY6N,EAAMC,EAAS,MAAM,GAAG,EAAQC,EAAQC,EAAY,MAAM,GAAG,CAAC,CAAC,OAAO,OAAO,EAC/nBN,EAAK,KAAK,MAAoB,gBAAM,MAAM,CAAC,UAAU,IAAI,SAAS,CAAc,gBAAKvL,EAAK,CAAC,CAAC,EAAe,gBAAK,QAAQ,CAAC,SAAS8L,GAAO7R,EAAG,CAAC,EAAe,gBAAM,UAAU,CAAC,UAAU,IAAI,cAAc,QAAQ,SAAS,CAAc,gBAAKkQ,GAAa,CAAC,OAAO6B,EAAQ,OAAOC,CAAa,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,SAAS,cAAc,MAAM,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,SAAS,cAAc,OAAO,SAASC,CAAI,CAAC,EAAe,gBAAM,MAAM,CAAC,UAAU,aAAa,SAAS,CAAc,gBAAM,MAAM,CAAC,UAAU,QAAQ,SAAS,CAAc,gBAAM,MAAM,CAAC,UAAU,YAAY,SAAS,CAAc,gBAAK,OAAO,CAAC,UAAU,OAAO,CAAC,EAAEC,CAAO,CAAC,CAAC,EAAe,gBAAM,KAAK,CAAC,UAAU,OAAO,SAAS,CAACT,EAAM,KAAK,EAAE,IAAiB,gBAAMxR,EAAe,CAAC,SAAS,CAAc,gBAAK,OAAO,CAAC,UAAU,MAAM,MAAM,CAAC,eAAe,IAAI,IAAI+G,EAAEsK,EAAA,CAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,SAASa,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEnL,CAAC,CAAC,EAAE2K,EAAQ,KAAK,EAAE,IAAiB,gBAAM1R,EAAe,CAAC,SAAS,CAAc,gBAAK,OAAO,CAAC,UAAU,eAAe,MAAM,CAAC,eAAe,IAAI,KAAKwR,EAAM,OAAOzK,GAAGsK,EAAA,CAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,SAASa,CAAC,CAAC,EAAEnL,EAAE2K,EAAQ,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI3K,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,UAAU,WAAW,SAAS,CAAc,gBAAK,IAAI,CAAC,UAAU,SAAS,SAASoL,CAAI,CAAC,EAAe,gBAAM,MAAM,CAAC,UAAU,SAAS,SAAS,CAAc,gBAAM,IAAI,CAAC,UAAU,QAAQ,KAAKC,EAAY,SAAS,CAACC,EAAa,IAAiB,gBAAK,OAAO,CAAC,UAAU,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK,IAAI,CAAC,UAAU,cAAc,KAAKC,EAAc,SAASC,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,iEApF98C,GAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CxE,GAAO;;;;;;;EAOZxS,GAAI;sEAC0DgG,EAAE,KAAK;;;;;;;2IAO8DA,EAAE,QAAQ,oIAAoIA,EAAE,KAAK;wFACxMA,EAAE,OAAO;sGACKA,EAAE,OAAO;;;;;;;mFAO5BA,EAAE,KAAK;;sKAE4EA,EAAE,MAAM;;;;;;;;;;EAci3C1D,EAAoBkP,GAAK,CAAC,QAAQ,CAAC,KAAKpP,EAAY,OAAO,MAAM,WAAW,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,aAAa,GAAG,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,iBAAiB,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,aAAa,GAAG,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,aAAa,qCAAqC,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,gBAAgB,GAAK,aAAa,qDAAqD,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,aAAa,WAAW,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,gBAAgB,GAAK,aAAa,sLAAsL,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,aAAa,8BAA8B,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,aAAa,YAAY,EAAE,eAAe,CAAC,KAAKA,EAAY,OAAO,aAAa,oBAAoB,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,aAAa,QAAQ,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,yBAAyB,CAAC,CAAC,C,OClEvnF,SAAwBsQ,GAAI,EAAM,CAAC,GAAK,CAAC,QAAMC,GAAM,WAAS,gBAAgB,UAAQ,cAAc/O,EAAW,CAACgP,EAASC,GAAa3S,EAAe,EAAK,EAAO,CAAC4S,EAAOC,GAAW7S,EAAe,EAAK,EAGqU,OAFhhBkF,GAAc,EAAE7D,MAAoB,CAACwR,EAAUC,GAAcpS,EAAO,SAAS,QAAQ,CAAC,EAAE,IAAM0M,MAAOuF,EAAYjS,EAAO,QAAQ,EAAE,EAA2D,OAAzD0M,EAAG,EAAE1M,EAAO,iBAAiB,SAAS0M,EAAG,CAAC,QAAQ,EAAI,CAAC,MAAY1M,EAAO,oBAAoB,SAAS0M,CAAE,CAAE,EAAE,CAAC,CAAC,EAEnJ/L,MAAoB,CAAC,GAAG,CAAC0D,EAAO,EAAE,OAAO,GAAG,CAAI,sBAAsBrE,EAAO,UAAQ,EAAO,QAAQ,kBAAkB,SAAS,MAAS,CAAC,CAAC,GAAGA,EAAO,SAAS,KAAK,OAAO,IAAMqS,MAAQrS,EAAO,SAAS,EAAE,CAAC,EAAEqS,EAAI,EAAE,IAAMvN,EAAG,WAAWuN,EAAI,EAAE,EAAQtN,EAAG,WAAWsN,EAAI,GAAG,EAAsC,OAApCrS,EAAO,iBAAiB,OAAOqS,CAAG,MAAY,CAAC,aAAavN,CAAE,EAAE,aAAaC,CAAE,EAAE/E,EAAO,oBAAoB,OAAOqS,CAAG,CAAE,CAAE,EAAE,CAAC,CAAC,EAA2D,gBAAM,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,aAAa,EAAE,SAAS,CAAc,gBAAKlN,EAAK,CAAC,CAAC,EAAe,gBAAK,QAAQ,CAAC,SAASmN,EAAG,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,UAAUN,EAAS,eAAe,IAAI,SAAsB,gBAAM,SAAS,CAAC,UAAU,UAAU,SAAS,CAAc,gBAAM,IAAI,CAAC,UAAU,SAAS,KAAK,IAAI,aAAa,aAAa,SAAS,CAAc,gBAAK,OAAO,CAAC,UAAU,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,aAAa,OAAO,UAAU,UAAU,SAAS,EAAjiBE,EAAOK,GAAaC,EAAA,CAAmhB,KAAK,EAAE,IAAiB,gBAAK,IAAI,CAAC,UAAU,OAAO,KAAKC,GAAQrE,EAAE,IAAI,EAAE,SAAS,wBAAwB,KAAKA,EAAE,OAAO,EAAE,EAAE,UAAUA,EAAE,KAAK,EAAEhI,CAAC,CAAC,EAAe,gBAAM,IAAI,CAAC,UAAU,QAAQ,KAAK8L,EAAO,SAASQ,EAAQ,SAAS,CAACR,EAAO,QAAQS,EAAS,IAAiB,gBAAK,OAAO,CAAC,UAAU,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,0EA3BhlC,GAAM,CAAC,CAAC,MAAM,eAAe,KAAK,OAAO,EAAE,CAAC,MAAM,UAAU,KAAK,QAAQ,EAAE,CAAC,MAAM,aAAa,KAAK,cAAc,EAAE,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,EAAQ,GAAa,CAAC,CAAC,MAAM,aAAa,KAAK,GAAG,EAAE,CAAC,MAAM,aAAa,KAAK,QAAQ,EAAE,CAAC,MAAM,oBAAoB,KAAK,UAAU,CAAC,EACtiB,GAAI;;;;;;;iDAOuCvN,EAAE,OAAO;;;2BAG/BA,EAAE,MAAM;iCACFA,EAAE,KAAK;mHAC2EA,EAAE,OAAO,WAAWA,EAAE,GAAG;;;;EAMtI,GAAQ,WAAiB,GAAc,GAAG,CAAC,IAAMe,EAAE5F,EAAE,QAAQ,MAAM,EAAE,EAAE,OAAO4F,EAAE,SAAS,UAAU,GAAGA,EAAE,SAAS,eAAe,CAAE,EAAQ,GAAQ,GAAG,wBAAwB,KAAKiI,GAAG,EAAE,EAAEwE,GAAQxE,EAQ+pC1M,EAAoBoQ,GAAI,CAAC,MAAM,CAAC,KAAKtQ,EAAY,MAAM,aAAauQ,GAAM,QAAQ,CAAC,KAAKvQ,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,OAAO,aAAa,MAAM,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,eAAe,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,YAAY,CAAC,CAAC,C,OC1BjuD,SAAwBjC,GAAS,EAAO,EAAc,CAAC,MAAM,CAAC,YAAY,6IAA6I,OAAO,0BAA0B,MAAM,6CAAgD,CAAE,C,uCCA9N,SAAwBC,GAAS,EAAO,EAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,SAAS,WAAW,qBAAqB,EAAE,CAAC,KAAK,UAAU,WAAW,+CAA+C,EAAE,CAAC,KAAK,UAAU,WAAW,uBAAuB,CAAC,EAAE,YAAYC,GAAawT,EAAOC,CAAa,CAAC,CAAC,YAAY,SAAS,CAAC,UAAU,SAAS,EAAE,OAAO,0BAA0B,gBAAgB,eAAe,MAAMzT,GAAawT,EAAOC,CAAa,CAAC,CAAC,OAAO,OAAO,SAAS,oBAAoB,CAAE,C,+CAAcxT,GAAgB,EAChlBC,GAAqB,CAAC2T,QAAU,CAACC,gBAAkB,CAACC,KAAO,WAAWC,YAAc,CAACC,sBAAwB,GAAG,CAAC,EAAEC,QAAU,CAACH,KAAO,WAAWC,YAAc,CAACC,sBAAwB,GAAG,CAAC,EAAEE,mBAAqB,CAACJ,KAAO,UAAU,CAAC,CAAC,C,OCDnP,SAAwBK,GAAS,EAAO,EAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,SAAS,WAAW,qBAAqB,EAAE,CAAC,KAAK,SAAS,WAAW,+CAA+C,EAAE,CAAC,KAAK,UAAU,WAAW,uBAAuB,CAAC,EAAE,YAAY,kMAAkM,SAAS,CAAC,UAAU,OAAO,EAAE,OAAO,0BAA0B,gBAAgB,eAAe,MAAM,kBAAqB,SAAS,oBAAoB,CAAE,C,0CAAc,GAAgB,EAClnB,GAAqB,CAACP,QAAU,CAACK,QAAU,CAACH,KAAO,WAAWC,YAAc,CAACC,sBAAwB,GAAG,CAAC,EAAEH,gBAAkB,CAACC,KAAO,WAAWC,YAAc,CAACC,sBAAwB,GAAG,CAAC,EAAEE,mBAAqB,CAACJ,KAAO,UAAU,CAAC,CAAC,C"}