"use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["2171"],{64473:function(e,t,n){n.d(t,{Z:()=>i});let i={iframe:"iframe-_GPXZ7",codeInput:"codeInput-elXe0s"}},8108:function(e,t,n){n.d(t,{Z:()=>i});let i={dropdownMenu:"dropdownMenu-ASlbF5",textInput:"textInput-kYr7wC"}},68139:function(e,t,n){n.d(t,{Z:()=>i});let i={wrapper:"wrapper-vT80lr"}},85131:function(e,t,n){n.d(t,{Z:()=>i});let i={gifPreview:"gifPreview-aspqQH",visible:"visible-LWauZo",image:"image-Aqe6vn",videoPlayerWrapper:"videoPlayerWrapper-cIRA2m",videoPlayerClassName:"videoPlayerClassName-wHpwKj",videoClassName:"videoClassName-F40TTj"}},68857:function(e,t,n){n.d(t,{Z:()=>i});let i={scrollBox:"scrollBox-zHkQVP",arrowButtonContainer:"arrowButtonContainer-O4uSiH",visible:"visible-JMTC0j",right:"right-i3oWGi",left:"left-Tg8vqp",arrowButtonOffsetContainer:"arrowButtonOffsetContainer-VMYLE4",arrowButtonOverlaidContainer:"arrowButtonOverlaidContainer-t10AyH",overlay:"overlay-zrMCxn",primary:"primary-lv_sOW",secondary:"secondary-pOosZC",arrowButtonOverlaid:"arrowButtonOverlaid-xLyA_z"}},61649:function(e,t,n){n.d(t,{AO:()=>_,AT:()=>w,BY:()=>T,MZ:()=>x,Sr:()=>I,Zl:()=>b,ar:()=>Z,eD:()=>C,l7:()=>N,ss:()=>k});var i=n(7409),r=n(16584),o=n(6400),l=n(30396),a=n(74691),s=n.n(a),c=n(7654),d=n.n(c),u=n(14293),h=n.n(u),v=n(5463),p=n(32224),m=n(36671),f=n(68833),y=n(15771),g=n(19081);let w=5,Z=300,C=600,b=60,k=30,_=e=>{let t=s()(e,1,16),n=C-b;return s()(C-(t-1)/15*n,b,C)},x=e=>{for(let t=16;t>=1;t--)if(_(t)>=2*e)return s()(t,1,16);return 1},S=(0,o.createContext)({clipTimes:null,isClipping:!1,setClipEnd:()=>void 0,setClipStart:()=>void 0,setClipTitle:()=>void 0,virtualizedListRef:{current:null},onCancelClipping:()=>void 0,onStartClipping:()=>void 0,clipTitle:null,zoom:0,setZoom:()=>void 0}),T=e=>{let{children:t,postId:n,videoPlayerRef:o,virtualizedListRef:a}=e,[c,u]=(0,l.eJ)(!1),[v,p]=(0,l.eJ)(),[m,y]=(0,l.eJ)(),[g,C]=(0,l.eJ)(null),[b,_]=(0,l.eJ)(1),T=(0,l.sO)(!1),I=(0,l.Ye)(()=>h()(v)||h()(m)?null:{start:v,end:m},[m,v]);(0,l.d4)(()=>{T.current||void 0==v||void 0==m||(_(x(m-v)),T.current=!0)},[v,m]);let N=(0,l.I4)(e=>{var t,r,l,a,c,v,m,g,b;let{start:_,end:x,source:S,title:T}=e,I=null!==(m=null==o?void 0:null===(r=o.current)||void 0===r?void 0:null===(t=r.player)||void 0===t?void 0:t.duration)&&void 0!==m?m:300;d()(I)&&(I=300);let N=h()(_)||h()(x)?null:{start:_,end:Math.min(x,_+Z)},B=null!=N?N:{start:Math.max(0,null!==(g=null==o?void 0:null===(a=o.current)||void 0===a?void 0:null===(l=a.player)||void 0===l?void 0:l.currentTime)&&void 0!==g?g:0),end:Math.min(null!=I?I:w,(null!==(b=null==o?void 0:null===(v=o.current)||void 0===v?void 0:null===(c=v.player)||void 0===c?void 0:c.currentTime)&&void 0!==b?b:0)+k)};if(N?B.end=Math.max(B.start+w,B.end):(B.start=s()(B.start,0,I-w),B.end=s()(B.end,B.start+w,Math.min(B.start+Z,I))),p(B.start),y(B.end),u(!0),T&&C(T),(0,f.j)(f.FP.VIDEO_CLIP_INITIATED,(0,i._)({post_id:n,source:S},N)),!N&&!(null==o?void 0:o.current)){let e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;setTimeout(()=>{var n,i;(null==o?void 0:null===(i=o.current)||void 0===i?void 0:null===(n=i.player)||void 0===n?void 0:n.readyState)!==4?t<10&&e(t+1):(p(0),y(Math.min(o.current.player.duration,k)))},100)};e()}},[n,o]),B=(0,l.I4)(e=>{var t,n,i;let r=null!==(i=null==o?void 0:null===(n=o.current)||void 0===n?void 0:null===(t=n.player)||void 0===t?void 0:t.duration)&&void 0!==i?i:0,l=s()(e,w,r);y(l),p(e=>s()(null!=e?e:0,Math.max(l-Z,0),l-w))},[o]),M=(0,l.I4)(e=>{var t,n,i;let r=null!==(i=null==o?void 0:null===(n=o.current)||void 0===n?void 0:null===(t=n.player)||void 0===t?void 0:t.duration)&&void 0!==i?i:0,l=s()(e,0,r-w);p(l),y(e=>s()(null!=e?e:0,l+w,Math.min(l+Z,r)))},[o]),O=(0,l.I4)(()=>{u(!1)},[]);return(0,r.tZ)(S.Provider,{value:{clipTimes:I,isClipping:c,setClipEnd:B,setClipStart:M,setClipTitle:C,virtualizedListRef:a,onCancelClipping:O,onStartClipping:N,clipTitle:g,zoom:b,setZoom:_},children:t})},I=()=>(0,l.qp)(S),N=()=>{let{zoom:e,setZoom:t}=I();return(0,r.BX)(g.gq,{gap:12,justifyContent:"center",alignItems:"center",children:[(0,r.tZ)(y.hU,{priority:"secondary-outline",size:"sm",onClick:()=>t(Math.max(1,e-1)),children:(0,r.tZ)(v.Z,{size:20})}),(0,r.tZ)(m.Z,{min:1,max:16,step:1,value:e,onChange:t}),(0,r.tZ)(y.hU,{priority:"secondary-outline",size:"sm",onClick:()=>t(Math.min(16,e+1)),children:(0,r.tZ)(p.Z,{size:20})})]})}},26522:function(e,t,n){n.d(t,{Y:()=>f,c:()=>m});var i=n(16584),r=n(94184),o=n.n(r),l=n(19691),a=n(13723),s=n(57336),c=n(20888),d=n(90099),u=n(71068),h=n(19081),v=n(58175),p=n(71075);let m=e=>{var t,n,r;let{disableLinks:d,isEditingCaption:m,post:f,caption:y,onEditCaption:g,onSaveCaption:w,onCancelCaption:Z}=e,{publishedBylines:C,title:b,canonical_url:k,post_date:_,section_name:x,cover_image:S,cover_image_alt:T}=f;return(0,i.BX)(h.tu,{children:[x&&(0,i.tZ)("a",{className:o()({[null!==(t=p.Z.disableLink)&&void 0!==t?t:""]:d}),href:k,rel:"noopener",target:"_blank",children:(0,i.tZ)(v.xv.Meta,{color:"pub-primary-text",paddingBottom:8,children:x})}),(0,i.tZ)("a",{className:o()({[null!==(n=p.Z.disableLink)&&void 0!==n?n:""]:d}),href:k,rel:"noopener",target:"_blank",children:(0,i.tZ)(v.xv.H2,{color:"pub-primary-text",children:b})}),(0,i.tZ)(s.h,{bylines:C,date:_,disableLinks:d}),S&&(0,i.tZ)(u.xu,{paddingTop:24,children:(0,i.tZ)("a",{className:o()({[null!==(r=p.Z.disableLink)&&void 0!==r?r:""]:d}),href:k,rel:"noopener",target:"_blank",children:(0,i.tZ)(c.e,{alt:null!=T?T:b,className:p.Z.fullWidth,imageProps:{height:Math.round(650),smartCrop:!0},maxWidth:1300,src:S})})}),(0,i.tZ)(h.hs,{flex:"grow",paddingTop:16,children:m&&w&&Z?(0,i.tZ)(l.Z,{initialCaption:y,onCancel:Z,onSave:w}):(0,i.tZ)("p",{className:p.Z.caption,dangerouslySetInnerHTML:{__html:y},onClick:g||void 0})}),(0,i.tZ)(a.$,{disableLinks:d,href:k,includeUfi:!1,post:f})]})},f=e=>{let{post:t,children:n}=e,{publishedBylines:r,title:o,canonical_url:l,post_date:h,section_name:m,cover_image:f,cover_image_alt:y}=t;return(0,i.BX)(d.i$,{children:[m&&(0,i.tZ)("a",{href:l,children:(0,i.tZ)(v.xv.Meta,{color:"pub-primary-text",paddingBottom:8,children:m})}),(0,i.tZ)("a",{href:l,children:(0,i.tZ)(v.xv.H2,{color:"pub-primary-text",children:o})}),(0,i.tZ)(s.I,{bylines:r,date:h}),f&&(0,i.tZ)(u.xu,{paddingTop:24,children:(0,i.tZ)("a",{href:l,children:(0,i.tZ)(c.e,{alt:null!=y?y:o,className:p.Z.fullWidth,imageProps:{height:Math.round(650),smartCrop:!0},maxWidth:1300,src:f})})}),(0,i.tZ)("a",{href:l,children:(0,i.tZ)(u.xu,{as:"p",children:n})}),(0,i.tZ)(a.c,{href:l})]})}},24189:function(e,t,n){n.d(t,{Z:()=>s});var i=n(7409),r=n(99282),o=n(98848),l=n(16584),a=n(64515);let s=e=>{var{fill:t}=e,n=(0,o._)(e,["fill"]);return(0,l.tZ)(a.l,(0,r._)((0,i._)({},n),{name:"CheckboxCheckmarkIcon",svgParams:{viewBox:"0 0 16 13",height:16,width:13,fill:t||"white"},children:(0,l.tZ)("path",{d:"M5.71444 12.6276L0 6.9132L1.61147 5.30173L5.71444 9.39327L14.389 0.71875L16.0004 2.34165L5.71444 12.6276Z",stroke:t||"white"})}))}},91379:function(e,t,n){n.d(t,{c:()=>C});var i=n(16584),r=n(30396),o=n(71375),l=n(80569),a=n.n(l),s=n(80878),c=n(15771),d=n(19081),u=n(4615),h=n(58175),v=n(70379),p=n(60308),m=n(84864),f=n(47929),y=n(33803),g=n(4291),w=n(68139);let Z=(e,t,n,r,o)=>{if(!t)return null;switch(e){case"post-login":if(!t.profile_set_up_at)return null;return{title:"Your profile is set up!",body:"Now you can like posts, leave comments, and follow other people on Substack.",ctaText:"View your profile",ctaLink:(0,p.NNq)(t,{utm_source:f.b3.profileToast,noBase:n})};case"post-subscribe-success":if(!r||!t.profile_set_up_at)return null;return{title:"Welcome to ".concat(r?r.name:""),body:(0,i.BX)(h.xv,{children:["You'll now receive new posts in your inbox. Next, check out the"," ",(0,i.tZ)(h.hh,{decoration:"underline",target:"_blank",href:r?(0,p.sai)(r):void 0,children:"archive"})," ","or visit your profile."]}),ctaText:"View your profile",ctaLink:(0,p.NNq)(t,{utm_source:f.b3.profileToast,noBase:n})};case"start-writing":return{title:"Want to start writing on Substack?",body:"Congrats on subscribing to your ".concat((0,m.numberToOrdinal)(o)," Substack! Start your own just 5 minutes"),ctaText:"Start writing",ctaLink:(0,p._HV)({utm_source:f.b3.profileToast})};default:return null}};function C(e){let{user:t,pub:n=null,noBase:l=!1}=e,p=(0,v.pm)();return(0,r.d4)(()=>{async function e(){await a().put("/api/v1/user-setting").send({type:"has_seen_reader_to_writer_upsell",value_bool:!0})}let r=new URL(location.toString()),v=r.searchParams.get("profile-setup-message");if(!v)return;let m="start-writing"===v?Number(r.searchParams.get("nthPub")):void 0;r.searchParams.delete("nthPub"),r.searchParams.delete("profile-setup-message"),history.replaceState({},"",r);let f=Z(v,t,l,n,m);f&&("start-writing"===v&&e(),p.popToast(e=>{let{onClose:t}=e;return(0,i.tZ)(u.f6,{theme:n?g.Z.pubTheme:y.Z.elevatedTheme,children:(0,i.BX)(d.tu,{gap:20,bg:"primary",radius:"md",shadow:"lg",border:"detail",sizing:"border-box",position:"relative",padding:20,className:w.Z.wrapper,children:[(0,i.BX)(d.gq,{flex:"grow",justifyContent:"space-between",alignItems:"start",children:[(0,i.BX)(d.tu,{gap:8,children:[(0,i.tZ)(h.xv.H3,{weight:"heavy",flex:"grow",color:"primary",children:f.title}),(0,i.tZ)(h.xv.B3,{color:"secondary",children:f.body})]}),(0,i.tZ)(c.hU,{priority:"tertiary",onClick:t,children:(0,i.tZ)(o.Z,{size:20})})]}),(0,i.tZ)(c.zx,{priority:"primary",onClick:e=>{(0,s.Q)(e,f.ctaLink,{native:!0}),t()},children:f.ctaText})]})})},{ttl:null}))},[]),null}},93029:function(e,t,n){n.d(t,{Z:()=>d});var i=n(16584),r=n(30396),o=n(94184),l=n.n(o),a=n(74571),s=n(60308),c=n(85131);let d=e=>{let{post:t,containerRef:n,aspectRatio:o,size:d="small",alwaysShow:u=!1,className:h}=e,[v]=(0,a.i5)(n),[p,m]=(0,r.eJ)(!1),f=(0,s.W$Z)({post:t,height:"large"===d?480:320});return f&&(v||u)?(0,i.tZ)("div",{className:l()(c.Z.gifPreview,{[c.Z.visible]:p},h),children:(0,i.tZ)("img",{className:c.Z.image,src:f,style:"aspect-ratio: ".concat(o),onLoad:()=>m(!0)})}):null}},20730:function(e,t,n){n.d(t,{A:()=>d});var i=n(16584),r=n(94184),o=n.n(r),l=n(98661),a=n(80026),s=n(63474);let c={chip:"chip-lJKwY5",textOnly:"textOnly-SPwDNp",leading:"leading-TvXpau",trailing:"trailing-lhDVKn",clickable:"clickable-IxUlBk",fillIcon:"fillIcon-jYnt2U"},d=(0,l.forwardRef)((e,t)=>{let{children:n,trailing:r,leading:l,href:d,onClick:u,fillIcon:h,newTab:v,className:p}=e,m=d||u,f=!l&&!r;return(0,i.BX)(a.kG,{resetCss:!0,ref:t,className:o()(c.chip,h&&c.fillIcon,m&&c.clickable,f&&c.textOnly,p),href:d,onClick:u,pressable:m?"sm":void 0,newTab:v,children:[l&&(0,i.tZ)(s.M5,{className:c.leading,children:l}),(0,i.tZ)(a.xv.B4,{color:"primary",userSelect:"none",ellipsis:!0,children:n}),r&&(0,i.tZ)(s.M5,{className:c.trailing,children:r})]})})},92039:function(e,t,n){n.d(t,{m:()=>m,rG:()=>p,rw:()=>v});var i=n(27412),r=n(7409),o=n(99282),l=n(16584),a=n(98661),s=n(30396),c=n(48980),d=n(12120);class u{async connect(){try{if(!this.host)throw Error("Attempted to connect without a token");this.ws=new WebSocket(this.host),this.ws.addEventListener("open",()=>{for(let[e,t]of this.channels)t.size>0&&this.send({action:"subscribe",channel:e})}),this.ws.addEventListener("error",e=>{console.error(e),"closed"!==this.connectivityState&&(this.error=Error("Generic error"),this.handleError())}),this.ws.addEventListener("close",e=>{"closed"!==this.connectivityState&&(this.error={code:e.code,reason:e.reason,wasClean:e.wasClean},this.handleError())}),this.ws.addEventListener("message",e=>{"open"!==this.connectivityState&&(this.connectivityState="open",clearTimeout(this.timeoutId),this.reconnectInterval=900,this.notifyConnectivityChange());let t=JSON.parse(e.data),n=(0,o._)((0,r._)({},t),{data:t.data?(0,o._)((0,r._)({},t.data),{message:"string"==typeof t.data.message?JSON.parse(t.data.message):null}):null});if(n.data){var i;for(let e of null!==(i=this.channels.get(n.data.channel))&&void 0!==i?i:[])e(n)}}),clearTimeout(this.timeoutId);let e=this.ws;this.timeoutId=setTimeout(()=>{"connecting"===this.connectivityState&&(this.error=Error("Timeout"),e.close(),this.handleError())},3e4)}catch(e){this.error=e instanceof Error?e:Error(String(e)),this.handleError()}}async refreshToken(){let e;this.channels.size>0&&(e=Array.from(this.channels.keys()).join(","));let t=await (0,c.rd)("/api/v1/realtime/token",{query:{channels:e}});return this.token=t.token,this.expiry=t.expiry,this.host=t.endpoint,this.ws||this.connect(),t}send(e){let{ws:t}=this;if(!t)throw Error("Cannot send without a connection.");t.send(JSON.stringify((0,r._)({token:this.token},e)))}publish(e,t){this.send({action:"publish",channel:e,message:JSON.stringify(t)})}listen(e){let t=[],n=new Set(this.channels.keys());return this.subscriptionQueue=this.subscriptionQueue.then(async()=>{for(let[n,i]of Object.entries(e)){let e=this.channels.get(n);e||(e=new Set,this.channels.set(n,e)),e.add(i),t.push(()=>{var e;let t=this.channels.get(n);null==t||t.delete(i),(null==t?void 0:t.size)===0&&(null===(e=this.ws)||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&(this.send({action:"unsubscribe",channel:n}),this.channels.delete(n))})}let i=(0,d.e5)(new Set(this.channels.keys()),n);if(i.size>0){var r;if(await this.refreshToken(),(null===(r=this.ws)||void 0===r?void 0:r.readyState)===WebSocket.OPEN)for(let e of i)this.send({action:"subscribe",channel:e})}}),()=>{let e=new Set(this.channels.keys());for(let e of t)e();(0,d.e5)(e,new Set(this.channels.keys())).size>0&&this.refreshToken()}}onConnectivityChange(e){return this.connectivityHandlers.add(e),()=>{this.connectivityHandlers.delete(e)}}destroy(){var e;this.channels.clear(),this.connectivityHandlers.clear(),this.connectivityState="closed",null===(e=this.ws)||void 0===e||e.close(),clearTimeout(this.reconnectTimeoutId),clearTimeout(this.timeoutId)}notifyConnectivityChange(){for(let e of this.connectivityHandlers)e(this.connectivityState)}handleError(){console.info("ZyncSocket: Connection closed"),clearTimeout(this.timeoutId),"closed"!==this.connectivityState&&(this.connectivityState="closed",this.notifyConnectivityChange()),0===this.reconnectTimeoutId&&(console.info("ZyncSocket: Attempting to reconnect..."),this.reconnectTimeoutId=setTimeout(()=>{this.reconnectTimeoutId=0,this.reconnectInterval=Math.min(2*this.reconnectInterval,6e4),this.connect()},this.reconnectInterval+.2*this.reconnectInterval))}constructor(){(0,i._)(this,"token",void 0),(0,i._)(this,"expiry",void 0),(0,i._)(this,"host",void 0),(0,i._)(this,"ws",void 0),(0,i._)(this,"connectivityState","closed"),(0,i._)(this,"error",void 0),(0,i._)(this,"reconnectInterval",900),(0,i._)(this,"reconnectTimeoutId",0),(0,i._)(this,"channels",new Map),(0,i._)(this,"connectivityHandlers",new Set),(0,i._)(this,"timeoutId",0),(0,i._)(this,"subscriptionQueue",Promise.resolve())}}let h=(0,a.createContext)(null);function v(e){let{children:t}=e,[n,i]=(0,s.eJ)(null);return(0,s.d4)(()=>{null==n||n.destroy();let e=new u;return i(e),()=>{e.destroy()}},[]),(0,l.tZ)(h.Provider,{value:n,children:t})}function p(){return(0,s.qp)(h)}function m(){var e;let t=p(),[n,i]=(0,s.eJ)(null!==(e=null==t?void 0:t.connectivityState)&&void 0!==e?e:"closed");return(0,s.d4)(()=>null==t?void 0:t.onConnectivityChange(i),[t]),n}},97434:function(e,t,n){n.d(t,{B:()=>v,c:()=>h});var i=n(7409),r=n(99282),o=n(98848),l=n(16584),a=n(6400),s=n(30396),c=n(6490),d=n(74312);let u=(0,a.createContext)({open:()=>void 0});function h(e){var t;let{children:n}=e,[o,a]=(0,s.eJ)(null),c=(0,s.Ye)(()=>({open:e=>a(e)}),[]);return(0,l.BX)(u.Provider,{value:c,children:[n,(0,l.tZ)(p,(0,r._)((0,i._)({},o),{source:null!==(t=null==o?void 0:o.source)&&void 0!==t?t:"substack",isOpen:!!o,onClose:()=>a(null)}))]})}function v(){return(0,s.qp)(u)}function p(e){var{isOpen:t,onClose:a}=e,s=(0,o._)(e,["isOpen","onClose"]);return(0,l.tZ)(c.u_,{isOpen:t,onClose:a,children:(0,l.tZ)(d.cr,(0,r._)((0,i._)({},s),{module:"@/frontend/reader2/chat/DmShareModal",onRequest:()=>n.e("2667").then(n.bind(n,84422)),resolve:e=>e.DmComposerModal,onClose:a}))})}},78446:function(e,t,n){n.d(t,{N4:()=>a,sm:()=>s});var i=n(16584),r=n(30396),o=n(15771),l=n(15562);function a(){let[e,t]=(0,r.eJ)(null);return{confirm:()=>new Promise((n,i)=>{e&&i(Error("Already confirming.")),t({resolve:n,reject:i})}),isConfirming:!!e,handleConfirm:n=>{t(null),null==e||e.resolve(n)},handleCancel:n=>{t(null),null==e||e.resolve(n)}}}function s(e){let{title:t,body:n,cancelLabel:r="Cancel",confirmLabel:a="Confirm",modal:s}=e;return(0,i.tZ)(l.W,{isOpen:s.isConfirming,onClose:()=>s.handleCancel(!1),title:t,description:n,primaryButton:(0,i.tZ)(o.zx,{priority:"destructive",onClick:()=>s.handleConfirm(!0),children:a}),secondaryButton:(0,i.tZ)(o.zx,{priority:"secondary",onClick:()=>s.handleCancel(!1),children:r})})}},84923:function(e,t,n){n.d(t,{d:()=>r});var i=n(30396);function r(){let[e,t]=(0,i.eJ)(!1);return{isOpen:e,onOpen:()=>t(!0),onClose:()=>t(!1)}}},12120:function(e,t,n){function i(e,t){let n=new Set(e);return n.add(t),n}function r(e,t){let n=new Set(e);return n.delete(t),n}function o(e,t){return new Set([...e].filter(e=>!t.has(e)))}n.d(t,{e5:()=>o,oR:()=>i,zu:()=>r})}}]);