e?HH5mL3bn)^z+<`Rq=5-&-yn71X}l
zECXrQ@&5g$gV)hZ{`4p4p+_HTJS46op&^+d4B@_FcXTvJ<%4s=`{#i=f#zn{+5#pj
zgbrOYhYz(&t-1c`BVeQn!|c0*`pD2&oyv`u~@>sb=^M3KcD#hZ@o<3_ts1ID>>p;
zW^~215$W5;gBIyG{`4p5q2GN7*6nk)whGb$w&W4iZ^Xgf>ho44&cg2f@Z-=5WT-z3
z?^1QvmE~0Bqz<2HEIY=}Q*SZ*euiyk=FG$$9K+(E4nzTQxNZgRC)pMi&PbFOnICqwP70|++yY5h$`C1fAxag^!1OTQS>L#ezr9M
z{p=I|<)_n$mR9%PsKd}3&DX#riY;dUtX7{QHus!qXJ=+m8raQTWsNo7^h}wh6R2e#
z>#o%$&+58;-^POzs9*h4Nq%g$E?7#K*qKbiZ|52?*tZ5P!8p`BllnFT&0u%zE2M5G
z5j=c^hUbBLY#i3l>95Mj3S`yGW(4L*7L$Hf4vuGoQ7oPkI_%xTSgZi*?2Ur~VyFim
zJ{Co}g$xO%7tinu2~KES)!`^7_9QiR7GzIH8^MFBK|{Kt=Nr8TxS
z0lnJo(RliZHxYnlre#1cv^y{xqOnvkr?ACutXRZvUka?CkZ((vo7dbeYT%$P1nY>G_
zM*(2;KM@GIhjtMj-~afT<{7-j)yXC^5ET@CCYM!ap-Ew52~DiP?p@VOk#W^U0(w#(
z!&Og%3xLu4zEadE|GsLFxGsq}MVQ~8Eyu=&a9PyJN4^-a&3&h!rV?4)edVVGV*eCc
zW19=;6HfTpQo6$*&-b!-_Z8#|zuROm6BF}TinvbF=XzQ$1$BwS6(EMysL7ic;EQ9%+S!|?}qz&EKIL|Y`%9XQbWQB2BzSOAS5&)g|sguAOO5+?65Ly#Y2+N
z&>UV8ae($UnS{{s%Tkfjgz~V)EuO^0>^={jga=w$%|Y{duA$;!twpi(#^9BNGYBSmrWvJ42IEX6Xt3V#CnN-AUBjbjoAlD
zCcv8=%b~5&_$!qhc90bH9h%#^C{an{Q~8!FP}S#Q05rua1Tm64QcgYhBQ@YWQas9LzRuX-hwZg;XI1w^%=UEZL$}0V^ApOsGG_<
zsI+)>{i4Y8X?oW&GwyZ#T=iBztM@E!$(h0HEQ%wIRJ41$)sLiyv7c>m-wd~HT
zAzIcVlxVdv^q6)$lZ>RrED<)o22M!pQlO*kzRmB9%sMH6
zz_>v?llM~=u2t#E?>zep^v<(CKUZ3eEBZimciuJ~;_@TA^g8zH?xXVE%<0`r9mbr6
z-J+{BfCo~FbfU^~vNJZ7NZ+?7ks)&q_SeUjhEVBciPTSgu5Agb&TpxuAa551Tma@J
zA!sngkP|75!rtd|g?f&glVL+E!@NZ@NNO
zZn`|5VDsgd{Nv+j#x|RwrGKii^S>aPQ~iq&Hs)jVvQuCqoiIOe-?0xva{seSYq21P
zR~9@9n0EsOaPFHvM<03LrGv_k+Y{MGGmpO?zxpxR`;iUB4C*ix$tucN#X#%^j%vp;
z7MEQGXFdE%X@u&J0wkI0|%QwPFhk>#%hLZK+=BK|`4daue1?
zJ34n%au|Y9xXRwBtj7C5_V@V*umAmz(ud!3N!(jupV@3Y3*fW5a5WTPa~wVF=)(kQ
zrv_<65&>bsxyoRK#^T)IA-^i3D}F(;CSG4xB<8Ul-*5d|Z#58xy?Q+u)-#_u()sm$
z91qq;Kt%>1c8p5_Zh$*}X)W8C8t3rlsZ%Rq*cX~`bsi}V$MUi(+9#Wn4~i{90E8TB
zibSTE;=-3D*>mleyv+XX@yDOP&x}j^0Q#ouzw(p0KDy!i9^<>u59;Hrz+nc1IHtk(%2
zm-RIn)X7oWfu%cR?L1_t%j4KnL3Or>I>myPURm0u7-+(aVENNo*u3s#2L|c^lg(h}
z@s>gTo96w1rVcnTQZFgGW+0iHqM5Zvs4id1aClq9!?euty^W>D7}WJ=?->+m6_6D|
zJw?o}20z{djO7=@e+s&gCL$Hsp`)p4q;`GsTxcl(meB3iuw+;`R;J}QR<6#@C-YtJz41!Z%<9Q#T|ZOI*^?ix_x=g`
zvxjC=so|j3*9>OLp;<~1F3axh?K|Lv%i=kVS?Spa)#hN$>wf>k3DjR2-~XDrGsAJWTI^j|X?9^=LE4Cv
zJBK}jfQy4%%%0+4>4rd^O0b#uZoT$m@H+pSvFsQCy6w8H`Gk9JydwFYZ&uB$ku!l(
z>?H=)n0_|Roc=gix$CX_${IR>xL3x`W8J#E(6sK83~DW?-a2D5CfO!zG`F8kGiB>|
z+uR)upZPy8pzZIzh~{l|<*#Klj<-5Y?%`w=PG!n~Fo8lMnWkpA_h9UL-5I1@fVlGm
zR@*+>xn^w{*$Mj^yyW(V|3JY}WB}PB_2Gi+8M(Anfz^ImTyYN8B9_U4S$-qces8F~
zM-1bdMMJwjx22fD=hZU`M!*nquHhgJxoNDe7|=iq+bDA8ZdLXs*^$7sxN+UVKT(&@
zNOJH~^A&I1d8v&9G)D@XyZ{6BrhLqn(mn<3Y#Lf0PywyWf}tOD(3||opZn>Q6x^L1
zgY%&h^X&8!OncC>C#&RK5@YI%qVnt4S-_nInpvBJ`eBbc3=G)21Yyj5Lmp}|P;m`T
z!7>@{vu2Adk}Ioy=zOilH_HyFerYnJ@5Aj@MuP!%QNDc#a6H_PVn`JfJginmhx!p^V%8+hqQY0CO2I4+5
zx)`f>Y`-Vs9%>q4PXo7tIJL!{b=@_OK{9LGA5-VxOEwgbdemmZf|dGOX+f__
zu61&p*DJ-`9^ytO6$b~ebuas~4@LkJfLA=BzHTxGWF+~U!6!b>FmF}pn`-b072R74
z-yjcXZYc*8lDEc!-&doC%WtAVI9rf|Irtfq@z7IW3*{n@LL|5S!_W@PE#
zGz>*j4@d_F?;vRe*CNQ8*5<HfRwA1=O|Lg8ZAEwuLlnv3)ebZ-@~=iTpGK#$6IfDK%8L>>e|B9Vi4
zfJUh_N-%yjfWDFz;m$;IfXWM`MwfF@0AG(Kml9G@F?r9f(23tw;~8C{1%UDY#%Ew+
zpE}N?ihGkZ&gY!2^6@kVbkikc<{>02P%C#V}N4s;n^3
zc3@<%b=H2p@0)V*geZ{3q=&7wJqX%#+OSLlXG5V6B-}
zp$6NN8*VVahJO8k}RW$bP!?
zS-;Dj3?{Yp->G0fgS=MnJI|
z|0ggQO*4l}wL(*jvBVi|3IwSnf($=PC})2bGCm8AuH;D%mmV(1#>hSt4iA7lX*r_;jyl
zX79&)FWv_v`$XDk{{Z&_&VNTd4j
zLl5>2hzd$>Xh)=P0dx&uil(swUW=XlrbEDo=n$o$!A-=
z`FhhR4bu0p$fd2B=Kznz;>o9?^{Kq9WuYtdz)9B?)(%#lLXtpRi!w5FHjKm$$uV7L
z(Z>#sq_9CCO!xR7$XRD!11rLoxfQXMv&yb`A8JEyvxvf6k!(bp`b%anC_yfItfi
zX47}j*}lB1vwc0y?Lo%(xfXlNIFVm!77ZQEg)u|xny)pN|4{RKBOocjmFQVQR`db%
z=m|>l5|4Td^aSpx8$}IepyeIOWcd_5#;jq46YAICrD@AbVY)
zwSx`_&~QOeE)`-IiD6{|_a9ZghxJ+>*imeTY96Gl4x@^(+de?Hpfh4b3`vLeF{Fo*
zYIb7S&zdC)Knop{58Au?YVrjA#;r;Wsq(P2%ML5_Sk9LPU29=)tr0>lbZC9?`666~
zbOCf$31ZPi%ll9{V!0pODLa#TKstf^a4BLk#F$$6%$J^@nEH$R0AXxo)!-Tftp>mU
z=I{q^O7i1L^nfEba%WQoWJeIHg~s|44kt5bXhmBEbhbZ0mlu5
z@*zQY%eX2$@6Y4l>i!PlBdKn3;6q8q>}w3dFz2z|y-rpJz3o@%y!8he#I_y7W{=
zZo^R|mD|lCw-ovsrkl_GCzfnS16kr%^)N&^msGeTmkt!P>MY*(eUU5GpG4y*gzO|-
z8U|zx2K3fLFrmX8clfqR{^*?me7`mSAB&NYu4%EF4MNL(W=rJ9lmt9jjY?uh{08Yb
zKIDoSMx)V_KoIEfk|Yt#9Yk~1XS)AN~m+_2{L
zBqBBI8mu7`2!mV&4UHlX8lcoEcg2mt9(py)iyrwO)`PmFp$LNm&b8*&9>C8pE@nbT
zSfim*t=>ZrO3aaMEsmqeIEayF?FQ_qTNZJ3qe;EsgHR0!y^Dd;
zDc4js=rL-Lj=!6GU%*b^*Io(8A0=p&bjbN~#;#wB9Ox^_f$Sjzps~L6QrNcd>jpyc
z=TgV-)fvB!3t6MX_Y%DUKu?2_@Z!N2z|n`_$}Wj-UKF&mgsOQ|{&0op9VaODP1?
ztGi>WNZ0x33|z|2Naw_2uD%`}K~kWg#R2X+Y=TCkBVB3&^dtrBY9tw=!Qjx_RO?*0
zZOMVJ(jw=3qykC$nx;9zIAzEVi!3T*Cr?P$)tRj`sDJl;bpCmtqgmU50C?7>pjJaM
z$&Vv98P@^2o`Pz}!T*}g7H(vG?Ha_h?q#g6d+8yGjb(ka=MetIw#D&Br!CzPf5TrDwi?Um&*~bb^x6R`^j~)$B!Gl
zk6y(V_c7TbDjXX93*BywqZMn!4LtMYuD#@@F|g~Oy7x?iWCs7!|MnhPzUZ2nK&d~^
zV(#(2`uGQesgF4FAoP@C!?)D@LEVC%$8a4p@~rEOzXJ%^c@Bn}I8!^@7XP!cUdRj&
zX_r}(;u-tG;^F}kmk2@wdqO0FOm<&!ER{hAeILIsX{JQc!0}txXd!C|9$GsVE=9CD
z!o(R$e_-m&(0Zk5zd486mhum~)mw{9+@;j(+SB
z6yi~gu-)MBr;7JDrm8;nL!!PTZINn=9$>+2^d
zr+J_{5SAPtb9mO&XFiEu@x1r)bywWvp_DA1*k%On%%JCzq%`YV<3?38xPO;{+F*Ci
zaxpcX_hEo)?w#0DaI*5qon>DpnIQLF<2rSBZ+BcZ!>S&HVn4J15hkl7XJ*s9+L8Jk
zfB>d9bo|=Yh}l^J|9})+F!^lkrbuN_PEaIzdesvB$}NtsrAc~S(t^q!4qH1=IMzbZ
zc0eWzn&PwoGn<$&M~U5FIHBo9um3Tcx78K4)-ki#YgVPtJGY->*15*}=N)^XlH~A*
z98ACd+MlM=o^=l0vNL;&P%$7D(uro8xzAc(Z|&Ix3cvp(hk2Sc0W2n@UrT-Z8{KrN2Ohip>-$SxvM
z6~*lB_UP7GY_^sZm?a&?T6GNOS=YHOpwIH-=U({3^u|-S`-J(r-zK#V1H5t;r_UR%6%zAGjh~oyGK{@vGoVu3!t>c)2
z(f{<9-X)kGf~&)=C#ZULh79l#Vp%Qt&_}e5abv*Lpwi8uJ=L{raO%
z`5yYnyT8O2ec~HR3%MvVYnm^b2j`e~%~|E(&-UoYe;4g_q^6Q>ieAc{`Qbl
z-Xf<%ih>~md_3^O7KyYkEb*@Ey?epo`5gT!sWH{_p}D`lx~E
z{PL;Ck~9>)1uT(~%$0q;9OLVa8(Dqqfr4k&v&_5a@m80|ykqAzw($!wn`n5MYTE0=;HacRd<2>{o8JPDA>o+&ih;uIr{TKvg?SL6!u(5gzW=hp-$~
zsTTh!9&oOKPWvs0x&Y@D@GMpsS8#pYyvDS@1~X>fafQulDC2A8{nkY>Du+}!Ov5l{_zq-W&M>fZ`rx;s`Zn!$!eJCDy
zBXh31L~utQl(zmg>Gzv0Ry(DL@)47}(3%E09L)Y2rK7B0W`2Q~-{wYd^JNduxmLqk>)P|~
zWgfWJ`py0t&A4Z*_s^;q|GX9<^yCw^+sJzJz97Zbj9UaQ1cF^cQBygu!CaTK(}Oo>
zRk7KS-&U^T^*m3-M9y`pE2IKGQ
zYt7qcHIDJ~`1|jB?2&ZDQK@Jrt#V8@ysy9F#(gfpYjo?g*ml;n>)(%im+?LBZ(FP9
z@b~q;d1N#G{rLRZFWt#1mJGql3O%yTfz%l4Ra}XTYZxp|4x}LAinH|Qj9iFrlMy67
zsbb_=5LVN%V-U2nec=ruoB607GBca)#t*p``_+Xs4?y$wuLY2`dV{sLam9`s*|_mN
z_Q#R|x3ErGx@{Z2dGAeh!xcBpyytm9m<5*o^%(OQbzGLSdY5?(X{~*0k|6B}X24uFr3IJh&(%1s0aKX_)fnsi3-q06ADqUW_(G0^JXO
zpbuAnKdX>u{eCQI4&*xfYeeJk)?(y(-#j^V)FTf{0jp$zFK(bc$ya*qt}FTK%dek#
z{aNy8{Cu-|pmCXu&&m7g`p4HFKi{nDkIQ~ugPeCydFyO#Ma%$euj2AUIxbU40MD3`
z*_8mU<|h|I_&rQUZd^Y%&cq=hO451(WiD?)QUlQX-X{S`*dxMRS~lQFZd
zGv4Mkmht|1jbPmPW_|blk9#=v>kpBeH*TU&T=Pk~>XxhMk}rIHAGVuyp89!b-P5dw
zKd)iU`rWK&K9B}qpKIQE$Jd?pei~~lcB-Rwi46j<$pc4X*=9C8jH~E5L1R#0TCblO
z8agGyMg+1i)5;K%hM=L5NEBIf1XsPf^%T@9Q|3I7e;#+;^8o6v^MDpzk{p;{b>4UL
zKy_QUx^i=%Wx8QK?c8$}?d*5Ub=@x7{76G(;14f(WY#;a_anJ6NVmNQC
z6k>k?cT7OY{z^2vD_X0|8y_=f=C#;k+^z1f(#GB8_;sFMoYi>7$Brv~_pMj+N=}|h
zMR`lVNB-$!pOf7;-ZJy|`+K(A)4*n(ufE^#)0Zh7Ik7lQ##=3wuq5@_7YcpMMO@wODR^+`RAn^Q<0Vt$Uqzd-9sxdZN^|@=9W*x4q&0wEL!8_c`}0
z)}Hq~(#Je|I2Yo%ea(`|)*VZFzrZK;~F?(Sj=M#-V4IJGec+#OKYkUG|UK
zi5PbKT@6*!nVE`cBwTcGTaej&Ozi6o66SN(jmTfgb7UHs^$=?n!mI+RkE<(Xf6Q~B
z+x|4^tb3Wq;PZZ;=Q_!&7-YAma!~rW^Tyru=V$%xei_ftRX_8A-t&Pp)bX>_bu>?Q
zjO$@mLmVG7K5zc(#62A5(TEj($?`Xhue+j>ncPQbDjK3gR1YtZWi!&wtSy#vi{N&>
zAz1O+*omqcVT&uS%*BC}RF^5@BTi;LR9#5(H0(UUjE`Rn@b$J9!;J6kK(=|{UQ0Ig
z8pZ0=VBy?@k#(|v{>HzRE53eh{BD2uw7=fsjx^+Pnby~scU^x!{%+R2jT>d&JVL14
z4BhOX1FDuoUU@xwF5fv#OP=r0{MWtgoTTq|YOYbckow0Jl_;6CTMT`nh;}zf$TmTd
z@6Bcc0`{HGb5JM!@A*IS-gJ#=>Qbh;CNx?)wx}M-F1&E
z-}iYW%!?>9Pt){?rEj8_JogNG?O**49dz&pngxvdJYztOK~nFZ2T(uXTHCDi9LRI7
zb)U2DK?gkmN4ZkEzLSZLT*yhKjbgA-L(isHv)nsCO)H85`gvftVMTT&K=(V9J(?Eb
z>i~mM3K86LdO98Pts}jRmQ{X`T~L2)X-^p>Q-&wps9c9mG@cskli|d_UK~`7E$FDC
zsc|4cndfdHk9#Ztx8!r23^>*G8{HkwXzLpBv~~cQg!@J5xJ?jVpM3dtW`)hF*m=N!
zCPW?$+nkhYtv7Vh7nbFfr~O|(<&S=4aNb$x@%OW?GX{&lUj2>h=>32BA*#X;!A4QZ
zA|rB`vlZIf-;sW2xIeo@sgY7IHU${#dWCtnriy}*8wGI2QLpuZwGrJ_$Hm;s%sN4K
zXMe*aeQ}whqFu*Xg-BsUuLRURg^!snRWx|dlkL35bdXEm+H_qFUZuf29eL8noPE~V
zgeJPPDP^AJPh&aOb{%o9rLz26khZS+qNP@1M~r!t$m!V&&?tc-p-Q}C2~ad<0{9>X
zwVrX>InrrZ=d)SL)5jR|KA`*5@89+If21RidLTXbg-@H?K*rtmJk}fUfACR9=(Wy%
z$dXGVJlRP^-Hn3?{U%
z8}tHEN`>iSu0Ewa$QB)4u0-C*L=7dj=@Qb9`j|+?$hNgY%^=HT=bAyCsHV>k+$acp
zJI;X|hnCr!^1xf0@jl-JlT=h=VP6?xxtUi`EAY;XFbzws}IG;4y(G9Icnqq_|WT9m>3RLH<8xw%5-(mWCL4aVB*xF|~`
z=(i4JYh>o>u!F3C3x1u(N#$=n-II@K$ulx#z_pe-#daK_V@XniY<`J6xit&|M*>1Q
zmQPa4Vvasdq1{X>jpajCgN0+}{e~vw;d^U@P1OQ8YRDOSe@4(+psMG1Loa4a=uY2V=TIQLl=V|t_{q^{Fl$i&fQ!?WahlTd0JV)@fP$n;
zyD&9}D&tzlu~af}NWgu?}%OyBPGxusdqJbHn+dk#M)YE%2k*C6#xpmrdHKTqtce
zR2ImrG4TQ?)3%xVsbXgi{zIb{^G!>|bZCKkV5>us44gJKZ=MXrCVV7Ve_1i*BPqqupjRl+DlgFrxBOPqYlsBHo!y7N-l8ATesu1pSwUkjj?>wEDnG)2F|?i
zhWmwl#D$e;Ls+oKPQzF}EgkW?)6dbP5>wM!+dKxJwfT1$)OmZ;E8pQJLKHEV3f5xr
zQRB>&wd}Va+EWT3i=^Um=_1K(E1?J2Nny|6$*
zF08|Vfp+KQ-0eTV{L~-+>sxp-*`VVI!*oJ-!RV42z|yTSuIR7Kl9cr^OH2dOz&+j)
zU@L|nTtkPBWsNcD@}&L?t?|OLrX77;BO&jjrr8Zz
zXJ9Ig!3&o$T&={-_;P#eS#8+YSH_sgEp-4HagduO7=I3CQN*yM{nVpBRgzgLu?
zw*`s5GT2z(yN%>?TN}PxH*Qk{UQYqK12D{HZvvagdNMP7ZQ5J&@|1fIM$1fn`nkHV
z_I}Kh7W=!G@$WKIUv>Gl^!~Shgkl;_wm#MFqajCeXt>h3lxv31)LTIGf}zks=%o*c
znU7)(Lb7?tZ9ulp4MUBKRxbUU;7Q;kLXaitXOA*omXDg?fp?^XPHGl5P`Br1{~6pV
z9KCXMDCMcjTl=imrcd%{{#VhlbbXKF%D(c<;M9^&^U9{&Ic}UoM|j~ysS0Dhvr5TJ
zlrYag8&fcEkU529N)e^_Y+TehakGyBoE2cG_s{yyZ$rHORo#g`ht>w`Vq)%X&!=db
zqB)cN(4D^w`7s96TH3kZW*zg}ulyBV@9+J8^Ep?Qq6+^RJnh$Cw>vb|u
zLhmf_Lt5o&p^M*D=`sUrxQ*7_XL{d_`58quc%GA=bCfJ53REj!gDC8d7@TWR1BS#V
z>ZXXf{L)nV8UuB`TciLL>Wcl1)eLh0j4g+SVL(bA#F#Oo7!EXw9w1h
zqoSXcnj-9ew5-ti<)5B)#(7$luBm5T%da=BF}oQtaQMi;sg~dNgrp|*Mu3qu8fZwD
zGMNY(OU29somp`1;PVFEARg4H!9Z=97{`hOl>r4;Izt1p(NAj)mUR&u4Y)GQ*jdat
zmL6+qSjP}~#WH(849^Ug>V{omg{bl*
zx>ggd8EjGf_JbyT$@uIJqH_L0w_T_fojCbD71;`ww#khQOsH;ngiw6w$8~C7&-rK<
z4w5{@+4}VrL!Z0-IXjBKFHOD>4tmA9B^c#P;P51r%
zUw?vpnGt|l%Z|aQ6gLiyo
ztyNo>C7{uKz8v`I>?pmx)(&pKD%KX9u8S)udOb5Lys&h-T?L_ZIn(-gr6O{E%{4FsbUvXcU@yD2!T~CSSknF(Ri!N?Zc23;0!=EDn-BWjA_LbzQ%am@+C$M=D
z8i}MOSWm&uf{Sy}o~}IfvGSvfw`kD
zj0J<)ePD0n`q_QiK%Gsqt&M}FcjL$!@fzT*HSkg*=rfbj=U=X6Zb54H`KY(jK&AzL`%nF#^UDWml@BEPxog~&yx}Jwz0k*du(3vhtJm65B|+3sjve@1WyZE
z(1iwNIc~wcjVmVLLj3Ux$u$wUY0-OI2SzBaKFU|D=ZcjFe0754;aJ?H!?l`Cn?L3^
z8WR>L9le~+e1%?OVI9LD)XAExsC(|cD`1Jc?%m9_5+b8bpV=Qv+B$0WL0W`AVRU5I
zP4ZP|7a3mJW<6~!mqNeKe|h2hi8Ty0;MzP=K^h$kIl*~aE}!kM$sf3$Je*9o+O^Jcf9CNJp(It>Odz(lZjeORQX(Gi@gw%WTfkD>SJ>Pw&N{1x8?u-Pqe
zzdrP2(}ezvWkM+C8e4i{h7STy}`VnmQPSdCX6ZtwqHRqQfZ6KK{X0@5R}F+QD8^g8
zPap#Qy-*ks-YcL@xjkX0MkE+^Hp8H>>5PrdoCF$v{T!zD*RlMWx6L}{g|9e){{7GX
z5T+RL5r3ph%o0^(ZCH2KWoT}=Rt?IPI-%m~=b%w{8^>BMTdjDKa}BYi*FaF{OO
z%F>-zKgXp0(C@weBh+rVrD@i0oZ4`haF_^Wl4@wig`^67vfU_!6(z%xa`rY8UTmQd
z*Qv3Bmi>9RtP%>Z2+~-dHVhL2lR1rrOODDp^L62RQqPcrH#huFfuhgWW4251L+R#b
zGw?jEI%e-^;ErKfzy&nyrh&^gGVfP2%)>U<6wE4%Ei$a({JS@tfiU@to<3-3Yia&5
zfXC9q_rLHJKd%@0hj)Bh4YEujZdtjpnvZN6az~e^U_`x>OKNgk*!!)XtLzHvG1-=o
z^Ly~R(AkyL|C~VFE>fFpy=lKf>sQ+CbsY>CI{Txgn|>lI=SemWeK8)T_P&~R-PFBs
z$)fdgWA9<8iLS`mDB3i@WzD%EA86}sLn;kfy=T+rSQf*CJd}ew%Bu?vdJBtar4}t^
z`QP3Ku;%5N&FsbaKYLaWD%F6P2Zr(f0nlAaNG;1txrEDrFk5}lLy;s#;f!L7)yagQ
zNprd6F!}3W`HsQ;>`xx8B{}K_d-DJOIr_1u|B#lEb^8dq!L??L+PmFl-U;H6Y~n5h
zDk7QDiUlq$7<(LxbsFMGXYS}b@!_=UcuNXG$Dwlbo^yAY|Jk>(hE6>*|GDO1ENl{t
zhcgoM5x3|Xq!fNB6atOA019lmwr)bExGoGZqGHN(bJaCPFvNe$>>;bhK2!k`l`9f}
zVJBU(l}>HYD%QtFC18cYvb303xcpc>W#c2WpqMk|~T-%<2P
zZe-ys9yYeW?ET1~9!rf`VD|lWk27z}-zlhnRzWRJZe>Jv?`#F};#IR#6h|I)_pofL%wp&|&Mm(ahG=zPMs
z5-v$S;x+FSLYs@B8_sRlT#Y0Gf0<;F@=ZjTl;qSpx%2uhNId$@NM&wlG
zaqeaChk`HQb}x=cp?dU4@jcI~*!?kDeQYfeQ>F
z<&xc%ZS-o&)Rmz)PfOR5V|>g!xs?sY%+xmhgxMYeI*z~xJDAHlDH0|(p>7}<9sV@N
zR!pyJGy02R(&Yxd?eG5X#B0W7z7L?Woz|=SZX*%JtTy5o_jHk7!fRtShZgDpB^qcF
zDvXOlY>=4Gm8Qh9$}@rN?95I1O@O?q5QJP~w~VC}(C|;pcDHpsbP@MzsUO#bbG7nX
zm0w<|7T ezd}jSE8GlL0HjbVU-GRCC1nc88nv&T__I$WY&;Q0UWZWp{
z0et+tFZ|yb)Q=_ee_8o;y-nd&Rk;eG4C;T-H6>Jrmkz2Pi?_kM;zG7=ZFXTy5(ABiIF?AsF
zgS>i6DuaU=$aM)8;1>!HUJ=>VV-XrP%C8AV;pnXz4Pc#h`gtlrW`TFsv&;i{{cPTw
zyeKjCu}^=Dm6TwnP%CSn+KU6a0*2-&3v@c+FL8}*^F>ESO-H^idFJQ58iEbx?k;=(
zCtm#aSQ(64(Puci~eDz`w+InptKp7^TI?kjXEiD?3?Y#R)mB?)8A8MonKIEcfr
zv*!gvb1YQkENqnp`2rS?^RRh7!o>rF)>=IqxY-wT4^RiVy8`~c_nDjqjO7(PuJ{@(
zGXY*GNB>`wU9`)BS7)no31jubT`uK{^<~l58sHYF(gRaOQQ3N4Bb?CyXKwZH{MZ*I
zmmV}VcVTS%9CZ##lOmSr=A;1~t>rCIZ>B=vk&+0b0Dm1XZh9a?K5n0PpYtRKZ9L?W
zugg<-HH#ZS{C3hlZrqBv*GXf>?mJKOWmE@Oz(=%5L0P-@NTde7pAXDkY4p&FkRIZ>
z4k#E2uSKnuT~({3=+&?#z7F=(;4Li7+!73t+K^$>FPZhMjq@Ye=hEGRv7d%a0!NqxUigYMh+~;#puM
zTDfyQ8;8vgon3UEQMB^0)mOednVe0!9V-^Ui
z7zp*GUX(to>ZwdNJt&J0YMXVhqBXWP0sZdn&)F`0w>`HqUf7_zwC~M*QnXU%4_!7J
zaYChYY}lnl0c**?E1*S1=`oEIb}o&8U=Rtqt&kN3xB>%3+|W?(1qU+=#r-Pa{k?iR
zBu38^y|>mj2Ej}{UDgE?=W1`4@r+agQ$$5_!(8&H3{q(uK~hNAS!5j*bM$n`X|bVA
z;@a)?XPi55>Fw{?cuX)fWOV=jphGs$|N66ErKRuvj_4O_O^r+tsh`f~turEV-R;^r
zdrf*cBeK-sHqV9FFaPZ)U-b8D-Se7&&RfT;Z^_FhC;y+Vg^@fR@Eq6;_<1u^w{>Sn0hnMksX?k;RuOLoaCVP}+5)!xZV5LFj9e~;Om8t2
zru}xs^(He6C%6fO5}NMF=1l#_@B0q!)zI!N;tGd?t$B|1eGsjM*eG;EFy4L5m3}GkQrFEg3iO#t56lery?~#Q^jJ33?>eV$$@G2
zY<%O$i8_EATNk?
zJX$|~Lslumo^(GRBrtB6<7XT;c-rT8SAXMrdhySnAyALF^?$Bo-jAeE;gNW`gg!g8@I4-qJ0o-S_|_QIh?#bKVXJ(C^xQ;@Rn9%lWpO
zh4pzUTj^cnRLcnvJWV|knjE;W8l?s^bh0BF4Zylgavj}Zo((HB*IUlQE()Yy+wNu
zWCctRFKilGuf={lW5
z8hWsC@1M!n)uWL20q6^oB
zaVl#TGG9t1mI}*BNSbD6U!xMD&<9!sRT%)a2PeGtVesY1UXcG!C^`JNNO%kRiC^Vr>>o&ZQwhGQ_o6F
zyb1aAwAFAm8v-Xbg>54kiUZ+z_<_d|yS^u;ta
z99}>j2A{ZG1n@0vt|=ChrG}+a^vm0K{ExHg0Jj4Mv~E*Le(9Cu!dr*DG%NxnUG2h?
zA_*XBvqn-JMW$H@<7oX9EbZ+dhF!_Ypi0)%Y#gAcU}_#p3kRq7<`o-DL_NXmxu$d~
zGocwnRvg&%Rx{QtIT8%&9*qIQ-A?r{v=$jRprumx{CG|@($X_kiDK4_?aUlWUK9gZ
z&12nEGk_YnlS}VBdiUEuyw9`kW8~r?uKfBn^lQ&}X_6V&P$ez2e7nB5b`gq;IDqkm
zC+q|Gw&2o{H#8Z~$ywa7q?>ew%7YR#R
zDPD_Zj3>nqB18%XL$J(*0yg@>v_4?c^Df9iROe;DuS}(TLjw~;1I3I=>$0h0bngQQ
z$*|(gF0=LIEa1+pc<=YU-BvA2AFKkmUK~AHT$YMLi{rTfnaa;gS&Pe<1|1+|oJ4qB
zVw@(mHX1t*JWl`q=Znvx_W;y2n8%IyiUj88J>xX`#^u+PxiY-x3~A^&9LmZeKN40L
zd)ydgU4*kYEVb(o!;#(DANb7gev)p(cH0=5@+uY67fQdnGso7m-_s1lRr2+kky2<&
z-dc8Br9)9qrnG~tYyAvffmEmy^Zm~VkAiv0T7T@L0^GokrF=*kXi1>@!m1+CHT1rp
z_7CFmHkKy6RA{YfIRFk#V!#IT1_6g5h;l25-gxlAJ%&aJIUQ_H;ce2Uwh!51GyG5*{>24z46d
z{M0=8eX`!&5yAg8xLyGux4-X^FVF
zC+rrOi(Zc713J~o@yTzf*w~mxk^Dl$ZV)zZ7-I5qOpyTZ2fyqk3Dkd8m^y>_dH?aH
z>Y^izwux(qcL-%nxThMI9?^0)FncK57;g7JcX|2@^WyZ~^7hZZ><{U7Y!kYjTPyv4
zNpj=UsY&TF0bRdhmUM3EeVf%$f>W3EJtA?eIbksuW8=XTsSLXwW#{fT@%Mvn4B$ln
zDq#rfFN1M=AIQrxVDykD9DQXpF}pW0Ayi!?@C=S8RvZt8)&zw6-Cn1=#tu(-VXs!{>ymfC$uQTa;i%7WRm;L%#dN)7x
zgzu$a{ZIcRz#N`P?{nOsC7<2G<&?W>U6Z(Nf=DgWPI(5(2+3XV*s0`rE#F6uzK$f
zXsOthO5j7_g(wn5n@b-CA%osI#uMs+z63^u%Q?D69SNS_PC3h`4I3MJ{Et3VmvNTx
zuTHH2%c{CAwd+)W{1kfMf(JMeo&WcrrW;c@m|*-GOdDIdOB&3#%nm}e2gv#%WI((A
zK#0mjOgQ*l!kJbIuaP*Ebg?I?T0@ACQo1?=k-nC4h;r^NES-~&ZrZh54LOhi)R9Mh
zEzFMT-PAK{?!rmJK?5+uJBj+uK4y%3qJ@JWY~ipZXFv3XSDZ?>bGt);&f8Ot{j<-s
z&H7{VT%g&rJZU!=kSFP{Sxlc7N#~er7V?AI{Bk-WP4Or}Sx^D2mZY;rXkMwt3JO}g
zA73JU)+lUzpf`kpl%YD}=peM%X2%}6Qjn?}G6A>CKKB*<>$_E&_Is)8Rsb?GpX=%Nu&(-^2@Ups;yZiuN?fr*_iNT#slfu7)^<
zzF~IP23n~VTT{{&^D(fx?lu4uB9Ax$qp=YlrV5Knq%37`STYckV__59T#D13P1pPw
z-NCJ;JGfo6eBRDSJ>n^QQvn>8oZxwhID4uFp|Dc1q|+A|0Ex`#_u=mB;4MZ3`Fmq8
z*ix1uS06)QbUlJ83Xj4d^u#5%UPQvjY_i2QbJ6LD7;2XbKf6E%^mR(4-HY_mOzgMh
zAO~!bC}b1EfJ`xIAvZ<$RsV$ZK-&7yQdWVk3(h!rjgX
zzqNG&!NM?F#T
zaeizr;0ErpI{zDxWjCPM$xf(-G8aV+xlw?skK9yv=U{g~JB9KtOLsU-gXl3SJd8=d
z2lNd70?mw5RT3)p8G((
zSN`>$#h=KUr9_Lc*S_~9PAu=a-Ef$?6Q})jd0~&7N_Q3x=}y}6j7xjv)~6-yywm1A
zYqFsvQy5OuF1=5G?z6@`a|yu7gP>NmsP3j>_~96dJZFk7i^%0k^qXPuxzO;OXY(Ny
zcJ_e*MXCCC#?>-#^VvD-9F*Za7{*LC^CjDpFh51xRXoANt&IyhFgjc&WrxurJ)
zz|_n%prf6}vECBAKLdQ3;IH@21CPT#7>!&{6!9ho3G+y~@rwLupPQS@oX?HzGjE0s
zmx+{NyMLJ7eNOiGXGFs99Ly38#F?#}#~`GP
zWNoEm38{|3w=9MGTwWHbP|QJ$7$L@Le2h-o_OVYxAP$9C9hji41%{w&<)R+|8h=o|
z!GYvp_k@5pD{8O$2#SkUI-IEPHmH(19P$YrmTP4S-R-Q8GN~k-PKz;FcaXX{7Z=w3
z`1UXS;TP#n-0oCB=k229bC#2y-j$x@xV(%+a(SV1lOn%}2s4Y-kIq3)G|2E0mmGp1
z3tV|p*c`kBS6=)s8iwwPAx(abKD4!zYn3cNy)#`;QI{1rca}#ZVGMGqICSNnQAaWH
zi_YSp%RU#~sh42)B>3-&=tbjk!!V4s3Y0Y9augbYg6rd)Kcp$=iE?mhKviXgM5d4v
z0ezfsU>5+)QjK$j@$Mmb3!pR$i@Ne_@`9xR%JhXF{=zE{Y_#re*zR;d=k4N4|K{V5
zT6$_8iSfj?omfVmvRZ|^Vz&E(OP&DR3=(HgcRaa?fR$PrUCd4Uf-K!9d$odmk&?rJo!=^KI
zGZk*s9I%=a$^rK9e$=xg<;oVON+XwQ7YZY)ctChCAQ#4-{v=kib(GcJ
zx%p+yFCE!!zF>|mHAC97URC_9FpB_xP=
zQ>o8IrBRq;u|I+o30ATo`;dQ=jhnTslKgwsM=$>4-=e!{yUPHbw~LqGaqjml
zJvD)vw&Yc(vX7byTZZ^kpc^CU_&N^%E4o~E0Qc4Jiu(<7*XcQ=3<6*Z31R4v(pWsK
zj`KRv_IM-g0T+&Lp}6Ek%II-2s;@v@v}kZ!wO{|=G=){+AkoRC>}ujeS40Yv`j@U^
z$$J8aA3KF}Xg01Cb757#@i<4h!NRtswNN?AAD_hMxV@y|7`k
zLYugI%SSK%ljqZ2xG~)g+s|x$>t~u~-7%9aKc-V@n~CLnB<5~7hs5&=R_+~WQHdOL
zK1Z*QkT(`(goZY6Mh^+#)09yxkr1h%0C~v;v85>_jJ+7ENESp9AGDxWy7{1c?P-wn
z-DiUr^CS0D^eP?N5psdyhV+0Co`$K??IO_|5OQA4`KTjuI(%`@l
z@=>L)d(W^_ueJd`{}i+G7cd!cxJYg(s)NV@X-1QOfw+#Dnf#8&
zrGj{HiV+Ff!aeA*3UgWE6@$(7wG`(afr`vWsRq#|>klE!Uw7g9>EfO0YhG)+
zTO>!l{qz&hepA~lZflwZ>aJ5mBYhTIbkkRcZLkPuy@-(23;JtB_F|TO$PbqfTFBwc
zHXo=Jyu-PSK`gSQhtFIvoh#Y+IPq1p?59|7CI^LjOT4n&4%6Eh%`6eD(VOZpPO`|L
z+UOO(uGC{8O`=q(u0)lWqP!ME)O#2nLSB8-0$R;`8uR0Y!q(pm$l2ve)l@5QkdV)1
z;^RkS9y+bNc5#!2)>65=`4e9`a~s`_+ug#@_4eh<&OPtwrJqT0&;AJs)TUdrv8bT6
zthr)1L3$=Cza>7Z%^cleZnb^CGDzJU)K*BM98+`D=}b)xpgv^>R9
z%C7eXjSW_n^D?t{%ax54;E`feihDH~Mi*PpGEfa;mabr2gOenf)=7Z9QzP6W`MrgN
zX)1>s>H)?cri;+xDiPO^7XWl#?V+_L*RmLU^CvF3d%>KyyB*MZyLkD$_kZ`pelC*@^ExYnF7IoMQ|?I
zhdxM*!dv6vF$aGIW|2w~gq*MwkKBh8a#cduO4YdIXT&wTa>dUcwX+6PayO7*%eiUtVJ8^vhAqUDK#Y4t`BFaZ-w
zcs#7P2whL?E)RcjjtNjoN%byE(B#PsK<_DfPx2=l0AZ4^(}mb-^G4%=S}j?7U%REO*Iq<&rZkR0UmZ_*bRVbssc%xVOB4*vbLS
zW%Vs@q*=pL-QANf7hHoHZU=z4sWtRiQ&VxCfRx2-y{49Qb-n?v67~ohc3B+AJQ>MT
zwXjL!fysTjE0y@uK6%Mm+vy(M?r}ip?YJkrW+|cg`~={oNxR_rm+GHx71X)9CP<5H
z5DLK1B|L*A88sEFyFuu>&!_t$hPw$gEF4B!_^2_vkHmli8V=e>j~
zgQ${dBxO$UTz)xEr^zd%nNhf-U7SAc;}@O1O!x41k4cVtyX5ls>^$nb{{5TtvM`B>
ze%QVGwhnh>w`rHz*RsF?LnYLT-+MK;iH9Dz2mpAk~Kv
zXkA9Qv|Oi$P!+$2ft+@kgUCw>y!d^aW)5sZ5m#ZpYJ;w4SeiN)3PXFlodLl5v$_0n
zL%Bnw(p;-Hwz9Jzk1Zb0&1Au*z3r!eoc{luPhN8NRdg@d?iCDOZ$I^K|If)SEuNBu
z*`awrZ65ms$-x>~)G1*-KR4$Vc+NsYwUO_*bp7lz{MHFZeQ}RbfVLi8ZmbylgOyA4
zkpz)FXHlK~hlC5$3Ju(N#^~j|6wyRmmf7bs>CsD6t9wyM5Vtl94_C}9H1bW8dorXr
z_Uqsbyg=x^`T#fv5DV_ndVzKwOjX&Hq|s@gUOxK_x)*KtIzZ>`xF?*xB)pg<$RjMl
z+^nWnL*+VPGgeHc7(LCA`%t7H%rCg`@`-9$pm6Wa2<-vvK7dne>}oCvTb9>Hm7B$1
zja082L|=grtc$E!n|afWEqpJPu`BKeHy{fY>Cq!+1u&-Ce>~RB{tjF{*dM?RL)!E^
z4|FpI5$l9P3)zOz`%KbfM>^tZJC^Txi80>pm4No`C!g>qr>2tpy`1}zr?$bk=p1}u
z*8JkeQZ(5Iq5A4u1=Nx3BryEp0C3SPF6YM=qytV)th|Hn#oN6e
z(7yfn6V7;HQqBK8fjW;aSL(HHw#>-nz%D_9S&wI-xnN@g;RY~eAC0U(D&c2mZE^Od
zvZS0h7Bf)y)zDPf+dKyrg(C~2le05f*j)-ER}<%8AD*T>SFtd?t-5_E?vnE!35KmV
zF2=K~7b9~*PH$~VY%X10
zqWyJZXInCW*PUB|I3a
z-dYTK&(osGdCb$N?^yoxJ3L>;-L>6k7`onm{9paiWBP{Pk+k)aWeB&9D$EgKOl=bn
zatSm57d69ys@z3eYh7cm82c!g_kXZzKxG(Ko{VbU5TY`yEBw(?&5~Mlx$H=!p<
z4UA0EJneG#6cZ;ZaQnV6vmfPyABrn8pd&k{rpIiQm?Q|d8?vsG_
zZR_J+u`LOWQxbHSn#L!BRA)8$w6P{XY%V>dK{^pi7*4u5a9n7{Y)GK?-bT~Zi+K8g
zgF0YBRCKe5&xTrzNX52kR9$Oa8$jo}m(?0*TKYugb$G7_hpncoA-4_-VAwL506qr{c^zOQ>z2YDSg>#vX)&XGyp8TVM
z`M=K8ag~b!238PP(nBIV@4oHYl}M3mP2nS!u}1bsp)g>}pMB|3L&%p4Qm^vn&wu^x
zXVd*;yI%p?wLuu0G6pqE!dFK
z=fQ7uLGodo_PNXddOO|Ew)-WZecQU_)TI=KIVFL2Yx?*I^IhwjBG8l^Q8#5an_VAi
zs3k=L=pqV_$bbO{o)IGN_K8My}skwjzsO3#|4kpQ~OnlKjqc;N_DyVpZ~
z)8v8)9*te;3179)EWYYrzV@~o=zhB0uK`_eKXT0PJuOx8Q&OF8^Lgf4Zj0wj>pnbY
zwObe8OL3)9_}xNc=1&&_nvf3$%f>yG60Iqjm$-+n=Se?Q*7WdQBl)-9)RUg^Ghe0ucb6R?vcAzf9#!08i_OYPgG
zNPr5-fPoxD!%-)pdEKKRu5-zg&XM3Pk>QkQWcRE=5>D*f
zU6}6m&3jrpcX|2TyJc|dy=D8B19ZJ@T{?Ahckte=tGzrm>CCOEFqSfVYr+zl8A+wz
zHvfR;G`~}VX_dj6#Z
zz(*wXZB8iMoB*HxXmbK^dX>#4Pk4~?oc^+xVVBM8!OI!AsU~)&V=qfzFLT=`5H~w6
iTK
+
+
+
diff --git a/apps/web/public/images/onedrive.svg b/apps/web/public/images/onedrive.svg
new file mode 100644
index 00000000..f7d7a6a6
--- /dev/null
+++ b/apps/web/public/images/onedrive.svg
@@ -0,0 +1 @@
+OfficeCore10_32x_24x_20x_16x_01-22-2019
\ No newline at end of file
diff --git a/bun.lock b/bun.lock
index 7e4ca681..1d76152f 100644
--- a/bun.lock
+++ b/bun.lock
@@ -121,13 +121,14 @@
"dotenv": "^16.6.0",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
+ "framer-motion": "^12.23.12",
"is-hotkey": "^0.2.0",
"isbot": "^5.1.28",
"lucide-react": "^0.525.0",
"motion": "^12.19.2",
"next": "15.3.0",
"next-themes": "^0.4.6",
- "nuqs": "^2.4.3",
+ "nuqs": "^2.5.2",
"posthog-js": "^1.257.0",
"random-word-slugs": "^0.1.7",
"react": "^19.1.0",
@@ -224,6 +225,7 @@
"@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
+ "@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.7",
@@ -1050,6 +1052,8 @@
"@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="],
+ "@radix-ui/react-hover-card": ["@radix-ui/react-hover-card@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg=="],
+
"@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="],
"@radix-ui/react-label": ["@radix-ui/react-label@2.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ=="],
@@ -3390,7 +3394,7 @@
"nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
- "nuqs": ["nuqs@2.5.1", "", { "dependencies": { "@standard-schema/spec": "1.0.0" }, "peerDependencies": { "@remix-run/react": ">=2", "@tanstack/react-router": "^1", "next": ">=14.2.0", "react": ">=18.2.0 || ^19.0.0-0", "react-router": "^6 || ^7", "react-router-dom": "^6 || ^7" }, "optionalPeers": ["@remix-run/react", "@tanstack/react-router", "next", "react-router", "react-router-dom"] }, "sha512-YvAyI01gaEfS6U2iTcfffKccGkqYRnGmLoCHvDjK4ShgtB0tKmYgC7+ez9PmdaiDmrLR+y1qHzfQC66T0VFwWQ=="],
+ "nuqs": ["nuqs@2.5.2", "", { "dependencies": { "@standard-schema/spec": "1.0.0" }, "peerDependencies": { "@remix-run/react": ">=2", "@tanstack/react-router": "^1", "next": ">=14.2.0", "react": ">=18.2.0 || ^19.0.0-0", "react-router": "^6 || ^7", "react-router-dom": "^6 || ^7" }, "optionalPeers": ["@remix-run/react", "@tanstack/react-router", "next", "react-router", "react-router-dom"] }, "sha512-vzKeoYlMRmNYPWECdn53Nmh/jM+r/iSezEin342EVXPogT6KzALwdnYbZxASE5vTdXRUtOymtPkgsarLipKetg=="],
"nypm": ["nypm@0.6.1", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.2", "pathe": "^2.0.3", "pkg-types": "^2.2.0", "tinyexec": "^1.0.1" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-hlacBiRiv1k9hZFiphPUkfSQ/ZfQzZDzC+8z0wL3lvDAOUu/2NnChkKuMoMjNur/9OpKuz2QsIeiPVN0xM5Q0w=="],
diff --git a/packages/lib/api.ts b/packages/lib/api.ts
index ad343050..bfdc3ac0 100644
--- a/packages/lib/api.ts
+++ b/packages/lib/api.ts
@@ -187,6 +187,11 @@ export const apiSchema = createSchema({
}),
},
+ // MCP operations
+ "@get/mcp/has-login": {
+ output: z.object({ previousLogin: z.boolean() }),
+ },
+
// Waitlist operations
"@get/waitlist/status": {
output: WaitlistStatusResponseSchema,
diff --git a/packages/ui/components/carousel.tsx b/packages/ui/components/carousel.tsx
index 2462c404..2326bd02 100644
--- a/packages/ui/components/carousel.tsx
+++ b/packages/ui/components/carousel.tsx
@@ -181,8 +181,8 @@ function CarouselPrevious({
className={cn(
"absolute size-8 rounded-full",
orientation === "horizontal"
- ? "top-1/2 -left-12 -translate-y-1/2"
- : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
+ ? "top-1/2 left-2 -translate-y-1/2"
+ : "top-2 left-1/2 -translate-x-1/2 rotate-90",
className,
)}
data-slot="carousel-previous"
@@ -211,8 +211,8 @@ function CarouselNext({
className={cn(
"absolute size-8 rounded-full",
orientation === "horizontal"
- ? "top-1/2 -right-12 -translate-y-1/2"
- : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
+ ? "top-1/2 right-2 -translate-y-1/2"
+ : "bottom-2 left-1/2 -translate-x-1/2 rotate-90",
className,
)}
data-slot="carousel-next"
diff --git a/packages/ui/components/hover-card.tsx b/packages/ui/components/hover-card.tsx
new file mode 100644
index 00000000..bdf3ce94
--- /dev/null
+++ b/packages/ui/components/hover-card.tsx
@@ -0,0 +1,44 @@
+"use client"
+
+import * as React from "react"
+import * as HoverCardPrimitive from "@radix-ui/react-hover-card"
+
+import { cn } from "@lib/utils"
+
+function HoverCard({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function HoverCardTrigger({
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function HoverCardContent({
+ className,
+ align = "center",
+ sideOffset = 4,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+ )
+}
+
+export { HoverCard, HoverCardTrigger, HoverCardContent }
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 2a1bfd1b..7c2a564a 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -12,6 +12,7 @@
"@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
+ "@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.7",