From 6ed10fa1efde427ad1703bde7764ba11602c93fe Mon Sep 17 00:00:00 2001 From: deanishe Date: Sun, 23 Jul 2017 19:44:50 +0200 Subject: [PATCH] Update Alfred-Workflow to 1.27 (requires Alfred 3.4.1) --- Fixum-0.3.alfredworkflow | Bin 102349 -> 0 bytes Fixum-0.4.alfredworkflow | Bin 0 -> 107269 bytes src/info.plist | 94 ++++++------ src/workflow/.alfredversionchecked | 0 src/workflow/__init__.py | 2 +- src/workflow/background.py | 53 ++++--- src/workflow/notify.py | 112 +++++--------- src/workflow/update.py | 82 +++++----- src/workflow/version | 2 +- src/workflow/web.py | 63 ++++---- src/workflow/workflow.py | 180 ++++++++++++---------- src/workflow/workflow3.py | 236 ++++++++++++++++++++--------- 12 files changed, 459 insertions(+), 365 deletions(-) delete mode 100644 Fixum-0.3.alfredworkflow create mode 100644 Fixum-0.4.alfredworkflow create mode 100644 src/workflow/.alfredversionchecked diff --git a/Fixum-0.3.alfredworkflow b/Fixum-0.3.alfredworkflow deleted file mode 100644 index 6f24dd1d3acee03356be5798da3c2c6793c45fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102349 zcmZs@V~j6M6z2JF+qTWywr$(CecOH8wr$(CZQHiH_nq17%w~5gsSov~DkrHr$@x9c zDFtZ|P*eZ_00|h443Yv75*DidZ}tA)L<8UgjBE^zt!*rwUFc0r%?w>_TBWN|m2phcbBX>_284&jY53(p4J69ZpHo6oa zNQdJ6Nu5pAm~86v8}=7+F1n5dKK<^wEDkM)TaJp~I;F8ddNBP098HFnD<7|)2JVn` zo=&xjY7y3OKoE@cPrG5$tNmxkXN(%upUDTsW*lb^RcamcxJY=J3t&&Spe+-pNg%3* zq{%x@ec4}_)(^SA#JQjO-w4fbMuJ8gLVx~H#H7^VT*>6GPBX&xD*Uh5y^VsTOb3#C zCD8zY3t0dF>c7}c?2YXmT<9G<|7X0DME}Qlr*$r!H^mZuYkG}{lVSX2{v;?jcaE|q zKXXo`Twalya=r!|%_DLk*MkFLB4}<={(im~=Kv%W$9GQBB1GZMI{tS2^-zgBX!0fVuQ}=9I&&3+Uq>&iF9;H+hkimfd8Y;& zi9FuJ(d#ApZI@QB{4UE=|F?4`ibJ;R}F=)@_tMon+Kuw{kvwFZ?@xnG^zxk%7r=qGDjPV*y zi(`Q#E8uenl=1}n1n)L>Sz?9a9g}TqZQ&A zBi{P!Vj(nFgb%#9*zqxVU*3<>={yXO z@;7v_*`&MwEU15>$dqmZIHb)2T5;5xN+XxJJHV0NuuV;AY}Pg_{+#uXM+OGm1)xkd z!aA;M!A5g@tJz)MK{tdr@YBR{Ti}u01kc0~ge@kHPgTM?U>lK1SUwne@dsRdOoH@m zlnFvt)sZAU0=js{S*}w8{pF;e;W{5Gzz=;Tw&2z9F|z5+nT5Q&Kh+QVHMWNVQqT7u3EwY ziMTk%7`{wKm6as;eG+kUztsq{54{mg{f;+s`s9$Jk+8KF@&kO=;u)mjLqBukW1DYm zCxtZu*?pM25CTw=yN?AeXIUNlV-aQXVoBxYBvUcB!=@9vR7f4@dlHmvVm5SGK?>J_ zci~JhaIx7&&+LDD7Jt)w67H3|Lo$;MFKy7CYX_0p+rI@sk!}3rJAQ)aFo>XNM4;5Cs5YtH1@Z+F~r6z{P;K%2y_;b?jn34*wE)%-N3 z*BY&X;jb0y3Hx}KIv6iZJwrHPX|I0JLMgz>=>suOjkQ`FY7LpQyx(X=nxm>nm;(i`fdPZ;Q}1s-W>Jr+c|sDJje}}b zHl@o!K6?ImASpT8%~N_N5THzO?SiX6IAu0gdq}QH^^x8c;K@qW0E-OLepNBflQ$ke zz@dCFd|R@{LKo>ZRFy~P+8Bb!o(N+W8&%C*BvrA`DEs{WiOKOS!p2&U%k2EcoeB7x zrF{nB9a?LS!fnEcqeb~RYvk0LmguzDiGxG~k**aqts5TQAj^>!$vDgbHmblce7-7< ziW`P&i^-2>{x^!b)t7@rlqs^^@DdeSU!uJgyecHoK^yK^TP)fqJ*$K;Io<)1WUhsv zLM`2Ge+|8AWc$85}hLVAJ?

rQwNbxt|L06O<*|1^y#-yS})B1T^MMKRH(s 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⪻;DV7PXb`se!-X*4+>iz-tek%e)l1ns>&MXXC2i49OSf(JPblb#$_W zJ37qQJz(~AnFc9GY&QNtc{OQVzEYA~?=sLM&Z%++bAz-TSi3$ZmvsZ)p6)-qW7k(9 z{zKpD1|>4=QqZ&|UpuB^Oe?NgeP^*LU!3OB`8#?=Mce`NVFan)1tb|x)1<@3Vh!c~ z3{s5SUsSkV-}|0S{`O4zG3U(YRw?uVgtFfFO}Z7^4YOb^#K1fi>&F?UO^w zHL;v6ZEd0NeA2_`B}*`yCz#Q~TU`KGR2N)nDYyd*gNqPV>pSFav-6wpolJ;-uwyF? zWKVte`az9dmTaKoBPM;1G5{~5#-IJ3#ss>DqMSi|UjO`h8&>3%1t9rl zAZ;ta7oUKKp1Q(dyY+h#IbD&^uK9|_oLLeh<~inNvCY&syQ@=?C#m%#M^T|KzF&o` z8*G7Ux#6@P0HF&$WXx!G=f&aaS_(Ry*DSSG~Jbi*uJw#qY7j-L&0jMV_DC#T%0e$*OXfO49N z3AD#7U^u1JMAn-%3&eE;UXgWKN(O(=Fnt9j4~#P|EGbYxY%E~TUfx&m*s8>1xH_HC z+*t=){j0s`eT!X|23;AESW^$YS0GNE`sG17W|JzuFM$<6ul(n&QqEzK+`Y#<65+hU zx~rpOA9Ttqz~;L~WM;B8Nv(j0aer{J8H{uL{1CG{JrNaoc_2(tVDzIZ8^vp|XH3wh znT*1lk_Vsg#j6JvAjjB0i-uq^YV-PJ$5jsclY$Jm25#x$kx|P&OKyo9@QgDTbdX59 zer3$Z)0y88pVnR;a|YNZ89qv6cqteaEURF%84u;=8k*vW^yFY0>I!;RN}bXHzjP#DRsEOoF3m2kI}4pEkq188^BGwW{8#^SXkrpnOO`D*;-Z`43=K0#`Yo@Rhka| z)(6XZ%>&eEGEYAg#0aGt0cc4Y!tYjwgJkBt1kq!S9_)sv?aA=)P3`n@S^Y_3y*ai9~=4KjO}KN1EFS2@T--%6p$qe@bEiq68dyZx+m2 zO(Aa+ZB|1eAZF&JeTha|~%)mbADXZWSrjr16p{lb(#f7i1JN#v4MBNYgh6 z{e*E*6dVewCYBZ=;{8g8qsP#Rb-S6~f5n#44N`oi6xI|Qi66D!wpaGF(i?@+uVU@Y zgvVRY(J_*#zS2C&$sFLKd^u$gnzu2@y!RJi2!v)q{iK+kx_P zQ=q^gIC;}LxOya9inR2MI4cY8o{|+8;y4q5cpMbSIYaKUcr38j5^6hzM6x3EK6enj z^NYOLjM9}-WBZ~*a;G#*?&U!6_5J9&WqtKdu}%BSQJyX>ajyx`qE>s>mE(ehw+kBD z^QkczQHM;*@={`A!3X9#`-S6~r8e2Erfavc7p5LKqCP(0J7HmCe*S7PWzQ0$i(zqQ zHjHu4;zDB=-Z4UZBXj3^N3{ z*IP9sE>4vL67^1*$Zwxm8&!6$VZPka^EHV%hh?6}4#i~Xyw%dSj=QrHv^0ZD4<8mE zofgVflp`b4WXdY{3zpFzlzTjo;E6!Mny?F7V%wqppregNAcY9=x&n_$ zvEdv&(Hwcg6$#@5!%yTr@~$h^nL`bMZV^cx&~p!^n}MX~AW5>fimCd%n=~7vuXuFj z6O*v`yZK&@WVq-Gt8@L@ePO00ivDYxMTn{EuFnO|L9VD4j=HA9(zX*q4=ai$N8NZ8 z`N=|=!gP!4owP6gQ9zq`ksU0>8St}pqSwL`%~-E0w79z2Nr6`xKsZwS-SOv!ACkZ@ zk%J^y;_o>_o(YL#^9D5QBd{D{OTlR^4YEYk(fLtlh^?xbd`I zeJ1;Fc%-bW7x2wci#WHQ>=AiL>p|1WBT#9WEBK}|IG~Oxl7m={rFS8=5TGtt^9y8e z{r!F)GvM(d+9zJr2mN6syvOI_d%vq2P;e(OUYZ;`&lP;W?+Wjxj*#%4@BJ)I!1^e@ z9iJNiPBXmS&}5H%hJv!pQ`OgwAnRwu--`SeojZyCVYLdgoL7rdjNg)wc$J*TPMs^B zxl@)Hzz1TR>e{aETVWSYd}Zjsw6E1Xm>xvV({mYpj^YCu?m-}kL4B@sjc7?H?k485$TbG81;$7Q{xGMC*j=WEqK+swZ^s( z3c9hi8n83yvpCVpK4>D(LrCKBT$S87Dq2M_&7W&-yO+7eJ32G4CN^K+#WGbAs3K}9 zv=yJ|Y#2X1Mjz>|uY1b)4#92Kk*UbJqRE3_MXoJAh4 zEAm==i$lX)D>Lv)9SMO3(^Cs)%(E`q5oQ zr#F1iS)esqH~vxu^#&2BD{{;{Bo)6{tY89HGE`+WSZrO!fBiLb8F>Oh2+zc5@|G?P zd!*=!iStWtC@z|12#1Mw(#^K04L}um8S^Id(FJdOERPp(%FteE#WTys zC&ay~x1*BUwr$od0`7}{zlU(9CRdh@@xddur@O89(e0XyiZy1Z&ZgC)tnXGxlk0V>oD=Vy;S z2a&q$tV8VCY^O~frncqFt+iZXpIJ0^pEZ{r7|xUV1lhSg=|UDyVB1IBPom>P^sS#l zVWN1cpA$9dm@%>d)w<+4SxCqoVHbL|a3NLNzFew$BqlLOg#gYd`G%EcWJ;2K7hqwF0YcIqHb1kY1*6WgrP57xT|x_Sas}5CdOt#-q%t zKwZ7z&|z^&jMEX}_>-bCJSYdA1)=}@R3lx6*6~W6BG0|hL)H}|qf$g(C%A?bm$6Yb zEwXh7dj9t%mGqjGd?@Qn`xo|;y?ZEd3y|qIc#0PJKpv>2F_q8<4;8CzV~7|=k6vq) zDJ_98Ho(QK`&EgL&L?I#+bLP>{t6^r4y0ckF4g>;qutj5dX?=v`RH&qqhEWOeZ44I zX<|1#+>lU(=rasHP!N7P6fC5Wrab$7tuX$mtI(G@eXda%>%1eP{Vdo;#(ce!bT%37KXMs+`S;?vQyRN2=CKZQ;lt?W z-EM6LT~Qc~oxV!JT_INd3j@E=Gr0&dEzdRRX~943e{$Zj-N`K9MaaNeaef<^YNFZ6 zIg$bbCI^Cz#_zN}%zrSMaOAXMv!IqX!w%YT<1&3@06aKAHj@l&+^!HeMdz{hixx(Z}+9P~pZy1N{jfkR~IC@<+G zfd2P{y~4;}AbP4jvuKt`iUyaRi;nHI!m<>93;UJ9p5oQf3NuP-xyG~s;mSQw3%+Qj z^n^wOP-XFAsPFiK_!z*TLpYXoCadNCmMvQM(~#I{QM*`le#so!f=d2A;^Q?&&pC|w zp<2pLNOw${p+cMDM~sqi^9H6MHBT#Lwzmt$nf@eidZRfsL~}{=a&SkaULT(jGz|)5 zC24UTo_qh(S8BgPW8cct!eH5r=Fc()%V4hHc@fLIdlrd3{+0>E$MUyZvEatCgU=kq zJrFX3F>8GEP}~|Fo?`F??k6x0uBsG16wdQNAWnin8I?Gwo5Dsq$|)CZ@une{hj8T0 z89BI`8bjrb>@&QD>CgH)B2MUMw*Trr>cu2Lr1uG(|yrT$u_eutjoa7`|k| zYcFV^Ry6fo|0lv{nj%)bgAY*iA?QqzsSoE$p7t)eJE;L|loL}pd^z$ZLog_HE0ZIy zOmz{@HxgpztylZq652>Ltagltou{{^8Fm66 z;mq&(jsB37$uPb|dzI%gF2QoKJS%>99SlfqelR>37CL2_wk=Q4Qe^azpcULlLVK{we`yKRPvOYj$Pi7jY!J z_PVB4hW5LSsTt76d!v-*9q%Iqy+PW{*GG7sdgUh*fgXrn`6wwh##7EyE=iX7H68q68l(ZDGF9vZx@tk90(zU zB|M6<#Y}F9T1}6<+(5DP&|{g$+{)5AA$D#u4$*X|H|Yc=5%RQAOiw@qG7SEP-K1CF zn>A5AMtb-tBLtuvgo9^N0hNlIa>OoUsECVjI1j~e0Z$<^A}2hHS5y!%Pj;LE+C3JN z6%sZvZ+LQcw{@}x6-W5C<@;FX49jX_HV7kvD@dxkU+2DiIFrS22NqOaV7hG?>xE{s zpsXmZ`ZR(@1$g#xEL(^EMQcHew0ZFguHaZ5QWSu$GhW3ZJ}2oioxEy!IH+Yf^SY)= zQz3F_gFRT^`IKmV>w~~`%EpNo5BcAS(+Gal#62;Bk|lwI;vxKrMFhN1)W6Ko&?YmKBAo8Q*aM zxOl)R=THrm5WNS0El?)p+|8{3w4+iju*Q*JQw(}#9w`V8w_dHT@xSttf5_s*L>ri8 zo-|Ey;?}$sBwL?aezfz|Y=9)fC~LDY4pCy!ASwz|%R9ZYP6Y$r;jtHfqa!L$vPFfQ z;Fkr59|5KeZQC3`-=}e5V5bMLPzHyvMP^7TXuWI4#!`Kv3Xmt1iW4bo&kW~guuirZ z*xrFmFg~!U%t~W=1US2dASv@*%JX@wST0Fi~NSPgi8m3m7^*b*E9fTa`)YL-d!RaTjtBYrl<>Cp? zyW#ob(r2~N^u~c5Cyt|&x8N2J`VSvX(f;dcEg9?p#+~Nkw?hA#ZJ|h5@(^c zx{|iG8rz2gv!Ej*YqhEQnZBAfH+5sRX5kmvr1TXA!K;X=ZYd&uC^^8vl5Y0_k2S~&1xp+SK*asm>;J}Fe`r}`)vYEq2tQ;jN-CxI z2y&qa(x2hwp%}Y#>-sx`8td2n$+X!{g;JK|(3jc{)lCBv5*<=tIV$B@U7#)qqF#pl zfkKc8p+-?5iQ$IsVy0y>tD-IiB0LFF2kN#Pg5@;?FcLG8h$&^|!iA;Sq81f49c@_q zplug@ik600i@T`dRCW{;983WA$YAjgOu0UHCU6%9Ar&*)eP;Gxp3nzd#a_FS9_u<` zTxaw`(p%_dhvZLTDSa{za|5aN|bEMnoi$dEtg<-nBaEt_zWU88= z2b4KHHzY2p5s11z1|l6b+*6+(^|u-F-m7H1fZANxOv9$S9qsQ{9f0)67jMoy1OTTA z*1ym@DsWt!jOq?w8iRBuOHcW}$pCuWWevYUyoH%mzD6Bn0p!>xVJtJMTlJrgTLD0D zf9qDWGqo#Rq9FS%j^a zo$v|rRL=X!v?Vl#r6oceK&pIY+>r>Xug8lT-((&mzY^JmUTMpF?NJ(NchMq@S`qPN z;ldz*{q=|TsJShZwRZ-|`YB@}VxVWx`VgWD$#cI@Appe5meU)IbHb}=5rZrSq^r0s zM7}bBtde(pMI_jTxhMG>ErLv7S^I35cqi<{=sTnfqWF|yW#wUyVh~G#Zn4c)u08TC zTVv>W&evsw&A3fl2l0#mEU@ML@gWujT(NEBK6;|aO*poHJ(9blXgFVsM`Bu$snv5( zzHsECFVTq@cBSL{p)u+qF1dd$NN$mOxC#Q35?~KThw)<+9`%JM)$pbg+33uY*{V6h zx6z>cD1k)hIS!F9GE41q8~<#sA?9-JC_(Uiw%P0SIhK!RlZej)p%ndQkg4E%av7}c zxjSbuE4r*~Mrd-IxD5#$wLRlLtwja$0kf&$4;Xp{OPzmVdDky_UIYNKm@|E99{3~A zMygSs%rdo3(cG|G`NvVQjNF87b)9mF_uO)t4Z2QQM9ot*6gyu+n9z19P z!eE0vU6LF9YvKl7*&XJG#f43*0bsyi-Tt5B#c ztSF%Vs6IfnMu5!2t>K3;3T+o#%3E4Y7L-~L@k41N1-@JM? za4-cr(Zf4%qw(?0a?|i5?XRnQ=Xj7yPcbRKV#URQ5Hs#UYmVYRP$Hf8zPI-G8h_)-sbyG*G5xMKKXL>xv-CqRco(+#)% zGx%ntRxD;~Ka_)lyNpsia{4ZDWGw!EFdlxo*7{uRWK+FG->n*v?psXmW{W!8NIuO5 zV(e0ag|a@i;ovVZ=!T58>xa!b7*}m@NupQ1i8f5WI8uyujJ2&x-VS{&X1_2LWu|ER ze4)|;uC;Fo%VKugp8^VPg8fnDp2}BHgg+a0qrZiZTwWG?NrxW6U5>|~Oqx-xkHAf5 zpGm8qe6G z>|M4`*E+krPD;1VIKm^IQ8Tk&INc=cm&P|s{P2?a^X#3{{W1YQx`;md@=2y_tP<{g zjcm~VybD=Y(RrDn$iJieaD4~1O>?E?H+;McX3Tym4i-rUv<}cIC$_R;lN|PKTFFyD zFf2Xz(fS2q{uP2)J1Rf3J@P{)5Ld6)*!OFAJdf(;g?<;sLYUx94~^Tb4J)RUw2uPfL1#ogP( z6WhebS90g)2sk48Ad6nXT@nDZfx?V&v9pZ#Kv*t0&i zO(MM*5wUfZl71PyMtmTQ0-PLyac@hP=b0S*58gmu$jKlH`8crPN-J?{e0=9wg(nY_ zrLiuABTG@RI$cRVF*&QERZ7#2uo85z^!ft9P8{r$fAjBwKoUNK5qtT7DzAGwpW4Pp zhIBv!IT=obuDKv$vaB%)AQuX!d9Niyv;HOitozd~^1-HbnUb==zUaS5-}(|qsIx69 z{BZ|cGfz#{^WK|}h@5i&Xwe?S<8Q1)e4m8odTHLlKdf>IDuQT#pegS{0avS38A2X7 z0^ov73EHL2`@W4ma=^WFtmF>A5fmJ{fw_w3vnHLNI<}*IX5A(uH(T>=?SYl!mG@_m zD_$E|>=h8X6W!EQ`fv=D`5WCiQ(i2O8zf%)pyZ^_+58?fMx`{$0o9#{SpyHu6w(Ad z1_T;22zGF)u{(Ef3EVdLnlM`z6FcfhEAZk$`%VdDuP4^(88-UaUJd*6+A>zmJkMT6 zx+oJoyPjuk+D#NcYJqCAn1*xrLwhgVqq+6HElpm`8tz?TBt4SnM-I7F#gIi=Eu%lwEP>k z^M>uk3hiVr(#+AUy-|s|@xdi3tpY9!Mw!Ys1vyx!O~NXibK=Ew=_p-$b+nQN=A zasOop>e%g~8K=c1LOH($K!3(ktlD_<>Ur@&cPb+NpBw@k3I0-?}JGw)ffMfmbK z`CHA2A>$Sz|ta`Tx4ajy2x$=Qt4b zTieIFK{5nyT+;?G)>gl%u9U4aeg~go<{XgNG=mRK@SQE8%_iI+-L7SBp&@4Y6hU*9+3s^TZy`;l_RU4m==LW_7q#({2>n@3j zp(=1+saX<*0=>YMr}e3-`P{&jqSxW1Ec>?>2N9jT3a8CNhzVa;t5F!7XbPqkCbOJ> zj8hCwr$gnl-M>a0d$-H^OSm-b_Lt>LPphd>=vDv7HNVA{KK*%&;W!cuAdtD@BCA77 z3_Z_5xdv4iit$5&0q;&bu#aq#;cszlY#y%Nze-Wq!Py|wd$rQTU)M?(Z;;pZb>~t@ zKc&nSju~~U$r{*sZOvlZ1o|d7^$+%dJVI`(s>HoSNb4CZ(T{d1 zxmGOr!uLelJ#r8=6wmBL-Fo-e!-eAsV9(Zk85baJ*XSq<)Y*^+m>5l%c2Y9bKw+m=~v z!Cbc7(G4|lz^iUkypzkVqHj9x{u(-eWfahxWrd`wyq^}LfM9!oP`Y=sToZSPiR%zQs9nJ|8ixm7C7$ zoRrLz3;nTAev?v**8s5CD%=f`S@SN7zWu%x zu8+tohjx{->dS^iQ9sAyAasy(QPcO{^gWwIz2)lzGk&D7+1g!G3|6$_uBKQ^k2QXb zhx5A<%Ut%}KGvpUQXF5!L^nYdR_0?N0qs&|_i?*Mw8c^v;#}Mz%{k8jwSZabPsGt_ zYXXYSEuyHu^sjp%2~>60IQ(v1VG%QhNY+qDjl&QULnal*a~{HA(!J@EE~J`6$Yhhq zs0f+jWtrqr(Ls#0UTWt-c z=M;d}>kUUIp5GaVx@c5SQH*|5rY^@Rtc}a3$FSwEJ*w{I-k7&yI204>l#LDOgH0>& z;oK1^3E_k9-Y(O*U36EZ&KrF0A4#S?I@>y`y3cO9J>!mVt9>x2&!;y1g5D~4Qt5Wh ztTYC}nI0P5my#I7v=_731l#*)C+IPg9SlYn`r$yzTJ<9ukaR8RO@1A{WB}YaL7)oA z=c3ZjM;xpI^%U`RmeTtfar$)0>1Xt|GZLJ9A6~V*IF_*J?=rI|bF4k(6`W!0>Us@I z4zlTzayNLx6RW8$WsrAMlU?hc?ck1zM^g#x=0#bT?c!XfBfpyUX!V$I{8ybvckEYXCfl%fh%rz;N#{G7 zwmECM+WskgGAIYGqVL^Ovcq1QS|Fp*#%=z4H`Cf9EcL+S;-8j*%qeHiiuSp)B|aIf z?p!FVOk*EkI#aE3)%VpKItk2}F4}3=pQC}Jo{9z^=QyY2J$dYG>$aF)YEs0KxUs#b zCHzzdp^OwJac8n{R|F#RHI-)ZhI2DXv=~k{=_i*cR(Va&l>)=HTQt>q$`%zGkj{ItimWb z;+ISCu{EktY#tMyAHJ+Bjo{t{9F6)2_e^_w&|amx+M6)-ljxZSR5;PGWl6q91bu^U z%{|kiU|YW4!UunpJ?)*sYs;^$w!05tQ)<{&d((4B$*>gRR7~BU{;KOe_Ik^uxCNt2 zv2Bt%cgn5B+7(l3C?1T$o~Ne+;SdW%&90q-$oqy{uV=yKwXh+#ZDeRyk(MtEEiL$E z@8%#Gf9$amBLaVj{A*;T-vJdS?$w;qSg5~%%}G9*2OKYsvy|ySt^Ljn5>XX`R@6<0Wb{UYWz-*u0N$+eqA^h%f+4-K-@R}k!^m38e zon0dA?zhEfgSyVEnRvk0xSO0ySi#1!K^RhmnH{z^R2*{e##nwegdSQ_hR%LMpS{qr=)gz7LxjqZSv=uu%i*FMS zu|el}?S9V1&r2fgzSW0~kLJ0R7;-0$)iOV?~x)FDTtYd&L_A056zZC9pJ z1DbX$Ar}=N1t(a}Lb82iyfg9=$YYYqR$OJ3`} zXZ8;MSY{=T{2-4%g1HGoVQT_?9qB$|BkPaocd(-vdgP~+rXFxV`o0v;n_Dat7ceqp z3|1UHj-+}A^s^@ zYHcBj07s^W#6KGBx#dligoN+1})Zk~-ra@4{|-0x^ORW1G2_g@Qov!35CwxVTw zcw{-4P|QxJV=~``+-S&;Pg-t$k2Ppc<#qQo(6-#o`^whjx{}sp?S^t~_gFR^12T@k zRmJT<0wBEbQ9vKu(;++&-HZ|w#;N+Mfo8TLPgApD#^bHGROcjQj0*MSXzLVZQgadd zOY@@gj;*|ZU_bWQg*C0crU`W%u}E3%s)v6~udJvT4Av~HBv-1mhkUa}`HcA4_Nt#{ z4+Eiqt~f}+px-ymTf%veK;rUZ`BnHp_0l2rRZ~mGHnZkaPYzD*R%l-L;3U3lG=acttP?*!7VfUg;jy&0kdDFyshdyb zO5)>YkD#RV5Q|#PeSW2PpHP?l^lMm$NmTQ78aVXMfMadoFWez<$M*8-rD{M4Unm?T zks^;HE*{gVbLveEEuN|0BjZut&`nYtk4;_|{4q{VN$l)se*-3I?19)FmxRJdKGO09RNw8xH_SURxA+`% z{L!|#gUQT|uFcRC14LU63T~JyJb=NsdG7T0x<*HnYR%EuT94svNxnau0MV7QL?Lx5#=wA z(8tGYU|T|0Aqp_sqq5$%IN@hsFu#GL^Q}@mYt$m>yr5{N&iFg!t*4#t1&tyHGNY=s zY-^y-rE8OGQSxnMyhoayeZua@{AQtx% zdOA!m-B`ZVNMf;k^s%d$eUs+BrE-wy9y~L5`ph7YL&sde(1z1VT-*rd2Vxwpc$$m7 za(t;pPI^ZnZZlov@KQGdSv0&Z0%gb(MEtKaf#Vr;OiC23T+mNv3 z3?ziktk}}xKHc)U&h8q2EqSo>SvX~%E|Y+jQoe|uT~FWk#e34?K!J$wqzZi%BFA){ z%!iBn!PON`u~_1<1@yeIf3?0H*+QIa4l6GOFyN`Hd zK`Vc9ZmDOs?8KM9aMOCRu&si#{rkxJ)fditwJJ0}OV#;J#;kGbtHtyk(^%kHT5$P- z9IS+i^>5lC`%!|87Hy*ZYdKF3bCc7kZ|`m49ZVNe^_D{S0HN-l)?uF`MN=5y9vjfw@i{?m31ch#XDKCyO9 zgnb>mx*W{GKF^oL@|8&ow#E&v(&@GXljRvIu4uQXbdxmcw)LKLjpk~&5&9~tMy|F{ z>9ZYLK3+?T`%TK1uNPItaioK%rLwtggqloG1O+2=taRgt93PUCp5|5TIG;xAx(%-0 zL57=fIadT7S)PH;i(9S?&kVOk6|c3u$lfn{f|JrRHA2zPYnW#vXQ5l7UY#pPSl{Rk zw`~jUz((u0eoqQ!a?Jxi$$DllGI3ioER{H|4DW@5GF`6qSCKQjywqn&|=yBOC0% z)D(s}S00ld3KWYe_l$o)aIOf^dJay9Pl;xaR~k7vPB_|k(8^+l_-LV4`jlovTwsYCqfJm+ZZ z_Kqz4Zsm5@>egT6e6lm~vN3oSeWRtMZN_gtez6~P%FgRh^O=D|sTykuZ`l^H0+7_) zW)7VMo0SI%fdpTt1)PteS8t;8vi4sab$8!37t8&#EL`#wSu#+4Ic0l9oq8namMzfU z>!&agiIV!XYWBG}cAz%TL+=fd2cGD%yh;D4`z^p6Zb3TK8xUVf zu9Id@p!wR6SJ4mmKAZ8@7T}y*^Q%@Cu1BVVIz^Ad!Ucj`LNy0a`hsV*wcto;uReNPSg#_W-HVvYe0p5AwUEi;CK^0U#n+}cKVyzTR-Uk?^`rq0 z@*seZT%X4cD|n|CCx_4!?C>7{ee0=9q)B#E%-+)FlA@-!{5iC<+bzw>K{;i!)<`8* zAbc^}R|1$p(Ro-bB<;3DVxPR@WZ zqTBC%^5|=kycd^O9Eg}TnYv#Fef_EE%npmy%AgY#xbiKgCwMo<*X2Ju^Yj=(`j}04 zavn_DTMEy6QbH1rgUiv{MU>}Wi0+~EbovHMRah^(M7jiRY`saLmFvJ_O$XMo7aLRX zuwl^d3Bpc=-u#pK)iYAxUo*}d=TmZBP5Z)~$2>2&D`I`8x71xcHB1bj_Fhx5ec8o0 zFjRCzJ50Kumm#56S1YIvaM-CeT_Oayx9AeJkOZBT@q4XM~Z3Oy@lu3ZMQn^ zfQ}XdO=0UE>eH=K>oLM-Nja%LccaPJf}E5sKvLdvb6Y(3!8WIE46! z>+%#~k-{(mYvVxL3^(f*%v5AOXJZJRi-)v&tB-uiUif!8MCIMl&++{@<7WS8)xbLc zi6i*rFmFd-b~88=t}g3vw`v{9i|F?3ysi(Ew@vEw6Pq`k&84luNwguWY@ooC>(-|u zSbTXKt?&mEnupxP$@`nvaR^V;l!G@(-eK#5TXI(q*OHtnjIIr}hfZzc%kP}|5&P7Q zwJ4^elZ{a<1-qM6QTCYJjD;|Z>@p$8Lch*wcwsDFVEb*D5$>bx1$%ZM7MfRUcZueC zO&t?L*-%|iLvkt!yt&(M`eRkN(M)cx>e@>EHCmckoIN_bB^_%XcSBiV^Urmo*`VMb zvP}Dp25mIg23HL4&&OME7sfHn{A|ZI3cZyT@VOu8bJfae}J3PSzgx%W3z>g5%5XI>X-PO#NKV_xOD1ghALwB%jCgF@u0J=124@s zj1P4y`{eArQk;dIL&W@b2q}(JewZ&SFX-YNFWaT{qWr+u1h3~(fMmZ`7vs@^i*Ofm zBw=DKQ9J$Eb%zK|wS?(jE|a^2ZF0ptkU3^r_%^ThkQDNm8GdK%*fb?x8%o4=>@y!G zOFk3)vye&JmcH&{td>aoSF4nB@`VMExy7x(=4$hABIH?+EncT_dfrSHM0SN5%W5}H zYkHq;4}N)b|C^JtQZQ}ynqSEl#=uFKcA1?zgs>N92;)>*dm(8wD^k_oj9h&xw*1^P zJsN4HlyXN^RW$DL1*00D+BmEf5&w)urM_gwkqH%}OD7==L}#zOI!Uo)a!Mkv0MB1X zdKdjrVo0lHgiJ^OwR)~itMnG~<1hA~vU6Uko(p=R9%tUWJLO)qT~Fiv7euqJBJe0G zX;+5?$%PX_OfS{e5oMCU5smn?Y9+eMXjQ*Y+{^{xqOCphgIir@5Fi$}qyk{4BR%J% zg~2nrBu(%!GhrQSEBj~ZEb&wRvCkCxP2W@}(^y6{A9P9_BW52r5ttU06h`7Sz4Btj zQhwJmEun&D^CA)(_t$}mhA+G6YVhn}Bp zF`GtoaLzjH=50Ej1l%53AwwcXleT2p1`CVzwYsmEdQQXd5O&udQ6^*Cu6ahJf3Vvb z8?lI9A6`aT@`>?@#LbWv(H-4Hx65HQ2|r!-KiK%Fw_WJ|AD(Mei^Qw&@VgfiI-1;H z@0tM9We7G-NnNaO97o4Lxx`sL6(d@aXC^;z@_dYm@%F6qlzV>Vw7OR*JTFOb*k^X-I)e!Cy%kj;PDNZt4I z8|I=rOZ9Q7@^}44-g)M)7n-NK-Qz-Ivw2ROxau|87asiQ|E{}z9FL-~pBI)^%bBr6 zRl@ti;`Gk4s(BERGQ9b1xlCO-P?>A<_JLC_kcX+Y4eOrCqj3xMZKCR1nqt?H$qF+U zu3WZM`u0?kH#M=Kr=h^!F^~4-n}ZrZc@6+UK)$~WbS1@eW{6zP8GqBfobEcg)bfCm zDHyoJpWJRaoZe^<-VAox8s&@9kt>Ktgh!VCby3~ra6>m6CTI6m#O<=ph#2!Zai{!S zG1gmM&Y>28hVQos4j;>wKJ=CXeC5SU}nlaa6RbmF)lD0s>mj5WkRbbp?< z@_$m=}1IVbS+b% zJUANVf)%Nix3EoLI?Nvf3nsxEiI?rUy~{UJx?pUtO{-4gVvj)s={{-2XcVnhS!4{x ziHA*W#yoXuQ1{Z_^)41YZ|p0BW^AO*c%3w%paH-3P1|Bp@9%j+etSGmsG2%0olf@* zH4M0uG?nQjXnc1F^jaHSE?TE(d=~O0M4aQ_;Cq~>(tZv1s~%@K(@mA3ka08+INT+9 z2ct80XxW*u5XyW~+ID(_m2;b5FC)`<sLUrHRR=%o(Y?NW zee+k)U}C4>giCssr($qT#d4o9tzebVw$?RCojzbBpx#P0_~RgWH-F+i=FrUkIq;;Q zVo~p54RapRWJL-QGoE>7kg2G#lJ(Is?sgkxY!D9z+_Vr34-6v#XC8MuT!6f{E87I; z+iVTgTx;@d5i5IbVu!IFld)mc*O_cOIWdwd$4}#o z&u2ayb89~Cd93Gm*$Vz-C`6bo3w5s3>@JDW1wr{>-KcGJ*zm*Iz;xN77^F(JbKy1P z&9M2g9c0exeI-lJkLc&fg4U?RPPI)6NdLQRedJ$9uQs;A=girtyk)TByG&7i8wtBQ zlL$%Rj||=iGS}M7r5_8(r7zkGTq(b@`?w5^TT;?hi+8+w0oSZ#Xs+&*p=<|Ky}ONd zpC5~Em!8U6j!&^y;mu5q`IjhK#0&P}CPfNHWiK5s_iTTVajy-VfAft^Cm#ZR_ivB~ zLH@*!$G){^>6q2fJN(?9n>Rg|N46N}9JZ)D6`b7+Dy48XWSD+we{MqRI<0rCK57iJ zu<&mmW5=OH)lSDrg?iM_yr1JaXowAZxFoVD^)Z7&ilY3 zlZOY>kix}~1fcl8=MaUp_L5)M4A?O^aZfI%^g1=`j!r(N-}x1+JWS>D>`2Q*zKquT zXzT`vS6E=rhkNrM4mq^{K zxWHkNzWwv}56Hdkj}W$q>d}aYxGx9d`i8SXgIHV@Ls-2BhD@T zM)@J8cFa^7KHno5A4CIZWSKQ=WLi+g3vrc{J@ppRE%wOND&zGz9ZFnvMLK#WxKr<< z)4;3Xe>L`vmcA-_^XK#qHiVj%vzXvFS7@TlH%-*3nfX_5!&j&~9{Fu(7jw3A%L|N@ z&10mCbkg1}caT3_XrYcnaBDF4uUz3LJ-ts2r;eQ9n9WcuvFR3V0}~#n*2XW)b5W(Y z9riaUBJB5a@i!drUL|}q!;JBc*$fzCo?!K7{5eKYxL-8g;O9!M9!+Fjf#zNjlTsOp zu27hOyQ^2R1=^qc#(4_~>r|WMk+{v8`Y&*f1oY{n9`}v6Xe$OX_T2owPa6@)ImMll z;fURm9_Cq*EExkaTfkq?Fzm##6>}{kY)ljYB~L{h2p@A;^%V3^dEfY^R9tcgN6(0v?_+objot=h!-;;0p@29p|CH&trF0A?mpE#i5G69i=g5 zU<3&Zx&H7xpB03vR_|plo(=e-TTPd8X^)t>n%>2zk_w#q-U?oIrGrO4jB?kUAw@|`2R(9)-Eh?#TAxS_!d%vQ= zZ?!p<#;>;}eP@(t{13782`VM;)+AZV%Y?t?Cid^-uT490ul(2pNL-6tMGUF^S}SI_ z*38}l%knt6&96e0Gr^`~#Lg6hqh}Z|3kj9JA~4D zmmfR31A~@+BpqCjC+ob_fi)z*OOBmzWv|;?Z9K1azJu}p0#U`_rtbZFCOy$U9^<&9 zwF)Z=z}&@j@YgRsqSE_l*X%2vj;+<*j8C4YN7E->uv?^T6QAT&P?irEJKI+;MK`9x zff-^}rM?m<-a#x^g68vtrnmB%&iT+tO-hd6K&3Eg0_%S&b!TrszmxFNo$tut8FD-Y z&J7M0t}v?p+T_?(QzlstX{|T7!7L*QjFsNP75>ZL@5d@3lx}m5wK|``mln|MPr^21 z-*Mr)wpBBQJ&>6tYEZb6_{{~jn`}={c$>A~tT;k%h1nc&ST3I8kZ&7H@EM~O!bsVC z5cglr*S8KHZTa|5N^N}PlDreYr8R8SU-xx#b6Jq}71>eCN64k{4ZjMLTMtv^MJ&tg zpB#?Nq4|bf{kIL)$$ZFd%!xdSgkOX|c%g3=w_v=~qv9@bgiQ9hE~>-J1JJjjZZ*(@Ee z&xycZ8An8LoHebm7sM{pH_l8Xqe>PpQ%qYnhI+sPXL^=8w5IgKCi>>+{VQ6}%)8I- z7SQfe7P{v=b7`%ZE>7UQJs#$(xd=Kb2xQ4u^M{A_5Wvb_-nHAtS3GcEjJEufh*APO2UeN( z6!PM@*c*1EwdUQY3Dmu)^jQ<4LUrBF3Wenwf<7z-;(`J>t`uX-$Q1ixI z>QGaR2U{1`SKYk~`1F*N{@r$puVoU+yW~8sW)b;Z{i>Lz@ji3r zLqys}8gW*8&{O}mcF+GYx*@S3;dq{{`Q@5KK+~BQ;Fdw`bw)itzuWS=81joO=++ih z_{{cY#(y=|m(pal{rw_5U4~tTggwuZU&FvB5?FCvr+d8^y*zTpusAKdp0S>Y^jn7G zxSrQyL*a*_ugmLjl{MxbX*uPYJ)Wt#^P?I_A?c%eK4HWzu!RCImU>x4?p6iJ)BEPl zb6PmG&7g$nd3-!?kFZL=I5o)c*?rm+E&hEF7@r|uS%d9vo43*90}k#kVVS~M@X5Pm za#8|xdE)f7lz!BbFD0!rLY5}%d~adq+^6rvjW10E(agPXUC|tNk;1% z4o<0I&il@{i`YLEFnkGtNEiPqFsL@0vbU3O2T=7Gy*fR0!}PEC zXLu9%myf{tW&SQ9Y0adMjXUxbSQkt6~Vhho>D2sEd-;C^SD#wdewv7#ss$q{-Un0FsW z%)bn>SR07`(VpL}A2(uG3D064CzOKisuWv78zTO2kMZufywC5EaHQ%XJakz_H{O&y zirh{22$$cyoV`$JE!O1bUNdan6ri7e+-9#^O@bE!moCu>$^c$=wy#XXTj(EHa?bap zyya<`M^eZnZ2i9Y8KjFIfKWyLk0d%ZQizYw_H>^6ulW)d4VF;r|HNUUKf?8fOEl)-lgQ8M_>#o=*;~i!{*EycsGmYdTsm*)RV=y)XE^7hQVe7gqbQM>Z7Kl?l>}t zq}-))NLq^)u~ocKmpOIn)0t4?(o<9Q(9#RnzPqd&Z5(agd`HogaT5=$ z(;*6kDI?1d50#A^u4T@o_H1p9dp5*i) zy@)FQ*%y`tZA1}%!!7lhDO!~2CZ9R|MuK0RX&=^?vaD7M(NG8(P^`u;d>`G zlh-&2-y05-GaDaTpxiyDx))b9^j0KG*?Qw&%%m-8U1tm?81TP3V)nnAFh4vAJ>8@1x+wa-NdAUUcJMS)9yd7h^wlePPqJtdtFPc89#8 zg=K|tG5fY^mlmjc<tt>sv{b+j2rCwYlsydga572ARL zS6B=6N@?}q+z-Vhr$5MDL%OtVy(EG7=p9?YqM=vJUKs0LY|;(Q##?!-aNxPGM!qRt ze{Z@RTnVv9$J(*K*KyNGBWAjE=q{bw@0+f%R?H^ICq?=;7N~g&?cQERs(+}yUEsw} zy67dzc0bFVo|Xd0qBo&I3D<_x7B`tGZCOcu|Df{MM{TkUJJ)3kKZ;bgh(3!JF%qh5 zNp&=7#g1pszP^Gy%%2@J2rj1mh%18jM*Ao_=9A1pvIrZg#yNr`A>k5p7_Vm@N~cO) zxA`C_plav)S6ymaO42zdbM^F{W`*Hw_I()HjcUO8>p@fb=4C-u7URlEUoz*eD|=BH z7517vVod=udtJUyb&agOPfcvRuK{=D$lpg}wfgAC&2H_?#f&R@2jeqoWcd3(SBXcL zZc?q`(66}ms7Rk2R;SZOHaO}NY}1Nt*pEia9Z$Dza*t&-r*lmRx@A7JxGJ&xAxihn zrKF8B@?z~Q;1Su}jP}TLCo`{YdX#)>m)}O|dPP12Fu$Pxb^TC?TuoWz>&~Tr&XxehUJ^@ElUJpp`d5J$Hh4`oU zrIol&7H3>H;v&b+_{~Wl!gd15TbC~BzhE$0WyPU+G5?0pk(E+8zh)b%q!(?9MJ_mN zF+PV^Z?(acmi^N+!uBe}ue-_h;Vd3uw5jW^a|8dGz_HzZ4#J!Hmk9m(j11}mhrH_U zlPuSG*p>-+%YD&5(PkrarTwK^)E}SYD8NRW=h|&Y9=%oVSsZE)bVa@fa<`-J6+}Y; zW1io1HB7D=e$Bf9t?6doJ(Jx}rJcJg){pM7gmE=1ufEx3?432q?|zcMWYII(3yP}3 zfdVUE4(2b9_2_As?{}n93@z_9sBQ&=I#`!3YTTu9h2t+^z_(`*O<}~?5jc# z!RuMKppbX@r!yH}J3%Y!P0ogUQ@=YzYORQR8WqpU?M>uAZ%3aitITBYdM+YFBX0I5_HhoaK{jcX!7L^leV;b@^?COFovFcpO2N@;jx*&5}bxUxZ~B$k|uAyX}!` zd*3cxyrYfj>z3-4%f7+Bh!hGlj5l-iVg;wO6-b8kIFpI7S!z{!<-_MmG-rH!+X=mQmkpM;Q`LNTAzbA zmyg$3`ab(h-9A~Grt<__4W(?Z)ye|QBPRow?OZL0n!I;+q}<_ympVcqoO)XFg^^-c z5QA8(b3?Us+j8wCg6@3y!JXnH;PieF2Z_ zLAEfZfxy(mRrT0=y0mX^3$ zEsV+v`WB^n(-l;FOR1=>n9~B)Zd~U@;kmPBgH3r5wVShCqd+aercJsp%XrxFLP6y0 zi!93Y=J$s*sBF^xS^3-qLW-#WkW{ALC+9WO-ZO`><8kiYO7oWeqvo}lWs1)Ag`1-y zHg-pEus0=Os{qlp4$WK7>lELr%3mbe(R}ctoQ-IC91ZIJ{`EeRM3el_wLLqwb-4fy z9$P(p%oMeqEzLecNi>TcaB0~;2CLm8KA$VEGF1d!*gt?Yxk!Zk0I{chiYaP93OPt8 z=vAKjmyb?%r&(i8?FEFrbRmFB{+*-4G5eL8RVFFh6#fHb(II!lWN@ zuH|daoXR#@+L()^5DeF7qEq*AV)D#M^IEg-Q`5?U#7W}|L6bq{N(?4D4XuCtcjc1X zcQ)Pe{>n3_zWm{IJb9PRZ5%?GN#^aB2vVs3Ecw*W_@5xB=g^;1x#TjlpEmQRrB&J1 zF?3_>1XuiJ7JVB8{XG@m^Sxp78HZmj`VbGZdPMcTe$LZ+cut(pu=Ib-z+INCGZ8sO~|@~|R^Gg=vx4NlZj;TdsQ{g1i2 z`W6mC$~v$cex)Ur{gN@68}5_2??Y2>7v(e9;||Vly?5&sPTi{j&TTl}vt=g0-w&8* zZg4f_YmBqc5V^jF){bGyuukecyRUzl?d|7z#a;;kdSegm zy4mh^XGkRWQ+%tZ=`)R5b306x%am^^1xO>OdOW}h9~~;wV_|KZpcfQgzY|qkiN*#7 zQI?Fml^l5cBSHre4#(YFq8z01{<4@@uB1eOA^lM49#DV6~;%|6| z^Y;3x@mO`eUew6%zVwZX^zY~$i{~=%GcPkAOJ=d$J+QTQ;-T9urS)DV%kopPE#+lc z={InUyPji!vOyW{Yq`Wt+^>1ER zwR}GZHajLOnOeVOd&h4VV%$%18@;X)$SRN1^plo($LPm0_f2l@O?=whS{#}#kAq)? zR%Wry#v_FF^6K<`-5Cu>qp{YN59$3rBOo8GTztfBAilon%vctRoNq5r`)g-+S5({N z_8{pQZY+i@zz1LuL59bK%(Wb}eSs(a;ZJ`+@4dg> z`w_Ds?)XXEyV_v_T-QWj`BlIR-lV1aSNuive-(dFPEn5tY8U+)tNo#WV=sSiKlV~r zzK8yGTYmxm?tj$wJ5=RGLF@huKx&_V`hb6Zzv+!{PA+e0gj`<!t-W-qi!80JNT<5}yK60QGx7Csv*)1D(F4x#f=Y^7!xb2ttGb z+B#x79YXd9kXuQi*?BSqDgmbio)QovIs`bUkRCxiqVeG1mfwpwn1~|+BrGGK)|xO4 zO~B9K6HO1WJh8#%2pwjKEU^${P;~5;Fw_EmCpp1u1aK&j0uJsHFiIm>*y)C^?cBh@ z(Fp@tM~>^J5zx^UZ^dk}R^c@k(u3!L$O5^``Na&qtt((M3{umnI8up!?7WAlMZ zcG#%^?lOXZfe4AYAe%z4EtNF2stGzG2v5MZ%_-RMMs@p@XZR`+0LX*5SiUSRV9PV0 zj?F;N;WEkhAUttFM1M9)x@-5CP9U1B*`vt`HpJNVA~P zZ)GplEj>LgL61p3J`p}w90jiPXj=S87Q8}0>!2kM0qy+W3Rni70jLC~EdPKfpM-(_ zBS7(qf(Hn`cwaH37ZC)Om4DlIvf)b(*mLV0j zW_RJX#Ze9%Qc&YRc45+_;RJ>p_?aQzO>i84Nq87Ccm4A641|E>jSFS~Gzbk#$h@#X z5j)^-O+!TpQ2Zoa_wmp=z>SiE8R9_H{Y!57Kwf~r_WeX=8u*u|0gyz6iwg7@C35~_ zq2mwCeOO=dp1nkeJ*bapJ382!m}C%Y9-np*blCv;KYHj%2z4#M)#CThLtflTI=Hz! z4s6F^_I5Ey28LTkZda=t%AlAdr2oW0D1(CDV5s_aoIA1 zw_rknZeIqOZzc%c5?Wq21$hSXlibQooe3+eh->lLYne+6ZyHcs z0W81{@S0%Yl%6;O$|HL1CVjs3;0F&geD*k1_DIT!a`UY0P8sD zX*59SGSJYast5R6sz8i zEn{CldAJlZUdT;z0)z1a(hdQ&Bnf9jSPEaoDdUffJ+I-MKiLTww*4cxY_ez(djM=C z#U&$PSrCw%k6>!}PevX2fkHN-fdCQJ0N1e0X~(B>|G+rFCTSk}P!Dtyft5fmqn3}w zn%yO2;{xO{Srn*P6zEOW0_H(B=Z!;D3T$ftXyd)TI*^q@xibU@$c14@4jsiEXU)3O z%ot?KPz4Ta5~xBRi%1m{u&^5h3-ny!ByeMNOLVsbXfzPmgJJ@Y!35l>$Mevbfzf2q zVciLa{kQV77H5Ilg}0p$kSAcpoya{8Ef|?e!om=Mn{XEmKqE$3kQubI=Hb)=EM%Ak zYwpPixuN{^Vn8MxO2o2Lh9CiPhxUPAOko+(1+J2vO+TZNS*kn4)`H%K$3h0QLu!>{|o5} zu-bkaECWy`+d+U#0E(G`MUusIFz5i7rhWm*{))iw9T@uiK)o2yPKah-&*3H-<~DOkh6c80+DKR_6xKtld;FkBIgmi+*l0J_Yd!g7|^>GXAE zFtffyP`hv4{NXzUH28oiq$Z>PZnubp1e#r7)q(eaNJTG5(MbdI8v<=L01Fx*r?^eV z!Poz7b`%H~z|LAE^R~}YEMm0m{&!4f!K^a|wDwcwf8Z4&NbRs84ENuWQ*2HNxVlj5 zeJd25Xc<;kh$=BBu7D}TIwMdu5M$W$sX)L}5YFM$1Ze7r0#?hnwjeO>X()tPaD(oB zD7214be@JFQ$kr9PlE}ajevBZe@;gLM;I{5XQgP$VQvE_1{pYpV1r3k9!HYliINzK zu*X_Tuy3VQsf4KSw9wzL?7qVQxPj;UOa?BznSud^V98v8s3evkZGcm6VW56b(T!sO zVbr+aSdT&ajKKiIF&r*632RD*tP;3>6F~jnp#w1Y)F!+2BFD~}N%rI>0Q~}G!e$8H za(s8CSZ+dG4wTS3pV}Yy|JMe+$1}Y!a2!`-lQbg9t<8|cD8w?%twxkvr|9BR7^fpD z<;*b6{kW&53$|REk~laeHkZgHogvC?xh-aH8)=Mfzvuk%yqeG@(? zbwi9pz-O1Qhw{mxUN z?Y{im&Kk_5^=bL;1My(}-9Ca&{O2-tfg?kr@f{YE~gN`SC4mV#ZN#~p=Tc+GT$ zz}P1!Kqd!+4%??KAOAVKQQP*VU)?ZNC5=EDQBOi2^{p-rk08obwE}f~m`H*P2}^O3 zT)QK>GzrYAJOtLn5tZ-H&pzD10CKXmGT#g$7U$1I(X?@}3wRklnM*jj*~DIa*Zte+Su*} z?*QK)>eMfXBXiuEXvr)??20(&SmRE^ntuU=RTPPv8|Zu*L)r)Q8o90*r9|@RHUiu&&<4kxn6_C?*Tv9Up0$}cp-Vuk)xI-7AV-md0X`)=Yq- zTAuxRMpj6Nyg%N;Zh!2IXdpC69QKnG*Tj30u2YE#6z=HwHXia%9%&-LI)Ob|m+c&3 zyMT{f?g`x$?u!{$#zMw0Hmwds0c0CyLX?c${Vjs0G|yc#GXX9a@49$oyRvb4nPEeW zN>xbbyPH3%aW#4HNa6tECStmhXl!0+BuJg*ys4_5X6;7okL)Dirx`@O3|&EApwMj3 zkpGNpV@+RcX!VM5B1{a2*jIbHF5gSaBpRglvq8hZ8m-BwkYemN_a=3xAI+zPmXd=* zHq&`6i5#Er8LJqO1Hq<#sJJ%XiS&xrl)rRKRnF)K-<(!7N(%2<37r^X=IzdTt(`g= zdh6Pw9gd&sx6Y99!mJoT86G2yPTvl-RaKfV6u-pkUc7r5y3z=^9JX$dhr?a190v{PKD$s{9@ zb@HoWUSm7;z@TrY4^Jo8%_+9xt+~Oy1C@Q?jAKQ5>48!lXK2S;Cx;q%^3|(XS&G%W z_hVT#2YfU^JK>Si54p&S#P4i3>7TjQahim@zrN(0R-{~RHlI13|IP4Xh^<|tTeSL- z!J>Q6mM=vo?QwTFrBSpzdK#d$`lN3~g_`{e8F159-Os(zE{ zJL`H=_u6DzIqE(mqR&gyV2GC9Q9wQ~@XJ1kBB&P9uEC+YeB=0HR89YF{dee?Mp*ma zr6MgGn{;AOXH&w5V{N^X8p>OoNE0D3sJpF!qF=0D-rt+pAE} zgIu6(iYYS&m=9*eKRDuj*ogtrW^;z<gTY$LV?T@6Eo5jg2V}4bOE)JZE7Ek!plbF!_eJ8yS{s2)cWGj!+h*(H zEW0O0ARNZ-=#hcG{PiyHq?Zum{@#ZHJf$gT)T;pZ)_0A{E+~@CUQT9VnWNtVDxa0> zUruH4|J0unJFiS6K(I(PSvAp7JZW(gS8DLQx6$dmKjx7lvVKkQ3w9@ zF60n$8Nd$MD+;?L#5iyefFTQFwd(7;L=k;bMxX^sgjg9Kb(k1^XbLNAxqY#u|>;s3eRc#th}-GYc>Z%nzzwAiAhkQ8+8KO2H1o(Q(P@wm9h zo$J5cl+*mk6z)i{_4P|{7DKi;8KW~$Fzj=*_rJhEW>8O+xw;+dG;wc_n1eT3!b37`mP5ImiTDsc== zEJ(R`ID7I%0Jv%xkw(p^r{*_~B7Z4KZ45O)`FKEHK%vPb*`l2ehm$2If32#oV-`7; zpG>~!^he_AgdW!Q%%VcahYht`yj$;FolWVz+s&GERap{TmL!4+cD=pv4)4u=T;Ew| z5W;xEF(-cO4J*1-uo1`lbe$!iKeXFNg|G3-EBL9Mdg6SH+-Zrj$IlDo4qIqUyfIX2 zGF)Kfm)0{4^BJhfD_JdDCTCjd>9N($GOMBzaf8QS%yZ^sGE|rP5i(-ig7IMP-Kvl- zTGHP1v1gv1bFE#7FX-_%%DH$CWTFaq@$|xG6L+Ppz`Jo9OBwt+^bLJIM7E+SD$g3I zL4$2B>aXW|TJ%@XR@C+DW{&?}r)Pi1TgUb;tL|vU+*8U=lO{3FYW;$0$()A9jd!!; zU31G6)9B)gwfRIx{~y=(O4}>`myjS**0q4?=~8+6j83!y}dErMwP(qb0?>?j9sq!NZIX>`VUY`0|XQR z000O8Hi?}|denEWdJX^pVlMyy5&#?kcW-iQW^8YFFLiKaVRU6KaCuc!2>=7QtOQwj z4NX~fcnbgl1oZ&`00a~O007lmZFAc;68^4Vf!fm{Igw~P>D;uO*jKkrd%j6Boun@x zd>#rCA&Ch^vH)qtm-GGh+r>Lb$-Z1Wb5qx;B@kFFcAtH)Sn&9>lV0$XMOmM)`j)hJ z-KME0$As0(rYP%mM*40w`*Ly&ZQnNS9WU3Lj>OA^JUu=8f_zUGWkX( zp4R&N*Xu1Ut903HFQzbF{d~u0P5w@o??qFS=LLK##fE)tKBP74F64Btu6`mf%Oz;S zQu3BDvgx`uJ2`1uR*RNq?7a(4C?crrOUI(o~h z)vRv|+QHh$iZ@&GL)rbUU!;>snvz?_McLG}C|HqY>c&O3s#Db(fOMzH7EH-IB;@nLsI&GqP;zjyF{Wy%%?+ z+b}Ypt1h`<9qK3MbCNA9DnvFf%4IhvEqs;}p%C-v-@AstUscU6wI6=fALgW4yaPo< zDpx<5$Q9@Ls_%Nv@|=|0w&5LVIV=KN>tzSapOU^V!Tl_+%8qebiOEEFY=rsLv2D95 zD`viP`$_bRmN!c#+%Th<{mvE>@Km1Dssb&}$@R@-GI{gj<%`R=FW%S(>Zls zH3HB<1l!UYv7vznPERGw0B4Lq@YH~$)rxTp0>l>>wq=}ToUO9?p3&qvG{V=5xmt$+ zU{P=uq84mlu`R1RicTg)!$cjS<9_P_t%Q6H-CafBu)cSisj z67nsmQ+@zo?!Zap==NwzSh`MC#E^@N3vvr)Gq#9s&rp?g9JwBTf^&3Ht z{Q{n*r-w#Aosv`e8;rIipQUHB1?y;(_=BFw`EZbWwrAj3dWtF&ujy1ZDR=Rn8Q-eW z#~FF$n~~7EKts(mW=|G+p_QeiEsDv_lXGwwMnMa)7xO5-KAnB_ zkM!nA5~oj+zrwm?cclYHL7ta&+2wgGfcmE779=MQ(4elOOH#8Pnd`OL@R-<+mwYYU zF#JJDBwk?nNoA7^NIC?hUPkIqXFsDpsT6W9WrYv6^j(8bP6y2rqN8R7*ip0SSAa`o zk|=zjY(H+#TgnBCrI9=ns@A;*1g5~2RCJVg0`U*{j*`$+TbN3(%5$Zh=K3tVNo;3U z3HDzPO?)MABie>TIV}YvztE~@FF0>_99`A7v?>ehp1R*I7|#e$X_P7)D#?j+yzVgvU>D961Y#{F+3#gJK5d&eJ`Gk?u{xH|1_lkV@IMVU zh&ePE?db%NbHLW8S~u>RhExqi26@=TFr6}PIKwgd#!^J^pe)c0YDl^&>mrVxL`m3X zC3{_v*;y#m8o-2r5_1i`p8yoceT~<3zYIFw45!+sy=O)u}YW9_X~ z%*Y&!JWt81Ucj6L1}KSNwVKyLrb8wY|mqvZKPGRUNfE+Y|*cQ2OJB6 zZufICyC5G!7)*i9TP~?3Nk)`2h#^HlBBbvhv7;th$RIIigj^1QSArFq6@C$N@6lUI z>T|H1rBL~o*QR1Q6)og{ag=)4T48p88^2EWZR4M=01p^+lUV+L@|+XR5NDslPV|HqvUu zj>0-S<2LZ9DRuGy|oS8Ev9udjhpK z8Ai~rn1rZfl(GZUp{CAEKF<7rL~NsVlsbo~Xy5c&m_N`;^JX|G?0d+6*}g@_hxb7r zA>{d9IyyYq*VOaVF<9|}G(*HH^*j`^-~Nm!)T?nol!$TI^H*52-?c(LmG!?inG)sC zv;I@YvtFLEokvO`RsB8_{(qO|c;L|T)_*iY%=`p3*v5upWa4;0%9D{4*?Z(CdEWD^g-Osu=8CWy z70FzQ30uK{o!p*S_j&2a9@SB;D)=x)?3%7Aq+B{9 zA1D)O#ZqfpiykwR$%>_kb7=^me}N$1r0<%t zj!h*pU9%297bTCAsZ~{vALr**$;dbuQ)pF!^?WT$rt{B*bhZ4OrfD=q8&5s0^fZ9a zwy6a=VaFDzlEjkM0goeCzK-3vDT#Iqw6-8k-?e?`jHkY*J6?7yHiA>E8-w-id=lzT zo`$rHyPURV4%5e?>emj>Kd_o{tofMosRX813@6w>#4omFaH2MKJ%L6NYUgoxIMc&Uv(jGO?x$Y!NNB>K`W*DrCe5W#tj}w0WBu1zR@0Skmy6_mEeo@T=z+8@Wx!a*g7|rca6y2o zSTbcEQy)1e&oow*_PAwmS)hl zY(Tq!fe`v--7|OYW*<6_4kSjPNrv3@*$u?|j`28{3rDD18)wbzky(z()f%=}raecV z&6>JWEH6-|ZhngOcJ1%sl;Fd$W9(@IA@G2+1B{FcfI95dg^dB)`vZQ_OyF$r{swFD zgW}es+8)+;+gDwQhYR>7{pwVnlJ{Z7Vx;*o`H`~~<7DVzy|u59>bSfxgfY_V21(GS zMQGrp#v_szuxq&RF^c@)^BoO=@!+uQQyt-9)%j5odnD{Be!bDwl{;nzX7vr~&k?fl zN4G2M-aubwoO>2 z;d(^;rszhiiUc4N;cn`Q&Bj}(j09_CG0qE>5KoqLxtR+aU--AozFjdZi(;~Z#r^Dr0?my8(Wz%9q@~^B)NyoL7C_> zw44bVd5?*#Na0K{^5So;{gSLrgN{hb>~ zch|D9_Fx9}!qDjWH=kq09q*)IQ>^vjI1-1mV*@WbY z6S-Q-0lrquF<@(tgg;@|-&0DE92$LIgmfw60`oRIa=@D=$url?9t+tZ*;5)FBo%J1 zvG8MuJ?RTK2r)0Z*{bBCQ>7JrEv?HPgPE>2zdI(e?zBIJ(`F0>xkag?Cih<9344yH z7x?9v%%r?a9a&IUt&dXGP$h==H|7$j&?m- z`(wawUPg3qS>dKM%$SD5g2%(LHWXlBaGiA@>_+ao%h~IbmlsUtuDkAo_uce8lVoYl zT!yC|@nS$fz_t!gGMKd(h;>80k28uT&HapGB3~~SjbMr{L2mJYUAFW?PS@=GguPRY zE=<@gIyTqXUSr#~ZQHhO+qP}nSYyw;W7|02e~|2bb9VA{(&?l-eb=e#da77r^!15H z00oliQZ;x4Q=<$+&p|!F!sTACUR77*h?%FKRqJxGL=^~1nQ=M2r3x}Ysa!XB@(p^b zqie`%ti_e(iJ8O-L$sF=EN&4Ws2*M*ptw{G@=~72P})p=8eVb&fBM8TPZtLtl05C7 zN(HmtLTufe zDWF^;`YtzSwtVe)C<5vzKNZ~WGuxPst$jrQY~2G|{Zhwq;?yMrd!Ul7uWS~3*oj8) z6DsTnb?yZMqCvNZ8;WaY{SF|!&6d3`*kgieS5=8hZ(e4x;T$*iRIUysvXBvBHv6cB%ZCV$t$QtpWy>`vLtQ6bthoiUs<=QS9c$lqcAK^Zyx0 z|0{}hGj(#dw72{J!?28WOlPjfdl`ab~T9Ug1f2OOnXNOfN~jm< zu~gMgIe#&vNHt5NIzu82&I}T2Ry`G=HAxIl5`Bvqll&NkB& zlV+Ax35{@IO;#!#b3rnqyiN~J4xZnCx|c&noIVN+n7I(Z@ygjurFLx_*h^y?zltBlflYZMK9hw&ICf-Eas50o^<}xAs-0dZei}Nz!Bp z%sO0ObIh>s8HC_UWld9T{DCJZs#X65nWB2d1;$3oX#2)TY?B;1SB+GgB6R6*%8~w1 z^nV7=9+f8{vFG5wh7m~EvoRVp`gJg?D;1ak{QiRB6=_wX;qT1g% zgU8csuh4l-yi`I?wux5@^1wLI20T?2S~rkSJgeQ$!)^@D)3nE)tt zrIlma`Cbh@+ACVGzl1TVyV+bTcquHrhEE~AX8H_mP5N;*|+*1nx6o8URi+cZr zx~?>blJ40((Gx6hy#TyX`VM_QOq8_(*Yc@?mR^MfDVm6ZZln%-;sDMSXSE;WSJ8Uz zyHgqq_H83WhqS@rPiYek zInh2`Fz`WEz;TKJYqEt=w_}&Wk+TMhCx|VvG`>QGm9mK`td9Xj@vRA664T_AR1k*f zl=xvP%?gpmQjN@lS#OwNgVlPEm*N}nK)8Wsd(ek4h^l2JS1_M{A^H;(28m;2PCy=E z<#N?iE@xH=aD|&Y0+b&e(6Q)1%p-3UP0s;3Y5G=z4oK2;twh4zV{|-}@PFR)RuCH~ z&VrONmY={SIaNbzbL;{;md`5}z+10>Xf+Fg1ANIKQCJu&QqMCl7KZ6nxd}ExRdFX^KeK_CjLav?mb?9HO^|3GI2ef(a9@?oT)t3xN(| zOEBn#oWWex?#hG)ox#!0Nsz*@K-c_ndlLq(DqWGRnHWmXf`hY?Vgx;`!gYrcaj|%Y z&AL#!wO^MvSh0j}D#_36Ivl6@%fg}Mh*6+PYEfO_FXOFUW2%&qxNwo$b81;q-~J0% z^CDFU!w5o#Z;Om1CZ_VEyx~h^~9zOn1xd49mz2 zGjblk>OACr!39O^byO31;Y%&ew zc&D8hP>&76T{C#g@FlP#%r&l&Zo0^iF1g9GR7Xg3Mqwj$b%;|wq#&9fjwVugOE$na z)ux0E4rZhWc1;%O)_la#ILp9T08g#+)yN($?H!jK zQMo)Nf%Ru20}H7@&7{bFRLAr(bAhxv7fT-oyjA2ZZ&Ht>c_?KNgKK#C}Hj+;Px{$<&I%*N!1F=$$sGrwOTBY4 zS!ttaVa+`9!w&m&D?fkBYoO~^syBF7SgtH{X7x01pA-tVM5yY$w#vmGy}Z%9GI#OC zb3ad&|4^s+>eg5u(=wH0Nfn#-N-yO8V@a<#@eXRK1aEm`)vV9e+wxV%^-)@c7!o#c zbL`#GhAnbP|Peq$|lb&zQ={R=O>csMH|6%|kv-Ee@GYUBg~YhT-^9 zTSaA}Hm7=!h02Rd$zJO#EPLM138JmFz_lh+Zwka&z0)Mlve1bl>u)0$oJy6*HDYW4C`H70>WRKiA-2EltdFo*p^a)zE( z%V}rpH6In**5eP_->Vi{r+o%PH1nUJ)ys#1UZ`4zG z7t)s_XL6IV|I&%|_zNk;Wo${@k9{X3^HWEanl>34$*pN}!7Q2f@ixRu07?rejU|-x z(0YNE;pi<{_90jAfHR*PP0I}B48k4P*FF?gC%Q4ZNT8lNaSc_Wt6WON#PX1z9je(? z4NoWAAcdmbpb=seUVq$Dd2=0QdfT(P znkmQecq+6#zldV(#{cdn;-TF2b#D#88)_|l(6!eLJZ;Ao(aak zKWE$CU;FRM%03xZR-b>qg$IIGJfl8pJ1iDiZ-WL*5Ri6;*m5Iw_ASZR>do^b+_P8U zkb=G@NDUK2>5>sp)vZ#wJMmA?Zq69MI2dMYp|h$pp{}9tBa{f3?4(qTmUp4#Gq6K* zy{g#q7<`};qmnYYOI1fgIKTuqV^0*)vFu`~e{$^|iVr#>E@{(U{58Vz{UiP711JX(m zeq&0+K%`G&p{@Cc)C(BW*;)tT$ZXz9r4i3&iKQ z0RwkbivKPHHVOiD^}%~Y-{{c49FWuPR9Mqjxrb*!saeMX{7XS6I%av=rkB2t50%nl zWyAK5AO6GD>nXCuVk;Z>(?88JrwuFLNzTN(Km4M&NgE-H&GXarI7NIp7NINwQ``N43M>!4iDsxP1{)cz+& z%tZ45%}k#twopcmr2=`)W?0ODGeBMB<7-e|Xi%?X8vsB{|A9F1_O+`Dv!U#94p^GF z=&JtGkjE8f2rG+JSY|<85oC4fb!~(L6aG zuOO}QHuAOu#FKW4CUYKHw;T1JRG4kz9~)aLSUTy=F44{zc7yB1XLQLL?5Ka2YL`ye zd3OxR+k?hJ@e{;JK%DfLC+4lF#j2-rv?tbH+Z|{Q^uh9hCzjhJw zgS{9)Zpv>U zEU>0eYg|22ObqNS5*Y7irZ9EjJwkc+D061$Fv+nSE*n@_e z$A6fQzDB&}@nIfRdit@ls&h)$A+t0->7Wcu38tw)ry)EQmiTkAL_^JZ20U-Q} zX=d)3S{baMEF38GEMsZFZi}=IPLHmy)s8>s@xoq;lj~&4lk~ZIaF)Bij+q->pMv_S zOi3>{WDocJ89q8R7^*5dY@7yRPTJh)PGs_rH7hwS2Fksr2gfGGH%;nv!H3DN{@Hhi zuu{mcTiOD+-8K+?AJ+s21g_|=Pwo`yW8XTFe#V%03%)E--(CT|qOn%_ZHZz#Cr6nC z%&Vh8cy^_SOW#TJPXO#W+HOQw2m=Bfhkkm~?Mi6MnnlpeJIhtrC`7b7M7*_T&Qe9YFjjb@DmgePm>sQ(i^h|>aCq{A4;5__qU;6FcMQ`HAwEZM}|B5Uvf zK3pRrnNJro=FWno{mH~K)TrD$f&>a+ZFSnKo zd0PRbFZnHS?ekEsRq#i2hpV(<=a?RdkbAI;M%By)XZYD-898&n2>dS*VY?3qE;W zl{`n;Brn3@7rq;@<*f$7{J*BH`^9pvI&e>={8!j)&E#& zajFy}#J zTyY)M>unjYI9t*Ye0WwKTiyUhu(e6ys!zR#=Xl%ltex3s7^GW(AmZ%$QF<$ZctY8; zH`2z{_PsK0)gFsUgMl|Lt73^?5HM;?qVo-+xq}OuU!0BJpJ3UAx+~T^FB25ms`ddV z3hLvoT1hxUc>oy-+XX73Z0~+t*gK~$m6zB|XM`tKER0y)?^CI%_#1gznnBayY@azt zfyU2T?f|{C|7?Wyy7nYd36)b8-BnN4I1#>kc^%u6>atZ<^U2j$8m(e6piR%4 zk@8Hv*xWn43pK_fe02$vam4oU>2wV?T^WF-e*g6XhxKz`SDmP(N{}0HfGn*vtVODc60p2*4X+w>y|I38J$^ahLW0> zsvLRe`U48RlR#TKdz+vMug50E!c(QV2Q@sO!jZ}T00h~mKV@@@!_31RZ~ON>=DI9P zFxOOR$eO9$DLfiFYOm=O>zpNV{-X<*kF^zo4_Fy(x2M1IY9F7+P*Fgj ztS(vm^*t^k(_xTgM)Kq$aQ7wwCQ;O!Kkr-E&4jw$ZXcF`>vca zG1CTLJS_0|n3iEZy%oQ45Xd|J?fksFWhB5;J>cIO-S$!QZeQvGxH31ih6A@*?gB6@D>RH(v&I+G zVgJZ02SDirBIZ0%?qf3@VX%wXkD3Jk0{!mM6g5ru!PdkHpCNhg1^W(*h9+k{m54ZPXg7r|0OxLlw#SLU0ZOt{HDLAi- z$djU*sweLvPsc6_Z40EeiiR!aPcH+m3If3k#1wqb1Z3N(J%L+;L_yH7f?oSMHC9y| z(DVBKp{h7W{1>?dOgI9b)k{i+MjTv_)Mv`+tqY!gJ#9}dcPbhTHxkjr=aO6Kb=cIc zlyu|*C|v}u_jLMCgARqvf8BUXdur=7aH1>cA9pS-G;E-zQNM2Vboz4mb#&xZbr5*E zj8DXkepyp40RLggF#Tl)#N6GRDBm}n~_|N)V|twoK#3_WIdw8 z-S}hY7$14{BLiE(gQ9U~!NXl`51^Q6S{j$IDwyyE!gQI!j|JR6M*3ZeE}KP{?;tr9 za??KpibI!C_$>&zVOgOT0f4*FO@^yLSdi&;aL_FM4&E~i~j4K&%- zu09M5mJ2&r6|tQRU>>(UBx|i^*y>=|C~!_H^sHwiOVK zqj@daavXSo-eZ;r-7yjh>}<$}zQ*}aSYnJlwd-ao73xDw2ofFlbAt3NUSer-!*qFDodYiaIl@bFW2Y1l_ zC-Ni1K_T$?oo^(Wxnv2|xqB%x#iAW2uX^+PeaOtXco$XL@hJ7A@Bs8Jn5G3eD7bV_ zP&vGcexSk5fniFJ`-l+;`5g5R(vG4o7H6Tx4pRT>6;m2k5<|p*Q#5ZwR0r&xb@(uN zfIZ~$)kYjBI;!plq=po~98U&fLoCZB5j)cL@upR=s=mIyu6=YbKBgW_vJcl8_5_x$ z_zR`DX94KhkAjDH9VKLvsg#}8M&*TMmV0?M7i- z;E*6HodJ&^aR@S`P^g+GUmG+tTdeL75M|<^1{a%HFeE4LbkV}N%`F1Bsb~Zq#xfxa zBV;57EE>%6{PT(`T=L-oyw$;7RNM3c_VTvE51ot=Y>0%aprUn>LdzZG_QEQx6nXy6rT4)MM9fWph={yWX1HGGoScyYHD*`3Ywpf1xo-stJpb)|)C= zMW|-&ja_i1H|*pQWOHN)mU8&U?DM9~=Q465x$1b@#v;gr7pi^d9h^5G7=f%drdB9R ziunhSl1m4&S1@!ie*JD&SKoHceAUhqkGb^6_;KCo@DZwvY7>^Vp;qf#+4IV5t0w$5 zm|6bSX5`1zj23wcbLrB>WTr9a!Sjma{5gex(S;M>?E)>saO2vmMz466r?rcZnaWt{JYN0jjTqHyXU9!_&GIm@qF3<8>!H! z+3m2&I1QoRRlAt2dTwl?RU`Do%hlM7TJ}uezQ{cr=Q-0O;Q6ZL7l7-hDZXqHLftm` z@odbjoOOErME3e4IJ;DLN~gwdH9gJocn-e3Z63tL7Cxo7S`7vktXvZ~OMxCYaU zPD{2`RBw>D#aUpPyJ=s$wx(9q`Z4KM9J%O;NShh;>#g4iVn#zZa`c_!6OfGP^gtxX zH!~?7QG@fLSYjRK12?Ji!9kwCf0Uf#12btV%r`q}&hbt|o-h0$Cd?OaGMvya?6i{5 ze|iL)mt}p2HFQMM)fmN<=ZjwErXEwo}c;gD|gSI4iV8Nb*7XBT9{C8l| zo%0=^eDCy#AW|jl2gq_dfq*zuivRE^pW~g8oL_K>?WjEGi<$g)XmUQ`3iH94R9E;1 zO>#cLA8@28=QlV>&-u|+bhO9m8JGOKf7C940RN7cWO(uKHuH_=z-crgM0z{{ zv5AoH7YXP0J-qV?na(#wngF0QRM>560b&IBE6hI{^!4>`hVL~0V9C7miIdJZPnz`) z{K-5DDlZECDRlH@7%9z1m`|j%{>c)v&Ie5T9~O2v$pw~uu3xV7zQIy^r*mzc54QBa z;Zm@fG9u`VLZUsu(rf2ayv_%3y5Gdo8 zuu=@RLyVq*^6Z%?TV$-B(RG~Oe^=ufkJmG7UXL((LKp5ETN?gvQbM$6fJC4evzrum zP8&A--{vf$Jwpww-f1C^kz%JOKIgZHA}3lru+U>#N?FIww3j22-Q@X=BjzHWK2wP) zz+dLrxh777C-7`tF@2``xW2=sdd~+u-{G=!WDMNzAlf@s(38WfZAFR`RPHVETW;Ymp#Xg*^936bVMekp_N zwE;1fq4e4)u=>IR-FS0`Xks+9TT8%oHje9L9N*S3ro$UmhYJSOV@-_xe~TH$b~B9Z zKXKy^uW%+9x5k9s9{j>9qmY7OIaD=}TX3^5-{05R= zOB;xqMtv?XBx#xSxuwS!S(CHrKXq%{5U%NS->Jvr(x*RT3NGi{8#!OmIbWAKU)dsl zw}W_qr&0pCuw5ha3;Rf5d@iv+?u{b)2oN4)ZiMh?cH2CjHLYzM6|C&lv&So9U5}6R zpK}d15A&aTlZ*8y7BCIMqQd=&#d|Z0At|FNeuDojMuVA(H~6LJyry-xpi}qw8c-Um zte<)GHF(dZVOjoZrl8hcQS-pml=^UywCu#$PAU+<*j3tYjT)oyOr;$z+k{whx9X~_16-$k7{fg7=>gs;Ysz(3%iaYknpgA;;f&#?33KSJ%<9w|d6OQ4GTI8Q-&-)2H*D(gLQmCY?lNz+ z3Ttx(QrJ!k=szbEt|6Y7KQlTK5q!4tw}AJM2e6C0sOoFmvQ$q;?347DEIfXAyapse zjHrXp{~ea{-ji#6KCm(EPip+}>9+WQcHY=&$@h>JJ=6_&a}vOX${uISy7c<|xq#ji z^yLveu8?9Cf>BwLw~JbLd4dUk;+~TK>S$8pR@5Ee{eH-zTot&+S9uYvuDgd_kOobs zE10klbjJU#_cs*_;%IRLTELTlg-lP!26Mx;5=Q{#F~kua*)TmA`?$Y2k!o)3bTe+%w8zu0|Fvq~t=JJ;;AM!e@mNL3J2iTX)Lur)iKAQ| z@+LXq`60}rTIeNEY`uxP8W@u(fF&vA+93jV(%a+abU9n-YFU)W3JjfE8oIb+TfP`M-OtyMudsI6$+b857@3BiosVB4qv-=E2x=h7Z%a7HN{$lXcoqNr^_`a|1P(K?P*t* z6SKT(M6b5>IB?`Cq-O*zHItlzW~s~FG$An7G0Sm$E$tgvSTzp1N`B&qyKPDQ?$YJA zg*0r?F9+x;S{L$*paz=tn6-qDUw=elQwRudVKx_~3z+Ob6GIsv3s9 z1}mhPU>CFPb_`D|aRs}f&WO(WtOh}XEOG{>gE=@N>o;>#oVlaM@D;QwL)UMW?%Eta z3uM(N)RP0}Sb%1D=NkHOWXp*(f>MM2_YkO6F8oq1`4NeeV_ZZ4^_q4u!Cvw-i96! z?sRjdE?`{9=!@kCn5H7tbqB&0 z>kc6ACWo5huUKbWw;sPqS#;yILr8~%JxJC|J=((cgp6Ev6&)FJ{pXpe)M)HVmo<-I z0KAkAKTX^74d$E;1u@msEj&Z>c2Sg^4Gs;dZi8xyl5Te2_P55Hmw+o%M$J+FA9wG^ z#f{MtQzuJaLem4V7UKZ7b##TAFlgd(tdCad2AzU$m7ZL2Ha^m3EjnF}cCAuD&W#Ut z$l^|y8%IQ)ofnNEfWwDM!+gQ-fH#G%aSEGGJD_2{F3;Jd-c7 z@f(Q>Ud(PsGE0Wxqzv%SkKHG%%p(R_34Q6*- zsce2YOJj&xLfg+xL^uFyr5xsD`wE$ed5sMlhY> ztYN(YFLi%ZRCmNw!_W87VR)07H!9OZ?JOA@NOXzyNA#y?Z+Gyc%8NM3uD4tSKcX`6 zDA#w9o_tp5RO|=IU^HInOL|u)3i;`ltv8$1Kgxvo?(pIv$?Pu+E_BK|{k$_$AdVhJ zV5yUQV=T;YlK&X6{=nRr%c6`(ns3>9So|w`A=gTd87Ybe7oDq9!N!qJulgH86e@=9 z2kX{=&|OnG88qVoD+F*mKMQ)la;%id=SBZ_rSPxey%3sMFnba?;ZG{nY{vm&;obbQ#;8v69Qc~X9uAWw~NCx z-DXjFDKRG7yI_#o5PX`$xRK#QDyr5JF%bzI%XSTd>P!)Q3E3urJ`ys|O)*$MN?i3m z2{F-M=J>cD)9`->ep+|tKuVn*)I$OfJ-HL^5vkI6Z`k%%BK?OA^^kvGgeU(7fPJJ# z|A{`(_V}8BmDxm(k~0hvzwJy{54{o6eDjaXZRD9^CZ(773Hb9wk0DAL@nGWud3T>L z32a(J258EOY;jOB_<~Y;oQWpQ3;8oiLZ9$Vi#nC`X{$s5=`_^0b-?wl$kZ!iHPG*p zC*#)5#Gjk+6%*89cR^20I=}V^ujx!01h3R2p<>Krjq}c@9pF546$#kL=s@81=Y_}K zWEyqQSG(QIcI(bu*zZ=?czYp+j_P34#yxa@j8p-xpjX~~j@m%rdi!p_KpZmk5tTk& zlxazu^-dlsiS)*L5=Mr_Vg*_@d&b0LdR6(l1ob-I9Zv=%th+FZC14m%^`WRaPs~|t zC<^mz^Azm;&?!TeyNty_YJI#)2grXUgJUT7nh=`1AfL5WQ}|T%fl#VL8`@$Y_zO+YDyM7wz8+w8n_6C?(mF*`Jd?9NRl7 z%d|qLNPT3OGwnoPOiAWt4Cu(SK!la;h?AB17mUAoy{@KFp|X?G}8gOmHcacyVbVEkp#B) zjmEm9SS%1sc0ehT{n`eK{^O7LR) zW72QJOqYq}SqVZh&CJIf44DnWL_)$$LPA0e08#KIo!PeY;ad z+=*QR@^hCT*kM2U1VU;BDX~kTl!QNn5l8=~gT`@T0B6jPC2Af5QszyaJvnm#LS)>y zUOc$FW3R1$(n45x%Y4!aROwpC3l`r^m^_t4^uO-J!$d|kxu<_M7eSDN``Y`qgj;Yz z!m53R^`Tf>Tktei`5p3M`es{l08~P*S{frf_Z09=?g{ zVNSne#*8&2biXpTiZ}$jX&y4tU1e>MBnru$6@_(~2DgpZOJs3*c+Zt_sNA0%^VVSN zhw7jY`2H_Ff}_yh3S?;3mZ=ekS&><##{}ZXC))^k&W4B68;4lyLJZ8jOs6$x!nS<8 zE{ecTeey`(SA9V;xvi`m?k&xC<~#*6 z^ty{u_$uVxbM*aW^*=!Lk^UJ$Ie!k%ihsY?*SPvO5PqLg_1-CS2uD6VVM-U`8o&n~ zL7oC`F_-arl6~_J!N%Gs&GqZBA>9h4-{~&(k?PAK?iz;uO%)8JN=sQEfe};p(QO<> z_0HYXQ+V@Z^h=1{4`lmGGp57o6DV4V5p}Zf=Dy#<*@PvQKBm_ZLQjPEKz#)9xpfIT zStd)iA-xXOQ^E$wh(g0xOj@D)A5hxje?-QuQQ?e5ABN6@x z>SZl^eq`J)RLMzp&o=)-p#kBI5$H~<864wpY=)bWlx`j`tFMCK{1#HJ zRQ6mP0W5o@N|FhKT~9CT#FG2sFjLK1cAQQOg;ezFT!r-L61whjge0y%%0qOA;cZx9 z4W}C?n4QZ}jo--Gs@pk;O_jG?lY;a+w0<5Ik~;kMbsn9-6G2;n zu0%66XwQ9-R#C4l4X6`T|oX@MvCZuuO>JPN^b`OH5{LW&Fdc!9RP{$(G(vrD+5MhCjqSZ z=6e-+a)9xqO_(4IrrlRXL|N~;NwY4AtDxSKsVbEP9aNc3DJ7Z_mZXEDLh$gsmb=f( zpjg#xgq7f@?BE2Dt@Bgi`tZ^70m@!u=*AjS=lv|!Bsa)7xt%wax3R%$*otjOR#)Ih zY|a1KBG#Xg5zc3%DAl_bV+eTvhu`2Cc#lSRSK$z5a8PwW;Dzmq^A8$WXggGK8r2Z^ zUj?>nu8vqs^SBgL-7>HNlLGMv#39b*(brXX^gs1^4X(by^rKAZl7Lz^v+-+EcfEn* zIev0|xPI)jngt6&#bQOjV{%MbE#0F}a0r4_=(IxTYd0=?Ml(0@FphOL)shZpOL zvJKF*=etdn?A}JLKnSpmIcl48p(DREUAyn$KAQtz6DC04&wnk~E-hCD(wq{C&U{s9 z?{M=-9i<@FUBxikh?OMN_?inmv%YM~_nau~>8fM6T%i8S=?Fv1>?1b-14;P|^-KeS zFJzc0&$1e!3NM8u^_8f+Powe#VFg2~Qvs`}_jRIzR>Hq}&|`r9$-s&?Ws#zraD;WK#O$+prsYw}Edi`2rL# z>UYiOz=(W8jrKf{F_(1{pv=$V9(euI1-i`fgXh0$2HA=DCJ%cTCuDAZTKeWVTugEb zbLaXPU_T)c;w-n|h%e-OO65nJr27_>BNc;)z*}-Go?j0&J9cb;=Y$;+UBbLbpQr`zzHR4m)}>s*AlUG=A!D6SS}8FB zp#f22o*e;$rdZ14CIcd<-f9{SNNHLP)Ws`&ZP$a8Jnv|epRJt=6iVd57@}(%>{|`d z@DWtWlL~tl6x>1PY)Tkb{-90(7Gc9*RF3FA=08g*&jmTH0YgTV20`DpR>nstOze{j z>~Fik_+ng=ePK6~+siuHp{@J0ffs{f5iAhBI0VZ;CAKw!Lgka@K8baNyPZ^Ps=)5C zo@Hv~^1h#a8HucHO3}gEt6WL;VD>~zT^!2-uKmhX?ZYqg5ldk7zC*jWto#K{sfx@4DnVX2QYT8Z##hWkB@RbD-Lc z-DfS~I8wQ=%Rz!O%e7${YQ(mN*7hnGewYa2;gn^*`$rrb0S#B^#94)TF@6aYs*{fZ z55Oaul^T&5JY)1V=7ZVIgBM$EV`;IT>xQ*r%N7oje@WoopD64C0YIzMwZe_1Y50ng732Y07Q zt`y|ZUSUYTOMOyo0*c6*9SG`~rgQ{-gpl#D9{8~o*`Vdqmk)9nF@eYrZt424c)%Ri zH9#x|`o|d<;Ty&2GOqwj}+?BR+NzmDd62aKX!>)&J?l z!IC*=#jHqs7fh{}b}UX*4g_x(59{Qus#mR_UXdw(+Azrxj@L(67_kM?RnkL+%bn~L zm3<>(8&h^*A3&T*wh8-C5{VsFFTEkg^5edM!(Lk|^?c*#P@$VilO6t)8ix>4f})`5+~ zOsL+4T@Be~)i$CN!tpHq3OP-dWtcCT*f|z*SHj+zhm49*SU}7f>~|*o1|KhBH|^D zojW}O27~=iwpq-*ZpsG~d>(hC{&Ca`PR?QSQeA#gDPO;iXb?^lmZ@qC0?WGT1FsI{ z$zh{<#t^bkTqUeA5Edq?Z4o%f=%H4cYi(rXCL9uwyZUzovh>Zf~nL5ZFqEaPqB>TP8<_q#Y*d*UY(7=i>Hy*Y5c%a%Z#97=BVQJ zYf^GXUIpJk4S9yq5=W8#!w#aLpv=-j;tm6-)%Lbpf@W@An?j!VhcShzYkL|Y+emn@{unMP4*REI?naL(GG+Uv;=@Vp zt8iG3Jo4!09ohxr7ep@;v}`VJDIMXrfp3aI;0hFGitmaha*_YaTMBr;wTAJtGuSRP zU-BH|+NSCcu$_d5dF_U3mXfbinMp!0sL^EA`E!Q%B3oA(%0$~06wFIHGM7VujiygQ z2C-{%M~=?@!g$SL0d-v`_}^U|JU1L>8qq&xhVpT*F-dX7F}6&r;3Obwe^b!?QyE0A z43AB;h3XkbR09hS%pm^7Y{HPcozxmLb53m8Z%^@X~C zuOa+|4uT$?iZ0cXmZr|!;oI^iMYErBC7p_3+bjc@>-IJ!BAXC@Uy!l5&M2h}_JtaX zL^Nm|D2l+h(MP*;zKH}<6oP3UyC5`67n-I9;DK;7^+ECos<$(fnWB^{{Eq?Bg|!i!S47%R$MC$HH_i724X|W=auYg?p$j~c8O4-%0&~?RYsMr zL&~hw77%j%$qG%EPxMHVd%B-y9xr;86kxV7m=&(slqDOzF9-}1>T#7%T>31cQl~iG zh`OHadv6J)W&k@0XVe#afLoejZ*I(Kd*Rti$bc6gMKPIOmgBBN=S?bVew;@uq)2zWZsD-m-GK}jXyB$(rvi*y3=YiIb>G$rL z79qEUEdUQp)_N#0>U>$xa9|2rqCjkFQREhwHN;)~- z&0oL>PXXWt%OstZinJCcK(wx_G(AlpATCg#9u-wKUUU=3Rq6`H?M zIl0lG@~C76lMMt~9{+J-r7AQR*Km-p_59s*%!|;@30K8SPfQjJgo?5?XweL+Ez%ty z0?+4bGw3{AfK74mk+3p#&%wZYSx%{{o~EgVP!FCK{M($z)gd55>w%Pwh)TUSc=QEu z7*8Zm7H&lpzhK!mX@6#m$K1LkdKGdXfhXmjU%&iAQ`kNH4swul=?akCh99d(9(&aB z%I{vw*&FW$NZ??R?pIaqKclYQghtn^LM6zV1Jiu020x9e>xVk9v^Qvx`t^FQlf-5B(@fK4&)>TPP_$i8qVfZ_2>WI6G4l`jFj#9Pw$l4+)m8`?!=X zTPmv(9)Q6V?e$WQ#F5sY>)2l(D?#e**ZEz%Axa?kd>W@H=Cbk_Yx2&sL#nlW9$_>B zceF!3Ux<5qSI9IeW9h)rLCR~(7%eHMB zUAAr8wr$(CZQHi(>MlKHd)}{;OfvuBCMWmov)4KrdYPtBib$9ZPDnsX$rEK-oFXb- zFgR1BVm+HN`T#A$Ce@SQCJ~(b>||1FJx4{Hwzv&AQ`y_4BT%A6oB%*szqAqgMT z_f)%CpN@vYzjmVS_-3f@sguj1;oi2w_P2p8?vHl|zS=FLZ*JDZ85X};M(|u?xX#|Y zW2K45bgo?~Q%q$z=Quw-Yz<-|YV)U1;L?`GzllW5u&$O`E*Z@0AZCHhfFK!}&Jr{= z9gP6vzfVPPW{ns#u7ia*Zr$J)bLhwEiz5q<+N5As9^Mc?IpbC335xsgT;R2=FW1D~ zeD1Cb3~GDht9SP=MeB5Xmx3}b7&ame8I@h-)d;H4L1?b7wN)tEd!WTeYNGBuy*DTp z=P`%g(Wv-do0C-!4bGY8HrjzT(nAzGp{LdK0eUJZwR|VAZ9XkFm*Lv}6Wn0OB^dXO z@sRyxxgC$SKAy3Tcb>^oTxNeJR z=VtrAhx;+7`n`6o=8{j0W7{yR^>$3G;!UUjlCCk4H3sBs?{0gt#RAXa#?!$)c})G# zI!YUI5Y0@7TM+x#lQniAe8$k1_G{6j;5L9^k6mgFux)7hA)k?56XuWq+udUO8^Zx- z9=u|~84k6UH%Xw{m`|(P89KfkF$DUR+;&~Lb|knp3FwVoU(=!v&gewkvuUGruAcB@ zy}4ha2#K6$*e(t+?ZKJ6H&$pFyDvT53Bg`%f)(>@glw-&=0+Q~Q7B#E@5(!xQ7l?dO-%=b*SVh$LA)c4-KSb<~L`YCBRE zLq?SHF)O_QTU!YkRf$zCK3yXFYSb)G8RRB5Kr`I_2We_O8{-?ib3JcC0cESG={g)0$Nw>2f9agWB)T$F8AWoEtpYH&=R`g3^V zq8|7fnn?nzjAKf5a|0=0h*|A%6NzA=64i0Ui^0hDq=Uk6cozi|gcC%3@>O5I} z1KzD)y+i1)uc;|hWATk5JwFaI%3~D$oC$XrIk?`&QOPQxJ;d+ctv=j`tD-UU>ULII zQ*+h>L^MKAh|FbpThb6wC7=(!5yAB&t!`nf7S36mVS}Ag@T+$pjf~~GUtbAOv zt<~dLX)KC8SU<4pNRf_^57$jHCXb;R#_kZ{@wA=&Tw5i9 z{)pNoDE!47wL4^b6n6qg1C7?6v^I(Wy(6g4M(@-C<;hmxs^h*A!JrG^WXhO3u}#7E zof}Uyevz~`{UCPvg&Z>_LWU8CcZ@`l#hEO13 zwllxqezN{aW&PHEc%y8(GWnFy^>QY{u zi+86YC%I(?|9ke-wUVQi@gvMA(+Vxo%`=cd{l43Ia0~g8c2TUU-))m7XorwT zh~Qiks7*delGybu#h`9noKGJu&QsQF>`wKsXxoqI{FoV9ond!{QGjKx`4`t$_`lLk zF*XxfHOJ%ivko2oUDQ|@Q{p;*>JR4!>tDJh7xnBZp$0#|CsH6CN4V=m0`{xFFtpDU zJOZD|v4lhbp#N=jy`SSXZQXKuO6kS^sTEBWRmGycF(iKLdR*a9L`#e7+1Oj*hCet{ zC3-i_L-MAL4|fW@%#_r4)QyBB}exJ5$LyYwayVKEqlkJ62AJ{?d*EzRZ&RDWLfWxo64g z_33LAVM`7S`A7v|R3rEa-LZ)3a*fce_(a$fB%tPNwYqT-fO;;no*3`L{#cg(t7|*-*MlF@2*t%`A01pca4MewO>$gTURr~?+ z;37z8)HQ5sW})_S6{#f7 zCN@0S{y7j*Z+me)@x?22s7!_bOyDcveP{c0xEtWR60vYxd&cIgX3t~-ce?zM&*}>S zY8k_}P73X>XHMAPr$%zHG%~{2FZ+V>X0Qn(J3jXz8fB1E67h}Yov1QVUzV-72=gLq zmpGpC>6Nlpu`K_hE9JSR{CYW|ec)w#bC!&0!w&dnjSf;g;SH;kV{`UA{+#zZs3YCF zlv82E*%2_UqrAJN|AL2<@Z5DA{Jo<^bs$<#yOd;&J#04B4@_qlk4qNv^eD5(yu(R3 zpq_W-rod9=ZW!ZQ z4QjFz+bL*e&AMy1XW$~9WXN(jGBM!I*s7kw_+-Dv@F8-dDCKT=sfwBdHq}@#7Yp8H zxN{t*meTBPS3H{E+F|8dxYkpli-8xee0>3e3Qxq$tRv4#%PUix@B+c4$Wm~0TWrf6XkNZhb%3}eLhjI`WYJx*eAyy*b>!#M=gU2qd?oO9QsWR2 z9e5Bsm0~ebBVvh~GA{c&PgXR2PKNIO)yq3`NY942i$Z@05RAj_N5Lk5lzu@y$4$?@ zRBuB70ee)_r`}mY@Mpl0?Xr%tzSpfzfzr$Tj7K% ze=>Y{)={x8k{Yj2nd^En#!L0&K}&RS@l(1)(stBOq44?PSr3g@IH&b;tvMHGds31A z>q?c&EXmq`hBqMbPWt`E=-Z?2(f`^4+D3WYLz^H^!Jjp=(owJc*Re=7K1Y{S3wv#Y z+rjhfkCg~jr~z$%>kmy%pzz?@(?H57rJ zJu#=Hn`{Hj6)uWg)8akY^>z}%Ujs*Tu#0{RvR*_Y66--B33Vja?cTTa=2vgdqEZB* zw#KX4m*r5-T2Y`v9-T-^@X4FCJMu)%7Ys$V;0<24xYZz1Rgt8GW7Kve2d#MK_a}iM*h-+I9&vH({cY*H3dQO3UYpHBH#X54GK> zDq8hW^;zGHMwfi8_9SGOTXCaRY23O}wWF`VLCb|_fg4~2oSC3g@8@jzUKR;Af?FiR zx67)G4M(lcY**Dw@i>PY^^Fqs_fG#t3U|~aEpR2^$ITbcrMt&0YUI7}_@nFGvee?s z86^!W%FYocw|3DLTwvD0ltSlALLo}z9S88m8`9v7JQhfiI&>=1GlwG51-hq;crN+k z5Xf9Yy|(O9)za4pH1!0>L(J$KVz_GsFTfA$=pm_SY5gOpG;d|Ih>onm#*BDM#j1yq znNoOXN%h^G+V&^h&uO`A-Yk49$G1z|rKxJ)2Qt$KZP60GtX^B|)gseX@K0$7Y>PBC zeU%G>9z&se+V~^V7kGIpWCqN3iFTQ5UZaBql#7|AKm?BS@%GwdEB09usq`^#yeic$ zT+)5`)OY&Wh#y7eiFx_tN>mD$LXR3Z*d2kxX4Vr%HlUiY13PfDMbdt1?R1Mt=991V z<&^=ruu1H6MiyeBalEOQWf9BF8oVH4FPd4-0vQZHCi8fD{*Qmg86&(lDBLfX^9r5$ zg7u#s)c(dlm?d%sHWwqQ+o1oZr4Nv?oSl))bl{ace;~Mc63K5hxs4OPN05Q(xqNQ3C*Ue>3$%g_~x%d{ZOUPu?*o*xOkwd zd)M_b%UVQYZi(Wff#bCpr#jWFD)SmwjUZ{Yri|*n!Dn%-ddV2aUeD_Cd_pse;X!{$ z=@->o9ERZFfzCanfl{E1>iW7W|FNhJsOl1K)xNklZ(H#?Fz#BOCz|E`;+$AzSGa@c6sa$(o|T5db$TW+qg z!)ZJ}b?J^AwrN$1^b{;#vCajo+UcF33KG|n zYSq!6fa3!I{tuD5?3M?(C)TLDLI=o%pUFigZ|5UyY3o4 zr!vYEBP*tq6vSkRVLw27ym@iivP{?_IZ~(c8c2;Af*j+TV#sFqbuJcT9BAQ}o1zI@)JmYss|TZ!jD;B7__HBwLG%pkx@>651|qX7bB5R+jM3|E8Q21oDd?q zP1dEimQyEk;W>KEb!m2$ZtXvXMJ&mT@t6VL@=!(Tb=yb9fdTZ^%9T?Wx3{~m)5G`M z+l9(l!74WPLbPr5n;vsnE+4}fpViNYMkBV65_$goVlTb19NKgZOiH#RmkOSgUlgjl zz3n6ZUxaEGDmpN0a??6Oiiyi|Fv;~8l#ci-D(>5xcWaf(xURAz@Ku^$*761qxl;}; z@btPQ%9lK^yrRiN=ej~=d3#Q&a&}tnREK(W|7Y$T@6Sgk#8=LT$e##sjYn^hry>MY zxbFLSVvoptk$PH~K8d>ln7R;aFDRmrS0LxdsnC)QrG`T5WMIq6&r>RO4KBc(^0)Tt zCGO;v$W2~0-tOr8!eCu-4JV3O`J%txm~)(&Zqh2ApyrfX++mGVq+te#Mf~Pu@7dK( zXoZW4Ivc8^ehT>{uION9CQQ*0`{W3B@Fek{>f)UQc{`YuzyoH?&0`oAD1F8VVn38{ z(E16(m@xByUq|6xHh;288%06!gqWkNwNCxINV}73Lo6m@;VQ6~U?;5&?zfbiT58my z(#roh6NxQVP8Ijw?@Qbzhg;|nA_Mbxe%6T&m3UIs)|i_y4~h+4j!|LP)}yT?L}Ejz zUOA33NKBztvq>N;Px&SZ(O)^lzyX>g{D-uVI9z;Hm_7$e{dwNX@;G%MAB!F znE5PW)d@xjgfh22d$%nS;KA=33+Labwzl{i=^%?P+JcKaP1I7#1Y7t|?ZQ`#ESAvmYcA>4}pN%3PpX~Lk=;W0+f!h z3Kp>L!`{mNp8NPLJe2||_H|eUq^#|2QpVXYL-#_gYhn(g-RM(w4{o3ovU(dfjgTV8 zQT&4_c#5(Dv8eb8#a@qJ@?rxzP3zWvr)5@k1frftmt$;_anp=iCy| zLY44uMXaoLT{o(k1?0)M}3fAd7RzrI+rnuxJ1Pt=aZYS_YkkXUhk!+P$YJkkg^aD5O zQ)39(_xt*NtfuAc;5xoFfTnx>(gT=_-_QHu`<@o@*<>v4l&=W|%JhnjcUL05L_;6e z40o0K9=Zp%?m%MkQdib6!@MO`ac`c$%DvL2(jXdpdNkUNh;Xr4QvRm{0_IVnNS3Ca^?C1Y+u1)WMe7i0s52l9um7ZvK> z5(SzVyQ+Mbep9nuFST}7pt~w zcnQhx$SUw_=QrJ!RNNF*T#~_9#u%SVS@G5&4%In`g`YhZ%5{ZuxcQ? zuP;b5BjEGkBSJfh1oZ9S@43T6Utd4r$5d$)X`De`zpuBi^9SJRee8WSRjB^qS@@z) zHEB~vY>seNdGsHzW2kB_wdLzDS^<5hy4@<>XgJ<-kX}yQ?Vm*+G5Y-bWTlVS6peQj z82tJg-)zt^JX_UQa0u#PeTUcJ)d$j#fb(DWnzY(pBwL%PcHRt7rxFd*Iej2qQFobWQ)d><) zMUm}Ol!K)XmcT^W*&5=Vl=(G*7 z(1wA_*kknz$NN^B#o)HImb%c(Ub52?%6L>mOc|LVo1i7!{?+j4lP91oe}%*0O?*(Y z&Ig-iWeun+ap@(F>_w4}=n<=j4jnqL3TmqS|J}m6UTr28a%rOkzr5bF^k@jVO>-CQ z$xxIsHxur-Ik~}Obk68nJzqA1GZ*bYNqIU3dtTL2vZRavMgL z65}y|$h3TC6F?I4ycqlC>HV`-VKGjLZT$q5)&S%G0B*M(pKThCQ;R$pDI&AxcJYg=FpU!?rog^#_XEikUZ?m*B# zb^<|@{Bu+{l30g6)pCJLbSkd}4Yk++vY24&fmqFkSp)?XW%qXAcTQd_ML+Uj;2>UH zm$IBUSG=x@!sa7csym|xfDV~JF8R{ZG<;T+EHCiVThk_NuV?#+k>VF!z@3eIOZyL6 z95~jw0Bfp~b7z!o+0&6ooxP2v7FxNP?5#te+hMAtG~BoSP6npoqeL4_7mcRlwIF&l zcg6Q+qzAGgkI|Q$SZ6XL$5np+747{hq`6grF5v(Y0m`F5mQ~UV4K>dS{YD+w5XN1T zJEmP!6km8ubskH<3ac3Y<)(BD-XQhxjQlfmMAh#AzoP2RDfkOyVO%N>lalP?a(Gk% zui&2swhfFYZgF0;##!7`{ujnL@>2>%A}d{|N#YIiIa;FJa{1xj(Ok5&?3qoyglQ{wuBqnKH0pZ$U}mj{U|`mO`krOq4o`xRKI&TAF4O3K5f zEUs`HWa`#Ul8oRIn1prNaY=TwHwh*KVst#CGz7idAW2Dy^H)@@P@WJG@dNlK@DZoo z5x@%0se{0s#5Mm`W3e37@2hQMIJ2wx@pyE_q7-{dU0mO^tjM6n?xn4KPq zmbs5?gQU05h&7=K#M~$Y3@6y>jSv4a&&AJ9+w>5EjPiL3crr`Ol{km66Bln9{yUvSq<{PX8xAJe&6?{S zjLjKzx;(Zv+n*yox|X$2%wd?u0rYB|4xZ(!FDNe5h_oH{b<9xtnCUd$&P1AX+c_5o z#IFhAk^1JhuY}10N$j$zYic77#E}z_NgK%VSB$&Lr%7f3>^N+Y+z^HSf+NyH27n90S%KokJRWzBmCkviYtu%xpiy&;m?C)(`8B>b`MC$h6YsD@kW;>tFD}uCB8V zMaiDSb>iAVwkp`2_}EWR8RF@&ntZoc4BI!0K936m1V7i;`LSVD4@Ua5Hw6_d{gm2o zeGxtffW?*KDl_;WaqoIoE?T6+dNBLYU8r2^aEk-Jfcwj*)3-0xsP4^mg_EVG!SH{6 z!HJ21IH|>DEfyR#7eqlg*C%+hBWzrcUD5Z@wlk)~N_bEIRel*0OlQZT(ox+5NFYDP zgay_{4pHqchhyXYNrV)lOKbxHk8lee-EcZcT=f4~q~+7jvknDZ*Z!Q!U4eJsRi%T* ztGk4=UgQLLzB~o8Fgm}p=CMG{9iOj;aM7)4KQSdm<>V+`wdf0yN}En~Est*CUN3@f z0QH?RMtjt&A?zPh1(@H+i+!^wcC$9xVs&S_gy9^BjcXxa5SVOd^|2}N7pEGRu9G-K zY{7$0-bh3B^pC$g`K6Ns00KlSgkN_t^Vn}wMVnS`5OUet$-Sm{`aG2bHk-KlU+nGxgsAul*= z0^EVFscaeJNYWxqt+-{!S=7is2jOX8=mMd>r0wk{vrqipWH#(7rN)u2h;V#h@!xEW zmT>gapuqr{_V3EZ)QFqE0S0=hlH+^oF1g3ifU~IHHy8#>1 z6?dqcLIfsj)XhzZMkcNTxvlyxW{%*xsjA5-9*{Rj?Igb^TM_;CFK(c^x`483X*wRb zyS|>bVz|exS_6|^R>{LhAFBni${It`ar1%Opmsv8?VQ4SQhiDIL_rW+4TaI^k0-`F zscL=1{giKpbDnG9PK?{IPxaxV(w`~GVfpD!9Ff|IoQl5xBC=n-h6dN>H9+MCENJTR z>G3>D+*IIIqc(Ea+ginE{1FShW9jEd}m(2@06Es0fbyag4Rk}hny-9=(# zt024#voynD0MY2)X!U7RsgxX#u<+Aze6q`r4Xor&5vX;i3x@w3XklSJE;npOKCch2 zq<(KNQHNUNS#3@4_^xCFGxERCO=W7H}h~ z`z*(a_{d}k|A1=-LaOd}76bi%Yrx&8oeL{q-Nb{}%!(=qJ4|XNhdG`?aMnHGSX|!* zf<6%JrIr+&v$XOHgI4T8yWWl^LKXQ}+VM+jZ={3gLRPyQ=X%sUi#KuQfNJ01ONEYF-L{~JZlT)vfOW`VJK9*xE8oq{C zq43d>h1V}i0sS$_%uO_nx39ev=uPF@MnoOEZT=%N=Jx_B3~!NA^Q(EOP6pkMO+(8} z{?}XoLr7T+AKr0?8`Z^)*`e?=oK0tnBvm-XP6j#;e zOhFA%V{4`b-qcWv;-{7GDy0}kQw>zY!O$=(- z$+(PrFlHm&s%mL*jDhqM&>s@?y&Xk>pEEf_cr zQ!ekQ<>DKZndUiGU2~u4RrZ5)(8mf;c9k3xt?_@fv1+#L#LeHfrq(A=E$A)p%`ikCar=Hx13JSA#%$XG zRh&4~P4&em4yU3J7kPnH$#1K6Qwldq14e`BsSFB9HR$Hs3eg9) zC;aIIW75Y#874k=p2=X63pxb;uh*5|_gutZVcdcE8$LXOeVN5k5GkaaqNKn390@;C z>GLpwRJ9!BeIONqf`+A0FL{jFAKE)pHvz$jHVX|y>5&bgrR)LRZ&1{==|Kv>Cg1I7 zau_72<$*dekrSXTKu%(IL0}^d!R_P&cefFUV*arjh9h-4%0!hyUAh<|OD{Xzw^Txg zG;(6s7e>BgkIOirPpYdxNyVwAM#$^Rn!V>cG~Jb-l*%M&UwcY;x;y6Y*W0hM35xT2 zJikw}b7nm%qnU654{H>gr?XwP&AQrO#7t{dCKM4YNuDdMvMx^7to+4gJ zo`?{D!MRw@Qa}|I{p6EXFjd+r+#o>2Ksk~OGavt)3BzF%Y8E{*dML~ZUCl9Hk z`QjnpDVZSvL0N;2)JG=)542xCMs>fcgww(n7uD4xL#@S z_Q`khhZ)m=zUB5o7NjoJ)@yp!gdRiGW&C#h_RQ!pHvV^PPn{@*I+*Rgxb%0^neY?E zKz5FC?5l)!FuP3^^nz1+iz|O;<-eIN7&SV$WSs9L$B|YkK{OVIHixlBZH@8=9OUK7 z|FExgYJ`jUL1_qTF>6yNQ|%HE9cV08Rv9_149ZhoZrH!|>s0T}JJ5=bOH{xJ-BTJx zr^|HjWyqYe0TcfW?$PyD%uBrQZLRN3Jwax1fsgHWw6rw5%3NU#iSZ{!ZFzVGn7E8Q z{rVSxo`kA8@CqUZ_QV@OsH*N<5p1iNT>jNZSABvN5+e7HAG|ydTuE4pkSJI!qzJ`9 zFQDjo!S9q^Ryu&$6>4s$)7xT3=#aBRQprjs0-N)t{$K)dHPlyn*9hY~lK%t$76{Ro zn`U4(;|{%_HF;Ph8X`GGFhTFya^oxZH&i!kRlyF3pDe_gkP4^F@lqn{J`sK*-2lIQ+a{>y5Pm|cE#+7eeaUN&)0l0#w{;6#Kj1uV#&4iI1iuRU!iFlZ%a~o$KIglF8t3f~mrN-bo)?$9PT^rsvw=S^h6FC{quHidCI8T=8F!7?-;nNd zVbLOBp~Bu>oHtr!1VR|ceh+)K7hFGCSI^*4cr}whRCy-n)SVlIsB~LcRTDB}?AF+? zHasPLT@bQHba7Oqb`S#}RXiy3zK$MePl`6!#j zM2JI$a099Srh|!E^dyVUy$sKAHxZq?wXy7i!dk&W!3?SPFkKzjTi=U2ovW1(!kw1R zL0dZ?66GU^A6!eR%vq)}^9#bl`>x|NKNJeXFf)(y2j3KDi2WTJ?xG}fNj`QGxkxWS z#S0C!gz)psmeT3truIhO_Qt}@i5_6*u|B@q64n(KYe%cH6IC?Evhu_Nc6K7|O_A6nn5rS~Ln-iC4!|{)xp{h8TycN-KZP zO>KXbU2$;L;ie~KTVs({(#%gK4av>+K^WjWUigenp zsWl}D3jeTG0dHnX%LD<1d177IYMfj;wJJ3K#F#s#uVqIKX?b5ibU_ zUkn$b=JndE%L@dv?zG9Udu6aAb@DC2yoGQK1svD5ERLs1Vr3NL>yUhL1yfE~VN78` zZ!7MH%3uHA*kuJFmX~q;E?FF7OZC51P*lE4(UVXXx9~J9B~HoA!Xl z0xVSdch;G?sed1o%UwJ7ZP%aA1*iJ2j3tS}&D_F%`R|PAsRy$_@AT@5EIRiD)_g8F zN=6VbI2Z@|=LLAZT{?e1PrfM~1a4~#J`O4mZiW=DawJCje)@hm^1$q?;xTfKOc7u63NXy~bPo^u)aWUd74!{J=qIFeQ&Y(=KTv0xXE^fY)jjU{3?nzrQ z{my~^_Jxj8y^;uTiP7yA$2x1Z?p?g5RC+)`HG>%euqq_S{IIUc-?qUU3;F|H>0r2e@>tR4yWcUIK$mbxdMhL}p&ZBfSSBC&=%^tip%O#5r_nX;_zY*hzYt z97p;|x36g~J6TV;aEO+%(uueR^t(9*HExMd!S*j;+61%^kI3z)J4iK$WY9c2?6n>i zhrM7uRByhM^BVnK(~BH5B{Ax7f}bxjmi#tUK_0XC?@`uIe1yEHImr3DL5@;m@!UM+ z*WyUBAI<>}%WFA3nFF| z5B5W7nnWud^dfaV7FviF%4YDQ5oR|5*1`KAVB+R+q8T-c>ojzNcw-H?Gj^vRtYjmH!ZF1!?x%lr@2yK!qYh z*Uu~Lgg*2u5M}Bm!?W}P7mfF?;1*=nX-H|U!kyJ{683@|{EyzcD6^+qUxV_XgAjD8(oA-d zXWHrD7yFdlR`j?38O#Hx@V!)%I_L_a^L!terB}jZM9gI&K{$*DG84*Xf3Fc4UjTs= zm}pR1=W|e}MYz(l~7L%<;qltyFELh#CRp4f2g5`ngA zs2AQK(PQzYhYxbAJt@vwO0BJw+=~jS7hq*&8-I-K`ARPymIGO*i>F(%l(q6658ZLjW#?1h z&sZ>FaZG(TVwjE}9up%H2ab7t$i9hvL!vTR&)fFNJ)AMxJv}{86g($6c?7ZQq(^g) zaRoibR-LZevNJzKNKX?0z}wut_o2m6^PKs!iAJkVL}Wn_!VH6nvrpIF#rWFgL9J}g(VtLTzn2Mk63EWoA!gP0a3~wm>k<( z?0p^cz8e7rk(T?rJLd^Wmgdix1Tb7kOX0=r@QcfVut2Q0>KflAjK{V3D8-qCk)9Z4 zor_|u;1qrFDv^+%Z#$~tDf(bYQ+}If?G=j!(gX`0k<|I0hN*n)*y4939+EZ}XE+1V z3gs6>RYG0QHCF98n+%C}NILyH#M=_!Qu%ZQJm3+k6sxW+eRo{c4b<rPzPn$N|5Spj44_|H};8(!^iu@Y`yFnjd=>X0+7;SAlab+d)#fUat#Ua!M zpkGoOaQ80~O`uGWHwU~Qp%{oljOzs>IJ?{nei#Fgx1BRuTBf(eD zd1^DX+PX5n%BYXNAsM6mI7?@~wbTvH+NB+hypR|5*k|lVE^kFF&~nf%gme)$6ZcG0 z1QVzCnn3*_F1qW>QqMT8gsgk7nlGi}1HF9vKfJ8+SHy6vF?a4=l6`3V1pL1NJNGji z3knSSga)~Np8Y&+I-Tbw>vm(&d6Ylf6{Iz!`3lgMbY-QruboVrA2H8Wc~ z6f2}iA*sDsFh(G1D&!_H;7qV4LVTcxJ!7+MnQhmd7MaJ?;AOtFCSsv(t;M1;kPz`! zV07YD;mB6-1?w3YyU2{S%F2QS0Y=CxwAO;{;3{vc8*}BFa5aC+ryu|PX&L%&BOAuH zG3H~>vFv5u#mp<8Kn&*98(tQFzNJ8HxqU}!DGfqmY4qqExkrJzz_;>4Mnh=z*iiHe zX!cz|$xlAx1Er03O(jYcbK(N)yC@r4(u6bASP=kK6Bc|Xj%5(_u%}89L~#pq7dr=kYG0AWaGh?S+mUQ1O3dgJ9R44gE#Xuc-eoVDDP#) zuad!0Rt=YT1Np)eT|~NmDITf~KZJ2CE%q{>gHi`6O(P~3LKEQ4^ua9QUqi`*ItRBB zt`_@t>r*gAhLMV)sG|L>Z{HIEi^wVj5hL1VwSJi#_YkW34Zn%tYKpWit2cdX9_~FX@?N#!bw?REa+V<*+GGm1)pn7q~SnNz;1*X!M4ANI)84uST#g zDZ77Ub9vteMzvWBmI^CiRBhJk=z~9(c!h$Y0-rUw(HdaDk;{h@>5}&nVLQeyWco|^ zzq#>#SuSCaNI*cHfEq^G0@u;bn05IvJ-dT%^Su={(A>@(dG?UzAcFRItn;PR#xiT*pzONO42 zUi2g&X@CdG=M zC8GxeAC%8X>81I!|Ba(E%=Vsw+cWUUb~GlORjnd1tw7b4M#9Wt_vMn4drh%hN89Q> zB?*IenQ7E@YOnuq^Xi)uB z$6Fm-_iYm1YRIa^ZXUvLTe%CPdqq{3OcZYtPu3!rSTqqjZiD5|@cmBIY-@nypsqO^ z0Ky+?7YlcZFSlXP$iGXWTd)9EjGV|0y%ZF!TB1YYG1SS6K|VJHHI1QXe1+yQX!hG{ zE=HL&Vjje$>zvr0Y)r>AucAs7gQaaaMRwzt&AqTBA!?;bwngaPGAkrzf-G#yUyMGq zy5)u22+ zpheQqlhf2eZ`O$iiX9xkwrqeEGA`#-w1(_@tZ8#hPa1^am&D zZqvqO(n+80)RWuz4std-epZ`%>omb`i~&QgDT$8M-s$8hk&GD^9xnJy!@thKczJ!5wERY|H(Fi^_!CU(?`Dbg+#64A zE-u!X7gCl}b7dWyH^G#(`$QXB&{v-M=!ct@-xd4ADTb{R%c=001uR$zz`9jl}QDLdJL_*<$FPwY;h0W&k-f;h8gN@rj{;z+>1Anh0C@P;!$^gXwgjB%^x8SJL3xT z5UW5skYC7M_rPkt9`_Go2gPZZ+~ReVS^I+Ki!?%LoxZ2>!?EwoRN4ymer(oBnp*F6 zy=Y&Dk?hgl!DE$4r`O)3l8(@|hJYD#yx9Paa;Blw@2AVHDGite;lyvSi)?fnaB6>4 zF~)ePy=r+LF@O=Q=gc$^oefnnk*=S7-rqf-kg6UWLCXF&8V@fT3!CeSo8@5Ys1 zURqef+c62SB49~I1q&L1a6-N<_NHl!noa$4c+p`4H{G{vr6LiH@|>A6Y`B zm(crD7GRz}P;oCxIm$OEap;8D88NIzA9kcs-x>o&K?q)WEYS_)ko!T8o^`=oIL$Iq zJ~2ei4JJZMi$scN`nm{GML`Ry_`5c}+bq4Ay1R&Dfb1ME%nn3T6ppEF?shG8$e2h9 zyD3;J>R&@)oxVW7r01r#6k_dFB~qc~{#sI8I5=2hxg>dMD~oJvYpV|>66W(H9APi4oP;!)`&lLEaCe$} zEly-&ZR;AO6M_&j{C&vKdZsV{y|W}b|8OIYl;D#S(S3sG$a+`c;zrhJG-PyvFpsGz zxNTHG4`93|6b~H;0&KzQNKpi?1XmK15=-CW+K%drwQ=U=#w2si)p>BuJNN+k7YAnA z39m$m4=*h~qU-9xAh-ah>a~J7Pck0z&}x4{*c%LDIl;ad837A^88=%WwTJq>vkl}= z--z_N<Zq)+|TKaj?vQD&af=%s}L(>KzsdL1(l`+nCsK0y?nr>Qx(QBT#%xUUa(7+2~}N zKUwkT$L68pI@2STN~ff)wP|eh1v2ml-qmYVH(C%~OQCHzi*i_;^V2@5pL0Sm^>JxT z9J6lp&$nWITRs8@ZDYsPwO2Lm)Q}|03Pd(RO(QUYW-#-vV1Ox(ND&ywvMS^Vu^{ES5kiW^(vfC`2OO; zkY84SB|1VMzy-658aI&OUsK369up$z{4eg^XYALH>?GnEifQoxd4)g7J8fx(X7)r1 z$$)w?_}}yc+9EZOCF<)6(-uf;+&2%VG`@z$yM!2S-JqqMi+^bAGKL8|(a0e@;)kFW z0V5Q^#SwFsHs(RjQVrT=1eZn0t#uNFfuVvNOYs2fLT+jer*VBdr`@IL}$MOHY7!C)7Ep*Glce zzN?kT)i`=6DI$eRh?gpma(ua|z62xvose9Dr;kYV`UkZ3RfR=3$WWRISz}0vP-D3S zSs?pFD4Y!Pee>h zOB5woizXK%K1_QXd!L~3OJx*SoK~cm-w&hq+d1prQ;InvD})W@zwVK!@v$~9_xOOc zn7Vn}xpUchX}Mm04L9Jp8ddr)>vncY`&>uZ4s>#~7~CQ9_O&(Ip{gEWejASN_Em-I z#_(Q1S41hcK1lS3sIaCDE=HMkUrW|hKi;|{dG|oXUg}gZ#Qs9*>fmETY$hviu&~Vk zy3r%zLpiexl3ruaio})N@(WvO;*O%(S*5_9cz>aKmkgu5M}2~=@wS~cjeBczdJl{R zE@c(DzI^borzzOx=)pO+8%S2A^-sv_MRY=JR|vi5$wfI?RCH})STyAS5i=L+|_DCU_U{d9S>}m^T@qZu^=N1!^ z%gm2yU7@R#^h*+sU1^uFmon;pC8u0xs&ti27P_Y!_ouoat*~9MXw?i7?;A5!r z_Ys+gJQL|&nv%6osI=rTG-rA^M{>!b?=d0Ks z;mdEw?_fcZESYY;d{XD`+~B;R_u8$3*#gN~^U%NZqgZJGWlTX3t=QO# zESl5hdfM=2vZ3bcz@yQAEA#PwwW}UFI%y88U&qH+-^C7n>Gj%6Q-e2HQQ~lStCR3W zT_r24FCEoYC92vc+}m#dsV(bt5*@8{lz*>|*e7+&R5RkavH_tX^wiwv9yIFd9V$|1 zR+=2cHqYYI7@Ksx0joS!7S2xBCn7#Yc*iB(OKEysoh}#I%gNKOa;rPxMd%DU#h~;< zg*%(o{X8$Uo)4x{vuUC8J-h8F`lMBsvRH_c&iVlLaA+Jw2JEtTDezWhh`GRICY@gQ zRVIsuHq(`Arl9^6W)=xb&<{wq7c#eau?jrp>}~+!L;q8yDqUQn`=v3taVeV4`BLf#pQj#l|UJ zdQ7Y7;zJKDzYe-pKqG$N+bn!ieG)RVfU`U0RXFF&Z~g<5=~WSt1BxY2t?1Ao_1jdT z^Oqa``TQo3XsC5l%OeYYdKAX1S3aKZ3MMoHpe2(?9{WwMQ?#k)^$>_&O-nxyk9 ziDoVdp(Vf6C(V|Ivu;RNd}QGSWR=8ml(;XN&tctn>I1CfbS^Cj;$Lg@Bc>nv_EJ*dl0FS7FsZe8Fo;-?z&AU;wCvM)ryY4b3>v3ApbEENzCSjPI-KLBiz=&1 zPOF)WH}CUHDz{gNP3TxLlW`1=RWFT+M@h2CNmTP{OpimW46ADA4a9@=S5kg;JWq+y zlGtBu*@oaFH#VlO= zR}HSVcs`(SA;T?lRB0LZnfctx zBQvgCu`X_>v6wRiC3m!kO8}OjL=GazUAZVR~@=eK@9RPrY0074p z-mo?RoG{WyAoUS{<)U?a^FGAljnQ6IGcV9Q9&P|^JGf!qM!1E#01)8o?m|E-x}0^v zU|n3X=)Xd@z;C#+1ShBODXJ}j zY?mSiIS;yEA^}ocLAe53Ovw6u6WJ9kQBQw-0M7j%u=#}Lf(t-D5C;H&Zws5pZW9}a zCty5+{sGq`n;f2Z2>>R+!N0|4X75d0QIAh5^)#^BjvL_IUpkMx~I`=7z!aX+h;a`P=FP!N2(z!KozLS=(& zq7u=re=BuksbWao+B);c0+2`U6xj^j+(;8#T7JUZt(&Wx$xNjGLEhME{eNf{R))7c P;Nc9e2sW1(FT=k92Mq&N diff --git a/Fixum-0.4.alfredworkflow b/Fixum-0.4.alfredworkflow new file mode 100644 index 0000000000000000000000000000000000000000..228fabd832264d1d9b1b592af78608cfc82da8d2 GIT binary patch literal 107269 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 R5}-kEN$BJ?&-`8t{{txl7LNb` literal 0 HcmV?d00001 diff --git a/src/info.plist b/src/info.plist index ffafe7c..3d3f07a 100644 --- a/src/info.plist +++ b/src/info.plist @@ -48,29 +48,52 @@ config - lastpathcomponent - - onlyshowifquerypopulated - - removeextension + concurrently - text - {query} - title - Fixum + escaping + 102 + script + mode=$1 +datadir="$alfred_workflow_data" +cachedir="$alfred_workflow_cache" +blacklist="${datadir}/blacklist.txt" +logfile="${cachedir}/net.deanishe.alfred.fixum.log" + +# create data & cache directories, logfile and blacklist +test -d "$cachedir" || mkdir -p "$cachedir" +test -f "$logfile" || touch "$logfile" + +test -d "$datadir" || mkdir -p "$datadir" +test -f "$blacklist" || cp blacklist.default.txt "$blacklist" + +# script actions +[[ "$mode" = dryrun ]] && /usr/bin/python fixum.py --nothing +[[ "$mode" = fix ]] && /usr/bin/python fixum.py +[[ "$mode" = blacklist ]] && open "$blacklist" +[[ "$mode" = log ]] && open -a Console "$logfile" + +exit 0 + scriptargtype + 1 + scriptfile + + type + 5 type - alfred.workflow.output.notification + alfred.workflow.action.script uid - 90302262-60E4-4C1C-AAEA-2A5C3F4C025A + 97033D94-9B6F-446C-94E5-AB677B5ABB4F version - 1 + 2 config alfredfiltersresults + argumenttrimmode + 0 argumenttype 1 escaping @@ -112,44 +135,23 @@ config - concurrently + lastpathcomponent - escaping - 102 - script - mode=$1 -datadir="$alfred_workflow_data" -cachedir="$alfred_workflow_cache" -blacklist="${datadir}/blacklist.txt" -logfile="${cachedir}/net.deanishe.alfred.fixum.log" - -# create data & cache directories, logfile and blacklist -test -d "$cachedir" || mkdir -p "$cachedir" -test -f "$logfile" || touch "$logfile" - -test -d "$datadir" || mkdir -p "$datadir" -test -f "$blacklist" || cp blacklist.default.txt "$blacklist" - -# script actions -[[ "$mode" = dryrun ]] && /usr/bin/python fixum.py --nothing -[[ "$mode" = fix ]] && /usr/bin/python fixum.py -[[ "$mode" = blacklist ]] && open "$blacklist" -[[ "$mode" = log ]] && open -a Console "$logfile" - -exit 0 - scriptargtype - 1 - scriptfile - - type - 5 + onlyshowifquerypopulated + + removeextension + + text + {query} + title + Fixum type - alfred.workflow.action.script + alfred.workflow.output.notification uid - 97033D94-9B6F-446C-94E5-AB677B5ABB4F + 90302262-60E4-4C1C-AAEA-2A5C3F4C025A version - 2 + 1 readme @@ -181,7 +183,7 @@ It is primarily a workaround to fix bugs that are preventing the workflows from version - 0.3 + 0.4 webaddress diff --git a/src/workflow/.alfredversionchecked b/src/workflow/.alfredversionchecked new file mode 100644 index 0000000..e69de29 diff --git a/src/workflow/__init__.py b/src/workflow/__init__.py index 3069e51..2c4f8c0 100644 --- a/src/workflow/__init__.py +++ b/src/workflow/__init__.py @@ -64,7 +64,7 @@ __version__ = open(os.path.join(os.path.dirname(__file__), 'version')).read() __author__ = 'Dean Jackson' __licence__ = 'MIT' -__copyright__ = 'Copyright 2014 Dean Jackson' +__copyright__ = 'Copyright 2014-2017 Dean Jackson' __all__ = [ 'Variables', diff --git a/src/workflow/background.py b/src/workflow/background.py index 7bda3f5..a382000 100644 --- a/src/workflow/background.py +++ b/src/workflow/background.py @@ -8,7 +8,14 @@ # Created on 2014-04-06 # -"""Run background tasks.""" +""" +This module provides an API to run commands in background processes. +Combine with the :ref:`caching API ` to work from cached data +while you fetch fresh data in the background. + +See :ref:`the User Manual ` for more information +and examples. +""" from __future__ import print_function, unicode_literals @@ -31,6 +38,10 @@ def wf(): return _wf +def _log(): + return wf().logger + + def _arg_cache(name): """Return path to pickle cache file for arguments. @@ -40,7 +51,7 @@ def _arg_cache(name): :rtype: ``unicode`` filepath """ - return wf().cachefile('{0}.argcache'.format(name)) + return wf().cachefile(name + '.argcache') def _pid_file(name): @@ -52,7 +63,7 @@ def _pid_file(name): :rtype: ``unicode`` filepath """ - return wf().cachefile('{0}.pid'.format(name)) + return wf().cachefile(name + '.pid') def _process_exists(pid): @@ -72,12 +83,12 @@ def _process_exists(pid): def is_running(name): - """Test whether task is running under ``name``. + """Test whether task ``name`` is currently running. :param name: name of task - :type name: ``unicode`` + :type name: unicode :returns: ``True`` if task with name ``name`` is running, else ``False`` - :rtype: ``Boolean`` + :rtype: bool """ pidfile = _pid_file(name) @@ -114,8 +125,7 @@ def _fork_and_exit_parent(errmsg): if pid > 0: os._exit(0) except OSError as err: - wf().logger.critical('%s: (%d) %s', errmsg, err.errno, - err.strerror) + _log().critical('%s: (%d) %s', errmsg, err.errno, err.strerror) raise err # Do first fork. @@ -145,11 +155,11 @@ def run_in_background(name, args, **kwargs): r"""Cache arguments then call this script again via :func:`subprocess.call`. :param name: name of task - :type name: ``unicode`` + :type name: unicode :param args: arguments passed as first argument to :func:`subprocess.call` :param \**kwargs: keyword arguments to :func:`subprocess.call` :returns: exit code of sub-process - :rtype: ``int`` + :rtype: int When you call this function, it caches its arguments and then calls ``background.py`` in a subprocess. The Python subprocess will load the @@ -167,7 +177,7 @@ def run_in_background(name, args, **kwargs): """ if is_running(name): - wf().logger.info('Task `{0}` is already running'.format(name)) + _log().info('[%s] job already running', name) return argcache = _arg_cache(name) @@ -175,16 +185,16 @@ def run_in_background(name, args, **kwargs): # Cache arguments with open(argcache, 'wb') as file_obj: pickle.dump({'args': args, 'kwargs': kwargs}, file_obj) - wf().logger.debug('Command arguments cached to `{0}`'.format(argcache)) + _log().debug('[%s] command cached: %s', name, argcache) # Call this script cmd = ['/usr/bin/python', __file__, name] - wf().logger.debug('Calling {0!r} ...'.format(cmd)) + _log().debug('[%s] passing job to background runner: %r', name, cmd) retcode = subprocess.call(cmd) if retcode: # pragma: no cover - wf().logger.error('Failed to call task in background') + _log().error('[%s] background runner failed with %d', retcode) else: - wf().logger.debug('Executing task `{0}` in background...'.format(name)) + _log().debug('[%s] background job started', name) return retcode @@ -195,10 +205,11 @@ def main(wf): # pragma: no cover :meth:`subprocess.call` with cached arguments. """ + log = wf.logger name = wf.args[0] argcache = _arg_cache(name) if not os.path.exists(argcache): - wf.logger.critical('No arg cache found : {0!r}'.format(argcache)) + log.critical('[%s] command cache not found: %r', name, argcache) return 1 # Load cached arguments @@ -219,23 +230,21 @@ def main(wf): # pragma: no cover # Write PID to file with open(pidfile, 'wb') as file_obj: - file_obj.write('{0}'.format(os.getpid())) + file_obj.write(str(os.getpid())) # Run the command try: - wf.logger.debug('Task `{0}` running'.format(name)) - wf.logger.debug('cmd : {0!r}'.format(args)) + log.debug('[%s] running command: %r', name, args) retcode = subprocess.call(args, **kwargs) if retcode: - wf.logger.error('Command failed with [{0}] : {1!r}'.format( - retcode, args)) + log.error('[%s] command failed with status %d', name, retcode) finally: if os.path.exists(pidfile): os.unlink(pidfile) - wf.logger.debug('Task `{0}` finished'.format(name)) + log.debug('[%s] job complete', name) if __name__ == '__main__': # pragma: no cover diff --git a/src/workflow/notify.py b/src/workflow/notify.py index 3ed1e5e..4542c78 100644 --- a/src/workflow/notify.py +++ b/src/workflow/notify.py @@ -11,7 +11,7 @@ # TODO: Exclude this module from test and code coverage in py2.6 """ -Post notifications via the OS X Notification Center. This feature +Post notifications via the macOS Notification Center. This feature is only available on Mountain Lion (10.8) and later. It will silently fail on older systems. @@ -60,10 +60,10 @@ def wf(): - """Return `Workflow` object for this module. + """Return Workflow object for this module. Returns: - workflow.Workflow: `Workflow` object for current workflow. + workflow.Workflow: Workflow object for current workflow. """ global _wf if _wf is None: @@ -87,7 +87,7 @@ def notifier_program(): """Return path to notifier applet executable. Returns: - unicode: Path to Notify.app `applet` executable. + unicode: Path to Notify.app ``applet`` executable. """ return wf().datafile('Notify.app/Contents/MacOS/applet') @@ -96,13 +96,13 @@ def notifier_icon_path(): """Return path to icon file in installed Notify.app. Returns: - unicode: Path to `applet.icns` within the app bundle. + unicode: Path to ``applet.icns`` within the app bundle. """ return wf().datafile('Notify.app/Contents/Resources/applet.icns') def install_notifier(): - """Extract `Notify.app` from the workflow to data directory. + """Extract ``Notify.app`` from the workflow to data directory. Changes the bundle ID of the installed app and gives it the workflow's icon. @@ -111,13 +111,13 @@ def install_notifier(): destdir = wf().datadir app_path = os.path.join(destdir, 'Notify.app') n = notifier_program() - log().debug("Installing Notify.app to %r ...", destdir) + log().debug('installing Notify.app to %r ...', destdir) # z = zipfile.ZipFile(archive, 'r') # z.extractall(destdir) tgz = tarfile.open(archive, 'r:gz') tgz.extractall(destdir) - assert os.path.exists(n), ( - "Notify.app could not be installed in {0!r}.".format(destdir)) + assert os.path.exists(n), \ + 'Notify.app could not be installed in %s' % destdir # Replace applet icon icon = notifier_icon_path() @@ -144,29 +144,29 @@ def install_notifier(): ip_path = os.path.join(app_path, 'Contents/Info.plist') bundle_id = '{0}.{1}'.format(wf().bundleid, uuid.uuid4().hex) data = plistlib.readPlist(ip_path) - log().debug('Changing bundle ID to {0!r}'.format(bundle_id)) + log().debug('changing bundle ID to %r', bundle_id) data['CFBundleIdentifier'] = bundle_id plistlib.writePlist(data, ip_path) def validate_sound(sound): - """Coerce `sound` to valid sound name. + """Coerce ``sound`` to valid sound name. - Returns `None` for invalid sounds. Sound names can be found - in `System Preferences > Sound > Sound Effects`. + Returns ``None`` for invalid sounds. Sound names can be found + in ``System Preferences > Sound > Sound Effects``. Args: sound (str): Name of system sound. Returns: - str: Proper name of sound or `None`. + str: Proper name of sound or ``None``. """ if not sound: return None # Case-insensitive comparison of `sound` if sound.lower() in [s.lower() for s in SOUNDS]: - # Title-case is correct for all system sounds as of OS X 10.11 + # Title-case is correct for all system sounds as of macOS 10.11 return sound.title() return None @@ -180,10 +180,10 @@ def notify(title='', text='', sound=None): sound (str, optional): Name of sound to play. Raises: - ValueError: Raised if both `title` and `text` are empty. + ValueError: Raised if both ``title`` and ``text`` are empty. Returns: - bool: `True` if notification was posted, else `False`. + bool: ``True`` if notification was posted, else ``False``. """ if title == text == '': raise ValueError('Empty notification') @@ -210,7 +210,7 @@ def notify(title='', text='', sound=None): def convert_image(inpath, outpath, size): - """Convert an image file using `sips`. + """Convert an image file using ``sips``. Args: inpath (str): Path of source file. @@ -218,11 +218,11 @@ def convert_image(inpath, outpath, size): size (int): Width and height of destination image in pixels. Raises: - RuntimeError: Raised if `sips` exits with non-zero status. + RuntimeError: Raised if ``sips`` exits with non-zero status. """ cmd = [ b'sips', - b'-z', b'{0}'.format(size), b'{0}'.format(size), + b'-z', str(size), str(size), inpath, b'--out', outpath] # log().debug(cmd) @@ -230,14 +230,14 @@ def convert_image(inpath, outpath, size): retcode = subprocess.call(cmd, stdout=pipe, stderr=subprocess.STDOUT) if retcode != 0: - raise RuntimeError('sips exited with {0}'.format(retcode)) + raise RuntimeError('sips exited with %d' % retcode) def png_to_icns(png_path, icns_path): - """Convert PNG file to ICNS using `iconutil`. + """Convert PNG file to ICNS using ``iconutil``. Create an iconset from the source PNG file. Generate PNG files - in each size required by OS X, then call `iconutil` to turn + in each size required by macOS, then call ``iconutil`` to turn them into a single ICNS file. Args: @@ -245,15 +245,15 @@ def png_to_icns(png_path, icns_path): icns_path (str): Path to destination ICNS file. Raises: - RuntimeError: Raised if `iconutil` or `sips` fail. + RuntimeError: Raised if ``iconutil`` or ``sips`` fail. """ tempdir = tempfile.mkdtemp(prefix='aw-', dir=wf().datadir) try: iconset = os.path.join(tempdir, 'Icon.iconset') - assert not os.path.exists(iconset), ( - "Iconset path already exists : {0!r}".format(iconset)) + assert not os.path.exists(iconset), \ + 'iconset already exists: ' + iconset os.makedirs(iconset) # Copy source icon to icon set and generate all the other @@ -261,7 +261,7 @@ def png_to_icns(png_path, icns_path): configs = [] for i in (16, 32, 128, 256, 512): configs.append(('icon_{0}x{0}.png'.format(i), i)) - configs.append((('icon_{0}x{0}@2x.png'.format(i), i*2))) + configs.append((('icon_{0}x{0}@2x.png'.format(i), i * 2))) shutil.copy(png_path, os.path.join(iconset, 'icon_256x256.png')) shutil.copy(png_path, os.path.join(iconset, 'icon_128x128@2x.png')) @@ -280,10 +280,10 @@ def png_to_icns(png_path, icns_path): retcode = subprocess.call(cmd) if retcode != 0: - raise RuntimeError("iconset exited with {0}".format(retcode)) + raise RuntimeError('iconset exited with %d' % retcode) - assert os.path.exists(icns_path), ( - "Generated ICNS file not found : {0!r}".format(icns_path)) + assert os.path.exists(icns_path), \ + 'generated ICNS file not found: ' + repr(icns_path) finally: try: shutil.rmtree(tempdir) @@ -291,36 +291,6 @@ def png_to_icns(png_path, icns_path): pass -# def notify_native(title='', text='', sound=''): -# """Post notification via the native API (via pyobjc). - -# At least one of `title` or `text` must be specified. - -# This method will *always* show the Python launcher icon (i.e. the -# rocket with the snakes on it). - -# Args: -# title (str, optional): Notification title. -# text (str, optional): Notification body text. -# sound (str, optional): Name of sound to play. - -# """ - -# if title == text == '': -# raise ValueError('Empty notification') - -# import Foundation - -# sound = sound or Foundation.NSUserNotificationDefaultSoundName - -# n = Foundation.NSUserNotification.alloc().init() -# n.setTitle_(title) -# n.setInformativeText_(text) -# n.setSoundName_(sound) -# nc = Foundation.NSUserNotificationCenter.defaultUserNotificationCenter() -# nc.deliverNotification_(n) - - if __name__ == '__main__': # pragma: nocover # Simple command-line script to test module with # This won't work on 2.6, as `argparse` isn't available @@ -329,21 +299,20 @@ def png_to_icns(png_path, icns_path): from unicodedata import normalize - def uni(s): + def ustr(s): """Coerce `s` to normalised Unicode.""" - ustr = s.decode('utf-8') - return normalize('NFD', ustr) + return normalize('NFD', s.decode('utf-8')) p = argparse.ArgumentParser() p.add_argument('-p', '--png', help="PNG image to convert to ICNS.") p.add_argument('-l', '--list-sounds', help="Show available sounds.", action='store_true') p.add_argument('-t', '--title', - help="Notification title.", type=uni, + help="Notification title.", type=ustr, default='') - p.add_argument('-s', '--sound', type=uni, + p.add_argument('-s', '--sound', type=ustr, help="Optional notification sound.", default='') - p.add_argument('text', type=uni, + p.add_argument('text', type=ustr, help="Notification body text.", default='', nargs='?') o = p.parse_args() @@ -357,21 +326,20 @@ def uni(s): if o.png: icns = os.path.join( os.path.dirname(o.png), - b'{0}{1}'.format(os.path.splitext(os.path.basename(o.png))[0], - '.icns')) + os.path.splitext(os.path.basename(o.png))[0] + '.icns') - print('Converting {0!r} to {1!r} ...'.format(o.png, icns), + print('converting {0!r} to {1!r} ...'.format(o.png, icns), file=sys.stderr) - assert not os.path.exists(icns), ( - "Destination file already exists : {0}".format(icns)) + assert not os.path.exists(icns), \ + 'destination file already exists: ' + icns png_to_icns(o.png, icns) sys.exit(0) # Post notification if o.title == o.text == '': - print('ERROR: Empty notification.', file=sys.stderr) + print('ERROR: empty notification.', file=sys.stderr) sys.exit(1) else: notify(o.title, o.text, o.sound) diff --git a/src/workflow/update.py b/src/workflow/update.py index bb8e9da..37569bb 100644 --- a/src/workflow/update.py +++ b/src/workflow/update.py @@ -94,7 +94,7 @@ def _parse(self, vstr): else: m = self.match_version(vstr) if not m: - raise ValueError('Invalid version number: {0}'.format(vstr)) + raise ValueError('invalid version number: {0}'.format(vstr)) version, suffix = m.groups() parts = self._parse_dotted_string(version) @@ -104,7 +104,7 @@ def _parse(self, vstr): if len(parts): self.patch = parts.pop(0) if not len(parts) == 0: - raise ValueError('Invalid version (too long) : {0}'.format(vstr)) + raise ValueError('invalid version (too long) : {0}'.format(vstr)) if suffix: # Build info @@ -115,8 +115,7 @@ def _parse(self, vstr): if suffix: if not suffix.startswith('-'): raise ValueError( - 'Invalid suffix : `{0}`. Must start with `-`'.format( - suffix)) + 'suffix must start with - : {0}'.format(suffix)) self.suffix = suffix[1:] # wf().logger.debug('version str `{}` -> {}'.format(vstr, repr(self))) @@ -139,7 +138,7 @@ def tuple(self): def __lt__(self, other): """Implement comparison.""" if not isinstance(other, Version): - raise ValueError('Not a Version instance: {0!r}'.format(other)) + raise ValueError('not a Version instance: {0!r}'.format(other)) t = self.tuple[:3] o = other.tuple[:3] if t < o: @@ -157,7 +156,7 @@ def __lt__(self, other): def __eq__(self, other): """Implement comparison.""" if not isinstance(other, Version): - raise ValueError('Not a Version instance: {0!r}'.format(other)) + raise ValueError('not a Version instance: {0!r}'.format(other)) return self.tuple == other.tuple def __ne__(self, other): @@ -167,13 +166,13 @@ def __ne__(self, other): def __gt__(self, other): """Implement comparison.""" if not isinstance(other, Version): - raise ValueError('Not a Version instance: {0!r}'.format(other)) + raise ValueError('not a Version instance: {0!r}'.format(other)) return other.__lt__(self) def __le__(self, other): """Implement comparison.""" if not isinstance(other, Version): - raise ValueError('Not a Version instance: {0!r}'.format(other)) + raise ValueError('not a Version instance: {0!r}'.format(other)) return not other.__lt__(self) def __ge__(self, other): @@ -184,9 +183,9 @@ def __str__(self): """Return semantic version string.""" vstr = '{0}.{1}.{2}'.format(self.major, self.minor, self.patch) if self.suffix: - vstr += '-{0}'.format(self.suffix) + vstr = '{0}-{1}'.format(vstr, self.suffix) if self.build: - vstr += '+{0}'.format(self.build) + vstr = '{0}+{1}'.format(vstr, self.build) return vstr def __repr__(self): @@ -201,16 +200,16 @@ def download_workflow(url): :returns: path to downloaded file """ - filename = url.split("/")[-1] + filename = url.split('/')[-1] if (not filename.endswith('.alfredworkflow') and not filename.endswith('.alfred3workflow')): - raise ValueError('Attachment `{0}` not a workflow'.format(filename)) + raise ValueError('attachment not a workflow: {0}'.format(filename)) local_path = os.path.join(tempfile.gettempdir(), filename) wf().logger.debug( - 'Downloading updated workflow from `%s` to `%s` ...', url, local_path) + 'downloading updated workflow from `%s` to `%s` ...', url, local_path) response = web.get(url) @@ -228,7 +227,7 @@ def build_api_url(slug): """ if len(slug.split('/')) != 2: - raise ValueError('Invalid GitHub slug : {0}'.format(slug)) + raise ValueError('invalid GitHub slug: {0}'.format(slug)) return RELEASES_BASE.format(slug) @@ -261,13 +260,13 @@ def _validate_release(release): if dl_count == 0: wf().logger.warning( - 'Invalid release %s : No workflow file', version) + 'invalid release (no workflow file): %s', version) return None for k in downloads: if len(downloads[k]) > 1: wf().logger.warning( - 'Invalid release %s : multiple %s files', version, k) + 'invalid release (multiple %s files): %s', k, version) return None # Prefer .alfred3workflow file if there is one and Alfred 3 is @@ -278,7 +277,7 @@ def _validate_release(release): else: download_url = downloads['.alfredworkflow'][0] - wf().logger.debug('Release `%s` : %s', version, download_url) + wf().logger.debug('release %s: %s', version, download_url) return { 'version': version, @@ -306,28 +305,27 @@ def get_valid_releases(github_slug, prereleases=False): api_url = build_api_url(github_slug) releases = [] - wf().logger.debug('Retrieving releases list from `%s` ...', api_url) + wf().logger.debug('retrieving releases list: %s', api_url) def retrieve_releases(): wf().logger.info( - 'Retrieving releases for `%s` ...', github_slug) + 'retrieving releases: %s', github_slug) return web.get(api_url).json() slug = github_slug.replace('/', '-') - for release in wf().cached_data('gh-releases-{0}'.format(slug), - retrieve_releases): - - wf().logger.debug('Release : %r', release) + for release in wf().cached_data('gh-releases-' + slug, retrieve_releases): release = _validate_release(release) if release is None: - wf().logger.debug('Invalid release') + wf().logger.debug('invalid release: %r', release) continue elif release['prerelease'] and not prereleases: - wf().logger.debug('Ignoring prerelease : %s', release['version']) + wf().logger.debug('ignoring prerelease: %s', release['version']) continue + wf().logger.debug('release: %r', release) + releases.append(release) return releases @@ -349,10 +347,10 @@ def check_update(github_slug, current_version, prereleases=False): """ releases = get_valid_releases(github_slug, prereleases) - wf().logger.info('%d releases for %s', len(releases), github_slug) - if not len(releases): - raise ValueError('No valid releases for %s', github_slug) + raise ValueError('no valid releases for %s', github_slug) + + wf().logger.info('%d releases for %s', len(releases), github_slug) # GitHub returns releases newest-first latest_release = releases[0] @@ -360,7 +358,7 @@ def check_update(github_slug, current_version, prereleases=False): # (latest_version, download_url) = get_latest_release(releases) vr = Version(latest_release['version']) vl = Version(current_version) - wf().logger.debug('Latest : %r Installed : %r', vr, vl) + wf().logger.debug('latest=%r, installed=%r', vr, vl) if vr > vl: wf().cache_data('__workflow_update_status', { @@ -371,9 +369,7 @@ def check_update(github_slug, current_version, prereleases=False): return True - wf().cache_data('__workflow_update_status', { - 'available': False - }) + wf().cache_data('__workflow_update_status', {'available': False}) return False @@ -386,12 +382,12 @@ def install_update(): update_data = wf().cached_data('__workflow_update_status', max_age=0) if not update_data or not update_data.get('available'): - wf().logger.info('No update available') + wf().logger.info('no update available') return False local_file = download_workflow(update_data['download_url']) - wf().logger.info('Installing updated workflow ...') + wf().logger.info('installing updated workflow ...') subprocess.call(['open', local_file]) update_data['available'] = False @@ -402,27 +398,29 @@ def install_update(): if __name__ == '__main__': # pragma: nocover import sys - def show_help(): + def show_help(status=0): """Print help message.""" - print('Usage : update.py (check|install) github_slug version ' - '[--prereleases]') - sys.exit(1) + print('Usage : update.py (check|install) ' + '[--prereleases] ') + sys.exit(status) argv = sys.argv[:] + if '-h' in argv or '--help' in argv: + show_help() + prereleases = '--prereleases' in argv if prereleases: argv.remove('--prereleases') if len(argv) != 4: - show_help() + show_help(1) action, github_slug, version = argv[1:] - if action not in ('check', 'install'): - show_help() - if action == 'check': check_update(github_slug, version, prereleases) elif action == 'install': install_update() + else: + show_help(1) diff --git a/src/workflow/version b/src/workflow/version index c8d3893..ec8f6a3 100644 --- a/src/workflow/version +++ b/src/workflow/version @@ -1 +1 @@ -1.26 \ No newline at end of file +1.27 \ No newline at end of file diff --git a/src/workflow/web.py b/src/workflow/web.py index 748b199..d64bb6f 100644 --- a/src/workflow/web.py +++ b/src/workflow/web.py @@ -77,8 +77,10 @@ def str_dict(dic): """Convert keys and values in ``dic`` into UTF-8-encoded :class:`str`. - :param dic: :class:`dict` of Unicode strings - :returns: :class:`dict` + :param dic: Mapping of Unicode strings + :type dic: dict + :returns: Dictionary containing only UTF-8 strings + :rtype: dict """ if isinstance(dic, CaseInsensitiveDictionary): @@ -191,7 +193,7 @@ def __init__(self, request, stream=False): :param request: :class:`urllib2.Request` instance :param stream: Whether to stream response or retrieve it all at once - :type stream: ``bool`` + :type stream: bool """ self.request = request @@ -263,7 +265,7 @@ def json(self): """Decode response contents as JSON. :returns: object decoded from JSON - :rtype: :class:`list` / :class:`dict` + :rtype: list, dict or unicode """ return json.loads(self.content, self.encoding or 'utf-8') @@ -272,7 +274,8 @@ def json(self): def encoding(self): """Text encoding of document or ``None``. - :returns: :class:`str` or ``None`` + :returns: Text encoding if found. + :rtype: str or ``None`` """ if not self._encoding: @@ -285,7 +288,7 @@ def content(self): """Raw content of response (i.e. bytes). :returns: Body of HTTP response - :rtype: :class:`str` + :rtype: str """ if not self._content: @@ -310,7 +313,7 @@ def text(self): itself, the encoded response body will be returned instead. :returns: Body of HTTP response - :rtype: :class:`unicode` or :class:`str` + :rtype: unicode or str """ if self.encoding: @@ -324,9 +327,9 @@ def iter_content(self, chunk_size=4096, decode_unicode=False): .. versionadded:: 1.6 :param chunk_size: Number of bytes to read into memory - :type chunk_size: ``int`` + :type chunk_size: int :param decode_unicode: Decode to Unicode using detected encoding - :type decode_unicode: ``Boolean`` + :type decode_unicode: bool :returns: iterator """ @@ -406,7 +409,7 @@ def _get_encoding(self): """Get encoding from HTTP headers or content. :returns: encoding or `None` - :rtype: ``unicode`` or ``None`` + :rtype: unicode or ``None`` """ headers = self.raw.info() @@ -458,29 +461,30 @@ def request(method, url, params=None, data=None, headers=None, cookies=None, """Initiate an HTTP(S) request. Returns :class:`Response` object. :param method: 'GET' or 'POST' - :type method: ``unicode`` + :type method: unicode :param url: URL to open - :type url: ``unicode`` + :type url: unicode :param params: mapping of URL parameters - :type params: :class:`dict` + :type params: dict :param data: mapping of form data ``{'field_name': 'value'}`` or :class:`str` - :type data: :class:`dict` or :class:`str` + :type data: dict or str :param headers: HTTP headers - :type headers: :class:`dict` + :type headers: dict :param cookies: cookies to send to server - :type cookies: :class:`dict` + :type cookies: dict :param files: files to upload (see below). - :type files: :class:`dict` + :type files: dict :param auth: username, password - :type auth: ``tuple`` + :type auth: tuple :param timeout: connection timeout limit in seconds - :type timeout: ``int`` + :type timeout: int :param allow_redirects: follow redirections - :type allow_redirects: ``Boolean`` + :type allow_redirects: bool :param stream: Stream content instead of fetching it all at once. - :type stream: ``bool`` - :returns: :class:`Response` object + :type stream: bool + :returns: Response object + :rtype: :class:`Response` The ``files`` argument is a dictionary:: @@ -594,11 +598,12 @@ def encode_multipart_formdata(fields, files): """Encode form data (``fields``) and ``files`` for POST request. :param fields: mapping of ``{name : value}`` pairs for normal form fields. - :type fields: :class:`dict` + :type fields: dict :param files: dictionary of fieldnames/files elements for file data. See below for details. - :type files: :class:`dict` of :class:`dicts` - :returns: ``(headers, body)`` ``headers`` is a :class:`dict` of HTTP headers + :type files: dict of :class:`dict` + :returns: ``(headers, body)`` ``headers`` is a + :class:`dict` of HTTP headers :rtype: 2-tuple ``(dict, str)`` The ``files`` argument is a dictionary:: @@ -609,16 +614,18 @@ def encode_multipart_formdata(fields, files): } - ``fieldname`` is the name of the field in the HTML form. - - ``mimetype`` is optional. If not provided, :mod:`mimetypes` will be used to guess the mimetype, or ``application/octet-stream`` will be used. + - ``mimetype`` is optional. If not provided, :mod:`mimetypes` will + be used to guess the mimetype, or ``application/octet-stream`` + will be used. """ def get_content_type(filename): """Return or guess mimetype of ``filename``. :param filename: filename of file - :type filename: unicode/string + :type filename: unicode/str :returns: mime-type, e.g. ``text/html`` - :rtype: :class::class:`str` + :rtype: str """ diff --git a/src/workflow/workflow.py b/src/workflow/workflow.py index 4fd8db4..0d2dc4e 100644 --- a/src/workflow/workflow.py +++ b/src/workflow/workflow.py @@ -10,7 +10,7 @@ """The :class:`Workflow` object is the main interface to this library. :class:`Workflow` is targeted at Alfred 2. Use -:class:`~workflow.workflow3.Workflow3` if you want to use Alfred 3's new +:class:`~workflow.Workflow3` if you want to use Alfred 3's new features, such as :ref:`workflow variables ` or more powerful modifiers. @@ -56,7 +56,7 @@ # Standard system icons #################################################################### -# These icons are default OS X icons. They are super-high quality, and +# These icons are default macOS icons. They are super-high quality, and # will be familiar to users. # This library uses `ICON_ERROR` when a workflow dies in flames, so # in my own workflows, I use `ICON_WARNING` for less fatal errors @@ -456,6 +456,7 @@ class KeychainError(Exception): Raised by methods :meth:`Workflow.save_password`, :meth:`Workflow.get_password` and :meth:`Workflow.delete_password` when ``security`` CLI app returns an unknown error code. + """ @@ -464,6 +465,7 @@ class PasswordNotFound(KeychainError): Raised by method :meth:`Workflow.get_password` when ``account`` is unknown to the Keychain. + """ @@ -473,6 +475,7 @@ class PasswordExists(KeychainError): You should never receive this error: it is used internally by the :meth:`Workflow.save_password` method to know if it needs to delete the old password first (a Keychain implementation detail). + """ @@ -506,13 +509,13 @@ class SerializerManager(object): .. versionadded:: 1.8 A configured instance of this class is available at - ``workflow.manager``. + :attr:`workflow.manager`. Use :meth:`register()` to register new (or replace existing) serializers, which you can specify by name when calling - :class:`Workflow` data storage methods. + :class:`~workflow.Workflow` data storage methods. - See :ref:`manual-serialization` and :ref:`manual-persistent-data` + See :ref:`guide-serialization` and :ref:`guide-persistent-data` for further information. """ @@ -797,7 +800,27 @@ def elem(self): class LockFile(object): - """Context manager to create lock files.""" + """Context manager to protect filepaths with lockfiles. + + .. versionadded:: 1.13 + + Creates a lockfile alongside ``protected_path``. Other ``LockFile`` + instances will refuse to lock the same path. + + >>> path = '/path/to/file' + >>> with LockFile(path): + >>> with open(path, 'wb') as fp: + >>> fp.write(data) + + Args: + protected_path (unicode): File to protect with a lockfile + timeout (int, optional): Raises an :class:`AcquisitionError` + if lock cannot be acquired within this number of seconds. + If ``timeout`` is 0 (the default), wait forever. + delay (float, optional): How often to check (in seconds) if + lock has been released. + + """ def __init__(self, protected_path, timeout=0, delay=0.05): """Create new :class:`LockFile` object.""" @@ -830,14 +853,14 @@ def acquire(self, blocking=True): try: fd = os.open(self.lockfile, os.O_CREAT | os.O_EXCL | os.O_RDWR) with os.fdopen(fd, 'w') as fd: - fd.write('{0}'.format(os.getpid())) + fd.write(str(os.getpid())) break except OSError as err: if err.errno != errno.EEXIST: # pragma: no cover raise if self.timeout and (time.time() - start) >= self.timeout: - raise AcquisitionError('Lock acquisition timed out.') + raise AcquisitionError('lock acquisition timed out') if not blocking: return False time.sleep(self.delay) @@ -895,16 +918,16 @@ def __del__(self): def atomic_writer(file_path, mode): """Atomic file writer. - :param file_path: path of file to write to. - :type file_path: ``unicode`` - :param mode: sames as for `func:open` - :type mode: string - .. versionadded:: 1.12 Context manager that ensures the file is only written if the write succeeds. The data is first written to a temporary file. + :param file_path: path of file to write to. + :type file_path: ``unicode`` + :param mode: sames as for :func:`open` + :type mode: string + """ temp_suffix = '.aw.temp' temp_file_path = file_path + temp_suffix @@ -920,11 +943,13 @@ def atomic_writer(file_path, mode): class uninterruptible(object): - """Decorator that postpones SIGTERM until wrapped function is complete. + """Decorator that postpones SIGTERM until wrapped function returns. .. versionadded:: 1.12 - Since version 2.7, Alfred allows Script Filters to be killed. If + .. important:: This decorator is NOT thread-safe. + + As of version 2.7, Alfred allows Script Filters to be killed. If your workflow is killed in the middle of critical code (e.g. writing data to disk), this may corrupt your workflow's data. @@ -936,10 +961,6 @@ class uninterruptible(object): Alfred-Workflow uses this internally to ensure its settings, data and cache writes complete. - .. important:: - - This decorator is NOT thread-safe. - """ def __init__(self, func, class_name=''): @@ -1063,27 +1084,36 @@ def setdefault(self, key, value=None): class Workflow(object): - """Create new :class:`Workflow` instance. + """The ``Workflow`` object is the main interface to Alfred-Workflow. + + It provides APIs for accessing the Alfred/workflow environment, + storing & caching data, using Keychain, and generating Script + Filter feedback. + + ``Workflow`` is compatible with both Alfred 2 and 3. The + :class:`~workflow.Workflow3` subclass provides additional, + Alfred 3-only features, such as workflow variables. :param default_settings: default workflow settings. If no settings file exists, :class:`Workflow.settings` will be pre-populated with ``default_settings``. :type default_settings: :class:`dict` - :param update_settings: settings for updating your workflow from GitHub. - This must be a :class:`dict` that contains ``github_slug`` and - ``version`` keys. ``github_slug`` is of the form ``username/repo`` - and ``version`` **must** correspond to the tag of a release. The - boolean ``prereleases`` key is optional and if ``True`` will - override the :ref:`magic argument ` preference. - This is only recommended when the installed workflow is a pre-release. - See :ref:`updates` for more information. + :param update_settings: settings for updating your workflow from + GitHub releases. The only required key is ``github_slug``, + whose value must take the form of ``username/repo``. + If specified, ``Workflow`` will check the repo's releases + for updates. Your workflow must also have a semantic version + number. Please see the :ref:`User Manual ` and + `update API docs ` for more information. :type update_settings: :class:`dict` - :param input_encoding: encoding of command line arguments + :param input_encoding: encoding of command line arguments. You + should probably leave this as the default (``utf-8``), which + is the encoding Alfred uses. :type input_encoding: :class:`unicode` :param normalization: normalisation to apply to CLI args. See :meth:`Workflow.decode` for more details. :type normalization: :class:`unicode` - :param capture_args: capture and act on ``workflow:*`` arguments. See + :param capture_args: Capture and act on ``workflow:*`` arguments. See :ref:`Magic arguments ` for details. :type capture_args: :class:`Boolean` :param libraries: sequence of paths to directories containing @@ -1176,32 +1206,32 @@ def alfred_env(self): ============================ ========================================= Variable Description ============================ ========================================= - alfred_debug Set to ``1`` if Alfred's debugger is + debug Set to ``1`` if Alfred's debugger is open, otherwise unset. - alfred_preferences Path to Alfred.alfredpreferences + preferences Path to Alfred.alfredpreferences (where your workflows and settings are stored). - alfred_preferences_localhash Machine-specific preferences are stored + preferences_localhash Machine-specific preferences are stored in ``Alfred.alfredpreferences/preferences/local/`` - (see ``alfred_preferences`` above for + (see ``preferences`` above for the path to ``Alfred.alfredpreferences``) - alfred_theme ID of selected theme - alfred_theme_background Background colour of selected theme in + theme ID of selected theme + theme_background Background colour of selected theme in format ``rgba(r,g,b,a)`` - alfred_theme_subtext Show result subtext. + theme_subtext Show result subtext. ``0`` = Always, ``1`` = Alternative actions only, ``2`` = Selected result only, ``3`` = Never - alfred_version Alfred version number, e.g. ``'2.4'`` - alfred_version_build Alfred build number, e.g. ``277`` - alfred_workflow_bundleid Bundle ID, e.g. + version Alfred version number, e.g. ``'2.4'`` + version_build Alfred build number, e.g. ``277`` + workflow_bundleid Bundle ID, e.g. ``net.deanishe.alfred-mailto`` - alfred_workflow_cache Path to workflow's cache directory - alfred_workflow_data Path to workflow's data directory - alfred_workflow_name Name of current workflow - alfred_workflow_uid UID of workflow - alfred_workflow_version The version number specified in the + workflow_cache Path to workflow's cache directory + workflow_data Path to workflow's data directory + workflow_name Name of current workflow + workflow_uid UID of workflow + workflow_version The version number specified in the workflow configuration sheet/info.plist ============================ ========================================= @@ -1611,7 +1641,7 @@ def settings_path(self): def settings(self): """Return a dictionary subclass that saves itself when changed. - See :ref:`manual-settings` in the :ref:`user-manual` for more + See :ref:`guide-settings` in the :ref:`user-manual` for more information on how to use :attr:`settings` and **important limitations** on what it can do. @@ -1624,8 +1654,7 @@ def settings(self): """ if not self._settings: - self.logger.debug('Reading settings from `{0}` ...'.format( - self.settings_path)) + self.logger.debug('reading settings from %s', self.settings_path) self._settings = Settings(self.settings_path, self._default_settings) return self._settings @@ -1669,8 +1698,7 @@ def cache_serializer(self, serializer_name): 'Unknown serializer : `{0}`. Register your serializer ' 'with `manager` first.'.format(serializer_name)) - self.logger.debug( - 'default cache serializer set to `{0}`'.format(serializer_name)) + self.logger.debug('default cache serializer: %s', serializer_name) self._cache_serializer = serializer_name @@ -1712,8 +1740,7 @@ def data_serializer(self, serializer_name): 'Unknown serializer : `{0}`. Register your serializer ' 'with `manager` first.'.format(serializer_name)) - self.logger.debug( - 'default data serializer set to `{0}`'.format(serializer_name)) + self.logger.debug('default data serializer: %s', serializer_name) self._data_serializer = serializer_name @@ -1730,7 +1757,7 @@ def stored_data(self, name): metadata_path = self.datafile('.{0}.alfred-workflow'.format(name)) if not os.path.exists(metadata_path): - self.logger.debug('No data stored for `{0}`'.format(name)) + self.logger.debug('no data stored for `%s`', name) return None with open(metadata_path, 'rb') as file_obj: @@ -1744,14 +1771,13 @@ def stored_data(self, name): 'serializer with `manager.register()` ' 'to load this data.'.format(serializer_name)) - self.logger.debug('Data `{0}` stored in `{1}` format'.format( - name, serializer_name)) + self.logger.debug('data `%s` stored as `%s`', name, serializer_name) filename = '{0}.{1}'.format(name, serializer_name) data_path = self.datafile(filename) if not os.path.exists(data_path): - self.logger.debug('No data stored for `{0}`'.format(name)) + self.logger.debug('no data stored: %s', name) if os.path.exists(metadata_path): os.unlink(metadata_path) @@ -1760,7 +1786,7 @@ def stored_data(self, name): with open(data_path, 'rb') as file_obj: data = serializer.load(file_obj) - self.logger.debug('Stored data loaded from : {0}'.format(data_path)) + self.logger.debug('stored data loaded: %s', data_path) return data @@ -1789,7 +1815,7 @@ def delete_paths(paths): for path in paths: if os.path.exists(path): os.unlink(path) - self.logger.debug('Deleted data file : {0}'.format(path)) + self.logger.debug('deleted data file: %s', path) serializer_name = serializer or self.data_serializer @@ -1829,7 +1855,7 @@ def _store(): _store() - self.logger.debug('Stored data saved at : {0}'.format(data_path)) + self.logger.debug('saved data: %s', data_path) def cached_data(self, name, data_func=None, max_age=60): """Return cached data if younger than ``max_age`` seconds. @@ -1855,8 +1881,7 @@ def cached_data(self, name, data_func=None, max_age=60): if (age < max_age or max_age == 0) and os.path.exists(cache_path): with open(cache_path, 'rb') as file_obj: - self.logger.debug('Loading cached data from : %s', - cache_path) + self.logger.debug('loading cached data: %s', cache_path) return serializer.load(file_obj) if not data_func: @@ -1885,13 +1910,13 @@ def cache_data(self, name, data): if data is None: if os.path.exists(cache_path): os.unlink(cache_path) - self.logger.debug('Deleted cache file : %s', cache_path) + self.logger.debug('deleted cache file: %s', cache_path) return with atomic_writer(cache_path, 'wb') as file_obj: serializer.dump(data, file_obj) - self.logger.debug('Cached data saved at : %s', cache_path) + self.logger.debug('cached data: %s', cache_path) def cached_data_fresh(self, name, max_age): """Whether cache `name` is less than `max_age` seconds old. @@ -2221,8 +2246,7 @@ def run(self, func, text_errors=False): try: if self.version: - self.logger.debug( - 'Workflow version : {0}'.format(self.version)) + self.logger.debug('workflow version: %s', self.version) # Run update check if configured for self-updates. # This call has to go in the `run` try-except block, as it will @@ -2242,8 +2266,7 @@ def run(self, func, text_errors=False): except Exception as err: self.logger.exception(err) if self.help_url: - self.logger.info( - 'For assistance, see: {0}'.format(self.help_url)) + self.logger.info('for assistance, see: %s', self.help_url) if not sys.stdout.isatty(): # Show error in Alfred if text_errors: @@ -2263,8 +2286,8 @@ def run(self, func, text_errors=False): return 1 finally: - self.logger.debug('Workflow finished in {0:0.3f} seconds.'.format( - time.time() - start)) + self.logger.debug('workflow finished in %0.3f seconds', + time.time() - start) return 0 @@ -2318,10 +2341,6 @@ def add_item(self, title, subtitle='', modifier_subtitles=None, arg=None, :type quicklookurl: ``unicode`` :returns: :class:`Item` instance - See the :ref:`script-filter-results` section of the documentation - for a detailed description of what the various parameters do and how - they interact with one another. - See :ref:`icons` for a list of the supported system icons. .. note:: @@ -2390,8 +2409,7 @@ def last_version_run(self): self._last_version_run = version - self.logger.debug('Last run version : {0}'.format( - self._last_version_run)) + self.logger.debug('last run version: %s', self._last_version_run) return self._last_version_run @@ -2420,7 +2438,7 @@ def set_last_version(self, version=None): self.settings['__workflow_last_version'] = str(version) - self.logger.debug('Set last run version : {0}'.format(version)) + self.logger.debug('set last run version: %s', version) return True @@ -2430,7 +2448,7 @@ def update_available(self): .. versionadded:: 1.9 - See :ref:`manual-updates` in the :ref:`user-manual` for detailed + See :ref:`guide-updates` in the :ref:`user-manual` for detailed information on how to enable your workflow to update itself. :returns: ``True`` if an update is available, else ``False`` @@ -2441,7 +2459,7 @@ def update_available(self): update_data = Workflow().cached_data('__workflow_update_status', max_age=0) - self.logger.debug('update_data : {0}'.format(update_data)) + self.logger.debug('update_data: %r', update_data) if not update_data or not update_data.get('available'): return False @@ -2472,7 +2490,7 @@ def check_update(self, force=False): The update script will be run in the background, so it won't interfere in the execution of your workflow. - See :ref:`manual-updates` in the :ref:`user-manual` for detailed + See :ref:`guide-updates` in the :ref:`user-manual` for detailed information on how to enable your workflow to update itself. :param force: Force update check @@ -2518,7 +2536,7 @@ def start_update(self): .. versionadded:: 1.9 - See :ref:`manual-updates` in the :ref:`user-manual` for detailed + See :ref:`guide-updates` in the :ref:`user-manual` for detailed information on how to enable your workflow to update itself. :returns: ``True`` if an update is available and will be @@ -2861,7 +2879,7 @@ def decode(self, text, encoding=None, normalization=None): standard for Python and will work well with data from the web (via :mod:`~workflow.web` or :mod:`json`). - OS X, on the other hand, uses "NFD" normalisation (nearly), so data + macOS, on the other hand, uses "NFD" normalisation (nearly), so data coming from the system (e.g. via :mod:`subprocess` or :func:`os.listdir`/:mod:`os.path`) may not match. You should either normalise this data, too, or change the default normalisation used by diff --git a/src/workflow/workflow3.py b/src/workflow/workflow3.py index beee0ef..cfd580f 100644 --- a/src/workflow/workflow3.py +++ b/src/workflow/workflow3.py @@ -7,21 +7,20 @@ # Created on 2016-06-25 # -""" -:class:`Workflow3` supports Alfred 3's new features. - -It is an Alfred 3-only version of :class:`~workflow.workflow.Workflow`. +"""An Alfred 3-only version of :class:`~workflow.Workflow`. -It supports setting :ref:`workflow-variables` and +:class:`~workflow.Workflow3` supports Alfred 3's new features, such as +setting :ref:`workflow-variables` and :class:`the more advanced modifiers ` supported by Alfred 3. In order for the feedback mechanism to work correctly, it's important to create :class:`Item3` and :class:`Modifier` objects via the :meth:`Workflow3.add_item()` and :meth:`Item3.add_modifier()` methods respectively. If you instantiate :class:`Item3` or :class:`Modifier` -objects directly, the current :class:`~workflow.workflow3.Workflow3` -object won't be aware of them, and they won't be sent to Alfred when -you call :meth:`~workflow.workflow3.Workflow3.send_feedback()`. +objects directly, the current :class:`Workflow3` object won't be aware +of them, and they won't be sent to Alfred when you call +:meth:`Workflow3.send_feedback()`. + """ from __future__ import print_function, unicode_literals, absolute_import @@ -41,12 +40,20 @@ class Variables(dict): This class allows you to set workflow variables from Run Script actions. - It is a subclass of `dict`. + It is a subclass of :class:`dict`. >>> v = Variables(username='deanishe', password='hunter2') >>> v.arg = u'output value' >>> print(v) + See :ref:`variables-run-script` in the User Guide for more + information. + + Args: + arg (unicode, optional): Main output/``{query}``. + **variables: Workflow variables to set. + + Attributes: arg (unicode): Output value (``{query}``). config (dict): Configuration for downstream workflow element. @@ -54,13 +61,7 @@ class Variables(dict): """ def __init__(self, arg=None, **variables): - """Create a new `Variables` object. - - Args: - arg (unicode, optional): Main output/``{query}``. - **variables: Workflow variables to set. - - """ + """Create a new `Variables` object.""" self.arg = arg self.config = {} super(Variables, self).__init__(**variables) @@ -88,6 +89,7 @@ def __unicode__(self): Returns: unicode: ``alfredworkflow`` JSON object + """ if not self and not self.config: if self.arg: @@ -102,45 +104,76 @@ def __str__(self): Returns: str: UTF-8 encoded ``alfredworkflow`` JSON object + """ return unicode(self).encode('utf-8') class Modifier(object): - """Modify ``Item3`` values for when specified modifier keys are pressed. - - Valid modifiers (i.e. values for ``key``) are: - - * cmd - * alt - * shift - * ctrl - * fn + """Modify :class:`Item3` arg/icon/variables when modifier key is pressed. + + Don't use this class directly (as it won't be associated with any + :class:`Item3`), but rather use :meth:`Item3.add_modifier()` + to add modifiers to results. + + >>> it = wf.add_item('Title', 'Subtitle', valid=True) + >>> it.setvar('name', 'default') + >>> m = it.add_modifier('cmd') + >>> m.setvar('name', 'alternate') + + See :ref:`workflow-variables` in the User Guide for more information + and :ref:`example usage `. + + Args: + key (unicode): Modifier key, e.g. ``"cmd"``, ``"alt"`` etc. + subtitle (unicode, optional): Override default subtitle. + arg (unicode, optional): Argument to pass for this modifier. + valid (bool, optional): Override item's validity. + icon (unicode, optional): Filepath/UTI of icon to use + icontype (unicode, optional): Type of icon. See + :meth:`Workflow.add_item() ` + for valid values. Attributes: arg (unicode): Arg to pass to following action. + config (dict): Configuration for a downstream element, such as + a File Filter. + icon (unicode): Filepath/UTI of icon. + icontype (unicode): Type of icon. See + :meth:`Workflow.add_item() ` + for valid values. key (unicode): Modifier key (see above). subtitle (unicode): Override item subtitle. valid (bool): Override item validity. variables (dict): Workflow variables set by this modifier. + """ - def __init__(self, key, subtitle=None, arg=None, valid=None): + def __init__(self, key, subtitle=None, arg=None, valid=None, icon=None, + icontype=None): """Create a new :class:`Modifier`. - You probably don't want to use this class directly, but rather - use :meth:`Item3.add_modifier()` to add modifiers to results. + Don't use this class directly (as it won't be associated with any + :class:`Item3`), but rather use :meth:`Item3.add_modifier()` + to add modifiers to results. Args: key (unicode): Modifier key, e.g. ``"cmd"``, ``"alt"`` etc. subtitle (unicode, optional): Override default subtitle. arg (unicode, optional): Argument to pass for this modifier. valid (bool, optional): Override item's validity. + icon (unicode, optional): Filepath/UTI of icon to use + icontype (unicode, optional): Type of icon. See + :meth:`Workflow.add_item() ` + for valid values. + """ self.key = key self.subtitle = subtitle self.arg = arg self.valid = valid + self.icon = icon + self.icontype = icontype self.config = {} self.variables = {} @@ -151,6 +184,7 @@ def setvar(self, name, value): Args: name (unicode): Name of variable. value (unicode): Value of variable. + """ self.variables[name] = value @@ -163,6 +197,7 @@ def getvar(self, name, default=None): Returns: unicode or ``default``: Value of variable if set or ``default``. + """ return self.variables.get(name, default) @@ -172,6 +207,7 @@ def obj(self): Returns: dict: Modifier for serializing to JSON. + """ o = {} @@ -184,39 +220,57 @@ def obj(self): if self.valid is not None: o['valid'] = self.valid - # Variables and config - if self.variables or self.config: - d = {} - if self.variables: - d['variables'] = self.variables - - if self.config: - d['config'] = self.config + if self.variables: + o['variables'] = self.variables - if self.arg is not None: - d['arg'] = self.arg + if self.config: + o['config'] = self.config - o['arg'] = json.dumps({'alfredworkflow': d}) + icon = self._icon() + if icon: + o['icon'] = icon return o + def _icon(self): + """Return `icon` object for item. + + Returns: + dict: Mapping for item `icon` (may be empty). + + """ + icon = {} + if self.icon is not None: + icon['path'] = self.icon + + if self.icontype is not None: + icon['type'] = self.icontype + + return icon + class Item3(object): """Represents a feedback item for Alfred 3. Generates Alfred-compliant JSON for a single item. - You probably shouldn't use this class directly, but via - :meth:`Workflow3.add_item`. See :meth:`~Workflow3.add_item` - for details of arguments. + Don't use this class directly (as it then won't be associated with + any :class:`Workflow3` object), but rather use + :meth:`Workflow3.add_item() `. + See :meth:`~workflow.Workflow3.add_item` for details of arguments. + """ def __init__(self, title, subtitle='', arg=None, autocomplete=None, valid=False, uid=None, icon=None, icontype=None, type=None, largetext=None, copytext=None, quicklookurl=None): - """Use same arguments as for :meth:`Workflow.add_item`. + """Create a new :class:`Item3` object. + + Use same arguments as for + :class:`Workflow.Item `. Argument ``subtitle_modifiers`` is not supported. + """ self.title = title self.subtitle = subtitle @@ -255,10 +309,12 @@ def getvar(self, name, default=None): Returns: unicode or ``default``: Value of variable if set or ``default``. + """ return self.variables.get(name, default) - def add_modifier(self, key, subtitle=None, arg=None, valid=None): + def add_modifier(self, key, subtitle=None, arg=None, valid=None, icon=None, + icontype=None): """Add alternative values for a modifier key. Args: @@ -266,11 +322,16 @@ def add_modifier(self, key, subtitle=None, arg=None, valid=None): subtitle (unicode, optional): Override item subtitle. arg (unicode, optional): Input for following action. valid (bool, optional): Override item validity. + icon (unicode, optional): Filepath/UTI of icon. + icontype (unicode, optional): Type of icon. See + :meth:`Workflow.add_item() ` + for valid values. Returns: Modifier: Configured :class:`Modifier`. + """ - mod = Modifier(key, subtitle, arg, valid) + mod = Modifier(key, subtitle, arg, valid, icon, icontype) for k in self.variables: mod.setvar(k, self.variables[k]) @@ -285,22 +346,18 @@ def obj(self): Returns: dict: Data suitable for Alfred 3 feedback. + """ # Required values - o = {'title': self.title, - 'subtitle': self.subtitle, - 'valid': self.valid} - - icon = {} + o = { + 'title': self.title, + 'subtitle': self.subtitle, + 'valid': self.valid, + } # Optional values - - # arg & variables - v = Variables(self.arg, **self.variables) - v.config = self.config - arg = unicode(v) - if arg: - o['arg'] = arg + if self.arg is not None: + o['arg'] = self.arg if self.autocomplete is not None: o['autocomplete'] = self.autocomplete @@ -314,6 +371,12 @@ def obj(self): if self.quicklookurl is not None: o['quicklookurl'] = self.quicklookurl + if self.variables: + o['variables'] = self.variables + + if self.config: + o['config'] = self.config + # Largetype and copytext text = self._text() if text: @@ -335,6 +398,7 @@ def _icon(self): Returns: dict: Mapping for item `icon` (may be empty). + """ icon = {} if self.icon is not None: @@ -350,6 +414,7 @@ def _text(self): Returns: dict: `text` mapping (may be empty) + """ text = {} if self.largetext is not None: @@ -365,6 +430,7 @@ def _modifiers(self): Returns: dict: Modifier mapping or `None`. + """ if self.modifiers: mods = {} @@ -379,9 +445,13 @@ def _modifiers(self): class Workflow3(Workflow): """Workflow class that generates Alfred 3 feedback. + ``Workflow3`` is a subclass of :class:`~workflow.Workflow` and + most of its methods are documented there. + Attributes: item_class (class): Class used to generate feedback items. variables (dict): Top level workflow variables. + """ item_class = Item3 @@ -389,7 +459,8 @@ class Workflow3(Workflow): def __init__(self, **kwargs): """Create a new :class:`Workflow3` object. - See :class:`~workflow.workflow.Workflow` for documentation. + See :class:`~workflow.Workflow` for documentation. + """ Workflow.__init__(self, **kwargs) self.variables = {} @@ -459,6 +530,7 @@ def setvar(self, name, value): Args: name (unicode): Name of variable. value (unicode): Value of variable. + """ self.variables[name] = value @@ -471,6 +543,7 @@ def getvar(self, name, default=None): Returns: unicode or ``default``: Value of variable if set or ``default``. + """ return self.variables.get(name, default) @@ -479,8 +552,8 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, type=None, largetext=None, copytext=None, quicklookurl=None): """Add an item to be output to Alfred. - See :meth:`~workflow.workflow.Workflow.add_item` for the main - documentation. + See :meth:`Workflow.add_item() ` for the + main documentation. The key difference is that this method does not support the ``modifier_subtitles`` argument. Use the :meth:`~Item3.add_modifier()` @@ -488,6 +561,7 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, Returns: Item3: Alfred feedback item. + """ item = self.item_class(title, subtitle, arg, autocomplete, valid, uid, icon, icontype, type, @@ -496,9 +570,14 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, self._items.append(item) return item + @property + def _session_prefix(self): + """Filename prefix for current session.""" + return '_wfsess-{0}-'.format(self.session_id) + def _mk_session_name(self, name): """New cache name/key based on session ID.""" - return '_wfsess-{0}-{1}'.format(self.session_id, name) + return '{0}{1}'.format(self._session_prefix, name) def cache_data(self, name, data, session=False): """Cache API with session-scoped expiry. @@ -511,11 +590,11 @@ def cache_data(self, name, data, session=False): session (bool, optional): Whether to scope the cache to the current session. - ``name`` and ``data`` are as for the - :meth:`~workflow.workflow.Workflow.cache_data` on - :class:`~workflow.workflow.Workflow`. + ``name`` and ``data`` are the same as for the + :meth:`~workflow.Workflow.cache_data` method on + :class:`~workflow.Workflow`. - If ``session`` is ``True``, the ``name`` variable is prefixed + If ``session`` is ``True``, then ``name`` is prefixed with :attr:`session_id`. """ @@ -537,11 +616,11 @@ def cached_data(self, name, data_func=None, max_age=60, session=False): session (bool, optional): Whether to scope the cache to the current session. - ``name``, ``data_func`` and ``max_age`` are as for the - :meth:`~workflow.workflow.Workflow.cached_data` on - :class:`~workflow.workflow.Workflow`. + ``name``, ``data_func`` and ``max_age`` are the same as for the + :meth:`~workflow.Workflow.cached_data` method on + :class:`~workflow.Workflow`. - If ``session`` is ``True``, the ``name`` variable is prefixed + If ``session`` is ``True``, then ``name`` is prefixed with :attr:`session_id`. """ @@ -550,13 +629,25 @@ def cached_data(self, name, data_func=None, max_age=60, session=False): return super(Workflow3, self).cached_data(name, data_func, max_age) - def clear_session_cache(self): - """Remove *all* session data from the cache. + def clear_session_cache(self, current=False): + """Remove session data from the cache. .. versionadded:: 1.25 + .. versionchanged:: 1.27 + + By default, data belonging to the current session won't be + deleted. Set ``current=True`` to also clear current session. + + Args: + current (bool, optional): If ``True``, also remove data for + current session. + """ def _is_session_file(filename): - return filename.startswith('_wfsess-') + if current: + return filename.startswith('_wfsess-') + return filename.startswith('_wfsess-') \ + and not filename.startswith(self._session_prefix) self.clear_cache(_is_session_file) @@ -566,6 +657,7 @@ def obj(self): Returns: dict: Data suitable for Alfred 3 feedback. + """ items = [] for item in self._items: