From 167dc3a85ad29008a77691b1ec09ef8e0eb5148f Mon Sep 17 00:00:00 2001 From: Xinyi Lin Date: Fri, 26 Jun 2026 08:53:02 -0400 Subject: [PATCH] feat(editor): fine-grained spacing, small-caps headings, LM Roman font Port role-fit-ai's editor improvements while keeping jakeforge's own controls (merge, not replace): - Spacing: replace the 4 spacing sliders with 11 grouped controls (Page/Header/Sections/Entries/Lists) + a saveable Custom preset. The server LaTeX template (jakes.mjs) is rewritten to a separator-based spacing model so the PDF honors every slider, not just the old four. useDocStyle migrates v1 storage (old entryGap -> headBulletGap). - Headings: render small-caps on title-cased labels (matching the PDF's \scshape) instead of ALL-CAPS. The Uppercase toggle still forces caps; default flipped to small-caps. - Font: embed Latin Modern Roman (woff2 + @font-face) so the on-page resume uses the exact font Tectonic compiles, aligning line breaks. Kept jakeforge extras: Uppercase/Underline toggles and the contact-divider picker (now flows into the PDF as \makebox[contactGap][c]{divider}). Collapsed the triplicate spacing-key enumeration to one DOC_SPACING_KEYS. Co-Authored-By: Claude Opus 4.8 --- public/fonts/LMRoman10-Bold.woff2 | Bin 0 -> 47420 bytes public/fonts/LMRoman10-BoldItalic.woff2 | Bin 0 -> 50448 bytes public/fonts/LMRoman10-Italic.woff2 | Bin 0 -> 50384 bytes public/fonts/LMRoman10-Regular.woff2 | Bin 0 -> 48264 bytes server/latex/templates/jakes.mjs | 260 ++++++++++++++++-------- src/App.tsx | 131 ++++++++---- src/hooks/useDocStyle.ts | 153 +++++++++++++- src/lib/resumeDocument.ts | 16 +- src/styles/index.css | 20 ++ src/styles/resume-document.css | 36 +++- src/styles/resume-editor.css | 107 +++++----- 11 files changed, 528 insertions(+), 195 deletions(-) create mode 100644 public/fonts/LMRoman10-Bold.woff2 create mode 100644 public/fonts/LMRoman10-BoldItalic.woff2 create mode 100644 public/fonts/LMRoman10-Italic.woff2 create mode 100644 public/fonts/LMRoman10-Regular.woff2 diff --git a/public/fonts/LMRoman10-Bold.woff2 b/public/fonts/LMRoman10-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0bb2c6cabe94cf6094c0a3df5976089e9a512167 GIT binary patch literal 47420 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%0D{uKU3W7abJxgI*T{u~GL; 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 Qb9igVmy<1tp9KH_05(#jv;Y7A literal 0 HcmV?d00001 diff --git a/public/fonts/LMRoman10-BoldItalic.woff2 b/public/fonts/LMRoman10-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..54c956be5a5f320167d846cb67506982aaf91cc6 GIT binary patch literal 50448 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 literal 0 HcmV?d00001 diff --git a/public/fonts/LMRoman10-Italic.woff2 b/public/fonts/LMRoman10-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8b3332e587714b366e108da4bd137aaa43d58a00 GIT binary patch literal 50384 zcmV(?K-a%_Pew9NR8&s@0L0J$3jhEB0njV}0K|X*0s#g900000000000000000000 z0000DgX?-5g4}K#mO=(#0GCbyHUcCAnN$P@1&lZcAX{V4k-QA|=VX zI!;0NpG%E$+bP^OX#ADvs__zTjGo&8Qk0XY8T|kM|No+85@UJ^xJ!};9zayJYOC6| zTc?vS3b#m0ltgCNdnPOg>E^6G#zde7F@;6QdB)OU+$IJ`tn03X43$(#m3x)V569Y_ zR*_i~tB6oZl~l>b=QoWwcHMBmRLXQIb3v)s8;XcfNtMK^RsCK4IGt9`7&1eIaCdPO zeqS^*)6A^3hw9^g-0o!AoTb52nFsIZep!*oM3p|Mq)Mu(b=&efm^h8ID_(pGe1Z`s z45Wpl6w6G9NB2?6PWgH$Y-RZ}jemgi#=34BvliU^3IF~f;crJ*9H#MQnoYC-VX%W@ z%3bV5#XKXyNwL2Jg~OjU@WPN?oRLE*XIq>G!=N!$iciOt;s+;;k+{9LRdj3eufZ?w zvuVAxSz5U??!UW)i~k#UdC7fdhLj?`oC`e#p<+dmnT)281lNBr?dv2v_-k z`u*Uy_PHO`knri^36f?F*&3;mNrgyhV%7W+)$V5k3&4|rEKTq>er)QST3`Nf)s*~~ zD_2F+rS1dZ06JkqQu|Jnl;FCEn9T;`}X_cO`quO z%-wxrUj-3Qi4X~mUO646gYA-H*8hLr-)vle&Rxu7I&<`ezuy0@ASs3nF_W#ve~zMl#a0MnE3pwG_QvdcIS;|o1J((@XoU;1cN9-9Sv2kPvB|C!w@9rlh zfkhej_c?ukTo*L*u9)bKbUR(OAJ%0g0|jk~9{gQp z-t7<53`G)pL@Yd#y54aDy8r#A{r5vzt5*AOuq~}gSx z#-Z^9a56n!Ql+pN5>7UA)r-(NY<{oKZ@}G6Hld^h3gTf&>E!nV(YNnEo&8SfX{JBNKFE3!e-6bz?uOYB$!0d5Yrh?oZxn@^4Q<`RMjcs5k296OnK|VS42|; zT$x&?GXTwk?*Q@*_;REyPtK;tlYHb{lP zk`8DP(tpyIbpN;Hvdyx#*xo8{^~^R;+Vt%O2PH6oY%eISu%G}O6o3PG0N!?ZFb@y; zC;ESBn)DMML4j*<(x%d4D>9)8&R~};K9n(zfB3)er+5Em!3X%=8m6*GO0>UP12UGHGvzJEy1sc%vs|HZRL4?v4kMV5LXNPF1Z5>@AiWA#nS1PAVEa_ zFyGGi&6C3=d%TKfjPQ&nT+aw$gehrzpWY*3>NG654&x6$bvi@|CKw?^FeXHsYe8gT zVVGqc-w{E_Ca=DH@TkJ=D-%o{2-;|-ovxJZxbhJ!N}^1;$_z8k zbPMcs#uGo{X7TH{{0-W~E!z6+-tnE?rQO`! zz1)}mnGRWukNt5x?#FZjPsoWrNvHqGJUOTEl%2{m?o2!j&$6@fY&m<*k#qW-KlSJF zd4C$Ei^T)RB1DWVW$Ls!MIM?uJQ^00c;Qb7kz@c;MFSj$;IqObfFTg+DWihM3ll3# zlL}L+a#W;RwW&{w7WU!0`<-;oU8kIP-I`->IMr2da<@l4@9&oUA;~SzI7ua&e8wk{ ze8{jd5@s%8Ne`I%v}YtUS&Qi(d-h(dp~hNlqm!F2(ME+@4Le=mhBUruEo^xk+uE)U z7V2C#DpPyg`x5J}G-LCNU+S_~y83l&Y%`<3#HO(&ck~LWmET;-21+CqRkt)*;g~Gq z^pHWQYf}KeNm5D%eTMiYFf@)xflar3-Pzrsv##WbN=coufqW&RQ}Qb6+mHiG)%qq5 zoH?gat1fmS8In#~RxVKmGDoVjb9k~M7??rA6d8{k>ga>R99vwFpu~g&9}!Zp=x3B^ zR$1Iqm$t(utk|%ll**!|YNM-Sd(_BkbK9jYTGzrhoit1_s?a1-BrU=ao$Sb!0Afg|h;nLZqLqI5%(KoyFk^*QX-%y| z>pVx-c_SE|7I$fk1KwC(cC&tcZhr#=%fQUW#TPwRg3t)aP+?>cKN-r*u*M(D9zbu(l^R5mJ?1TqIQE)`To?KgT!i zV-W=v!iNfXg3}Wds2Q4p-EXBazy3Ec&lj=WahVX~G9kugLevQM$ug7G0J&+YU32b0 zQjZ3vVomIVeO?FFEM77R}Qx!DnFZj+D%@)=uO_qpgJ!=m=etaV_YRFgXQzm_;eT}X0JXxShP;`8)8b- zTT(V@p+h@*t^Sh6d&G?cE~5h@)1o~bf1%g4>pu_Z`SrV3$}ub&vi*u>Dg6Hknp%TH zSUHMcU(;(q$v=+liK&M|v_JPBqr1xP7zlBJ%nBtt z6(<|QuW?#Tef(r0GuX;mp!3Ya}u#fBk22Dr#UokSXnd z;o>8xzfcW5DxnUHhb-+>aKrFo;;-D&jPyWnV$ADreJ-HE4a?WExlwg28v@(^MLw!% zgyd^Gqsci)q?pM#4=qca_Gm82=-(3US=QGcH!F)mmcA2u-4F=xee}3v z(aHgae#i^QuR1+}O_L%55pk{2Bn#j2E(qk;)lW-xOLHhEr!+q7%S|FDx|~3E*0@jt z_uTO}baXl3u^CAEvG26MU#;KLhc>~=2eM!w3b>~rORM()wA<*jsvD?}9&IRc_eLBP z#fOjv@nr%7LmWAeoWT}?v7}rcKr$;>j2r`dJQo_{h_Y0cGmz+8dtwvE)@_2=OLvAi zQh5%G$Pr;FEIY70$qC|2+?jK^ENWDjp-!eSj50t71Zyoufjcu_bja)E z9*#p{vxWe6{Aoj2gCR!Hhr$Mx01bs%10bX@VZ2aVa2qd*_syv`wik2@ZsRpY-e#@i zd*QcW7A6FNQiX6KQi>AI4cqW-xOuNl2+!8ACvKso81T*v0Bs`G!I}}uk+!&^Xw}v_ zrCgNhpb3^mr#>#_Zik-=526Ku1cWzWwuErRpoH+mp@c9IN}@#56apm#4lx_<4Nq^u z#ITC4Q-n@p5AI&$TM7Z4@a?-VN!cBA(|Jc{w~rY{*BQ*HJ2LEk(V@SpfvQ`vGCt^A z-c~wUG_@ve5Y5`<@@X~0g=pqGEkZwgBmoGIL`2;)k3{xX^*+IZ;1ggz(=BvGB~BbO z1HsfNNmF!>rU!Hh(t$IuozBNp?9zxgl5DK4_Vx1++2Ig~d~lFP-0q~CRs|P1qryCt zV0fi=PQd5_I!cWr9ubBxxC92mMLNXL3)N_e!wr^uycDp#Ap%4Y+M_<$6MTljNWox&iCRFy-`v5y`L2g3`yQvo2Cf$ITT zc9bOAB;~Kv627l5pXq=q7_vuB58w4_L2}9-E9;1J^kJ1*PDtPC8}-`jNY83JH} z(vl|Qlp-0XtTi(3rS9t)j5wat+6iaQcI8l(gG?!@SjApRwIw5GMJ_9<#c-Yh7^~s1 z21}}KG0@4N<6}xWNDeR3+*#O9nUi_A78E-q*ODPS8m}9JJ0I8LVn@hr0y)rlTT&i; z+@{Jy+Nf3?0Ne_N1A#k)BdR;)uOq-aZ$&Fd+Q7*A?q-#FlLS96j#h#0k6t0Nns+dk zynMi>4pXWxecC!$JHzFbH85``;XwN$%E8(BaF(#{!dgLaR2N(ofwMy3t_Ko85rj~e z1fek}Ij!JQX*Rsr-#LsKTI!^%dG&<O640WPu zm*Z#@1b))Mdkb29@$d)I0E zoIeJhp;;jZPy`4FP^o`Z#@c__r8SNE-aPo&x{&LyFJ^A&GC{>t;Z6A!mj%L&PMc7f zWCc}Tj@5DO>&j(iDb1x$svk}w*K)MA^h`EA)6nl+nLhOk(*ma_AI73n{^7r3Ez!)7;c=4*_GY6>eq2WyL~zyp?ZG*_5ObZ=N4yy)5N{# zSEJWL{rd>6AugkP8Dl9=&j!G%caUS>(U;C z#~yDom&7r)`)sVwpZAK%gAp|6pn(z01N@GTB>3v-&d&I3tr`!y-DqHu@g!aLmImm^ zsQDwbWUvLL3vrS~Zs@S5;VTKNd#-x3qFlT4 z_pE%+jNm7&tVceQW|Q?c9AimFtbB6|44}aVxFq$h2Ist-miEc2H<5h+L&}IeC-iO3 zp6@Dj89-6zod>zuK+rT5EMtSvc|Hf8 z4|nlhV9dW2ItVlr|J6E;_O@SgBZMzHk*m1SkBSxCSaEgI+3y^|0R&KBMx{fty`#zT z6BB4g$}@o_*=5Aq!pZltNRR!ieN2E$qK-ZKbr}^cBC|j?&-FaLJ%0xZ@n}f@Md*?# z*|J)y#o>Bg6d(n;C_#PXc@omy=r5Wt2zf20vITH?oM1+=3n~azh3G)FnTl0XvO?!Y zXx|ntJRc+$)wkyCVAI}L!7W_``U;?3>IF2CdOE5!8JwV`goHJtIbA zq_rnDl7y`jd&_sg(DLYb2bKqK|hVs<1>V%6eCa zUIi5_NTG`KTj`0(yluvZ=J!+k4;^Ss9Gg6~Wg*bZcZiY`n-VLHi=D$h67|h#(~)&7 z?#m=5^|^%*)JH;IA88#+t(7%O%}VTHDkKc{9DhtIR|aCdpz_r z@L(Bw#AEa5ndRX$mmC99EKW8I+ULEn>gH$ODH=O=TLbrC^TRjZry1QjVA;=2N{3YM zCcrQ;I+CLc1>0s!DpE4b7;<6_?L;d~Glm|ZkmeOxpO8F*GwM$xS5vkTlY{(5BN-WX zY@Yu9l-64>Fli|%rjZ8Dky{r&Cw#CnSC_`1iG$hz~+H!Q`fb19)58s21&`Z7aR_FMveb16y8ONl4 zbUqCAkzh++Q7N`!wp?cRU!<7I`t3ZtqY^M(QC?r&g7}v^+odfRUSjig~p*vi4lU zSnfEhb4SCeHjs0g^TJTIPtpYx>>6;p$Og{Dm>`-!=KGVE+@L$US|(UAU_eKZuZ$|1 zb*{V`(Lz9kO=F=o3jmBjq83TRhfexvtM9Dc2IKCaj*kc3+UllWoB@G$Jo*xv3fk*^ z5>kejQa;+&yO;XYKTi)f^-LL#=QghKh*nV={KxC4=MFSHXr)XS*@^>#KQ*qgK&?wr;7<>neMJFpn+b1Y-EWdyWi>d9TS> zN06JlzlubxBNFq59}+Waf@_(hJXq2!Io|O8kOcL=!KBp+y%u9N zL16BF&6s(y`4Mq@_*2rA_@4yZ(G6M7l_F}~_#ee$rJzeA)O1t8ZMxZeqk)QJ*y~d@ zz(EdpTR&J)G-~ce)c}dIoB-YVmF|Sm<@dpNaE#1ib+KP)Ho$^L>$GL5276X(((TVQ(V+eR;&p}?MJe)? zs>mL|yt4?rZk8$_yHpa*>OGZe^R^5P^;b-8fH~DprVwhBRZUkelSyYGe3Fgj@UY&$89zAq zvMv?unE`Y#IqU&FoL)|HZVZ~IO5-8%3Vs1KXWjgudN!wQ7O%*={oA-0!Zi1 z)`B!QNoNP*o7_H?}9&RRt+k8M#SdFo}XZbnb0dwh2?pNJiFB$UU(l@+1~J(Dq{ zqJU7TK83Zkf)m~U324cz(X1X&^;;zSSp$3=HWK42G~qG@D?v?ET7m-@#`7cTWIoIC z>;({!{lN?4n4)itQc2AIoccQjOHtG&=u|twg-7nA;>?~yYJ)8ZE<$wU*Ll}$n`h_7Y+ZHLxgw$DBN6SS#}K_4$SW}puM?A zv3vW|knSx6-ERP03Z=)Vk|7nB5inIz2rn^+{TW>U@Zd6~P>5Fma6cy*Gw2(jx93c< z)>;rt`3g^eSCbzkL3KiM)Wz?`3znh4L*hYQUhOqZPEd^1m%e=2r_R5TfO<#|pMdBLIc1(^uXm zIOzbqVT=q}BgpVV=ge!zm^Z<$ zmoN~-sWO>nSC-a>LUi}CXAG=x6(fruMt!_%7@G0nmjkT9I`g=-P6ky?`OBg5mo~ACc<=)_5nXTZeP6Ytj79;9>(L&>@31 z>HvyWojj-2acfb%7wF@d1^o0*Yf^`q_IyJEv(+4d2hFgS%r;Sn=d@{-HM`hbzb}zo z&#lz55GnNfxR)EZlDOt$k8j1@@Vp}8dP=8(WEr21eNQQ8av8SMC)}~d+^Hpz?2ykg z0&N~>^0TK_{Yd|RP&q|DN`f+abwyl};5)8V_?LuXgTi)x9)2gr z?P_WNl|o(mJ(y^KAC^FQGXL4ASMU~m8n6dQG}Ycr68;Jej0^VRM6hl%U!cjetD?6- z29&Y5*~&x&bznOr`JeILB8{D2iPjk=;is+q-l4 zVAz~Cc)|C$47JC^U^PRU+Jb=uKRfus`qr)^ymTtfs&QhB*a$ErjMQVIi4JE@DJADX zkf{H!bt+1ss?lLAUz0P8#N7JTUxc=pJi6g7R0z2zhtt4CU@Wvgo1agH@@4M2M5je) z(gaU+HMAc++aSrlxXKi5%jLRpR3s*4J})unG*m`+6Z*&EzYHl-2wtsA58C5E^ck0OEsM+x!D6vlNCxpjY0 zAS?UufZ<$~aIvj{blm(Ocm335=l~2`?>$6&9T<5@N-l@eK~VDjB9FyY2J)F~lxHog z9=QJ#93ztVPH%mrMV$Y>w)z_ngy%jMjs%EFL=yD=T*( zPnx+fX`)XZ3N}M`_m%HF~JHr008Rf#8Vfn zI=@z%r_}AakZZ^e_Tygq{{yU=$TEQ)KuDrGjtDUfDp{))_;m(OuRm@(rr6N%bnHts zsMhA4K)nvc!ftZ+#m{}c4r;JwT5VoJ$?StGuNbZOCZl^GaGCoxPGnPqz#)8O=dqFP zoTY`Pj+8KpQUV_++!Pv?7UGo7F>?S>hha%kb^Yo;Sbs70A#0*qIDW`okG))SD&+!a z-S2GfRwtd8@i5rEqf2)RhnLCT+e>Y{_FD4~4(}Bq<6_T${Nh?S0K7orD)J`x9sAk3 zg0&jMT(@TJ$tw>5f~Wr&h?d|kehlb?3ZR)l`_h7949b1mL2;2Wi^9(iSZ^J&|hr zrJ+d(^Dg2jg@vvGuf#PyU@wE8+g@ESxnwPm#S$i6#4c>dfz)5bS1oq(WNDLVZaeF< z|A0*e%`6ZHe9PLsXT2x zG%Oy%4}^*tJe#8v_uZl?*qcHKa-VMOrINjQ#Z%z2Qg$E@6n0Ep2CO244ZDxcXtx5y z_J!s21a;-V1Bbs=&~w%UxluluB8~Hr?c1kk=aR+M;}wx}16DPZp~=?nK0gQ7bCbhQ zE>`NH@bg`&LM*+0wohef_n28TAt1py;b<-4DdRLZrCvUcIQo(I-aTp@{3Vq;fjw>% z$Am2L#?z=nnsrqJ^oyo#3k+IP{)SY&EY4L+@M6@`HgSvUl7RL(Gs7|vTFAi4Hluk% z19-VRseD6*<8I!~zRPb@UZPEB@nC_NL|s6>-bbxLoP7*cN9hG;dSQdq(_<<3fK}1l zWC!uu!457+d_g=KUdEf+`GPeQUe|= zg<|txoz)605PleW%nckc@CCRJ4IG&|uH{tMQT@J50iy_s-3emm0bWOG2_s*OOf|*` zkFB&OaMF@pFrjBDS)X|#=Vy^{=l6#})8-uur$0971rf{mo8r+aF;w;%3Ne~5(uNHD46RdS%xQ!LhzJ;BS8$aW?pwvtTV zB~?B0JRw$cFn`riJ|Gbe+!V{?wEr8o?)~`iE@Mcrkd||W*5A$JKq+12I`=)GZ{E7Y zZ&9UqG{2nG?ygvGFGz1yv=#{`xdA_ch8exRcfhAqE~XbMDsUx_lS$NrPNt;N-sLwx z4G;hUYG|TB5er*_mWB>c%>21aDz!>sn9ZX0;QiAnG!*?OuQj9+dYwixW*xjR^Vwl# zp>{QEIKrik80K%jT)dAl8?W_=L(MdjGEdp)iB*}F9-MxI&CZ&*5Nak?o{*B==s;Wa z0!Pli!}j_=Q)&06aw1!{Wr3mXs*p?<+E#adJ=G+C0mu_1QwOg}Kw?IA`g5~&snPkM z*W>quXQ-8(>HaPQ!#5(Cc?k>~F*NkkclV8> zvSl!j!r)Q#9X)HuI2tCCz4Z8`f(E|l2Pe2yr1ly!wy<8_Uk$i-m6dt*5b|PndsMXt z@8ES0C=Ns(Ihj>$@9by?ZS`}X&NblV%1`1`tCH*>?OT5S;)w=zZ`&WMWGG`zpEjs! z=JoBj+|T{}`-6W9G5A~Yx*1g=r;NU+L(J#QCyF4=tL{Q}g zGj&$Zd2rVMeOduv#kV|EU)I)hi=N58tV>SJ!>l{w*Ivpc(hM}tS;9ly5j3o>Fso#G z)ktq&>Iq|+=EsIYf#yGCeL$hSRa+X}0Mn&$5!lQZ4iYCX05;-bz1tDJY7Ey*tdPXT zIgoUQWdz`wvA@E%%+B|j?NmpMKgZtf@)P5DOitX?H=XaTuQDX|{a2s-$xQoWJ71`ZN)1J-h;~#0X{jEKD?E!@bmM41S<{rLJpJ55po;c^N7W3ma$P$#88jN1mo@(D}GveRM)odkX4ciV@ zT3C`_mly5B*%|l?vVLf{&M@QFXJWu^OT`3KBup$VfK+QRiUFcxFAumRPXmh8%NE@X z>RM#zGqA;8Co03Z=>p4;Kf1wh6cX?N{~5cb$?lGO-Ebf=&Rtg*w^skC+GzxqR`Vy7=ZImxFudYVhGTWC zdD{DFV6;ZSe+!MXPq4j;ZVlU&HM&}cDEFgtzxi+;1Po&V1gwAX!+Gdr!EJSjimIkQ zc548ec~FGYoQrZ_Gy%!TwnWRQ3@#*_1~jl+^o%9Upe}{n=L{)1yCY2GKE0_fTzu-- zE-D)v{n7P>R|C8|7wRaZWL|-1_(3BCIZlK7AvokYyQ#gHf=5dk{Bto$axud}EibZ= z>m2}`0M`OchR{Lz(VbUj{A7HY+r=ywr=3hO#bQ((_{FhYzzC`s7P6IWI2sMpL#Yi2 zos8$AoH&tD1YS29Ab}iUfLrf@p9C-dlknu%KAg?9WYKnRGc&(C+m`rxI&@ zh#j#SW}Zu_&hD4Rq*E(gUl1V@Sko5=Mm8uYP>JSI_4fyQ5{LFQccNU(x8O8qK~TY3 z-4Uc8PH8$1>^yd+qlAoT2K5!l7W9@5w|8mWUrN_iF|)weH|pyE3_~(j4r4RH_?{x! zNp_Q6q;_&5*+({!Q%ClbbICz+fE*%q(3Tfa9 z?$8x{p&jS}-M|mjfbQTAZJ+}%&;tUXCA5H^5C}t|BlLnG&>YbyKUfJBcv_f<1MrNn3$EZ<2jie0 zT1)Q2a2$lpa4>9!Y$%Cp<4|+}&r6P>gLpw$h3di>9FC5`3UnMVicZ3492sVjJv5$Ci)*nJ|EC#D}6= z_{eRThhrcQY9K#)5TCn+<6t~afPHWiUq9FnxA5(70B+;EH*gT{;78H(_(^PyUQVvz zSMj^ab^P&A1O9rOC8D>m0KJ2$FdIhVB%Fdi;{Wm)u%6sNpI{^UjGN*YGMzvJb#Ry5 zMBm^L+#{NT!*HMI>fi`GAgx19hq*8Tj>1E-gR~9!o}1hS{3N$v2`opy52nBjmPAB1E5$*;j;0cLN;=@UJ zN)p2wb8F)d4hqLgKj0^+G=v#0OUXjU1 zuAq7}0lT9GXi@AG=!upbcEk?Y7p)lkqjlpzwDD%z8;77HxL=$Zhv5OyDI9_B;%M|J zjzv#!Ja$Fzu|2lKE;tz*4otIE}D-PqSa`}q5bGEI*Lx?+URz4FM3M0 zk(uZj*^XbtZ*fEP27MsC0~*nPSfRlN;5NAZ0Xv6|jjzVf;>LV^5=y&zxTKV_QJ&8QV&|x6QMag4^%(zLMbbU4HHSUPZgHc0* zCD0OaWKv2!Y`UlT)Zbj+(EGHnW1a6h_gk={eDMm7-;(9z5He_DI@DkUD|ja^rD;xg zrt+f~l9Gyy7nI<|wE<0NQOn!hzRvgmw`V=9qSdyPEWO~q;O}2~Q1)$4w#jzzTbY9S z%#$+p*T)|J&b>C1A*WO_mhX*hZHGJGgMDzx;WvKfw(s73_V)Jhu&i^;DL8d!yz|YO zbdm1AP{l}&*=ceOFcT)oWSVU6m>2O{-Z78;G^r0OQ)0~&GJJUkNR86&Xy@De7V8dmU!B`+bzs-hc>yBgGU!kujO9p<)ToHgki&~U9xDIiS$OsD z>0V1Ieo!nPVR$;xVIx5wiwc*XmU=W8vg`@dj{Cjb%3s;J@r4;)<$u1nRe$rC?x)=( zB`>X{v{as&lab=I=F>czxAR}_&qG0qRjP7SsG^sJl37Z&-M1@tBzAsxHg583}YIzSoH@!(&VLmTWAAAU#2aFW3h|KK4mMi6J!H=Oy`gNa(_OOKO$fK zkQAWzx#G`V9TI`0Aw@_X(vFNH0(7S`AANu}pk3%ZCafaHa@brI6BQRM25Z9>@i4rf z2qz*5kZ30#kvGXE5~f5^B5F3u7G;l0peiUX^`BPJlQc!OqO`QNmdg3%%JSE;ppsqb ztISk)>bh3P>zeBA*4tTQ*LCy-^*;?pBi@)`pkZK(u4M^^4u-*OI$OoE*nSpfS2(nh z9p`Z+Zl;l`k*!exm(JC3L)-%QuSIK_R<$+WSjHG_Y-tkLE@`*6CwQtUgHPh?_+EaN z|0NJGvoQJ?3dTt&6F*|dBrMKTN|VZ^c8M>o$^f2%caYn7WxNp~NKH~p)edz+UDL=U zxmMN|kniekGKx$hGxR9^n?9lo^gjkdu{UzY3<`l_N&P}qqUunwR9mWt8EnRxIp*vl z_XW^`ZEyxKPzMU|K@4W??>OhW#8s|$rziX;FKfbDwl=IoD{Yl6)$*;$_$MKSsYz@4 z!p%Z{6xCC*r|rt#v=8j8P20fUtdi<0L5uXT^Xz!eQU|;j?$2BOe>}z0J>X5v6aU+v zoctli3dF3Ng7&aD?1+GMFq&X%Z5tBhMlI1`Ba(UJ8#V=^Ur?&PwR<=?t8z?oclVD6&uA4(J98oLNEyK1>gMn z|J>)=!F8bP6zN5NnLl%?>E-@ajou-(*SKcNcT9U-^6VgK-<_8Is~yoq1X7#yt}N#2 z^i6FB^RFMRm87Bef+bvfu>p?lEQaO~yNTEmtr{I6yg>4|{Gpn(efIv4L((l_v7M21 zEak;g#=uj*DL0k(!8W z>Yjez%yIF#o3T(R^XAuVwCU(z2xa}qmX?x^r8*CO=85c)8q~k4+T)H9M4pTPDP6jF zKlwGp@5V@};|Jz6bJ0OIupxXjl$wQ)Ec9!lup#h|T>J%@z#`Pa#5X;O^9*5Xt8uLq zY99XX0oIhJ($b!kr$LR7ZJcP!qNluNm~WIN6Yga~A4ZqwkIMzD71^ZFU5wvg&n-uY zotbo#;ru;u>ScaC3LaQa=jmOUXCR&jp^)2S$^_K@>MIMB>ut-Z|*lqR(FW-ScR~*a@h)YqHlj z&RJ@-6X!uegHVVtEanw= zuGLHkNAd}O#$<@AVZ7#q)NU>C93Idj$1sLH4DC@0IAzu+Uff?S@IlBK6aV`Oc#!1i zG$Oj3v|bWIoWj0Vi2O%=)X; z0R4i+hb$`nxGcvmYQw_3_T!2C%9vtHCF@(1n6Sg{{$C*JSQM*(mhwypBJx!o{xj2> zc%qsm)#I$tKr;L?>-XuN+`|**Cl#^%szv)XZVmlvTppwjHo)4|6^9e31|s|aL>l!3 zwQj#VbWtR1nrMaKl4H!pIsf8E?|n}PNw&W@@4n+8R^I;F_jVc#uu$NQJZwqpwVuqq zYea~p$_|faTDxzy{ZQum!}pn;qgDEf+9x`#w`Uf6;%zxQ-5d>e#-EVMrHNE*6|k@~ zw%-+8fmZfpJx^~cAF7`CX%v#|k!QOHpV%XsZfYF%0!GFrM?GPkEj9l?CrRVbc?!0G zc6e8|Lt(3~Q(loQ4+}AWB$^8Jo!(Vld_m}0JjyYrKixZX`~=>> zA{YIWOtZgTjg=0zJ}4s;U*;MJo00K}*BlcaCnOxgELnO1M=c_-vim+k2Z3{jWURq_ zq9}qF1;lC}$B|%$E&MncO`QSG$w*fb2bLDAN{&0$3YzrH6TJ)CCptEPHa(SZff8$gO1OZRQ0M|jQ| zx$VRimL=XghIv&0ut0}!`6kbiz`{wRW{#gaX9(9=e9wlRbT^!YUSJ8SE%x(>Rt}n6j`9tXk ze9@hYD+pVUA_-UUssIHB;&n~#Q56|}sO##np5@@0Z@F-!&|5Dm2Ag@lYO+aCR_!SSz&yLX9PNQkKS+W|A-Lv?+z!yDbNI!hiR+^$xY> zO&S9?0q2Apkp33z(ce(`n!n@gLN%!SwDxn#0ES;m8ID87i zcFMTWee5FW8QaFSpBGx97f(MCLPlEmo+<>%>?-r?{-$=RPlGdawOHgx&p z_Q9_Y7&dH*S+=@gY^X7O;KU&l#8u?;yVdNymrrVq#%>i7?fkI2p0fHbH{)(F87G`d% z&WrC{mWcngErm$!*JfdR9?{#8NA!nwWFj{v(VL?}+d5BgN7nhwmW&}Lt_7-<+(`5+ zOwuG_(KqbupplP_^Wk6u2VD)t`fJG4p_Nm!tbmzD8v^=2nPrV7jjh!!O;zS~3=(?O z*4WsUa*vvS{r&<_Jh{D4gZkX_IKEeg%*ZjG#L}8jFcK<>n6iJ*)){mFlXdd%1z4hF z5@P3#P5ncmMfZ%eaw$#Lne`$$K$F^O$BV$PW%Kf(wo<~|>tMZjq$_Vm-lwle+J-CL z=`yE$c=wj*m#3%$h2U@!P~?X_i>W&LZue!35QVBBiGx-z;{|jVzIkKs?yZ+aPlgM) zp%efLWmgWs#KexnN24GKfz&}jygd_TWXw>gkGL95RlND6E0~5iNa5XXv`SZ3J0@EI zNIZu=RYi2pWMh}hZE z3PgAZuxaIN<;t(kSvskI<>Ox^UO9GZ1i5Xii1T|x+khd$jiAemb}qyf=E-nKln$u%Y{1{Zn0L4>a?l8qS9RS@~BVx4RATa zkuYw9ucekS=paVi_@za|Ea_^*fA2;h*CnAe*2rI_BLw0Bv>tb;wzp{yrOH1;>bvO$ zKsWOP;gs@4Wm9j)$~l{r?ec1}0{3Y5h`zGZokarWEb z{j7md=7?m!EFHD&k2Cn~XEwetj)#wgNUmUFaiLs}^siYI`WQkx3&uEz9%RQXs;?W> zu!gjgmL`&?l7=pOw(W9+Fn&^rDhH6vcsA#hFW+~$LlmibeX&b^+KopPND`bF9h#X^wgR;-|H&XKx;vQqB5~(Fk zlHG0g05SjEwaKpdNuc zTeT(F`oZS_eyNWQ(Kgh+%X!{Fs$cGvgYQQ6-{J`QLs$!Qs@0+ADVgIZdWiq~OC*^= zvdqB?z0bp4kF)i2I9^ZVa-`E}8Du5Q)S+w%gJB5BHCE`|Qi9Cz=!b>lyGCq(4oyhsQMI z9tvkXOeG}VwPhk9%p533duU@qZ!o@N{KTycMRuRmVMi?<$=|6=FLp_m`*1p)9@pl5 z4u?u;E1|5km`#SkXNJuiK4OH?@jH^x(a1R?Dm#hQs5TZlbt>&yVSjJ;0gcS?mDxX$ zOwfIOp&vR|Wqfp>rZ@;1x*_p)8X0&Z+b+^tt3bEA-ry@6!459*)LuL!tWh7phXHM< zi%g%EF`jJf08VHB#0r{qhr>;h8Xif9qA_pBi@DBsvN;dS>K^Vs?nz9-N4rAB;`Bn9 zDxZjb{?j*uuM&e%@$i&-Cvj;CeI+K7kw;uRIlRFL7D%R74Ft=hSB6@oT&1aRjT+p7Mo%YT? zeN4*lzId+C*bO_HIeSE9Cb34<&W!nXwqb2--0z%H^w3FYe!KkD zPNjQODUlLv3q$^Q)2N}f+2@X&No!=YT`mwBz%#2z;%DENxb`;z5JR;zwHFTv8`VcJ zIp}UFMYU?V3>OQ9h{D!B%+g{@Wo!k>zih4V9}TvOZUJ7(^?s46s(M)W3ufSq_1+JU zY|P)R!IDxT?OP|b6+e7>S@FVIZ(Z_eqYtI}7UF-2+@9wiD}0z_zTd9^zn&^+RP~HI z_wDZPG^zTW?XA1iw~R}Re@wQ8?K)MCbUPrh1>2@bq?RCDCFi(wj}oHs zr8>M1caknS$;8}iLbMy?{K}fB>q>L$zTb?*_2u74=*Cjg>$q_G3UK~*z&S-h!pnu?^dTW9q)dZ zK(g9)FdxY-#j(R3#FrN>$8Gm#8UF*3v7{>>kTVuP`CP4+Cn>)p(UHk5AFI@;e${78U>kc5PyFf z56iNcSMYmY*sDHPgZ87Ts*a`*w;zLx<>}I={D7>QQyLc{y84(}L6p}ZE=I2Foi!d- zf)wjAq{Fv$W@s;>*qY-O6(-T*FH^(o%3L+;<6FQ;E-_m*PQc%w3RJ$qxs5-Pu@d%{ z$P1Ce8lCZOp+1{3km_`9WWU_s0>1r%uj%335!{AHvRktr3PI#FsmlC0g~~2uA)~QX zPVK8Bbx7OuLC<7BQm>+$r0=(307Vee3pU?nfavmT{Os!!?RSK~) zvype+W81^r(tjD&9Ku6A0pP=Y+$_Y}N&tub1B0h^NA~GPRq?^I3t%Pqkv(k;w9V}vPHxPgPnQoF{alyUqqvd-x_DR6s6L0nUXnsF@d~jk*Qu4UekqUr zrP{5*ty0B3T*T~&F5?;R2P_!Mcu6vjW8&i^H!>>fj4oaP>lnC&FDX!2(~$g_ZX-`JWF?h#DDV4{IOEVx4W|@SOXTaa+Ws5ajxZq6Lp zIg8oFBp$ryM_Y zgQbHJT?Iz`eDSUaiUFNu$5CLY>_xGHPKJK)C!i&R;8-qo;)Q7+RT~nsdbj4US?J(s zu9SuU_g5#kl*ZjN(yohMFD_D|7tmf**oFY-Y}&VfQyn8NNpgdznk}>)cIfN=Q-`x% z%Xr%vbdsdaHgdLC-^~vW6X`G&YN|CLcwzcS)%wJ&!L9i#4z29r0t17&A^6dQp7$?N z2~J1p63rKyY{oL>l$E9j-NdahRq2ou=}EZ*X@B*W?$Wv5Lm~B|OZS=%;bY8(GH)9; z^waFjwx7_Pb(0gqboz<*N?JXpO|isc&+(X>WW!cbmYpPL zy%WdVr{kc;KhhEW&2mxV(hSLmPQIONjTBQKZr_XUed4AzI&Lpbg6ND@?N_D4na}#x zu^P3qFVt0A2*&HPV^$KkJsj{glXuZ#8nK9?K??fLWATmW)63%~- zVa1{1h*&el$<~cw)T-4}oYn{s%OjE!&JrC`K!6_F_rPoJ)V(R;BJ1=!I6w#Ws>U}b z3v#~Gu#Y-G&HYNzT10RT4BWhH69OYM^|QE5XZ2ULkIxmfy9>8mDZ z5n6e>+7z;D|01JG%fn&u?V#3u&Nl4V=R-Shh-fJ+lGp5?>dLBWQBnMc+A^M0e-U`I znAho~8dygo{>x9YYV$l09r6~-N1t`1KScf&+hEYU|@OJ;@#@!qVC5%nTzi8EO@xL^C(q_{norR`W?uFoqP zwS;08lh@L)^s!fdYxVNH9O+rOpDwu-$XB6R9NLl7EutvnhC&Zlj0`4X?Pu9?%DeLN zT35<8&l`q7XKBc@z49hU{`{I@EbVc$@3x;NG~h?R{p7BG0Qwtqqb3fkvdoBMu$B>q ztP(^h;#Bpcr+-|;^yb8B&JfF+_SNT*I^m-oHO0za$ZF_M-g=4{+27z|%};p-jx&p3 zTWoW`Fj1u@l3+Aaw*XinvC<({VV)8p z0;2-}Ia3%Fc%M;{Jg$mkqF_(Ev?Q9ziRd2FdcX)dTvoAs=Q(7)Gk^Owsi#}fCQC8a z4sZaTaW&oh*bt|G?8|uB8>QqliWs5m5pxixOa_`QbCp_|hj3?k{e6L3Esz7B^ZNG7 zWaEPMWm5&a>oTz-wLq+2B-ow3z~Y?PfgbPV=!Dj^SA&ugAdnfz5V(VcIsfkc;SHXC zT}xnlt)Jdl)_Q`uKarv89WfVfb&jPDQZr21e*rFLYc(~^EOU)984uMm>_@)1{+=iJ+&tOIxq5Ec{4ECOORW-v3wS56p+~bDTtqh&c9`2+{Z0;@aB&KKHO609Ba66UnnLzdZ-|0GP`>4>=Fe58?iHjlBz0 zlyCppq5gh&3~x`QtU-F9;NJF(6vxQ!p-vR$ijlG1Zn%=*(0^BPD0Xu{{ok+M(7v#B zUfgNl@op||f1Ga%MZI!mBr}@MX4!LB4=(oEri`GbCLOk+#wSX85xJ^byt=|TtGOY@ zc=!IzL8B>TWsEsv#WLeL-gGd)r0Gev+w65Z`A3p%YZk889)JxG_O?!;_rf7o2pv{+ zt<(uL)VY?TfIG!MKH$mVPCp%U$AvrXi(_9H?#pjJ5idBENPJ9wJA`^yqqRDijmt0< z>(2p4dx5`(Bz%dB%ayfsd+S4LNB1Z@vQ#_We+HO1Z(at=%|eUZCm01UA7F}${nP*< z4_ED+ko7a9AD3Vv-cxd+-ey-FdVufGn=&iHidWDeF`XFVkMA-Cfk-m(!Hkv zvtDxMkz-H{C@!%_4hrEnoWdiNM6SMidfhyo@ld^7kXXje2L)}8HcJiuMzkXjqcgQ_ zCO;&lG{XkTJnlHX>%i%j3eTV}jtj5K!`u0IaK8CYxj`ALBe>qr(3MPtmXNhuwn%P* zN6+zoXpc+s?W2U&MPZJv^Cz+rDwhV9mO$-f9JQe@N@ZW!FS313LdY zia6$|C?cAoUB>cMX_#X2X^?^6m4$yIypPlC{BPm zDoMJfg3iO-YLD_S)bVWs-&rkxY$9nBR74|)wG)V6jdGxAIcpnEYw$pKKEot{Yh}aP%N!7Z#5mR3JDs`NwU( zs~xv}LuM_VX@BI!snCpxjhM69tiSw%z4;r{11)2t|0 zpCB?e-o3vfQIo!{ce8GLS(DoJFbE(AdPm>0qd!{snn7-&7pCYsh()h8zMU9wQ^%ln z;czKPMX2pIKC4t#R|}xd)3}v;XPgX%8}wj8mk>Kn6&;?u<=xMx-Oi^S*Mz`xw{keNP@C?7tP$U%1| z5q}{*?t{1(|1XBv?eM!>or&g5nTv3lHCE$}OkKGD4i+%tfF0me zFZ=ZPkA4d@Hgrx)4v4$ zeO|#v8K-7%&ayUF)60x)63e*o8dne=wE`DH5rP?pmz1nc&3a!= z`%q0A>OUBU!Vidxvm{~0ILjNg9WtgW(7Y&9kiVp0{_s`%j#U#CjxZYr)%x9cu*!|r z=0F56eBT4lHi(#u0O+#3`bXLGRjy#dmHOLn0B{X$r>!RcWmZ6dE69BBpqSrj&g0z>ljv+*D^@i6mviJ&Ze7Z z`7)4DQ!cX73vvM?3K2EE|K#_UdDre9!>qyGg>BH$81Ix2zoU4Uh?)&CQ)0Kuu#{C< zjMGs!zQ zQ~~%`Bg6UvY?1oJ8ki;7I~}2tUnUI);#qK&d^SIehaNmje3m#O zAj!t1F=wOS+ulpnH1mSC>h(-%f8xe*@FwoCRgG{`b3`2&+$S?tYoyJ&XoGx}&7rE0 z&9WK*T;V9W$^zM*F1cvlg()j76@1yUugX7MxF1cQO-K|8?A?58CBl5y+N4sd{_0QP z!e1JzJ3LutR!?r?M@}UB6eLu~5apmum`|~)c_pq}WMQyp% z3`qI7YHUh9A1haZ$`Mq;l@?obJWQ=N#;5rESYjws`dHG(@_cxW+59vfvkNsBD|_28 zu4s;ET!Cj3dnx~IveUSbvh|S>%5*XLbw$+ZgtpJ`+r*O6T-8xKvHO4f6)UDL{(%t9zcNQukQYAb#fv*>mLct}s`= z%A8{YLHkNVgHF-_Zcm01P>D3MIs=ffkww9EO*;Ozr&^|nHniCF{$$p865p#2Y(2(J z-6T@G`_}&1$olTRIshi>bON;B7S@pfKyZ0hN{<;WPlPR82I)Ly6!0Y$eFP>d;gz7I zz8Kpvc&N^l$;MHq+_H{;=H8v5!l0=(Up$jXpFk76OuWpsKB2|cj?#4?NjS$N(QFCM zCc$DV5ldk~<`a7q+-pwV5G*4ggs({peRfG(BBo zqij-_gc%P+)C!3S7EyVmDAp)lrlO(hWD{W%Yv6cz=pX~+>0RV2M=25#rDpF&Ngq22 zKpp=qOBcex*mUv1pQYi`B{pLeg|ufbyf%p_zUvLXjrIV0Z`PEw6N_Ai(-(keNAkya z@PLUjpw=-)2%((Y{!?Uzf4Z``7Qi#V@fe9hFy{YzF4|r_+B&6yKh}z&gG%O;H)j(C zaNFY`{elkr-H{f7#C>|?x-R!Qd$Z`b#*K>FmeHN3QOjMqXSY*5{$X;=JfY5HX3-4Q zL1vN(O#1vAf=ko`MDE&rVYaQgs} zoICCw(VrGw^nOwH*G?6%Fm@qDPrTydb=*7wd(JmyV}4_x+W+-x$vm^>v@+8Y6UB%f z&V}IYv8uL3$8^t_)@D1lLrC7gzH(NdUrNs<|Io0Ug@Nl5o9m@oOR3q7&5{4M)=)Y8 ze-rYh-8KL$u@|MN1U#8G``z3~&V%<~lLI-v#d8%|6}BInb?{hoOUMGM>bBqaTW0tr zkHXP4Ig6KWS$^V}O16r6`YG(`U3&Te?kB2sfU*1G+pB2tar=$cq4<|=Fc|-Bx?xZ~ z7F%ZEFake>cP)(<&Vpk7?Wb3e_woLB_vQ#(p?t266v)LnKMjmW*&3zYQ=HA=kF55B z4xzW(+@KQAnKGWZwdLM-XXhUKC3}vE>3TQ-mSRZLDp``lfrp zp#!yNn^2k7b}@XOnDd8lJ#daaj9H0RHJBd@9BN{46-HC-9L@U9Dk`!8bmsXOSmFjU=EeyD3DChfEX9Cuczf z9x;u^H_DIXdwL+RjcfBqw#7J%=h+&2BAZ+89cW{0QeLpiEFL|io`;)*=E`q!G9OSV z@UT}QZ#}lg0u^5}o$*#u&H#B4w;z5eXdw9d05~_+TR(ua#(kJsHZD@CwFQ>x>@SP6 zKsu>;vCV75PVYuKvKliwJpv#ao9mlG9WP(ydYW)AmxoQ7)-%}FW3Sc)bd{m_kzKkQ1c|N`(VUDElD(1b3ymCD&s}^rG0)ITlgp> z)_;7yjzUHx7JT5>*z3o2V`aFfn=CzknE3Z=D|*xvMhy)q{AbS$#duBNFc`!;xGd&) zEOzH{o`NfZID?3&>btl0Y4UKc=)?$GIEvO81GJO7hPS)$*hPV*=2(iOxfD5+*q}4> z4!;e&#dYueE(b~x3k9M1I%t?^m!wN>*!cf}`+|+G(wj5qXI1#sT2?Zdp@x#<1Y2YP zP9mMfDgvV+CtE{YDzKB@P3Ob~Hn71<=~%s0b~UOy7y!k}vfI?Ua>QUwe3nY%Wl7DJ4xAgw}tB9l7RB8l#zCoOZXEdY$R6xAv=-d8d`DAX&TcMb(5xY#TSI ztKE4dRIv4qL?>I|Vy`1ZkZdkzbD*uf4Mz$Ly@8|T5N5MHU2+lfS_!k5(^ge|o5gSs zQ`v^Mag)=UtX!_hiKG-NM9D52tgo{N4c{-hhj6gj|T_j#g5rvO7^9Fy=^QIQN#NJUcF6D5kjjyJnW++R;*W%Q#H2HLKR9 z8XhlXR<0YO#{n*l{J2bL&fVs^8?0b>f)K{S z_Z6DD)Y03Q;8o*Hcs!|=UK;(FKl=Hh#-c!dMFh1~OKN!Rr!cn5x9;4f!(Vim$-v1yTF6&rwKmY=c2J(Z{h8|1Krb5vQa6LB+d0J zAbhi8rV%i@A5~2qNQ^i)e3G0j86Hs2+U0bWW(~e=Krq8r?;mX|>u!#~e4hDB18l;C zYBG$0*54%(V6$i0NIe|7Q&_G49Gw*D{`}bVkzP)F8~yghx*%k&?$sKl4!9M4|Fu1uu>aD`^M0+AjIOkjY-)p{PqZ z|G$;N9l=&z#8DihSq8j<%X!2e1`{1`bmoH+OFUYBo;^QiH4}QgyU%wRKf_kWvs2S# zJ)~5m4109Z!mnz_UN1(@C|X{s5}do~@%{ndqiUr4kUekcka?rV%FLuY+h|K*pVWH1 zt(41$lf~D?dV7yE2z8ss<4-a>ir7k#V{QyKil`Jhhf&8{Nj$5X`p`GY37$oC2Gh(D zak*dq<3aM^A?cjIuh?*0&`^g1+!2*)NjZ)S7>X~u?7Ho;;$W81E7k`5kg=v(&P8Nw z%#L2ch7D!BSnV>8bvp5kYeW}WGwE8GfJ6M(#FhlQWRc>{%oeV^eEa^6>L%LQ<> z@xk3Up^@jsIcbhS**c!7l~j>^)o)^*s#l&k)27?jpIb`+x@PQI|4PRIa)BQH`n_StmV*n+idbZRb`Fn~NVbWl+~lBejgk7{(Kv z^ai};7p%@aRPZMYo~bE4tL8#5jaCQsBr8;dJXSkzf82+5@3(0JzFE_?i#}F%LW~ICCK$Jd3U19mSABi(zrv^L3{1qWV6p4$i9<7^LI|OsBgMlSD8CvMY7?0G;avt|# zgq^#fa-Y1Pg{=9a)v9Tk!evPb`6@aI8`58y$-K4W{^L?w#tLrOQT#<0xhRZ6*oQlD zlp+nhG7BET*Pr*&5Gc-?na=levPMi>B4R$Tqqp*4ZpTN%j$;e8Vg1yuMuVgNJ!gh0 zb5|n9^buDVxPd<@k>vOQxu_)-YDCem%dxam>@e}T%uh$0u}?9(CMM;BqUm~`upGlP zl{y;8MhBuGNHF$*9AF6}bOw zz40-i&H)L?(w4otgeH~u9?Q>e>kCW-AjTk-Pjxi3TOiZ+23zD{yd3wj!1_umM9Q$d zj1N`&rkGFa2?F}h4c=4CCp6iRQ_d)Uj! zREzNn1d1vVaf^d9S8z0vo~UQ&*d3|!u>3X>D#SqmLFJh5{qKjeyQxiP(`V_w_7Z&) z3L|50U*%9fAS9UF3(n_tA~y=APjoio+)}+Lc|eaUQ-jZZ?r7#KTMD@z>sXvt!g-iZwUUEiGDe*2$eC9LpMT+cLRuLIR!zD}9or){j>6AzlLXpLjl<9$` zE_S2LTR~ls76o{Bw=)w5PGM%W-oBmgLo=gHT||){R^?`PWJq$f!aUE17>T_P+h{pw zIB^z~2JYV2P7k6U3^5D&o4Nn4Vq?QuKNreA<1u;gfCMA-JW|z9&#uQCI|~Xh=_EdVzc|#r2j_*yFn~HrGVDAM)j0J*eyjw6&CK!ylvQLeP)>J0)K+$>U6%eR&TDBUGFV2!U`>+sFEY`rqtt@E9*QMHKs=b- zvk29T7J}3+>3;q3Yv+5>dyPMux28IUoc;@6$MYldz5jOj{ED5rLF>zB)4xwdmOu{& zRBbbsqAZHrY^6K{Oi{WYx8dHU7`~-%#dEetB{p{|kHU`k_oIlD)|6pcECJvtUJh3B z{k#J`pq22;Ji0sWJ>UX!x!0uaiKC(*^@F2vXP@8eS&M8x=U69IpTAmZkHQ9jtY7NKa#ewOkQ`j}D z_Y(mWa%pT=|rdbNG4mD+=CC$lEY{1l5@ z^VWOX1?Ag9G;WVls%N)lzGR2UzlE(F?jG>?WVlk!ogNWO+L2ko%&k^fr!1$upeU4ldN7&lfyQ-a!)3>4a0>CJldeCysx`Y;TS> zwl%uO=+h?-99A^&FJVAC->;4eMJ#HxULvk>UnM3+wNk1&l35c}En27#P&Ckqh6@ZA? z=`+;sp!x3YBQ^5GF*KPpGPO>UdIFQAOUpImxRgT?ONaFl6O{++N@HtmRnDy1tI9K{ z_D?Q7&c^M6#j2=2JLmdk!&&4E9jFyb?OpYcuZ{9)Rk#G7S}lJ$QF981^$|);CFJ4| zR03!89(yS(vKWFzoWef(bd`du$q?4D;odIbG!K*-sHZnH5Cxnjgn+ikA8n5E8EQw# z!T%g_wCvt(J;*Hsa)&soN=3F`FjrXt)75o52soEaw73+^r$vrSN@9JNEP&N?UqBDK zH^W>snip%GCFI-xb6tbWNBQZXkC<7(SutrR2}V>SGEoq9i_wVIG-nd$)1`lOMwON8 ztWz&*aE|wNJK8WgPoR(Z5h3Li{wjOFq2UDKe!hkcB$--JcDyMO9Az|-VK`6$b?gi< zB{vSV`T}*9fp_~M7}a#&JUs}fx`-neh`y$4r-D;YBkp^pzSHL_*onpD3Jhz??nNJ1 z=oLjRgamv^Iela2$$4G%=X{sD8o@dJ6R)W8-q}USXz!{{^9+))1btA~o#E1f*Fv!( zz(q{f902ynY-U7Z)?kFqCQpP)lL%fd7w8%>Dk{)C5*!VK&3U=2d(xjJZvC&5ZU? zy|petSQ>p<*=G&Zj}8xLSNlnS35nPj0VAwV59nX`(5Ocqo&YOXty|rbekb|d)04*U zAMQSAh`tYvNg~HIq^u}3W8-J54l2!0nZ`z0>dKsoSoiV{qY^X$eOlU<_}KHj*OR!R z)S?|_+rh+~)1{*XbYpehaDFky>WVWF^Jyohe&HdxfDFk_V-b8;eM|j!v*kE3^(}{q z25;~!^Qju;G3_~pKcCPDrGka0t#fUJ3X0jkCN#6wcyek@mK89lQIS}LPZGU{n5cA6 zWrH#DZZF^7#mF!hsa&Uwnk(lBmv|6JO?&&U4p#ws7@sCprIQF6bTQt_;BT^In^bDm z=>PgoKPKsF?Ipx&bVqycP1`U){WQ@-6Yd3U-QhaHHKg2*Gw_wMG0D+A^%y%23fnZS zp-om2v^dy{al_Y4_C<@iQ19fb0r>xTbnbH+?+vC`{8sCi*FDtZpPKa;CH-sXXWW#A zI+)M1OVDWIcNlDfivk_|`%{04w%_OZHSg|8!_0}}2V{L{5MABE)*`Cb%eT&WSMcm8 zYj8WSq!%pa0!`tnKBtL3!%SSf1>LFVeoHEqGkuBrKvk|z!@oToz# zG{~v63rcR|Mbk%3gO{K3CRxZq=5iDBgvj%QDoIlNnlBZW5dP76W`UQxX4lXTk13ZX zzB@TuUt537*xq!Oy$_2C({R^&tYEQa1wp`3TNS< zp_qj!L#1X_qLoo&z+M$;M9mh|B29ieAS<{{P9Sb%`-T`YOpEAy+*4{(6AnyBPz|S{BV~{lj$~`Yd=KILrR~VV`z9 z(M2dEkr^TRR3V1=v1_kifM8J;4V$jPV%WnbA`cyS8J?3#l>9dXM#lzMK?ODAYCIl? zW9nmU%VQ~(LKjoh_xh>Jg)*KpUSGvF$HLI+@H0+ui0ESmO1TDybPMR8t=Un!oQgd} zRA8xRUADUE=U6a$x>Cig0>%lQ^77MNg2#+b>^Zr0_2T&gq#K7w9D~@Im>qa`fao^F zxnR;8Y4?89cVotBI8`FI*!)!*R^vafj-@Krv(nY}AKH7!0hLrqJ*$RxnGMWIIhV!T zmY<8zZd9@jENbemIT-I$o0iYk@5GjpU=AKm&nX4T<|pl2_es?4MSa%K{3lJAt$d@J zdg#I7gV+k%YrIQj7&*)iUd?OP_z^oGM);^%4Y8%1L}$p#d!2U}_JzA85WUQ&rIbJ! z)hJsU5vUX?ac>TM^j67`f#T~F2s>bGC-h~#TlWBRvaHK4*?7%0%P8DckYSAC45>PF75>Pkh{|;%nD000G!EZo7sjpnxI$#+7~};ovGmw3vl85Hr-pd!hkthoL8K z=13(`kEMNORlbNfLsmhN!5X_Gd^r{Ln1jo8yairUYqpN^NZd|w)1Kcc| zS10*Xd}`8jOvJuK+{yP?1iZxEH1>!OkkV9&=k1vYO2FYvN!G^k_Q8Z^2AedD9OpDO zwH14m;APQt;j4zEId1tSgfs)o3lKCa@7cU%3E;cNwGB#!scY9Mw!q%poncW{X^wPw zz9|nMj7H3PQ_-n73D;5fqu$7-{h(k9h*Ptfb~fMLpSEORfsV0X0*h2fr6oP0LS@~P zK%VjjQY_&!i?M8eBmu9G_WR2-qpR>VO=koy( zodWkHF8zM#kMUY7=p`juqGZ_xnJdl7o)?d*B>bR+SS$>6donylsDkC74N03#0}1q&lqekCYHjUCBKgWd%-{caxL|H9i=@vrL^rJ#Fon@ls8H_ zVDxTWKN@~oHwc3h`yZ(IpL>j%2t65Q24 z?`id7k{DWomOeSh|N3eb{Jkk>v{fJEQ{P0+{pegit!Itleua6$4sI(-6||%ByxoyF zLAg<##S`%XAyb@dpj!jnLlVYz_d1Z@Fpx-jQA=d!g(pFdYTo`mRV&JeBp;klvQ1L1 zTk(Yby-7)9)qH@Mk+v+pST8an;En9cl={M5(iYeA`%JybX6hfjlWcJudEj+BM-eO2 z^Rj#V@~p06*Seh0EF;0^cbOBEiT_U30X3DSX#&$$P2924T%R4B8ih((A3~eG6sTfs zawCIB>6RKum)v^MdZH*<%=Irw2@6LF1#)PuynFbe{sZRiB++Bf*i4}^O!P<1-Y8+= zR0jZw{Mvv(`td9LF52+&7#UxFfSh<%FiXKk`^iR4wZZ)}pC>4mZih2Vah5w9lC`iWsiKh&pEg7gNeyvld1r$wn@w=7vn>M^pkx~a`%ntx3t z?WvggIK{xg6`{@93ZRhyMHmtnCDUiRK+4(&mClG`uaA=Lg~-3GN+$zUU=IX z=2L=bqlWbAwgc4DR&heHtS(ggw{-)~;l4VT^^iHlbY^ z4uXOby~(vhZ$EgqHE;w|-s}AMX@Jl{AbvVS_#~^M!xHra8$Xp#_788a4Si<-Tx$Md z>x<<7lri7NwrmN%4F;C;)WpC4t&b020&nOb!P;n-brW-HHK`^5&Gk9K2~XJJHaQ2Yac2lk9&2 zJPclBhr$>T8qeUoPWdI;RDuVKIJ;p+5PRh`WGLhU10v8-b>G@24g>y4JX7%Yp~s=CoSXczG`DJH7f?`ut;a=K#s)zt^Yj#;Yruaf}pk8 z{NGiP6E7{VfQE(j-4Jx_3~lO!JOBw}sJJD1wzL_dofk{Ws9~x3L>XDIcpWQ*u$QP5 zaJ`7^E_PTFgzgjntAxzvzjr#J(^VB&ttc5~B%ox=PV8jh!uZ~kuNdE6C{_6wM+3t* z6x`76XH(*S&t&IOY~R_vl#c1k9RCkHmZDZf z(a~n?nyL!p7Kf#PBCcYH#O9;Y3YB6K62?92a;LWQIg|upiwD7|Yg~94o{&)#y#EH6 z7JZB%)X+SyrqjKlYQ@KPBAUPgEJH<^mc=EN5z*2rW#{p9qArrAIi98-=5+t8@7~Vg zruQTY>&THHO#=v#w{pKf_+gTDtqsbZ4C2bbt<{FvLu4g6W+F;Lk&gR>cFCq+pUDeO%l03vai*#yfgs!VG^qd`n^hw0L^&O46K{jC8M$oT--dgxspLXDX4#Oz)|+I$!OTua#vRc26Hgk%p_uKSQ_`LBvG`?4&3Cw#aIDyp(veJ86Pq zrU`^qgpds7btSV1W==@<7~!vAwPpWo%}8s>pV4c-_K4&aH zF8tB&7IF9L4dAip<-OCz8(xt9|0!Ay4Uo5<r^>4%w<;@ zFKe$UHIsyn0}=j&JfdrYS_U)24tERJ!%35k(QfNjD^c6ZswbKrZN)289Q1~L^>KK4 zd7SJU~?nV`=2F5{+@X;sqr=|8hmz< zpiFb8*IBU5*dhf5%3fBgU+FanC)^?u+ZAY)!YHpn3g*54-<^L#IeTCA!*O z@N8XOd8+!9ic{eJ6Q&hU@!Uf- z@uUl`%;#|+omlZXC%q>x>Uv8VmqMY;A)FZF!*yhzg`Ijm`6fb2Gm2ifVE0&syu*u0 zS5gsqt5wMPm`Ji(MhpSo0bTt)pr(@^h*oV;`(9J1ksA&Z=>CzfDl`#2juJG$Sxl_< zZJBlS1H$SCg1*7flJu^WDHcFAZgD=)2~*oGRmE=&-LfM<9;)yB8~ay>b?6sA%==NX zU#qmeL*`VMu3`-tg#z=yA*e5>m8s%zW6l`M|mPvWz-xwIy1i0MZgeWtuc0wrGu5{1?B2=?$W;j^#zX06ZxbsZGr zvK{I)BOGA@a~Id(4XSmh{I2B_E!E}t;bMaK-|hxtPMh>ch5yCQ+`0J zNdHjLRtUO&^O(vn(Z%f{Je{`hB|D%k&S5kli$$x*b8;=JB&|jpbLjU@9Ek5;fvY#Y z%X#u%RMkk1Lvl%Ww&D6!(m$4x9LXVAnv>R}U~VWy)u7M+D^c zFc`DV4ZaTi=jHQk4z@t>bs*gBJTOr?TT54k%j)%5c_ZWhnTNG(KpFn(bU@~M)GWy# z3W9~)*`u%-fOV@0M$235?`3CwUh%=`*hfcWp6rUCudhN1eYuZr&FXhP=}~z=BPqjX z(vL4f#;3?>f#g{;Foze{Hj-^=z~4mKAxCm7mxf_YX?=ZbYVF?Uy7Pc0f(AzOdEu$T zOLYD4j;YOJ?RCSFlj*dJVgY>FVpO&9_WU7>`~43{J(k8B(SB0eNVYS@HnVi9HVr!&KM zsHVp$Q>xX#I+{9fB#oF_P0h{zSE$F3 zk14r1*30!cI$B*ZnSPdT8w8rPxDDS6qN7Ij;g6u(?b)txZERz^zskJ+5pSzrV38)q z=nbr!>8de!ckA)&fh2&b)^Zfl0o{}?xjEu$dk&WCFfY|t8r8e$p|EmuM;3D_wdMeH z;WE!gAf5ZSipd*cII(4;&FP1kBkYESd$z@K}O5mNBC` zUO}>lS~<9DJCMupa8>pI@5D)c|FO0Fz4wqMEzcZn1;lFF!pD}{bc)mbZlSA_M(2Lu z;X-#A%AXi1ye?&;G_B3a$*}7yxjbnL?1V``Z?AW{fXHQMDDLJ1rYiV9yf#t#0TpQQ_0mWob zUfglf4-;=i@Mm~ftPSfkdTJn5rux5~+RP*6268|!xF^8PnI~Fpk0I-Iz>Ad3Qj*G& zlIxj#v{7`}H)k};ZnxjAs=3k32>tYt|CMX#O1d-#WH*X4dp#&&^*5y&x5st2 z6Kkk81J{%Y$zK{Sn(^J~!~wj|`-7v#+4yjhlcDjL84mAwxHm=#=gfv!%#!0MrHAvZ^|l@VmX~lk#*e8! zJ}kO0I6Z?8%%w;^1;Y2Uu;l1Fz!Pe?qd9LiBJTsWZZAM2cIY7pNCYB$QdQcFsW7Hq z4`U4yN!HS?wPo_byGv-py)U+oqsS@VpSbkI^9@Hmoj|9({-489Kg1yP(Bo{Cuc$Hs zhd;Yf+>2mxOSg4S=w|R8{9Z5Mq=-(nr$pk+?t`muyIVsH15vvu709z6g#F|4sE~QJ{~ip_ zfzw20hv9&FLC}uYQ$pySyBvx)Fi(xmhb0LGXRAYzaDa4<#8)<_lYNHfiS^ay@?>0+ z1*glUSkOm064NX5pkr$H0NUj=15V3BfEA;3aIViMp-@Ur&d)f_3RL2ZvcxY-b0Gkq zR;7|t7WN*NK^P*nGwMq110}v9P0(|>8)y`V@ZUU9#3|_G|gz^T%wKtd^P%zw!od#26^!gI;EXi9XAanT}U|K`6 z`SJQ!pp#Y)CsuEf9Ki;v=Z&xaP6rp8B&N7Rl;4hHSv{UH%vZV>RY_K6R-6|1U_Cb8caLm?6)3>rHKcF) zejEfEs~4w{)&ez`?~wDevR|M+6m~S5GH(ZY?#vr|aKG|>Qlk$T2R^`mg71<>I zMwh_au4!5txtVX`Jt*z_h!FQKH+EL*V zMA1(whjTzHVL56{*kmdXJcFExSSdABZGww^ahu-C8M-vSW1DzGH>w?N4?WRkjrdwz z4Zm3E9ziKEg6=qXTGlPA%;o)XPa*_#sik&B)t`xU~X zg{_*v%Yd?BMaFDdf-D@6Yc4)CUObwsq@kSFT;b77g>soFLNJ@Y5 z)Dy+kM{8BxH8K5Fa`XGm5IZ#WNSZ~HiE^5&Gb45Zs8*pcZ3AHgA1+ji< z*d$-ia|vZY}&HU!=2w__&x^8_odv6T^jbOGInvQ~D=iGpIgIvl-Kb zCsA$Wom9wsWyV_)GDbx-7j~2L8eJ5_cITbl=1)VBoh&A0NeD~EmPNCfMYXVd(eKhr zdMRVv(!}2Qj<8|E3iJZudJDq#I^G7@FmS+K1$LR3e_iOj+ap7RLx*4fut1#oKd!Rz zp`??c^8}$9dJIAwD?bpz7tACu%_ik>*3M+6GLQn*TL9ubg$#GMpVi`%}=NGfJoiD zBq-cpK+=dTxMa-?v$0zoYgT}LIEr*9xljvGaq za3J3!oQA3JjL9HqV=pI!cE_rS-$C~;|6O`tkMOw{I#1?!6fS#}+iOY3p-i*uR63}i z2&RAtU2Dg%v#8cLj<){x@eN2szE8}4m@+>I6PzT(>+nBZlQT>eeBYIAli%dzvX-p85({CY3Osi0bB2_-EOt z`jSXRE4v6dE{E~tXvN1j5okYTtQ}4Wi649`@s+6C%Hxk(qTswWt%K!n^#L-5RfO~W zR#;6$-|i`wqx8?EmNe1KgePq*t;s1iW0ip@b*M^~8YxR9)uj-yMwkz2MH)ZN5OpnKoEj4KsVs< z2?R%mKuZfbL9~uONa(q2VNLBouXDr;fGvE{!*=Vv_QobGAYjC>kA!sL&&4AwHU_E zsp6YNLu78wUg`58b^VwUehlAbW(p9hnh?fYksKD`#iTtBiU>%)F}@JLw>cwMV6XxJ z|Nb(+rR3#LreSMI(tg%p;Z+ZPpU=HD*f;@wiRl%@%gNZ)E;Yt{X#sf(P1&TCenoDe zRC6xohFOzZff?CO2#cnRbz$cqdo&8z%*#{dx%3=<{O`6pB##ZdLg{F1mqpe|W zJY^_!IGa{G-=Bs1%??MjFXc$q_p+hh?`kH*xhQC;C}juS1;3#%7T5koNan{O^MR0U ziU`!@Ik9NUh}~Siz5=M!(#~Vgq*BMQpEfBEU${W>WNwwC&yU=RNxM%++{c5MRf~mB zPQ3OfZ9dj_f$_y&Urcok$nk-n~ zVn68$PT}N;bP7}pZwAsgrQ9VJ8WOCNVl)$r63<@!P-jKZ=pV1HKFmN14@TY5_Kpk| zu4JALz**@z074@Pg8ACEl<{ljL2qjjbS!b_|T`U*p z5$dfb!xX6$0lL(BUOAg`LM29U8O{wv8&t*urzflZuhC3?QW&za2hZm^qUK7{&{pZm zK2{XA`U#z1rKIo~mQuY!jLvKhXU6c_<=r9(mcrwK~6z zu5@e8>YKU?Yu}$^%6aV^f4(?7E}5%(eZDRUUSI5Y;230-W!8N#?<`eETy>O`lBbi@ zPs>P;s6;1w@+O>(?eW?A*8I=>b^pV_=RiL2H87@c=`*@r59)EfpqKRqf5a4P{DUD# z;})1`1{)nBEDRZvl;or;tL3^B$RZne;M2bC`wn@=tKM|p9glq4y`AYz9(e8zQBHD! zE8HW*Jj-lSAfU@}hB1z5%w`R{sL|moh&8Sm)mqh+IH@w_YD2NgRG!MjRI@m#iuF#; zoKZ>z4QNhBbe>|EG$TaKRJs{wFXy?N$C2YFO_?!!#_lkHkJwhn>aIvhY=Q9Xq|)}f z(cK>QwC^an+)gWs2gXy^R`xjNlE=K@Q;;+g%LDEX#5Ckm9b+{*aPmjSLOD*w>pq^} z{|8a^VIX^vX*r5*bWJ}}_j!m@Rtf}rA%7VB8L&ck1)ML=|?N4sD{;m%DkHEAV6 z3x#<+vs}9&;I@<2<8`E*J?0@2@b~%WoOR6OH&@1-XhqV0%tDiPc4-T)yD3-xapTZ{ zZ&*-P!6>zLi(EXty0~S%`9xUZf@?4`R%?#X6k7HpwuNQ4uFZ%qMAK$-F4P_#eM2z; zfFi*2%d60*Gi@(U$0>82OrN3N&O{49~+H1N%g_C+ccVM|1&yqOBYP?=5z(U zhP*mI6|Cge1b;uN5S6D)PbPbLr(z{_GBGfSlvw>kv#&8uu+=c?1d*ltP!#;t>>0)S zn&$cUXi3ItfAbU4*rS*EFrI3sv4jEwowz zN_y)~g)p4z^VW`Okvn&^w~gc830lSXHZ{Lt^qvj&ai_zWv15U`6IA)H51>?ugci5G z)g#rTqbZ0cQ1Vq9NiOqK5@?O4@Z+bBdd@gIV`=!r;1^~+Kc{Z=cT%MxaXP%@_KbBt z?4QQfIkb$Ho)z5whi5>?buq`hOfb~l9Xdi)lCzldQmLtK_e{y*b;q=&*rBvWOuYuP zSD$GiQeM9aHTHR?g0Nx!?xm-}mZwafTQGdz{yWtnD#qsK-p?X*W-z+_q2X@av9_WGpB-OW!~^d)Uz@6_s;J>EE^Z4=i#qsX5tWhk;! z@Ub?CaF;#g`E`T>TCldO2A;on?K1}8exg_jK#<=TB29hnl|I;Y^F7|DtxKJU zyRc;R=1VUbd)9eAVZ+U@yTExzD&W_9L}LRhO9eR7-Fy5BFh`erAEQs=G+ohS@n`5) z2t$dngjnNUX5$$VE&@G09}Vw0f086NJef$8C**%mLIL@U%0!R#1iWo?YrR&y1!TWZ z-9t}Ki9vfa7!u^?!nznwvhJA{Eq2mL9yvybxx}CG{=K|cSEyww+qq6HLf>Nwq>fM! z;z|KBsFUfZ5F7@TqJ8>bnqHKtA)1cMFm0!b1RYZ{8Nx|GVH3~igCr^q`*xZ8Yv2~f zVwD*PW@x1DxxYi9R*=YbaQFd{BQ)5u9hIcO`xK`pxsG=MN})F~h*IZ|*G|z=epQd? z%SAd#q9vrhyc6=+7PH|gnF^ufuUf>f9fqq@&Y?S`w)xQ+i=*|{QMgynd+*I^C#pk zrqLf{dCvH=?5EFPB`Vo+QaYSbK>!>dosG5nM6{i6_MW_R{;$9U4}3UAWzXr9cz%F9VCBx*$$Cd`53q+O z4>)wgVE4_yTv=#sL9>s3_V|!x@p#b2@Da!$yJU9l4lucTO%gFwoVRAGRofY z-9UR)fFeRSVQ;)lC8O+UOb(qKYb9K-wZMWjllO1mzvXn@o!4u*mHiNN@s-o+1{RYh zQkIh>vYWuySVWSob0mPHys7v9rs`x2X9|*`oq?e)rVEPfS3#VoNRMcbpj7`Fd&6C0t^Y}>Tat=4~l}XE}jlTIk>Z0 zcx4)C(s05@))-ZR+YDuPCrFIekzqg#y3NPX+PkfxNS`Lc+*rgv+||>r_qM9_VQ~+( zfWDXH+H*MROW&)Ue9Sj>c#?fE9z;b>;<-+a>Y-Hg8th2tw+|>r}lp9qdj!^8^%oi-Gr6CX^`-*o~98?rlt>3+bmgeeiid}^b90_UA=zR{>ZSy$_ zhXC21QOKXH4sb1NsnwJ40z=K>{TyJ6*e$fKABj_`JlkUW^Ulgxk_aVIM#O6-?xIQ+ zg21sJ>z$jMhdT`Z*!$eGs&3IMkw0v-fFX+i_PdT~WgYQLRhz1L8QzKisAc`N_ABzS zaex1BxItN)Hw=c-aX)9%bX6Q3x{ML<1YU@pF*2SUoqbl`u9F-GMANj#R(D8&FV2>4 z+iB3C;GOU#k~5o2aR_Sh&%(*0#^#j9@JKU%Ec-wG*wrl8Y;2qG?X@BF>-2KTk=5^= z)k~gV$tiH!PR<(V^v=NzzEAxnT+8c43@Z~tKPNttC;4vwQxroUWc9q)%D*z(0{`W%t_uSTjR zE**xEAL`kq7GT9#d}WEG8sn`!mYn$LT!lLNVc?HU*=2X38`=P-kBBlFFZiv2t$9}n z#8~}ohpQD1b_QX{jc%lx9nT_3U)F5eNpAjI2;3^?FgJBQU5aWx{1<=g_*319q>61< zkD6QJeJx~HDl{8`ee&R%pLBPr+$_#o+*^e=cxnepxX`Y_=#AJwmOqgh_}AHApG1f_ zl&cGfN6SIs>NtHI1?Y=hJ3N@lz# zuGxom7IGOekhC&c>d)rLPW?B|1=)e^4>ceTEGoSPo!|K&1h2VW1>HdSvoiiBq-Ak<4f>#DJCPVeaHj;z5Tb^CddKMg3eSV&;h# zOga1E>VySjf|TEX0sa;yN%AHp?-HTZ7^REEl918MpgF*P0r-M%m0802*fhzJ#7Su& z%5@I@)&w``#`_xVeQ+f0%&qaJOH4yTd0=)XF%Ts|J!pKoQ>lP#5V;SYS9jk6n-Q~F z=1jp3u2*uS3$Vq+Lu0g8dNX*?S+<9dYp2;xr;~Rpz=s+QvSXMglMZ3PxS#w%qLq14 zS5Q12Mrt#xjiZ$!-IsX8z6Ifo%q3N;f_dBo`B4z;DJL{Ld0OIn*<^D z(HZMMb?JzF&_5kcV3-GJQY|X)$KOtUSlv^JOgUxd!!*My>9FB_=f0ZF)VBBb=FM3=<5Q;BN1KC<-bEPW*_?{9zefL5d(O;jve`C*Fw@1M53yTY}oqPZ}y4B=Z)>V^}buMb-Veano;8Q>wLvjv#oku|bMlI37=5J%sCm!H$1A7?;9@kf4LjA$E|A>0k$u3ZRG7fOf?`o@KX;L9_y3=V*DiEzKS zR~JsqY!O0jY$qY1_XLDkg6R~RMdCJNR%jZRk-(4W&_!CU7rq+9)}84|tz!A@Yq+*b z9rsP3O7H9RZv@S5IbQqB1^19?;v8#60@6@ZOdV!`k; zrzyCFH4ylHo|%3KZl&I}rMXjPV5@Tr&NulxK$B&9?s+tx2~YO|OILxtjOYuxTC0Pnckc4r zwVH231g%IKvIVpCW;?n2-jhB61~9ZxMM%6~- zc2r1j*Kv$kWE58{$SF1GP%J;1hACbXUl8-x*|gTKkJ}8zw^%rr!5PRK1Djmcx2FDS&C)jq8MD~QOytV(2!w3yBx z&IA}F)(c)81J|ohpqYSi!db~p(o}gH#oT-&`5+KdN3%B#;S`&}+tHy;h200`Iiy~O z%o>%Fh4XC;Z>eMVluk1xxaJ3!0#4BrcoOi-`3$Ys?TcA@mRn&JR;N=Tw}9@q;kmZ3yFpyB+HS#Apxd&{ z2+6K%-a7aI)i%6mJ!d`@{g(5qOVx=OjXDO__;+n0Jj&A6`u5PKBZ5R3~B;L26XeK9%D@>uz!S-bZ&_DndL34Bm>-jdDT zekF$!>H9&p$CDNMJ9>HFH@WAY%G;e+_*nM`KQC`CFp#FGIqJ5TGU=}o-Bw8@T9MS_ zf1Q?~_b)x;ts}g^ceJ3rj7!``_pEbzT>y`P)?_ z{?I}a44*o{ID=cSI4%?#o1@8~!Y8OJIVBM#2*70oOLU1P$Z1-s%o#~~tF-9m|B+yN zPzP3I+?2w}C=EIu1_R%+SGSyX+7WJ>3Kr&X&i44TYd&u+pN%CSF`&%Kg75Fzhh3e< zT78l6CQv;$pJM~OWGh)yPQ}U3Lb=YBgPLnRcTk}2REbxRY+O3--TgQRG~16I3d7bN z@mnP$#mYrKOGOnQiXh%l!{K^3q+X$$;a3YbH3Y~}gEyOQ>ba{PB?DA z#XAXt1;YcIkDYuWo>@Gxlq^WA6fz4qK=_s8v9V5mbs`oa+7r^aa0 zQ-B&Y2l*fO`j&g1+ziD4w0!SSC2+hNigv$gbsfB`~kSONV?UX|I{X6_To{h8C zhMh5RaOliX?6A1=-92Q+N8G3%3*#e+I60On&X(lL@)d=uBD11ftv5EBp`B+#V~_)~ zFl8hCQD&davutt>u+MV5+*1pNp*jvVDm+wBm9|4kq_k)1|9r`l-TEw}?`Dj$M6!R@+ zJ`NQp#ea*RPmE0RPPR+An5K~KW}MDw%;?IT$Xu~m78Pg*&Rn|eZn^EgN5n}izq#^$ z>-*T}1d;TdtSC@SWui%oKJDHsylo@~g8(XV{oCq=7?X=r|2OW0Qai`{Uwz@z!@xVim zJ@M2t&%N-HI0=#=Ud)QNpE|UlVGxkfqHkHUVaKy@6)mxnrAe0|Q;uBu3Kc6+rcxE= zTw|+R)N9bJ1q)l74qdwS=+)NA-V3}WPQq(% zy!U|&S=w~y(qqg71{Mx}CfII7kdRSO(U?sZHfG6+H5<0W?2L7j-{rL`i`qt7VbnEXtr>g8)rUm-gx zGjxuexpL>hi;n<7LWGGBB|(xD8M5Rm0uJWR2uLVsELgE&$C2}JT_VN;P$>uhyl*Q?K7cPLqBQ*D{A~p&RHPWFM5!{BRozr$RwMN_Oqw+Jm0G%QSX!}hv}xC& zQp%=sjb=EadZ};clAmydtQh z1sV(l$k3YLxQy9~yw(#Yb1Q+E@)kPiVFDIBM95Gv!_pYa+v1%F@Y37M$V9>9z{KEL zJ+SW`NgG8Q@fz)V3Z8}$uF)&@YtC@?iPIa>pW zM0#pzL_{82TeF5Fc2U^#}XUt@FbjQVo45Aq?A%hDP@5SqEeESQc5YM zlu{y5p2<-FNs^>pCqc z!sJ`UC>=+T#~}pb2n6VWO~f4{UA8HYK?no_ab)~4d&i&!?dSszia=}ahXjI-qmAu} z1OkCL;z*za2jhj$Z|lYF5I_V1!4&UQ>E6K1LFNkkoagpk*0A?%aUttZIgZ2$!6l5e z=sx8%iVND{Q|)juQ>|R?ol6@e{ieZ`kVBXm^+VcG_Q-*?V_5f2-#EQ~i%{KW6uxPw|dLm4{@+ z<*cwu3tvu>Th`;qX-Hh;B*i**0r)dvN|G!h zOCU+|`FX{z4jL}w%8PHn;$zH4cJh5D&VS!FEBqN+ubuUi9(DwVuk1>O!|Q(!quuYG zuX157GV7{5*T!}+*|OF5eKaU{OV%1HGI(!4uZ}`KyR9~jIdKi5s{O`B?|;mNU9+}x zyXz$hjKEf|TrUoO$}d*`#P7oT<5_(mZF30}C~zfMC-}HKzgPS52Q?)A?^L~*{5t>l zc1Bar#R~7(h`dU+vbq1;(o({t4 z*3oq4c72PY?RA?XX$PW%7`lD%{4R`gyBq$$wcp_k1Db8W8dtK`a6?@Ly*V;b(1PB&NN(?{n`mL0L|Cy93SEmv%n(Dtgy-& z>uj*eR=d>N>#+0cU2)9~uQYh;yGH+M3dE%N`sF$|xy@bf^U!j

smC7fTSIQ-eie&>~{0A$){ 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 (typeof v === "number" && Number.isFinite(v) ? v : fallback); - const sectionGapEm = num(docStyle.sectionGap, 0.85); - const entryGapEm = num(docStyle.entryGap, 0.42); - const bulletGapEm = num(docStyle.bulletGap, 0.2); + const nameContactGapEm = num(docStyle.nameContactGap, DOC_EM.nameContactGap); + const contactGapEm = num(docStyle.contactGap, DOC_EM.contactGap); + const headerSectionGapEm = num(docStyle.headerSectionGap, DOC_EM.headerSectionGap); + const sectionGapEm = num(docStyle.sectionGap, DOC_EM.sectionGap); + const sectionEntryGapEm = num(docStyle.sectionEntryGap, DOC_EM.sectionEntryGap); + const entryGapEm = num(docStyle.entryGap, DOC_EM.entryGap); + const titleSubGapEm = num(docStyle.titleSubGap, DOC_EM.titleSubGap); + const headBulletGapEm = num(docStyle.headBulletGap, DOC_EM.headBulletGap); + const skillsRowGapEm = num(docStyle.skillsRowGap, DOC_EM.skillsRowGap); + const bulletGapEm = num(docStyle.bulletGap, DOC_EM.bulletGap); const lineHeight = num(docStyle.lineHeight, 1.18); - // \section already has a natural ~1.2em parskip; subtract that so sectionGap - // measures total gap, not extra-on-top. - const sectionPrePt = Math.round((sectionGapEm - 1.2) * 11); - // Entry trail: tighter (negative) when entryGap < 0.65em (Jake's effective). - const subheadingTrailPt = Math.round((entryGapEm - 0.65) * 11); - // Bullet trail: itemize's natural item separation is ~0.15em — anything below - // that goes negative. - const itemTrailPt = Math.round((bulletGapEm - 0.18) * 11); - // Skill lines break with `\\` (no natural item separation), so the full - // bulletGap becomes the extra space — mirrors the editor's per-skill-row gap. - const skillLineGapPt = Math.max(0, Math.round(bulletGapEm * 11)); + // Section gap is the WHOLE gap above the heading; \titlespacing "before" + // measures exactly that (predecessor adds no trailing glue in this model). + const sectionGapPt = sectionGapEm * 11; + // Rule → first entry/row = \titlespacing "after". + const sectionEntryGapPt = sectionEntryGapEm * 11; + // Between-entry separator. + const entryGapPt = entryGapEm * 11; + // Entry head → first bullet = inner list \topsep. + const headBulletPt = headBulletGapEm * 11; + // Between-bullet separator = inner list \itemsep. + const bulletGapPt = bulletGapEm * 11; + // The header → first section vspace must absorb the first section's own + // \titlespacing "before" (= sectionGap) plus the center block's natural + // bottom (~0.34em), so the visible first gap equals headerSectionGap. + const headerSectionVSpacePt = (headerSectionGapEm - sectionGapEm - 0.34) * 11; + // The two subheading rows are \par-stacked, so a -4.5pt baseline pulls them to + // clean tight consecutive lines (below ~-5pt they collide); each em then adds + // 11pt of air on top, matching the editor's title→subtitle margin. Measured + // against compiled PDFs. + const titleSubPt = DEFAULTS.titleSubVSpacePt + titleSubGapEm * 11; // CSS line-height 1.0 ≈ LaTeX \baselinestretch 0.83; CSS 1.2 ≈ stretch 1.0. const baselineStretch = lineHeight / 1.2; const bool = (v, fallback) => (typeof v === "boolean" ? v : fallback); return { - sectionPreVSpacePt: sectionPrePt, - sectionPostVSpacePt: DEFAULTS.sectionPostVSpacePt, - subheadingTrailVSpacePt: subheadingTrailPt, - itemTrailVSpacePt: itemTrailPt, - itemListEndVSpacePt: DEFAULTS.itemListEndVSpacePt, - skillLineGapPt, + usesDocStyle: true, + nameContactVSpacePt: DEFAULTS.nameContactVSpacePt + (nameContactGapEm - DOC_EM.nameContactGap) * 10, + // The contact separator is a fixed-width box (from contactGap) holding the + // user's chosen divider glyph — mirrors the editor's --doc-contact-gap. + contactSeparatorTex: `\\makebox[${fmtPt(contactGapEm * 10)}][c]{${latexDivider(docStyle.contactDivider)}}`, + headerSectionVSpacePt, + sectionGapPt, + sectionEntryGapPt, + entryGapPt, + titleSubVSpacePt: titleSubPt, + headBulletPt, + skillsRowGapPt: skillsRowGapEm * 10, + bulletGapPt, baselineStretch, boldHeadings: bool(docStyle.boldHeadings, DEFAULTS.boldHeadings), boldTitles: bool(docStyle.boldTitles, DEFAULTS.boldTitles), @@ -86,8 +145,7 @@ function styleToLatex(docStyle) { italicSubtitles: bool(docStyle.italicSubtitles, DEFAULTS.italicSubtitles), italicDates: bool(docStyle.italicDates, DEFAULTS.italicDates), uppercaseHeadings: bool(docStyle.uppercaseHeadings, DEFAULTS.uppercaseHeadings), - sectionRule: bool(docStyle.sectionRule, DEFAULTS.sectionRule), - contactDivider: latexDivider(docStyle.contactDivider) + sectionRule: bool(docStyle.sectionRule, DEFAULTS.sectionRule) }; } @@ -102,11 +160,31 @@ function it(arg, on) { } function fmtPt(value) { - // LaTeX accepts negative pt directly. Round to integer pts for stable output. - return `${value}pt`; + // LaTeX accepts negative and decimal pt values directly. Keep one decimal for + // the small-granularity header/contact controls, but emit integers when exact. + const rounded = Math.round(value * 10) / 10; + return `${Number.isInteger(rounded) ? rounded.toFixed(0) : rounded.toFixed(1)}pt`; } function buildPreamble(style) { + const entryGapMacro = + style.entryGapPt === null + ? "" + : `\n\\newcommand{\\resumeEntryGap}{\\vspace{${fmtPt(style.entryGapPt)}}}`; + + // Outer (entry) list: in docStyle mode all implicit list glue is zeroed so the + // ONLY inter-entry gap is \resumeEntryGap; the fallback keeps Jake's natural + // list spacing. + const subListOpts = style.usesDocStyle + ? "[leftmargin=0.15in, label={}, topsep=0pt, partopsep=0pt, parsep=0pt, itemsep=0pt]" + : "[leftmargin=0.15in, label={}]"; + + // Inner (bullet) list: \itemsep is the sole between-bullet gap; topsep/parsep + // are zeroed so the last bullet adds nothing and the head→bullet gap (an + // explicit \vspace emitted by the renderer) and the entry gap fully own the + // spacing around the list. + const itemListOpts = `[topsep=0pt, partopsep=0pt, parsep=0pt, itemsep=${fmtPt(style.bulletGapPt)}]`; + return String.raw`\documentclass[letterpaper,11pt]{article} \usepackage[T1]{fontenc} @@ -146,11 +224,17 @@ function buildPreamble(style) { \raggedright \setlength{\tabcolsep}{0in} -\titleformat{\section}{\vspace{${fmtPt(style.sectionPreVSpacePt)}}${style.uppercaseHeadings ? "\\scshape" : ""}\raggedright\large${style.boldHeadings ? "\\bfseries" : ""}}{}{0em}{}[\color{black}${style.sectionRule ? "\\titlerule " : ""}\vspace{${fmtPt(style.sectionPostVSpacePt)}}] +% Section gaps are pure separators: \titlespacing "before" is the WHOLE gap +% above the heading (= sectionGap), "after" is the rule→first-row gap +% (= sectionEntryGap). titlesec drops the before-glue at the top of a page, so +% the first section's gap is set by the header \vspace instead. \scshape gives +% small-caps; the Uppercase toggle uppercases the heading text in renderSection. +\titleformat{\section}{\scshape\raggedright\large${style.boldHeadings ? "\\bfseries" : ""}}{}{0em}{}[\color{black}${style.sectionRule ? "\\titlerule" : ""}] +\titlespacing*{\section}{0pt}{${fmtPt(style.sectionGapPt)}}{${fmtPt(style.sectionEntryGapPt)}} \ifdefined\pdfgentounicode\pdfgentounicode=1\fi -\newcommand{\resumeItem}[1]{\item\small{{#1 \vspace{${fmtPt(style.itemTrailVSpacePt)}}}}} +\newcommand{\resumeItem}[1]{\item\small{#1}} % The right column is a right-aligned tabularx X cell (not a single-line r): it % claims the space left of the title and WRAPS, so a long link — or two links @@ -166,32 +250,34 @@ function buildPreamble(style) { \newcommand{\resumeRow}[2]{% \begin{tabularx}{0.97\textwidth}{@{}l R@{}}#1 & #2 \\\end{tabularx}\par} +% Entry heads carry no trailing glue: the head→bullet gap is an explicit +% \vspace the renderer inserts only when bullets follow, and the inter-entry gap +% is \resumeEntryGap. A bullet-less entry (e.g. Education) therefore adds nothing +% after itself, so the next entry/section gap stands alone. \newcommand{\resumeSubheading}[4]{% - \vspace{-2pt}\item + \item \resumeRow{${bf("#1", style.boldTitles)}}{#2}% - \vspace{-7pt}% + \vspace{${fmtPt(style.titleSubVSpacePt)}}% \resumeRow{${it("\\small#3", style.italicSubtitles)}}{${it("\\small #4", style.italicDates)}}% - \vspace{${fmtPt(style.subheadingTrailVSpacePt)}} } \newcommand{\resumeSubSubheading}[2]{% \item \resumeRow{${it("\\small#1", style.italicSubtitles)}}{${it("\\small #2", style.italicDates)}}% - \vspace{${fmtPt(style.subheadingTrailVSpacePt)}} } \newcommand{\resumeProjectHeading}[2]{% \item \resumeRow{\small#1}{#2}% - \vspace{${fmtPt(style.subheadingTrailVSpacePt)}} } -\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}} +\newcommand{\resumeSubItem}[1]{\resumeItem{#1}} \renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$} -\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]} +\newcommand{\resumeSubHeadingListStart}{\begin{itemize}${subListOpts}} \newcommand{\resumeSubHeadingListEnd}{\end{itemize}} -\newcommand{\resumeItemListStart}{\begin{itemize}} -\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{${fmtPt(style.itemListEndVSpacePt)}}} +\newcommand{\resumeItemListStart}{\begin{itemize}${itemListOpts}} +\newcommand{\resumeItemListEnd}{\end{itemize}} +${entryGapMacro} `; } @@ -205,9 +291,9 @@ function renderHeader(resume, style) { }); return `\\begin{center} - \\textbf{\\Huge \\scshape ${escapeTex(resume.name)}} \\\\ \\vspace{1pt} - \\small ${contactPieces.join(` ${style.contactDivider} `)} -\\end{center}`; + \\textbf{\\Huge \\scshape ${escapeTex(resume.name)}} \\\\ \\vspace{${fmtPt(style.nameContactVSpacePt)}} + \\small ${contactPieces.join(style.contactSeparatorTex)} +\\end{center}${style.headerSectionVSpacePt === null ? "" : `\n\\vspace{${fmtPt(style.headerSectionVSpacePt)}}`}`; } // If the field looks like a URL or domain, render as an underlined \href so the @@ -239,11 +325,12 @@ function renderSkillBullet(bullet, boldLabel) { return `\\textbf{${escapeTex(label)}}${escapeTex(rest)}`; } -// The `\\` line break between skill lines, carrying the bulletGap-derived extra -// vertical space so the PDF's skill spacing tracks the editor's. 0pt → plain `\\` -// (upstream-identical). -function skillBreak(style) { - return style.skillLineGapPt > 0 ? `\\\\[${style.skillLineGapPt}pt]` : `\\\\`; +// Separator BETWEEN skill rows that share one \item (the inline isSkillsLike +// case). \par ends the row; the optional \vspace adds the row gap. \\[len] would +// be silently dropped under the template's global \raggedright, so we never use +// it for row spacing. The last row gets no separator (rows are join()ed). +function renderSkillRowSep(style) { + return style.skillsRowGapPt ? `\\par\\vspace{${fmtPt(style.skillsRowGapPt)}}\n ` : "\\par\n "; } function renderItem(item, style) { @@ -252,10 +339,12 @@ function renderItem(item, style) { const isSkillsLike = !hasFourSlots && item.bullets.length; if (isSkillsLike) { - // Render as a single inline item — common for Skills / Technical sections. - return ` \\small{\\item{ -${item.bullets.map((bullet) => ` ${renderSkillBullet(bullet, style.boldSkillLabels)} ${skillBreak(style)}`).join("\n")} - }}`; + // Inline skill rows inside the entry list (a standard section whose item is + // all bullets). One \item; rows separated by the skills-row gap, never after + // the last row. + return ` \\item{\\small ${item.bullets + .map((bullet) => renderSkillBullet(bullet, style.boldSkillLabels)) + .join(renderSkillRowSep(style))}}`; } const heading = isProjectish @@ -267,7 +356,10 @@ ${item.bullets.map((bullet) => ` ${renderSkillBullet(bullet, style.boldSk if (!item.bullets.length) return heading; + // Head→bullet gap lives here (not in the macro) so a bullet-less entry leaves + // no trailing space. topsep is 0, so this \vspace is the whole head→bullet gap. return `${heading} + \\vspace{${fmtPt(style.headBulletPt)}} \\resumeItemListStart ${item.bullets.map((bullet) => ` \\resumeItem{${escapeTex(bullet)}}`).join("\n")} \\resumeItemListEnd`; @@ -275,7 +367,10 @@ ${item.bullets.map((bullet) => ` \\resumeItem{${escapeTex(bullet)}}`).joi function renderSection(section, style) { const hasAnyHeading = section.items.some((item) => item.title || item.subtitle || item.meta || item.location); - const heading = titleCase(section.heading); + // Headings are small-caps (\scshape) by default; the Uppercase toggle forces + // ALL CAPS by uppercasing the text (\scshape is then a no-op on the caps). + const titled = titleCase(section.heading); + const heading = style.uppercaseHeadings ? titled.toUpperCase() : titled; // Summary-like headings render their rows as plain small paragraphs instead of // the skills block (which draws \\ line breaks and bolds "Label:" prefixes). @@ -289,19 +384,20 @@ function renderSection(section, style) { ${paragraphs.map((text) => ` {\\small ${escapeTex(text)}\\par}`).join("\n")}`; } - // Skills-style: no heading rows at all → render as one flat block. + // Skills-style: no heading rows at all → one row per \item. \itemsep is the + // sole between-row gap (skillsRowGap); topsep/parsep are zeroed so the last row + // adds nothing and the rule→first-row gap is owned by the section "after" gap. if (!hasAnyHeading && section.items.length) { const allBullets = section.items.flatMap((item) => item.bullets); if (!allBullets.length) return ""; return `\\section{${escapeTex(heading)}} - \\begin{itemize}[leftmargin=0.15in, label={}] - \\small{\\item{ -${allBullets.map((bullet) => ` ${renderSkillBullet(bullet, style.boldSkillLabels)} ${skillBreak(style)}`).join("\n")} - }} + \\begin{itemize}[leftmargin=0.15in, label={}, topsep=0pt, partopsep=0pt, parsep=0pt, itemsep=${fmtPt(style.skillsRowGapPt)}] +${allBullets.map((bullet) => ` \\item{\\small ${renderSkillBullet(bullet, style.boldSkillLabels)}}`).join("\n")} \\end{itemize}`; } - const body = section.items.map((item) => renderItem(item, style)).filter(Boolean).join("\n"); + const entryJoiner = style.entryGapPt === null ? "\n" : "\n \\resumeEntryGap\n"; + const body = section.items.map((item) => renderItem(item, style)).filter(Boolean).join(entryJoiner); if (!body) return ""; return `\\section{${escapeTex(heading)}} diff --git a/src/App.tsx b/src/App.tsx index efcc5e9..6d5fecf 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,7 +2,7 @@ import { useCallback, useEffect, useLayoutEffect, useRef, useState, type ChangeE import { Eye, FileCode2, FileDown, RotateCcw, Upload } from "lucide-react"; import { useResumeEditor } from "./hooks/useResumeEditor"; -import { useDocStyle, DOC_ZOOM_OPTIONS, DOC_SPACING_PRESETS, type DocStyle } from "./hooks/useDocStyle"; +import { useDocStyle, DOC_ZOOM_OPTIONS, DOC_SPACING_PRESETS, DOC_SPACING_KEYS, type DocSpacingKey, type DocSpacingPreset } from "./hooks/useDocStyle"; import { useTemplates } from "./hooks/useTemplates"; import { useResumeExport } from "./hooks/useResumeExport"; import { ResumeEditor } from "./sections/editor/ResumeEditor"; @@ -24,16 +24,45 @@ function loadSavedResume(): ResumeData | null { } } -// Fine-grained layout/spacing controls — line height + the three vertical gaps. -// Ranges mirror role-fit-ai's Format menu. -const SPACING_SLIDERS: { key: "lineHeight" | "sectionGap" | "entryGap" | "bulletGap"; label: string; min: number; max: number; unit: string }[] = [ - { key: "lineHeight", label: "Line height", min: 1, max: 1.6, unit: "" }, - { key: "sectionGap", label: "Section gap", min: 0, max: 1.6, unit: "em" }, - { key: "entryGap", label: "Entry gap", min: 0, max: 1.2, unit: "em" }, - // Controls the gap between repeated lines inside a section — bullets, skill - // rows, and summary lines all read from --doc-bullet-gap, so "Line gap" names - // it honestly rather than implying bullets only. - { key: "bulletGap", label: "Line gap", min: 0, max: 1, unit: "em" } +// Fine-grained layout/spacing controls, grouped by where on the page they act so +// the (otherwise long) list stays scannable. Every spacing field in DocStyle is +// exposed here; ranges mirror role-fit-ai's Format menu. Page font size and +// margins are intentionally fixed by the Jake template. +const SPACING_GROUPS: { label: string; sliders: { key: DocSpacingKey; label: string; min: number; max: number; unit: string }[] }[] = [ + { + label: "Page", + sliders: [{ key: "lineHeight", label: "Line height", min: 1, max: 1.6, unit: "" }] + }, + { + label: "Header", + sliders: [ + { key: "nameContactGap", label: "Name → contact", min: 0, max: 0.5, unit: "em" }, + { key: "contactGap", label: "Contact gap", min: 0.5, max: 3, unit: "em" }, + { key: "headerSectionGap", label: "Header → section", min: 0, max: 2, unit: "em" } + ] + }, + { + label: "Sections", + sliders: [ + { key: "sectionGap", label: "Section gap", min: 0, max: 1.6, unit: "em" }, + { key: "sectionEntryGap", label: "Heading → entry", min: 0, max: 1.2, unit: "em" } + ] + }, + { + label: "Entries", + sliders: [ + { key: "entryGap", label: "Entry gap", min: 0, max: 1.2, unit: "em" }, + { key: "titleSubGap", label: "Title → subtitle", min: 0, max: 0.4, unit: "em" }, + { key: "headBulletGap", label: "Entry → bullets", min: 0, max: 1.2, unit: "em" } + ] + }, + { + label: "Lists", + sliders: [ + { key: "bulletGap", label: "Bullet gap", min: 0, max: 1, unit: "em" }, + { key: "skillsRowGap", label: "Skill-row gap", min: 0, max: 0.8, unit: "em" } + ] + } ]; // Labeled range input for one spacing dimension. @@ -267,17 +296,30 @@ export default function App() { event.target.value = ""; } - const spacingActive = (values: DocStyle) => - docStyle.style.lineHeight === values.lineHeight && - docStyle.style.sectionGap === values.sectionGap && - docStyle.style.entryGap === values.entryGap && - docStyle.style.bulletGap === values.bulletGap; - - const activePresetKey = Object.entries(DOC_SPACING_PRESETS).find( - ([, p]) => spacingActive({ ...docStyle.style, ...p.values }) - )?.[0] as string | null ?? null; - - const presetItems = Object.entries(DOC_SPACING_PRESETS).map(([key, p]) => ({ key, label: p.label })); + // The live spacing equals a preset when all 11 fields match (within a hair, so + // float rounding from the sliders doesn't break the highlight). + const spacingActive = (values: DocSpacingPreset) => + DOC_SPACING_KEYS.every((k) => Math.abs(docStyle.style[k] - values[k]) < 0.005); + + // Built-in presets plus the user's saved "Custom" (when present), shown as one + // segmented selector. "custom" applies the saved snapshot; the rest apply their + // fixed values. + const presetItems = [ + ...Object.entries(DOC_SPACING_PRESETS).map(([key, p]) => ({ key, label: p.label })), + ...(docStyle.customPreset ? [{ key: "custom", label: "Custom" }] : []) + ]; + + const activePresetKey = + (Object.entries(DOC_SPACING_PRESETS).find(([, p]) => spacingActive(p.values))?.[0] ?? null) ?? + (docStyle.customPreset && spacingActive(docStyle.customPreset) ? "custom" : null); + + function applyPreset(key: string) { + if (key === "custom") { + if (docStyle.customPreset) docStyle.applySpacingPreset(docStyle.customPreset); + return; + } + docStyle.applySpacingPreset(DOC_SPACING_PRESETS[key as keyof typeof DOC_SPACING_PRESETS].values); + } const tectonicOff = !templates.tectonic.available; @@ -401,25 +443,34 @@ export default function App() {

-
- {SPACING_SLIDERS.map(({ key, label, min, max, unit }) => ( - docStyle.set(key, value)} - /> - ))} +
+ {SPACING_GROUPS.map((group) => ( +
+ {group.label} +
+ {group.sliders.map(({ key, label, min, max, unit }) => ( + docStyle.set(key, value)} + /> + ))} +
+
+ ))} +
diff --git a/src/hooks/useDocStyle.ts b/src/hooks/useDocStyle.ts index 5334f3c..9478083 100644 --- a/src/hooks/useDocStyle.ts +++ b/src/hooks/useDocStyle.ts @@ -9,15 +9,22 @@ export type DocStyle = { // (75% of the pane); width and font scale by the same factor. zoom: number; lineHeight: number; // body leading + nameContactGap: number; // name -> contact row + contactGap: number; // horizontal space between contact items + headerSectionGap: number; // contact/header block -> first section sectionGap: number; // em between sections + sectionEntryGap: number; // section heading -> first entry/row entryGap: number; // em between entries in a section + titleSubGap: number; // title row -> subtitle row + headBulletGap: number; // entry header -> first bullet + skillsRowGap: number; // skills row -> skills row bulletGap: number; // em between bullets boldTitles: boolean; // entry title (role / project / school) boldHeadings: boolean; // section headings boldSkillLabels: boolean; // "Languages:" style labels italicSubtitles: boolean; // subtitle + location row italicDates: boolean; // the right-aligned date / link slot - uppercaseHeadings: boolean; // force section headings to ALL CAPS (off = as typed) + uppercaseHeadings: boolean; // force section headings to ALL CAPS (off = small caps, as in the PDF) sectionRule: boolean; // the horizontal rule under each section heading contactDivider: string; // 1–2 char separator between header contact items }; @@ -25,28 +32,63 @@ export type DocStyle = { export const DOC_STYLE_DEFAULTS: DocStyle = { zoom: 1, lineHeight: 1.18, + nameContactGap: 0.04, + contactGap: 1.82, + headerSectionGap: 1.19, sectionGap: 0.85, + sectionEntryGap: 0.42, entryGap: 0.42, + titleSubGap: 0.06, + headBulletGap: 0.42, + skillsRowGap: 0, bulletGap: 0.2, boldTitles: true, boldHeadings: false, boldSkillLabels: true, italicSubtitles: true, italicDates: false, - uppercaseHeadings: true, + // Off by default → small-caps headings that match the Jake template's \scshape. + // The toggle forces ALL CAPS for users who prefer it. + uppercaseHeadings: false, sectionRule: true, contactDivider: "|" }; -type DocSpacingPreset = Pick; +// Single source of truth for the spacing fields that make up a preset (the +// sliders, the built-in presets, and the saved Custom snapshot). The key type +// and the runtime list derive from this one array so they can't drift. +export const DOC_SPACING_KEYS = [ + "lineHeight", + "nameContactGap", + "contactGap", + "headerSectionGap", + "sectionGap", + "sectionEntryGap", + "entryGap", + "titleSubGap", + "headBulletGap", + "skillsRowGap", + "bulletGap" +] as const satisfies readonly (keyof DocStyle)[]; + +export type DocSpacingKey = (typeof DOC_SPACING_KEYS)[number]; + +export type DocSpacingPreset = Pick; export const DOC_SPACING_PRESETS = { compact: { label: "Compact", values: { lineHeight: 1.16, + nameContactGap: 0.02, + contactGap: 1.6, + headerSectionGap: 0.82, sectionGap: 0.48, + sectionEntryGap: 0.3, entryGap: 0.24, + titleSubGap: 0.03, + headBulletGap: 0.24, + skillsRowGap: 0, bulletGap: 0.08 } }, @@ -54,8 +96,15 @@ export const DOC_SPACING_PRESETS = { label: "Normal", values: { lineHeight: DOC_STYLE_DEFAULTS.lineHeight, + nameContactGap: DOC_STYLE_DEFAULTS.nameContactGap, + contactGap: DOC_STYLE_DEFAULTS.contactGap, + headerSectionGap: DOC_STYLE_DEFAULTS.headerSectionGap, sectionGap: DOC_STYLE_DEFAULTS.sectionGap, + sectionEntryGap: DOC_STYLE_DEFAULTS.sectionEntryGap, entryGap: DOC_STYLE_DEFAULTS.entryGap, + titleSubGap: DOC_STYLE_DEFAULTS.titleSubGap, + headBulletGap: DOC_STYLE_DEFAULTS.headBulletGap, + skillsRowGap: DOC_STYLE_DEFAULTS.skillsRowGap, bulletGap: DOC_STYLE_DEFAULTS.bulletGap } }, @@ -63,8 +112,15 @@ export const DOC_SPACING_PRESETS = { label: "Relaxed", values: { lineHeight: 1.3, + nameContactGap: 0.06, + contactGap: 2.1, + headerSectionGap: 1.5, sectionGap: 1.15, + sectionEntryGap: 0.6, entryGap: 0.62, + titleSubGap: 0.1, + headBulletGap: 0.62, + skillsRowGap: 0.1, bulletGap: 0.34 } } @@ -73,37 +129,87 @@ export const DOC_SPACING_PRESETS = { // Google-Docs-style zoom steps for the Resume tab's page-zoom select. export const DOC_ZOOM_OPTIONS = [0.5, 0.75, 0.9, 1, 1.1, 1.25, 1.5] as const; -const STORAGE_KEY = "jakeforge.docStyle.v1"; +const STORAGE_KEY = "jakeforge.docStyle.v2"; +// User-saved spacing preset (the 11 spacing sliders only, like the built-in +// presets). Stored separately so it survives Reset and live edits. +const CUSTOM_STORAGE_KEY = "jakeforge.docStyle.custom.v1"; +// v1 had one `entryGap` slider wired to the entry-header -> bullets gap in both +// CSS and LaTeX (and one `sectionGap` that doubled as the header->section gap). +// Migrate that value to `headBulletGap`; the new `entryGap` starts at the +// calibrated entry-to-entry default and `headerSectionGap` from sectionGap+0.34. +const LEGACY_V1_STORAGE_KEY = "jakeforge.docStyle.v1"; const clamp = (value: unknown, fallback: number, min: number, max: number) => { const n = typeof value === "number" && Number.isFinite(value) ? value : fallback; return Math.min(max, Math.max(min, n)); }; -function coerce(raw: unknown): DocStyle { +function coerce(raw: unknown, legacyMode: "current" | "v1" = "current"): DocStyle { const r = (raw ?? {}) as Partial>; + const legacySectionGap = clamp(r.sectionGap, DOC_STYLE_DEFAULTS.sectionGap, 0, 2); + const legacyEntryGap = clamp(r.entryGap, DOC_STYLE_DEFAULTS.entryGap, 0, 1.6); return { zoom: clamp(r.zoom, DOC_STYLE_DEFAULTS.zoom, 0.4, 2), lineHeight: clamp(r.lineHeight, DOC_STYLE_DEFAULTS.lineHeight, 1, 1.8), - sectionGap: clamp(r.sectionGap, DOC_STYLE_DEFAULTS.sectionGap, 0, 2), - entryGap: clamp(r.entryGap, DOC_STYLE_DEFAULTS.entryGap, 0, 1.6), + nameContactGap: clamp(r.nameContactGap, DOC_STYLE_DEFAULTS.nameContactGap, 0, 0.8), + contactGap: clamp(r.contactGap, DOC_STYLE_DEFAULTS.contactGap, 0.4, 3), + headerSectionGap: clamp( + r.headerSectionGap, + legacyMode === "v1" ? legacySectionGap + 0.34 : DOC_STYLE_DEFAULTS.headerSectionGap, + 0, + 2.4 + ), + sectionGap: legacySectionGap, + sectionEntryGap: clamp(r.sectionEntryGap, DOC_STYLE_DEFAULTS.sectionEntryGap, 0, 1.2), + entryGap: legacyMode === "v1" ? DOC_STYLE_DEFAULTS.entryGap : legacyEntryGap, + titleSubGap: clamp(r.titleSubGap, DOC_STYLE_DEFAULTS.titleSubGap, 0, 0.6), + headBulletGap: clamp( + r.headBulletGap, + legacyMode === "v1" ? legacyEntryGap : DOC_STYLE_DEFAULTS.headBulletGap, + 0, + 1.4 + ), + skillsRowGap: clamp(r.skillsRowGap, DOC_STYLE_DEFAULTS.skillsRowGap, 0, 0.8), bulletGap: clamp(r.bulletGap, DOC_STYLE_DEFAULTS.bulletGap, 0, 1.2), boldTitles: r.boldTitles !== false, boldHeadings: r.boldHeadings === true, boldSkillLabels: r.boldSkillLabels !== false, italicSubtitles: r.italicSubtitles !== false, italicDates: r.italicDates === true, - uppercaseHeadings: r.uppercaseHeadings !== false, + uppercaseHeadings: r.uppercaseHeadings === true, sectionRule: r.sectionRule !== false, // Cap at 2 chars; fall back to "|" when missing (not when intentionally blank). contactDivider: typeof r.contactDivider === "string" ? r.contactDivider.slice(0, 2) : DOC_STYLE_DEFAULTS.contactDivider }; } +// The spacing fields that make up a preset, lifted off a full DocStyle. +function pickSpacing(style: DocStyle): DocSpacingPreset { + return Object.fromEntries(DOC_SPACING_KEYS.map((k) => [k, style[k]])) as DocSpacingPreset; +} + +function loadCustom(): DocSpacingPreset | null { + try { + const raw = window.localStorage.getItem(CUSTOM_STORAGE_KEY); + if (!raw) return null; + // Reuse coerce() so a partial/corrupt blob is clamped and back-filled before + // we lift the spacing fields off it. + return pickSpacing(coerce(JSON.parse(raw))); + } catch { + return null; + } +} + function load(): DocStyle { try { const raw = window.localStorage.getItem(STORAGE_KEY); if (raw) return coerce(JSON.parse(raw)); + const legacy = window.localStorage.getItem(LEGACY_V1_STORAGE_KEY); + if (legacy) { + const migrated = coerce(JSON.parse(legacy), "v1"); + window.localStorage.removeItem(LEGACY_V1_STORAGE_KEY); + return migrated; + } return { ...DOC_STYLE_DEFAULTS }; } catch { return { ...DOC_STYLE_DEFAULTS }; @@ -112,6 +218,7 @@ function load(): DocStyle { export function useDocStyle() { const [style, setStyle] = useState(load); + const [customPreset, setCustomPreset] = useState(loadCustom); const saveTimer = useRef(undefined); // Persist (debounced — sliders emit a burst of changes per drag). @@ -132,14 +239,22 @@ export function useDocStyle() { ({ "--doc-zoom": String(style.zoom), "--doc-line": String(style.lineHeight), + "--doc-name-contact-gap": `${style.nameContactGap}em`, + "--doc-contact-gap": `${style.contactGap}em`, + "--doc-header-section-gap": `${style.headerSectionGap}em`, "--doc-section-gap": `${style.sectionGap}em`, + "--doc-section-entry-gap": `${style.sectionEntryGap}em`, "--doc-entry-gap": `${style.entryGap}em`, + "--doc-title-sub-gap": `${style.titleSubGap}em`, + "--doc-head-bullet-gap": `${style.headBulletGap}em`, + "--doc-skills-row-gap": `${style.skillsRowGap}em`, "--doc-bullet-gap": `${style.bulletGap}em`, "--doc-title-weight": style.boldTitles ? "700" : "400", "--doc-heading-weight": style.boldHeadings ? "700" : "400", "--doc-skill-label-weight": style.boldSkillLabels ? "700" : "400", "--doc-subtitle-style": style.italicSubtitles ? "italic" : "normal", "--doc-date-style": style.italicDates ? "italic" : "normal", + // Section headings render small-caps by default; the toggle forces caps. "--doc-heading-transform": style.uppercaseHeadings ? "uppercase" : "none", "--doc-rule-width": style.sectionRule ? "1px" : "0", // Quoted so it's a valid CSS `content` token. @@ -174,12 +289,32 @@ export function useDocStyle() { setStyle((current) => ({ ...current, ...preset })); } + // Snapshot the current spacing as the user's Custom preset (persisted). + function saveCustomPreset() { + const snapshot = pickSpacing(style); + setCustomPreset(snapshot); + try { + window.localStorage.setItem(CUSTOM_STORAGE_KEY, JSON.stringify(snapshot)); + } catch { + // Storage unavailable (private mode); the preset still applies this session. + } + } + const isTypographyDefault = useMemo( () => (Object.keys(TYPOGRAPHY_DEFAULTS) as (keyof typeof TYPOGRAPHY_DEFAULTS)[]).every((k) => style[k] === TYPOGRAPHY_DEFAULTS[k]), [style] ); - return { style, set, resetTypography, applySpacingPreset, isTypographyDefault, cssVars }; + return { + style, + set, + resetTypography, + applySpacingPreset, + saveCustomPreset, + customPreset, + isTypographyDefault, + cssVars + }; } export type DocStyleControls = ReturnType; diff --git a/src/lib/resumeDocument.ts b/src/lib/resumeDocument.ts index c4a9843..039fac7 100644 --- a/src/lib/resumeDocument.ts +++ b/src/lib/resumeDocument.ts @@ -69,14 +69,18 @@ function isNameLine(line: string): boolean { ); } -// Canonical, uppercased section label. Known synonyms collapse to one heading; -// arbitrary titles (LaTeX \section{...}) are just uppercased. +// Canonical, title-cased section label. Known synonyms collapse to one heading; +// arbitrary titles (LaTeX \section{...}) are title-cased to match the PDF's +// \scshape small-caps rendering (first letter full cap, rest small caps). +function titleCase(s: string): string { + return s.toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase()); +} function headingLabel(raw: string): string { const normalized = cleanLine(raw).toLowerCase(); - if (normalized === "targeted summary") return "SUMMARY"; - if (normalized === "core skills") return "TECHNICAL SKILLS"; - if (normalized === "experience") return "WORK EXPERIENCE"; - return cleanLine(raw).toUpperCase(); + if (normalized === "targeted summary") return "Summary"; + if (normalized === "core skills") return "Technical Skills"; + if (normalized === "experience") return "Work Experience"; + return titleCase(cleanLine(raw)); } // Read a brace-balanced argument starting at s[i] === "{"; returns the inner diff --git a/src/styles/index.css b/src/styles/index.css index df9425c..fac6962 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -413,6 +413,26 @@ color: var(--ink-faint); } +/* Save-the-current-spacing-as-Custom button under the spacing sliders. */ +.ctl-save-preset { + align-self: flex-start; + margin-top: var(--s1); + padding: 5px 12px; + font-size: 0.78rem; + font-weight: 600; + color: var(--ink-soft); + background: var(--card-elev); + border: 1px solid var(--hairline-strong); + border-radius: var(--r-md); + cursor: pointer; + transition: color 0.12s var(--ease), border-color 0.12s var(--ease), background 0.12s var(--ease); +} + +.ctl-save-preset:hover { + color: var(--ink-strong); + border-color: var(--accent); +} + .ctl-divider { width: 44px; padding: 4px 6px; diff --git a/src/styles/resume-document.css b/src/styles/resume-document.css index 97e88c4..30931ce 100644 --- a/src/styles/resume-document.css +++ b/src/styles/resume-document.css @@ -10,6 +10,38 @@ fill) so they print without "Background graphics". ============================================================= */ +/* Latin Modern Roman — the same font Tectonic embeds in the PDF. + Without this @font-face the browser falls back to Times/serif, + which is ~17% narrower and causes line breaks to diverge. */ +@font-face { + font-family: "Latin Modern Roman"; + font-weight: 400; + font-style: normal; + font-display: swap; + src: url("/fonts/LMRoman10-Regular.woff2") format("woff2"); +} +@font-face { + font-family: "Latin Modern Roman"; + font-weight: 700; + font-style: normal; + font-display: swap; + src: url("/fonts/LMRoman10-Bold.woff2") format("woff2"); +} +@font-face { + font-family: "Latin Modern Roman"; + font-weight: 400; + font-style: italic; + font-display: swap; + src: url("/fonts/LMRoman10-Italic.woff2") format("woff2"); +} +@font-face { + font-family: "Latin Modern Roman"; + font-weight: 700; + font-style: italic; + font-display: swap; + src: url("/fonts/LMRoman10-BoldItalic.woff2") format("woff2"); +} + .resume-doc { box-sizing: border-box; --doc-page-border-width: 1px; @@ -94,14 +126,14 @@ margin-top: 0.62em; } -/* Section heading: ALL CAPS with a rule below. */ +/* Section heading: small caps with a rule below, matching the PDF's \scshape. */ .resume-doc__heading { margin: 0 0 0.16em; padding-bottom: 0.05em; border-bottom: 1px solid #000000; font-size: 1.02em; font-weight: 700; - text-transform: uppercase; + font-variant: small-caps; letter-spacing: 0.04em; color: #000000; } diff --git a/src/styles/resume-editor.css b/src/styles/resume-editor.css index 6bbcc46..f0168b9 100644 --- a/src/styles/resume-editor.css +++ b/src/styles/resume-editor.css @@ -227,7 +227,7 @@ gap: 0.05em 0; /* PDF name→contact baseline gap is 14.3pt; the name line box's descent plus the contact line's ascent already supply nearly all of it. */ - margin-top: 0.04em; + margin-top: var(--doc-name-contact-gap, 0.04em); /* \small at the 11pt documentclass = 10pt = 0.913em. */ font-size: 0.91em; color: #1a1a1a; @@ -263,7 +263,7 @@ sit under the INPUT, not the divider — stay centered. A margin-based divider made the real footprint (~2em) drift from this value (was 0.85em), shifting the × off-center. */ - --contact-divider-width: 1.82em; + --contact-divider-width: var(--doc-contact-gap, 1.82em); } .rdx-contact__chip::after { @@ -339,32 +339,20 @@ color: var(--danger); } -/* Sections. The PDF's gap into a section heading varies with what precedes it - (TeX glue: ~23.9pt after a bullet list, 25.3pt after the skills block, - 26.7pt after the contact line, at the normal preset) while the slider moves - all of them together at 11pt/em — mirror both with per-predecessor offsets. */ +/* Section gap is a pure separator (matches the PDF's \titlespacing "before"): + one uniform gap above every heading, regardless of what precedes it. The + per-predecessor offsets and leading-scaled (--doc-line) terms are gone — the + header→first-section distance has its own slider below. */ .rdx-section { position: relative; - margin-top: calc(var(--doc-section-gap, 0.85em) + 0.02em); - /* BFC: keep child margins (esp. the bullet-less entry's trailing-glue - margin-bottom below) inside the section so they ADD to the next section's - margin like TeX glue sums, instead of collapsing into it. */ + margin-top: var(--doc-section-gap, 0.85em); + /* BFC: keep child margins inside the section so the section gap is reliable + instead of collapsing into the first child's margin. */ display: flow-root; } -/* The (--doc-line − 1.18) terms below mirror how the PDF's list-closing glue - grows super-linearly with leading (TeX rubber/ex-unit glue): calibrated - against compiled PDFs at lineHeight 1.18 and 1.3, zero at the 1.18 default. */ -.rdx-section:has(.rdx-bullet) + .rdx-section { - margin-top: calc(var(--doc-section-gap, 0.85em) + 0.09em + (var(--doc-line, 1.18) - 1.18) * 2.6em); -} - -.rdx-section--skills + .rdx-section { - margin-top: calc(var(--doc-section-gap, 0.85em) + 0.21em + (var(--doc-line, 1.18) - 1.18) * 0.75em); -} - .resume-doc section.rdx-section:first-of-type { - margin-top: calc(var(--doc-section-gap, 0.85em) + 0.34em); + margin-top: var(--doc-header-section-gap, 1.19em); } .rdx-section__head { @@ -392,13 +380,16 @@ z-index: 1; } -/* Section heading: ALL CAPS with a rule below (the stored heading is uppercased - on parse; this also forces caps for hand-typed headings). */ +/* Section heading: small caps with a rule below, matching the PDF's \scshape. + Headings are stored in title case ("Education") so CSS small-caps renders the + first letter as a full capital and the rest as small capitals. The Uppercase + toggle (--doc-heading-transform: uppercase) still forces ALL CAPS on demand. */ .rdx-section__heading { /* \large at the 11pt documentclass = 12pt = 1.096em of \normalsize 10.95pt. */ font-size: 1.1em; font-weight: var(--doc-heading-weight, 400); - text-transform: var(--doc-heading-transform, uppercase); + font-variant: small-caps; + text-transform: var(--doc-heading-transform, none); letter-spacing: 0.04em; color: #000000; width: auto; @@ -475,24 +466,15 @@ \resumeSubHeadingListStart leftmargin=0.15in (10.8pt = 0.99em). The right edge (dates/locations) stays flush, so only the left content shifts in. */ padding-left: 0.99em; - /* In the compiled PDF, entry→entry distance is FIXED glue (the Format menu's - entry gap feeds the \resumeSubheading trailing vspace, i.e. the head→bullets - gap below) — so the editor's entry margin is a constant too. */ - margin-top: calc(0.43em + (var(--doc-line, 1.18) - 1.18) * 3em); + /* Entry→entry rhythm — the sole gap between entries, matching the PDF's + \resumeEntryGap (em*11pt). Rigid: it no longer scales with line height. */ + margin-top: var(--doc-entry-gap, 0.42em); } -/* The PDF's heading→first-entry gap is fixed template glue (independent of the - spacing sliders) and tighter than the entry→entry rhythm. */ +/* Section heading→first entry/row. Normal preset is calibrated from the compiled + PDF: section rule → first entry title top ≈ 4.56pt = 0.42em. */ .rdx-section__head + .rdx-entry { - margin-top: 0.33em; -} - -/* A bullet-less entry's \resumeSubheading trailing vspace has no bullet list to - absorb it in the PDF, so it leaks into whatever follows — mirror that so the - gap after e.g. the Education row tracks the entry-gap slider like the PDF - does. Zero at the default 0.42em. */ -.rdx-entry:not(:has(.rdx-bullet)) { - margin-bottom: calc((var(--doc-entry-gap, 0.42em) - 0.42em) * 1.15); + margin-top: var(--doc-section-entry-gap, 0.42em); } .rdx-entry__head { @@ -500,6 +482,10 @@ display: flex; align-items: flex-start; gap: 0.4em; + /* The heading tabular is 0.97\textwidth in the PDF — its right edge stops + 0.075in (0.49em) short of the content area, inset from the section rule. + Bullets extend to the full width, so only the head gets this padding. */ + padding-right: 0.49em; } .rdx-entry__rows { @@ -508,10 +494,11 @@ } /* Title row → subtitle row: the PDF's \resumeSubheading tabular spaces its two - rows one \normalsize baselineskip apart (13.3pt) — wider than the stacked - line boxes alone. */ + rows one \normalsize baselineskip apart — measured glyph-bbox gap ≈ 0.063em in + the compiled PDF. The CSS box gap is slightly larger because inputs include + line-height leading; 0.06em box gap lands closest to the PDF visual. */ .rdx-entry__row + .rdx-entry__row { - margin-top: 0.09em; + margin-top: var(--doc-title-sub-gap, 0.06em); } .rdx-entry__row { @@ -570,8 +557,10 @@ } /* Skills sections: Jake-style "Label: inline list" rows, not bullets. */ +/* Skills rule → first row = section/entry gap (the PDF's \titlespacing "after"), + same as a standard section's rule → first entry. */ .rdx-section--skills .rdx-section__head { - margin-bottom: calc(0.39em - (var(--doc-line, 1.18) - 1.18) * 0.7em); + margin-bottom: var(--doc-section-entry-gap, 0.42em); } .rdx-skills-row { @@ -630,15 +619,15 @@ color: #222222; } -/* Each skill line is a "bullet" of the skills block — give consecutive rows the - same adjustable gap as bullets/summaries so the Bullet-gap slider controls it. */ +/* Consecutive skill rows get their own dedicated gap slider (the PDF stacks them + with no inter-row glue by default, hence the 0em default). */ .rdx-skills-row + .rdx-skills-row { - margin-top: var(--doc-bullet-gap, 0.2em); + margin-top: var(--doc-skills-row-gap, 0em); } /* Summary sections: plain paragraphs — no bullet glyphs, no heading slots. */ .rdx-section--summary .rdx-section__head { - margin-bottom: 0.25em; + margin-bottom: var(--doc-section-entry-gap, 0.42em); } .rdx-summary-row { @@ -670,10 +659,9 @@ display: block; gap: 0; list-style: none; - /* Head→bullets gap: this is where the PDF spends the Format menu's "entry - gap" — \resumeSubheading's trailing \vspace{(entryGap − 0.65em) · 11pt} - sits between the heading tabular and the bullet list. */ - margin: calc(var(--doc-entry-gap, 0.42em) - 0.02em + (var(--doc-line, 1.18) - 1.18) * 1em) 0 0; + /* Head→bullets gap = the PDF's explicit \vspace before the bullet list (inner + topsep is 0). Rigid em, no list-opening glue to model. */ + margin: var(--doc-head-bullet-gap, 0.42em) 0 0; padding: 0; color: inherit; font-size: inherit; @@ -686,10 +674,17 @@ align-items: flex-start; /* PDF geometry: marker at 61.5pt, bullet text at 70.8pt from the page edge. */ gap: 0.5em; - /* Breathing room between bullets — user-adjustable (Format menu). The PDF's - bullet trail moves 11pt per em of the slider; margins here resolve against - the \small 10pt bullet font, hence the 1.1 slope correction. */ - margin: calc(var(--doc-bullet-gap, 0.2em) * 1.1 - 0.02em + (var(--doc-line, 1.18) - 1.18) * 0.97em) 0 0; + /* Between-bullet gap = the inner list \itemsep (em*11pt) in the PDF. Applied + as margin-top, so it sits only BETWEEN bullets; the first bullet resets it + below so the head→bullet gap stays owned by .rdx-bullets. */ + margin: var(--doc-bullet-gap, 0.2em) 0 0; +} + +/* First bullet's gap to the entry head is owned by .rdx-bullets (head→bullet), + so it must not also carry the between-bullet margin — mirrors the PDF, where + itemize adds \itemsep only between items, never before the first. */ +.rdx-bullets .rdx-bullet:first-child { + margin-top: 0; } .rdx-bullet__dot {

IRQ-f%pfFV9cG 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 Vyu;PBx9MLjfa-m0k&7LC007#sw0r;n literal 0 HcmV?d00001 diff --git a/public/fonts/LMRoman10-Regular.woff2 b/public/fonts/LMRoman10-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ab8fed7e7e0b8323c8941a3d8a38bd36686bc94c GIT binary patch literal 48264 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