1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,294565,e=>{"use strict";var t=e.i(474076),n=e.i(271645),o=e.i(770703),r=e.i(194983),i=e.i(37727);let a=(0,o.default)(()=>e.A(941065).then(e=>e.ProChatConversation),{loadableGenerated:{modules:[780150]},ssr:!1});e.s(["ProChat",0,function({agent:e}){let[o,s]=(0,n.useState)(!1),[l,u]=(0,n.useState)(!1),c=(0,n.useCallback)(()=>u(!1),[]),d=(0,n.useCallback)(()=>{l||s(!0),u(e=>!e)},[l]);return(0,t.jsxs)("div",{className:"fixed right-4 bottom-4 z-40 sm:right-6 sm:bottom-6",children:[o&&(0,t.jsx)(a,{agent:e,onClose:c,open:l}),(0,t.jsx)("button",{type:"button",onClick:d,className:"ml-auto flex size-14 cursor-pointer items-center justify-center rounded-full bg-[#42addb] text-[#101010] smooth-shadow-ring-xl smooth-ring-mr2-ink/30 transition hover:scale-105 hover:bg-[#65c2e8]","aria-label":l?"Close Milk Road assistant":"Open Milk Road assistant","aria-expanded":l,children:l?(0,t.jsx)(i.X,{className:"size-5","aria-hidden":"true"}):(0,t.jsx)(r.MessageCircle,{className:"size-6","aria-hidden":"true"})})]})}])},111265,e=>{"use strict";var t=e.i(474076),n=e.i(271645);let o=(0,n.createContext)(null);e.s(["CampaignDiscountProvider",0,function({code:e,children:n}){return(0,t.jsx)(o.Provider,{value:e?.trim()||null,children:n})},"useCampaignDiscountCode",0,function(){return(0,n.useContext)(o)}])},908955,e=>{"use strict";var t=e.i(474076),n=e.i(271645);let o=(0,n.createContext)(!1);
1e.s(["PriceGoesUpCampaignProvider",0,function({enabled:e,children:n}){return(0,t.jsx)(o.Provider,{value:!0===e,children:n})},"usePriceGoesUpCampaignEnabled",0,function(){return(0,n.useContext)(o)}])},639833,e=>{"use strict";var t=e.i(474076),n=e.i(271645),o=e.i(618566),r=e.i(290390),i=e.i(557136),a=e.i(800833),s=e.i(423490);e.s(["PausedSubscriptionModal",0,function(){let e=(0,a.useRequestLocale)(),[l,u]=(0,n.useState)(!1),{pausedSubscription:c,loading:d}=(0,i.useSubscription)(),h=(0,o.useRouter)(),p=c?`pausedModalDismissed_${c.stripe_subscription_id}_${c.pause_resumes_at}`:null;function m(){p&&localStorage.setItem(p,"1"),u(!1)}if((0,n.useEffect)(()=>{let e=requestAnimationFrame(()=>{u(!d&&!!(p&&!localStorage.getItem(p)))});return()=>cancelAnimationFrame(e)},[d,p]),!l||!c)return null;let f=c.pause_resumes_at&&"9999-12-31T23:59:59.999Z"!==c.pause_resumes_at?new Date(c.pause_resumes_at).toLocaleDateString((0,s.englishRegionalLocale)(e),{month:"long",day:"numeric",year:"numeric"}):null;return(0,t.jsx)(r.Modal,{isOpen:!0,onClose:m,children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("div",{className:"text-3xl mb-3",children:"â¸ï¸"}),(0,t.jsx)("h2",{className:"text-xl font-bold text-[#101010] mb-2",children:"Your subscription is paused"}),(0,t.jsx)("p",{className:"text-sm text-gray-500 mb-1",children:"Your PRO access is currently on hold."}),f&&(0,t.jsxs)("p",{className:"text-sm text-gray-500 mb-4",children:["It will automatically resume on"," ",(0,t.jsx)("span",{className:"font-semibold text-[#101010]",children:f}),"."]}),!f&&(0,t.jsx)("div",{className:"mb-4"}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("button",{type:"button",onClick:function(){p&&localStorage.setItem(p,"1"),u(!1),h.push("/account/subscription/")},className:"w-full py-3 px-6 bg-[#42addb] rounded-[999px] text-[#101010] font-bold text-sm tracking-[-0.32px] leading-[19.2px] hover:bg-[#42addb]/90 cursor-pointer transition-colors shadow-[0px_0px_0px_4px_#42addb3d]",children:"Resume from Subscriptions"}),(0,t.jsx)("button",{type:"button",onClick:m,className:"w-full py-2 text-gray-400 text-sm underline underline-offset-2 hover:text-gray-600 cursor-pointer transition-colors",children:"Dismiss"})]})]})})}],639833)},585988,e=>{"use strict";var t=e.i(474076),n=e.i(271645),o=e.i(290390),r=e.i(182550);e.i(888974);var i=e.i(534694),a=e.i(822520);e.s(["SubscribedToFreeModal",0,function({isOpen:e,onClose:s,planId:l}){let[u,c]=(0,n.useState)([]),[d,h]=(0,n.useState)(""),[p,m]=(0,n.use
1State)(""),[f,g]=(0,n.useState)(!1),[y,b]=(0,n.useState)(null),v=void 0!==e?e:f,w=void 0!==l?l:y,x=()=>{s?s():g(!1)};return((0,n.useEffect)(()=>{if(void 0===e&&void 0===l){let e=localStorage.getItem("justSubscribedFree");e&&(b(e),g(!0),localStorage.removeItem("justSubscribedFree"))}},[e,l]),(0,n.useEffect)(()=>{if(w&&v){if("free"===w){h(""),m(a.FREE_SIGNUP_MODAL_CONTENT.title),c([...a.FREE_SIGNUP_MODAL_CONTENT.description]);return}let e=i.SUBSCRIPTION_PLANS[w];e&&(h(e.thankYou.logo),m(e.thankYou.title),c(e.thankYou.description))}},[w,v]),w)?(0,t.jsx)(o.Modal,{isOpen:v,onClose:x,children:(0,t.jsxs)("div",{className:"text-center flex flex-col items-center gap-6 max-h-[70vh] overflow-y-auto","data-testid":"subscribed-to-free-modal",children:[d&&(0,t.jsx)("img",{src:d,alt:"Thank you",className:"size-28 object-contain"}),(0,t.jsx)("div",{className:"uppercase text-[#42ADDB] text-xs font-bold tracking-wide",children:"Congrats"}),p&&(0,t.jsx)("h2",{className:"text-4xl font-bold","data-testid":"subscribed-to-free-modal-title",children:p}),u&&(0,t.jsx)("div",{className:"flex flex-col gap-6 text-xs",children:u.map((e,n)=>(0,t.jsx)("p",{className:"text-gray-800",children:e},n))}),(0,t.jsx)(r.Button,{onClick:x,className:"mt-4 w-full px-5 py-5 md:py-6 bg-[#42addb] rounded-[999px] text-[#101010] font-bold text-sm tracking-[-0.32px] leading-[19.2px] hover:bg-[#42addb]/90 disabled:bg-gray-300 disabled:text-gray-500 disabled:cursor-not-allowed cursor-pointer transition-colors shadow-[0px_0px_0px_4px_#42addb3d] disabled:shadow-none",children:"Get Started"})]})}):null}])},29911,597198,699957,e=>{"use strict";var t=e.i(474076),n=e.i(37727),o=e.i(647163);e.s(["ONBOARDING_PRIMARY_BUTTON",0,"inline-flex min-h-12 w-full cursor-pointer items-center justify-center rounded-full bg-[#078fe8] px-8 py-3 text-base font-semibold text-white transition-colors hover:bg-[#007bc9] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#078fe8] disabled:cursor-not-allowed disabled:bg-gray-200 disabled:text-gray-500 sm:w-auto sm:min-w-44 lg:text-lg","OnboardingCard",0,function({title:e,children:r,className:i,closeLabel:a,onClose:s,step:l,stepCount:u,stepPlacement:c="above-title",titleRef:d}){let h=void 0!==l&&void 0!==u;return(0,t.jsxs)("section",{"data-testid":"onboarding-card",className:(0,o.cn)("relative w-full max-w-[680px] rounded-[18px] bg-white px-6 py-7 text-left text-[#091523] outline-[3px] outline-[#078fe8] sm:px-8 sm:py-8",i),children:[(0,t.jsxs)("header",{className:(0,o.cn)("pr-0",s&&"pr-12",h&&"top-right"===c&&"pr-14"),children:[h?(0,t.jsxs)("p",{"data-onboarding-step-label":!0,className:(0,o.cn)("text-[11px] font-medium text-[#626a73] lg:text-xs","top-right"===c?"absolute right-6 top-7 sm:right-8 sm:top-8":"mb-1"),children:["above-title"===c?"STEP ":"",l,"/",u]}):null,(0,t.jsx)("h1",{ref:d,"data-testid":d?"onboarding-card-animated-title":void 0,className:(0,o.cn)("text-[22px] font-semibold leading-tight text-[#091523] sm:text-2xl lg:text-[26px]",h?"tracking-[0.01em]":"tracking-[-0.035em]"),children:e})]}),s?(0,t.jsx)("button",{type:"button","aria-label":a??"Close",className:"absolute right-5 top-5 inline-flex size-11 cursor-pointer items-center justify-center rounded-full text-[#091523] transition-colors hover:bg-[#091523]/5 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#078fe8] sm:right-6 sm:top-6",onClick:s,children:(0,t.jsx)(n.X,{"aria-hidden":"true",className:"size-8",strokeWidth:1.8})}):null,r]})},"OnboardingCardOverlay",0,function({ariaLabel:e="Milk Road PRO onboarding",children:n}){return(0,t.jsx)("dialog",{"data-mr-onboarding-modal":!0,open:!0,"aria-modal":"true","aria-label":e,className:"fixed inset-0 z-[1000] m-0 flex h-full max-h-none w-full max-w-none items-start justify-center overflow-y-auto border-0 bg-[#18344a]/60 p-4 pt-[max(1rem,7vh)] sm:items-center sm:p-8",children:n})}],29911),e.s(["ONBOARDING_COMPLETE_EVENT",0,"mr:onboarding-complete","PASSWORD_SETUP_COMPLETE_EVENT",0,"mr:password-setup-complete"],597198);let r="milkroad:onboarding-flow:progress",i="mr:onboarding-flow-change",a=new Map;function s(e){if(a.has(e))return a.get(e)??null;try{let t=window.localStorage.getItem(r);if(!t)return a.get(e)??null;let n=JSON.parse(t);if(n?.v!==1||n.userId!==e)return null;let o=n.card;return 2===o||3===o||4===o||5===o?o:null}catch{return a.get(e)??null}}e.s(["clearOnboardingFlowCard",0,function(e){let t=null!==s(e);a.set(e,null);try{t&&window.localStorage.removeItem(r),a.delete(e)}catch{}window.dispatchEvent(new Event(i))},"readOnboardingFlowCard",0,s,"subscribeOnboardingFlow",0,function(e){return window.addEventListener(i,e),window.addEventListener("storage",e),()=>{window.removeEventListener(i,e),window.removeEventListener("storage",e)}},"writeOnboardingFlowCard",0,function(e,t){a.set(e,t);try{window.localStorage.setItem(r,JSON.stringify({v:1,userId:e,card:t})),a.delete(e)}catch{}window.dispatchEvent(new Event(i))}],699957)},610961,e=>{"use strict";var t=e.i(474076),n=e.i(271645),o=e.i(618566),r=e.i(29911),i=e.i(695039),a=e.i(671550),s=e.i(597198),l=e.i(605164);let u={2:{title:"What you get with PRO",path:"/",actionLabel:"Next",secondaryLabel:"Skip",content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{children:["Milk Road PRO takes the guesswork out of investing."," ",(0,t.jsx)("strong",{children:"Our Analysts share high quality investment research with real-time portfolio updates"}),", so you can stay on top of your portfolio in less than 10 minutes/day."]}),(0,t.jsx)("p",{children:"Each Analyst has a portfolio that you can view, complete with the history of every trade they've made and the rationale behind it. You even get ongoing research and updates along the way so you know exactly what's happening with each and every asset."}),(0,t.jsx)("p",{children:"Like I said: guesswork = gone"})]})}
1,3:{title:"Donât miss a move",path:"/account/notifications",actionLabel:"Set Notifications Now",secondaryLabel:"Set Notifications Later",content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{children:"The easiest way to stay on top of all the trades and asset updates is with the âDaily Recapâ email that we send out every weekday at market close."}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"The Daily Recap summarizes every buy, sell, watchlist add and asset update our Analysts make."})," ","So you get all the alpha, with minimal effort."]}),(0,t.jsxs)("p",{children:["Or, if you're the kind of investor that doesn't like to wait for their alpha,"," ",(0,t.jsx)("strong",{children:"you can turn on âLive Alertsâ for any Analyst."})," Get every trade, watchlist and update as soon as it happens. Be aware though, it's a lot of emails, because there's a lot of alpha!"]})]})},4:{title:"Direct access to the people behind the trades",path:"/",actionLabel:"Join The Private Discord",secondaryLabel:"Maybe Later",content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{children:"Ask questions, challenge ideas, and learn alongside our analysts in a private community that's active every day, with 1,000s of other smart investors."}),(0,t.jsx)("p",{children:"(Private community access is included in your PRO Membership)"})]})},5:{title:"Track your portfolio in PRO",path:"/portfolio/",actionLabel:"Show Me The Features",secondaryLabel:"Not Now",content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:"You can now track your crypto and stocks all in one place."})}),(0,t.jsxs)("ul",{className:"list-disc space-y-0.5 pl-6",children:[(0,t.jsx)("li",{children:"35+ brokerages (Robinhood, Interactive Brokers and ETrade included)"}),(0,t.jsx)("li",{children:"Exchanges like Coinbase, Binance and Kraken"}),(0,t.jsx)("li",{children:"Any crypto wallet you use (Ledger, MetaMask, Rabby, etc)."})]}),(0,t.jsx)("p",{children:"Don't want to connect your accounts?"}),(0,t.jsx)("p",{children:"Donât worry, you can add your holdings manually and everything still just works."}),(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:"Once youâre set up, youâll unlock a huge range of awesome features."})})]})}};var c=e.i(410657),d=e.i(699957),h=e.i(54749),p=e.i(647163);let m=(0,n.lazy)(()=>e.A(47520).then(e=>({default:e.PortfolioTourController})));function f(){let e=(0,o.usePathname)().replace(/\/$/,"")||"/",f=(0,o.useRouter)(),g=(0,l.usePostHog)(),{user:y,subscriptions:b}=(0,i.useAuth)(),v=(0,c.useOnboardingFlowCard)(y?.id),w=y&&(0,a.hasActiveProSubscription)(b)?v:null,[x,k]=(0,n.useState)(!1),[C,A]=(0,n.use
1State)(!1),j=(0,n.useRef)(null),R=(0,n.useRef)(!1),E=(0,n.useCallback)(t=>{y&&(k(!1),(0,d.writeOnboardingFlowCard)(y.id,t),e!==u[t].path&&f.push(u[t].path))},[e,f,y]),T=(0,n.useCallback)((e=!1)=>{y&&(A(e),(0,d.clearOnboardingFlowCard)(y.id),g?.capture("onboarding_flow_completed"),window.dispatchEvent(new CustomEvent(s.ONBOARDING_COMPLETE_EVENT)))},[g,y]);(0,n.useEffect)(()=>{w&&(R.current||(R.current=!0,g?.capture("onboarding_flow_started",{resumed:2!==w})))},[w,g]),(0,n.useEffect)(()=>{if(!w||x)return;let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[w,x]),(0,n.useEffect)(()=>{w&&!x&&j.current!==w&&(j.current=w,g?.capture("onboarding_flow_card_viewed",{card:w}))},[w,g,x]);let S=(0,n.useCallback)(()=>E(4),[E]),O=(0,n.useCallback)(()=>{switch(w){case 2:E(3);break;case 3:e!==u[3].path&&f.push(u[3].path),k(!0);break;case 4:window.open(h.PRO_DISCORD_INVITE_URL,"_blank","noopener,noreferrer"),E(5);break;case 5:T(!0)}},[w,T,e,f,E]),P=(0,n.useCallback)(()=>{3===w?E(4):4===w?E(5):T()},[w,T,E]);if(!w)return C?(0,t.jsx)(n.Suspense,{fallback:null,children:(0,t.jsx)(m,{startAtFeatures:!0})}):null;let N=u[w];return x?(0,t.jsx)("button",{type:"button",onClick:S,className:"fixed bottom-6 left-1/2 z-[1000] min-h-12 -translate-x-1/2 cursor-pointer whitespace-nowrap rounded-full bg-[#078fe8] px-6 py-3 text-sm font-bold text-white hover:bg-[#007bc9] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#078fe8]",children:"My notifications are set"}):(0,t.jsx)(r.OnboardingCardOverlay,{children:(0,t.jsxs)(r.OnboardingCard,{title:N.title,step:w,stepCount:5,stepPlacement:"top-right",className:"my-auto shrink-0",children:[(0,t.jsx)("div",{className:"mt-5 space-y-4 text-[15px] leading-6 text-[#1a2533] lg:text-base lg:leading-7",children:N.content}),(0,t.jsxs)("div",{className:"mt-7 flex flex-col items-center gap-5 sm:flex-row",children:[(0,t.jsx)("button",{type:"button",className:r.ONBOARDING_PRIMARY_BUTTON,onClick:O,children:N.actionLabel}),(0,t.jsx)("button",{type:"button",className:(0,p.cn)("cursor-pointer text-sm font-medium text-gray-500 transition-colors hover:text-black focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#078fe8]",5===w&&"sm:ml-auto"),onClick:P,children:N.secondaryLabel})]})]})})}e.s(["OnboardingGateController",0,function(){let e=(0,o.usePathname)(),l=(0,o.useRouter)(),{user:u,profile:c,subscriptions:d}=(0,i.useAuth)(),[h,p]=(0,n.useState)(!1),m=!!u&&(0,a.hasActiveProSubscription)(d)&&c?.onboarding_completed_at===null&&!h&&"/"!==e;return((0,n.useEffect)(()=>{let e=()=>p(!0);return window.addEventListener(s.PASSWORD_SETUP_COMPLETE_EVENT,e),()=>window.removeEventListener(s.PASSWORD_SETUP_COMPLETE_EVENT,e)},[]),(0,n.useEffect)(()=>{m&&l.replace("/")},[l,m]),m)?(0,t.jsx)(r.OnboardingCardOverlay,{children:(0,t.jsxs)(r.OnboardingCard,{title:"Returning to account setupâ¦",children:[(0,t.jsx)("div",{className:"mt-5 text-base leading-7 text-[#1a2533]",children:(0,t.jsx)("p",{children:"Set your password before exploring Milk Road PRO."})}),(0,t.jsx)("div",{className:"mt-7",children:(0,t.jsxs)("output",{className:"flex items-center gap-3 py-2 text-sm font-medium text-[#52616f]",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:"size-4 animate-spin rounded-full border-2 border-[#078fe8]/25 border-t-[#078fe8]"}),"Loadingâ¦"]})})]})}):(0,t.jsx)(f,{},u?.id)}],610961)},410657,e=>{"use strict";var t=e.i(271645),n=e.i(699957);let o=()=>void 0;e.s(["useOnboardingFlowCard",0,function(e){let r=(0,t.useCallback)(()=>e?(0,n.readOnboardingFlowCard)(e):null,[e]);return(0,t.useSyncExternalStore)(n.subscribeOnboardingFlow,r,o)}])},290390,e=>{"use strict";var t=e.i(474076),n=e.i(271645),o=e.i(37727),r=e.i(647163);e.s(["Modal",0,function({isOpen:e,onClose:i,children:a,className:s,contentClassName:l,disableBackdropClose:u,backdropClassName:c,closeButtonClassName:d,closeLabel:h="Close modal",dialogLabel:p}){return((0,n.useEffect)(()=>{let t=e=>{"Escape"===e.key&&i()};return e&&(document.addEventListener("keydown",t),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",t),document.body.style.overflow="unset"}},[e,i]),e)?(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[u?(0,t.jsx)("div",{"aria-hidden":"true",className:(0,r.cn)("absolute inset-0 bg-black/50",c)}):(0,t.jsx)("button",{type:"button","aria-label":h,className:(0,r.cn)("absolute inset-0 cursor-default bg-black/50",c),onClick:i}),(0,t.jsx)("dialog",{open:!0,"aria-modal":"true","aria-label":p,className:(0,r.cn)("relative z-10 m-0 mx-4 w-full max-w-md border-0 bg-transparent p-0",s),children:(0,t.jsxs)("div",{className:(0,r.cn)("bg-white rounded-[20px] shadow-[4px_4px_0px_#42addb] border-[1.5px] border-[#42addb] p-6 lg:p-12",l),children:[(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":h,className:(0,r.cn)("absolute right-4 top-4 cursor-pointer text-gray-400 hover:text-gray-600",d),children:(0,t.jsx)(o.X,{className:"h-5 w-5"})}),a]})})]}):null}])},770027,e=>{"use strict";var t=e.i(474076),n=e.i(647163);let o={default:"max-w-7xl",wide:"max-w-screen-xl",full:"max-w-full"};e.s(["default",0,function({children:e,className:r,width:i="default",as:a="div",padding:s=!0}){return"default"===i&&s?(0,t.jsx)(a,{className:(0,n.cn)("container-main",r),children:e}):(0,t.jsx)(a,{className:(0,n.cn)("mx-auto w-full",o[i],s&&"px-4 sm:px-6 lg:px-8",r),children:e})}],770027)},417901,e=>{"use strict";var t=e.i(474076),n=e.i(618566),o=e.i(255202),r=e.i(989955),i=e.i(247984);e.s(["default",0,function({globalModules:e}){let a=(0,n.usePathname)(),s=e?.filter(({path:e,excludePaths:t})=>{let n=(0,i.stegaClean)(e),o=a.replace(/^\//,"");return"*"===n||o.startsWith(n)&&!t?.some(e=>o.startsWith(e))}).sort((e,t)=>
1e.path.localeCompare(t.path));return(0,t.jsxs)("details",{className:"frosted-glass fixed right-4 bottom-0 rounded-t bg-amber-200/90 text-xs shadow-xl not-hover:opacity-50 open:opacity-100",children:[(0,t.jsx)("summary",{className:"p-2",children:"Draft Mode"}),(0,t.jsxs)("menu",{className:"anim-fade-to-r p-2 pt-0",children:[s?.map(({_id:e,path:n})=>{let i=(0,r.createDataAttribute)({id:e,type:"global-module",path:"path"});return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{className:"inline-flex items-center gap-1 py-0.5","data-sanity":i().toString(),children:[(0,t.jsx)(o.VscSymbolField,{className:"shrink-0"}),"Global modules (",(0,t.jsx)("code",{children:n}),")"]})},e)}),(0,t.jsx)("hr",{className:"my-1"}),(0,t.jsx)("li",{children:(0,t.jsxs)("a",{className:"inline-flex items-center gap-1 py-0.5 hover:underline",href:"/api/draft-mode/disable",children:[(0,t.jsx)(o.VscBeakerStop,{className:"shrink-0"}),"Disable Draft Mode"]})})]})]})}])},124804,e=>{"use strict";var t=e.i(423490);let n="America/New_York";function o(e,o){return new Intl.DateTimeFormat((0,t.englishRegionalLocale)(e),{timeZone:n,month:o,day:"numeric",year:"numeric"})}function r(e){return new Intl.DateTimeFormat((0,t.englishRegionalLocale)(e),{timeZone:n,hour:"2-digit",minute:"2-digit",hourCycle:"h23"})}e.s(["compactTimeAgo",0,function(e,n=t.DEFAULT_REQUEST_LOCALE){let o=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(o<1)return"now";if(o<60)return`${o}m`;let r=Math.floor(o/60);if(r<24)return`${r}h`;let i=Math.floor(r/24);return i<7?`${i}d`:new Date(e).toLocaleDateString((0,t.englishRegionalLocale)(n),{month:"short",day:"numeric"})},"formatFeedItemTimestamp",0,function(e,n=new Date,i=t.DEFAULT_REQUEST_LOCALE){let a=new Date(e),s=Math.floor((n.getTime()-a.getTime())/6e4);if(s<1)return"now";if(s<60)return`${s}m ago`;let l=Math.floor(s/60);return l<24?`${l}h ago`:`${o(i,"long").format(a)} \xb7 ${r(i).format(a)}ET`},"formatFeedItemUtcTimestamp",0,function(e,n=t.DEFAULT_REQUEST_LOCALE){let o=new Date(e),r=(0,t.englishRegionalLocale)(n),i=new Intl.DateTimeFormat(r,{day:"numeric",month:"short",timeZone:"UTC",year:"numeric"}).format(o),a=new Intl.DateTimeFormat(r,{hour:"2-digit",hourCycle:"h23",minute:"2-digit",second:"2-digit",timeZone:"UTC"}
1).format(o);return`${i}, ${a} UTC`},"formatWatchlistBoxTimestamp",0,function(e,n=t.DEFAULT_REQUEST_LOCALE){let i=new Date(e);return`${o(n,"short").format(i)} (${r(n).format(i)} ET)`}])},559535,e=>{"use strict";let t=["all","mentions","likes"];e.s(["isNotificationFilter",0,function(e){return t.some(t=>t===e)},"notificationTypeForFilter",0,function(e){return"mentions"===e?"mention":"likes"===e?"comment_like":null},"notificationsApiUrl",0,function({cursor:e,filter:t,limit:n}){let o=new URLSearchParams({limit:String(n)});return"all"!==t&&o.set("filter",t),null!=e&&o.set("cursor",String(e)),`/api/notifications?${o.toString()}`}])},413873,e=>{"use strict";let t=new Set(["trade","watchlist","post"]),n="America/New_York",o=new Intl.DateTimeFormat("en-US",{timeZone:n,day:"2-digit",month:"2-digit",year:"numeric"}),r=new Intl.DateTimeFormat("en-US",{timeZone:n,day:"numeric",month:"long",year:"numeric"}),i=new Intl.DateTimeFormat("en-US",{timeZone:n,hour:"numeric",hour12:!0,minute:"2-digit"}),a=new Map(Object.entries({trade:"commented on your trade",watchlist:"commented on your watchlist",news:"commented on your post",idea:"commented on your idea",podcast:"commented on your podcast",review:"commented on your review",sponsored:"commented on your post",afterhours:"commented on your Afterhours","pro-ama":"commented on your AMA","pro-report":"commented on your report"}));function s(e,t){return o.format(e)===o.format(t)}function l(e,t){return e.find(e=>e.type===t)?.value??""}e.s(["formatNotificationTimestamp",0,function(e,t=new Date){let n=new Date(e);if(!Number.isFinite(n.getTime()))return"";if(!s(n,t)){var o;let e,t=r.formatToParts(n),a=i.formatToParts(n),s=Number(l(t,"day")),u=`${l(t,"month")} ${(e=(o=s)%100)>=11&&e<=13?`${o}th`:o%10==1?`${o}st`:o%10==2?`${o}nd`:o%10==3?`${o}rd`:`${o}th`}, ${l(t,"year")}`,c=`${l(a,"hour")}:${l(a,"minute")} ${l(a,"dayPeriod")}`;return`${u} - ${c}`}let a=Math.floor(Math.max(0,t.getTime()-n.getTime())/6e4);return a<1?"now":a<60?`${a}m ago`:`${Math.floor(a/60)}h ago`},"groupByTime",0,function(e,t=Date.now()){let n=[],o=[],r=[],i=new Date(t);for(let a of e){let e=new Date(a.createdAt),l=t-e.getTime();s(e,i)?n.push(a):l<6048e5?o.push(a):r.push(a)}let a=[];return n.length>0&&a.push({label:"Today",items:n}),o.length>0&&a.push({label:"This Week",items:o}),r.length>0&&a.push({label:"Earlier",items:r}),a},"notificationHref",0,function(e){if(e.itemHref&&e.itemType&&!t.has(e.itemType)){var n;let t,o;return o=(t=(n=e.itemHref).indexOf("#"))>=0?n.slice(0,t):n,`${o}#comments`}return`/post/${encodeURIComponent(e.itemId)}/`},"verbPhrase",0,function(e){if("reply"===e.type)return"replied to your comment";
1if("comment_like"===e.type)return"liked your comment";if("mention"===e.type)return"mentioned you in a comment";let t=e.itemType??e.itemPreview?.type;return t&&a.get(t)||"commented on your post"}])},283610,e=>{"use strict";let t=null,n=!1;function o(){if(t)return t;let e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{t=new e}catch{return null}return t}function r(e,t,n,o,r,i){let a=e.createOscillator(),s=e.createGain();a.type="sine",a.frequency.setValueAtTime(t,n),s.gain.setValueAtTime(0,n),s.gain.linearRampToValueAtTime(r,n+.04),s.gain.exponentialRampToValueAtTime(1e-4,n+i),a.connect(s).connect(o),a.start(n),a.stop(n+i+.05)}function i(e){let t=e.currentTime,n=e.createGain();n.gain.setValueAtTime(.6,t),n.connect(e.destination),r(e,880,t,n,.45,.55),r(e,698.46,t+.13,n,.45,.7)}function a(){let e,t=(e=o())?("suspended"===e.state&&e.resume().catch(()=>{}),e):null;if(t){if("suspended"===t.state)return void t.resume().then(()=>{i(t)}).catch(e=>console.warn("[notification-sound] play resume failed",e));i(t)}}window.__playNotificationSound=a,e.s(["installNotificationAudioUnlock",0,function(){if(n)return;n=!0;let e=()=>{let t=o();t&&"suspended"===t.state&&t.resume().then(()=>console.log("[notification-sound] context resumed")).catch(e=>console.warn("[notification-sound] resume failed",e)),window.removeEventListener("pointerdown",e),window.removeEventListener("keydown",e),window.removeEventListener("touchstart",e)};window.addEventListener("pointerdown",e,{once:!0}),window.addEventListener("keydown",e,{once:!0}),window.addEventListener("touchstart",e,{once:!0})},"playNotificationSound",0,a])},540286,e=>{"use strict";var t=e.i(271645),n=e.i(385928),o=e.i(695039),r=e.i(569296),i=e.i(671550),a=e.i(283610),s=e.i(559535);let l="milkroad:notification-received";function u(e,t,n){let o=(0,s.notificationTypeForFilter)(n);return o&&t.type!==o?e:[t,...e.filter(e=>e.id!==t.id)]}let c="milkroad:notifications-marked-read";function d(e,t=!1){return{filter:e,notifications:[],unreadCount:0,nextCursor:null,initialLoading:t,loadingMore:!1,error:null}}function h(e,t){return{filter:e,notifications:t.notifications,unreadCount:t.unreadCount,nextCursor:t.nextCursor,initialLoading:!1,loadingMore:!1,error:null}}e.s(["useNotificationFeed",0,function({filter:e="all",initialPayload:p,realtime:m=!0,summaryOnly:f=!1}={}){let{initialLoading:g,subscriptions:y,user:b}=(0,o.useLiveAuth)(),v=b?.id??null,w=null!==v&&"pro"===(0,i.resolveMemberAccess)(y,{forcePro:(0,n.isDevOverrideEnabled)()}),[x,k]=(0,t.useState)(()=>p?h(e,p):d(e)),C=(0,t.useRef)(null),A=(0,t.useRef)(e),j=(0,t.useRef)(null),R=(0,t.useRef)([]),E=(0,t.useCallback)((e,t)=>{var n,o;return{...h(e,t),notifications:(n=t.notifications,o=R.current,o.reduceRight((t,n)=>u(t,n,e),n))}},[]);(0,t.useEffect)(()=>{w&&m&&(0,a.installNotificationAudioUnlock)()},[w,m]),(0,t.useEffect)(()=>{let e=e=>{let{ids:t}=e.detail,n=new Date().toISOString();k(e=>{if(null===t)return{...e,notifications:e.notifications.map(e=>({...e,readAt:e.readAt??n})),unreadCount:0};let o=new Set(t),r=e.notifications.filter(e=>o.has(e.id)),i=r.length>0?r.filter(e=>null===e.readAt).length:o.size;return{...e,notifications:e.notifications.map(e=>o.has(e.id)?{...e,readAt:e.readAt??n}:e),unreadCount:Math.max(0,e.unreadCount-i)}})};return window.addEventListener(c,e),()=>window.removeEventListener(c,e)},[]),(0,t.useEffect)(()=>{A.current=e},[e]),(0,t.useEffect)(()=>{if(m)return;let t=t=>{let{notification:n,unreadCount:o}=t.detail;R.current=u(R.current,n,"all"),k(t=>t.filter!==e?t:{...t,notifications:u(t.notifications,n,e),unreadCount:o})};return window.addEventListener(l,t),()=>window.removeEventListener(l,t)},[e,m]),(0,t.useEffect)(()=>{var t;let n,o,i;if(g)return()=>void 0;if(!w||!v)return k(d(e)),()=>void 0;let u=!1,c=new AbortController;if(void 0!==p&&"all"===e?k(t=>t.filter===e?t:E(e,p)):(k(d(e,!0)),fetch(f?"/api/notifications/unread-count":(0,s.notificationsApiUrl)({filter:e,limit:20}),{signal:c.signal}).then(async e=>{if(401===e.status)throw Error("unauthorized");if(!e.ok)throw Error(`status ${e.status}`);return await e.json()}).then(t=>{!u&&(f&&"count"in t?k({...d(e),unreadCount:t.count}):"notifications"in t&&k(E(e,t)))}).catch(e=>{u||e instanceof DOMException&&"AbortError"===e.name||(console.error("[notifications] initial fetch failed",e),k(e=>({...e,initialLoading:!1,error:"fetch_failed"})))})),!m)return()=>{u=!0,c.abort()};let y=C.current??(0,r.createClient)();C.current=y;let b=(t=async t=>{try{(0,a.playNotificationSound)()}catch{}try{let n=await fetch((0,s.notificationsApiUrl)({filter:e,limit:f?1:20}),{signal:c.signal});if(!n.ok)return;let o=await n.json();if(u)return;k(t=>f?{...t,error:null,initialLoading:!1,unreadCount:o.unreadCount}:h(e,o));let r=o.notifications.find(e=>e.id===t);r&&window.dispatchEvent(new CustomEvent(l,{detail:{notification:r,unreadCount:o.unreadCount}}))}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)return;console.error("[notifications] realtime refresh failed",e)}},n=!1,o=null,i=null,(async()=>{let{data:e}=await y.auth.getSession();if(n)return;e.session?.access_token&&y.realtime.setAuth(e.session.access_token),i=y.auth.onAuthStateChange((e,t)=>{t?.access_token&&y.realtime.setAuth(t.access_token)});let r=`notifications:${v}:${Math.random().toString(36).slice(2)}`;o=y.channel(r).on("postgres_changes",{event:"INSERT",schema:"public",table:"feed_notifications",filter:`recipient_user_id=eq.${v}`},e=>{t(Number(e.new.id))}).subscribe((e,t)=>{})})(),()=>{n=!0,i?.data.subscription.unsubscribe(),o&&y.removeChannel(o)});return()=>{u=!0,c.abort(),b()}},[g,w,e,p,m,E,f,v]);let T=(0,t.useCallback)(async e=>{if(w&&v&&(e?0!==e.length:0!==x.unreadCount)){window.dispatchEvent(new CustomEvent(c,{detail:{ids:e??null}}));try{await fetch("/api/notifications/mark-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?{ids:e}:{}),keepalive:!0}),e||k(e=>({...e,unreadCount:0}))}catch(e){console.error("[notifications] mark-read failed",e)}}},[w,x.unreadCount,v]),S=(0,t.useCallback)(async()=>
1{if(!w||!v||null===x.nextCursor||x.loadingMore)return;let t=`${e}:${x.nextCursor}`;if(j.current!==t){j.current=t,k(e=>({...e,loadingMore:!0}));try{let t=await fetch((0,s.notificationsApiUrl)({cursor:x.nextCursor,filter:e,limit:20}));if(!t.ok)throw Error(`status ${t.status}`);let n=await t.json();if(A.current!==e)return;k(t=>({...t.filter===e?t:d(e),notifications:t.filter===e?[...t.notifications,...n.notifications]:n.notifications,nextCursor:n.nextCursor,loadingMore:!1}))}catch(t){console.error("[notifications] load more failed",t),A.current===e&&k(e=>({...e,loadingMore:!1}))}finally{j.current===t&&(j.current=null)}}},[w,e,x.nextCursor,x.loadingMore,v]),O=x.filter===e?x:d(e,!0);return{notifications:O.notifications,unreadCount:O.unreadCount,initialLoading:O.initialLoading,loadingMore:O.loadingMore,error:O.error,hasMore:null!==O.nextCursor,markRead:T,loadMore:S}}],540286)},54749,e=>{"use strict";var t=e.i(167225);let n={M0xt:{profileUsername:"m0xt",location:"Czech Republic",xUrl:"https://x.com/m0xt_",order:1,searchAliases:["Martin"],portfolioType:"DIVERSIFIED PORTFOLIO",aboutMe:`Martin hunts one thing. He calls it the gap. 2 3The gap is when the market is confidently wrong about something specific, and the price hasn't caught up yet. That's the whole job. 4 5His favorite quote comes from hedge fund legend Steve Mandel: *âI don't need an analyst to tell me when a 10 PE stock is cheap. I need an analyst to tell me when a 40 PE stock is cheap.â* 6 7Translation: anyone can spot the bargain bin. The money is in the stuff that looks expensive but isn't. 8 9### Where he plays 10 11Any sector, any country (developed or emerging), no preference. 12 13Recent hunting grounds include consumer fintech, payments plumbing, Korean holding companies, memory chips, crypto balance sheets morphing into AI infrastructure, and industrial giants breaking themselves into pieces. 14 15### Background 16 17Martin (m0xt) is a Milk Road PRO analyst covering crypto, public equities, and thematic research. He publishes research and investment reports, and builds his portfolio in public for PRO members. 18 19Before joining Milk Road two years ago, he worked as a futures trader and then as an onchain analyst, with expertise in governance and market structure. He holds an MBA in Economics.`,aboutPortfolio:`### How he invests 20 21Rule number one: write down exactly what the crowd is getting wrong before anything else happens. 22 23Wrong about the business? Wrong about an asset sitting on the balance sheet doing nothing? Wrong about how fast earnings bounce back? Wrong about the price, because somebody is being forced to sell? Wrong about something coming down the road that nobody has clocked? 24 25Pick one. Name it. If he can't, the gap is just vibes, and vibes are not a thesis. 26 27Every idea then runs the same seven steps and ends on a position size, never a price target. As he puts it: *âI don't need to be early. I need to be right.â* 28 29### What he's looking for (and what he avoids) 30 31Seven setups, over and over: 32 33- Costs got cut, revenue didn't, and margins are about to pop 34- A shrinking boring business hiding a fast-growing one inside it 35- An asset earning $0 today that's about to earn a lot 36- Earnings that look bad for a temporary, boring, accounting reason 37- Spinoffs and holding companies trading for less than the sum of their parts 38- An activist investor showing up to shake the tree 39- A bundle of products the market keeps pricing separately 40 41Underneath all seven sits one question he asks about every single name: is the market comparing this thing to the wrong stuff? 42 43Klarna gets filed under âbuy now pay laterâ when it's really a payments network with a bank stapled to it. Galaxy Digital gets filed under âcrypto stockâ while it quietly turns into an AI data center.`,showResearch:!0,showWatchlist:!0,sanityAuthorId:t.default.env.SANITY_AUTHOR_ID_M0XT||""},John:{profileUsername:"john",location:"United States",xUrl:"https://x.com/BitcoinJesusETH",order:6,displayName:"John Gillen",portfolioType:"CRYPTO FOCUSED PORTFOLIO",sanityAuthorId:t.default.env.SANITY_AUTHOR_ID_JOHN||"",aboutMe:`John is a crypto investor with an unusually boring strategy, and he means that as a compliment. 44 45Buy high-quality digital assets, hold them for years while the rest of the market discovers what he already figured out. Don't do much else. 46 47He knows this means missing opportunities. He's fine with it. As he puts it: *âChasing every opportunity means you miss most of them.â* 48 49His investing philosophy comes from King Solomon, which is not a sentence you read often in crypto: 50 51**âBuy the truth and sell it not.â -Proverbs 23:23** 52 53### Where he plays 54 55Bitcoin and Ethereum first, with the rest of the crypto market as a smaller, more opportunistic allocation. He believes there's still real underappreciated value across altcoins. He just isn't willing to bet the portfolio on it. 56
57### Background 58 59John is the host of Milk Road Macro and a digital asset investor focused on long-term value creation in crypto markets. 60 61Credentials: 62 63- General Partner and Head of Research at TRU Capital 64- Relationship Manager & Digital Asset Strategy Advisor at Iniativ Equity Partners 65- Digital Asset Consultant 66- Former Vice President of Client Services and Relationship Management at Aladdin by BlackRock 67- Former Writer for Discover Crypto`,aboutPortfolio:`### How he invests 68 693 to 10 positions, heavily concentrated in Bitcoin and Ethereum, and no limit to how much cash he holds (it all depends on his market outlook). 70 71Bitcoin and Ethereum are three-year-plus holds. Altcoin trades can be shorter, within a cycle. 72 73No leverage. No speculative trading. Spot crypto, held with conviction, and that's the entire mechanism. 74 75He also has a rule for handling drawdowns that's mostly about managing himself: hold, post Batman GIFs on X, and wait. If something drops 25 to 30% and nothing has actually changed except that people are scared, that's the opportunity. But he waits for confirmation first. Don't try and catch a falling knife. 76 77### What he's looking for (and what he avoids) 78 79Four questions, in order: 80 811. Are we in a Bitcoin bull market? If not, be patient. 822. Is the market undervaluing this asset based on demand, revenue, or some other number you can actually point at? 833. Did a genuinely strong project just take a sentiment hit for reasons unrelated to the project? Think Solana crashing after FTX blew up. 844. If yes, accumulate and hold for years while the market figures it out. 85 86He focuses far more on buying the bottom than selling the top. Dollar-cost average in, dollar-cost average out. When your stomach drops and there's blood in the streets, buy. When you feel euphoric and want to screenshot your portfolio, sell. 87 88The hard nos are short: no leverage, no memecoins, no meme stocks, no panic selling, and no calling the top. 89 90He takes a little profit every cycle, quietly, on big green days deep into a bull market. If a blow-off top shows up and a bunch of on-chain indicators fire at once, he'll sell a bit more. He wants a confluence of signals, never just one. 91 92Two rules he lives by: don't trade on emotion, and don't sell winners to buy losers.`,showResearch:!0,showWatchlist:!0},Kyle:{profileUsername:"kyle",location:"Canada",xUrl:"https://x.com/KyleReidhead",order:5,searchAliases:["Kyle Reidhead"],portfolioType:"DIVERSIFIED PORTFOLIO",aboutMe:`Kyle invests in technology. Not âtech stocksâ the way a stock screener means it, but actual technology that's about to change a product, reshape a business, or create an industry that didn't exist last year. 93 94His one big idea: the market almost always underestimates how big that change gets, and how long it runs. 95 96AI, blockchains, robotics, space. Sometimes it's a brand new company. Sometimes it's an old company quietly bolting the new thing onto what it already does. 97 98He also refuses to treat crypto as its own special corner of the portfolio. It's a sector. Same as robotics or biotech. 99 100And the bar he holds himself to is high: beat the Nasdaq 100 and Bitcoin. Both. Not one or the other. 101 102### Where he plays 103 104AI, blockchains, robotics, and space, across public stocks and crypto treated as one single universe rather than two. 105 106### Background 107 108Kyle is the Co-Owner of Milk Road and Head of Research at Milk Road PRO. He is also the founder of Impact3, a strategic communications firm for revolutionary tech companies. 109 110Kyle is always at the forefront of new technologies and looks for opportunities to invest or build within those innovations. This insight and vision helps him understand where markets are heading and how to invest in it.`,aboutPortfolio:`### How he invests 111 1128 to 15 positions, sized by conviction. No leverage, no options, no shorting. If he's bearish on something, he expresses it by simply not owning it. 113 114He holds for 1 to 3 years. Ride the cycle or the story to the target, then rotate into the next thing. 115 116When something he owns drops 30% on news that has nothing to do with why he owns it? That's not a scare, it's an opportunity and he buys, aggressively. 117 118### What he's looking for (and what he avoids) 119 120One of these has to be true. Both is better: 121 122- The market has priced something badly and Kyle sees what they don't 123- A wave of demand the market is underestimating, not whether it happens but how big and how long it runs 124 125He likes buying things that have already been beaten up, so the downside is mitigated. Nvidia at its cheapest forward earnings multiple in a decade, that kind of thing. 126 127The company has to already make money and be run by a team that's pulled it off before. He isn't betting on whether a business shows up. He's betting nobody realizes how big the existing one gets. 128 129The hard nos: no shorting, no memecoins or pure-hype crypto with nothing underneath, no pre-revenue moonshots run by unproven founders. What he's dodging in all three cases is the same thing - crowd excitement as the actual investment. 130 131Selling is simple. Thesis breaks, he's out, whatever the price. He'll trim when the hype gets loud and the price is already running. But loud hype on something that's already been crushed? That's the opposite signal. That's a buy.`,showResearch:!0,showWatchlist:!0,sanityAuthorId:t.default.env.SANITY_AUTHOR_ID_KYLE||""},Melvin:{profileUsername:"melvin",location:"United States",xUrl:"https://x.com/MelvinInvests",order:2,portfolioType:"AI FOCUSED PORTFOLIO",aboutMe:`Melvin has one thesis, and everything he owns is a different expression of it: AI needs an enormous amount of physical infrastru
131cture, and building it is going to take longer and cost more than anyone currently thinks. 132 133Memory chips, data centers, networking gear, power, robots - those aren't five bets to him. They're five doors into the same room. 134 135### Where he plays 136 137AI infrastructure, top to bottom. Memory semiconductors, cloud providers renting out GPUs, optical networking, chip designers, power, and humanoid robotics, plus a handful of smaller satellite bets around the edges. 138 139### Background 140 141Melvin is an AI writer at Milk Road, focused on value-driven equity investing, particularly within AI and technology. 142 143His approach centers on identifying companies whose long-term fundamentals are stronger than current market sentiment suggests, and sharing those opportunities with the PRO community.`,aboutPortfolio:`### How he invests 144 145His entire philosophy fits in one Warren Buffett line: *âAnytime stocks go down, I like it. I am a net buyer of stock.â* 146 147When everyone else is panicking, Melvin's first instinct is to go look at what just went on sale. That's not a personality quirk, it's the strategy. Most of his best entries came from somebody else's bad week. 148 149He runs a wider book than most conviction investors, usually over 15 positions plus cash, with two names doing the heavy lifting and everything else sized down from there. There's no maximum position size because conviction sets the size. 150 151Core infrastructure names can get big. Speculative moonshots stay deliberately small. 152 153These are long-term holds by default, but not on autopilot. Money moves when the story changes or when something better shows up. 154 155### What he's looking for (and what he avoids) 156 157Two things get his attention: 158 159- A structural wave in AI infrastructure the market hasn't fully priced yet 160- A selloff or dislocation that puts a good company on sale for reasons that have nothing to do with the company 161 162Everything also has to clear one gate: a real, established business. Not a story that could evaporate overnight. 163 164On the way out, his rules are guidelines rather than triggers. He usually pulls his original money off the table once a position doubles, unless conviction is unusually high. A 10-15% trim is common around a 50% gain. Losses get cut early instead of nursed. And taxes never get a vote in the investing decision. 165 166But the real reason he sells is because the story broke, or he found somewhere better to put the money.`,showResearch:!0,showWatchlist:!0,sanityAuthorId:t.default.env.SANITY_AUTHOR_ID_MELVIN||""},Vincent:{profileUsername:"vincent",location:"Austria",xUrl:"https://x.com/WhiteCollarExit",order:3,portfolioType:"AI FOCUSED PORTFOLIO",aboutMe:`Vincent isn't betting on AI. He's betting on what AI does to everything else. 167 168He thinks AI gets way bigger than people expect. He also thinks the best returns won't come from the companies building the AI itself. 169 170They'll come from the choke points. The stuff every AI company has to buy, rent, or get permission to use. 171 172Power, memory, fiber, chip materials, business software, payment rails, healthcare and robots. 173 174That looks like eight different bets. To Vincent it's one bet seen from eight angles. 175 176### Where he plays 177 178Everywhere AI shows up except the AI models themselves. Power, memory, connectivity, chip materials, business software, payment rails, healthcare, robotics, and crypto. 179 180### Background 181 182Vincent is an AI markets analyst and Milk Road AI PRO researcher. 183 184He studies AI as an economic system and publishes deep-dive research on the companies shaping the AI economy, while also advising C-level teams on AI adoption across multiple industries.`,aboutPortfolio:`### How he invests 185 186A handful of big positions he really believes in, plus some small lottery tickets and crypto around the edges. 187
188Long-term by default, but never on autopilot. Every position gets ranked against every other one, constantly. Nothing stays just because it's already there. 189 190There's no maximum position size. Size comes down to three questions. How sure is he? How soon does it pay off? And how lopsided is the upside versus the downside? 191 192A company with proven demand, limited supply, real earnings coming, and a beaten-down price can become a very big position. Something great but years away stays small, no matter how good the story sounds. 193 194### What he's looking for (and what he avoids) 195 196Four boxes to tick: 197 198- AI has to be genuinely changing this business. 199- The market can't have priced it in yet. 200- There has to be proof it's happening, not just a story. 201- The company has to actually be able to make money from it. 202 203His favorite setup is the old, boring, misunderstood company that AI quietly turns into a growth business. Best of all when a temporary panic knocks the price down while nothing has actually gone wrong. 204 205Selling is a judgment call, not a formula. He splits it into two buckets, and the difference is the whole point: 206 207- **Price risk** is when the stock drops. That's a reason to take another look, and often a reason to buy more. 208- **Thesis risk** is when the company gets worse at capturing the opportunity. That's when he sells. 209 210He'll also trim when the good news is fully priced in, when the stock needs everything to go perfectly to work, or when something better comes along.`,showResearch:!0,showWatchlist:!0,sanityAuthorId:t.default.env.SANITY_AUTHOR_ID_VINCENT||""}};e.s(["PRO_DISCORD_INVITE_URL",0,"https://discord.gg/Hzk7d9zWdf","analystConfig",0,n,"getAnalystConfig",0,function(e){return n[e]??null}])},326999,e=>{"use strict";var t=e.i(271645),n=e.i(981140),o=e.i(820783),r=e.i(30030),i=e.i(610772),a=e.i(369340),s=e.i(726330),l=e.i(765491),u=e.i(774606),c=e.i(296626),d=e.i(248425),h=e.i(303536),p=e.i(985369),m=e.i(186312),f=e.i(991918),g=e.i(474076),y="Dialog",[b,v]=(0,r.createContextScope)(y),[w,x]=b(y),k=e=>{let{__scopeDialog:n,children:o,open:r,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[h,p]=(0,a.useControllableState)({prop:r,defaultProp:s??!1,onChange:l,caller:y});return(0,g.jsx)(w,{scope:n,triggerRef:c,contentRef:d,contentId:(0,i.useId)(),titleId:(0,i.useId)(),descriptionId:(0,i.useId)(),open:h,onOpenChange:p,onOpenToggle:t.useCallback(()=>p(e=>!e),[p]),modal:u,children:o})};k.displayName=y;var C="DialogTrigger",A=t.forwardRef((e,t)=>{let{__scopeDialog:r,...i}=e,a=x(C,r),s=(0,o.useComposedRefs)(t,a.triggerRef);return(0,g.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":z(a.open),...i,ref:s,onClick:(0,n.composeEventHandlers)(e.onClick,a.onOpenToggle)})});A.displayName=C;var j="DialogPortal",[R,E]=b(j,{forceMount:void 0}),T=e=>{let{__scopeDialog:n,forceMount:o,children:r,container:i}=e,a=x(j,n);return(0,g.jsx)(R,{scope:n,forceMount:o,children:t.Children.map(r,e=>(0,g.jsx)(c.Presence,{present:o||a.open,children:(0,g.jsx)(u.Portal,{asChild:!0,container:i,children:e})}))})};T.displayName=j;var S="DialogOverlay",O=t.forwardRef((e,t)=>{let n=E(S,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,i=x(S,e.__scopeDialog);return i.modal?(0,g.jsx)(c.Presence,{present:o||i.open,children:(0,g.jsx)(N,{...r,ref:t})}):null});O.displayName=S;var P=(0,f.createSlot)("DialogOverlay.RemoveScroll"),N=t.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=x(S,n),a=(0,s.useDismissableLayerSurface)(),l=(0,o.useComposedRefs)(t,a);return(0,g.jsx)(p.RemoveScroll,{as:P,allowPinchZoom:!0,shards:[i.contentRef],children:(0,g.jsx)(d.Primitive.div,{"data-state":z(i.open),...r,ref:l,style:{pointerEvents:"auto",...r.style}})})}),I="DialogContent",D=t.forwardRef((e,t)=>{let n=E(I,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,i=x(I,e.__scopeDialog);return(0,g.jsx)(c.Presence,{present:o||i.open,children:i.modal?(0,g.jsx)(_,{...r,ref:t}):(0,g.jsx)(M,{...r,ref:t})})});D.displayName=I;var _=t.forwardRef((e,r)=>{let i=x(I,e.__scopeDialog),a=t.useRef(null),s=(0,o.useComposedRefs)(r,i.contentRef,a);return t.useEffect(()=>{let e=a.current;if(e)return(0,m.hideOthers)(e)},[]),(0,g.jsx)(L,{...e,ref:s,trapFocus:i.open,disableOutsidePointerEvents:i.open,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),i.triggerRef.current?.focus()}
210),onPointerDownOutside:(0,n.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),M=t.forwardRef((e,n)=>{let o=x(I,e.__scopeDialog),r=t.useRef(!1),i=t.useRef(!1);return(0,g.jsx)(L,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||o.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let n=t.target;o.triggerRef.current?.contains(n)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),L=t.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:i,...a}=e,u=x(I,n);return(0,h.useFocusGuards)(),(0,g.jsx)(g.Fragment,{children:(0,g.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:i,children:(0,g.jsx)(s.DismissableLayer,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":z(u.open),...a,ref:t,deferPointerDownOutside:!0,onDismiss:()=>u.onOpenChange(!1)})})})}),F="DialogTitle",H=t.forwardRef((e,t)=>{let{__scopeDialog:n,...o}=e,r=x(F,n);return(0,g.jsx)(d.Primitive.h2,{id:r.titleId,...o,ref:t})});H.displayName=F;var U="DialogDescription",$=t.forwardRef((e,t)=>{let{__scopeDialog:n,...o}=e,r=x(U,n);return(0,g.jsx)(d.Primitive.p,{id:r.descriptionId,...o,ref:t})});$.displayName=U;var B="DialogClose",W=t.forwardRef((e,t)=>{let{__scopeDialog:o,...r}=e,i=x(B,o);return(0,g.jsx)(d.Primitive.button,{type:"button",...r,ref:t,onClick:(0,n.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});function z(e){return e?"open":"closed"}W.displayName=B,e.s(["Close",0,W,"Content",0,D,"Description",0,$,"Overlay",0,O,"Portal",0,T,"Root",0,k,"Title",0,H,"Trigger",0,A])},178761,969874,e=>{"use strict";var t=e.i(271645),n=e.i(981140),o=e.i(820783),r=e.i(30030),i=e.i(726330),a=e.i(303536),s=e.i(765491),l=e.i(610772),u=e.i(258950),c=e.i(953760),d=e.i(248425),h=e.i(474076),p=t.forwardRef((e,t)=>{let{children:n,width:o=10,height:r=5,...i}=e;return(0,h.jsx)(d.Primitive.svg,{...i,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,h.jsx)("polygon",{points:"0,0 30,0 15,10"})})});p.displayName="Arrow";var m=e.i(30207),f=e.i(934620),g="Popper",[y,b]=(0,r.createContextScope)(g),[v,w]=y(g),x=e=>{let{__scopePopper:n,children:o}=e,[r,i]=t.useState(null),[a,s]=t.useState(void 0);return(0,h.jsx)(v,{scope:n,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:s,children:o})};x.displayName=g;var k="PopperAnchor",C=t.forwardRef((e,n)=>{let{__scopePopper:r,virtualRef:i,...a}=e,s=w(k,r),l=t.useRef(null),u=s.onAnchorChange,c=t.useCallback(e=>{l.current=e,e&&u(e)},[u]),p=(0,o.useComposedRefs)(n,c),m=t.useRef(null);t.useEffect(()=>{if(!i)return;let e=m.current;m.current=i.current,e!==m.current&&u(m.current)});let f=s.placementState&&I(s.placementState),g=f?.[0],y=f?.[1];return i?null:(0,h.jsx)(d.Primitive.div,{"data-radix-popper-side":g,"data-radix-popper-align":y,...a,ref:p})});C.displayName=k;var A="PopperContent",[j,R]=y(A),E=t.forwardRef((e,n)=>{let{__scopePopper:r,side:i="bottom",sideOffset:a=0,align:s="center",alignOffset:l=0,arrowPadding:p=0,avoidCollisions:g=!0,collisionBoundary:y=[],collisionPadding:b=0,sticky:v="partial",hideWhenDetached:x=!1,updatePositionStrategy:k="optimized",onPlaced:C,...R}=e,E=w(A,r),[T,S]=t.useState(null),O=(0,o.useComposedRefs)(n,e=>S(e)),[D,_]=t.useState(null),M=function(e){let[n,o]=t.useState(void 0);return(0,f.useLayoutEffect)(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,r;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,r=t.blockSize}else n=e.offsetWidth,r=e.offsetHeight;o({width:n,height:r})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}o(void 0)},[e]),n}(D),L=M?.width??0,F=M?.height??0,H="number"==typeof b?b:{top:0,right:0,bottom:0,left:0,...b},U=Array.isArray(y)?y:[y],$=U.length>0,B={padding:H,boundary:U.filter(P),altBoundary:$},{refs:W,floatingStyles:z,placement:q,isPositioned:V,middlewareData:G}=(0,u.useFloating)({strategy:"fixed",placement:i+("center"!==s?"-"+s:""),whileElementsMounted:(...e)=>(0,c.autoUpdate)(...e,{animationFrame:"always"===k}),elements:{reference:E.anchor},middleware:[(0,u.offset)({mainAxis:a+F,alignmentAxis:l}),g&&(0,u.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===v?(0,u.limitShift)():void 0,...B}),g&&(0,u.flip)({...B}),(0,u.size)({...B,apply:({elements:e,rects:t,availableWidth:n,availableHeight:o})=>{let{width:r,height:i}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${n}px`),a.setProperty("--radix-popper-available-height",`${o}px`),a.setProperty("--radix-popper-anchor-width",`${r}px`),a.setProperty("--radix-popper-anchor-height",`${i}px`)}}),D&&(0,u.arrow)({element:D,padding:p}),N({arrowWidth:L,arrowHeight:F}),x&&(0,u.hide)({strategy:"referenceHidden",...B,boundary:$?B.boundary:void 0})]}),Y=E.setPlacementState;(0,f.useLayoutEffect)(()=>(Y(q),()=>{Y(void 0)}),[q,Y]);let[K,Z]=I(q),J=(0,m.useCallbackRef)(C);(0,f.useLayoutEffect)(()=>{V&&J?.()},[V,J]);let X=G.arrow?.x,Q=G.arrow?.y,ee=G.arrow?.centerOffset!==0,[et,en]=t.useState();return(0,f.useLayoutEffect)(()=>{T&&en(window.getComputedStyle(T).zIndex)},[T]),(0,h.jsx)("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...z,transform:V?z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:et,"--radix-popper-transform-origin":[G.transformOrigin?.x,G.transformOrigin?.y].join(" "),...G.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,h.jsx)(j,{scope:r,placedSide:K,placedAlign:Z,onArrowChange:_,arrowX:X,arrowY:Q,shouldHideArrow:ee,children:(0,h.jsx)(d.Primitive.div,{"data-side":K,"data-align":Z,...R,ref:O,style:{...R.style,animation:V?void 0:"none"}})})})});E.displayName=A;var T="PopperArrow",S={top:"bottom",right:"left",bottom:"top",left:"r
210ight"},O=t.forwardRef(function(e,t){let{__scopePopper:n,...o}=e,r=R(T,n),i=S[r.placedSide];return(0,h.jsx)("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:(0,h.jsx)(p,{...o,ref:t,style:{...o.style,display:"block"}})})});function P(e){return null!==e}O.displayName=T;var N=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:o,middlewareData:r}=t,i=r.arrow?.centerOffset!==0,a=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[l,u]=I(n),c={start:"0%",center:"50%",end:"100%"}[u],d=(r.arrow?.x??0)+a/2,h=(r.arrow?.y??0)+s/2,p="",m="";return"bottom"===l?(p=i?c:`${d}px`,m=`${-s}px`):"top"===l?(p=i?c:`${d}px`,m=`${o.floating.height+s}px`):"right"===l?(p=`${-s}px`,m=i?c:`${h}px`):"left"===l&&(p=`${o.floating.width+s}px`,m=i?c:`${h}px`),{data:{x:p,y:m}}}});function I(e){let[t,n="center"]=e.split("-");return[t,n]}var D=e.i(774606),_=e.i(296626),M=e.i(991918),L=e.i(369340),F=e.i(186312),H=e.i(985369),U="Popover",[$,B]=(0,r.createContextScope)(U,[b]),W=b(),[z,q]=$(U),V=e=>{let{__scopePopover:n,children:o,open:r,defaultOpen:i,onOpenChange:a,modal:s=!1}=e,u=W(n),c=t.useRef(null),[d,p]=t.useState(!1),[m,f]=(0,L.useControllableState)({prop:r,defaultProp:i??!1,onChange:a,caller:U});return(0,h.jsx)(x,{...u,children:(0,h.jsx)(z,{scope:n,contentId:(0,l.useId)(),triggerRef:c,open:m,onOpenChange:f,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:d,onCustomAnchorAdd:t.useCallback(()=>p(!0),[]),onCustomAnchorRemove:t.useCallback(()=>p(!1),[]),modal:s,children:o})})};V.displayName=U;var G="PopoverAnchor",Y=t.forwardRef((e,n)=>{let{__scopePopover:o,...r}=e,i=q(G,o),a=W(o),{onCustomAnchorAdd:s,onCustomAnchorRemove:l}=i;return t.useEffect(()=>(s(),()=>l()),[s,l]),(0,h.jsx)(C,{...a,...r,ref:n})});Y.displayName=G;var K="PopoverTrigger",Z=t.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,a=q(K,r),s=W(r),l=(0,o.useComposedRefs)(t,a.triggerRef),u=(0,h.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":el(a.open),...i,ref:l,onClick:(0,n.composeEventHandlers)(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?u:(0,h.jsx)(C,{asChild:!0,...s,children:u})});Z.displayName=K;var J="PopoverPortal",[X,Q]=$(J,{forceMount:void 0}),ee=e=>{let{__scopePopover:t,forceMount:n,children:o,container:r}=e,i=q(J,t);return(0,h.jsx)(X,{scope:t,forceMount:n,children:(0,h.jsx)(_.Presence,{present:n||i.open,children:(0,h.jsx)(D.Portal,{asChild:!0,container:r,children:o})})})};ee.displayName=J;var et="PopoverContent",en=t.forwardRef((e,t)=>{let n=Q(et,e.__scopePopover),{forceMount:o=n.forceMount,...r}=e,i=q(et,e.__scopePopover);return(0,h.jsx)(_.Presence,{present:o||i.open,children:i.modal?(0,h.jsx)(er,{...r,ref:t}):(0,h.jsx)(ei,{...r,ref:t})})});en.displayName=et;var eo=(0,M.createSlot)("PopoverContent.RemoveScroll"),er=t.forwardRef((e,r)=>{let i=q(et,e.__scopePopover),a=t.useRef(null),s=(0,o.useComposedRefs)(r,a),l=t.useRef(!1);return t.useEffect(()=>{let e=a.current;if(e)return(0,F.hideOthers)(e)},[]),(0,h.jsx)(H.RemoveScroll,{as:eo,allowPinchZoom:!0,children:(0,h.jsx)(ea,{...e,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),l.current||i.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;l.current=2===t.button||n},{checkForDefaultPrevented:!1}),onFocusOutside:(0,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),ei=t.forwardRef((e,n)=>{let o=q(et,e.__scopePopover),r=t.useRef(!1),i=t.useRef(!1);return(0,h.jsx)(ea,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||o.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let n=t.target;o.triggerRef.current?.contains(n)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),ea=t.forwardRef((e,t)=>
210{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:m,...f}=e,g=q(et,n),y=W(n);return(0,a.useFocusGuards)(),(0,h.jsx)(s.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:l,children:(0,h.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:p,onDismiss:()=>g.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,h.jsx)(E,{"data-state":el(g.open),role:"dialog",id:g.contentId,...y,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),es="PopoverClose";function el(e){return e?"open":"closed"}t.forwardRef((e,t)=>{let{__scopePopover:o,...r}=e,i=q(es,o);return(0,h.jsx)(d.Primitive.button,{type:"button",...r,ref:t,onClick:(0,n.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})}).displayName=es,t.forwardRef((e,t)=>{let{__scopePopover:n,...o}=e,r=W(n);return(0,h.jsx)(O,{...r,...o,ref:t})}).displayName="PopoverArrow",e.s(["Anchor",0,Y,"Content",0,en,"Portal",0,ee,"Root",0,V,"Trigger",0,Z],178761);var eu=e.i(647163);let ec=(0,t.forwardRef)(function({avoidCollisions:e=!0,className:t,collisionPadding:n=12,hideWhenDetached:o=!0,sticky:r="always",...i},a){return(0,h.jsx)(en,{ref:a,avoidCollisions:e,collisionPadding:n,"data-viewport-safe-popover":"",hideWhenDetached:o,sticky:r,className:(0,eu.cn)("max-h-[var(--radix-popover-content-available-height)] max-w-[calc(100vw-1.5rem)] overflow-y-auto",t),...i})});e.s(["ViewportSafePopoverContent",0,ec],969874)},115057,e=>{"use strict";let t=(0,e.i(475254).default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);e.s(["ArrowUpRight",0,t],115057)},245423,e=>{"use strict";let t=(0,e.i(475254).default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);e.s(["Bell",0,t],245423)},664659,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",0,t],664659)},717521,e=>{"use strict";let t=(0,e.i(475254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",0,t])},531278,e=>{"use strict";var t=e.i(717521);e.s(["Loader2",()=>t.default])},194983,e=>{"use strict";let t=(0,e.i(475254).default)("message-circle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);e.s(["MessageCircle",0,t],194983)},555436,e=>{"use strict";let t=(0,e.i(475254).default)("search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);e.s(["Search",0,t],555436)},284614,e=>{"use strict";let t=(0,e.i(475254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],284614)},115910,e=>{"use strict";let t=(0,e.i(770703).default)(()=>e.A(896535),{ssr:!1});e.s(["VisualEditing",0,t])},12985,e=>{"use strict";var t=e.i(622289),n=e.i(680902);let o=0;function r(e=1){o=e}function i(){(0,t.c)("[nuqs] Aborting queues"),n.t.abortAll(),n.n.abort().forEach(e=>n.t.queuedQuerySync.emit(e))}var a=e.i(271645),s=e.i(618566);function l(){r(0),i()}function u(){!function(e=i){(o=Math.max(0,o-1))>0||e()}(()=>{queueMicrotask(i)})}function c(){return(0,a.useEffect)(()=>(!function(){var e;if(e="next/app","u"<typeof history||(history.nuqs?.version&&"2.8.9"!==history.nuqs.version?(console.error((0,t.s)(409),history.nuqs.version,"2.8.9",e),!0):!!history.nuqs?.adapters?.includes(e)))return;
210let n=history.replaceState,o=history.pushState;history.replaceState=function(e,t,o){return u(),n.call(history,e,t,o)},history.pushState=function(e,t,n){return u(),o.call(history,e,t,n)},history.nuqs=history.nuqs??{version:"2.8.9",adapters:[]},history.nuqs.adapters.push("next/app")}(),window.addEventListener("popstate",l),()=>window.removeEventListener("popstate",l)),[]),null}let d=(0,t.n)(function(){let e=(0,s.useRouter)(),[n,o]=(0,a.useOptimistic)((0,s.useSearchParams)());return{searchParams:n,updateUrl:(0,a.useCallback)((n,i)=>{(0,a.startTransition)(()=>{i.shallow||o(n);let a=function(e){let{origin:n,pathname:o,hash:r}=location;return n+o+(0,t.o)(e)+r}(n);(0,t.c)("[nuqs next/app] Updating url: %s",a);let s="push"===i.history?history.pushState:history.replaceState;r(3),s.call(history,null,"",a),i.scroll&&window.scrollTo(0,0),i.shallow||e.replace(a,{scroll:!1})})},[]),rateLimitFactor:3,autoResetQueueOnUpdate:!0}});e.s(["NuqsAdapter",0,function({children:e,...t}){return(0,a.createElement)(d,{...t,children:[(0,a.createElement)(a.Suspense,{key:"nuqs-adapter-suspense-navspy",children:(0,a.createElement)(c)}),e]})}],12985)}]);
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.