1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6119],{10005:(e,t,n)=>{n.d(t,{_:()=>i});var a=n(88604),r=n(63916),l=n(40459);let i=(0,a.w)({shared:{NODE_ENV:r.k5(["development","production","test"]).default("development")},server:{CLERK_SECRET_KEY:r.Yj()},client:{NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:r.Yj(),NEXT_PUBLIC_API_URL:r.Yj().url(),NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY:r.Yj().optional()},experimental__runtimeEnv:{NODE_ENV:"production",NEXT_PUBLIC_API_URL:"https://api.flowser.ai",NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:"pk_live_Y2xlcmsuZmxvd3Nlci5haSQ",NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY:"pk_live_51RfegLIeOImcBhu665BDKA7OPiqJSpga76VcqGBb42WJ8bSBkfNbwAkm4f6vfRf8qQrSTWIJH2YP70mGW2u2nBiW00jpUuOFE1"},skipValidation:!!l.env.CI||"lint"===l.env.npm_lifecycle_event})},21649:(e,t,n)=>{n.d(t,{$:()=>c,r:()=>o});var a=n(54568),r=n(7620),l=n(54616),i=n(46118),s=n(89355);let o=(0,l.F)("focus-visible:ring-ring focus-visible:ring-offset-background inline-flex cursor-pointer items-center justify-center gap-2 text-sm font-semibold whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{primary:"bg-primary text-primary-foreground hover:bg-primary/90 rounded-[8px] border-transparent",destructive:"bg-destructive text-destructive-foreground rounded-[8px] border-transparent",outline:"text-foreground border-border hover:border-border-strong rounded-[8px] border bg-transparent",secondary:"bg-secondary text-secondary-foreground rounded-[8px] border-transparent",ghost:"text-foreground hover:bg-hover-surface rounded-[8px] border-transparent bg-transparent",link:"text-primary border-transparent underline-offset-4 hover:underline",cta:"btn-cta rounded-lg border-transparent",ink:"btn-ink rounded-lg border-transparent text-white"},size:{sm:"h-9 rounded-[8px] px-3",md:"h-10 px-4 py-2",lg:"h-11 rounded-[8px] px-8",icon:"size-10",none:""}},defaultVariants:{variant:"primary",size:"md"}}),c=r.forwardRef((e,t)=>{let{className:n,variant:r,size:l,asChild:c=!1,...d}=e,u=c?i.DX:"button";return(0,a.jsx)(u,{className:(0,s.cn)(o({variant:r,size:l,className:n})),ref:t,...d})});c.displayName="Button"},25703:(e,t,n)=>{n.d(t,{cn:()=>l});var a=n(72902),r=n(13714);function l(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.QP)((0,a.$)(t))}},52386:(e,t,n)=>{n.d(t,{U:()=>i});var a=n(29292),r=n(84557),l=n(79409);let i=()=>new a.E({defaultOptions:{queries:{staleTime:3e4},dehydrate:{serializeData:l.Ay.serialize,shouldDehydrateQuery:e=>(0,r.XS)(e)||"pending"===e.state.status,shouldRedactErrors:()=>!1},hydrate:{deserializeData:l.Ay.deserialize}}})},61705:(e,t,n)=>{n.d(t,{M:()=>c});var a=n(54568),r=n(54381),l=n.n(r),i=n(89355);let s=[{accessory:"GlassRoundThick",body:"Shirt",face:"Cute",hair:"ShortVolumed",facialHair:"Dali",bg:"#F3D34A"},{accessory:"GlassRound",body:"Coffee",face:"Smile",hair:"Bun",facialHair:"None",bg:"#E2E8F0"},{accessory:"GlassButterfly",body:"Hoodie",face:"Serious",hair:"Long",facialHair:"None",bg:"#D1FAE5"},{accessory:"SunglassClubmaster",body:"Gaming",face:"Concerned",hair:"ShortCurly",facialHair:"None",bg:"#FFEDD5"},{accessory:"None",body:"BlazerBlackTee",face:"SmileTeeth",hair:"Pomp",facialHair:"Goatee",bg:"#E0F2FE"}];function o(e){let{seed:t,size:n=40,className:r,label:o}=e,c=s[function(e){let t=String(e),n=0;for(let e=0;e<t.length;e++)n=31*n+t.charCodeAt(e)|0;return Math.abs(n)%s.length}(t)],d=1.1*n;return(0,a.jsx)("span",{role:"img","aria-label":null!=o?o:"avatar",className:(0,i.cn)("flex items-end justify-center overflow-hidden rounded-full",r),style:{width:n,height:n,backgroundColor:c.bg},children:(0,a.jsx)(l(),{...{accessory:c.accessory,body:c.body,face:c.face,hair:c.hair,facialHair:c.facialHair,style:{width:d,height:d,alignSelf:"flex-end"}}})})}function c(e){let{count:t=5,size:n=40,seedOffset:r=0,overlap:l,className:s}=e,c=null!=l?l:Math.round(.3*n);return(0,a.jsx)("span",{"aria-hidden":"true",className:(0,i.cn)("inline-flex items-center",s
1),children:Array.from({length:t},(e,t)=>(0,a.jsx)("span",{style:{marginLeft:0===t?0:-c},children:(0,a.jsx)(o,{seed:r+t,size:n,className:"ring-2 ring-white"})},t))})}},68707:(e,t,n)=>{n.d(t,{$:()=>r,CS:()=>a});let a={DAILY_CREDIT_USD:.15,FREE_TIER:{MAX_INSTANCES:1,INSTANCE_TTL_DAYS:3},TRIAL:{TRIAL_HOURS:72,PERIOD_DAYS:7},FREE_PASS_HOURS:24,FREE_PASS_MAX_HOURS:8760,FREE_IDLE_TTL_HOURS:48,SUBSCRIPTION:{PRICE_PER_INSTANCE_USD:29,GRACE_PERIOD_DAYS:0,MONTHLY_CREDITS_USD:8,WEEKLY_ALLOWANCE_USD:2,WEEKLY_ALLOWANCE_BY_TIER:{FREE_SINGLE:0,PAID_SINGLE:.5,MEMBER_SEAT:2,FULL_CONTAINER:2},WEEKLY_ALLOWANCE_PER_EXTRA_SEAT:2},CREDITS:{MIN_TOPUP_USD:5,MAX_TOPUP_USD:500,MARKUP_MULTIPLIER:1.5,CREDITS_PER_USD:125e3},DECOMMISSION:{EXPIRED_SUB_DAYS:7,WARNING_HOURS_BEFORE:24,POLL_INTERVAL_MS:9e5},UNLIMITED_KEY_SENTINEL:999999,GIVEAWAY:{AMOUNT_CENTS:100},CHECKIN_REWARD_USD:.01,STREAK_BONUS_USD:.1,STREAK_TARGET:7,PAYMENT_HOLD_TTL_MS:6e4};function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"round",n=e*a.CREDITS.CREDITS_PER_USD;return"floor"===t?Math.floor(n):"ceil"===t?Math.ceil(n):Math.round(n)}},79008:(e,t,n)=>{n.d(t,{M:()=>D,O:()=>j});var a=n(54568),r=n(7620),l=n(98556),i=n(74624),s=n(8994),o=n(26994),c=n(70930),d=n(15578),u=n(86319),m=n(87551),g=n(87031),p=n(66924),f=n(60088),h=n(11570),x=n(60844),y=n(21649),b=n(61705),v=n(68707),w=n(95224),k=n(80007);let S=["week","month","year"],N={week:"Weekly",month:"Monthly",year:"Yearly"},E={week:"Community Explorer",month:"AI-enabled Solopreneur",year:"Committed AI-native teams & businesses"},A={week:"/week",month:"/month",year:"/mo"},j=[{icon:l.A,title:"Persistent cloud computer",desc:"A dedicated VM with real CPU, memory and durable storage"},{icon:i.A,title:"24/7 autonomous agent",desc:"Runs your tasks around the clock, even while you sleep"},{icon:s.A,title:"400+ AI models",desc:"GPT-5, Claude, Gemini, DeepSeek, Qwen & more â switch anytime"},{icon:o.A,title:"5 messaging channels",desc:"Chat via Telegram, Slack, Discord, WhatsApp and Zalo"},{icon:c.A,title:"900+ app integrations",desc:"Gmail, Notion, LinkedIn, Slack, Sheets & 900+ more apps"},{icon:d.A,title:"20,000+ ready-made skills",desc:"Install proven skills from the ClawHub marketplace in one click"},{icon:u.A,title:"100% OpenClaw-compatible",desc:"Own your agent fully â no Mac Mini or hardware to run"},{icon:m.A,title:"Location-based premium proxy",desc:"Dedicated ISP IPs across 60+ countries for any region"},{icon:g.A,title:"Per-agent isolation",desc:"Each agent gets its own workspace, browser and custom proxy"},{icon:p.A,title:"Anti-detect browser automation",desc:"Human-like, anti-detect browsing that never trips bot checks"},{icon:f.A,title:"Encrypted BYOK secrets",desc:"Bring your own provider keys, stored fully encrypted and safe"},{icon:h.A,title:"Live workspace & files",desc:"Real-time file sync keeps your workspace current everywhere"}],_={week:{hours:10,value:500},month:{hours:40,value:2e3},year:{hours:500,value:25e3}},M={week:"week",month:"month",year:"year"};function I(e){let t=e.unitAmount/100,n=e.unitAmount%100==0?t.toFixed(0):t.toFixed(2);return"usd"===e.currency.toLowerCase()?"$".concat(n):"".concat(n," ").concat(e.currency.toUpperCase())}function C(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:900,[l,i]=(0,r.useState)(t);return(0,r.useEffect)(()=>{if(!n)return void i(t);let r=performance.now(),l=0,s=n=>{let o=Math.min(1,(n-r)/a);i(Math.round(e+(t-e)*(1-Math.pow(1-o,3)))),o<1&&(l=requestAnimationFrame(s))};return l=requestAnimationFrame(s),()=>cancelAnimationFrame(l)},[e,t,n,a]),l}function T(e){let t=Math.floor(Math.max(0,e.getTime()-Date.now())/1e3);return{days:Math.floor(t/86400),hours:Math.floor(t%86400/3600),minutes:Math.floor(t%3600/60),seconds:t%60}}function R(e){let{target:t}=e,[n,l]=(0,r.useState)(()=>T(t));(0,r.useEffect)(()=>
1{l(T(t));let e=setInterval(()=>l(T(t)),1e3);return()=>clearInterval(e)},[t]);let i=[{label:"days",value:n.days},{label:"hrs",value:n.hours},{label:"min",value:n.minutes},{label:"sec",value:n.seconds}];return(0,a.jsx)("div",{"data-testid":"pricing-countdown",className:"mb-6 flex items-center justify-center gap-3 text-landing-fg",children:i.map(e=>(0,a.jsxs)("div",{className:"flex flex-col items-center",children:[(0,a.jsx)("span",{className:"text-xl font-semibold tabular-nums",children:e.value.toString().padStart(2,"0")}),(0,a.jsx)("span",{className:"text-[10px] tracking-widest text-landing-muted uppercase",children:e.label})]},e.label))})}function P(e){let{selected:t}=e;return(0,a.jsx)("span",{"aria-hidden":"true",className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full border transition-colors ".concat(t?"border-landing-fg bg-landing-fg":"border-landing-border bg-landing-bg"),children:t&&(0,a.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-landing-bg"})})}function D(e){var t,n,l,i,s;let{plans:o,isLoading:c=!1,onSelectPlan:d,ctaLabel:u,ctaVariant:m="ink",ctaPending:g=!1,showPromoInput:p=!1,onPromoSubmit:f,countdownTarget:h,socialProofBlurb:T,guaranteeCopy:D,features:L,defaultInterval:U="year"}=e,[B,Y]=(0,r.useState)(U),[F,H]=(0,r.useState)(""),O=function(e){let t=v.CS.SUBSCRIPTION.MONTHLY_CREDITS_USD;return"week"===e?(0,v.$)(7/30.44*t):"year"===e?(0,v.$)(12*t):(0,v.$)(+t)}(B),X=_[B],[G,K]=(0,r.useState)(!1),z=(0,r.useRef)(O),W=(0,r.useRef)(X),q=(0,r.useRef)(!0);(0,r.useEffect)(()=>{if(q.current){q.current=!1,z.current=O,W.current=X;return}K(!0);let e=setTimeout(()=>{K(!1),z.current=O,W.current=X},950);return()=>clearTimeout(e)},[B]);let V=C(z.current,O,G),$=Math.round(V/500),Q=null!=(n=null==o?void 0:o.month)?n:null,Z=null!=(l=null==o?void 0:o.year)?l:null,J=Q?12*Q.unitAmount:null,ee=Z?Math.round(Z.unitAmount/12):null,et=null!=(i=null==(t=null!=Q?Q:Z)?void 0:t.currency)?i:"usd",en=Q&&Z&&J&&J>0?Math.round((J-Z.unitAmount)/J*100):null,ea=null!=(s=null==o?void 0:o.week)?s:null,er=ea?52*ea.unitAmount:null,el=Q?12*Q.unitAmount:null,ei=er&&el&&er>0?Math.round((er-el)/er*100):null,es=C(W.current.hours,X.hours,G),eo=C(W.current.value,X.value,G);function ec(e){let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100,a=(e.clientY-t.top)/t.height*100;e.currentTarget.style.setProperty("--glow-x","".concat(n,"%")),e.currentTarget.style.setProperty("--glow-y","".concat(a,"%"))}function ed(e){e.currentTarget.style.setProperty("--glow-x","50%"),e.currentTarget.style.setProperty("--glow-y","50%")}return(0,a.jsx)("div",{className:"@container mx-auto w-full max-w-5xl rounded-2xl border border-landing-border bg-landing-bg p-5 text-landing-fg sm:p-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 @4xl:grid-cols-2 @4xl:items-stretch @4xl:gap-8",children:[(0,a.jsxs)("div",{className:"order-2 flex min-w-0 flex-col @4xl:order-1",children:[(0,a.jsx)("div",{className:"min-w-0 @4xl:my-auto",children:(0,a.jsx)("ul",{className:"grid grid-cols-1 gap-x-6 gap-y-2.5 text-sm @4xl:grid-cols-2",children:(null!=L?L:j).map(e=>{let t=e.icon;return(0,a.jsxs)("li",{className:"flex min-w-0 items-start gap-2",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-md bg-landing-mint text-landing-fg",children:(0,a.jsx)(t,{className:"h-3 w-3",strokeWidth:2})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,a.jsx)("span",{className:"font-medium text-landing-fg",children:e.title}),(0,a.jsx)("span",{className:"text-landing-muted text-xs leading-snug",children:e.desc})]})]},e.title)})})}),(0,a.jsx)(k.Z,{})]}),(0,a.jsxs)("div",{className:"order-1 flex flex-col @4xl:order-2",children:[h&&(0,a.jsx)(R,{target:h}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-3 @lg:grid-cols-2 @lg:grid-rows-2",children:S.map(e=>{var t;let n=null!=(t=null==o?void 0:o[e])?t:null,r=B===e,l="year"===e,i="week"===e?"@lg:col-start-1 @lg:row-start-1":"month"===e?"@lg:col-start-1 @lg:row-start-2":"@lg:col-start-2 @lg:row-start-1 @lg:row-span-2 @lg:justify-center";return(0,a.jsxs)("button",{type:"button","aria-label":N[e],"aria-pressed":r,onClick:()=>Y(e),onMouseMove:l?ec:void 0,onMouseLeave:l?ed:void 0,className:"relative isolate flex flex-col rounded-xl border p-4 text-left transition-all ".concat(i," ").concat(l?"bg-landing-mint/10 shadow-lg @lg:pt-5 ".concat(r?"border-landing-fg ring-2 ring-landing-fg":"border-landing-fg/60 ring-1 ring-landing-fg/40 hover:border-landing-fg hover:ring-landing-fg"):r?"border-landing-fg bg-landing-subtle ring-1 ring-landing-fg":"border-landing-border bg-landing-bg hover:border-landing-fg/40 hover:bg-landing-subtle/50"),children:[l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"sun-glow-layer pointer-events-none absolute -inset-6 -z-20 rounded-[2rem] blur-2xl"}),(0,a.jsx)("span",{"aria-hidden":"true",className:"racing-border pointer-events-none absolute -inset-px -z-10 rounded-xl"})]}),l&&(0,a.jsx)("span",{"data-testid":"most-popular-badge",className:"absolute -top-3 left-1/2 inline-flex w-fit -translate-x-1/2 items-center whitespace-nowrap rounded-full bg-landing-fg px-3 py-1 text-xs font-semibold text-landing-bg shadow-sm",children:"â Most popular"}),(0,a.jsxs)("span",{className:"flex items-start justify-between gap-2",children:[(0,a.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"font-medium leading-tight text-landing-muted ".concat(l?"text-xs":"text-[11px]"),children:E[e]}),(0,a.jsx)("span",{className:"font-semibold text-landing-fg ".concat(l?"text-lg":"text-sm"),children:N[e]})]}),(0,a.jsx)(P,{selected:r})]}),c?(0,a.jsx)("span",{"aria-hidden":"true","data-testid":"pricing-price-skeleton",className:"mt-3 block h-8 w-20 animate-pulse rounded bg-landing-border/60"}):(0,a.jsxs)("span",{className:"flex items-baseline gap-0.5 ".concat(l?"mt-4":"mt-3"),children:[(0,a.jsx)("span",{className:"font-semibold tracking-tight text-landing-fg ".concat(l?"text-4xl":"text-2xl"),children:l?null!==ee?I({unitAmou
1nt:ee,currency:et}):"â":n?I(n):"â"}),(l?null!==ee:null!==n)&&(0,a.jsx)("span",{className:"text-landing-muted ".concat(l?"text-sm":"text-xs"),children:A[e]})]}),l&&!c&&(null!==Q||null!==en)&&(0,a.jsxs)("span",{"data-testid":"yearly-extras",className:"mt-3 flex flex-col gap-1.5",children:[(0,a.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[null!==Q&&(0,a.jsx)("span",{className:"text-landing-muted text-sm line-through",children:"".concat(I(Q),"/mo")}),null!==en&&(0,a.jsxs)("span",{"data-testid":"savings-badge",className:"inline-flex items-center whitespace-nowrap rounded-full bg-landing-mint px-2.5 py-1 text-sm font-semibold text-landing-fg",children:["Save ",en,"%"]})]}),(0,a.jsx)("span",{className:"text-landing-muted text-xs",children:null!==Z?"".concat(I(Z)," billed annually"):"billed annually"})]}),"month"===e&&!c&&null!==ei&&ei>0&&(0,a.jsx)("span",{className:"mt-2 flex w-fit",children:(0,a.jsxs)("span",{"data-testid":"monthly-savings-badge",className:"inline-flex w-fit items-center whitespace-nowrap rounded-full bg-landing-mint px-2 py-0.5 text-[11px] font-semibold text-landing-fg",children:["Save ",ei,"% vs weekly"]})})]},e)})}),(0,a.jsxs)("div",{className:"mt-5 flex flex-col gap-5 @lg:flex-row @lg:items-center @lg:justify-between",children:[(0,a.jsxs)("div",{"data-testid":"estimated-stats",className:"text-center @lg:text-left",children:[(0,a.jsxs)("p",{className:"text-landing-muted text-sm",children:[(0,a.jsx)("span",{className:"font-semibold text-landing-fg tabular-nums",children:V.toLocaleString()})," ","AI Credits"]}),(0,a.jsxs)("p",{className:"text-landing-muted mt-1 text-sm",children:[(0,a.jsxs)("span",{className:"font-semibold text-landing-fg tabular-nums",children:["â ",$.toLocaleString()]})," ","AI agent task requests"]}),(0,a.jsxs)("p",{className:"text-landing-muted mt-1 text-sm",children:[(0,a.jsxs)("span",{className:"font-semibold text-landing-fg tabular-nums",children:[es.toLocaleString(),"+"]})," ","hrs saved / ",M[B]]}),(0,a.jsxs)("p",{className:"text-landing-muted mt-1 text-sm",children:[(0,a.jsxs)("span",{className:"font-semibold text-landing-fg tabular-nums",children:["$",eo.toLocaleString(),"+"]})," ","value / ",M[B]]}),(0,a.jsx)("p",{className:"text-landing-muted mt-2 text-xs",children:"â a full-time expert on your team"})]}),(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center @lg:items-end @lg:text-right",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(b.M,{count:4,size:32}),(0,a.jsx)("div",{"aria-hidden":"true",className:"flex items-center gap-0.5 text-landing-fg",children:[0,1,2,3,4].map(e=>(0,a.jsx)("svg",{viewBox:"0 0 20 20",className:"h-3.5 w-3.5",fill:"currentColor",children:(0,a.jsx)("path",{d:"M10 1.5 l2.6 5.3 l5.9 0.9 l-4.25 4.15 l1 5.85 L10 15 l-5.25 2.75 l1 -5.85 L1.5 7.7 l5.9 -0.9 Z"})},e))})]}),(0,a.jsx)("p",{className:"text-landing-muted max-w-[13rem] text-sm",children:null!=T?T:"Join 1,000+ teams already running agents"})]})]}),(0,a.jsx)(w.a,{enabled:"year"===B,className:"mt-6",children:(0,a.jsxs)(y.$,{type:"button",variant:m,size:"none",onClick:()=>d(B),disabled:g,className:"w-full rounded-lg px-4 py-3 disabled:cursor-not-allowed disabled:opacity-70",children:[g&&(0,a.jsx)(x.A,{className:"h-4 w-4 animate-spin"}),null!=u?u:"Try free for 3 days"]})}),(0,a.jsx)("p",{className:"text-landing-muted mt-2 text-center text-xs",children:null!=D?D:"3-day money-back \xb7 Cancel anytime \xb7 No hidden fees"}),p&&(0,a.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=F.trim();""!==t&&(null==f||f(t))},className:"mt-4 flex gap-2",children:[(0,a.jsx)("input",{type:"text","aria-label":"Promo code",placeholder:"Promo code",value:F,onChange:e=>H(e.target.value),className:"flex-1 rounded-md border border-landing-border bg-landing-bg px-3 py-2 text-sm text-landing-fg placeholder:text-landing-muted"}),(0,a.jsx)("button",{type:"submit",className:"rounded-md border border-landing-border px-3 py-2 text-sm font-medium text-landing-fg hover:bg-landing-accent/10",children:"Apply"})]})]})]})})}},80007:(e,t,n)=>{n.d(t,{Z:()=>o});var a=n(54568),r=n(7620);let l=[{name:"AWS",domain:"amazonaws.com"},{name:"Harvard University",domain:"harvard.edu"},{name:"Stanford",domain:"stanford.edu"},{name:"MIT",domain:"mit.edu"},{name:"Carnegie Mellon University",domain:"cmu.edu"},{name:"University of Nevada, Reno",domain:"unr.edu"},{name:"NUS",domain:"nus.edu.sg"},{name:"NTU",domain:"ntu.edu.sg"},{name:"The University of Hong Kong",domain:"hku.hk"},{name:"Sciences Po",domain:"sciencespo.fr"},{name:"VinUniversity",domain:"vinuni.edu.vn"},{name:"Fulbright University Vietnam",domain:"fulbright.edu.vn"},{name:"Google",domain:"google.com"},{name:"Microsoft",domain:"microsoft.com"},{name:"Meta",domain:"meta.com"},{name:"Intel",domain:"intel.com"},{name:"OpenAI",domain:"openai.com"},{name:"Anthropic",domain:"anthropic.com"},{name:"Qwen",domain:"qwen.ai"},{name:"OpenClaw",domain:"openclaw.ai"},{name:"KPMG",domain:"kpmg.com"},{name:"Grab",domain:"grab.com"},{name:"Shopee",domain:"shopee.com"},{name:"VNG",domain:"vng.com.vn"},{name:"FPT",domain:"fpt.com"},{name:"Vingroup",domain:"vingroup.net"},{name:"AS Watson",domain:"aswatson.com"},{name:"Sunwah",domain:"sunwahvietnam.com"},{name:"GenAI Fund",domain:"genaifund.ai"},{name:"Build Club",domain:"buildclub.ai",logoSrc:"/logos/buildclub.png"},{name:"Block71",domain:"block71.co"},{name:"AIESEC",domain:"aiesec.org"},{name:"HKSTP",domain:"hkstp.org"},{name:"Cyberport",domain:"cyberport.hk"},{name:"Saigon Innovation Hub",domain:"sihub.gov.vn"},{name:"UNDP",domain:"undp.org"},{name:"European Union",domain:"europa.eu"},{name:"ASEAN",domain:"asean.org"},{name:"US Department of State",domain:"state.gov"},{name:"YSEALI",domain:"ysealiafp.org"}];function i(e){let{org:t}=e,[n,l]=(0,r.useState)(!1);return(0,a.jsxs)("span",{className:"group relative flex h-7 shrink-0 items-center",children:[n?(0,a.jsx)("span",{className:"whitespace-nowrap text-xs font-medium text-landing-muted opacity-70",children:t.name}):(0,a.jsx)("img",{src:t.logoSrc?t.logoSrc:"https://img.logo.dev/".concat(t.domain,"?token=").concat("pk_eyBtSe-ZScS7QuP2kKGBbw","&size=128&format=png"),alt:t.name,loading:"eager",decoding:"async",className:"h-7 w-auto shrink-0 object-contain opacity-70 grayscale transition-opacity group-hover:opacity-100",onError:()=>l(!0)}),(0,a.jsx)("span",{role:"tooltip",className:"pointer-events-none absolute bottom-full left-1/2 z-10 mb-1 -translate-x-1/2 roun
1ded-md bg-landing-fg px-2 py-1 text-xs font-medium whitespace-nowrap text-landing-bg opacity-0 shadow-sm transition-opacity duration-150 group-hover:opacity-100",children:t.name})]})}function s(e){let{orgs:t,direction:n}=e,r=[...t,...t];return(0,a.jsx)("div",{className:"flex overflow-x-clip",children:(0,a.jsx)("div",{className:"flex min-w-full shrink-0 items-center gap-10 whitespace-nowrap [backface-visibility:hidden] [will-change:transform]",style:{animation:"".concat("left"===n?"trusted-marquee-left":"trusted-marquee-right"," 40s linear infinite")},children:r.map((e,t)=>(0,a.jsx)(i,{org:e},"".concat(e.domain,"-").concat(t)))})})}function o(){let e=Math.ceil(l.length/2),t=l.slice(0,e),n=l.slice(e);return(0,a.jsxs)("div",{"data-testid":"trusted-by-strip",className:"mt-7",children:[(0,a.jsx)("style",{children:"\n @keyframes trusted-marquee-left {\n from { transform: translate3d(0, 0, 0); }\n to { transform: translate3d(-50%, 0, 0); }\n }\n @keyframes trusted-marquee-right {\n from { transform: translate3d(-50%, 0, 0); }\n to { transform: translate3d(0, 0, 0); }\n }\n "}),(0,a.jsx)("p",{className:"text-center text-xs font-medium tracking-widest text-landing-muted uppercase",children:"Trusted by teams & professionals at"}),(0,a.jsxs)("div",{className:"mt-6 flex flex-col gap-5",children:[(0,a.jsx)(s,{orgs:t,direction:"left"}),(0,a.jsx)(s,{orgs:n,direction:"right"})]})]})}},89355:(e,t,n)=>{n.d(t,{cn:()=>l});var a=n(54616),r=n(13714);let l=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];
1return(0,r.QP)((0,a.cx)(t))}},95224:(e,t,n)=>{n.d(t,{a:()=>p});var a=n(54568),r=n(7620),l=n(97509),i=n(32536),s=n(69885),o=n(25703);function c(e){return(e/1e3).toFixed(1)}let d="interactive-mascot-styles",u={pickupScale:2,longPressMs:130,moveToPickupPx:5,gravity:.6,maxFallSpeed:14,landBounce:-7,landPauseMs:380,walkSpeed:2.8,wiggleDeg:11,wiggleSpeed:.3,struggleDeg:24,hopMsPerPx:1.1,hopMsMin:380,hopMsMax:900,tuckMs:240,arriveX:22,edgeMargin:3,footInset:12,knockUp:13,knockAway:11,airFriction:.94,wallBounce:.5};function m(e,t,n){return Math.min(n,Math.max(t,e))}function g(e,t){let n=window.innerWidth,a=window.innerHeight;if("floor"===e.kind)return{left:0,right:n,y:a-u.edgeMargin};if("anchor"===e.kind)return t?{left:t.left,right:t.right,y:t.top}:null;if(!e.el)return null;let r=e.el.getBoundingClientRect();return r.width<8||r.height<8||r.bottom<0||r.top>a||r.right<0||r.left>n?null:{left:r.left,right:r.right,y:r.top}}function p(e){let{src:t="/flowser-logo.png",size:n=44,className:p,enabled:f=!0,games:h=!0,walkableRoot:x,storageKey:y,showToasts:b=!0,onScore:v,children:w}=e,k=(0,r.useId)(),S="im-game-".concat(k),N=null!=y?y:"mascot-keepaway-best:".concat(k),E=(0,r.useRef)(null),A=(0,r.useRef)(null),j=(0,r.useRef)(null),[_,M]=(0,r.useState)("idle"),[I,C]=(0,r.useState)(!1),T=(0,r.useRef)(!1),[R,P]=(0,r.useState)(!1),D=(0,r.useRef)(0);(0,r.useEffect)(()=>{let e=Number(window.localStorage.getItem(N));Number.isFinite(e)&&e>0&&(D.current=e)},[N]),(0,r.useEffect)(()=>{var e,t,n;C(!0),function(){if("undefined"==typeof document||document.getElementById(d))return;let e=document.createElement("style");e.id=d,e.textContent="\n.im-peek{animation:im-peek 11s ease-in-out infinite}\n.im-peek-body{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}\n.im-peek:hover .im-peek-body{transform:translateY(-18%) scale(2)}\n.im-peek-wiggle{transition:transform .3s ease}\n.im-peek:hover{animation-play-state:paused}\n.im-peek:hover .im-peek-wiggle{animation:im-wiggle .9s ease-in-out infinite}\n@keyframes im-peek{\n0%{left:30%;top:50%;transform:translate(-50%,-50%) rotate(0) scale(.4);opacity:0}
1\n3%{left:30%;top:-10%;transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}\n6%{top:-18%}8%{transform:translate(-50%,-50%) rotate(9deg) scale(1)}\n10%{transform:translate(-50%,-50%) rotate(-9deg) scale(1)}\n12%{top:-10%;transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}\n16%{left:30%;top:50%;transform:translate(-50%,-50%) rotate(0) scale(.4);opacity:0}\n25%{left:100%;top:45%;transform:translate(-50%,-50%) rotate(90deg) scale(.4);opacity:0}\n28%{left:101%;top:45%;transform:translate(-50%,-50%) rotate(90deg) scale(1);opacity:1}\n31%{left:102.5%;top:40%}33%{transform:translate(-50%,-50%) rotate(99deg) scale(1)}\n35%{transform:translate(-50%,-50%) rotate(81deg) scale(1)}\n37%{left:101%;top:45%;transform:translate(-50%,-50%) rotate(90deg) scale(1);opacity:1}\n41%{transform:translate(-50%,-50%) rotate(90deg) scale(.4);opacity:0}\n50%{left:65%;top:50%;transform:translate(-50%,-50%) rotate(180deg) scale(.4);opacity:0}\n53%{left:65%;top:110%;transform:translate(-50%,-50%) rotate(180deg) scale(1);opacity:1}\n56%{top:118%}58%{transform:translate(-50%,-50%) rotate(189deg) scale(1)}\n60%{transform:translate(-50%,-50%) rotate(171deg) scale(1)}\n62%{top:110%;transform:translate(-50%,-50%) rotate(180deg) scale(1);opacity:1}\n66%{left:65%;top:50%;transform:translate(-50%,-50%) rotate(180deg) scale(.4);opacity:0}
1\n75%{left:0%;top:55%;transform:translate(-50%,-50%) rotate(-90deg) scale(.4);opacity:0}\n78%{left:-1%;top:55%;transform:translate(-50%,-50%) rotate(-90deg) scale(1);opacity:1}\n81%{left:-2.5%;top:50%}83%{transform:translate(-50%,-50%) rotate(-81deg) scale(1)}\n85%{transform:translate(-50%,-50%) rotate(-99deg) scale(1)}\n87%{left:-1%;top:55%;transform:translate(-50%,-50%) rotate(-90deg) scale(1);opacity:1}\n91%{transform:translate(-50%,-50%) rotate(-90deg) scale(.4);opacity:0}\n100%{left:30%;top:50%;transform:translate(-50%,-50%) rotate(0) scale(.4);opacity:0}}\n@keyframes im-wiggle{0%,50%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}\n@media (prefers-reduced-motion:reduce){.im-peek,.im-peek:hover .im-peek-wiggle{animation:none;opacity:0}}\n",document.head.appendChild(e)}(),T.current=null!=(n=null==(e=(t=window).matchMedia)?void 0:e.call(t,"(prefers-reduced-motion: reduce)").matches)&&n},[]),(0,r.useEffect)(()=>{if(!R||!b)return;let e=()=>{let e=B.current,t=e.startedAt?"â± ".concat(c(performance.now()-e.startedAt),"s \xb7 \uD83D\uDC4A ").concat(e.hits," \xb7 Poke the ghost to stop it going home!"):"\uD83D\uDC7B Drop the ghost to start â then poke it to keep it from going home!";(0,s.oR)(t,{id:S,duration:1/0})};e();let t=window.setInterval(e,100);return()=>{clearInterval(t),s.oR.dismiss(S)}},[R,b,S]);let L=n*u.pickupScale,U=L/2,B=(0,r.useRef)({phase:"idle",x:0,y:0,vx:0,vy:0,angle:0,opacity:1,t:0,dir:1,surface:null,playing:!1,startedAt:0,leftHome:!1,hits:0,fallStartFeet:0,clipTopY:null,from:{x:0,y:0},to:{x:0,y:0},tweenStart:0,tweenDur:0,arc:90,afterHop:"walking",pauseUntil:0}),Y=(0,r.useRef)(0),F=(0,r.useRef)(null),H=(0,r.useRef)(null),O=(0,r.useCallback)(()=>{var e,t;return null!=(t=null==(e=E.current)?void 0:e.getBoundingClientRect())?t:null},[]),X=(0,r.useCallback)(e=>{B.current.phase=e,M(e)},[]),G=(0,r.useCallback)(()=>{let e=j.current;if(!e)return;let t=B.current;if(e.style.transform="translate3d(".concat(t.x-U,"px, ").concat(t.y-U,"px, 0) rotate(").concat(t.angle,"deg)"),e.style.opacity=String(t.opacity),null!=t.clipTopY){let n=t.y-U,a=m(t.clipTopY-n,0,L);e.style.clipPath="inset(0px 0px ".concat(L-a,"px 0px)")}else e.style.clipPath="none"},[U,L]),K=(0,r.useCallback)(function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=B.current;t.fallStartFeet=e?-1e9:t.y+U,t.surface=null,X("falling")},[X]),z=(0,r.useCallback)(e=>{let t=B.current,n=e.left+e.width/2,a=e.top-U+u.footInset,r=Math.hypot(n-t.x,a-t.y);t.from={x:t.x,y:t.y},t.to={x:n,y:a},t.arc=m(.55*r,70,260),t.tweenStart=performance.now(),t.tweenDur=m(r*u.hopMsPerPx,u.hopMsMin,u.hopMsMax),t.afterHop="tucking",X("hopping")},[U,X]),W=(0,r.useCallback)(()=>{let e=B.current,t=e.startedAt?performance.now()-e.startedAt:0,n=e.hits;if(e.playing=!1,e.vx=0,P(!1),s.oR.dismiss(S),!e.leftHome||t<300)return;let a=D.current,r=t>a;if(r){D.current=t;try{window.localStorage.setItem(N,String(Math.round(t)))}catch(e){}}if(null==v||v({ms:t,hits:n,isRecord:r}),!b)return;let l=c(t),i="".concat(n," hit").concat(1===n?"":"s");(0,s.oR)(r?"\uD83C\uDFC6 New record! You kept the ghost away ".concat(l,"s \xb7 ").concat(i):"\uD83D\uDC7B The ghost snuck home â ".concat(l,"s \xb7 ").concat(i," \xb7 best ").concat(c(a),"s"))},[N,v,b,S]),q=(0,r.useCallback)(()=>{var e,t;let n=B.current;n.t+=1;let a=performance.now(),r=O();if(n.playing&&r&&(n.x>=r.left&&n.x<=r.right&&n.y+U>=r.top&&n.y-U<=r.bottom||(n.leftHome=!0)),"dragging"===n.phase)n.angle=Math.sin(.7*n.t)*u.struggleDeg;else if("falling"===n.phase){let t=n.y+U;if(n.vy=Math.min(u.maxFallSpeed,n.vy+u.gravity),n.y+=n.vy,0!==n.vx){n.x+=n.vx,n.vx*=u.airFriction;let e=window.innerWidth;n.x<U?(n.x=U,n.vx=Math.abs(n.vx)*u.wallBounce):n.x>e-U&&(n.x=e-U,n.vx=-Math.abs(n.vx)*u.wallBounce),.3>Math.abs(n.vx)&&(n.vx=0)}n.angle*=.85;let a=n.y+U,l=null,i=null;for(let s of function(e){let t=[{kind:"floor",el:null}];return e.querySelectorAll("[data-mascot-walkable]").forEach(e=>t.push({kind:"el",el:e})),t.push({kind:"anchor",el:null}),t}(null!=(e=null==x?void 0:x.current)?e:document)){let e=g(s,r);e&&!(e.y<=n.fallStartFeet+u.edgeMargin+4)&&!(n.x<e.left)&&!(n.x>e.right)&&(e.y<t-1||e.y>
1a||(!i||e.y<i.y)&&(i=e,l=s))}if(l&&i)n.y=i.y-U+u.footInset,n.surface=l,n.vy=u.landBounce,n.vx=0,X("landing");else if(n.y-U>window.innerHeight+400)if(r)z(r);else{X("idle"),Y.current=0;return}}else if("landing"===n.phase){let e=n.surface?g(n.surface,r):null,l=(null!=(t=null==e?void 0:e.y)?t:n.y+U)-U+u.footInset;n.vy+=1.5*u.gravity,n.y+=n.vy,n.y>=l&&n.vy>0&&(n.y=l,n.vy=0,n.angle=0,n.pauseUntil||(n.pauseUntil=a+u.landPauseMs),a>=n.pauseUntil&&(n.pauseUntil=0,n.playing&&!n.startedAt&&(n.startedAt=a),X("walking")))}else if("walking"===n.phase){let e=n.surface?g(n.surface,r):null;if(r&&n.surface&&e){n.y=e.y-U+u.footInset;let t=r.left+r.width/2;if("anchor"===n.surface.kind)Math.abs(t-n.x)<=u.arriveX?(n.from={x:n.x,y:n.y},n.to={x:n.x,y:r.top+U},n.clipTopY=r.top,n.tweenStart=a,n.tweenDur=u.tuckMs,X("tucking")):(n.dir=t>=n.x?1:-1,n.x=m(n.x+n.dir*u.walkSpeed,e.left+U,e.right-U),n.angle=Math.sin(n.t*u.wiggleSpeed)*u.wiggleDeg);else if("floor"===n.surface.kind)Math.abs(t-n.x)<=u.arriveX?z(r):(n.dir=t>=n.x?1:-1,n.x+=n.dir*u.walkSpeed,n.angle=Math.sin(n.t*u.wiggleSpeed)*u.wiggleDeg);else{let a=m(t,e.left+U,e.right-U);Math.abs(n.x-a)>u.walkSpeed?(n.dir=a>=n.x?1:-1,n.x+=n.dir*u.walkSpeed,n.angle=Math.sin(n.t*u.wiggleSpeed)*u.wiggleDeg):(n.x=a,n.angle=0,Math.abs(t-n.x)<=u.arriveX+U&&r.top<e.y?z(r):K(!1))}}else K()}else if("hopping"===n.phase){let e=m((a-n.tweenStart)/n.tweenDur,0,1);n.x=n.from.x+(n.to.x-n.from.x)*e,n.y=n.from.y+(n.to.y-n.from.y)*e-Math.sin(e*Math.PI)*n.arc,n.angle=(n.to.x>=n.from.x?1:-1)*Math.sin(e*Math.PI)*16,e>=1&&(n.x=n.to.x,n.y=n.to.y,n.angle=0,"tucking"===n.afterHop?(n.from={x:n.x,y:n.y},n.to={x:n.x,y:(r?r.top:n.y-U)+U},n.clipTopY=r?r.top:null,n.tweenStart=a,n.tweenDur=u.tuckMs,X("tucking")):X("walking"))}else if("tucking"===n.phase){let e=m((a-n.tweenStart)/n.tweenDur,0,1);if(n.y=n.from.y+(n.to.y-n.from.y)*e,n.angle=0,e>=1){n.clipTopY=null,n.playing&&W(),X("idle"),Y.current=0;return}}G(),Y.current=requestAnimationFrame(q)},[U,O,G,X,K,z,W,x]),V=(0,r.useCallback)(()=>{Y.current||(Y.current=requestAnimationFrame(q))},[q]),$=(0,r.useCallback)((e,t)=>{var n;F.current&&(clearTimeout(F.current),F.current=null);let a=null==(n=A.current)?void 0:n.getBoundingClientRect(),r=B.current;r.x=a?a.left+a.width/2:e,r.y=a?a.top+a.height/2:t,r.vy=0,r.vx=0,r.angle=0,r.opacity=1,r.clipTopY=null,r.surface=null,h&&(r.playing=!0,r.startedAt=0,r.leftHome=!1,r.hits=0,P(!0)),X("dragging"),G(),V()},[V,h,G,X]),Q=(0,r.useCallback)(()=>{let e=B.current,t=O();if(!e.playing||!e.startedAt||"dragging"===e.phase||!t)return;let n=t.left+t.width/2;e.vy=-u.knockUp,e.vx=(e.x>=n?1:-1)*u.knockAway,e.hits+=1,K(!0),V()},[O,K,V]),Z=(0,r.useCallback)(e=>{T.current||(H.current={x:e.clientX,y:e.clientY},F.current=window.setTimeout(()=>$(e.clientX,e.clientY),u.longPressMs))},[$]);(0,r.useEffect)(()=>{let e=e=>{let t=B.current;if("dragging"===t.phase){t.x=e.clientX,t.y=e.clientY,G();return}let n=H.current;n&&F.current&&Math.hypot(e.clientX-n.x,e.clientY-n.y)>u.moveToPickupPx&&$(e.clientX,e.clientY)},t=()=>{F.current&&(clearTimeout(F.current),F.current=null),H.current=null,"dragging"===B.current.phase&&(B.current.vy=0,K(),V())};return window.addEventListener("pointermove",e,{passive:!0}),window.addEventListener("pointerup",t),window.addEventListener("pointercancel",t),()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",t),window.removeEventListener("pointercancel",t)}},[K,$,V,G]),(0,r.useEffect)(()=>()=>cancelAnimationFrame(Y.current),[]);let J="idle"!==_,ee=(0,r.useMemo)(()=>I&&J?(0,l.createPortal)((0,a.jsx)("div",{ref:j,"aria-hidden":"true",onPointerDown:R?e=>{e.stopPropagation(),e.preventDefault(),Q()}:void 0,style:{height:L,width:L},className:(0,o.cn)("fixed left-0 top-0 z-[9999] select-none touch-none will-change-transform",R?"pointer-events-auto cursor-pointer":"pointer-events-none"),children:(0,a.jsx)(i.default,{src:t,alt:"",width:L,height:L,"aria-hidden":"true",className:"h-full w-full drop-shadow-md",draggable:!1})}),document.body):null,[J,I,L,t,R,Q]);return(0,a.jsxs)("div",{ref:E,className:(0,o.cn)("relative isolate",p),children:[f&&!T.current&&"idle"===_&&(0,a.jsx)("span",{ref:A,onPointerDown:Z,style:{height:n,width:n},className:"im-peek pointer-events-auto absolute left-1/2 top-1/2 -z-10 block cursor-grab touch-none select-none",children:(0,a.jsx)("span",{className:"im-peek-body block h-full w-full",children:(0,a.jsx)("span",{className:"im-peek-wiggle block h-full w-full",children:(0,a.jsx)(i.default,{src:t,alt:"",width:n,height:n,"aria-hidden":"true",className:"h-full w-full drop-shadow-md",draggable:!1})})})}),w,ee]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.