From c5943120760968a7a9f22415d64c3cc5791e18e2 Mon Sep 17 00:00:00 2001 From: Jason Son Date: Thu, 10 Sep 2026 15:01:44 -0400 Subject: [PATCH] Add Capt app icon and explain download trust warnings --- CONTRIBUTING.md | 7 +++++++ RELEASE.md | 17 +++++++++++++++++ Resources/AppIcon.icns | Bin 0 -> 97615 bytes Resources/AppIcon.png | Bin 0 -> 5890 bytes Resources/Info.plist | 2 ++ Scripts/build-icon.sh | 13 +++++++++++++ Scripts/build.sh | 1 + 7 files changed, 40 insertions(+) create mode 100644 Resources/AppIcon.icns create mode 100644 Resources/AppIcon.png create mode 100755 Scripts/build-icon.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b76bd9b..06e48af 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,13 @@ Apple Development certificate from the keychain, falling back to ad-hoc with a w privacy permissions may be re-requested after each rebuild. `CAPT_SIGN_IDENTITY` overrides the choice; see [README.md](README.md#known-limitations). +## App icon + +`Resources/AppIcon.png` is the supplied logo, preserved without cropping or redrawing. +Run `Scripts/build-icon.sh` after replacing it and commit the generated `Resources/AppIcon.icns`. +The bundle uses this icon in Finder and other macOS app surfaces; the menu bar retains its +caption status symbol so enabled/disabled states remain visible. + ## Layout rules - `Sources/CaptionCore` holds protocols, caption state, and session orchestration. It never imports diff --git a/RELEASE.md b/RELEASE.md index 91f95cc..a5e6f85 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -49,6 +49,23 @@ checksums. Filenames include `-local`: these downloads are not notarized for pub The app itself is at `build/Capt.app`. This uses the installed Swift toolchain and available macOS SDK; public notarization also needs full Xcode. +## When macOS blocks a download or launch + +Current downloads are ad-hoc signed, not Developer ID signed or notarized by Apple. +If Capt downloads but opening it reports an unidentified developer or that Apple cannot +check it, try opening Capt once, then use **System Settings → Privacy & Security → Open Anyway** +if you trust the release. Follow [Apple’s guidance](https://support.apple.com/en-us/102445). + +If the browser blocks the download itself, or macOS reports the app is damaged or will harm +your computer, record the exact warning first. Download a fresh copy from this repository's +GitHub release and verify its SHA-256 checksum; do not disable Gatekeeper system-wide. +A checksum verifies that the file matches the published download, not its safety. + +The publisher-side solution is Developer ID signing and Apple notarization for both the app +and the DMG. `Scripts/package.sh release` supports that locally after the account setup below. +The current GitHub Actions workflow still creates ad-hoc builds and needs signing credentials +and a notarization step before it can produce trusted public downloads. + ## One-time public release setup 1. Install Xcode 26 or newer and select its developer directory (for example, set diff --git a/Resources/AppIcon.icns b/Resources/AppIcon.icns new file mode 100644 index 0000000000000000000000000000000000000000..c674ea50ff2274574a18521fefdc9d70357f40c4 GIT binary patch literal 97615 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
  • 4nPNW4JbilJV?@;ssko>+YDqZ0>%DH}$FRs$FuZToza<)$f5TFgx zZPH353{*2tLz(x9xqTSjKbe^Zrxhbr>wVdEWT_pcEUWig5Zf)m1Ra!c)9w!O(Y7O- z+f5b!tHz80g#Ymr!+!agh9IX&a}Po zq5^D>wF33DZY$E;y2Q@P_O2I^hwk8r2fshLv@c(6?0xE9muW8Z69lmMKRAA1z?W-cO*3E-bWOr~stNtec z8qC`uE>P=0LFXU$a4*PRwvWd5WY{^#k!;*l`}BrduMuu=5J=It=0l4{o+YW_>({|* zz$NfT%7S4{rz$L~1WZ1qs#knt5P8IL4)5omwb=`|_c3;)!Ppo7k|fMl^XJOtX6E?o z1zOBoK8P`Z(IU^sG8kixfx5oOSyG_CcM_NPJf{{b<7SmPWN^&dn}ZwiaFoCqo*{5K zo;`PJj`Pld@mK|UqC%qkPRRO}&bg1P{niZft&y^{I-SGk4{n3RD?N2l&%2#w0%C*0 zR^JElwK(;92|10*kV2=#Hv6iiPPC&wn+(;;qruYAH!zNfXC!|yP3+o!WR*LS_nf1y(AT46@- z22;OP-=O5V|I$`+g!c6|@bMUN zaYq6=yt{SR6Ra(l@DK%*xBfe2UF=qw=3b(-=e1oLO=q4ihyJ_PhPpQTDQ`*9R#oK# zVaW@@XskhH3_Mk5l0_jtpbGE@Cr7%{(hFjhfH7bUYl9XuwTSc?hxFaj;Q?$vTxs1+ za%FcxY(pG(Kb%MAu;?Gu9UJz9BEN@WqZ}bZPNv2hPo5ZyMhI_xXR?Q@UiyM2%GMc> zCt8nccMWpO?Ko##&pDVjy4uvwL^?~b={vuzN+b1qR8r%6(N1UZrGV;X#T`5Nf!Q&C zyXU@NPU>U{&e*7A;>xl(m=5sbCoad1!RZezSL_P~^-f}wrjJVgap1agD&7sfT4sW? zd*fmxu6V6a$gn34j`ZYnw7lvw7vs^h$m2DvR*8y@MtUL)lew2TkB<{Ya;QDWoF}x+ z$takb0PUS_SnE4sN-Ux;EP|4wZAiS`qg-Lqvb&>Dk0lIa@W%emviwSP_M^F3=Rvi#yXONJp~4gVd6EPK zm{Nel{f_N4>@}LQ@Vc?4t^T4tafQ^JtvhNDnatu*H}uSGt>tcr9mWL9f}!rnM|)u( zE`BkKab4|CWgOo(0&_8Z_Zl9W!YsQx3gLi)hW^HSmNyb|6x=!z2XXSmzm^z6qV?UsL3OT7K?YPq7ypUq~O}2ARk|mNF8%YqsR$ zij3Pri;_CsffquX{23-a#vi~$2R}rXKR){G<_%`uz)x%~@};pONQg$}WFf6N3Z>&y zT02?Hy#R$-A&ECLp7~m^RA~HeASjZc9h>uyj538AImT1@I?m@?s*zhDGYyTg*`9OD z3g_QCniEn76i4pJ0{ahe(tcnA#11}p+<;}P+%{z)8ciXGr3vt4dvvF_>p*iJiCw^R zjPI08eqcTmLanWaU0ZvRGUB@v)I3T0!TaUgwM*o?`ah%FuPT})A}(_{eDiA?d!rw= z^>k1e>iKMdN~lSYo>lB49(Xvte|K!eP}_X$iRS?7Lvqtzbe_?5r{Q!d1^O~j3F9vc zzbS74KNR(b`g6mZ_}7Ho#T3+JkcMDVo^g9>HlYc|YMLg-?=FVg_wy@db5HJ9gNDae zK@d3{<8W$zKRJx_JIRu+JGxIlxW(gYN6b>PqK3)5F{JnjLLGPHowqHa|}qVl}V1A87*{GzR0tLx=57c`e_UG$7; z(|hsSz#Sys9Cx#)cn}>K6Ne5v+FESRMgz3;T{RpXkFAW1fzQ(>;QZl$!(z!aO9WGm z>^iXf{;oK2!G{+&xg4fmYIKja{KHbfOdQ-uS?gP5Sr@HtW9s1xkv^N?5lZ~J%=H`v zU->EslpO({1jET7*CRtc@^*E|AS0{aFAEaPw(_i^J8$F_X!?k3Y?5_<>@ z=&<1if%`3}#NJD2&Fixx@=~1?R5_sRH`ssz=5TmKO6dNA_x}7YNP@EL!%u~*DaM-5 z+z}A&?jo~H-Cdf~n-z|6BndE9nDFJ0l21%ggQM#qH1p185jT6eYwz!UD9vEq2^Vry ze(($t3pJW^nRlIZ1y5rk^-3MFxg1OPT2I1hKsjD_1ax|=qKTV#wC4ai5BQfA$vQMAn;2GKIz*#h!F1%rL!9OB#itcH|k69F0q z4qg~=n?Dai5(9DBY-X{vpXGDe-p7G5vJg6wgvxZC(OJ#nyy?;v_Xr-ikYHK)(U+M1 z6$1#)!$0QEbQiBC9Kx?-BlU+V#2@=CA2!v$aZO^iMB(hnAA4Bairo0!K=L?~zzV6$&<2eSR*LjUCFrR(r^ zvxlPWf>~VVL87r=_Br|x1x!)X<-pWd#*N3{!}j6sSWM@BTvk)C36TRzr_iH1*_Y7x z^^`o(0TK(K0hH(AI|WS=Q4@5h7U%COP|RQEU>eoTyHQz7WX#>txlO%YAzMe1%WR^GGfZW$o=Hik6EHvOtalxOMqot}M|USu1WntL+lqQ=Pj--W^J98;TIx%0N^=BxsG0JmpFhHueIn z4CdmFGgnoI)FyjD%a(;KsG8r~rj4H|WQ4@e^wwHCy$+i&#@U0J!hzB_@+4((_F zn8-{0khY|D`SZ6k4l&q2aHtN#;o~tze#J?TK-hCsT7k6=sP=;k@CbMvsO{9%2%41$ z77;Z|7}gi-yl_NbIyMUTViRKyyXWd~NL)NQ-2n`fl;SiHm;H$j$+rtYv^(mMgo#z- zEK}jLTxKFTdM3MSHk{X2ftign?qCWt!_w>&`)1Gc(hyOb9RVyegy-Hs1%DgwXr%wm z%Ac)3rY<=S=oa@j3q>iKzIIU=FE&vBryvRxn`<@US(5)}t4~%n=mAF)O);+LJOuRW zH|ydU_w_&0o_?1t+Ad}FPoE?)-!cq@S?1!o^~%aC5JFL4+H{yvM|b8GCJidPl=SFA zY}Jvo4oq#uU~R{LSxa{9+;tV@Z$AP7IiTf{?ZZ){vClye9b58afd^~i{`^ox)Vh#M zV34Cat+>fyhGia}8>_E|ofn{%2sTc1KEg$D_;M-H64qOWV-(nNce)z2J9FI=U+dnE zvhGwVbcXYTmIXN|@ah*|QaI0T@yVKq_OgI`*Cnd3g05Yi>G?<5=kG2sT~C^-ds-)3-|z}`m0(}u*v8NnkF8<7g-Y@5}GgN30X&sQIIblrkSuLc`bKz$Fi0e!3O ziyh!hF5|{+>(1Ub^GCaS4DP~U@`laalzKfpg%SiB9^E+_EC zz%YX?)v`DrS1=x`)SWw!RzjZLEb0~7m;nF;5 z)7V^zSJKrRRf_o#!4&{(d58GIl-Lf;b(n>AXtC z-CdzWUi?9kGd6wmEu4FOnFF!R@i{VKi4|2`5%nt{%@a`|r$SJMha$n68oGxVMLitL z6LVD_Kk@~=rf-afAyB`v#)}^Nq})&!Ms7$j9Ti8A0Yda+{A} ztBNJVPNM!Qph||P&wnOkRU-urwv%6pU1HZeJU;DzoZNIH`;O8B-J6fovXBwCLT!`V z2IuwP_zflpWVf*kts5@I2lqD(Z^sRvU1r74(XTp=TZ5~5DShM*-m~i6J?EbGZGGG| zb)mT)0&xm7&r*6{Kc`bUN8Z^-%Z^tA4}%37-|p-(*S+l&G!b435j*+1Yyf-C<2O6I z!0*F!^f(&;b*O?~lZT_9AH~rI4$+8P_t@zgbR2Gg!%TLtTb_e@*$M0UaC@+h&T(P~|)hZQ`eiw2CNz;1@0DpTsGipQzdK{0xK5yu%B z78Hj+a=JT~eZeEJ`ufH#xXXeemH%{TZ$V$!%wRd?COoNjmQRq)yyWTfm}$>%EFUV}zugUY2L#z=90 z!$i>8@C_r-^h`3B)a)?Jk^ryoeyCofb9ABdzSm?!y^oUB*5Zwm3Cm{TcGMwF70X($ zv{wuZE|Vzoa*%F9l=ZO!=$oo;oy+uK6<@fTs2RXVSm0|?JyQu9UT_Z5nA6;|9>2Z1 z66nO$Zd^j=_|kCH!`eGM8Dq?;hMTp%Mrh*%6r(HV|1)zvJAszdQP+T1=A*o4*tCC@fEi2|Lef+X;T_i7BDs znuKYrwodT;ptY`TY~qkWr)+$wOxpF5{OGu;3aPB~G(%!Y@Vrx?xokNs%Crn6h##>V zYc#YgB;aAJcj^bai1r7YK(9jvl@!w1a_aKha03}6t*{Pya%$@C4DLMcZ93l@M=uuA z_FVGn+IZ%z&Mzr3vj#%0Q)IL$Dh4Z0jilS_zyzHZe$k;wBxv|^w>t>)v*W}yEj+eS zUK{YdI>{6FWryrAj%4P&Q(ed%Q$Y8JY5Sja38*tF~G0g#@w>Qs=h8_jy);gSj2if zJF1Z+(7v`kyk)8#&(=lBd*iSJ)vQ(QIUZ@_xcpZCNlP<3#E=?f$MZ`scwMw@4teBu zzGp=|h-fz4X?~n0zMFB1cjpVTBf4PoI;S*@N+L*lc94O*%rM6P-dC6CPGF+F*p_B3 zP-|@HB2*r9=iQ=8Zzq|azAr+FHZZ@mXZa?Ci=WOq_Blo$Z+m0+W}f)%rUSf?Bg(#Ny*o zTtBF|AxMnqkc-NQzgK~kU>YzvPVD#6s2-)@7Thqx+X*c@rW`5VdVi9|iARf$cJ@R$ zuoQrVM1;u$4cnfdFFXgK>;x6b81o(T=3>W5dvwS{x(2P5tMSmMW&>qxGJHBwPZbB& zKkyV_qzbh@S?W6rJxnv4qGqP36u+(zrz$vq>xbyL5l0o}3FqDS{4)0OT2T2Zr%sg} z_OIrH4;*-yTFL)~z4wl4YWv!SH%-Nch@z+zrHM2J5eO|ddQnj@^dn7(3PJ!w3*b>a zg7gj{dZbEIdIt;AgY;gc8hQ_bklYp9@0{`7Z`}8fJH~zQ9q}K-4(zPGvesPBeC9Lf zJXZWBFo#tvxY|Asx)JDBKE~bIUJ#XfY^L^lo)A2$ISVo6b;}o(WAhbDI#PYBDE3K? zvsQq`_(fb&L@^r?Z;3}bMNOj#)5HuCnhJr4Dcvn4&@bVeb(tnF$u{f z-!rRj_m6nD+rfJ!-XBSs>UGB5DBWK1_7PV6$~tJVIFox=X-bDD-D=P;*>liY<4NA> zHh|yTzAA{=D4i8gkG{{kim-SO@nNp*;3xS%CaSjRZJE?7M=Grhs1Qq9ZnX@y3{usU zmqY)`5jm^#vHTc`1Gn+Xk+0uL0%3BaRIalKOYk^ zC~f-fkK@5RIHGR%M?t=XU1CR}@oNMY^&*=@tv!q>kE_0zSz;kRx6d*n4DduMQQZ2= zoy6BF%b~$1Ty0zIN$tw$lIu2XR^$&(E?bi0;e32!3^szh)I%Z?)A)lGogOXe1^;!$ zr+Ri*<~gX2Tjvxp^9cp8^p_6+UnuJRLoN~1V~-}-9!UJ1r?}y8KQP^48heg`>rWVR zu$MKPMrffBp>J1Z@W>3J04BVnM zqfp(+#^)NzmB_dEzKIRaWtM1eQ#Ix(&T1xoSqa(S*f1L(E2b&9VIx+?T(c_@`Jf=O zUUUJwl=K~WeTg@?&5qR4RK*FAk7!EC+Y~PwnF-=*JC1^)MR;8|U=zt=wwVV{Y?FYs zaMTci)BVi1rwz+Ma5@RpXdWx&50bkhr)vQUK;r5cl~=NyzBZX6&Bo&2M<7^p z^o~$&&4jnElPa2H!ZPP$dpX1RGdopIgx>NC%;bsTI!#IprDPQTnZw$YQf;rr5Uk(S zl#DOy&1)M5^yAQ6=}fli(96P31LJ)QUvk5GzFFp1k^g9Revew3oR`4dTnUuLSgh14 zncE)FpWig{?l|z##ItSNRLWeb1(6r%C}B3^++gn}ztDC$Y~s(nJElYXW30Wj%2icM z8e6W4=1Dp+G@fswi4YzIO)8q;B&@(l&xF6zf)3|-My$UXC(4=eZuQibN@7TjAI}Ms zyzmPPa$^R$2iifX-e@2o#!`SUqDzuNi$T)dBdC+3ojkH#iORwk#jH~Ec3TWxHFrAK_{JS!B6uWs zO=-fUUQL2I)&u7T37oED5u71S1#6II@;ooA zy4n_PboPs%R}(eRT2?wv6Oy_3#a|79sig9KS2c ztX%VR#<;`9h7g*r7zx9b~@Quqk?lzoa84h%fGjsUvyqF!p$$&$}?GpI1BM=oNHWtA7ef7>CuF9 zTb&q#`?BCSJ-+Ks?|J9zQ~-QRsQ#PDCpP1H@ScdWx8**`t2%)t{Ef~%UHbDk!<|CI zJ|C%jV%ojAVOA*cwsKdd%dwHo8}*eP`~f55=zFDRwK`nmkq;JI2M3Bt_ta?G&ii`; zG0ArQcGCqdBUO*tl#3fhky!q3~+y-SfPbUx`;y&a7Ne`C~7(R+*6K( z(q?$^n%6j0j1;i zZ5yZYz3VsQw3}gLfzr>Hdt$!JjX=TqvrJPLqlyQCM&P+YVPnF2Ig|1V^~V^lodGWB z;rPXMwnx=WPu-{p#5;kBc`D7pb9@*d=2G#0FCYYIb|qUn2P90{Ed*|23)MWPBV%+q{Ffl-Gw(7Q@Ar6W5S{<`Wg+T=9* zZNNdi4QYs|j4q?x2jtnt?g^kjni!lfTQFN~!yOWpG;26Mv&?w`tf5Yp+_bKGVVvTL z+hv=2{UqI?@X&6RGQ{1~W-a6y@Z84MTjl2kb1n}(T;wb*7ZWsHLDy^FP@eKr*{tKM zDwiTHeq`g#-iR*B62xd|UcmtJdh3bA#XNEFth>a3_kKIXy4+#XCC_87z>t_CTVc1c zp9JFLcP5-kintb}z3kAVv9D8^t3{wzBb&LQ!qAZ6@R^*g=5mZ1HKTuHKkYsdKvB?8 zZqN^tobPq%HudKPhVb^>RQRT<`ypMWwT`byjBtV8*7vpG%F@L6?PC9w*BW|oK}}_| zb)Hts{o-GTLuu1*V+y|OG4Y51Dy^fg2?owjG$y zM`;96!q>1f$7q9C)u}$}!*&0iu|tK+qbbb5!&(;*4lB>5a@`lM0c0=S9KmLq|%B zylqZdjvm}6JMhJ8go*d41bYGx1pW->%gk_)fe{G;XqkhyZ&Y-MCZ$`>(U?BFR2TFR z2J~XsM^))$>i?m?mIR~tBoZRAh05Co3IkqOSsS}yvAy}%8eBC<2?5^9PVZ=v7Js*G zT3z$#ZH*sNKoKxo0oU+X6&sh82^xCSfF#&L0kQY?;+*%MIVopSdkqFuwsoUby>tUX zOjNfyrXqlH>2~FJ1E3EECl)5>Fwn5uixdL3`}Z$^b3SKYixBxkP#P|;xFfHIne~UgF^tJJQBhj}5 z-8lSL?I9VXm%xmXIxam&OJn{=NnLq*LNz_1nw|?zPh+QN;M2TDpxF6un}JVHsHW#_ z)05rlsr&SL2mgJlH_#KR|Bq&H(-W%c3Dxw3YI;I7J)xSOP)$#$rYBU>6RPP6)%1jF zdO|flp_-mhO;4z%CsflDs_6;U^n_}9LNz_1nx0TiPpGCRRMQix=?T^Jglc+1H9eu4 zo={CssHP`W(-W%c3Dxw3YI;I7J)xSOP)$#$1{v-2glc*YIX!Luzk3k@dO|hG)uE@q z($io6tLd-wA_DZf3IBWRCj9>MwOF(ntEop44-mYvsL2Ra}J9lG%N=UcJGFo-!%a%YijkvY~;G#gS* z`S})u-eVtV-yKi5Kj_lHQ6!fNDZKji*6lyRTZc1WoxAr4VlR?UhZJA`e2Y=-y^0UC zH?$rSC`ZITI#6ewnepqb9Y*Tl&wLyqNZ9EXBXk~h>B3H*-AqgnZIFHtqfIWyGYB&G z@n;hGd5PgLD`?gCKYh~gvp|~@Dz%zELI0B#L7yPnqWZ6{AkZNGECdy4|9>0AGlQxJ z%s(2$W4J{hgP;C)G>B*ZM}v6UCqPj9;50V`!J!`w;%5i9^2}~|sVu%2J(7NBT!`-^ za~;cpvtJGzki6Dm&~Ie>CP;rSzW_@>ZE9iWwW+@NRpO?lLVH(G=esO}1cTU=Q_P|9 zaK5im2R>Yt*l~SvzMJTD;lu}BCntPfVxw7((u!kZo-=;PqoS+N-`1Us_IyDFy?T%5Do?X$Z`JObe;Aqrx_WcV~pSPo_}Av3x`85eKifP{QDk! z(93)y(oHb^?D;+e^n-$aP|#0E`Uy!tA?Y5)j~Spt13EPLzX%#Q&aTh(i~N%} zcq#8ITSaO%H3L15Ox$QC#%oVFYdi1QJrGrW4%wASx@vsY!04Y}GHS34^h#egDtcf_ z3=Q^7VrDEpa5S&_T?;729@Ch5@1L&q(L=O;_g}WZsi{nRlgD`3C}mjY&q5aaeBO1Y zE&p>IpcMcE1A`C4p|bDA#DCkD>K?#qd^UL9aQPop2S6b-vSY`!*&j8Ge}AMU#{uZ5 z@ryHTzj4a<7e_(cz@zYY0l)A1{Y9V-9J074^G5OapMQU00oV}>s7B(S&kWibTmYk^ z5Bm31(P#SiRM1|~m&ZS;NCrmw@}Mt|?*^N0r~h@H(GM5;F;0UdbnNjj@JB~^bZGj0 zLC~E5y5~a2({#u7H%g!brr%RR$J77!ku@Vd{D;4RuEYywTYcR;gjxggLe)l%WGQZY z)^@N3Ls^-xRiP|B4<0+h`Y%8P`Ci_0;sUf-+Fg;|UwGfxZ8|-bXLDBuIhq%cX@k-& zitXHTjxYNQkcO-~GM7WVfAr`2&pqVSN8U2{beB)c3=&dtLs_O}>o3jY2Z|&sH||8k zFXLUB&edwqR|j4B_ww3RF5uV$RX?od?)Dnxz}*}>cSdsFm2`4c}H zcm5t}zQl+KlvM;x2>+8o@D&35UR;{ZlYa%9e7iuOMk5D?2EBicT4&cT==}BO-5US8 znzd&alt086f%_MEOSv&VZ}*2?o>t|MmpS6}o)i zMAhZH%GV2W=7QuWW9C7}Y4M!$mKm8Gv<|6sb!%2(V0{HgE#In<^uBIJDxuk-39l+@ zs>-$h=PLnr!j@ zRS@#`ZmYht=fu`$*~+C5!MZBzD{m&F*ec{}saqIoj>6YJIT}tIHm`8c_iW!qsD4=X z?R7;lZl_tR3I(5sp;2l)6hepLveYE>lG+A)zQ-!AWnq_$L0)^czSN|B{AGcFT`ij~7nQ-R4jMuJV$=*=p-61N}0 z4~rq@pzZ3N%8qr&hMhHm>YW423>*3Fx-%E<^?a#V@LGtst5x9jTiKj8Xityxyb);qZjQ`~9UTRiuLoh^dsS@p|QZ zP)Ji{fmeb{!ejAj6g>9P=wE{fTkI{^xN+e<5j=^q&*9PK=$A#kjUc9^)erK?#vxiFNdX=ybl$YJ=2TFQ;%4o1{Bx7wHoog^oydZfNf7I{(0V>A;4 z=k~R1QQn%p%p=dwsUe?LGJ$E5S5u{SXBitRKkHH){u+e69$vnDQK{Qn0d&1}Zu70* znaRv#??5;|k+yx|)nkgnR*L2^?gRB20v0 zA-OLYoVH*2a^8H&ME4Cwn3oTVR8^3RTcze0mQ9#7DQ!&3R+YFbjeBcA;x6;fpE71X z@X*YAOhxrO%yu`%t1hFCdR{ut*m*`8T0Z%xJw-gv6=ZmRi|cr2tf)I*vq!T0E$SMT+(Ioc+ZYYV zkRI?N4h{}e=7#a-7i9^T*14(VxhAiWy{X9Tk`(4zyxdrz1a|tB2t*KTdh;=4M&qm; zvHkOlI}m`%bEq{E0)acq-`cuL3SoShrPo&J)Pp#Q?M%tg#~cJe*nX!7m;O{IOr`lYQChR%lh4TH$ z{$a|x)}Ajq6<;{y{(yb7dwgzd4t!x!EJDcBNgQ8NSBY3(X09U-wWdU@8{8QX8G`1# zz(7e^+t&tho0IPa9u`Uy3@qA9GB6S!zQ7m#e;PT*~i zg02@b4~4xCy$}{kWoBG%P{IZJ%xW3Hr%|EPF4`{1Vm~2>?`77G?FdX-UZ0AluV;_m zn?(@K)t`K6=Gtp*YF1DfsF{eKj1}yZ!geLyHct1P=-XCzho*EZD5GTx_$>x)}snUkdT2p8FYY?}T zSL%=a(fEvb%h2=|Y@2HhzZ!0(^~qtDpVF9)V}>6L@gSBBnPVm6k^>q9SeR&b~I^ z<}JAMn>Jn|Dp zSC0a0FQ#iM-V|xWvRE!vr4Znk%yG@R@$`LFTj|o6{r4(yQ`aZrIMqC6Zwn5pi1tiH z>fUb_cc!)rwOyEWS)-z+$3jA9QD)M^Dhy#(8utc@-<4k1q1y2%c%ub5_<9A=<71cE zly1(qSj9CVxAofVN`6Ib+ChWkn8HVwr#wJc_eRBqz$77;(yl1oS^231{Yk6Tyh03> zBGr96Zs}`Hd%ezx05;E@x@Io9(u=f(toCmJtwkBInwSSu6yYqDIXiGZ45litrRR=P zpYA(uwp)VRth0(oECkZ;GotJuxAJaZXJxi}4)`M6%w;lolDmuKpQabluX z!kvog9R$bD9;t4*7CV)N@|Dt=?6T~HywB**PEA&pt1SgNv9atqNo19ck;lopZ9IhVg|Dc&tL19%i#$P%h%?si`b% zQ$s!am(LdtzWkV^6w8WBFL~=5>l~=%L~n5)L-NRzJm+G^nDeKHo4Jv zb$+-*ONyaQ*NRa)RU+ZZkH^2O_VU4ygF=v|`%z!7t#udKL6kn%*9@fv1^yzgW?jvP zoKDh*M>-FO<1sKZF0{@WR~`pL1t{c#W21PHcJjXR(oY{fy0T6CE5^7NzGas$H!L?0 z3kiFY=B!`UXjg13`l}3V&o59Our?&UNXhE^weOgPg!z~(oT7qIyL>A=h*3|5_n(lv z#%ZYVDOktKjS=G7)|73?|b|~@hcC& znM?{5cx-R3nR2FDF4%ojx_lAYFwNyJGeuN&S-{5##9vfTY*=c8?3OpyztS?*wf4>U@T?5JiR>{W$1^{GFK~|?{MMlpJB2j z#o6%^?g>LT6;{U7yNgzbx8U$~L5`7DHQqU8Vo6Kn6aKtsA+Ad`N~ScdaSv zbJ6VYqz-BvII5zH(tKarO|9M9T)tu;glXBZ6cDbAkSnq zoq7$+Hkel)bh)$k?}e5RX0bcHyAZZ6(Wb5l#B7FYY+HK$od*PUs|e{i**PsNMbjgW z!Dm3rZQ!9Ap$_kKi^v==HH|HFY`uCUa_S2Jc^JEB!hkY)@uPK;2bHods5J=)uKDF@ zst|xf@57T{Q_+|taTl!J5!PaBd+o|0fW>Q0Ud$cfuivHql27kaUCZj8yF7%R0*VsR zA@|7*+io+D`}NGl;7rpZA+hZbf31M5U4ViMiD+s%oXri@NsoqSW6>Y-W(8Jx3t6D) z^VE)|qRO?b8{KHUdmlKLeKSz=%br^tdW!E*WU0T;K#QVtD8?-j2yO1%n6`#>8$y5+ zeO1p^3R4@le|RTkALSumi+|?I2-QC?*_toYQX@{rJ4kR-nQhpPB$(ot*oe|4#3)zt ziol;@J7PVAE=1-e-`$_dX>P9g2QJs0q z&bL*Y8C7R^Q0;YRt+TmA?|udR8eJn^xi-#Re|DY3yl}zYw?DDcEmw9b3zCHRB?1+NIo&p zUU)_zoyw}*3~otwo9nyPbw#~a1>@klFl4H_CB2|DVhcy74NdY0f~(SPndeVFi?`Wm5SLEeyy0XnlNR)kP0P@nU_h&;4j0x!1~AT zWbm1av z$(vvoQVb{k5+YjovP_R#NS=MBl_MOYtEReea95o_scEJ87)OEXt8mSPn?#h^L5pbx z*qWx?uv((cG$vCz4hzA-FbD8=*nvrFx^GTxjHJjq44J^FGO6eH75FG~oJyydQ#ZRC z)xjcS^_-0KxWoBA^c7MEzV5q|=QL3>Ta%>9B;_1&rwYv*drs1e70Rb-UR=@S{$Izo+q;xesBnBjV_ z3-Qf~Eu@wtOM3xnDyl_sMVpADl5jL`%J@bP&SSphiQVH8!{tN%ida74{kEmyts!F6 zmc0>@$?BL|E_AS*lr_AWbx@I9gxM;}jrn$dru{cIw4_N&FN;gu=4uPA`{oFHCDY9a zwh*>5sdB1hif~0>U&RCjXFP@O+z$y9C}D>Kd0Osh4GPbx*XeEMv&IDh9k z^}@y@m5Wcp7`~)#Nj7|QnUB=QX?WCMiYvi|T?|{3k&-em<4&&Jys8xL<+#>q7)`ir zzS$Pd45jqOV1FXCqc6Zb-F@TqaCcZ}Yv6%Y{y3tBT27~Y<3ne1(thD5#W=SLIirlK zHfDGjL+F#mgS+bM?!#`$6rzrH{xSymd0TSNp(AS3bTunW;Ljgc%J^ zt@*j5!fAJYEvy5#6T$eF6UZIREN${l`h z(@Mq6bY)HawF`ab5+g%Fm#Mn2EOs!Eb85+{orj>Sb`IMXagHz=ZRT!=sD2Q)hGm(~ zEybu(s9&S?5cT}qoE715O|cRD#F=60_HcC2#xS{g7!_^eq=7hMaSX{M@GK9&aEY0x zo{Nup#bTjubBq@epkSRm_g|CA_x1}oUH6!J1)!G*hin+~r*N1`E5;<}(1=kZY+I#% z4Bk$)%D7)@?Ibs~X;}AcQk1hv-WSuv#SrvDUW|QcZt@ClHjHxJzaUp@{{yw{I!r^Q z2XS6%8D~+gD6#IgSRgsIHBeMy$T3o{6j`%Ze{$dP3+1b6)qSy$ymtyu0$7=XjvF9m zlE-||nY-k|@n7+W>aQUFv43IATy)p?M|aqmMmXNGA}j^F-#F|1916_ug0yeZg>2vo00KcSO5-dQR`%_YiZBns0^IMy0OFORUATnlB8YjX(sbR?5 z?&>H6XLQ4n$Aue35m0*_vwGndf92IzVSl^>#_r&iKrc#m&u@&jUve?-BQ*~rcukFu z`>&*{w&Fg4F2!0?MqFHR3(q~h*0WIo<}d4i`yz|<<4L|WUO_C;PZnt&WO1y>^Uwo zIF9JlcXNKK!?~+Ky-XR9fbqq+R4)~I-XBwRR+oVb8q4f{a{5*kCw%x-noFzK4miy6 zh$-rNw(})W3FAjC0JOEYtC{6c*!*x#A8<>fqxb8tcMjxMUQ(sz$@QNv@{Ut$h%cdn z$XiC#btlIXqoX91;wCR4__}Sy09k8+wD@F0{Xi4J9>aolQJ6Go_CABKq+bQ zdho{)gknz@@fWoc2bPnJ3-{JrMg)Qku!=;E*x4xEt67Jqw?Y>JpQet5tOR*!*{byJ z=MvFL&9s?P!H$%-EwyyprB>P|sUS~SotK-)>SdVg*I_iY`xuK4yG~_}SoUr`LY`@K zOUl_+$2279k^p}jaC!P9QnzEksWN{mK^Q4EzMz_d5s>~P5OG9CoICy}s@DQBsjSV! zjJA}qkSCwQO1-*G-6HY*PmY+~meEnNTdZgN#@l+qkdLD>2K9V2wq&tD|7+efX8J6k zSr}tng~jfF>qF* zlMNb=liJ6pN9>`wfNrPs4;=K&<*W|1Z>stkz!Kkco9X35AMRmqyGB#O*T9j9*d;;) z@%8fp332{WTb$SWO-|8_TTdr=WU-@xpM}ILT_HX_RNdb}q&QfD4fGN$r65d0{6gxx zTjF{EnO^b|j| zL?62>9t{B8%ftf6UPM9S=hD3Zmab(+D~p(3E|mNCBV47i^q!ZPphv3vSKbVsOT6lm zWEtUPEue_x5x520vcH#}(J>q#S=l2PB0Wc15HakMRp-*ji8#;Q^Y>;U=l4dGw792z zEmN-z)JlPW5@?4zsdVFaXl$oeZl!v5m`vRXo&HepD^j>$kdJBPn$)_U4qrNz2Jf_2lgM-4I8mjXl91Nd~82Q;>I zg(bNwu?lXkvICBn5r-VYrsUe*-N**k4K>r9Bgx-lCtJV-#ZHGrF64P%&4r{k9fnAa zGA=94veDW;Dx`1~5tndC2hffAL>kHM(ceF0Fg*dlRHnhTb1Bs4X4i(g&GX;1 z;YcK-6l6yDTE@j{mF=ji-~QfxGS;@?yiZ(o82d*nXjNoPCgpfXIprg_f=DYDd&}q} znZ`~%26Z(#E~tIz2A&y`syT^(WFB*i7&G1?+~ff=gYvf4tP-=Dd?jI*N^jF=fs}>e zs;bO|P%oJ*sZm^0wDR#!Mo{=0o!XN>zN61Vz<<9dQ(8SyKQN6UMPo!-4z!TTfzzFR zx+>eNZKRg+HD-o`o^{B*#*D{l0mHJ0bJ%esW7SX6M5;4x%Yt^OJx(o`Vy z+hkpc9ZS)%+Pvt;V8<_$w|~F6JN1`a7NZ9URZ?cOP|g{VP8yWe$iX*E6RJ}lo4x)R zf>-y0xWt=IEcZVs%PQyOQZ|TX!b(-FWjSPVLh7}$D&W$S@m)*Wv#DW0nPkS|6A(?a%N21jUf$GF`s{mJUo zvGD6(m}TvgKiS@tT`6lnsk<|yr7Olj-Z{~`(v8P0Cbw&#%~#v;%-p#N{MJz#7x{Xi z%8nm>2HvHcMu_r&`BpGP%hP$#eoQ1K@+Xh+B??F$jMpj-BW0Bt z>IQIN20AYNgo2*lBY?~e!S3l5!KcmB($%DRDU_`RoM!KSWeu1cf}|qaWV=R;Ggeu~ zt)1fWT5UbJk=7fUg@{6cKY#wrG}pskMe1Da$=J5=EfNR-W|aojiHTvufAJ|s4Em6P z=r^LUM9B4zs8T5w+INp>f!q;yfjzH74J^}RiR^=YEsqvv z>VS{mcmRH$L?E_ zc674pZhw#spw@aBc!My*sd2)SFs;FIE0 z1<#CA&RJ0~22?$@yKTmd{DfV$?B(1Ft|$;1ElQzmRH5djnoo*0+D=eCvts8Ce9TmP z2e`Z3T+cc7S&i;q#S@ZyJcOW-(nfbEy~r6apK3HBG*vRdn>{edYSXrYieBe^@XGTM#fT57^^c48O|meO+7UEMM9hc z!6C6bSu&2zTx)t~DD8SGAUdXC#wD+3w#1c(1EEB4=+rCO4 zOceVIaW6f-qxJl>$b`=E*~ixnsOF|GrV{aeJm|1Xb9;RTS`de%iI-kj^h^toFZ=}j z7OspbP!oPAHkdCYsGD{s0MvB#i0RE6mBEXmqLiu3qlx%Ss%VEw(&S-YTh6MOy*`1i z4|?9d>MNg)5XDlCJCwgG+g|V2x@N;^t-~#7%&+H=cKF-3Mwu-38H%SRHSXSXD=2Bm ze#dItS3RH8#wrEE`iAy4+<_JI5ui#O?Xiyr1Ly70v=d6O{@GUmG8@V3-e%ret>sN3 zDr14t4g3>r7d4J8okATQ4HZ6W^+!SAqpk+CXIH2BRwyf{%bNmlHBrmfDA^n%>$(4Y z?s~f|l%yoM=VjM+f`^>mUv=(GB`R%ZN4|RVcpSf`{A0c?*1_(`%V9Ef+~tcpn!5w8 zx)63DLD&7p01|a9_pJ$RckGT3(nmeTr7QJ2Vy1L2!{pJ{om67^l#=ys_zMt!G&&xf zIhlB?6D%2p@LFneY?7xf*2Mtbd3vTTr6>4y{8rUX>xl)A78zt$M6LSz9>Z+%Gkf20LP@d+9^eS?q$MvKW?%;>itrq`GDgLe*ULqJ-60 zEu3?wT#JAxe|J1PK1p79R|qoaopsWMwGa}uMTP2#218pBn~DJ|2)*(K%Mb$HY)HuM z)<&4?meejv*QeE0BwUDKCuQb@tQ*fL11Db33I?A){M!wLcO#guiN+ZFq7?J?!wvqR z0_n{4Nu2QUmy?A6s^Gbo)D5(bs5HN|POScV z9Cs)Bp0P}h2vJ{~<5N1}4AV;+aoEqD^@~8?XX=vl&8M!<+?T09o`OL6^Dmtv!ss=p)~l zATD`rz*XgDb_~0938S~=ZOp*8KYn(~bM{^B8`qmb>znN)y{Joo>wLZ;QwWH_MboO&plJ?Jdx+b$C zi-n-Qx2+H(A<*^=+zfoDT06IBfsrEX#;7yCPdiOK{CE+meCEiYr$h#yviVYEN-!m$ z^E?woSQXw@;a2M(XF2#q>w?By&0zrMYpKO!K^g8iZL>P|UzmIi=tZY{VatEAv^@ml zEYNQSDxj4ckcE*mKDx2sJm4t%+Sql!bG@$`D#8R zWG5Wk5WZFT8TG2ZQSQ`F%m1>U@oG2)T}zeV z{)xVBD+18NnS+n37)5D^$6;FusHS%LW|KLv4-TxPRRFi`Cf9wHIOGCOJ46Ix^%l^2 z_4)22m^Ljm`4;cm^ov43 zBZk33ncR^2&MY>_>R7enz4rakZRWRTS$k;v-Rjr*8p;gr7#4!TDflMc9R|`k!K)r) zpI=zZkd2O@$xF3v@@ja5<(v1dCT^1yhr!ZNKAY$9a6yq;GpFU=^R-PZ2-k+adZgagwE62KNp?yfI^VG#c#q6BPDA({O zkS+J841{X!FZGa^8hAQ+O>diQ=CGhD;Qh3r)%p0iJH$h}CM@Tum|fbe;e_3w7c9JYeH5%Y81lXLgT@I_DC9 z;g*MQee%@3B`+zlw$HiA_q#K@nYo-Kh2L8LVtVt%EZD1~kQm>_#MWNam*w*Hxb$g4 z1TZb4^QmJMHqCMA!KYH%`z6WIaJ8(~Hk2n#5H%WG%Y)aNs&Yt44~WBlq9~H$LNTwY zT33arm9q0yx|F?DuseO)evj)X)7b?wT?T`+eg?bJPVzCmeEP;x_v#3suf9DfU;3PT zbVN;Mv-JVkn4S3e){ozHb$m1}rTr8aY!PhD#!G+3%Q|GkZp7(Qbz}!`GD0+e!(XCC znQ@QE7h6bRm&Jdc2Pm?f<|H5WhO>mUQUmeby50EQt277^%d0Yn{=~Hg{Mq(08rz_` zeo@szI_nfeWF`e?SXsn=^f4SKBh|b&>|C)3(~orm_(^@}Ga^SP;tY3J;BCx=sJX~W z7m^buvcXFp*;$s6UHT^JV7FrT`&!){)ilmvZV98Y)>2N*boj1CqM`g!no4u0`O}48 zwhtKE+l~O1u;f%nNviO7YZ$lq-6y=YS=+Q?>F5FE?|DF(P1!-DzF@H~IrE@cXPa%` z1j&m&vOvRoOEqmA*lDYutRXDJ-IY1J4dhA@og|LE zY45C;-exj|s4?1z`_Oy{O&FyO*>VRXKb4{rUy97BC`@oBROwB7!N_HS6B`Bnm>YNxz7Cw3n$+BXl zGYjN+<@VOsI^J;93OWk-QXH=It(PnHj;eRh5C58saL%{8Mv|^_J4`cj72q4lv9;dy zg3%F?%Sh8JAjGp2uCP za$#`B#|Y`9$!+%}wI2dM>)fAub1Fplk1k04zzEF{RRWJbx@1M>#w0l2^bN-K`~@%i zcs7&T>SI<5|M>WHdEEEKaarBXFB6Z@9m7CV(pZN{gbtM1xx5W7gqLJ5cupx;pZwg{ z9pf5)l_&4p>#Rh0N*`Mx?xD|dptu?Ox#qKC*_x$4UY>8X2tl8+7jBw(}l)X`Ef0+YxZmMu|e5-a0( z_Cm_7l9!uC^p_DUi51ozWG(Z}8>}#GKPhYrik!D-E(Os@Nti~s-1__4XT3DxL)2cM zp@k8g-O^TN5R%2r=)9@XfIr4IcegEKXD_@fUWa_4~E@kdSe3km?UxC6?kN0tFx(vfbf)yo(Efpm_jP zpo7jWO0tU_;r)>X(DHd7pn{6Ds7?w>u=oH11!k(0m4eSvx~R!5mE}7A!L@Gl;rqjt z6-}Yp53@D6^QtE8GWA17bZ7No1OWygjawsOW2?^8RDvjzg$B!`pGNY$IIv-;wcw0J zE&>Q}RvJ#`+ba3cNViUdf|hUAoDAB0d<)WV-(B{$BN8crE5Rh#cu8={kN+r8a(UD zE#7RK!;GX5Tq=WA!3M}2c#UeHMXx8@b4K4ju8KRf4e0A)W(HlwrBBhEye9W|^1p70 zB~sJ%yxs&}VoUUlREW-|RGrTFyH>{cxgE3Uru=k4ig{-4CMTtPEPg9>{TO5?jV`y& zRpm^^N_tM5`AO%TB{GI{6((%mDXlhOUcRV8sElO{Sp#&lp=IMU4D1=0khQ)yiS9*7Lzd}X9LBY+f+0EXhlhhK(5AJjaGIaa`-qs7NdZhzP84s9na8S$48szD^f>O^LW zboh)`?P-Q5R-9I*zQ>GJFLChwrDGN#CDj)^X>&z(0r?=kHjpCB&%dBAThM~YQ(SSK zjnU=*c*^BMR%R$#+EwY7?E@lVg7t~%d+QuAesEZE(V(kw5x^4jMDGP+DNPHL?5tE@ zyS7%Nt~N=Ng(7yKtJ=h|&9q}pfl6K}%QU`b*;t33ykdI=)sm<*_&QkG=>GFhNjWMm zrQi@~J4y4xrbj#U^~8hGO(tvJMjFk|g{WC(!_oL^L{_zlA_r7=o(~D-ca%o_#IbT= zfS(Bclf3nT)#|1K_aF+&ZSb0eQk~8Cp%6=(N(!-xy6qGcIFOU{IPQ9@qWgSi9{vn+ zcLzLJO?5jwD`dtrVwHM3N!PgMWCjI4Y7}B_7_%BP7_AX>u zO0z(tAOc=+B*>&=^Dd#ZeSNv8w_@N%mZ&HV`0Qn^gO1*K=WvLTAOJMJF9t1xl?*1k zx{o2)4BBdn?)A3Oa#tjkd@bak0fFbZ3V{lEK5^&Q?HAv?tFZ*3H$mu{DBq2-(r6xO z?h?hyv)Ec@v!Dw-xvRI;+;L;(j_+Bl&sCQ#RC-+1R|rA{MNyRQE4|Osj@2mCPQ+i& zqih1!qvD`kZh>fsE@pnJsC+_v0$FxYQ}?@ZF3r}}do1QFe?Wcb$X~*Vr}Y^& zF>NLF{*B(#@0|j0Gxceh+?~q|GAn-zS6B<2=cbq#Pg17}()j-t(Q2cvG=PQ6c#e=H zwCANkSvqlDKq=h{719-6=L(T(9J9e8IaweO&dah z2p{w|W^M9K^vMvY`Xif)39Ot;Mi=G?<3sDXH|}iA9Hkj3R~%(EHQH;#^Jv9vZexSG zbM8+2do=XgsLw9N3lk;SN_gGle5kdF$vt}Ti^k-Y7p1eNZ5Nx>UGT9`@O>A?61Civ zOSz`@L1dz#2-C~xMH%3`-_}!@%b)fY?)$#aErx)|V6x(=$?$U)DaM$Z{0iv%Z<@ zDHg^MG8^vs1B&`afzcRcZ>u&8<*{iEQbG&TyO$xu#K0X2kv3G7X zKytqD!JrXLHM}zWgd`W#U*sUkPYtL%<_>eJzoYJ7?wTsW|Fj;ei}(v=w6)**1tiZcunQ4a;o&5Gh1=)#)}mkD>3hKF72sW^*C2zDY@>w9 zL{ydhU{${4R=0{94&_GVN@l{9$+jn}X;KB$Q{-U*{savTJt4Rm=?gkdoZ)fchVb1G zwiLwCELE6CLn4Y4NJ-VtPjjYv)JCM5*S-WpTZ`3xj5>NluK;H}9Q`oUyuEVeTNVG{ z@eFYcjuc)(jjar=*3pVRPU;UUj5i!Asubiq7(lMj;ma{dxiy3TkrNxh4i<{JvR4^M`1bcb5v`Gm5bG}t2`pISu47)@3kwc^*!pUQ->_t?t9tE zA3W*~q_&z~1^=VH_l#>Y`QC>^1Vjxub%DcwjunV#G~&otdfF!kDm?9lxher8Hz!6}vKj<18qTz> zzHJE{dp6z>{v9OIU%%@3_OzgA4WpbREZfo%?)9$S-(pF&T}gr+tlO5p|x)w0yGzk|7MkA+Ip{bdQ1hj?+4ud2C+r6=!=bi*|Rfwu{a)qpudUO%=30`o@Ydh1vCjQ;S3RuSFHH# z`WtcQUZYj}KSZ&{gM!jEXG^L9AsU%cm4+vMgIz%aZH1|Z=~6LHRvgOnkqp20+lT7( zgd;F(8We*JEoNimnvWogvi0do@GJP_@Ai}}Fm^6I;l)+KQhwNBS~&=(q^%7BqTmY< z!n>z*VhpglUNB&qGph@T0?fplty^KY3cj^sfsp76MxdZE-h(3~#Y}0P;KlMJ(l|oQ zX7I!(A0BhU09kVYD7P;Zt@B+A5Z9T*V#%qi?-uC7FdRHz+fywV9FqfV`L~BPDaI$_ z!gD?OIFHIatC&;qnLh6M*Rj9}kMfA~wjCNzZ`k5P^9~Wc+==S}>VMb`6TSX;vBx5J zQMqnM2%-55{-F2UD9aiD!JsMh)XAsa=@<1qIjiJGObBeP=s=7t@>-2FN3j|5!9~YK z<~zZ52hm1Zodxfy6r(}1H#_qEosYv0cfC@VJH+VwD^2A{ zMRK6$+W@Q7A<+AUgQ^t%rG$hHepEPRx?HiN4j6E>ooERk6_Kp-{02}Q^>%&B);6z0B_inj=g=$Z7EQgaN~tN^ zIK@=C?zHBr87S{DxvHeGl)`@_{ruOd?n-ZG|M+`av0Sj7Es4tsfOq$j=YqESO2<9BD227kz*f`t(Hw5$n*>ZN-7_~)m(TF*KLM3Z1_U1%U=nR?~ymHIWvQ^;`A1wo#r3^ zLhkv1X9p~hC3a1!<}aK#(+-|e2VkcaZx8>L0d`+aVn{!b!0HQ3=eAy$+yc9L`G)=c z>UffzPs-no%cY|Y39LjbfG->CUag%CjM(Zx(Dj3;Vcqbtll6#;Ze z?$qa)I&4))Z4xY^9j4i= zlyHfuQWROeOg!abq|suKR?y3ZgkmeN*2|+8A*ZOacyd!m6mjJ#al#Ey8Hm2M2itv$;P$X2mVK_rTlwrmTW>biH(Ls$%_Y-C*LD9KD2Bpb$%lm8u7_?d(D6^*}~FPK^l7%H91WLF+*v| z^|K!F&HlFxoLwf@?& zcj_R1fE^}%pu%kVuucQ|brd}oka|X`YYJj#-Ul;jq*%rZa7*LsPDHPXIcEA_x}!Y0 z4X$g`SScjA`bE2vO=@ARk%*S?-`meqWm5s%qUIeFaEaf1d!;>LPq9GK5i^3xfTS6Xm439Ay6mQFC)r8hw&uZt_&bay;yA-n_|3kH)q2{=q9{KLNT{>D_ z22{rKjI`&pF)~Vom{cl1gFCqZb*wjimG*v_Y;tB--AdU(`aQS=vl?1gYf*FhvC~+} zo?e75j$OQ})!~$8MXW4e-sP9BDRHn25M_%^j3inV0Y<&vE_{R096u4k*<}WjSVQb` zF9vVzRUI=s#pF0b(uV9`oo(k(Uu%sv`Z{)gMdW4cJUjHE8aCI3M9Es6ZBU8aM}3I3 zl^{US%)lzv&DdgPKK#P=yN(yqY@fy4;yht};nI-BB%t znx{E3H}>@n1Dkh;I$rWbHFn8&Et0>y9AlOFRy!xzL_duk+1vxRiJ@WE{g-^Vn065I zD|(LM1YJ4iS_V0%UOTIWG@hz*sZc^)Xpq%P^-5K4v#8QHOMNfO04znjx6Sw4;IP{< z=-{|;^2s^2hR+wsdzmrZdgHPArEP9r+7}0*iD;ICY4{MJ2hW}%RdG*V-S%h41ZLVs zvWl?^R0+0Z(s#<#>a-`MJwQPlJu6bye^$^k-Q|2cf-d3Ap@7KJKZB>c_v~C=*PxiT zm}NjNh|g2yZaD+Tb=GN!Kj#0g($c4Hbu-BfFaGRa(YGs{OV+}rADlYT4 z_3}Z(2GMubQur`f`}yYS?YZ&XO35~4Ij8so`cfifIo9jDRzIvBx9t~ zyFW6}A#wGyV!i@-=`H-A)EC^SyKz^K#G?vmtN5Dv@~W6KhgVbI8BN4sKpxk31n!Y8 zgRuBnpHMeu6n+8E1XTUWwng&skf09Y@YH6^M(lRz2{>#R0Z+C}1L{dP;f8>CRARJ~ zty0u#LE?VSEZ@9iaE0&>i50SN7;<%gxgSuN;~7I+HT>R(B_>Vzn>cgqgH7m1b43SJ z%7UH!Pu3)@e@&8UvD83B*N-xyR^>tXsJNzI4qA|-_Bxx)+Tcj0>8DvLz6e zqWLe$F9FpZuVCVQSn+Z??1moKMD~6;zmL2znxC>)RZfx>7cw$)KXiRMo3#3E;2}uQ zGzl21ojkg*S!Jl%Xh;C0!=F_a4dxho-TSaq^@jAOM;rUa&kD;qrSIbBrdZecF}3ZX zrFvf+(j4piG*J9?HA9uI+|&@4KruCbL3+QkGz zLN<6(JV{xZh~Gp$D|A_Bg|69SmhE+2XOGn|+oh0OFhy9_Fj4VS9D_V}Rtig%px6yrzmXUT7 zLL%;q)Akwx!rtxphd&I;`G8R54w%=)0n5|YjrpRDhgN5rMstl9%lj2jlSgN~IV**! zb>+&W8)&u361^=BUb>Mf3;l!kc9fP$<=(#Zwt4$jBmO|!-qm}JL!;;4q0O9=J9Lz^ z;2kQ175SEw=G4yoR5LBw8tISeH``$fW*I{bgwp=C_)<%4&+dS~|I&{;*(I;wl=9q- zi@NNeI2qWrS2X7#BDqmVZL+iFtzf zV73klpQ;?YJt$+viRtLp;8EjX+sPxVBv4j_I`|E>I@osfrpUPjLB4;Zp^T*)m#6hC&O1Qq0_at2gumKc78a= zMtfe~MZA5#v3b#sgQ#X2Adh{Z*BR5QaHn$Ua{ga+Vuo}LRHNFA4ooC~+>q}UA%vaw zcL%F_{fle-&>Vm4flIZMqTA;5pd~#WYg;S-^L_M5)&9Gf8O+>POrh$)$T7^qu~t&lc6r&eivA>!~=Bxlx+{%&3!jZ1iHLLQKK-QER%ALqAmT4c6VP(7F}FMcTn!+ zeKbJX(@|MHRVO5=XtyC&*T%gy=Nw#?Ic1*IGrJZ2YWTCFn(JSG^2(Xd@~&0< zm~rK3->zDe+=^dqH;s(sbnJ`#H~(B?ho=0*@FL%rtpQ8HT)##2nzth?bZ?m4ly*2yB^`43dRO>QQe&d{D{sl9;qd9O|VPd8o0lYP3cUFWwWRkgGY>R~2Dg6zV}ASLVdY8P zFX0F|wbEoY6Lx>eEN`*2EdE+5U+{QFV&))SFnCxnCN5nI?$zGm`HJ`2hcCv8x13#R ze|V*~4lWMW-!N0Wl>e@JEFk~2{bZi>%>kzl9knR6cKmQfi7V}}B4?$+lDvCD`cB6BZQ1&iYC)Bgrd~>GHQ*ocVeHqsK!yfnEF0E!&gP z(4I{-cy=f@!vfc^2Gsh+0e|jIEaW_;EZKEMB`=Zmz=I7eV{b$3gwv@}zmAsAosC^* zCn^_SWvbe4D~>li%2*?W(O)JmrH!t2;YzhI&h}n2SWAJl<4FmgUA;M|$it3u-wmbM znYXE1TjlUeZKH{)YbFO8%pqJy`lj7tX|wGX?POPX7CmTYa2a_r1kF9gHIY#<_}C3T zl`w&`ELj$@AI)W2Q!gooXHs^HtL+?kCfQ%#qCG++4LUEOUj-9UDlGWGx{+^XkL-$} zxJq7F%i9l)#-WAJ>!-43mf#73PMXWB%umPEixiyRb?Kv)&u@)q$&r|j<8Mmgah=!& zMDy7MtXX#f`dqUT{@g9=cyiab8llM z3$*j-D07ecO0bzm8(j?Sco`&N<$dQmB}>2vb)SX|rdog2)K^G+KU;x75g zXW9q)xAEHUO8tqt2TJC2-t0sRKaH!_wcDCQ4%DXRn8Wgc!NR$IUv~pN2ah_JPu>qu|>;PfrUCT!ESa~CB+(Af?tU#)4HR7u+aQEs) z)*F1!py={7FHfO0RCJM}rgNFF07_KE>M~Lx7?t10!!p$CMbAhiE8k}3so&PnPOVIe zY$1K5i$u=shB>5N__$7x+w~pi9ie`H#n(AlOLJxX&;e}5nT70UHyoepx7oESJIGf?OG#f3NH{aXh%DHp90z5gBLv`VKbiW0V zGV1VmeuOl>VHq-A46Bg$m2OqGq0L(nheS^pVi(x;(`?m)Jr}g4Mq>lN z{2~{dZJT(p?j|86__c0z5wj880#@I1s!QIxpuiq?z=&^sE3hs)a?X)h5f3g!6*{d7 zAEimjcAQ}_M4Yhb&fJ(Vh%L31ski76ug~Z9k}_CRwF1SXbdf>aYcIYO7+^Ibn& zNy>Il5WkRZ0Qs2P)H~Di4j5uPoAS#RNNU$<<7*VGRo9J4M}e75FmeADm)rdIem*;} z@90KIJTWb-eC!Z6TIVewxLVGHBP#0_N2)4jw2I@pYx~z^O6f{@2m8i7`a>k`2vH3I z(OTDP-%{N3?>w^^e=cGXUeS2~rDBkpRfqPMp+?@%IcQW%K=;bWoAIwP;jjcz23|{~ zW6?~iV6eZopwYg#AeeN#z@_d9lu0pFZzoIQl8lduPTuV4x-wH@VR3$X%`aypo76i+ znnor)4)mPyeCcUrOx&yiICPk||1Ru6yxSSJzS-6!sAWvNc8lJbcpHsDI4$Sg)~Y%q z#i)T-l0JB<>2m%$RN#wu7CzTMzR(dyo{&R9Mxzif-KQ|~f|w#1O_DwJJSr$SH@dSn zmavqrBS%XGwPOeLm>qiJJ<1e>A4NbSO zrqAf%xLbuv(Jwf}8T0!ljuu(|750Q)J^K`8c6{csUf^FT=XNpH@qg{dnk0&1R6FSb zhLKqgmO-QaBsDr=pwudKm|QXj+(gLZE!qIPa<#V(QCjD8Atb}u+;8|%WAF>HF6AyQ z!|J(5a^~!SBuJqT)vgC08iTE{PX&z4? z@=yBW-)rg>ITP4!U+t;utf=6ESI&}146-PgCy%cH?hq0V<9aC~-?`fV1I5JK!VYAK zFb95L`u5kUEWLom)dlEiSz(sSsrx1o1&fWgn12bB-clp+O$)F4nxWoFh^E}#cgxyu{&XvEAYZbHhhyUyqChUrIi zzNI8&mE|QqaqC#pjgNTZaVxrbwW3LX*FEPcFijbo#Jd+MX6b&aQP-%SzUC+#n{=QA zQ5|6j&Z_KcK$Z33M}L2~tjtW8n9@49$+_~rN6RTA7p5xnp2utpxLy=(FKkkBO>34X(gFr1q zS31Cum#Lp7U71Tl+Z4=KK~aLmGcK#Uqy0V=-=Y(CViO_sbxLQktK3akGFQ(@>Nu!b zRJB!oF0@Lzp!}|X*vg0`@p2KA zC-5?T<&yUTPc{nl9tL%I!oD`4Du-Du81JB$NHldFf7a}I zgRf9?XtFUa%sHTTy-)OZ>**PR58qmSeBeQ|jCJ39*8q0taN341@#Tkemm^ub{|Nf3 zV_6(H@bd7xQ^V_iKD4i>O_SNTALg)Pp?GAV-+S*uVYr%$FQ^*J3(GRD*R=*G>+L;_ z7SUY%SXR9{n*nK{&|=*@Ffo;mul!kBPLWU6`+$)D&m#xso`tL4^XHrbwL!|_DV#7} zt7nLY!Ie72Sxa`nCIH{V)e`akJf8G6*i77|rTBoMmBtVUzsZzMbhheM>3%`j@n?nu zYZM}jVk`STjA{R~Hb}GX&^a!cR@=ZA?_qKL-XN=8$@sWYAJNc}1EN#m9Q)+n3_Lom(3scdgs+a>t zq{r$P8EeyG!LFtnTSv@*q@Cd7?zZom!Cde}c(8-;^R|h!k_s3AyMOwln{FjXUVSmi=oEDf6~XD?RHHWQ9=*3u#piniNn0;@b+Cy^0OX)D=Wf?U zs7#2Z;pWFsrLD@ttp_XH{0nOA`5-M$uVBh^*AX1r!(5wl-!9RM*xbymbPARjys9qQ z=L3IBVhkMeQ+vMzn4|PFdy<`J9!e}FOQ|7}M^3_e-{;a+=&MfKFL~#9rv40;%)oO2 zon~&kw?LxnR1sQ+L(S za-wzp?=Q1A$=JbS^f9MPovFP|I*JX*rHsUPnaDLl+|%VSe_xwE&s>$LF>#+-XO#-L zEQ|g{Tit_XPL&<^Gj7ouAsY9s!(W?Td?lK*-c?5M-saUM)%PVtV!&vqM9cI-YV*Sc zMpT25W{!VX!rl!JU9A`tz-GiMn{CN|WUYPCFi0)_*37%xdj6wx?3j@7wwszx5jK0w^T;;B;k5Q=7wU1i0*uZ{03Ik1}h^FTay8RQHzc9 zNzJGG5mw75^!ytZy!mq6bbIY5@+Y)%^mh!nD4S^EwNbA;^X6l#C1E57@*Gc38rl%s^5FVev~J+CdOP&?z1gfFLDAKG~-+)F=`O)^mI*3Y}@z#&*-mfrnOF0p{GvY2Rim(-`_PA<(cc( z70;&D=fu4)^4{Cp!sv1MoAh0h99#A_ z#M>6;ppEn_`Mx~3S(+;S-9OFp+mznosPh|~ou&bo2veasD1ZO=<5?22N?Mm^C|SIg zUb77F3~>sT4W1Vwn%ik}bj)bb()X@LG9A&o^kp{pmD>Qr%R=;Hh!*EQFM#WFW7bFt z8B@sdk||{B0y=)O$-)2yBIK;HszD?B9OKR;__fI6j+|G?#@M_2H%Lfwd&N zHhp`xYxy6!g(+Jr2rhC%w1bZa=9IQLPV103MqhY6fN&@GO z+A378F@pywlcjFgs#4DT4bKEsaZGThCHdZw5F96<(tcyCtWLJkN?xA0spkB90}sql zudILPV3v`jtF|#P_{tB)92A?f7m?$o62s@h97vkEWu<7N`^gZQbWTgIV;7~`ymlHa z3Tm5F-+Si-9X++AS!vYZc>c95uB;!*ci#Xmhu820bcw^`FzD+22Rq%X}G&=gE#TMaG-A#Q)amwKDKaNL;G>pAq! zqF_u%Pin5r_$F?d-~rjiWL}IS5rM8e=s*dx>A$z6OpwUiin>zQvXhWF8HN*mU23Vv zME8FYyIxP?oD!$Bx<%?%q@#TUKICBX6oLf2R7OL{LYr%_Pjd$Qy^Eae==ap;}^ zaqnC$W6Fbm3^RVdD`?C^K%$bP_? z-)F#drqJsqstH)PeFsDWymMhj0U8v>gR3@IAfBU<=#1d>AABr^;Q1w(X1J=``2mMn zBHXV&PEbhkv#h0(h^ZnZST=*nW!#8%9Q4Lx)p^UB+?R<{<|Lz$%>1y`$x;zJrkh&9 zjLkhweCdo01=^{8Ilb;SAGS?$F{_@A?;4W(-a+E4pQUf-jtGqO!b`}7>Jwf=*+`De zsSDoOb-`FJUS<0JS5!u6Ft+j>L9S^E)$nw=_W78@pKG2JS*KjEk<)o?l-rf_+E3K4zdy# zrR7n7u*YhK!66G`!NOlY{tmYp&Xb?6v?QG!STA_abbAr7&q&Q~3?CR$~WqsLEo!Opjz9ad}%`Tf65)Q4-q;G{2H@mS&p!;+=B0V5=;`_dkF(w(Tp5B4s zoxa`ELIBMSLJ|zpI_4kkK6@7|1?7CZZyEP$>khR>2QSU`v;;5Df|OH#0-&bFjY6X2 zmAcs@AUij!M)hx*1?7ag?Wj_B{v98{s0V_BgTu5-y#1r6e0y+Z6IOT#@1_O^_e+FX z&q9w2&^v!tiv=$4Ab5hyS~HP$0vldF+Yj@NwF+LH<>2?LDaeK)xnXSD^EB|=_@~)t z{>&2AN99_sOQAOG7rUDviM*FXkK_DNuF2DGNi{%`QdPxHPOEYxzlNw@nJNPWPSh9{ zxe5V=R$JQ~)L={~mKOR)O39vnHCN#*a}Dh9E9CJ?DWU=f5f}H&aVL;tTu6n_{W)D4j_=sOaN4>D#`ValKnv-2?k|c zgpf?kHzsNnVoPz#r0A?y8|~hh_#AM1xdX8K%SOSALfg$jV6qAgNz%*fWu+muCa_-t zc3KNoJ>!b%3j!7Kl)~QceEjbphnj*_V<#)T+H05`795}kf%+^O)m5ODb4Ar+LK*YC z0*MH#8P@>Dx?k_#N>)xok$HIxN_100BqDPv;gDDv7*Df))3B1-`_pqdy#X%;@x8q5WIw@7Y) z*l~(;7Atb?V=Q_(5d@qxX1k((6z^cK-_Q#1^v6!}SM-=9Yp>(x$n0z|182p+4P2C1 zcs4LV4W@%)<1r|U5$H82#Xbv6T@P-7_yf;xng9kcGu>t7bd`OfV~nza88=^K7|ROy zIgNi|0IhRy%oBoud*@7NAN9mmhfj;JARGXAH+NK@*qA+Pp;`sF=*%uLywtN19GBU} zEW{%bi|$j zb&hWmqkr5dX{{r32c!|8Ox&P>C~jN&{at~v1rg-dj>#V^^g7&8G)Kc?f)-CilyBR0 zJ{a7o9(!H9^#*)E2GI|J`m~uF7Sv5Z2e{qB|uMCjP#IVMI^W*^AR)$@- z^!R$D@g&4v;catrr|&l_jlcRd*7t@1u@lbQU~d>ir3%F#wtXW8We28+8+Sd%Rr-5% zoy12v`}7+6Q^3M(j6)a_xLnOnQ`uJO42Iyp?r|yHdF|1yi;e8 zaf**_G>mO!jcBk&bVjQE7n&S%cUwiTvX4hgAC@%E9qgKugWXIegkfseomc3KA}gS% zW9u0*ami_^?EbCL2SKROBI`PEkkO>=1g8EUN&3d{-PsPd*$e{Rl2atcsuo`tCwgEI3C)nJX3n6< zL4Qk0_5^`4s^$_L-B-B(XM5O*1dE|ir-mUZ9V&1tkUiO#))lGHQ!otyOK$6CK6VpI zx9;BsJ6~ygY<%ywjz)GA$$yfD8K78}MZg>s{&$}$0bJd0xArW!r*UnEb@Y)7AvjEp z)$%{+;4OF>b|?A#l|107;}Eaa%Ad26(7a@9BE&wTL3{T6z5krv7COSVsOyd0yWNhT zMzc^rd_TZ8j52D_4X&TW&W)#ReGY6_J=ZP;NByqJ2Z0b`Tw@^w{-S(1YyhMp<#Sn* zkK0~e{da(m8Gs?U7gLo=NPu&}%;q6B3ClN}g;^hwBnL72$b^Iw49|bB=j3q#ma#B0 z*DyL;lW%=&h18AtENxjt(Z`@!(T;aiWd6Oj{yO;VH~X_{dyJA{n!Kzaz<%mxvJY;V z1t(*z7py`zw*GJH?Lh0_>SzyU>|Oz<;gzsMNu>%aWcD^$P%-vyfSq0$U{`0dXy@3> z{#f&d!duvdnSDWlS>|jcDsV&qb+Ae5=p2X%VT40X!ha8VCS~MTtOEq&93k7bUl14r z;Mj^CyYc}x0#j-3hg`w(qCRqLPL1y0k{#{2;vjal{I}@R&jD8!9kwlfNSV5v%0KW> zEWh|A5`LEbfNySJIGs?#W`)QJcAhF=>&1N8hkW@OTLsYyvKZ_$v21Y=+ICIt$0uJ) zrd$u;BXlJc?VcF?o1G#oo-1VRqJ_djk<#D+JAYnhJ>HdNPmIe4U?sJR-Pd$JR^WYN>-aQ}t@8SN6STZ~E3wU|h1FYL6|;&asUah(6&_ zKy5>sv0V96a27t4`&lKd6k>EGpE;UNyFIJl_ZJV)Bu+xo<5svEmu381a30}v?bL8Y&w?$iwZVKnU5isfWTFfn}JvgxOD3xL$u4vhCpRh zY6aJ>YRo^@lex$Upau_;BSJ#$CnajHjXm42Ae$g(rJ$whwqgeQR1Tf^Z_BMM z!4vdv9P1v>lc1wVos$*US)h33$gD2dZ_oTqB$bx9uJh-$$rPSmhHtYusflGmD+%+8 zmj40g2k!3y7D@NF6MBIWHax*nKbF_ejj=ERAb%aRhJPQ*rd5;y_O|5J?}7iC;0+wa z2R6}jpI$5c*n56_%A3nT{}uD%8UKH#1NfN26!3V%%3mDa0AByx;inb-&*sb?!gFj$ zzstDopX)Z>SPOt5FunGh`hSKRw4^2sv`_S}Ya6)b-(P(L$3LCcx%y>;vH5S)yKjQ_ zT{OS?!(IJx2LL63sXno7^*_5fyF;R2r*rv3+VOuobNVUhjLeaPlK-cD7eV{@+>hM& zIiQ<;wc8C8<>`n2ez-X~e%`_5I54pX3)24kd_ZS@4fe0W{<)%l&Fo)h%N%~w@{aJ#47 z%>tf0nfv2{_=(HX$4)5y7ixc#yAS9!)Lt%*F*#`^bM2v>P*8iR?yXxtOJn`S^>+IU zxoh%{NLl?KM1C0{^8NBhF8^FBKM*+x^Sr^``}^mKj6X&%kB!I=Wu*OMWjEf`E-Z;9hjScrN$fZUFb^J@6Qwym@ixp9i(^rUbYb z-^|V|{Gaw20r$sbx52Id(-|YS`=g^p_&@D?0@^2i_u7;HbuYf11n!UX*Dr$q+ddP0 z(7wypul}FT{EW!|pY}7=U2Aul~`!(4A9g|;!{cC3bG(|kW%*g65GxEdg zTK}@yzc$F98?*Hj#cD^71eky!Y`WcWY7J&?TR-}meb^TO^ff)=Qf?{t%lG7y z^Nt?o-f`_MbAR!RTZgv1eU)}^ciiW@r>}DFSfBvqT4bOcR-J|qq$xk@^KY(b@wOW8 zA6KoGI_8&hS}x+oMIuMFu(kB-hG$X92$S+@SdB;_gzW9)uEl*dUGK4<72fx2Lb6vNcGjZ{{0KUj6zt zy!PM{T1`1&r$>d@6is>iBRCo_aW0OJb}+fDPu4EZB z?no^uGr{5eLb{nRGv-@|J|(*1%${9KKXBcAJBN{sK(>>rgp|P3kE0$bJuVM+oc{BY zszheUnYTNPa`)#8tAi4dVQGJ)jVC^v_oC?vJ-#&LQ+46i>7*9wDm4F%N`EM-YHy*Q zlzDy9OL>VAWd1-!)ctAh)#I^^(PC1@YsgYe>If`Qg-?Szctp(YhSQMgf=b44wpIV# z*RrvVWlNBucJFewec-?w?ZM}SlS!+PZ%2)q7I{Z?d?>%b$o{vFj-9S!&!>N8wwoOa zOh5Iz_gx%4y-uG7O!F&D+JLoo^@quDt@r zx(275ZT&sX!0V3>GCFMIa>vv2{q8*>@Q^L<_w5hi4B-mlHgvn=YHPJi0Q}0<%jS;P z9T$|ntcR_gt%t3fjjf@h4a$xEnWAC>$;lzyZITBL9x~hfB=#SgY`(SiG}kq_Gr!z?QRTPF(;174i3>u>qXv9^|Bhw~aApeBl7FN$2}e0dn(qfRifl3(hA1 zBF%6XB-BD3-5dd+I&0Hv@OqHej6Z!T-ZMHR9vK{W9dNoC8W~(roqY`e^w4KdIeOhz z5we9(3FEE6lLoXQ0p;Xscb>xkBa0)L#IQU%O@i+^N|+18j9*sO-E`r0M`Ts^0-p zGyxSgBVe5d1W?-=4`}TChvENQ4s9IwtZo%RZ~5CIccPNiqW?Kn`yXxmcUfgUa!Jc> zWv(VT-G>yo#eQvd2>|AJm=vXWwm&#My`f08t;MzB|J3K^x5T6>Wps?@no`=DhFRsB zP!%gulCn-Y*T})FDfo*c(XCrZft1F?)vw)_K9~)Ur^iAI(MLadn7o3oWytR+7CTMS zOe=1TZf=iElCqIh+nHvhZhK+`ek={65Cl;>O)yE4R^0{SqHImve~wDGUrU;4Lyi>| zug(pucx9O_e;Z2KfmL4+kXi!=J#8ns;=74Mu|F_^Tgw(b=!;#P5wl@z5Lz-YK<~^g zutO()mR552(G`o_PORqu$M)lr^fNE?jvbG|DGt$unAUqfNG)EWW0Xf+z555PD*`+- zIxycR(k3JV7IjwjrS-|fr!!ItVW^||nua0tqbhT!!If8)3Mog+vj?X)cH%y~f)*a@ zr#s(&L$;q-nDq6ps@g@tCTL8innDl4lm0U8oOuFPXG+-eZStXI>UPUO!%6F=jOvjF=d(RP#0p~q4bzb1H+GCybZ;902IZeB`*Rg&? zWqitNpv+N$=Prl+DQ_2=O2; zy(Mb)d4ITkc_eyow7#e3sP0?Sq;JU55$vVSKHC0QbJ3&Qi!63G_c-=R)5(lg5X6~M>#SiX#cd+Y+HdE1&^X;!&1g%xwSVUXbFOOFBG~5W>bJCtxaKrG>vK( zdiNQ9epp0jGz51WSF)k~LYyd)iPPR^ePYbd=u>=jPWUrT(A-03Mysw12v?wfl)-(q zI`2G?r!j7|CfA?7)GtAnj%C#&?PF{-Fdp_JwKVTA{>y7itDZDq8JB)Dj3%y;u3T1XbJ z%9esF%tNjKL>=+{_)<31bFyw=N=p@ujCYwoFqjh+H2JpLodM;QNc(KZtM_Ss-~SDqn!THJwy<#^ z{C?OUH$}81k?S>4iB3F^ao2pK{6izl+p=0WBGg1e3lv9R{aqRIN;Bd#!>5XMu?lBU zeV}%qP=r}qIXGau-e`PA4ZR*G$POPy&m+1$*OGCfpfD{7?b%AhdUitmc$XS_H_k(z zUxXwl!X}MqeHxG|UB{rayi{|X*-|glY(+ov7BNqK{Ka?1_E_s&!J|IVmMD}v?8}>Njgyxov?b_> zbrDgY48=z1UHo@xTl}Jq2*(<Raq{!!n+yLKhKM!FVG@B*s|R;k6}_;p3uCcO+-u5i*rWSL`sfp=qU(tO>Q1< zv+5gu^oxIezhQ(6!=|rck0OADJx5t?E>*A!)+H-fWd{eSXz!NGbQ;+utLUUPmt@En{}$pevwQ2hA5=KhZGB6=tn_;WFJM? zH0b9St>Sv~El&kaZ@G5gh&Us|)XpdG0-n4^oD^-w$xz5K; zl9|4h=a-wGvbCK$oOo3*N6w|tVTD|S45}hq3KKnY6|C5X0g!&73++MtAj~lM&}AM% zby{1Tfzay=FnRBuA=9_Hnt+{uPt8ZYCzX8oY-?2YWj2GB@Qp$;oH2}Fx3p2-0V=7% zP6)M5^5Z-xfkFr|#=^s8_z`|)c2W;i{TgDbt$;^rA{iXaDiRgJlWS9a`ujXfOIeND z-7E3rM)Pxpc1D@6ppc+Mm8(+nI~4B2OiNT-Qq8@nr3bTrhff)^SEl#N2xL@V?56xnh^3geA`6Z7KK1neOjth&W|+0Wu;IwLjeM zgTZ9+(7Edy<{)m?q_6pnByP67YT1h*iwO{@jo2Ky~RU$H>d%0rugU!zqI&NLfKqUj!-k<0W*{1aK1222qAdkbM= z+TeUY&S?Ag?V(F2Z@uo+@1HMQVx-BG)5h`j1Fp7P5Rk46iCH z*_b$Zl2Kbwiit)Dq3(({?OK z{iQ^&WL!}wObzWv?XfAcJH{*5PIl9FmyMUNk(IRG6YtuK?RH|l?%GaDKjUN#GK%@3 z+5r1#-MZZ%)Y_ZZoGQu3Uf`@e zzhB;A9q5cgcUH>v5kFmo5rd{LV13!`?bZn4`~~a|v{J@virBMcC$TGh)zWo6lRIr* zyC5QO+9VLLCVPgRka$+2ppcaqgdH_SuPWYvSao#~%jr!lMFUh=|D> zUROx_Xm>{%K#b1EHX6J5pOceU5|(^w^^@?do1~uK#>$dQjbVxLh=s#8d~Vcl+|1u} zUoY~=AFL{NX4v0z5n<1(>-eRWwFDYHJ|LkyBK7FE7E1z|{8iKWUM>7QWmZc-{pc}p ztHXf&Nl`@99?iD7np5#%1x)Q0E$srPc`UC&bS+EhCZG_s=ZvvpHxK)6#6rlXOP>b~ zNGD0*u~0u`Uq6`o^XAY(StQfZ8K-y52eIH?J?x^0GDhfyc!@+$v=00{U~tba)N^a% zcXy1M%}aTMf2HhoHo>tSuNfWm{v=HvD@>Np2H*2NRJc;JS=@{$tJmLn?Bkd_82?!~ z>db0mE}2+f*iFCWhA_GQLqdL^-EcUPxjrYxr`dYOS;06n$eygp=c?aSM0hi^jvH86 zOhbo13KkQLCZzDyH(TMKSx{-5eP3Ef0D~gDkugV?z$!#iFg!oz1qd99HIHQ`PdP~S zDqVJjUZzdOYyAr)>hbN+%7Ewf!JOIfnvEhiqff_gFN}wUp+r?#n>c(2?hH@X>6=N2 ze(pzdLHEERk?Uro5OuZk`-G)5>-4yPwG_}Kec@wM;ab+U0fz|PBV^6?9bXgkN9YNZ zD1^hi_V)plqq=bhZEe-Ajp(rZ#ddQYO9d`&l8m}-Y&d^G1JZP7xA7J4u5gc#^Bx&KjZ|Z8}VjC)>D$A#ZDQfADiE&-4kqEr3U%hdIg-MBt%z6K*X?HkR-9h-p z+eA~c)=AilJ|?akC1{D77UTh(fjJN$M2Mm;lDrk4U>M~p-{EIjZ6)gsxrxBy{|&S; z%`NRwl#u1pEBpOgqrz`7e4R4hl+G6&wK&sQ*#Yb5y!Y2( zHRfrNsQd_o)E;wmQe}LPBj>N}K}o&(IKR#6ZFw4U&HZ0+27Z@7VnjpU5w_A3N-uD0 zsk~ghL-S6Zws^}xSM$}eoUn6EZu>uZw4TIbu}FFEP-{vAn3nZ3SnKM+8q1$;SWKNU zyn~E|XO|9do&M|TULR8))-p)h@U>Z4x6aOvf3Xm;shjrWN*Bl`)fWF0_AVgnhvi(* zEv^gd)Wp!pqTstllMzf6}7tJIr2+P{eX z&0-pG4Sv3I_j~P2Eh|jkKfPcqfqor-e{aH~GUs@`J1DZ`L#>KszfI#;)~UBF_@uPd z3?J+$xe0vQJp(O=mMXxK*XNK; literal 0 HcmV?d00001 diff --git a/Resources/Info.plist b/Resources/Info.plist index 23c469d..acd83d1 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -10,6 +10,8 @@ app.capt CFBundleInfoDictionaryVersion 6.0 + CFBundleIconFile + AppIcon CFBundleName Capt CFBundleDisplayName diff --git a/Scripts/build-icon.sh b/Scripts/build-icon.sh new file mode 100755 index 0000000..e89f041 --- /dev/null +++ b/Scripts/build-icon.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Convert the supplied logo into the standard macOS app-icon sizes. +set -euo pipefail +cd "$(dirname "$0")/.." +mkdir -p build/AppIcon.iconset +for size in 16 32 128 256 512; do + sips -z "$size" "$size" Resources/AppIcon.png \ + --out "build/AppIcon.iconset/icon_${size}x${size}.png" >/dev/null + double=$((size * 2)) + sips -z "$double" "$double" Resources/AppIcon.png \ + --out "build/AppIcon.iconset/icon_${size}x${size}@2x.png" >/dev/null +done +iconutil -c icns build/AppIcon.iconset -o Resources/AppIcon.icns diff --git a/Scripts/build.sh b/Scripts/build.sh index 4e34f88..5615ddc 100755 --- a/Scripts/build.sh +++ b/Scripts/build.sh @@ -68,6 +68,7 @@ rm -rf "$APP" mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" cp "$BIN" "$APP/Contents/MacOS/Capt" cp Resources/Info.plist "$APP/Contents/Info.plist" +cp Resources/AppIcon.icns "$APP/Contents/Resources/AppIcon.icns" cp NOTICE LICENSE "$APP/Contents/Resources/" # third-party and source license notices ship with the binary echo -n "APPL????" > "$APP/Contents/PkgInfo"