From 2f65935cd70ed2b735b9b120cf202a17daa3a61d Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 15 Jul 2026 11:29:24 +0000 Subject: [PATCH] =?UTF-8?q?Web:=20PWA-Icons=20neu=20=E2=80=94=20Umschlag-L?= =?UTF-8?q?ogo=20auf=20blauem=20Verlauf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ersetzt die dunkle Kachel durch den weißen Umschlag auf blauem Diagonal-Verlauf (icon-192/512.png). Reproduzierbar via web/_gen_icons.py (Pillow, Supersampling), Logo mit Safe-Zone-Padding -> taugt auch als maskable Icon. Co-Authored-By: Claude Opus 4.8 --- web/_gen_icons.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++ web/icon-192.png | Bin 1470 -> 8721 bytes web/icon-512.png | Bin 3992 -> 21819 bytes 3 files changed, 59 insertions(+) create mode 100644 web/_gen_icons.py diff --git a/web/_gen_icons.py b/web/_gen_icons.py new file mode 100644 index 0000000..44ae089 --- /dev/null +++ b/web/_gen_icons.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +"""Generiert die PWA-Icons (icon-192/512.png): weißes Umschlag-Logo auf blauem +Verlauf. Reproduzierbar — bei Logo-Änderungen einfach neu laufen lassen. + + python3 web/_gen_icons.py +""" +from PIL import Image, ImageDraw + +SS = 4 # Supersampling-Faktor für weiche Kanten +GRAD_TL = (91, 155, 255) # #5b9bff oben links +GRAD_BR = (26, 63, 176) # #1a3fb0 unten rechts +INK = (255, 255, 255, 255) # Umschlag in Weiß + +# Logo im 48er-Koordinatensystem (identisch zu favicon.svg / Homepage-SVG) +VB = 48.0 +LOGO_CX, LOGO_CY = 24.0, 24.75 # Mittelpunkt der Logo-Bounding-Box +LOGO_W = 34.0 # Breite der Bounding-Box +FILL_FRAC = 0.60 # Logo füllt 60 % der Icon-Breite (Maskable-safe) + + +def diagonal_gradient(size): + g = Image.new("RGB", (64, 64)) + px = g.load() + for y in range(64): + for x in range(64): + t = (x + y) / 126.0 + px[x, y] = tuple(round(a + (b - a) * t) for a, b in zip(GRAD_TL, GRAD_BR)) + return g.resize((size, size), Image.BILINEAR) + + +def render(size): + W = size * SS + img = diagonal_gradient(W).convert("RGBA") + d = ImageDraw.Draw(img) + + scale = (FILL_FRAC * W) / LOGO_W # px pro viewBox-Einheit + cx = cy = W / 2.0 + + def T(vx, vy): # viewBox -> Pixel (zentriert) + return (cx + (vx - LOGO_CX) * scale, cy + (vy - LOGO_CY) * scale) + + sw = max(1, round(3.0 * scale)) # Strichstärke + r = 4.5 * scale # Eckenradius Umschlag + + # Umschlag-Körper (abgerundetes Rechteck) + x0, y0 = T(7, 16); x1, y1 = T(41, 40) + d.rounded_rectangle([x0, y0, x1, y1], radius=r, outline=INK, width=sw) + # Klappe (V) + d.line([T(8, 18.5), T(24, 31), T(40, 18.5)], fill=INK, width=sw, joint="curve") + # Kapuze (oberer Ellipsenbogen) + ax0, ay0 = T(17, 9.5); ax1, ay1 = T(31, 22.5) + d.arc([ax0, ay0, ax1, ay1], start=180, end=360, fill=INK, width=sw) + + return img.resize((size, size), Image.LANCZOS) + + +for s in (192, 512): + render(s).save(f"web/icon-{s}.png") + print(f"web/icon-{s}.png geschrieben") diff --git a/web/icon-192.png b/web/icon-192.png index 90f0ed0320ebe11b8de4e432e822707f6004e713..02ef88914c4549503ccd3468c52194e2f963b04a 100644 GIT binary patch literal 8721 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 U!E;A=27vu(s_LrLDceT=4+Iv1UH||9 literal 1470 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE2}s`E_d9@rfwk4s#WAE}&fB~D{bJljj(=42 z%01aD%2lo~J?x%ZYE=2O7k?N^roFhc>q)MF>LzQh=eh-km(FH9dzbqDU)i}omiPSy zj~UNLW%5v_M=RGm(B`fCjD){|SE-se3kj1`R z=|X-YpB%H6{Wtac2j?q-n~T2NT&T2v@^rrK>4jMe@0d=#U_N~N#K|9A8q)mFf89vm z{y2-nl50hf?dt8%mMgk5F3ox)JAd~XZ-h9c!w)f)Xep>tQ_@ur<`og;K;zhG#&Ac|%+%?(FxkW>s=jEI= zXHNVG{ob=r{nv%;&uf-_E-B9~n9la~;phHOz20u2@ywZ1@0wqo-mkm5J+JJfSJj@q zTh^;f{10)njFq1k&-9Wb$*q3>{uB4|zGa19v%eN>R#IP_TFL(G^ZD!ZZ$|6HYoGnq zd8GaMbc<54r;m?++_XA8?%u6if8NiNn-_m+rSy8H#TnB-37@x^d!mF%clopByI&iL zyIuTvD!a74c&m)6?tHP0*33)$wQNn(uQyqKS=FmOtuC|dPw}-bw)&Z~YR^s;JuGu; z+uxsQ|G%!e$l^8q`m6kixhG5CU(V>;?{ZqkNWy7vjWxUbqTIW6O_4qe!jJoRDF?o6 z$xbqBsha7)-RCm%oc-cm+!||4pBOLx)c8Hj-+&|I`oE|G6(N4xwDX)_EgBd7o~^z8 z^%@x)*>m$&+;33If1T5@b?PhI1rIXkmj2%QtBsL~%kJ7uhiq+AH;0Qyczd^Q3sPnk zNwX2+Eq`&6M=W5*YY&r03)PL|91^D~UtG{W@5}^7*T?HNU%Vcc^`PO{OzcBfuP{4{xm7>xYCoQ-%tg4;)u7{n9b$D3gt~9@WUeED{LzaCmdHlAL%NbeU zdOZ0F)F2(OrF`zjZASN)xvH;8X0HZjA(`#xBBEDwyr`Gv-MEb}^Rv~(ySw)9y!9gO zr)}H!73Dq)?v%-2nViV9wqxpsZG8t>tTesh{wCM9ue*F8Tvd;9yI`%i({=Tf}g-B{`SjVDuH zO2~^!`7C%NXw)T=`kYP;Ha_k;GGV~nn=B_B$hoiFoJ zX+cL%Std|LpaZwptqY#!-Ez!_9Ddxc0OfA-{EA)Mr29py9rnJ~>(&L9%M6~belF{r G5}E*$ynX%v diff --git a/web/icon-512.png b/web/icon-512.png index d0109487cfd05f84c656baf57fa177774bafbe63..c8f77053ebff25ed8c278db9f2587fc2a401bcca 100644 GIT binary patch literal 21819 zcmb5WXH=8#moA(HLJ38B??{y@D4if8AX20#RXT!53DSG0f>ad*q)N9?1f)ags32WI zTIis(&;x|zefZ7HdS}+mnREUhSQ=Ql>n_*6_TG2=eSIw|7#j=(0#V)7)-VErAi#ei zATko*pTmHOGZ5$jHDT*m-t1KR;I#EckmcL=^=Wd_8Ba zFXFWxkU{2n%#CD1WdMI0Cho}fLC`mmDpw6uoe z_Fy#)4F+{FP+VM`dK?r4{EqB1h=-34#>)iK(9q!Rfgt1Jgrh$#tZQE|IS+;7wn>%NDqH8=*aKrk!t+-z z9&+#J1W%p7G3!EWxO-+QmY0{^^}k&9f0>{r^8gUCAKrNp=6x{wzi~x-{B351JI=;AqJB?Q$&^@#{+HII#53m2v zW}@c91vsw!Su_jbh%T5oPFM}t{ZATR5EwKM|G9DJ5x6>64~;s7qOVg7*wvZcpAV|v z595PL0M-jEaKCYZSz;pDM-mfg+4&NdOk9ABTW#;8QS<&jTg+&?#lv5M%mb6wU`zvN zE||wby0>}k&ONl4LcS{Dd_Ukl%^cgq@%_+P@XPT$Ifn@jDysy*@O6LFz2T~pGVbDTzVqmi^L;9(;n!70d)kQKulc4t8x*%xWMb#aG^9U|&i>suO0Ept zq9Pl=Lwm2bj}Ow-z(N*4 zt+b%vvz;=G3`aHR69D}!rY#yNgWF$odAz$6JZimHx`F@UR@907*hQHf z=swv=WSdOiHJXXXL|{Fl%qd4Z``0liJLyRNh?r~70`^z!a0g!~-&Atm^3&kuqK~sE zlz)tjJLFLf+(z6L(8OHppv$-t0R75@q{~3x5eLo3z>OPc@@L%^7n*#rBQx}tR)?HT ztDp{7L)SW~DV&Ui)yr;zs#08;HCNwXE_TCvJhU^dG-Oy#i;ms0ToLfvrEkm>vaqOgcDJeCrB^6~sM-vJaS zIw*^@vgXY;opR7277F2sxqYn9VB=pLJc|Au7V?M%f>itb4SgL-t;7@GO|88oIecaD z81C7#nX52y2Wn4CL`_OY^MHW@R0xx%JgE#@PVJd^NKqCd^{93E!d9L;<{`?!aYnPsLy@Q1%aa$C10;ur19ayc7BJj%kpPdZs z*D!J%cJOAauZ66X0^W6>D|SUYM#Z@YF<@G{P)%gCvD5G+V1w4MVv$F!@KKKxvUPiH zZdkb$3|uI*gA>yS%;d}lF@n5rj7ZRT=^ngGi`zPBi_6@Z=+h;q*=7U4iXXTeq`40> z9Owwlck6kM&O@e^sARwgDIH|l0{5T4m3l7{`H^cD5SDimd@l~TX-0>Z-^Z70l!6_# z82)ZjTAjo&g==HSxQ5Rjtshvb{g zcBJS(?d38qL~t;0uiq=F)dkNOP8IRTZVqK8n&jL8jaKp`w?D2f=6QVNohKl{jm;@T z|H?Wz3GCKKZCT@-7MI}QmIkfNZAt#!me5cqYG-sS8xd=Kqk+HL(XhdPc$%|(!aXJU zzR8_B`kSbO^y63pcT2H8<-M5i3$MCKHC{ z1P>AqdZgG1UsDiHbx|@qTUY)ErWl|q0C#;5Yh+Cl9lTekyP%Z+ME$ylnvM$h?ne_l zO_j#{VHyO%p>}>RB5}45WhKIsE;SqBV`;9bbE5UcMP4L@MtF!5b3rd?-+3b!k<+zK z89@E$d|74zU4>sK?B{VSFoQWv+uomf7W}!Af>pDWO2_zTpelRO!Hy{^CK-BJO8(BA84@n&tiMT6a45=%2my>4vf zADY`S@r!ItKfx~FT)NfaM1Gp>(^5LxvVpn+5=(<9?%F%Z#;go<2RwN~63^m%X~A|%%MMi4Fyo1b=jsjLVr)R&3NdBYtbNOp)XTjk<~~OXAY{1!O%hpyIrk3K z28`U7xF~E?HR$oFS}DXdM@FW>?)^$!_%g&1b}l5VrCv|t{FFejgS!O0YT;5e%z-s$#Sh|)aDeZJV z#&loNUM!CqbJ2O59n$Bz*9z5$1@EZ#lbhIRX+MIS zc&Wjc8gdxeO^p&Gwp9Xv(84cC12u;>bKJRWs%zb5XA6d~lOJU^=g!Xsc$Jeoo(1!Q zIv1y&^_reY-UU_aK;g}THi5_@YF$qYvhu&a83E@LN*fElIf=_h5rTXwEM42@gq4URV6{76&qN;$wwC&8K~P~qG(wNsNZ_Xznuk;h zz#rqx3Tci$>OO6NyqHNagXrC*2)#}15mro^k9sD+74iY?4iyerbEWALS9@zLm>g)s zPa;F7`Q_XrP8JAtT_|~xwCpaP^@tv&&AHK?2aSG-+nY913Xw9N775q5w=@aWQGG!~ zZ~jmRd|V?6Nqd$(BW_$E{iHB_s&nZCgu_VB#lBvO4%oSbn=t%oTrs-yW zw8yT|{P_dA#~3(D&!xQ?#cXWoJP@`|g^;$k5MER3@#ac>7(3aeQe^;fg}8#`RL2rp zD@IajQoo0i-~~O8%`=97g}gZ-oL+;<->;^O02U%C{$q(^vZ5~|*{!b(JyZQn^}!3_ zI?1ifJaTC6n|m3Jq1mteA`a! zU|bg?>Tl=j6`yWdq(<({MAZR*a2r#^nIcgs*eVE3a{1%Xq{~ z(5M;UbYPTVN@s!OAb+|)(T02N;hqb#wwg;H;g%_+`8!(orhT|4=nKSJ(mXcrJe}^U z!h7-$;rITk!$X`-y00m+!74zv6_TMmYzY7X0bPW?g1;n zGc^7_dzaJ2dwx}_>Gubh{4dihODOQLYcHPFaK`i%$E-6uX(a&2qmq($ zHf&5poR;J4n1Q60TDKlT0|qSmis&p0SB+^a7R~tE%}%MQwW|p=ge2H2^8|3G&--y-K_mbkF1>znc zaFLMQ%WLSPO<)jAdEWu;N?=jluevo$2)}T-JGs`2UQQx!+>KAd&cV;@*cgM%QbENg zad(L48~o{hE0Yq@fswsAmlT61#yqt88QyZHJq_suI{%RjE+1r(-sOc~TBq3O!K0~& z?2CpeZmMVaWmK!ffKsx$Ls!ocYP&0Md{e4L#o}c@Nw6`;HcAW9fRikM4eLD~$_E&n zj1x<%-5fYKR9BW-?!0Pb-ri0>xESl7&clef=x&Q~{<)dEhklR-5u@MWe${vkY;}_a z6IR;d-!n4G)*1K11H=cMl&d=EcWYN`vhd$c(bpFzdAo#+_2-zA7*<(^Jb4zTWS`no z1Jw0sIKjDq?|>x0f%=s%$-H6_^>13hPK$wrCy0sDh>zbc-XvsPNVML!U2%_T;okM{ z=ZIby3imb=nYcr|6Eqk)=p{h19{l6o`Jj%P=z}dL9@w?Z$&EyN97v9HxS;p(`0%n3 z^aVD7Rcwpnma=Pf9SF1}Oz0ln2HN3}B%S;-{7> z>Fuc_rxi|XI<*OmCyEKq+qgYQCvb%hcD-cw<*C2QuLLXWCL-_v);CU_1JT!0u0+i< z>;ZyZN{WTGF>d8Cg|DIEaTy_SnIg~TRrlt#gSh^#-?&{bOE9I_*5DE<;kr}!O{B1L zM74zI$UK`kC9xw^ZLt@ERKM4e+vX9Jt#pQ(m0OvLcb@+U93v_5Wf2s9D`Sqd5W7+CirnsZG$C&E@v9U-RxoU1Rp-SvZV0%#20Cytyf3xF|p{ zfhtr}yMBSd19{5tX5avSMM;Stoqkg%%5P{OftHJas)3w#NQ6VS#i^KH?R{51iO@C$ z?!AtK{OU4^pll}S`wV2^5yoblBf>5XRi&iOz@U43A$`>xB>dECrJ|`qI?`ko+06uk zNnhT0y~b~$1;ZGujiAtHw>h%HH?{`^79H?tTu03p{;w;=O2IZ+DDD}<8!CHrqsM?j zc(-x~q+}s}_3w9XF!8L!b6x!hZXXtTq=}_+UOT1S2{P+h!9X8+pHBHK)JMMn!lls22pK5n;;M0e>n!=VBtM zyYUd?y#Y{}t)0$CJM673Jm7}+iW#O~XLh2V5rf7Vq=-jyWN)$-uZBl*qcYyFaO~^v zpzJ_zKz}!JsvVW|31qU9?AnQe5Ze(+OpB&2-&gSuVO+9&EOjP$XLC zLnxm8pxH#t--b)4slS4MZuzDwxrSIn$v`MNGZG0fKn(zS-F9LVvh+N3x&2NC#l%o0 z654^4q$pPpZ&VVmPn#$ zr_E;pMKTE`PoJ5gq*Eg7NY%-D96WCE@GM{ly9Xf!^%NjKaCF*}Mt{m~bEu`Lu6Fj6 z|3ilJ;dr}UR>MJ;TAGB3v62sG0ENW3?*AbnK(|cCZ!%ye=S&q_NR zc#}hoD&)8d)+B5g=Y{ed`%S-f27JJVf4R-*_kBjrE>7G?2!J_xVS%9Vu=*>*VjLQt zs3eWt2(t-fS~e5J4P3s>1Y!d5ihuxo&BrmQ1H^J1%?2FYbCSt{oG+Iw+bHl;dms%4 zw_cGeY3Ib>KSMifz9``KvXTNYo+@TdcEsNl{W)S!kXM;NVxW-vVMsyFrsUB%V+=gX zJVry;7O(1yorpNf9DU4aDw(bXYk63BU!%@_N4koK=f!eh(3v~#Z@h;xwt?%@4%;nJ zyDlkQKUp;hW7#%;4h$Ac0U8HA*OB4) zs%?r^G&>8?C*D$U;uH+o0fciMqr3VbM1FwtFYBfFI6rA#kTIDyIZJHEA1&RU`4$08 zMSi8)q$c~HAa9%m7{*}D}_$FJeE+hXGk2#%Qd z?uN6tFIfR6mc~HjX;(v5PA&$549OysZqo(pr7XQQ&X#`qs#h?aZ`w(Be49>NKo^H& zul1TGwH%#u?w0*{@vYp1gNVkq6in&FaGXWkyDD_Es9hfeEUYERt^k`_ePECYBa3Ju z)Pa*klF7-gTZ=-zOCc9?)Spgw2;_UJ*9=vR1?~wIKEpKAmq3OHIEL2Eio0$c3z+kb1uahNosuZlq5122m{7q8sb=-8Vv;D9+`Qa4>4tkpVOy2m;@25mN;7oSI zM$DAv);yP8Eu8j2A`S8t>`!$3fPQ}RYl%nEi#bFC43;@NAHwlh{DGv*d8-?7qIp0U z+H1F}|CYBy_2o)n-s|M|GgV5cnR9 z5it)zs-kAWz;T|f;`-^-?Rp-{AFCW)Qc3M%GjZB-*4H}Xxu0|wh3`h>nj&q1#NX-# zljJVmTLP3s4$7jn9de}Dov9tloi=^l5}tg(J9h6&3$*PsXk4flvqO?q6NQ1NC`zk*IHVDn{93Q}`Pi?^k z*T7TMBWbeI;ra5&zudF)&i6qiv8%_uH0C%`i=*%mfw0KGyK28hpc8kfH28nQZ?VKG zX`i}#|K0m#PTpGMLl&<{|0)Xdr3a#B919|O27A86*u5fH`{8F>hT;aN4<_nduJ9we zQ%y6uU4FjCiQ54PZ%dNFd)v#`ya)pq7wOX(#;)8>Pb4$&2k-Y!HVJzdC>vhT0K6Q+@l1aC`8@n>i^3iY(! zcCf?4)z2qeK~^EIq-(kr2bPw1SYnY7DJOLX8Nq(c**@ix?@rokF*6g0?K-8c{Kx8( zMB(Xdy@tXnKj{4hZQEzBW4LpFy+XmLKQVi)~u z-j=MvuE^PeD?b0K zA#MwuISE!k_ODaBqx-4DP^G-7oL;00)`%sOke!i-prVVNW=u2q__sJYFLBzWPNM>l z8=Y-O|LwQQ69=&web06E&S&*FK&d|eG9a8tejg@}Lk11zFm#q&Ikf#YO)LA0y*k%5 zT)lAGAq#SGn_93z1M!nprut-yxY&e7-9?TlU)TgxJF}UZn2q4r@aHS~;4eP@xK#;n zk_$k?!6oz`O|piMT`xN<%kJ#GmYKoi1$rG)YLlr7AzdaLcgo~R{tNcT{WNm(Rh%&6>O1we)z6dhCDU5cut#*@Rl~QwIKI(Rx^_ zYQT$Mi8N~S4>PA-`M4NUA0!{TUFk+#@q3S?UoYE>qPIx>BqNpipjw`nY*hcVZbWBd zRGa|fTjUe$wDfB`vXfg%%{NXxlO_qR{dMvjT2I2cDEI-Hc?FBpjQ+)lUu%7=qXpTW zk%`F9Q=kpjPbmym>ykZ`w2$+#&w@M(y}9;7d*RsgM_>OHH&JU1B5yIqzWkq)S&1Om z7f@tuF+}hN$-%GRVu=(k0Cn*r@@B}{!qv0qCFfUf?^Ay2CL!KS?A9g)9NmU|Vd`(x=9;vV7Ingo^lx8QThP^4POlYTyF)%5;E)!v_}L*}cSMfGaSC7+dl; z9^yS(Tg9ID6)Rb?JSR7-sMU?g1G9UVPAu+^m)Y$k%5Qb8C}^bjFo8bEONz<|KO>gQ zlcv?;PE#L7Mn@_Iq?R)U(xNKcm6PSG$^Ao}2Df_9{7R^qs!?3SQ%*B8r>tC;su#*KRk z?f@OM!TpAVL;FUzEcEQTdojIW*s~!qF>FBg%v|qt2g7ur4#HGu9aXV9*XR}y)YZn4 z#?F|yxNegdJ;1fmhqh+Zyxj$=P73Uy$UHdd%n6U5IguXPpWpTK4ClIpStka6)U+&R zQw@%;#rW%c6Sg*L22WE6B&dx3aH36vvB*h*k(}#$-NrMBrFT>;gE~{xQ*3Gx4s3wW zo|1Q2#$M6u5MTfCOcDv*PltVsA#=nIm9ISbruZkrlmogd{ z+x-R|#pJDaLYtW&38>ODo82ji=7wk2ibUunJGpE~dlD(?QS`S*DBPD4!#gDd>4Pjq6 zcYlxPJ{Wl#B=F%X?<~`YN>%proi`ni)^}r1&u?^i9p?59=i1$0Xp$rG+T+Xx9V-2L zUn91LyLf1`!?C_b@95yOvvvKTene?u;njJw7v9+dG12lGG^?)Gpp*%ydYN92UdrJ@ zM)>bIGYuYB_qKaT1)#3wp4r923^^DrDk3pzm~%R^D!i04KJ%S>yN#$nHT5_RcFuTC zp5Q#Nm)vlbw`b$&&#s*CreT9+)Q~hN+DxNEmbfycn$)wBturIpMP2!?YO-m=W523< zYGC<;q`0gk-UzHLmS_4Ci~q zsif)B4!q*IiQ4rc5&8H>py<&SGX8l?+xo7f6sbOc(ETV4(*pY65WA_avmpvt&W*?t?Kh)lms#5!1q4FXdHDMhGn;x_pm-rIcvpaO)-#uST->d37 zcXr-(tF}}GGi*wN!1Y!wXPJ_Yq}43A$oD<}@Ei(q@A5+eNkN4E;*7sr$Bz^bu{=;o zYy}vQd$eLbBU;%Ha$O;Y*7C_@=&epbQ~2w<5D%B0_UrZ~*<{80booeDvpvij3*JZt z;|~3wdYz?v7KVSl)jS{By(2wM*$*0F;vhE@w9O*f!QSJ3Q#r6~*)Ln9;N%LISQy{E z>(JLjCeh?c^y_#^yAR4yHl3e(nRh!Qb(bv>w?cF=45F*RM#-f{KFd_xKVp^9}xFPUdRDj@RtjPmw84 zeU3JwMA%p|ZC4xiYwhaCVpDwi%WR#4jb%GZDhM6+?-vIl)KB#P&t`(v8oBU~163h3yQ`9ZQU-Nlq zm+C)CrZ~VyB4^sA*<1W4I=#}~&>IEDG(RCzK6I4RZ`#rmv&p{gJ#Ehy8**v!V{w)yzw^K{^Bj;?KpL+0=V~lMyi=au$gE=2s>leYo_2v_&fIrFNfO5{yLp zdAq|UWLoH7m%xST8S`X&^M^6#$wL9C2J6^1os@o5b14b%Pg>XQ3fqT}kK%US4sb?` z)3({`%s@$xwZ!gGx&z3iC1Ci9feDfR`Rjgv_++Gr_?tI(kdwNb+A%3R`CU23 zEMbUUlGetnQB3okqmOls3p__O0Ssaq>ZN#`mn%$JPA?_Pv9W#K;3cO$+&PnV>XK4;2 zyUTgNh;UL$@Zs@{{E9nO<4L4KXB?K*qi1(&mys{*kM>>`vBnILc-WSj0l)Hv0F;?0 zx*gmA|HT|vZhPHhp^$zCljLB@%6K(1R&CypWl$UNFzg=KeagDx3N;Pf4*q~dtkIsf z`R3Y79jPTPrRR@8b;caz8oJ;CkVjB4v!vv}V%M_8%NOhxe&h^AkudqSHmXbo=@;Cy zEnH87_O%5lHKDirYKYHBIb}<9t^CdyIM`C-&xaoOCL_rCE^WX2x^8cnH{Av&f`yTi7Km2<)=GP7ax~;9 zQ9S>vnqafIL^yjvsoxYr8+Ps}XEBzDHT+`+y8q3M)TLbRGeAB%&oX=}Ur2JUUtYO# zLq?PZV*PS*+;f?p^v2@)`cTh~@n&6aZxzd)43sOZnN-MXpX5@?f5noKejbzPlmJZ& zaJ;|I>`glR=$Q>OQ{~sids?#mT;p(2Y>B-If+)7e5&$1qfFo1lThxx(&6B#6E{GaB zE?BLfyv(K(2uS-sr4iZS_iA6Pk5!C2R;Nc{zLT2B5!%!q-Zep}=p_ z7Z*Vn`Va^Hu$%2+2Xx98_VBkxw8Fyj*-15Xi~0HLtK70n?*3cwHi9F-8xWPWZk?0- z*clMscwyL?7N7CP>GQ($&w!;~yUf@TRZ)3o9ZI>}8_?&dYe{+FAyF2e`QfS-bRXV( z(`(p&Z6WvIRZLud*u{lM&u|+SRqaC7Z;fTk3-qNCr=tDpu3Vf@&L9RV7jx6%HFs__ z?40?vd<-Xbc-ZMU+tDke-y@geep^t8m61|-oTi#H=G~{B$nF_TZPl>)y{J5K!;Y!A z{EoTsdE{%!PQ{uX8!) z#bwf)onEsoPdUT=tRag@LzMchD|)l%QzU>*taBGBn(l%iMZ5eaTud;rHv+KvM4j=l zyc^K6kYd)`=9*C7RYqrEW2#;V-lfTR{yhdda!V&uwd`JhR}(Pb$9U_C`C~fEe&VAU zND{$Dy#Ru4ZJ?kqOj$975|WGZuyqa@ zatdlsqJr=q1F{7zK=vw9D({H7@;n&6`=PuB(2P5G6%;=%5D_My_db2rh{2L)j?sRUHn) z9vTi~oVH!-r^Y4bKZkf@W!6#K+byAM>E8!L077TOYR)o*+i5Di1f&I+HF_Z5u~hf; z;Uar}9`a<@*hV>U^Ow!jw;lt%mWuX`N1L3D`*_~~EcbQOC=S6e*&6T zmNVM2Om29XjO0GRSTb1POaC*o%5BEWH+79?;TL^NTj@)H%qTsrDM_ zT!&A*upG)=wZ?sM-|v6OA4YX|Xi4j5uLS6Ws20S~n8y`1i)rx?dz9VZluzCFDf04O zgNHtKLmR4kV^!JzobBzdmHSxtRJ9NFI8i7fR&MF_-u3d?RE212onBeLTG<#Zu!A2b zku4F^pag{b=!suYiPWnY`ha`WUAqJoELl=toux+#p9qS7on7~cw}XW8RV0^qazRIgRG8hO{HIyEsqoF zb&Km$f^&j(*(DU8T;~&%N=vVn-AbWm8>eCU%vhrk@12|#Jz%h_CThndS>4PUS}cjF zeLlH(ZBnwgqdJPgp{STQ8O*aC;6Fljm*_-g^m*?`EllpPUPszPm7>V`{+D!EY|B`t zj6m$}Y<*u6OfYZ>Z4R7>+)9D(M_QC?c(ZsQD*K|Fy8Y<&YQWa-Bp2ag4Xn1!*vr`G zw4*LEt`1`z-ky)E0i%aK*<|&9c#DdgmohP#BH*4DWkaqK6?d>R+oRC>H=i|g$rtBO z{f~Z6`8N>nV2|DWnc!LkbDXu6a`duf5K(w&2kng zlU{H^^Bx^p?xwf=#rHdnn+BVs_dPplJp4h1G(ZAS&8sMq>ES2t&Mdjgt|G$UD?km0 zo$FI#`001q5RWjKqDY4TTGUP$`}0=uBqfvzd+@MM2dj)-vOXZE_|xy8WE7SPck<&_ z-OWZK6QWT*1CtJ88fY>*qim`_l495D`Nyy?w+_k+kS04ZJFN~vOG~e3SQ&dPDX8^_d#AH<>mz^xMTyrl1mo%f1tfg+^{lSJ6B?8cKl)f}&G(NBNB zcgr3oS_S$yCljmUcSvy9YvWQC;xFdGN@;hHz-c;iTwNBdRCQ2f;+TJ^>%VccnqG}J zVnGwvzPG&E_;>z6TtB6T_`B6z_R-@J%zgf8)!uU3?>&G#BBpPAtV@9fLBG#F@ol_l z{ezuqVSizGi^?;|Ux9ZvA>1@SDb!gAF?m`m9geE2r-g%hiMu`y#Cpx%@m%mXI4bz^ zk`@kA1+u>Z$wjF;EG#U3h~pn05i{Jr`46gT7*C>b#^lmS_6AA`Gtc1@Y?$ke?02a!dRCZsXovdk*x{c^x6y@ z|2+JOxcSU2^X<*&yOiS$8|-zXW44RT>p!}j*BcTwak9!pfD6&Q+$3V1d$LH{>4{Q% zw2SkT04!}fps{a_JOGAiQ*mztes0G$(?~Sh;bJ27BD;MyVmPdTHT1U8fDq>nS&>xb zy9RV0?|G@$uD?HpNzd*9Gb+NFiMl|{&7d-_?4YiaLSqXJrQJ<|c_%a_yE&Nwt;j&GRN zDJGOUB1rPgOVtReQKe}y_n37%-<_8n<@Huck$LefFD%WNE-jV?X*%yweD&9_laW>C zi1*6{?#>y_(s$QXq90|$EupGz*6?_4)C=5UEwkKs!9Ko+4+TnlC*h(ScW^)+bTFH? zUmO6_@0zu6FlNG}l8pTJes93WH!j&SaZQ{s1Ase(<&%|e+xVlRYCX*2N%8fDfKHw_ z0o=i4{?CZ2kQ%CPb4k&1bh?il5XW4pTlnQU*p>6%cUlwI`i5zoAprY_D+e2OC&2f& zlm&a__?Wths2}*gi#%PN1yB*WP!l}4*ek#qav($hazaIvY@x2(Li*`5%8c1ICKVz; zEA}yW(;=R9>fbW|Cfp1Jf<34-gD=F<@WyVLZNTxUprpuSrg_+gS3rNW=+zzq&zDQPxa>Adaq1 zCvXL4UTZ|zuC6_(u~g0gc-ERqK-Z|Q7#8l=a>l%=1Mont8K#I4n;(AEEgRi#c&nC% zF^8u2$NZ9ybDlh}+tfA!6R! zoX*sGTZ=XP>O~2PdCSizX3S#`!!3ok?ET#rlTaw(6n}D26sg5I8#g!Y(715?fH47P zQQ84`^D{+y=A4m;?kjF$VO-+bIEpA5QW-V9Y)5x%9)R4# z_jr_#-MIDJLZq!9DJK5Xym?BW1R%UZX`tCe4D3X1&hTtIbaeU#kDPy#G3Adsdo(j%k8 zx|XhS*|HY#b!KeiPlKHspafYE6{4G^28oMryq%Z6M!j9o4&@I!&WuCf&5-B{4gaJ5 z)InpWhva24P{p{7v^S|9?#r62=m=v?>;(zHsD;T;9LH~4K zjw8y(3>-K+>>M_-1CXNg~8kk3oZaqP8=zM88!22!PJzl0p2L zdy3h%`P60m|3|zbtH!SpM_J>ko$H@J=M32_8`ztw4FzhSXmo}P6NJftZKro+KR_(L5W}NyT>HnH zMKqMm7K08q;c^sNSOw!v02(^mFBe25*O$M!Ls9*tXScWaHg;&(bm2$3d7W(axBPMw zAYZR4X&OXmQ>eWbYH#d-ciW%*l6`>AqjEDymh)^e?0okr$~&x;PAIeyYJ+!V2Q~bD z)S%=#?o$-`K3ZXVrE0O)Ms!!Y2ZF*|%7r1;b+q5l-c5lS938+_yVDQQ?Tj17H-J9O zxlL}MP1FypB?|CZ*Ca3pgzc_ZHxvK{bwxeadf6QM&L#qqsJ|kU^BTLT@)1F>X#w=j zPLuNZgnpZkjq6OKb45kHQN(EpsCe?il?-6UUM0>O-n#I>B`_0)j`%PAbmRH(BbV|9 zTQawcC$SoJ#+SljpG+isRnO;S1~A}Gjk{GU7Ftl>&)>wt2!Fcw0KBlyO!e+dXDHn} z4=97-2+*o5O4M%%l(+)reM>f#oxLclDBVgL#+64~OnrhhVaHz;LylrgSiZ_@_p@z@MSR{I9mhE<;3ryxi#}{B-J;-&vBwOs=1ejM+BLfq4lYao>}mAVX+C z3JuqgqWt<=dgIRIrn-tm2fNf0Hpmr~-%-X@W{Im$y>}Se0sZ2Z%p4c8H_U$ba~UXg~L&$kinkpRX@rrn6sQ{&+8sUYE({yGs4YLzH z&Px}jjvn9s6VWo}(j)ntB5X81y!AS=uNYdwaDE;yDt7gRLnG)i=4d{56Kiy3-Kp3s zUzmzR!)-V_)+Gb!FAL28-ovpcrCb!K_%so)Hn}glu%u+V42Wz_@YdBHhuHezH8iV{ zC`-)y=i$c~#o5D|8vv2y)AlVsB<@2T(AfOoYI^V_`tm;d0U&)PV-fgnLrN=&L~`=7 zHSSWKmW2kqeqMaM&n!dpg*Y1*{~-}L<8+Y+aj;VH)@HG&@$fp1@IVQy;jI}~`n{G7 zD%{R{fO6LWBKk36pbA_M2{5e|%+Omia$n3O48*B|>@aFIvLntTce!WI0C-K9GDpy)`T-DZLKI@2{#5 zK0}e(#>qth4{2O!7Kz5$7&2|zdEmC1jD;QJArOQ`lx5p|8UoUfzkF4p$5HND<-A{ z%T8oBu7CCrv&iZdpiq?ZRj>O{3k#az`YPXuO->KMzUPv?s*u2Kc)uEo6b7X|ll)LY z#gu2GoH%S#!xDaKa8wvM-%B_G=)M+vX|A9e(jQL%Vu;}?uqsFokm2jG?dw#Klk68y zsjPA_8QI?Tm&9Lz&qdKonn#;vP!)ZNpoJF}07*~=sbmuXwZv;B0W?9rgDIa-yEM>~6L^yVFLRREEt_{TQ zP480zEL!xCFMr$}=vyNu4gsKS?}H&AL#}C&N;f-dW)lMEA6`zRe4MXpR*Im9#5_HZ ztFUELdo-a2SSF+IoN8u2IC%}_YB{j;OR89RdevH)AAe8F%3NKu)l`$Up@H<5_UewugX|O_XS11@kZaek#R7Y zezNkRLixne>auwHUET2T`hV_R2WI@=pVn}Ept8EZpfNS^$$3|(N4&2yTypFeC3=u>h96x zw1(@qX`Q{CYs8O3L&M}=z#x4G1PL;GgDgLO&Qtgz-b{HZ9*V3_gy9@p2k=~+(q?aj zo0?w59SRZy9r^Q$GUT9CM)?)0sNUF0Gmwkst?1e9+ZO21f@J5LqOkyT7ysMDKeH|GSX(>Qdi~u^Y8%krT;aAp< zcTJ~JQ>_}AX6aS+23~ENRiGoxe`R&+tz0w` zf_X_a=HeO8<9rY3I{L};9%(kwQMPXI>FaUp!Pln)u|P2Mjfe`!@Se9>{pM&kLJA=9 zcI;1s_ov)-D0R}Ss`Sa!bP7bCEK&S_m7Hf#Q)w5+lRz+_RFS1BL}?;z>4Fd-D#8ka zu+j_&OA`<@OA&)X5a}RT024tGmEr<|G${chMNwg0dJ9FQNHs!e$$g)=JF~Cv%B*QGvMe!*K7_xE3C6ljZX7yv8e?8Q*(pqegMqpOW+_bq!~YZ^^ksl?OTp12mL=5)K3d5E&Oc$;qPw_*IPi zLBxaFN6@w3pJuAyv=Xn$NZfsmj|1w#+ss%-TrkwbLB!n7GqR1+N&2t|wi2wNI=-34)ZYpf3C!#bUHTZ_zJU_-M zO(-vcr?&pb7_b;W`6ggaU~X4C)7`ECg)H%Yp&^A>31=9N>^y$3t5-~ocP#jL-uyHP zofH4#b%n$kYf;IHhr&w_Ln=l;Xat-3y1$rXvPc9GQ|SOD1BRnfjvz)h|XYuIs*Gz>@k+;}hVMPW@#tQOE-aYbBb-wWq&?*ap?!`khyaxwd&JqzoL0Sc3&>mj%Y($#VWtx`DQ==)MweOZKWRpoT|CME;d2n;6H~!(}=Ps{U-%P|!gb3n&vSbE9XLT$>9eAb01dOK7@)SUp&8?|UDrP@5&gmK@cGJ)^Wunb4sF&}_EqxM*xds1`PxWR5laOVlqlED zBAvn|pIC3FT5_Ghf)r8KiTB8eG?hrH6)aYfGC_MLI>DxaNt{jY;qZfZX4vus333p_ zf?=&40l|+n?Zj<-QGRJsZs~hdald8;S;49%7=`L->3J#Y-cK}uwed6$s8ZMVWH!67 z^kY-zvLpAyrO@RBXEnj3$s?}bGqbz0wgOabRzxJVA>X9Q%um8#L^!b5eYow)>GNMQ z(CBxe!~B&7U2!8U1N7mc{LU(n=9cE{34r$Y(zVa@C^gPe(3nCewVBYM58Yx0Utfi3 z9#HNxu=YtoVqj)$7xd6ZjLI$#kA5%I0rY_2NExJB{;W~f>?HMUX496nA$0GDI7{5vtOn^LJ&b6Mq8ljIqg@NFT!_-29kly%GQ;lb{8A}fDu1Z4%! zv4U0k{W*>Y?&#AZd{Bgy+32;+1c~2of8roUCL%ErddVh-&y9CaI*`Ln<+E8+u z$d3V-jKgbW7>|p#leqlx%zIP2KY~Dy=54t2dj9FJ5`5C#8tnQd}csbDA}d znSs)#{gZ~rA;par78+{^=*49RhzAdbpT6qO_;>= z<=Yt{K5=%M^g(Vfv-Ow(z2Sp8Q}(E3l|*YiS<>2 zC-YIT<~$ePanT5IF^&=~&=h%nBJtxMzJB>=RjDKJGPzb*mAVP40woZgX&Z6Sc@6Fw z-hnEr4iN*<^H=xK963v2O%cJg9KRFne8z+VRvDCx*yE5(Z$F!^wXu98L%i|N1x~%W z@7O0mwvAQTRqKvxc(+0oo*vPStbwYyLZEZJKNq#O-5(X@+CuyK(pBz(!Ga6T(TT7nmDhDrgSjV#GsGC)WHYLc?*77{QzE?-j} z^ALd7IGf9pBJa=z1!k1~e$M)~l(y(c-*U|c}9 z>EM?^KW-x3rvm)KK#}C#XK!4`N{tUW>LmsZ?+0dD>W`d4L0ss&PD2*QlQ(&1iGb2` zs;OO)Q#5!%vuQzL)Yb%p!I(z_y;N9351nl`M#1f$=$n#X!O`tsSDPx9W-gxA-gd|{x0Wga`V)mSZS0Dc2jnd3L!RJY2#`}mH1^Gm+b z@2!%*5zA&f#2&T|9cFH_&OHrXj&Xwvd_`bpajCebXaec|?a5Zyt78Uj=h70C4yoU%h&P@^X+djPa;c)zSB~U|!9u zcn*6YRl3goxX1EA4FQbn^KT&4=GecvQ)#8i$48g@8_)O4%s%?kK7{-dx0#K_eh*IjzvO2dndk#}i;HClN;e*AB}UQOyWjsE z!8O)qQGM-pp>cQ61k oY#R;v4+~QTE_$0J$A=LAYh`iuNK$DQfTF@q9JRz2nYc#&2kb){*#H0l literal 3992 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 M;pbkyp8d=J0T9ve^Z)<=