From a79dc7760d687d3d11c172fd9034d1bfdfbd6f3f Mon Sep 17 00:00:00 2001 From: Niclas Overby Date: Fri, 14 Aug 2026 20:07:13 +0200 Subject: [PATCH] feat(cider): export as PDF, and the name typed in the panel is the name on disk Click the PDF button and LibreOffice exports directly to the file picker, no options dialog: docs/wayland-pdf-export-panel.png. Type a name, click Save, and /Users/root/Documents/cider-export.pdf is a PDF document, version 1.7, one page. The instrument lesson first, because it cost the most. A trace in _selectFile: and then in _setFilename: never printed once across four runs that each produced a PDF. The loaded AppKit was the traced one, checked with strings, and there is only one in the tree. So the trace was not broken: LibreOffice never asks the panel for a filename at all. It sets nameFieldStringValue before showing the panel, reads it back afterwards, and joins the name to the directory itself. That is why nameFieldStringValue now answers with what is IN the field rather than what was put there. Before this, a user could type anything into Save As and always get the name the application suggested: every export landed on Untitled 1 with no extension, because that is what LibreOffice proposed. vendor/patches/cocotron/0054, generated against the built pin with 0052 and 0053 on top and checked by applying it to a copy. Also here: the panel traces themselves, behind CIDER_TRACE_PANEL, and a driver that retries the toolbar click across the few offsets the PDF button sits at, since LibreOffice reflows its toolbar with the window width and the nested output is not the same size every run. NOT FIXED and stated in the plan: without a typed extension the file has none, because nothing applies the panels allowed file types. --- docs/wayland-pdf-export-panel.png | Bin 0 -> 70959 bytes docs/wayland-port.md | 23 ++++++ .../0054-panel-name-field-is-the-answer.patch | 73 ++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 docs/wayland-pdf-export-panel.png create mode 100644 vendor/patches/cocotron/0054-panel-name-field-is-the-answer.patch diff --git a/docs/wayland-pdf-export-panel.png b/docs/wayland-pdf-export-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..34cc737f26e1cd7d6a5336f81b1147f9dc3691fe GIT binary patch literal 70959 zcmeAS@N?(olHy`uVBq!ia0y~yV4KCjz?#Fs#K6F?{PxWS3=9eko-U3d6?5L)Esqg? z{-5E)c~wQlH+#*yxSAGl>BKt)aVaS&RaLtJ z%@cEUH*;%;ulw_A_4=N@qF<^q?%viiG5PZFaQms3>kppITQL1C$DS7dsng#IK+U_L z?GPgai6=gseeqFDTux4Jf7i!*%*jbfcb;B|PAn+qdg?#VCbGEh<}%Sf zht2oue!n%%zII~y9IH|-6O$07i4wnct<=<>Jvi8WOe6AoGeef&iolnFC#}oh^~l-o zirrmycUS4}U$56oOG$mvJLTZC@ItJp^4tL4sDDRJZu#Z-^WD35%l+reS(U74obBo7 zm-ki3Fu*_&5aSBvY%`3SJgE&A}_prEo_frZRsxxLdT z__6PK+Uc_Bc@H{FKbOTG&R-L&{$w!{^rKV>+$t( zudWVXeT60J{gJJ|96P$YqW0JA4be*7d~@m2rAZrqyt})5lYMbfk&?3V!4v(CusB=K zwe{g1W_G?W@9tXb=;ZwW_jgl4Tt-GlP0gQwe}A7oeY%}T^3zfA_=24=yf2L=PMj!h zp7-X;%HYDnkI(1V*S)=Es;#|RR6Fd*v13dJ4m2_w8yQvD#3dv=SQWausku4*+?>de z5R;4x3JgC!oz`FOJ6la#QCuR@E9KmYjgW2SMsRFEBmP2Ha#&HQ#JPMvyn zYwPN{bLVc}y!p?v>+9p!7qHCIEjZA?C|~y@v8bphBt(QEBs_e+ZS}Vo7Z-opy?Bp! z_4jwSg^!MWdwZL4fqTE4taaI+x7+VCDA?H4{QmaV(a~|&yXm`%Kfc|5|J|LP!8&66 zvQ}R6_c$-Q6uNC1sU)X-V?& zzNgQh^UK@S9P5$vo~Cp1%$Ya$_Wsu2|0gLklk-;W>a$^L`ugh^ElN5!$I?db{Haq} z@9yj@+2s_dH1Wl=v$JQL=P#SC7r*b$ks~QbyF@n?g~&NPeZ1zoWAMF5tG{nH(#OBQzdJiQO`1G;clrByvuA7nzI^=n@uNps zpX8;Kme1U^ysM~Ha{ousjD0+_{+@E+*t+iK=Jf4lq5_~?9#{PP+uPM^)?BGB^?kTU z)q7e?YwOzB-P_izIdk#iL_hnYCnwI$wdQP^VVHbu{r-Qy{{4QR?Kj;KQOEY^$NwWaX!u@4_UoSkicn*9ocgVt2P z*=D+CW@V3$^={9*JIk_o+4}YQ$NOX%AN=|Gd3X8yw2cwMYCax5K64Bbo9?l@O1cIb zr=8*8aq6|Z*3@$|43lqcNaWIUA1F}g}uFfWVTo9qEn|&Utbp+9T}OKo~|y`$tQ0&XTk&pZI`DvONxquEY9t% z{(kNE4$b#Ev(K{inpaK$h$8Z*Q~TYAJwAfvq9^bEi+5 z6ciJ4XMcTte*XIf3l=!H^PLpajo5JD^y$-=FMn?4xBKz=y!~w7>E9n5Y<~0R&H8=6 zPF=is@%HWCpU>M*k3aSNv%3F0ovB{)ZL629+g1Mlp02KL?6#blQ>TXB-&fntCp&A# z42{(dvuDrl?mj&`f8Wm+7nO7Q85kJ$e7{%yB_Pt!(C}5(ys1;SCLQIHmY!{vduz|< zbJoZEWG^qSDK9UtD)`mY)AQ=pD}K8l2QFO#m6Wx=zFb^+=v9xT@v|EnlbISB82Dr? z7F?(gei~O%T|ImD?ECxc?KL%5`p>u1)63SVyY;-dvGMVxrQWMot(vmg(!#>U-TiW?ZSAiu zlP3pzcy#2fJjJ}CX3p0Y^NMms%fb$yJ$Gep(h}k2+EYa@1ZW48uFT%KcEt*fUHZ9R zUS2LB(DLSd-rZfA&%^hfzG5315;kL{bo{@EYT4iS63CQ?tDJ?#ATf$9ko?xwvM{ zn#HhS$&w@Y@5iTds;a84TenV4P3_D4d-v{bIx%spaJ@d9PU*=FOXD6&f+Oql2Tm`uFAK{_SmT%a$+CzqQ4)Zso4M zFRrb<-79TgR8+KR(V{hL*5uvUQTY0r?o>e*UCsI32M!!??G`&b)7V{U;*ldq&djk4 zKCHO(x2TlU!-nh~IU?IsS6lWU-@J9})LJpF)-UOA*N2|HwIy?N-QOyP6DLnbZp*p3 z$h8|p&dL4r<74*qb-n%l_qXTIKcu?k6N8p~y0g{oRktH~p}EG-UQ2ty!mtIeg06oO zadC6YyS;7gu3ftpEjo1m{P~L)3lBE2UcGviU*0a{rj`Fsz2NU5f#Hd6c{M+S%YJ-# zn7{w8*p}TqTYjE$;P{&^DlWcz*RE+(r&?NAZ29v_s->+>FK$o8r6rzc#JWMzvP4_- zp-rO$sOZ?W%c{J*Jo3@s-``*6&HnlGXNmB_J$r0!9`KR6^mOOWouXo5T`o#LJMLXx z?jOEBZg2JXcYLx|GiJ?lb9MDx8pJT+tHYG%Z{Ea&gs6yhzYM?p{QP`rxnCFA?sBP_ znueyX{qo?=o0ymwAO2E)hRVvyx3{;4pICfIGLKYjZ2?EL)v)YQ@!7Zyfu&yzF?nCq2%tVhx~&BxjK@S#@j{r~^{Ug+Gu%6iEs z%^sNo-s!!5PhXd;%{qDgdikd(CqWhR@=bPzhKAnL^=#|^{h6vAzVF|!?4Pc$&MiAs z`0vHy{x7R%?3&Bk3l92V^}d^2Cci~4y%#BYd1>job$Q?4-HqK{#>(LB?VXo;*4D z!}b?1UVw^t@A^LCr_VVoGB|KBWG9R5jdrW^WedQeSLlRYd-tt=Dt1JE#5C< zX_Rz?L#@x*n2DMB?wvbfYa#;U;^HDBcc!18mwS7gWKe>KN5|BuSHIt{j}H(3em%ZE zc27m1W&bJV3u`Vec8}j#^t9jpU%))g(7SOZudluR_4T#W!V725>KYk+dUUiqG&FS6 z#sd1mgsJtwHcSn$e<@`L` z+Z&VH*NCrm3Y6hXzp^5bTTG{;qobg>c(T6BQ^pXxb5(DaJ%dJpSN7fav$PlN46B;Y zWH(=4NN7{x<6|8i99F7IN=c88^?nJMaVr3v-XGunaVv)HR!yoxOI)?5r>DeeaC`q! zb63H=e}8`;?~~QGKmTBf=VU%vE0u{J3<)0|928dft9jgO-qhTjs;rvnG2LC@$g{Jv zv$L~*e|h=&+wJ`CZ*B@RG&MIL?~}Ez`0yZZZ7c5%SxX8{QP`<dVV~pP!%q{?^vl@9ypnWz!6iYfP)Gs%mR*H#ale_wkr?)VtRC z^XKo}X({WnVat{;pFV+FjcZQJDOY`c6&fFJU-99=iWM4Ni^Oyy7CcqF`d&dJ;nk*# zFQcv=xPRYXP3_rae>+Y-J~_jrmd%?#-`bjeRn)ZZ&yTJyuBQ*yK#KMozGtnurSi*| z-;1!WE#05JuHjjfWD(b{($`^eaeCa(UESQKO`pE{P3G!#+qC9uz0%6rBOO2cw8QN6 zJm8ABMZif*kd>A7)^k2y-n*OA`-`>*l)mIpWWKw<{{PzT_q_c5mmlBc^1`$sUXo+0 zL~wAh?X_99)n<>4Z(qB1t?tuFb@x7*mFw1lx)tU3Yt!@c^zPr>wqnJLx#jnE*8JSm z-hO;f<>z~~-(#yj?EdxZSHJzgALs4=uUWbB<;~5{e|>$uckfmWwCj@@-JU-T2 zTvT-G)TvdgS4-R1?a`_I^yH+|!Viy*c7OZ!O*?#@jA4>XR+g46`}b+O(R^|?5|WZ9 z(>5<&yf}27-sc}5A0O=&kKa+S(0jUG`MW!w9v%x0S0*3tGc`BgU;Ml;L~E{5s#i?R zosW-?n}+Y$v7_R}g@q3vKD7V;$9VHzNdZuWyTv6WBxFmOESPiQbkoOcl{pT&?rw&0}R{{lc(G#q-v! zTXB1(3be}8|m zJAc)`t~YPq^xOUF@caJhlayJ`jVmjIdR(XspZK;7GY zHI-pu(;{@Hc`apXY*6vEx8MKb#f!?%&qPH^X=k@9y3{b}a3|fyQmy zw!OZ#_V)Jt`K_(2dl$8~x_WqcOxKIObN4RDfSlGy9Z>%EGyiz_Irvt zb8CyxF$;Pa7Z=yp*XO1sqnPUJ>l>rDeQS23fRl&mvE_#xKn{00RiMSw^5x2f3kM#5 zw2--K-sGZ`nU!T^Y@GctYVWtl9SeNNMAKg`F&^X9s~o7oG|Njqz;|GvBX zyK23h&?Q41p55lm7E| zz(Ku9j*O2Ob5-1K$uNY3hK7cRo12++xhUDq&reKz_~5|@qxpQybM0!MU0Hc~>(;H8 zm-#LYmb0&$GowO7VS#M7Ys{XCjceBYS=>LZ^vw-HhCUg~P37|55e_ww8{dHe70 znU|NBZ;Z&Xy{78wf6DN4eC`%eO4z*gspYH6;AHj9pDkzi4Vq%p5kJ z4$~zp3@6T>{rc_ORW)_T4P4xxV`5^q==`+*7Y$Au9D75y{JIz!8!Id?zdrBfGT+&Y z7VVmASNpElJV~P7`2Ob=4-3MYYq+NS`fzUP_?WfRJS9>m|9Ics{#L#4&msH$zkQi= z<#M-Iu||KGQ}{C)X5 znXCt8{He2e^7W_Xzx=wSY44*&FHau-Z*%{WcgGi@ck4>teL3fw&9;JLn^ec573t^a zO`SgdbkM8UAkf|2{r1h9J9qE;`uaZoY;I!mq9joB^4A`pITGr>_f&uP@rl@N#YM=F=j${yN2(fHlzI99c@+Hg7ZysJfGa`30``Q)PWOn`j ztNpTSTT)lhqeUm$@~>y!+qBJN(iQz_>D(X{kyNad*|il)&4#< z$GZI7{rjgUbi@^X(w)lKap=&ZWoj2EDCSEAxclC@b4N)@skgB7z@%#b|4Gui_E zU9)rDj74)KUMBT4`fA3#;(2$Ng&~7$j>fAsR_DHciZ1Qk`^rfB1ZUnEqiY}5bG?|c z$;>0@^7fr_J>PR%1wgSif$7+;mL0oyySuv1wW%yS&`@V1m)v~E`|2MZ`yWdlJ`g_Y zF~5hm-*nwvS9$-mMFyW%ty;Be_3DuPE61)~yEg5kuF;{hXV=E>uX}!O?&q&xpA>w_ z`IVTKCMR|+(sFOG`p0Ryw|Q457~i>bXIJU#V?VAQP1-nT&YZ5Ut`?`n($cMeUanrZ zPK>LS;lYa+C(>S59+`6U=FQO1(8ff;y?gf9h;^rCWktot>UyhiH0edob5UBj{O#%U z=kvc7#03VPJlyWD<}>5No14ZHJ*Lc_ZJyv@zjyty`iUOqsv9j1yuBax>!9Ji&st0m z=5H@yFRoB`l6k6nb86Zq`(|ba>2;g$b2F#2vu*QPy>jKmqn~8J;MJ>FUf$lRm#Aq_;GM(XlPW_FDW0p;-{ys9yq|Kr>7@twPkk)Ac++fP;ptCogVf&|r-rYUZZthApl6rZY z3)F<;P-OM#`{3mM#cz&zIJVHXz0`c4IN$Gt(!J2QZ5f#xn;{15e6S$-?wkxNZg#z+36X0vHM+) z)4~fAGWtAJf^H^kSn2szpi60@$NRIAO)4i(ozlwA&R!W(_3+SCM&^4O`ugJCNB!s9 z@$%%ne~@tg!8S9MnK>RoIef3wDA3ruk=xA$eo11UHbLY;aNkWlk3j=<9c<8*$?A9(RDXE~~{G&&GnHoAeI_6rJ zpDdSucVVII-FIKl%-npuf4+oy-kN*Tw`QGTTlvd)Y2w7VebQw~udb~8q$#c+_u}&M z^-gB3E{zKc-`}fcxb^Mk6}IO;MPK~+UY~9`dCu+W4)Y(r`Jxp1J3e)n)%O;ybyF-N z1(trj(l@)M#zNoHa^<>pe&3caU7DJbA`*N%H`eXfwji_8S6>>L?@!ske@ZYBmn* zE%=w0mv{5#%@U4&xzFpiYzfhtdZ~NHt*+)~X4#XA{?~kX(3msvUU15V=BJtG7PxQp zS*Y>q#Kg&IX@3?iO5*0;3>p-g9sT6lGchr-jS*}7=2{tTQ{CA0@sQ7rEAKoX)#d)T zv|FZj;hJ2q;E9Y9sze>-DigRuU zA?tlV_$_<7KewGvcG8Rr53Q;D{(fUA)daUKUX(6<>wV&C%(Oou0=BmQC7trFtO)#M zIrFcjx7QH|hQz$3!4XZ9Oaghg@`OFUdi2W8&Yvz{nrHog|NmFV6~P79xjs%kKSN&Y z#ENk7vsbQMId*K>u3fuUt?GK0@BKY$>&A_VSyyakMd+lJb@6CxYo}$U$%yO4eEaeR z)YdDoNIyUC^y$;NIXN3P80c$h$(X$0O>URkFRwST|LMgeSGvRYZS~>X##Zt{JcRdF zYJUFxD_5q>o_+esw~{Lt7A)F$^yZHfElUF0}{xUS6wY za1iJUUslxRwCLXC@C=1-(uqNz)OSo^U^uGNS#A=ndOE3+AwbtGY5$cjwpS6eZcKCM z;WUzz)3`a=>)n1=pRO9o^pqqQ?wV-L+(H!w6*al6tgKm9rCp~)T(osH`LbVEnJ+(c zZr;v9F>s9$HPtbfYfYFon{}3bN<~8@gO$e0+3x>hDJr=Y4qK8SLr#bY<}KGiS~$ zT6DMeA#AaV@S*d9hr`0cKyK>#SxA*HE($dtX zpMHDa-ptrZMT(H2wEYtIJ^)Hj?RIBNyMLGVNp3E;R^UKIsp2n@Ct6TfWBKz8! znHMkaeIa6Pz1w%TS$J63$^Nt0q4zu;}aS zJ9_l!moMTB51u?Z@^DKGyOrCr6BR2v<}JB>!(#c8J6pDF$;is8`t@aHbMxUNox=Jt zJ0{Hid*<%lv!_mNC}et~8GAeR>xXlB-=Y!?itnht9|FHx@&A*y??Lk2&A8%7w8e_C&D2$&$jwpi7SWW^}`po{;XjW%-qFy z_PkHpRhy;u+=s=w|8AYt6Os1%sG7j!$Gbi;C@f>XJjv0p12qH{9<7KJ)fI`+3yT|(QBirfzpb}i30h%L|G&{N*)3b|^7-@U&%cj1el=tE z?9)}}*jToNZeKKgdV2rFi~H^Fe0ALM=!wuPpPnV#R2|*+O}iOyb*%aUx9395?u{22 zyk7n1d^79D9*&o%k}4S-LhKmpWx0H+l+K&Uw&_jD@@d#-k6qS^SbRV^}v@9zF zEv>2l@}khiWrt$)#KKJtm!d@bJDXP;EMV?=#l)bHvFO{94KF-Jcl`|3JD25s`7z(t zZQHhO*sx;#diI7*n~coO&8=2Mg@uL1#jPt6<#lE^s&?y>wO%*JqWD?&@~t(SSY|9486I*Ebh!rbhY`+wgsyC}X* zkiEfp!bG_rt&b*6JfF6qv2^WQLFVp76R+66l{tE~b%BW0vQs761;1GpJwmq3_1U2l zW!RQ~=u1NL)V=p7-Kl0_nA7+6jh^f^Ygg&e(5ZQOdFFXB;c`LQ z%<<#Q+_}r$StYJd5>$X%&uL%YHDT{B;qst3$-a2@6>62@#kLW)?xk&0z zM(w-!gqk-t$K-!VHk~Qwo;KNGk^|qFc@>xPxBIQ;W-W5Ra7^QRXs+_iicpTESJ%q7 z<=*|rdAC(}MOBoJ<;+_qIzi9l`DSUdKmOu+YW1RQ}`o=dyEG3ig1;dvf=HaYfe zvhMq@i%#;pGCDf=`{yRReOZ5FYxecLJ3BVsd^h=+M2gpPE(Qii0Ufb!g;|x$)jYit zmw7DHO5iwkgk{z&hA)!F^S+i_yT{%$lHhnQTYZSFA@}f++_xGGFCIALN?!YNOz+*t zoX@Vdl5?kg$v=AZsDim`W?|vR`Satsk5~2{zj!h5^NpI4KQEr0oehdlbMx!f&MA{u z6n)=5_jqTD=DkE-zNa$_J_RTKSYa~p!qKB!ckMcL_3F*rw}aoWeX%Nx!G7K%2QS70 z5Bvn)UH+rG>a}cEaLByRCw&1@rOo##!wZ#QsY9lhR>zf!=}}! zFNwR86ng1Z=lSPvzgd}K2PaeG3^5^r_$8ATA_OgTfGiy6%Zdb6C>eGqdwkCdm-NT1xzi$(MeQ$%0 zSLWAU>rz=68WzPJd1;n&3-LfS*F)`Mv{NME-7WRL?H17(0&by{TQKMQt ztW=d@p?gfo@9)ClAaH%rqD7mGWUW(II;2jYq|jz?y*^9kl~ZHHtkAS6KW2q!ZQZaz zfU7k|Z~FP?*RNcOh>YC&B!%_Z;=ea)0s{l>>_AIr+H%%?y6!4BS9JMyv+@SN=2hJ9 z-alP7zxLZRA;Z%;N{cotMqj-8y#2(aEFp$9XIETJ_T3WWeck%X`Sbd=wy|1Mxmpi3 zH8J`7J3pSib3m!OCk^DR~^y-o0*`^y; zx+q<#?qK%zK7D$+zNSi4WaR6pKE?ekeR8&DMNc?xZkSqf>chi)$@TkfHouXLcQNq& zS;HW}WfIrtwWsFK6MJ#df7u;p7agiGE-r50Z~pM@>eCnc!O^*%$@Xxit*vL(2^;5( zpTDQ7l-9*g&bq!mq+kAmo!vf$3pu3alF{km(*1BD8k;Lal#*h+G9mt?XQ zEEjP4FPHnLjIkl&Rididh7`$#0TD4VF~Pyi4A-t*)6>)Q_4WOt!j@xp`{YSa4UuP0 zpPn?@v1`|-im0>S4?X`pQ;PL`fmQF>^n@oKQL%a+wvq-BU#~ur3wi$_^8DT(x!3#o zw>(*MFkEiZ?eqIH-1j7M9rvAX=~uGL+1J;%wzhV@O(hd33zwCZwQXNz{G=x(EiEn0 zE@V3ggNe>t&~iHI*uu}hPnVv29<;7*@}9)!vtQqe`h9NymzO7Jb?3-QYZT;_+%f+Z z{@3eY`=1CdspFv)H(z`_uztGPzOOl1vXT4@|FwTIGCWDH+@j_+M{URd)RW);Ki|_Z zvFcR7p?ay=-laeDXLaAVTH#Z^`S}&OK*Q!EtB)Q$sAz5;9&2Hwt{#28tgPz4(2Z@m z-kUYoo1Fc>aK?8V_ivWpBfm*Ex1H24E&ZI4lcAxny;QmC{QOkum6O2nxOVB&xK&>d zD}CX7E+|rP<$PPBP2j}4TKj%Y`+jdZ!vmx2tkdBRl7aF0lZux9yUucNTl|gZe&1eQ z{rocc>iZ9;e$*ImjCk|-@zT_Pr%rLnoo`W56%$MQb#1yEPpFK>PD%g3J|L2p} zuU8wzR_?lV-RJSy&92|<=051##bc_vtms&@;>?*d7cN|w#uKA;;!I7&hlEADTp1Q5uDthf&-U9q)-}&eW(Xa1 ziF`9(*yd+mWr*QHB^9NWYfrqo!*X<`%~!?$y$gPCcit=^Z|$G&`e+j8`RAt|m7i*~ zkyKQ*397y|p+Ii+RD?MHDuile9e>7q(J-H-{MDZ9*ZHokKbhP6Cd6Mq zetv&;NPoZh{@+)(zkdDtRapJMi4P$aj}-$FMp7iT{E@ry#H5Latg?e|%#Icvnb zOXIxf&X{5M{CxZpd+jroTL0Dij|;E;HE;XFqdpV&#BVeC;B)4GzGCpz3)~0)7O&4Z z;&Se5H%s?X+qw(spU=OO3ER83IIbdOW_-i5sme-+^6&XvO`Bv_Sz~9fbZ9|kpk`Oi zdi9AFv-gC%l>Yk_-+f2tNKeb>PoF-yC{5hEcW-|`Kf{wJPeQ`No;`i~^Y{K2{gY?U z))wJ<`}Xb28!=^NWvQvDd3kxW&2o9}|9Y)uc=+4nLw9}IEga4Ke_O@8PpsFzWOw)U znt*AF=2Ksnzj!XT+P_fLvMe{a)RdK>aIa-|yMgWOWm@%ET`ruX(6ET3Ytf4nTX!w3%GW!j`sVPt;{WB((+{;U*lF{3H8ON9(sB7y zoGi2>hb=FzipNECzT~3gH!2x6WL{QFTm8}DM@rtmb}6TdDq*gte6!wm|Np)!V@mb8 z=+~E8LPc8(KW;hr;6|lY>;Y5Lt$I>wyTX=cU+-8K8+v}@I++K~Z8LT!ynIytc>BL^ z!5$gntuu2O6E1C;8NdF|jCnW9j{kei^*Mpz!1~+Y^ydEe`|kJe%b9JN+k?Qppckf} zHf=xmxTsRZv&g5Unsdn#k?w>yS8LDBvGkvp^7QFbW{29p`*%$|_5bAKk4NfdCdA*` zQ9S?N!#xv~-Oc8EDmO7GeYbr6(Ds!d*Gp-I&R3q_WCLQOu2sBUQySR#_Vb*y!#=p-jlmE%W)3^$hIv=J~1n{mxtv zsdKIV=gNCV*Z%$SUlMJnQvU3g{o5VBzP{X9non(F7gxo2oehZ;VPGlY`1Rs*DA(-C z@prGDt$lt_c$59|b90v8*8?xa*gGfgTS45E)i8RHUaO~3$oq`={>vt5MVA*mO!$_>v)=i+{OuH;5J=;vSF8XM+@Zsx!rUr(lu-EXp3SL#? zJFu)_k)F9#%-OyoCH4RJFJI#P8?{JHvwx}c{){OeoD3cH&AY3*JiYIAvp8z|wv;XJ*KND` zHtSC8i=62v(8782r{%Y9h4!?6pB>mm{us|%E@*XoAI~(=|NhrQnJVhere6}&G%u5z z@kvtuzQ?a`Z#5@&%sS8RAfV&#FS{(r6+7GtxjFsshr|8Z*Vat)kKgiQ{>H9l{{8&&-_-J-+eLQ0TrzD&Y~S(6T65-Z z%e~FEHTUu6gs7KuT#w$%z3lf-mD_sOtSr-+&0b|?+iq`r8?y7ny?cJ|leX^JB_kuV zPwGZ*j)~`D15W;IMo5B=54fNbHspWPIbj`iy$L`V6sbqx1l67yFkT^H#3RbaizN2$--kQ@h9Q z+Cpdcv(67*+B(cL>+8F9EB*V6-KqW4zgLwn$d6a+7W4l1b4~K=J!vy%eVQWgt|cG9 z)#)=gNvzv-Qi|7Y;j`(XPLr0H6;EWh3gSN%XJaFKChpF{#y@8KEc(mxiyrLxA+$W^ zmf+F;xEizTSyHOv;_A-7WOwg)Vb2b4CFN!;i_wXPupSD&(M~q~xYd$yu%eDfj2^+h>+L@5Cjq*?+(baJrh$ z?U|#&CH8L0n>}7TZynmZ{_A@?O%bm5cXwaEaz(}aVbM-SMa50w)(Znx6r6d<6Xln8 zyQ`?Eh=u8D?Ux@l`*vko%_uF3&kFOaox190uQl6@{+`#jm`WY=n`6HVsh8H6{@Q-Z zLq(|5MQN(n)|Vwd0xYx7J}a>B>77vV`r6y-?_1`s^@#NFIKIJPar^HxsxMbiwczrA^H{yy7I9yIzOaB2E%)sV2TS9`76KF9G|wSH!Z<0)L9 zdM{jK4m*PgYqZ`3yS@whHx`K7H#$t1I@OhbPD*O3sDQu%fmOmBEdKLs78*xHM{B2p zRvE>4Lsv%`nK2)()c<{>(!+nPRnGiCL6$Qei3?cS=bz{20+dIJ}4LH0t z4;09O9rH_k`?Puc*};M@8IG^4G~Kal*EZ;O7XgrxfY*nwRjy}y+?)HIt9MqrfD^~U z|I1daSn&f4uC3z$DZ1dzc(`&sPtR_!L58BY4htxP#N%Rb+!OSx((yi7pHNLrP0#%jF%=a*w&mXD(FZ$Y#nnU$eu$Q97cP9b=q^9kve->&;){(| zo|9&q=g%`tK9;}#@3D%zVCVhYY%mApD8-g5LL4l=zrFqaX7l;HdwW*C-nHCs?xxL~ ze?OfbUsP1|?(S}NZ+>3h*nKsX>*MyWS+mBf{9Vo4Tc&4Uep<9>ky-97m-=;U*Vg|3 z`@OcdHa9mn{p>7Pa}^n*6b?rL9kJ8buYW(Szki7a7sIiB`TEz_)@EK_CdeWvD!Mel zFEjJy?fm_3pFDZ;=8aA2sVS#Uc}3RR{d_Wc#taEc z&sKkZRr>o|ZY)1HD3B&J!n_b-Y-qU9e#*3Id3SbvT)lqZsgox!)_uKS_dECDq1G6^ z@_TzKrOorE#BWJF+@`Sxx99tNcrY~BR(~sbc`5bvwY4Iys;a7*Q;f^r+?X|MmUa2N zCCipQd;0X~(W58D-rm@l{Poq7g?q00%>f__%-QxQ9wq}RBx*nZnn*HLF zAjk(%LT#VHu`wY_=G^{ezNb%~{P}A2db8YHD%ty&IVL7Pe0zKQ@m^_mhRx~c?J7Pj za8Q__JJ+_lY`$IXnl)>t=|(?$_pa{61;w*3PZbpx_sdvrDt&$JzySwo>De=l)A=Ng zT((U)o7UdidUn43{}U6HXT6>|cW&*=OH04LzP@|s&dRE)e?K1gtNYE-(9&8oec%6o zzXb&a)6&w4pP$p!)z#I}F)=iJShO=NENt1bWr2Z#+1J)&ehUES2SaY?5=amB?fLhw zEqna-+1c5jKYiK}qvt5V$H&*&+FJen-BjJLpFdCjKWF~@^_HaP!k+W_8{{2qB z{{8)JUH&d7G0{=r$nW?2*Dqv=ii?wLKm76I$A$lME-&Mq>+%2PlP50q4?h27P!Qm# zsjU?j5}KwHDI_OnSNrSBmoFt}pDKf9%MJNp4v9`oOpLGl`LuzN*(6=rv*_|N-|z45 zFaKBe?2P2kf7?FIE!(_#v#pJd$#U(_u+^ed{dF`oXBs3PT0XxnDkQ{Z(vw}KuTv&h zY=~G@|GlcJ%1dR^ojWnV&aYXcV-PBvn-%TODcvisTup_itW1dNlRnq1NK(=eBO%oLzQw|G!_{3{1?- zshSrrUMzoqZ*TQ?y}!@fc%}7XcZGz9Z!dd$>(8G*g34|ge&NraVqIA(%)z4K85JE} zyz|bIB}+=v#_<@>pR=*c)xskNy(DUE4{-rudjvB2Eq9?u5<}c28PuJ`1@BjaD`TSiaFBcg|AG^1=T3jzi zLP*F-;79`_^ONR=Q&r#J&7C&Qtl+_crlzKbhKAbT-y$O-GAbj$`B$Rxq0N#Px3<3i z(*Ea9)1*m4Y4>MIXxbPW7Ct#Kk>?uM!s`;s-?=>}?cBNZ%Zks;?0j=93YiYN_;_fD zXf2sBdv^JY3->-uif87rd%>5w;hFq{l5b6+>5;d8ne)Cn>#?%xQvQCANmE$k*TwF( zD_U~vS=5<4afXzM3#85SDysS}E^fK*kdpFbhGFuWwQEbGUVnIac$RQ;Q&ZU5sHJn< zQ+L&T@%^`X>(;NozP`S`K3;!*<;O=yyT$dx^me-U%gvlQQ|okLVPT-9H43aM0sawc6oVu?X3Cv>vVvH z(}{vxU&O5|KRxLbR+qea=eWH7{S6Prqobo4Hf-J;z5N|%$JUno{)aYgwI7yy#;{bX z?9;UCI#c(_tBmu^i4zlgeaoJnx;pJnNl?(HL+$?;{PWs;zCT zhRCcLGcM%HuZ!QmP;YsJ&cDy+C)ey_ZBPDWB+@5fH0O`SM``oC8+)stzq@N)|0D74 z?)T?P3xB3dthE1cqchb@@}|=C(`#3)Vq&PTufO?aVn?Lq{H`$Gi3|tU%3M0PY-{%7 z>94O(W>8RAAj>di+O$*4bPTpF_uuU8<;8H|(xpvHmOOcR`OUPOdZ3&w;4~{!^xR|* zm2cm^H8wUnIyy2kG778t?5O>{?O7 z+j}v;(PsDAcFQ*%`nvdC(?y@U#k=m6dp!I1_jh4o;kR$!L`6k69cgCgcXM@ZZENF` zv-$Dyai3^U7HloR@mo_Czk62~dg9l_ll5f<1)xoL>GNw3J>I)RURqlEr9}I~dA8Ml z^&dWePF-?f`tc*3g`4&oYfbbp$-nofQ~2?d|NSYar>zxMKejgN>sFoAyPig$11}$_ zJEnENV%Dr#K|w(b2^SVH*45c9_*maOW9pnaJPZd9%2t1Q!T0~&?3=Ha`OV!|{@(7a zrv7H@@^?P7Ogw*=fC_v?760~YmFef_?XCY`=jL{7f}*oqznt&?W1-J4EOd77m+S5A zy}H=X($Z3Ed)@ncd)fKr*2L^A`t{}I(xpqQrrbI7=+UET`tfyNUtN9j>4G%&cs8a+1zlZU1|=mW85x;9d-pnCz1{7gU{UcQW4>K2gM)@hYN~DS*F#&y z#l)8VymXbn){j>w<}T~vnSb1PcfSAk7*vO5US78GW=^D6S=qNsOTEkA->ZFoZtjg6 zH&Rbe%M3o}U0t5-S?6NYdhz3$H9B|i-c7APRb?mj;^yY`FYNO2@@`yz_#b_&*qnZz zsUddvKY{L}3?Kgd{9OF}-0WGi&doBNd~R~V+?ZOIP1$m%uZ2Ai`*~|he#rK`yJFo( z)zs7!6%|1{;C3cP^mZ*;A#Fa1VS#)9yZZLelb$-?Tbupjf}(q$%-_fTEWGelPoK|M z1qWa56jnbs-@g9osi`HWUS3|FoSgjo`+NJeGc%f+m>6bQm*?f?zCAP3SU+aRhT`Yv zUc7j*ul6^eyxpD^D>xW}f`bE7Pz-#>mVS+b3+`B72E~)|T(nw8R>Y=jeKWP8^WOaWT8JQI8 z8@tQjCm-*-=gx9V_@7s&_GfW>`0jPxZ*;L;RjH{idzae(Z?^Si@-6(y3Z?9eLubS_7%lB4)=i}vFx;$e_ zVEI9lXw{o?C-0Y^k=ydW>3;oxTQxN|yQ3E`e*E$A@xOon7zCuHXHT7~x$Ppux5?U6d{`B_de*F2t5&Ugc6N68von(N^7GHmHrJ2Z zl5u{X?fyTXPM@5tUjF7rVp`g_bJp)wR8=i4ENcFIJpTIH+TYJ+=bKFb^K^Q=oL$Y2 zBb~xhpE_KW*KR&^XBw(bAF!I-@oF_gqbsU7Ct_#M0Pi{D?jZr!?1);kIxA9HT!3`SWMSPpj)W53kQ(Zq|9?h2Gs)uU@$*1^W5*eQSOF{O9NAiHV8YVQVZ(UR+q@ z+8q=W6e9OCO`rd!<&5ST^X%EQ2@@QqpG@04-=^}?w%ps^)AdwU zRMtdpcC)Kn@~$a!o7bk^Q}3+J&CMUnZu!sW?d^SY4$pMG*h#EenOgHXZ`tgNi*@gl zS-W!OLVM7@oMUY>4R5^o*3;L=mzI{+BXUE_EcaH)@3L8|S4X?L9^FxxysPxJ+j4oU zDG?D7F_DokpFP`F^RvCiE?z<4&xgbP{_|3H?ylxw>6Ne9(6H|^uX*OBBVWGsD7*K4 zs@U`9&6|dXvcJE-FBkXyy~|N+;j;BB*&9+H`%LdMP2EB@?U3=?Kla4;o-+Pr*Z{>+51) z`UO2c)@xn=&*rXhds=ex2zL6BNc1w*?CJ3JuPDAmjhK- z2T$d`cy@k%{o7kx_tpN6+h4ag|NcJj>3UQ1yA6|$bbNk(-W;@;q4d|6%*a#*htGkg zliJ$ac9*|rbO;GynfvJ3GcWeG7vZyR-P(0|`T6pfm!5`*r57pH=Wc3Uz1lq^!$7$; zzIvL~&r|I0m*{wE@8o9Kx^?T-t5>7M)|t!oo9EmxV34q>FsStlm8;Cv<7XAukL&5^ zSWsT@6Q;#s769HDkj_Wb(`^;kiDGLF4gmne}8-X{r&y?%*>VR3Z$i_s~B{q zO0HVHIw7^Hin%0{Nmw5L2(ec ze&ND}_3`_S)6bQ>ywn=^jn_}`ZohfGh+&q>{rHDATp#YfxR`Rxbjt_BWViXJ zcOKi8&d8Wvq_>^(lc&GGyj@L4Vc8e?ZQHhev6&a6H{EWzR=-U~VWozKw)W)MG#k0| zXU_DW zIa?3eR)4$ncIT_tufhFEYwO*c)6aJuef0Uc{+8_P|BiG{W=KdnR9I3{@!^4ELV|*_ zX@AFyS8v|L1O*9+iXOdUnRW70=%VPd_SVu#XOCRknti>QT{t@{OWx)L4;L3p!=%lc zkJKyE(*7*p|NrIxa|LeOem^+aJZn~zvGHcVxmFi7&z(D0S7&$g=6N}riUpNQIA-)3V871 zg-7{uHikxr3pZ}Oc=2M!{Q2t_8okn+k+!;}=lPwT#oFQPY)W2Cm_B{_r=X|lhrF+* zx!a%ZdlnWM`SYaueBb$YpylIdEw?JpwmfqEyDHc7i_4?yGCJb+R_R7=a*3_$S~O{L zzL$z`Ss9%4>2e$Obx$|!u9&pb_zchnWmm#b)@19> zy|g_)e_7N;slyj$tl$iObbp=@{J@9Mmv?SXQ#r}Z&X;pzL*ma*PZ=&O_n&{|O31F$ z53jBcSNEBrFn{N=Wyfyboca6zo4b_}A*sLFKm0z!W8Kl9WX-XoyGi3gTgS476%Y3{ zdbmBgmGo;`_+7C1KN-P;ox6LV(Mn@(Z%SNC&0Jx~7p{JitUnVH6WtG-^k zygJ!;drwc#$;s;8<$1Q%-*Uj`5IL`oU$A`n^Ru(f{pVVlR(^W&Dp&OW)oBW`_o{Df zSQxzQhsS@PuQT5y-pzgIv;XG9*hTL)Td8cjD#*FYB}8#i*D6l4Lzc|1&pkc)`p*6H z-`9Rz*M0xXo9pZ6Z`tIc6c`-*`r=|!v7^)f`S{PbJNwt?^`6g0^8L5?*Y4i^`|a)R zJHM~*m$5V|c@gk(k4@zhTZ6U#4H%a1*irHG)6<0u7aA2;s=R*R^6UTCt7(OwLoKb# zT4Zc?%>TW)wz|OK08`$^K&4xItNkyF`ztJ(GG+heN;9)-zVFvcu8rE7_4L%#I~x}+ zeAp*zz3TqVSHHf!y}deo{iaQq^7r4}l6F>IJFLdRW!^lwJ3?vi-n|Q6?l;q_v}@|r zsWWGSj(qa*?XCX)?x<*0RTYm!!u6Qo&s^Nx-{0I^zH;Tym&;eXDqZBaXED#Oi*)=y zk-s9iE^OzFBeS=;7rZJm?)!OueN)P=%FkiH78Xmfs*26!@rp~ED*7agV}0@rLRnio_M6EKi^yZ z-RpkAM9;M6kB|4SFa82LWI)dL)~Qpc4j*3pO{~-?x>wTp*r`*mK0Q7C`uci(ef|IM zcE5kMC$_At%>Lhx$LaHHr%j)JeAAkZ8$aILTfH+pXI1=y)vL4f^74Ai%|Pj?;O(ta zr6dV81qBBy-E~j;(L%K2VFY_4{Ts zov3yH`Ruc!pOMk6`S%9g1mMn%#DHFa%YCxeBI`>JJpb(F?fv=lXY2BJHP6mODhYM| z`?uRrOY7A2^0>0HZ!3eB*Vf!qSroYV4(NP}k`>*vX5Cuo{Lm@UwO`Iws$%LUP;+JJ z(xr@y+&Q_qckbTRkJ(Z1Ddox%PvO~1i;w=TFYq~f-Sf}Z?Jp)zZkpo4*_*YkM|Ao* zX^Vmfr>1JJny#+Cyyn}@=YFYDO^cG8=jy5ctUte1U%TexrY^zj`q!5oXlCa>ed?4| z>8me~`|YpH;QG7&|JwRLKQ1=2^DoW*sTua4edWR(XYRIe#uYz1GcEj*&Z*O0&E_?R zRexNTKV1B?$!*_NMg|53hO^z3f2ZY#uUWI^&9$}B%5FUYfq|TSe0}}>>-|?feR#MX zbg)csZ|=PWFE6i}nwqfnaj~`DF-w2^czpHc%a_b-H`Ydd{ch8=XtDH>i?`S8$(jF+ zf8)&?(XI#LX3fsYyQldtlkf7*>by#I{oTLTol@Rh92$6#$FZm>Oz!ai-|=2-wqH75 zq$cg#vQWi;PyLr^w(lE=|2MN%eHx-m0%ZpU?mLCeqmb z+x7VRwXwhLYis}J-rl#qzJ24yjm_-*>o(u&leJ#FSYLSJ>enas?0LR#-{&=Jbgr-a zd;i13!+vwELIVOUs-mduE>sq`_)9d-w|GSEc zi|v0TunMxW?X%6AlHI#Gk^A4}~Q(= zxc~P0*xm0Q8s59U{n?`Y>3Xj3@9fO}@gcEWY;W}Wdn@ko2Q~lr&F(Yj#o4pWQ>XdN zcwk!lYs<27IT4X9PoEdO+p$66|8D(o!HIR^hYjcDe=C;=`d@cXBF{c;&h@pg!{z>0 z-amEg+v?uiZ990D*YD5yeXQWOxsCd|R%yduz+f>+$tZ)wHy<+5GbI z@~Wz=1TC%q?|qx|^6KPC($=|cQ#-%>I+Bth;QY913Xjo_?@zkVt0rHw;FWXuQm*&@ zjqNAtV8YiHe_ zxo^$E&GY`|+o^W?3sj!V-nO#RJnxQ*Qd{DjIdih+RDFt_vHG+CckbR-JNHa^^yxYO z5#?&Vbl39Ll{Y(Wly2=VFQ2P= z)=A;VZ~H%g#4FpszuzHOn|El+&1GU=W8WA3e>Y(+yV4srKCZu&yWg9v&o1<2i`{i? zMe&pA7v_JHeRp^J|Go!jPczj%o-{A9HUgB#k6Oi8^`C#9e{<8)g=^ouc{8h4>Rgwo zcG#MT!1BG*!h?d0QoHy=e}8v7*tpeJ=2NHQwB=eWlU6#V++I27zm{L@)-CbZ>-P$m z+fLl}_u#ru6Mk=vc6_exUMnM1zbqia%O!lCZD0R+<+du(a{0V(-}C<+x7=Y>vbuU_ zVZ*iSLiOrfSg(Gz+gj|fabx+C8ro~KV5qA*W*Qp zPqS22ot<%Rx1&p0+28CpJyUA`Y}#14-Op*;o)@iK47TogbMx;0Ek3-VtgEW}_RcoS zi@Ec+tBcFo**QB~(tlZ7+pz3L|CPP!`s@ey^>3stUHyj)3WlS|R_3nyR4d@}NDUiv+>GsH9L!G>vxk4}H?$k=gnLa4L&)&rqT z4tH1icX)bKDBW$I+F@j5v^qcT$&)KrZo27ioB`m6l* zz14p{ted#<=ZA}>&yVY_S+iRHdCKVwp)cdvn!yPByPja95zOL}dcWM@! zHO1p!^Pj%^nVghlQ&$r#zTL~$S8>t0*xhE=?Ih-C2G^`vyL-Nc;M5s2G{m|) zPu#h)C;hzKx^?T`YEQr37se6$!FOfE5w;v1#YLgUSHsUu*ej*5yz~0h;$ORV-cH!) z;q$AiXPVmVKPG$kC_TP5e^r&0R_L1p^7fOapU!swzWMFz#D8mVC$5d%9d>W!UhAZNds2cdGE_plJazn% zXYM|<%2Vmni|C?Pc~9@y#vZbtr+HV`$gn+jgKI>nnq+SH`oipTzeB6CQs2Ya7&UAPAV`*v0}Tcyfh%AMO7F>P(dwDq_86_qA!Sh8r=;pgdhegrRA zx^U^rtJz0wLhsJ9mU6!Q@#p`V@Ha^rPfSy{`JUhRHDB&mamVW47P}jp`QH50RJXod zyvU#X2nPcL!-a=`wC7&mS)Bgsd(!g@g=hG7Rqb3=-@4dTaH7=w4u6*=ONIU{PdO{1 z_A~O}Z6&$L<#Qe2Kr4@74K}??qUg&$}<* zExG6;-(o2#%X!f&)NQm%AAL+&-@J19^7O2%tjx^Byga*#4U5~_+!nW2{IRgJw%%Rk z>FL>7QZCEDD$%xamc63!r%gM9?YDV_geulleYJ~^-8#9@Jlo#i*Vs9g{YRD1iWLGA zSFM_L`$wmq^6?L>ywS^3?=>CB-xqWCZH{!6#j0<15};Imf#b~S>H1S;nYVBz+Q;6m z4^|D#2wAu|{GR9hA2yRZBs-UQJ6_9izj$i9&hX@px-n4MVsqOizrAt=* zPK{=rJ3Hu|{O&iMFXGRr-G86`dg8D4*VL$K4T2G8rPp7+yr^*R$!LZ3f^o~Yer{@N+V)3A?{CGI1M3PW zFMC~*wKQ`E$g#4GoqSK9KR4fHd8rZzGpPXsy;+D(EfMiQ#zTTZI0%C#j6h4S15T~Jx z8HJPm9MqaPuz$u24QtSm=L{44KRi0hoq8Ok_`@s?Ztm!9IWspc25}p%OU7+u1+i4C zzrB$>Z1BT$v&{~B1_p)zS+KhqE_lVn#FV|gwe*b!NZBp(HFMb+K3H+^@Px!99`BP~ zE6mBzz+|3(FQkm)?Y##Fo2TnUK6?Lt{Tl}c1_p=B3Fnv__|$cDd~Pak;b7(5ec-?W z(9y*&UPN!t%YFLwP*mlS>;ISxl|W`YR5zB$F_gHhk7s*$X{opFEqewBXV5CY$j#4w ze0@B zv17Nl*6cwMKiyrUt1Gd{_alXhJ=GntlV?v&NaL($iT25`OvLO1_s@A%4gWJ{$}Sq6^#GQ zeWc^Uo0{5MP-QAAI(62pS1(>ve0+3NN;K`qZgoX8E zcTJf$4|K?&yu5s;%b~fq_Evx2Rr;EXi!1BNr;dzcJ(8`ht%Ze!8#iv0l$6}JZ{MY0 zMMcHz>+8;*IWxzyc-i#n*FQf$FWN68CAF*W@2~Xp^M3yP`SaJWO*-12nUs~4x98ma z^ya3qxcGGQdlkxxiVqJqvv1r88p*S$`jRpCdQkckqxa|6@BjDe#fu&3=jEoQPCU)b z!0=*&fi*wFgHi!OLBrHjA~WCLW@BS>b8*>H=fQAc;?m{IQ;jQuUt3 zBW*md;Po79fOA7}E1WcGcTUrn_W^#XD?Zk-_hY?3_GVSWq`=%ZtnY_GizX`&U-I6}A?@%+z$P?TbyRr)6YiJ5QWHpa1^e-r45) z*DhVUbp5)#aoU-?yUUmR&tLZ=O2j=bEKKe5KTt{*0OcKBEj2YY3lNC#_Fld8_@tQ^ zvs+{0vg4EmMMXvbemKm(YSk)HQBnDt4~@%~rFHXte|2@WeEpxm*w|PN5xw|*drH?$ z?2xmq+LC*F+k^=d!X!XvaV}iAFh(o!*_oMJ@3Z7^w)4xMJ99=yODk$y&dho9;=K9A zWo2t$U(;2p`ub|>+_`t>SQbZBxp;VcKmPpF%*^bQR!Ul0R%WK8lvI)YQq$nz;La6p zzjSnUd%YVYBO(e^+4*E9oJ*?y`YP1Tt<6DU!=_D-ymrVWxw)}TKeu_?wrORlxw&&^ z&Rkg`k{Kc;CFK$l7Z;bj0HGBP)RZda6P`qCjSEv?Ia<=SHfU-xi+m2{1J z^64GFVBzXdj0_A8?#o`>c1TD_cx$fAz_4H*4-e0tJ$s@m12Wy#m)_f$`!`$0qTs;- z$L5X|d-lXcNAF(RUR+Z0=KA`0S6A1lC@J&$wW4#Z%ky4bSa@lRtGBkMW@lgDy*-tm ze|>#@8nnd!2s^)=P4%}o%jehK+MYju)~qP)o)ey4UYD+2%X=9+uQ3_4uJWy{fPjF! ze0)U2j^gL%Cae30txrf!Hm>>cLDhSjP5nO`Rn@1D`|YQh%`wTGw15Bq$?E>6PMu0h zN~)=;X>nTk=;4~RYhz<$#r5OnOrAV>;>3+PH;w%L{qwTq1Y28LT-@Eo#l`b)ZP7F~ zzI^=n^1{U?kJL^`gVq4vIlcLl()9BBjuSU-{5aUmt~7B)cEq!o+(b{_V$H&K`qoeQdECv~9swHDpvSP`SBcS5__U-fM z{iEchq;Bml&-eHDcXmF!)O-4`-@mV`zpZ|8K`}S?Eh96Vg_YH;S+m;O+PwT(+1S>_ z?Y(v6$dd;Ln*##_?|5(Om0r5=m2uae6Ho8XpQ;@`&#KhR*?F<)|3wT83=L+ipxWBO zT3B9QUQTXb($TJKm551r>EEde!CrXpTL)bhYufu7V&xa2h9bYf1Qw; zTKe+R(lCiYXXnEQ4m5Q5`1lA33r8oqD6Lwx>eRV&)BLVCg)LaU`n2wv$h{kWdB0w^ zY}x+*|8{?Q{OD-+PG(uzxxLcnd3SbfbZajxEaYl4HZuD4bb5TsyjR!P-v=GIym*7% z;uWh`pT2!?{oYAnR8<`&&{*VPEEbKIo;oGzWzjys6-cE-?PQf&&{5i~W%rwbpaR$7_E8lTl@r$L#SiyLRjV;EY_U#EOk6wpm6wlCPft%zfB*ZN zo0o6iym|NTYHc1bmplKqt=(J}_c}hgqT`v!^dx zmR4E$bCGNJm#<%=OLn}vwkC3O+1p!T5*o(FAg5bdSur&}xLbZdxAo|oh-r7XW`_p` zPK?lr+f|~uy)wglchS>Ro72xP^Phk35_9g|U0XZr4<9*x{P^+zs_%2=+wG0Ex+yLq zA|fYuZ;|sBwd(5MqS|3+W}ExpYy|n}k9S>N-QwFybJ-bW{Z=piJf-RM)57CxCtqZ4 zcm)b<28M=T8D3WY7f)|Hafgv%i~iN(N|!Ck$NMycmnke}zp(E?DyS*R5WoXUVSCiF zo_w-6@q%%Swb%T)>>vwrWk8kGdghrsZTc=5SLN!?zp?C*qrs;wD-%|{J$m`lrtYb- z;D%)OS(oLWXDiQ&urV;4*joBJEVcc@qp1H<(cq@rRHpLKWp=f{d}cmUe$T(`8AuC5 z+H*z+_ZAf<28Y>`rvE;(u>IrVE6;zi#m?IJ)1`d+&ClZJX71lG^AHQDtt%|@Hiw&m z;ce@gy(gAV*}65bcg2)_hl6H!u^&8fd0ErKw&S0r-prK+54ladbu%okju+hAeG%YO z5|smLFK6ganfGbJ%C)Xnkv(v4?v8@sn~ET>ZmEv223J2I&VsuRR$$Jo_`<-8>DtqG z-za^by>NThPwUjBOI=JZ-c`-HueZ+W-Da8nFYoR3vEIr1^7rq2_ockv-d=XmJMXNV zpDO?PT;1ip#+T<8JLq0cHTC#Ea_AHzKmzppwPOo=EEjkkjqT=r#9|mUH{3M-@Vk> z$Wl4|Rjuo%B(`7Nq`q=N{)>qk zdOX6$pI?8U?A_HZ&VDBE-EEK~F8qO}uC!@WC)R!Y{y6--YT5RUs*5VQv+}M_o;IoG z^{=VFPwtG}B~|t^>&Hp)*Xe#z-Yz#IXD;`1x#xMp$jD4_k^l9)7ugG^3;bWURJbvD0z1aVsk6t%c z@5`JS4eGjF$bma%;=E(eKd)Vr`y}+l$#Yk(TzYls>V)4JH~+q$CFvjBd1B-A%&(_r zzRZlVI)CMkQ(ejT5O~%GrTBo*d*}C-i!>Fjp>;I)dK|cjt z{4y{&7#nZjAk=*{Q}g5}Es5DPrcRxR8Ii(1+rt8nM_w|kZfAsjJw#R$a_KH85 zKk3VoJ!^E{`JIU_u4!>f?EUxDRDF@Cx7fA1kJmQs-g>&=y1!k_oZmX?*2a%FPd$C- z{)abdDR=H3yLK`2#d3MwwRb`3++lWWi5w_qP4?$n^M84lZhk!d&jrS7{Ey%9NL%i5 zYkgbIKXvL99_b9@`nK;|Zq{A;^uC^J>)V^v_d?Dynzd!yMOh`U+dpeo)Z2egO{b^- zzULfu>sE3*--m)y6C<;~b?zGBa+|&f1STHb&}de7S-s-7kGhhm=+$HKW}q(M>0}`x zp((P=py9i0B^{j{NCn{u={c`^qcP=i|K|Pr)z$YFFaLRp4^$?^6{}fInScMsdYKzs zAbkv0>mIxFe`IY6eD`?XvZZT&=UiQ~a`O~fL6G^f(A-lJqwL;qTlr=~asBC^#(Ua# z@2dZ{KYuDz5vcdUz`$UoXItC+wz@8~4BVIIZ2$*N!z5XIxv#H66P2Z2y?*UG=f%x8 zA3-7J5Zwlq-&+-GQTi%G>C)xPtKhOG|HeVo7paHS?Bc9&mA0+wxFg-+H}z2`T`(-E%42#vFcBa{P_QIQKe94 z3nWu!F#c!*4;{=ow&e4<`S$nU6oM2tFx}l%divzVjdycrhlYe~Njp31@$r6f5s@=9 z3?J`)zwh#;OQ%kQW@*2ln{R*Kpr^h4__MRKzkdCiZ89bN_`Q2|hgvwVuZ!JX{QTUx zxz_1tXN6V=R99E)>#x@iUw3DJ{rzj#%5HDVJ>1T}{_eHAcVpuu`sMBAEQ?ZlpQ);< zt`1*sSN0|%G4WxCpmI}lv#zdg^tW%Iynf>PiJO)0-o5+e_pxHnF*ZFYi;^gqwHHpI^Ud(W6UCz1i5<;_H4c?eF)`$04M+=*qn(o}W(~)s?Rp{?;Z@YVX zp14il7HZ@2_E}t9+{B3!BO@bY{_;wjy?FW3w(84?bLZCGd@l`hK&^?zS2dx|C?!5n z4F529t2(mjZH{)&mMtcB^YfFFgZCOJD?2L)L_|gw%J1}vcXM<5`#K^b;)>;#ty@dK zK0b5ij8v{Df8g%QtSl|TnX_gY@f)D>zwR z{geHfJMa9)Z--8u^3oAgS62_$H-UG%jxSlFvTnn_Qi-;Oy9#ca`+0eF&72w8yREBz z#oarXE=@ZAcyGnWrnPC0j&zpZ2c^=6X^r5#>|niM*|K$S1f&ieI&|pvZEFPu1v|Ta z8#WX?KQ~w1f8LgD+saByWA{`P`uX{}xgFb-dfLX;cJ=;DZIiOpEYN-MF=UEtlM*|h%!bXIL6!WSFvQF;q>5q?r`VMRSLB=!au4Q~_ zGc9%EIZ%$u;QaY>eTRp?e}6|$PmioDyQ{l<`1%Fw)}(g&DyeM%e%X~uWQV)um5*%Z}n6`P?~edUY&2{zpGc=+`9kx z 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 VwD-b1H_(U?gQu&X%Q~loCICoYNP_?X literal 0 HcmV?d00001 diff --git a/docs/wayland-port.md b/docs/wayland-port.md index 65438ad7a..f05fa82c3 100644 --- a/docs/wayland-port.md +++ b/docs/wayland-port.md @@ -1908,3 +1908,26 @@ paste, so the run above did four pipe transfers where one was needed. The answer without a new offer, so it is cached against the offer and cleared when one arrives. Same run after: ONE transfer, both directions unchanged. The empty answer is cached too, or a clipboard holding something we cannot read would be asked for again on every keystroke that enables a Paste item. + +## Export as PDF works, and the name you type is the name you get + +Click the PDF button on the toolbar and LibreOffice exports DIRECTLY: no options dialog, straight to +the file picker (docs/wayland-pdf-export-panel.png). Type a name, click Save, and +/Users/root/Documents/cider-export.pdf is a PDF document, version 1.7, 1 page. + +TWO THINGS THIS TOOK, and the first is a lesson about instruments. + +A trace in -_selectFile: and even in -_setFilename: never printed once, through four runs that each +produced a PDF. The AppKit being loaded was the traced one, checked by strings, and there is only +one in the tree. The conclusion is that LibreOffice never asks the panel for a filename at all: it +sets nameFieldStringValue before showing the panel and READS IT BACK afterwards, and joins the name +to the directory itself. The trace was not broken; the assumption about who names the file was. + +So -nameFieldStringValue now answers with what is IN the field rather than what was put there. Before +that, a user could type whatever they liked into the Save As field and always get the name the +application had suggested -- every export landed on Untitled 1, with no extension, because that is +what LibreOffice proposed. The typed name now wins, extension and all. + +STILL TRUE AND WORTH KNOWING: the file the application writes has no extension unless one is typed, +because nothing here applies the panels allowed file types. That is the next small thing in this +area. diff --git a/vendor/patches/cocotron/0054-panel-name-field-is-the-answer.patch b/vendor/patches/cocotron/0054-panel-name-field-is-the-answer.patch new file mode 100644 index 000000000..4678f73a5 --- /dev/null +++ b/vendor/patches/cocotron/0054-panel-name-field-is-the-answer.patch @@ -0,0 +1,73 @@ +--- a/AppKit/NSSavePanel.subproj/NSSavePanel.m ++++ b/AppKit/NSSavePanel.subproj/NSSavePanel.m +@@ -18,6 +18,8 @@ + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + ++#include ++ + #import + #import + #import +@@ -79,6 +81,9 @@ + } + + - (void) _setFilename: (NSString *) filename { ++ if (getenv("CIDER_TRACE_PANEL") != NULL) { ++ NSLog(@"CIDER_PANEL setFilename=%@", filename); ++ } + @synchronized(self) { + if (filename != _filename) { + [_filename release]; +@@ -102,9 +107,23 @@ + return ret; + } + ++/* ++ * WHAT IS IN THE FIELD, not what was put there. ++ * ++ * An application sets this before showing the panel and READS IT BACK afterwards to learn what the ++ * user chose; LibreOffice names its PDF export that way and never asks the panel for a filename at ++ * all. Returning the stored property would mean the user could type whatever they liked and always ++ * get the name the application suggested, which is what happened. ++ */ + - (NSString *) nameFieldStringValue { +- id ret = [_nameFieldStringValue copy]; +- return ret; ++ if (_nameField != nil) { ++ NSString *typed = [_nameField stringValue]; ++ ++ if ([typed length] > 0) { ++ return [[typed copy] autorelease]; ++ } ++ } ++ return [[_nameFieldStringValue copy] autorelease]; + } + + - (void) setNameFieldStringValue: (NSString *) value { +@@ -245,6 +264,15 @@ + + [self _setFilename: path]; + ++ /* WHAT THE PANEL ANSWERED, which is otherwise unobservable: a save that produces no file looks ++ * exactly the same whether the panel returned the wrong path, an empty one, or the right one ++ * and the application declined to write it. Set CIDER_TRACE_PANEL to tell those apart. */ ++ if (getenv("CIDER_TRACE_PANEL") != NULL) { ++ NSLog(@"CIDER_PANEL ok filename=%@ nameField=%@ property=%@ directory=%@", path, ++ (_nameField != nil) ? [_nameField stringValue] : @"(none)", _nameFieldStringValue, ++ _directory); ++ } ++ + [NSApp stopModalWithCode: NSOKButton]; + } + +@@ -280,6 +308,9 @@ + res = [NSApp runModalForWindow: self]; + [self close]; + } ++ if (getenv("CIDER_TRACE_PANEL") != NULL) { ++ NSLog(@"CIDER_PANEL runModal returned=%ld filename=%@", (long) res, [self filename]); ++ } + return res; + } + -- 2.51.2