5QvF^|}Fy)$)GE_QBDerWL08%s(C z-vgNawAJ6*PBMQm&S`0(QSe7;tQ3mjq%=!+?Wn%??T@C){yY#^buUg@NBz+IeVwQT zHracmT_`+tG^$D51RKY??aGd--2Ap#-%7?R$ZCUaxmnAF|6yCh9dhqe$M=~ShVEyu zH_;f^0=+y{Kb~S~%7I`g=;3}(qQzw+GPCS#N+6#oRRD7_SAXE^Ow<&U;+C%+hPPH> zV`6lOqn{0)WIV=m_8WWYCT5XUfk}42RH qxCq4l_qpr`xCk+D!w&(JUfSBnuJN~#i&BA|vQi;4BboUELWnnH%c2~?sv3#SSH zP2^_~%KmS%Opoy7l9Yd@w-zk)E_%+$QSa#KW!{bB{0gRdI9NBFXRpde9 MfPG0Cvi!x%-K$tX16DV*bSnP%=qHn;@dqvGUXnJ2|^V#MB&fw z9*qdCK{LL?q2tyOhY~M3>|`5<$HqO5o B06iL6 z9HU>p1{f}Di@xbLYu7jJNxz9KxwRbjtZ0V&jw7XxIg=JuL_%X`M@(i;k?*zMM2?$c z{#k~o1f#t~{NhcffXd8m-gfgmYO%nm0$-%WnCfD4#(on(qROQUIX(LrooFsg+GvuG zrOzHkelwKBXo!l1D~)l#r&}p!c5hyU<`m{dk+aS3yDy$4PEE=0LP|;|4B!s2HGYe9 zmte5imY$rvP|f({s6uc?Ur7FD-o(;^3AtWwfRZs@J)j|@lbx&3#(r+=Cyq>VH(ajW zj8_p=Gv5`vnjPUqD{=D|;29Q9m3&G}WNRh@m5B>z4*kF#&v2=LzzP}5X_vP6Ux~7D zo4KaG0zfsrpP#~bI6G ;lpP}MsD;g8t|52S~QZQw)^6l|M)z=2l;k1?@ekO zam{Ri%{3%*zH9oHI3QfhwoJD+5-Wg|QN~JL`R&^Tre&p`9#;+}R8tThPEtfv)Kr=s znQ#sL!(9|ziG_KyHV+w@tp9ntn1^g&6nN}(^T*`d(Su;dW<&sz=^@zakXtWW5^(Cf zH>GVJAd^hb2(Dh|$}8|sGHC(d){dQDFVXL e-u&YBdmUB6kdX-wzFH|)NwoI4Odv)deV{<^K zg{L*(4l1-Xxh;Fuo0a9z03jZpSHQ!nLZV|GkE2P*q49M6S&* MI4x?4@i0%P|5_W073^S;_j6l+JnT7~G(o{%^O>8iF%Vjj(c=h|UQEFs) zUBYZdw+!W!?KfHf<>5lgY&`+(WfL hZVgVqgkxe3Lh(E(e|6v(TT4P((5kYMC`?NVa^vxN zFMdVLP4kP4d)f+fZw0bhr;(v?byG@_Yc`daTwtY!;;Xiv-X6zC>EL3 =~L;HHI*-;BQsb8^1Klj><2 ~z24gq~XGn&rfp~bLbrlXZck6%VuS2^g)37bf@E*Y$7V!(8jto<20 zuOOq>(o964x}6gLVAF2PXrGrRv@@8c2RmukqE)^t9 aMqckLqNieE_=H zwu1yH#66e(9lU=W|9k#orVX~O^Fps#>;CcY`x4$ak(3yK#+ENW&;Zq#RSf{|&Mwy0 z?6h_^L$NBZuDsyw2xxOVv)k8oKp}RTq;|+|8_7?%>XViSk*@|*p0z?5ky-l-{p^Oc zpYMIS$E(sZJaa34I&?w9kY6G2<}5Sih~M2;ka$bE2{-ug!j(>4UB BTTJ;-;DDWxF*r3DS7KTH5d;DmX$XgNu2GA!(P}>*HU{NfWU|s~`CCH7 z7))GX9(4b*w_qP&2FuVdni~MUhHfgXz96GYuU*dQSbY1oS9z^`7av*m^&Naw`YwG! z%++rL=M`g7!QT88-_Tme*PpoID!KVXDjZ_`eAqQH44Bet^eb1yZe690KF2Ao<#!me z6?Mj}@5&tz0xykBI-wMns=pgTeszxjnZ~=Dpgx+a+>g!JR$}~`E}ee#t8o!5b*`8v z$ThW&^rEr|!+!2fy EZK?Z>j;-V!DrN&o<<=N~S>%eJsE+{u}l-1o9j z^t;`?y+ul?Nz la*P>x^3+9~#(#j>6cm zd|hTZ=7$Fr%gM*d{CD|CF?sllL}99&qN0P}CzU@GPYDOyjg=S{3|lf?``q+FVvH`E ze3mrppj!0m@nqC6z4zdD>6aGy%ets&nysdKZJBEAU!|j_eLwNb)UMwt28~97an!8Z z!L2!*ERWuApLVt>dLfv9yuMD9iorxsnu=;6sftmwem3FdySK@KUlJD C4&Bxe@Z*hGWw)ajm>K~<4F-MZEL&A331Yw(Vfb4>48afw!?;Z) z0%b6_f8WHUE>~au$6A$#e&(~5=R9s-4@)?fSVT@eVidumLiP9k<(mT5G5X*?C5CEz zNl#hVm;-j7-p8?uZekxo;B0vQD*I3HxgbNgQPs7ry|#2St`vu5z8SZw5dj2PUq<>X z&Kpb20zzmEQ*Njd)6#-gs}ox{nVAb$@@F%hbyJNyzVrvZRlk&NG#nsy6>3~p_BB*J zSXavQViy?QmxJTzU}bBl%U}Y-X|p9PnGBOoTgnuXk@_-Q(K$Ih4gVCr(HIJ0jc+{Q z+7EqEsJPj+`C!}Kr9b^bSes^c?0x#hI+3f;IHl=)CYosG3f8unsvu8A(7Z?#-ua6! za|6dFU`yE{TU7k@19(c~_zlE=#$XW;H} 2e{e|5`yW{iZ1*UL|qevJSg}OJ>T3cJcn|EM$x|_7*FGxs8 zxZ?DZ{0!&5RF<7S(zeTOZ&z7Xwk}E8e$nmAOB>#a6VBR6QE?N3jsqC=B1TqY|K89w z&`|$E``d_E(LWZ#kp<@l$GgqcPPy5n-JfU|l|=pLS-Vq<0DM*`sG!RmU**CHKFQOz zO>@XRNl1b#zT QCP$+`mE1z4%tqdfx?Abp`0~%=~g PO_tOdYZvj9eY}*w+-5;x_dXK9TTeiN@?^ zKEHf2(r?@ +mvP4yPM~%>i-_OwOx;1k3Rp_H|G5i#>j}O?nYpm^`L7h(pNKilDYYGIby<6pO zKd6j+B34F{xdN&&peezR!&%o>l8_%dP5G0nsoLh|yUc;ad}F+x8LhF3k|(v0XnOcR z%=G~9$C0wKGFGllc)3I#3t?|+!%<&LPr5*IO3|EAWTK&W#K4aq9bmb)ZHeB0)%oDi z=ys8WtSUzoy&6vXGv^RP+o!f0TPxvNBEikouL+H1j3eRp?i>Bp8qX`RC-e)fK} Zxi!8+3cK3NRg+s-<8Gb}W1Xye)j!RBvZPo{V*4k3OdGqEwSeuc)x>{{T zE>(-%cCFC>Ehzd5OdyJzzGM$?4qaGB)lzoEmJwsiU*2)QdjpiAy{@A=&Ni?R_M$7~ zw&(&e=|RWb(2%K+w&^IA?Jt&wDktfblrvhO|0W~0UD!2~L$3J)3wPw}`u3pC_>4E>74ERh~+ZDZr+onS!wEJ-<7hB^~} zpp4JR7{+MZ97 nX&&~mT`{R zo5K*+;I(Bd^3l(td|n)Nzh;gq+hc#uJms?TgQcZ3*`ta@sdt)qlDS!PbGi=K7so(= zyZyW=*a(veT)l T2xcA6DMjrU`tv@KZmzRen&6M0YuXFj{@$llPH-}$B9G`b z{&Z& JobNc>!0YftjAU^tZy;Je^ozu!lSm~^BP0x%Sr|uGFVeh^p z6%|zwYJ*Q~eU?QzUGUlH;W8W!7FqoLZr_RfdxY?+L}pn-%ZHN=rYWhje_jCggRvvK z){us?D 6-t8ZP=5+jwPQ6_ko`b`WW#I{ix3&A%!d}(GE^!oyYYY7FKj$_!x->i zN7-_Rtcp}sG#nV63rV1U%`AOlS01C6Ah9qV7#NULlfe}z`2AtzUi~wo1T80qjc3%t zt|1KgL9spzh%?)-q5_KlQT87FTlSU(9U}i9-edKiIM^g~B?U+SFUdC&Li7w0*woTK zTX?>m;`tMNT5o&uh 65gd~gdDHQp2Q zT5Z{p?4`%*slKzB?2*wbmeR1h%VUr#r$Ha*=(i{+YyJ2|K>Br{s`Dl1>XX{CPHlRQ zRln1ZPI=*pc+s~EK3w-9huZmv6Tqy5TW+@6(S3UTKnG?@u dzZi7PhGxf`zpuy(H0k`rE250x;x0IBHs~FpBM+qfvS)f;jBo4lnWA3c!_{ZkL1d z0v`ghMBgBu-QxteMdOL50^O$o#Cx}gfe<`O^a`0{?~l*(^kAXKu>h7-`)V1t&P0fT zolidc%Tu_Yh~bzY8=?9 bvz_8$uN)X_4N%rM>u zM#B*zalGQk?Nep{D2h`c>eB16rs)5jDng-Qei7cQT=NlqNeqa`3ec0K`8s2qPqB7q z!jk0gh)%mceDiI`mYYP-vM2XqVgO>LMlONPt~Wu9Y4z$7SV;{H$MN!g&M_J97q^FJ z7GN4&Qqj74V2cqj*QD2A=w|5RQ+qK%SvWL3Lp?4a>u(1up;}lQ>Qx R`#M+y zqhT4WL3n(|$SA7%qK;t^I)`OAgM~`F&Z~%p 0 ziK2YKPv3O|g-uuc8$BcDV7ghEOx$(k(OaJP=0k<>9r=(-`I2Nn1lPu%BI+_|eZiXN z%6NriRby&WdmhBF;;Sg>+y#_n9K<6hU=(gt+^jK2e;ur{4~P6cs!~>DqZ+?1@E!yG zSf6e*Y@tV=Kx$c$N(cvr*n@c5kbtc~7SSVMpIG#-aYT$tP5%>kiT8Nag(31v7a@4@ zmleePnpm1xhLZln-CQE!|2|OS69)IsK&$CM*}qmkhEg*JInyL%RNib%|AR06pDB9S zywrCkLY{+YYoQ&;NgDaT;#sRcW35kgVx3ZGSxS8a5`Gu@V1(CyutxN!&w|gLe#S%_ z@664AP5$*u4q8|gJUyCM3%=LJA&%v=gD_wCDf;m$>?4l>T7ay>c_(SFnLrvEG q+@P9gEvvjVVj%%^*GbjvTqA1DywM{~d!wnwEk^b8B7^z)()4$W($~;=wO& zhR#phzAI{+k@ qy`~5L-~{l~rHOwXaTXBP{w_5jwap0H@Zo9*((#GT@W4=@ z&oHWM;3^QciG^O_NP~D}t)7^4Ny}L4sulQyGD$VNqPTHyS`v3qK#&al_kxnXAe2f^ zc_u7PRAL*%((T)=t@LdWgqkOo?Zjdg3JsWLJUzdztQ=0iB7EkvS+dJ`f6u@ArlsUk z8byZ+ALUp_5WI$9?qdCRK4f2rA0yU29d1k&vjRv06L j^Jwv=DqI&%6 z-mG@u;eWx7PPf{+*dW5surq{Fa&^)gb!P7Mmz<_KGF0
eSh0M1)l~4HWW>hObuT21bG>SsWBR6Nq;jXT*R9x@Ry0wtaF}xi;NqG17 z5E&-Q+gqDl`6s*t4Ftd0VC-@pndbpBX91$j^gH1oOf0KJA4gO&3uDS&!Zyuq2+7#7 z%>up-m%KyY!U70O8&oSU`(;tn)6Dp-_ v<;Y6Pzx4M9cvtX9rm94Kb^q^I} gpF987W zDR{9GUk7`-EsG8T0H4A~N8erE%FV*n&c)r%*$Du=zNJogIL!;*xc=Mi53QW*@s5kLls8jN#)H!(#ZyLgf&6VYI$psG zDI07%#pJ0|bni@t^2;-f-tXhNGmc7U9cALd2^Kv^r33egnqquuvkDdIbqriLs#~u! zfA@Ic^n?PR&N|j-ME&JKn({XGv9k1D+@z6ftWVgTPo tda$7p zXZ38x!DqSH%B9(+r&{GcF5GWyOaol}B65?Ly$P2?RL<&cchTQ6(N+hag53>F{9ns< z_CAh@dVhCYmhiD$Y$<%l^5dTalohc~IAVS9iB^j`%Nq)`e~W8HRKp6l lg2AJOnPcDF=uoZmI3?(f|M}pe!$| Bh*dLwuBCkq~9WYI|w**RNYMji>%wo|R>5!< hhX|unQd
Si`IC9{Jw1+Eg0F1ZLQD=S0l?+XanpdQIqqf@qV>9)VVHj()}KR& $WHDzQ3RL<`;DKLTE{6lT>%`;!yej3tC zqpngtX#p4L52hBYN~zLDzl%ozD<5BEJzu;MRj`O9 ~%5rYQ-omkq zJR~L|kzM6o^v=t#htyvk1cqJR?{mwQ>4StRMBpfZ3YZ^r`3htR)rj@)L_8I1_1H7y zGpy;WJ$7RBu-PA1O=rcY>+X83e`3MW#w_h)`|5t%&vJ>ICkeKuw6-}2s)UQi!QRs& zZ^4PR#R|=c(LaapR~dT<&Fn0d0-~a#fPkhZiMvpvk4+Ll=xJkgyoi`sQ_aQ<9$=1( z4P7}QBcGsO9{Lmi(8xLwA%0?1=fI#C&0N|rxV!5x#N__7#xAz`-t%-+)VSUx;V ZH|GOLF@;!?G`N0VrkUbJ)cSfQQ ?p3km$tad5R`-vD8Cg1hD4`~7n6<{~(O z^ZH;?L3z2J4wvsC9X-9hzBYY-e?MFUf1DeZjiwU~91{FimqmFlCc|-P1%JcC%lixt zM_d<0 {@l?UC|dc5YT!JX^HVv z)2k^sIO#+J9UgN!G}Lf^4~n<6w8X>nSvyN=aGVm=7rmzUA#h^O=ly+lc6?D$(d69h zY#3z%J8ZnXtjr_7+_X7QVow8l`g9Wky9|d%w%>pW4@DQ3=U?Etu>27iNxuQ?zgKch zmOgCYPPhy6@UOMY#TZU0@xpS^V=B-$u$;|u94BQ=OpHEOnfc9|H#+%^=#xBwIiT%w zc&g)-o*p-5$thpddPhZ61{%jzAeVJ MvU=pkh+7J1Y4Snbn-1sC(^zSQI1K>6!>$MQhH$T?~I8}Y1htIuPxQD>~tpD znk>|Qmqgs53R_~e;pn+IqPpSwN@7@pbb(9$?OP%0%R2S0DHrqu0cc_w!fVXJzy0bf zG6CXw^`Te~mRBrbx|&-%N{@qAqeJ}t!H+BO1GaZSZg7HU_|?Q{y&oZ**G*0pPr)S7 zH?8-G{&!ClBZI%5o#^9Kb=9Ot3N`BB`%v7Okd);V^yqw%vJf4wy?lk)DHm&Gxkr=9 z^}V;bd|Ex9Mo37g#eIg~L}%?%;#@f$H8h$}{Q2 9{{v)5x1YM314D^&kKXgf*B zMci5S8IPLK%;5iuzjD`~Qw3YG5pe#$5BGxc8hd!u?Is+aTl{t8{O??_adGYR3JPZJ zWg8nCVbGzH$<{VDR3wQ1T03d8lTiy{aG4Lb3E1uEMT}^xI5qEywGpvx#UYX~3lg?b zcL~IjS?Ae?$dLjv;u%|cm3ddvUTVLqsvfOwZ0xY>7#M_s?ezK2kgb%$@_amQZf*`q z$rL+#uG^N9-)XsIoWnhqKg}>yt9`Z!sI07nQ&Nk5@9Dt|fj%d$f^;CT7AhuzA1rCq z#-o4iXSRvTE0Hq80+N!FnnJqBZt)#nYV-{bTE61H6kdOb@l6? uLVqWf8 zd_m~{Oow}Th-KH~sn`YeQr>Pi@@%T11x97~hf}Q+a&z!93Ua;|i!tK;@;%oMRzSsF z#?iiQT)*K#iG4`z+2Z6QoM;npdA3I*+V+o6dbir~-A}h#Ezru6@w!652DPI *(ruiOOc;{gk+Ni6wvY8h&BmNig{1hdID1Exp)da$5KBK<1RUt9{G8Y2xP1 zn+1i1V|+|ZOncSKZI5mg6&EjV70;9 Hm#%&(tx^#5=JQ|6gwx`IDdvhx{@eJ{%cZ2POP6!AIGUxnp11H=B z0hj6dy2-vS-d$Vn=4fv3(8$Q|+Zx9|gAwuQF*&Fj3^kgd&BB3#<>qb@lqz;lLyK!< zU_it8= t?dYU*uKCukV=Hnfz!{Um?*mP7|Tr2 zNq^yE1BVm5 tz&+w`o78+ufaFsRc zm+w*FsHm|G2#GoB>86-C1sHVMn{8*iTsUWkHAei6!A>+EF?6P_`AxKJbl0!ZjVf|I zV+HXbLi rz(%+rd!Ix$}X#~_j6m$Tcjq)N3W_S31tbT^!W8KgBp+~h6_*CFFLP| z$A;ho_Pm;efAJ*KGl=RxL!O&V#HlecnOg%f!8Ae`&|2gVOt8@T-M_sZk<8MDG?}fw zXAk~CkkX=qsD_5ec{MeYT&JZ9Ci9OBui$MOL6(-5f}rzi8bZa1DDG GjC7&T zjg9YWYiR`*6z~wYm6`__;^19r*O-OO2~YPI?Z4aw*|mMkO&ymDP)!|UR8Nf#cr*(} za%*Z(R;})h7`IsSXlW+03IU4W@aR89s;37DmVc4L^~dC0@Xhk>RO{3r_=S5_JPbpA zze`r!?(ObwEvzT0!h96)T_-1BnbLR!As6J}c<;U0NwM&R`g}sKz2w(n(;o}*>pXb- zyH+R0%xz4C`M)}TeB~8#{v~DbRlB$i#R4U8VQN?0s!ldWO`qiz)+1!pKsU5~lUuHE zqF0EZs%s zz z;@`Lp+q(pizQpHQRu^-7$@Bs$>8z@&?STZz@x4*)vjr-N&N_s)@endbbm7#QUBJ9= zWN+&1QXB2f2^DGdry|doqA9(3&+O;v@69mmpAiz+!9mpmhU?jAwS=dU?Ss?wqV2P@ z`hMq2AD^qKDU7hSdjRt)OO@Zkby(>(pIEloU+C-{gKJaici}qsbzHtJcgwK=SLg{0 zKd}jhE8YiUXiNlP&}5%2m8r>R(ED#ttsPPA-;blhfuZrUgmODVVxY0Hv5Iu{<;#~@ zUQqC@jc?F|-b|dsgr{FqS5wn{_fCflB%di%uKd#+0m^Q1*-2xD+P^{M8%*Hsz@$>= z**Mmd^&!xWUB xXrIo!Kh1M;KvV *=*;!kHcH*|$ z$%=4DD}5q(Dv}eHqxsML=l_ej`^4HoKkAvO{{<3h9AwKrx10z61__B-3yksF-;OxM zElgG3_vnZSi})7I11`01o1*@Gi=MnbLSc8Y>+9BFbUkAa_xAQ~-|6k?G2dTkG(CZO zuhA`{X;v(vhZql}Ww47?^XTdHw&R}4#%PbT 9?grN&w@^O=V;JqG_&_&)4S?m2=MLkTYSLf;@B!UBm@t*PI1>Z5jUeGb;5kt zeA3sfdF4DQUHbU?8JXDb8U3GSJ3u*A;!a*$TV_9pv*iqH7fJ)WJm=C J`~CC;0E= zjl`y>ADF7EtBV<59WtzYczD~&%nPlcOo*DRB4grk4gM)|;)DGNgaH9!5clw5$obMbXPW6l)^mTc8Jsjmm^-l4l zL;=}K(LSpn?fwwNPHc3aL^Y88S&U927$f@U9d7(Oyc_y$vM}2WBje2wDori>VM{#y z?6^Xq=B;NS<%T!pV)|0q3RA@#LSP)7t)rvE`rrX+r?WK6dp6i#IG8bnj#(0e2U#&^ zq@pb5FZGs(Aa;pCT4dMEAkq52WG?>W$XQ|9FMu$8uG&TzsPI9*d1li^wVk3%RP8Ub zq-<%)NdQbuO*LI<;4fWiTrUU$$L)w;T1bw{=%RBneXP@6z@yLFXy!BUNI7O=GuEx$ zWWPzy@LDn-%!oYp-2XN=B^a!|G9 >}H)P<=5R zWBD2^f7>+%7(lh~*$)m$h8DDhi*t~Dl3;4A^8G;+)oY(ndjsdvxr8{uvN)Wf5Bof@ zvb=m7iuAFlgP2j=XVkvUM<|$MHTT+;D@TxKx4qqErfLj><4O9`8M#A9=#0gq8?rs? z;S2#YKwJVN17vcR8UG7cLgp|IC|y%iiuQA2)dFXCriC$N9(frZ?X_f5dpH(>!)x#@ z^KCWd>QnT$VJCB+I_ll4M}C@jZZpwksJbD@&;QBbc)Pfute`!H1%7xwElC;y!qYNt z#Gi%Hrk;s$ws3qUC9A#tI};Y$Y!%X>#mb0HZCZX&pUb0Z3op4}N%)3SUt7D&%P2k~ z>kL2rt;A8EMf4G(@xrGg9%<|{xMC3uk)>MK2FJ+D%g;8j C|vnCQXpY`b~yEY`0yYzcKKGD>hN{QXI$5+{!Yb3|L+J-M@U!o;5bT!8^7 zJGFyBA^8MRnI)fT!q&A5xp=&)o6~M58y0ipx%wjhkY6U1_z~+Pz0(41BB-Iml8d)$ zqXoo=%?D>aYkr8Ndj7qzu(!J=23;seFqWs>ch24xWJ43@Y53EG9o)bt1!w^p=5*rM z-<*;KVCU2Vt+XodCXN;NIs9NPHYEswS6JM=-zOu13HwAYZA$Q~v)WSo;RcZ#voY^; z&SosOwVf@@>hV`2HM-=~biWst`>S*QyhK(FjC10zt}`;>-6_ Km_VPveBI;BxBXb4KTH2m#lgT(d3I7Np+0 zaFyF+Fif-!d|vkIfW|w`-+xzmc8>vYqMl (8|byJdO9%D>+Om7wtT59D;J7 z=4pdADeIcm3Kh+kBxrAy3Cj<7A3Hy;aHOViNU;nx^)(+2y4H}E$df$%K4g*f@D(h! z?9Q*vX~)~nNh$FWd<2#p6;}RO-qFcmilL#+(S^vfN5bCV`+k@%Dr3gNYQ`5Pe4S0` z?PoT_F%p5--@8%-mzUH&Y (Q?5d*>;CeE}zDuwQXUs%$nZX4W>M9PIXXH8-fygk(&?g`jT$4bVMf>nNfgeA9 z0D$sJZ}U+3>s|^Se{8L!hJZeeNCXCRpsNtLS4XMIhcA*v=`vU`mTRY>Dze9am}r)* zGEpH;p`q$va^c0&wOw(~lQ 6(0XSTB0V&EcS8J)hoA((SV_ zq_h_4?3cX5f9N){lh;39IxnbuGo4DoGtl5pnW+MpLXbbH?b#*%GSIn^Ca?wxGeZRv z%E7XCDy;sjPjkxx05^JKJL$bhhg$SQX}1b0Ou7po_*&`HPF^o>SsAlCSw{d<&$mO@ z*HH&}z%@!pK{3g?-`h{(n?CtYFZ{j_Y82jo5Duukcp-JX>(Oj>^R@Oqb9Bom<@yPe z-+=YN@wdMZ`5jt`8KGZmNGHS#py~N>xjLS!!aM-3Q1 m zH^Uuz+WsL)Sm@oJVRdmPnes!~jYR YAX}B3y}`h?kE4-IvSx(W zl-r4R9~loUI5&<)juMUyd)w%J+H?>Mcq`6>T9+ATzLw^OMubP<{h{p5uKK}Ap!3|@ z`$?0hC%J5k*HKn_DSApgmm) ~IPSajON0e>Mv+rzA#EfYQG)rWr2i)Jf02Uu>HlL6=?>BJ zMD@`qlRT;3MfVAP#w{bG^c$ZAzk+!lF8(FFxyw=&mSL5VJ_(-Y$niL&An`uwczqdS z`E5Y8&B%J=>Go8yUBx{%#_BR0Azs04;>F3y@2CSLX7y{=QbjNx4(3}kLUTGo`Q+h| z=V&-MYo2ezIgQ^@xvKmaV~X_nQF((YQTx!!@nT7>mrv&ikB`GA+d2B;Pe6ysk_uE~ zax=QY^E$<@=|-h0<``8-!bjl0-s|*?izj-t50T}q;OubPM;W!dBL=C2vHZl`IqWe1 z?%znN5IywPdB%QPpY|d2BRH~*W;7a+Rxq`(pPzGMT+c25B ZaYDi#{X{>*ze%cSSm0zTat#8AY zu3yD{A@3jGsd+ =J?W4Qv-MiNanisixL!xdN_zW=w73nHf ztc_DeIy#9?X07c|J*by+3?OKpG5g*s{JMTV=F690b^GZIpq;7OIx`~!p!oPq3!3;6 zE1EhDd<-;rZ-Nm>E;+c(4TZjA`Q6pl7U+0#P&We$Ri~NX(OVGl~ ED=G>)KMx~R6Qs_HgyTi801Yb_@~-~PB>dG7NdXBblNFavP=99tD0;}~>#25^}8 z_kyPHPnCp`WXoJ0A{(=x#%GC()vILFyuVCIRp(B#HGr(R`z$It!|L#dh4=KJU-9l( z!TBz -x@sSVN z6=NPtR~DC^>=bijq9D3UK}7MPZuU}k=Jw+{?-Co9h2tiPmf0*8pV3@@Dt;K)mk(bY zmU!IbJ!6y7+jNTOq@iX7y#78cA)k+I|GRjNG9rh^sPA<}xr>rSPAAoLo5)-H 7} zOOVf_afrQWKG|~9GDH{XM6 N8j05A%c46~0W)b4xCpWmo351qHZ>Oib^5=E`^U zv)=w0P_L+h`Ez(oFYV3=KNdl-?ElmXuC@uZiozatESivSk$p4L3@CJ7n-iqdPh9pD zGk& 2omC^pPGeDYAu z+{x#wzFvs@Yzpf>BRxG_);4EgcNv-#TBKX*tQg$}WB+{pOk#T1*s7t9q1rmHiL@4P zHg3^K{Hd)a)Z`M0uM5?s@j4GmIb0bHyzO@$oNP{8+3|FRARu&8U+_pE+hRWjQg87R zswh9^t#F5ptxU2{(zEH;O77&j{w&ts-oDapLp_pFe7H1|w(hF@X~p1B#O2u|K^8uI zpd{J8%b2d*;T9u7U+c7 Dg--MuzwfAr)lrd LGB?8%w zr11co2M!IT%bej%8$v!hk52aol-hW3bvLu8qOUm!geD_l5uA%8w|1HfOC|bMJU4F# zfpd;!W_uNPrLcWCJI3X_^!2}$h??5rMUa@+EP31Gs%}r+s9QsjxL^P!&^U~M$5L%B z%Tav?PixWW`k@{CK|!g+*3_n7QpPOiXHi@h*K>WwWO7AzlO}grH!md-_yzSX@@RRr z3xkY5e7DH!vyTQ67Uo5jJmeD$K?T%fM;5FFpbGh03&6<8I5s*OP-cQ|tq>6rX>blL z=(atf=~VQ^C3i4MeE3X4Z3^aW`+}Kv?}~9!m_1vTx-QFm50ngE>F5vwx5b^lS#w=$ z7<{+T@D>Qj%3@bzj+mJE10)oN!DjuO&wnb-=5U32m<1q`+xT|li0?~8QMNetY0isn zxVV=%onFkX-~BZI;fAiIpaU&&O>)K^4$Cu}A&ufq4S^Gjtx=)x8y^=H_Ys6_!O889 zZcAX8jfPE;**;TJ1mDuqoWQ)A`G*?}LEuTODJp{L_CtCP|8^_5(x g*&x3Nw;;QUv1<*L~1c z<+dJ5wlb==CZCv{4P|>aNj@&^x=Ji3Czr7n#}YfF(XAUMD$DQc6iGb5PVC(GsQsg> zo8!E;cGAmGjX#Am^28;TVd$f4K}T=R$W``&3k-({`j& myug?N5)d|{Ww zpM*`@$PgxvT|A3sNc|csE{cq=3N$kwIsIXK`rsR#Au$7Erf4`cLYd0&rllmO HPNvD-M|bP8=R}-hY$CkDn&oGSX{ ydN8@dY8X+A3c?$7#Y6&78b4X^r(=` z^kij)=5V)VgrQVT&>ACR%3Jtn#i4vnWl^1fPCM=QS4qc}4by?IO-x($?Dnkga-I4> zdw*Or?HWz+9jAo?Ijxw1%@!>kcWQAb9lIh1Vc4As$t+?2HI!ZC=t7PYcf#&{4Z-eA z6X|IZ4X48S7zoRJ+MoI)T)lFNGe4Ud->!$`U5bx0eqtI$cxjM2F#Stn@W*WU#hETH zFU1EB7(qddMK!8d!bEE`Qk>UIots>*eHEQqyqPw+x7wLDiH=fhK`+V$xfq$em+XuI z?et~m#g_ufPH{n!z@wQ7tSix ^Iv% UqYEAU$3jSw8^qUqGjy+B(UkPi(mljY`#6%?*eVX5KRiO1Uj`VlhFmdowxm zO=uD%>d5-d^SeMs_X4{_L~?osUn8aySMsyTzTxG&o>XfMr%Ywy`jc1j)YuO{BWw#= zZ@XZsE`d4gvaY44n;n`!yKF-b@N>_DlQVLvh7y!Ro=uoZM9>T5ad}GSsJPG^Jf=!! z@x%g>iPTC_MOW1oG6yr5olQ*xa@40)g&>^fool2TyTS@-aUDJppMvM_M|B2c$cM^g zxa)JCjwVPm-k2Xmi`}pWqruf%8*!ja$0aVV_wGqyVWEDb>%H}%lziDz;_BDgGD0U4 z)MbrWL;pqeUV;2al?2_d_vn`Tu}5Pnv8N|>sp8q6i;=~?@=v!1_6Z0LQyM$X1PxEG z>>T02?_3yiuEPQ!4lPoAo#H>)nVuV==xN{EIF6@qhxwyp-t!TlX4+<^F<0??23baP z<*lc8%9ZOZ`>CI$OurhZ7xT{*Y-i4FVu Nzj2MVGh+L1iMT9&SvvAWN$%&1={OIZn1-VuntzIsV)Tn*#2jU z(*Lt=+GkJ`*S(B5+N~aWw6(R>_u~itCAR%Nr6AG|8^y+DsQ}v_qU5LuLE`6~zAPpw z;#1*|BcklI>Gj9|?HxpR*%)lMbPD#6^1#geGwxtB{y9Vmc$b@^rYChzc^3G``l-O` zm7}GPEbOA9x*m lD8hIQhwwURJ#(OxItK^ IERZ;AXk@kM|ZO4 z0{W$M;%CGUo4~28b%WPpk3=R|uWXiRt$jn@3WU 0~tiCk)g0@RhmalU?wH)n$61Lg%8K=)&941ap zNwH79sJuCH8g4COf(Xy3;Qyc~TU%Q@n4=sA0I3ol-@(R>DEtsC?C tKrCv)NS#YfplK~oPEriwa`!2Rf@05$P=eUK&cVDh9G`jKd^Ir#O(;f#dFPndp z^rQfbem+cf+;~tl+ w092u! z&mYN2M@Ey)5C*>Dpgl!{-pFT60~kg GKu z5O=CNfSk|sLfMS#3lpkwDSmdTiZuSEX-mg5C6EUj8i?eejmBGUU8~tCG5)>s${}1V zi@WtwK_K5%uC1*lnGk_Z?Ti%G|F+oiU&+9(`UHdo2B*Y*nIT>D`e&P1Ynh=BU*J>8d_lJPWq$()*!_Q>C@z~9$rjW*b zx&1My^JVEOUV}PrUr0O~8o78-M@LVQG44&m C7diX=l9-bJf0@HSR{t&@Wj6K*qiykbu1w2(R9 THhCn(_f#=lcPWivBSIdjDETZn9Y5CHTv$Z{6s;R7nK_gx4s_ z=dnk*wk7?O^5f60;=jl?eDS x9UT(E~r0dS&u?*l}+{7TsR2qU@W?Whdn=O5iyx z!#`#GOpgVM$-2(dQY0qQe7a_;(Q5K8Wd43DDX5306prL({UNo+y`=?M`L{T}+>#m^ z*eEl)#6gBG+Zq-o_oNpJ{HG5j;vdd`VlUF*0bT=JzN~KoI^P%Toe?Y3q3TlW38q*; zeaU*;EiAloZn3R5&2|HK2?YWm<;W4qi!9F5sr%jOh|h%)GGp$yUu10AKcbRwJB6Lk zyJ^^I(aP2sxW=C0*-Bpkzc2MD4v!mjzB#gD#mWTwfspGnn!aO;Gx$L5yBU|fE1l4>mv6E)p^0Kf>ArGrG6keMl%f7G z{;$I-`ez+Z%JZ+jIgb7Tr^2G{Nt5=9HVn?4Wj4BLv>fjH{1RJ0%RSRk@tsKcX(mAD z !NV57vu+07*6Vu;AhKfN5iJEhkj5ux1XxE+D6Pbxid zY`p{PymQ`4!Y)NT0%ET%wU5yVv)>ywY+WvL)WJ<$Xg(I<()tP`|9a&t_j$23q#J1e zEgQD4Zs+ep38~flTRtF+4r^B&H(F{SVgtqqVp?C?!w$h{Ii*m8kUth0(a#(luo1{3 zbqMTHLjG&G{IqXiBN5xE4=d@VAxh%>pB>4KPpKfFNY5O~r^w{>&!(UWe9ul`X+|ku zO(FH~H&3G !-&yYEpFlksa+WddlseH79A;?<5Ks?EE<(E5QfAzI?7xh^ zT|aDvu*p)L@wavb?|Wb!@wL)fYviY^+d;$%-ePtW#&pkm?|ht#c#FFv e2na!vSnRa$WB<-~=7dCg zM-({I#V*Y%x0oUbdnWG8Xrv(-nsboZ#*&J!p3aJri^V$y*XS=y1iQQv3rfHKx#<|P z_eK$vim4 $eio z@ROa@7vOfG2`=knzV4QdGXUBfuW mcD^NhE}_OgaZ>vkNX7EL0jVyO`Dr2i7A zVg3UgVtI+Yyp10Wixm_yg7q1)o8f!}ssk+7+TTr;+aeg~hQuvq89BVX`HbqArv7Ye zV5X O8sV&YRY9)gAv~0oQ*}fU +b6xj!C!BM!mx3rj005A3 zbU?WY+2?PFiwfgZ)*mK9qTIf4F%*Rh@g-aj4!wRe2mnaA8L7?C4!F#HJSj1UXuLzy zqb6goVeY`a^v~S!vcybMDvoi8E-O){rutrj3PlP`BU&9N3l=xwZsbPg>K_m{Q8LY8 zo~G8Mdxcs_Gd1)+TvLlHd6+66NY4&Sw`#jnYsQw(+;UIYLr1n}JsV5RP>3|DI{59( z;;im$iBx$hHE?Y*Q-94@Y#hER`w|-(xj7Vf900^GJEE*Eka9V>m;jiqa(8RaJ0i CsFV+&Hne+LQqrh)s9<= zU)gn}fWWYW10$ZxA^zd=t>u-6EH3FCS~Se*nH~7;OCGOmLDt#I%$sqr%8U#R>t?ij zUP`L(_vl<$TPa)6{R|}apf-jB(lYv$EaDPc=tGlC`0#ub5|)OEKKu12cVQ`kz(nVQ zI#bk$QLF`=)X+stW*COXH_wrREi9lI>oY}&8!>RjdG268!1~t}k;7t9j^LEb-xFvp z%HTU>{x-QsLR$cxHZH9!TH>4baJR`8q9WU``Uj`yZ7=s7*3*vajA% fs8t zWX+pB6e>xZ6cYjEny8MG>eKJF6oJ5C5FbbN!QnJFjEx-3cLOo4ttw#f*JQMl>3oRW z4J&)Zir?5znV0qTWo2b;zD-2ceW?{eq!1?wB+|Hj^_1JkkHKPGRsjNC=F&A&Qsu9s zwl8%$sRF%>(-Q?ud>VA0Vj|W(7HL)Jai0?ceB6Tz1sKS-TPGqAPz6f3u&YU$T<+%@ z6mD2x1gCI`O(5X- 6~CDV_)?G_}&t6iL3MBaxA-hJ0dQ8ZOUXBUy%pU02(Xo_F| zz#-Dv!2pm8jq@Ak5Y=TMEF$5>x&HFTJg<&PJG)nDXRuoP_l1>6pPXA{KB5TRmRl!A zlLjLqI%_8QI4QVBZH*YvP_ubcc*?%eE8O7F0S4oxWcl9TTrh3yU?0s4HzRCA|1 8n;*51=GVvJRIY}@oQU^(&L{fJ84XeS{w2pSf#0mKf qh7t;1Nu94m1UW7U>D*M%rid@d}jiEkUB-O|&1(n#beQ0drM{8gaL)ryrZ z|K~+oS+!?%y7LvzKqHmEd;4Q1qWI05-;Jz~da~^#PdO;fF$xf8Fh|HIbR3+vYIMr* ze&7@J^;3vbp77Xs^*X$t4H_~pKMVlQXI<$tp(5|O{QLKJ4;yLJWlOgl-p*Ubydl`m z%>0 u1ZG zk%_p}?&6c=9vLG+O6K%Z*FFd3_f7K8oVBV0kl8-S>>AFv>5BO5m1Bxc0+Yt3TMt{N z`|Gsy=A(ImV*3+f<$9BIjBTZ`vHcfmMO3CaWz~YV<$YdYz2)oc>uJzEG?ev&fAFcA zVR74&D6qHVbKXJ 6<*I6(@84ei;e1_vz3O9!wkt@=#A}sF zzsWV?)9GcCuWX|S4NdLieddCawYb!PE1DVB$^D5L7a)@wnaqI!1LY(;JP2UZ{({HK zRdVAa#S0j5K1bsxi4o^-j;8t?6$fg%)l(Wg*t!T?Kl^<>DX9Fp>gGJ1n>U>@_Y|DQ zxGrUWan;xl7`meFP9(#OQ8v4x^5>k2xCGNqn_tROj``0b#%2iR1HxwuU`F|;KhlOR z }`D2TRgpbO>^MQ zVJdiJzHS0pX9``d_zA4BI`#>-Di134((;y8o=(&*{ N{F`CrS1>pE# &)?>eKY* zJp@aL_P5AXCw1*G#N*?_8?!L(0arAlG12VXk)>~@Ke@}oorRtC0{Ox_W1ktFef<@q zyZ)m|CmS^JgYlVEVPWQ8E|56SS fSH?XbC5)be-X( zAvS)e4O`C(e?FDnr ;{kEYHtGttKLNuXoL-JaT zJZm0>RI)G2n}%Z9*JJzc{QiL7`JHp`{oHf!J@<9)IXBbE!A4wEK@ A=zJGsL? zxmrH3ry%0h->O!WUM{Z&8q~{-#{#0Hw=1LY_9zM$Gqax;*UgYxoKsfpnZ80`dVkoG zHOtL$%kE;8CjtN>3P`K-F0o`bX$Y&>FW-mP%&h!YQy`>z&xw%UapG~|cuu2dL!E>R z=|ajRKUK#eLYI75O3B_i12RP^;`*XBoPfi<88y~PcA8zUeUi{J!330eJ__1rA*uer z>PsH%!dcTC8fA_-|Eretc-M1lZEf(}=Aho@+FGdE(BPnVH$orHOo_M2FSguIO0vvT zRYhuCaXXYEnL2OvG}b3Sw(uW *@+1{Qd!g5`N6H~!7FWbMPc?!XcR8~mv{MWInbk6(U+F@*qkS939c;)9U!wG?V z^JJCr#K-cl%N55Zmf; eEA|YD)Fgp zR-C*;5#eX1`Kz{uJZa~PqE6f@-tU+;8Vv}R^9oY)R4RQgivNqVIwkDq=W+4Sd6 Y~Cz?*kcQnUX>tk2Jr-$ElT&iWZlB zqUOxk3KPT8fVHXCZeOj7K>>$#OH+OA>>68`0t%`eJC~sEo`*~0FAR|)V`6GA!Y(Q@ z@3E{`T5$XE)`IDWD$7t?tCX@=m(MmfHr3EK3WQYdA})+LunP)>h8@^|(3r5? dC)QPT(`~*^wYA7o5rgLcN@+ zsi}xt>VyUiqQwEhT>CK3>Ekj5cTUrJ3CTHMC#U9E-5IudR#+@t5Uf*lB)h*m917e( z?Rm!)Gnv;Mz~F^%d5i?`$l_4`ojY1n?MEy+*Kca(` 1rV{>Y0>m j3HDGK6n=tq%%sYQfLA `+?ZouVgO>d0kR)Ho?Q>RAt174(HSA<@brCFwu0L?#UiSQ*t1gLZxQA zXrwWg%a{@O;hWg_j9I@kNJG*MU;LqE YC_EkR=7XkHw^M{I)6`p zewapvV;t5#vmBqHEY>n@Su{Mq eKjuck~5KJx91%%&Wu8q$r9_x(3g%GKas(F+d<_x58+xG3&>bN=gztI=q~& z ms#~_w>KT&F#DxV<+j=lT|6A{C+GQ)VW)l)Gtu_1h|c#hadF+$6kIT z$x=&J8jxa9c3U_|?b1H _ovEA$Hrx62pSN)Jx%trM@4YXZu48+Q7B z0ingd0SG>d-lv2959jk@AZx*qdY5G0j;j4lC^vz0j6%Ry`>?VGdNV!H^@*BbJ@h#r uZMw&oQv<$xGaW~241Z9eE0F(LjxX#W)V2gAvU!3h4nSHvSiQ9LPW=~gvhF_s From 70a2238f0421ae878aa56eed787d94205b4facf2 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 29 Jun 2020 17:43:16 +0100 Subject: [PATCH 02/18] more pet carrier changes --- code/game/objects/items/pet_carrier.dm | 14 ++++++++++++-- icons/obj/pet_carrier.dmi | Bin 2372 -> 2341 bytes 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 5898f882a0..43d7c8afa4 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -26,6 +26,7 @@ var/escape_time = 200 //how long it takes for mobs above small sizes to escape (for small sizes, its randomly 1.5 to 2x this) var/load_time = 30 //how long it takes for mobs to be loaded into the pet carrier var/has_lock_sprites = TRUE //whether to load the lock overlays or not + var/allows_hostiles = FALSE //does the pet carrier allow hostile entities to be held within it? /obj/item/pet_carrier/Destroy() if(occupants.len) @@ -105,6 +106,8 @@ if(user == target) to_chat(user, "Why would you ever do that?") return + if(ishostile(target) && !allows_hostiles) && target.move_resist < MOVE_FORCE_VERY_STRONG) //don't allow goliaths into pet carriers + to_chat(user, "You have a feeling you shouldn't keep this as a pet.") load_occupant(user, target) /obj/item/pet_carrier/relaymove(mob/living/user, direction) @@ -205,7 +208,6 @@ /obj/item/pet_carrier/bluespace name = "bluespace jar" desc = "A jar, that seems to be bigger on the inside, somehow allowing lifeforms to fit through its narrow entrance." - icon = 'icons/obj/pet_carrier.dmi' icon_state = "bluespace_jar_open" item_state = "bluespace_jar" lefthand_file = "" @@ -213,13 +215,21 @@ max_occupant_weight = MOB_SIZE_HUMAN //can fit people, like a bluespace bodybag! entrance_name = "lid" w_class = WEIGHT_CLASS_NORMAL //it can fit in bags, like a bluespace bodybag! + max_occupants = 1 //far less than a regular carrier or bluespace bodybag, because it can be thrown to release the contents + allows_hostiles = TRUE //can fit hostile creatures, however only those of a human size or smaller (and not things like goliaths) has_lock_sprites = FALSE //jar doesn't show the regular lock overlay custom_materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 600) -obj/item/pet_carrier/bluespace/update_icon_state() +/obj/item/pet_carrier/bluespace/update_icon_state() if(open) icon_state = initial(icon_state) else icon_state = "bluespace_jar" +/obj/item/pet_carrier/bluespace/throw_impact() + //delete the item upon impact, releasing the creature inside (this is handled by its deletion) + qdel(src) + playsound(src, "shatter", 70, 1) + ..() + #undef pet_carrier_full diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi index 32fca90f0bff4b31eebf5b44efba0998295dd024..2d7e9e70b6efbe36d8e01d6a2fc468510ec8e1d7 100644 GIT binary patch delta 2155 zcmaix2Taq87RLWj*&9I+WG|t}RzVpSs7z%#E(Ho)tc_&|2=uc4rGO|Kq_;9<6;zZ` zQ8u&)hze5KQ_6^}qJS0z9)-t!FL^Jy$;&&*mz*yrC+C;%bcvJ1vj#v5J8PIbw(wiN zLx60L+&e14dhm**Jx9JrE!;}?bfwx^)iVUafMf0j0M{L_sJ?h94HM~ EIVO--C!W$KGACo|TGW+7$kKpeQLwVF{#WPe%z^}FI{5k#z+u$O8x%GYG2 z+8dIg@Jj_0<$ZrpKZWYFW^g#N *jZ)}j?{2BEFaXyEMzq}7B@mJCYWAW&$&HqQL3f?Q*sjY& zt++oRr@0itFM0@VlP6QX2I;pZhvL)Pr@nCmj>(-VRe`8LDG3D9IxXBURQyuZXAO0Y zkd0Xw>7D!5&mj2pLtU7oTTp}S)no`Td(YUv_o(mi5sjR8*v%j9D%uf0&^N$a8-Nd2 z?%o{CwmMZ9mXH7+A*LR_nelENoq`h5-;vP(X{E>vXe{~w4$ajXK?on~!opnHtp1X1 z9|8+rD9j`Nq2f88lgG>70wrvaX-f%)w>LWS44>a>+w7Iins6;DDC%zNC^gkwbm==G zz@2=M(KIn}Pn6pg_tfGC9V~5X0#5>=g7gOQej#B=ICXdv>IvcHRVvASyRZpd>hE)d zuGdYGLj5C7gkOy0%w6VJL@3ybVBOpvvFaMdhxPJ4mE__@U9;jM_WeG(K$+>t2(A}1 z@;$Dm8JMveUo8nsbd(HkTS6kg_;UJ4icGbn!=~}|;7n!;a+n&kYmg5X6sW0KmyhUl z(K?4i=H4dZSzqVJa`3D!@?(6| nkp>vx3Y z;NZ}2pM~I>NKo?vfuy&rx`nX<{NPh2)Plzu-}S>_acN13m(v4*(3j-z@T1UBb-wE2 z95|bg4JcGCg%V%W-|vX%8jr=Q2S w0 zfM@RfiKcyw#H`mG+*=Jjx|JuN(5pPQv8MS8#4E7!U=YhS=PePxGgFva`oTZvBkBXGIU 7P4SX%a_x`GBRp;a_~|_y^Uvu>mCl0)Zff+C;Ym$i)Qv?=G!E zXyZG^;9A7R({|uGI+!SEtNKXq+BG{c-)(lTqBMyaJspId4*H~dy5)sh+{7p2?C%W; zx#nN+orH2U24kgtBB49LvMo@gz29^tP}ip1rNUKHFfiPzkqmBsSP_w%zNDOIee`u} zgNNh=hoco@23*+?zzr`#ob6L<)_JLrCm=m}Zq9eVbSgD!N?uSz1cIC2tX&}Ivql<} z4eB1CP|8Zj5Qvo@qkqQa J>vYO-^B4yd_Wx8}A zkRfO0yTbs3aKf*6EM%Q-kbRH;8>-Tu8(VE*&U|^W6Yy-3Zu4d=x_***tCCE}Iav$x zlmC1kc*gPD?P{`QF<#p36%S>I-m2=O2DZ6w_N|oAKxc2m7%sj0!Ek9@ju#xml=^i? z8IvpDI1_z%#cE1y8hE#X`C9;wEqJhP-lJYV{K)^4%YPHo_oq?HHI_9L)cz7$iHr&p zly+YG<-gD?=f#~n&)x}5Mna@Jg?t3h ;E_>ax689I=^pi0Nrdx#gC iZvYC*^KZ$21K8zT6%!@Q4op@7M`Z`UYF%ULga0Q8E))O& delta 2187 zcmZ`(XHb)i68%CHkP-n=fgrs|ktiZn=~WOE#CT~TK#0=B0J$KLkE o;AU_pEfeJf zHxcV;$>_vWY~{`M^VQ2YZHRu!9r%>$8%hhJ5?RL5#L)K~ErRPrE(Tz1ZXP6h?B>o& zR>b?8*R0!ZL#Q2#<)cOUr^{-*4z&H?Jqup)d_!Cg2Qtlj0i|nGkD45Hrk&~KqZ-%A z%d+!3>tV|pv+1+odV(3nkjN*rU7R}|fh)TD$%5wV8#%A(FN$P18FF$;zKl2J&Uuq; z_D4%Dq_N+#{l4fIYE7_@Z_vq+35SgUuMpvu((+S!j>@OjR5N;)Ms5veF^X4DTN&s$ zlTTLY5MV() hKv*FDj Spl5S67Y6JBxV;?+6Le75eBfK>3#& z+gXlq3uuDNLJX-{4Eh&=xlicjmS@4{HHymf)|pzp^nHRJJKO%-;nDdO6PKa0%JSh| zp{+3|K*A9=NH6`6&C3;?r-xLMXF1p)nVOQ*!L`pHHRnN~PzV!K=!(I}?rNx+>mCIn zT3W=R&@b^wORbdvTW 1#;T;5(^vk oTVl~q~jYQz{O|LYZynZzN4nA+? %5;E0Q96(*w&wGbmX1PuwDyL46$!~Z{kKeLJ zwNm|EWm9d{&~?MF?4mBP3@_*Kz~)lg47#dDm<7BaR7$#+mi+N|>h)togsQt95-BZG z>KbXs49&Rsw#^O>j;m>a8c_Xg%45&=aU$Ai+wx3H|CI<1@|Hwo>-+|wKl8y(QM_id z3m51I3kux@B1Z-F%XO2ejKV^>4R5sES+r_~0VjmKWkOx S=}`IH%8fQsU&uVV- P2As*_;`jNqkmC}7>QLd UKcQ*oIM2v)y`55l|QytsgGIPJ 7$ w zEW =b{L!;$Elu87x?Cs|gmyQIVzhl0^603uY)j0-neLPndgTh^~&i!R0X_)QR zR{8NpO>M2@GxJtAb>hrB@mY`AZTyS*4b3l9wI_9rZPP=#tk>I7i9T+!sfO{xv8gw? zW@XX_Mn+V`;!Lp+fJ*u$5h+woj|RgybI4Jy=c8xwp*QYLCc2*I1gd(Z6YA`#N(d7V zGydKL 5yy0-g3NPMsbY z7>g7sJ2_f`GBa|QZgz0$*UFG+3KGYvXDh`J6y}hXqMx8LTT`DfTf&ecCpl+6vH4i} z{NMXcp~1W3{cwL7)kochp2{jRV%n2FrEDYUdP2z@LK6z){`xBWDIlbVezfBqI~S`6 z6~+cIMway`+i^DENMsOXwS4zBAT=vO3D%JvXf{A4t?w uE_3* zu)eS-fO!ddj%L69f0CbF=eh^wf+;$<<#li?ffoKiBkW3O;5h+RsM;o#fg13l_v`Fd zaN99 X$k^G$L6 zo7NBd#$jdkU?)d7_phnX AMWEpBOFCsKHPa2UyLY4BWOJZ_ANJ!nPOGC~UG(!n9gguM4&V?4P$j KeA+` Date: Mon, 29 Jun 2020 22:56:25 +0100 Subject: [PATCH 03/18] air is good --- code/game/objects/items/pet_carrier.dm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 43d7c8afa4..41ed6d5551 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -106,7 +106,7 @@ if(user == target) to_chat(user, "Why would you ever do that?") return - if(ishostile(target) && !allows_hostiles) && target.move_resist < MOVE_FORCE_VERY_STRONG) //don't allow goliaths into pet carriers + if(ishostile(target) && !allows_hostiles && target.move_resist < MOVE_FORCE_VERY_STRONG) //don't allow goliaths into pet carriers to_chat(user, "You have a feeling you shouldn't keep this as a pet.") load_occupant(user, target) @@ -204,7 +204,7 @@ occupant_weight -= occupant.mob_size occupant.setDir(SOUTH) -//bluespace jar, a reskin of the pet carrier that can fit people +//bluespace jar, a reskin of the pet carrier that can fit people and smashes when thrown /obj/item/pet_carrier/bluespace name = "bluespace jar" desc = "A jar, that seems to be bigger on the inside, somehow allowing lifeforms to fit through its narrow entrance." @@ -213,10 +213,11 @@ lefthand_file = "" righthand_file = "" max_occupant_weight = MOB_SIZE_HUMAN //can fit people, like a bluespace bodybag! + load_time = 50 //loading things into a jar takes longer than a regular pet carrier entrance_name = "lid" w_class = WEIGHT_CLASS_NORMAL //it can fit in bags, like a bluespace bodybag! max_occupants = 1 //far less than a regular carrier or bluespace bodybag, because it can be thrown to release the contents - allows_hostiles = TRUE //can fit hostile creatures, however only those of a human size or smaller (and not things like goliaths) + allows_hostiles = TRUE //can fit hostile creatures, with the move resist restrictions in place, this means they still cannot take things like legions/goliaths/etc regardless has_lock_sprites = FALSE //jar doesn't show the regular lock overlay custom_materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 600) @@ -228,8 +229,16 @@ /obj/item/pet_carrier/bluespace/throw_impact() //delete the item upon impact, releasing the creature inside (this is handled by its deletion) + if(occupants.len) + src.loc.visible_message("The bluespace jar smashes, releasing [occupants[1]]!") qdel(src) playsound(src, "shatter", 70, 1) ..() +/obj/item/pet_carrier/bluespace/return_air() + var/datum/gas_mixture/air_contents = new(101) + air_contents.gases[/datum/gas/oxygen] = 101 //the jar can host things that require oxygen to survive + air_contents.temperature = 293.15 + return air_contents + #undef pet_carrier_full From 0e57e0dd7a9f4460becddc6821a66cee6759c7a8 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 30 Jun 2020 00:09:14 +0100 Subject: [PATCH 04/18] atmos --- code/game/objects/items/pet_carrier.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 41ed6d5551..0507180fcc 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -213,7 +213,7 @@ lefthand_file = "" righthand_file = "" max_occupant_weight = MOB_SIZE_HUMAN //can fit people, like a bluespace bodybag! - load_time = 50 //loading things into a jar takes longer than a regular pet carrier + load_time = 40 //loading things into a jar takes longer than a regular pet carrier entrance_name = "lid" w_class = WEIGHT_CLASS_NORMAL //it can fit in bags, like a bluespace bodybag! max_occupants = 1 //far less than a regular carrier or bluespace bodybag, because it can be thrown to release the contents @@ -236,8 +236,9 @@ ..() /obj/item/pet_carrier/bluespace/return_air() - var/datum/gas_mixture/air_contents = new(101) - air_contents.gases[/datum/gas/oxygen] = 101 //the jar can host things that require oxygen to survive + var/datum/gas_mixture/air_contents = new(2500) + air_contents.gases[/datum/gas/oxygen] = 22 //the jar can host things that require oxygen to survive + air_contents.gases[/datum/gas/nitrogen] = 82 air_contents.temperature = 293.15 return air_contents From bbd9d3c61f99cc1225f520cd7d5a9b1769d84c2e Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 30 Jun 2020 00:38:33 +0100 Subject: [PATCH 05/18] better air --- code/game/objects/items/pet_carrier.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 0507180fcc..14b1e2ed79 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -216,6 +216,8 @@ load_time = 40 //loading things into a jar takes longer than a regular pet carrier entrance_name = "lid" w_class = WEIGHT_CLASS_NORMAL //it can fit in bags, like a bluespace bodybag! + throw_speed = 3 + throw_range = 7 max_occupants = 1 //far less than a regular carrier or bluespace bodybag, because it can be thrown to release the contents allows_hostiles = TRUE //can fit hostile creatures, with the move resist restrictions in place, this means they still cannot take things like legions/goliaths/etc regardless has_lock_sprites = FALSE //jar doesn't show the regular lock overlay @@ -236,10 +238,6 @@ ..() /obj/item/pet_carrier/bluespace/return_air() - var/datum/gas_mixture/air_contents = new(2500) - air_contents.gases[/datum/gas/oxygen] = 22 //the jar can host things that require oxygen to survive - air_contents.gases[/datum/gas/nitrogen] = 82 - air_contents.temperature = 293.15 - return air_contents + return loc.return_air() #undef pet_carrier_full From 10a0e1b68827a79f025b6936117bb110f73d4cbe Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 30 Jun 2020 00:46:27 +0100 Subject: [PATCH 06/18] stick it on the right node --- code/modules/research/techweb/nodes/bluespace_nodes.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/research/techweb/nodes/bluespace_nodes.dm b/code/modules/research/techweb/nodes/bluespace_nodes.dm index f8e5eeb0a4..b0705a0b76 100644 --- a/code/modules/research/techweb/nodes/bluespace_nodes.dm +++ b/code/modules/research/techweb/nodes/bluespace_nodes.dm @@ -13,7 +13,7 @@ display_name = "Applied Bluespace Research" description = "Using bluespace to make things faster and better." prereq_ids = list("bluespace_basic", "engineering") - design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic") + design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic", "bluespace_tray", "bluespace_carrier") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) /datum/techweb_node/adv_bluespace @@ -37,7 +37,7 @@ display_name = "Bluespace Pockets" description = "Studies into the mysterious alternate dimension known as bluespace and how to place items in the threads of reality." prereq_ids = list("adv_power", "adv_bluespace", "adv_biotech", "adv_plasma") - design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash", "satchel_holding", "bsblood_bag", "duffelbag_holding", "bluespace_tray", "bluespace_carrier") + design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash", "satchel_holding", "bsblood_bag", "duffelbag_holding") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5500) /datum/techweb_node/bluespace_portal From b36ce5ee5f0cd716494dd19fd51dab11f21cff35 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 30 Jun 2020 00:47:38 +0100 Subject: [PATCH 07/18] starts locked so it doesnt look ass --- code/game/objects/items/pet_carrier.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 14b1e2ed79..12d41cbe1a 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -208,7 +208,8 @@ /obj/item/pet_carrier/bluespace name = "bluespace jar" desc = "A jar, that seems to be bigger on the inside, somehow allowing lifeforms to fit through its narrow entrance." - icon_state = "bluespace_jar_open" + locked = TRUE + icon_state = "bluespace_jar" item_state = "bluespace_jar" lefthand_file = "" righthand_file = "" From 1748088d42b0883076c1df392960d965faa0b3c2 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 30 Jun 2020 00:56:54 +0100 Subject: [PATCH 08/18] small sprite improvement --- code/game/objects/items/pet_carrier.dm | 4 ++-- icons/obj/pet_carrier.dmi | Bin 2341 -> 2362 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 12d41cbe1a..def044f970 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -208,7 +208,7 @@ /obj/item/pet_carrier/bluespace name = "bluespace jar" desc = "A jar, that seems to be bigger on the inside, somehow allowing lifeforms to fit through its narrow entrance." - locked = TRUE + open = FALSE //starts closed so it looks better on menus icon_state = "bluespace_jar" item_state = "bluespace_jar" lefthand_file = "" @@ -226,7 +226,7 @@ /obj/item/pet_carrier/bluespace/update_icon_state() if(open) - icon_state = initial(icon_state) + icon_state = "bluespace_jar_open" else icon_state = "bluespace_jar" diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi index 2d7e9e70b6efbe36d8e01d6a2fc468510ec8e1d7..e79bab72f3787e1ab6640be25fa7067281fda394 100644 GIT binary patch delta 2176 zcmaJ>eKgaJ7ys@@4H2Qp+e`{6!xXV 3Oy4l-WyTy>E zNzRVy?pp255`$ecXHU?glhriloXxgZ*UCNi-doubW_Uj6 IuvVartmGoHQcL>;F2i{9Ve-& zhE;-yenbG YR&y=JTP!IH0t~us!5#6K(hUebB^xH6mZn;f~5A3Bao@kpnD+;TA5pJ z<5+MZRGzSGyLZB{E7AAV4y)$bU(dIOJf?FS=@)*><|N%&j4B-$IrI<@p%s?oB+Y34^@qXqE5iy*AG+Z7xn$@puh+dNT)-48`_NTdS@4T$>Jbw<^g!hc z_gJGxM_x;Vh~JJ;1UKRi>~fUTVvDJ~{Ski*h9TvIF+KKMV|x<6UV$-9&s8@zs>Kx* z>Qep%u&vBezFrZwRnZg|j#Si^oKT5XTtLa; 8 zOgOT@-P!yCk^ uZnax&QMHQ}(vxMR*rd$ayR=WL$T$f+t o%=3DTNcl*t-ma~XhaA+|A*57{{7q1 zpzb+?4qKhlyUI4>Bz4V$6)ZQ=Dd^U4!e#V{~2MfQ_kP91w0*w0TWuM}*|N{PD4I z&T2uv^Rnf;x=IZ zB>8M?bKm|4R6IUlut{B;`4EU)yy=)$|KdeDb{o=KI=M&6Mk _ zg9vVjMn_9S)D(vtrLcJ$T`P32hSGV$;vAO=RR9VCdwW02p|LXW*e7OkF>py&ib9f$ zMOIy19kW3D(6&e`@C*|Y$q|mX(GP9$cj+gB^4h3-hK3g}UIf}B0&uuf`Wm<1`XzCE zTSClafb2Y6XO}M?uhew(=%?VhRdQ=hY)ySRw0D3m0cb>9-K$W(Ms*c$MKalXs>UPt zv@QS$32LZKWAG=6VuCIg6HGPZ&&4QnjfiKWME4B9fcb;w?VmGSh=ar%NHbMg-%kO? z>;Pjw9s@7f(b3t>pY6jYF;rRwo?%YGuaY(>%|C2VS}Ms6vELs&f@f7*)?E6iJfuh1 zfc7C&Xo%M^DajY4yJ+na%Y;-~dWU|v|1kP~g>ph~-`)p29*-00e!bjJQ{>sb&^-W6 zM1#gsRedtAt{=M*6`iqFd`zlAL9bz*(zD_3b4C}vF?wE@@=4`9&kIV;0$&n(7%NIa zeZJM&cYk7H0*%s2dmDhJ`XgAKEaCKlc3+dS-oUKT<(mw8{DQqOTk{WF(|nuaPg#EZ zQ*laMF+@4rj#>jGF7!(%*f>1JWs1O^TG>!OpTFWwQNQz`Nficz0-yLhcoa9GA;Qk@ z)Q-1zZOP-$nu-l@xHCj)$`iWYGIye#9|08T=~(|5>ntjTCmrkl>ECn1Vruk12)*@t z=keKA8qs~?KL-G-7-z+KH{`~(HTlWs^k1*u+&6@=yd-AQ_Bw7~+Sz2T3%YN1eb6Z^ z^mMs?nBR6sJs>Eot(Zn54M_^0Kvh4*unw$#OUH5|&E#`B@aDwM>yo6%f(4tHEJJeE zhWzpme#5vaj-C5Pw$Rh#*$Y*$tggpJ;xSdQ`Yoe*L>5S7^%BjxzrAf4CWZu;lz?L# zJqUnHnA_9ET+#g^8f^zRt5~}}PF9(Yl-pWp>;p!^Egbq=%v={U2c2)X)A(Bkmk95S zCG=ZmOJtFWrX9fl3XU^47DHL!24enm)8?3F+}MCKySLeMKnIRQ?}25lYfkr*nO8SO zB1_bIIl()drhUh&(1HW*9@sVeYJ>QfU-t53({7(@B)%zts2xd|(v4W$uB|$+qdGqt zI}QsM4cdQh-aty2UmBKX}2r?SEGNZ z*C=Zt9x?XUN~`W)Zg4I5@QE}C?F$Sm3@|OxSmPUNM$7-V=#BNXyddy58kL)Pb|#xn zFxx%b#lYeJ#*rb9sb{t^q|e>jjoy6?@c$i>cV(-~7`WyIw?9_@aTO4oy&cB(sm enOvj#v5J8PIbw(wiN zLx60L+&e14dhm**Jx9JrE!;}?bfwx^)iVUafMf0j0M{L_sJ?h94HM~ EIVO--C!W$KGACo|TGW+7$kKpeQLwVF{#WPe%z^}FI{5k#z+u$O8x%GYG2 z+8dIg@Jj_0<$ZrpKZWYFW^g#N *jZ)}j?{2BEFaXyEMzq}7B@mJCYWAW&$&HqQL3f?Q*sjY& zt++oRr@0itFM0@VlP6QX2I;pZhvL)Pr@nCmj>(-VRe`8LDG3D9IxXBURQyuZXAO0Y zkd0Xw>7D!5&mj2pLtU7oTTp}S)no`Td(YUv_o(mi5sjR8*v%j9D%uf0&^N$a8-Nd2 z?%o{CwmMZ9mXH7+A*LR_nelENoq`h5-;vP(X{E>vXe{~w4$ajXK?on~!opnHtp1X1 z9|8+rD9j`Nq2f88lgG>70wrvaX-f%)w>LWS44>a>+w7Iins6;DDC%zNC^gkwbm==G zz@2=M(KIn}Pn6pg_tfGC9V~5X0#5>=g7gOQej#B=ICXdv>IvcHRVvASyRZpd>hE)d zuGdYGLj5C7gkOy0%w6VJL@3ybVBOpvvFaMdhxPJ4mE__@U9;jM_WeG(K$+>t2(A}1 z@;$Dm8JMveUo8nsbd(HkTS6kg_;UJ4icGbn!=~}|;7n!;a+n&kYmg5X6sW0KmyhUl z(K?4i=H4dZSzqVJa`3D!@?(6| nkp>vx3Y z;NZ}2pM~I>NKo?vfuy&rx`nX<{NPh2)Plzu-}S>_acN13m(v4*(3j-z@T1UBb-wE2 z95|bg4JcGCg%V%W-|vX%8jr=Q2S w0 zfM@RfiKcyw#H`mG+*=Jjx|JuN(5pPQv8MS8#4E7!U=YhS=PePxGgFva`oTZvBkBXGIU 7P4SX%a_x`GBRp;a_~|_y^Uvu>mCl0)Zff+C;Ym$i)Qv?=G!E zXyZG^;9A7R({|uGI+!SEtNKXq+BG{c-)(lTqBMyaJspId4*H~dy5)sh+{7p2?C%W; zx#nN+orH2U24kgtBB49LvMo@gz29^tP}ip1rNUKHFfiPzkqmBsSP_w%zNDOIee`u} zgNNh=hoco@23*+?zzr`#ob6L<)_JLrCm=m}Zq9eVbSgD!N?uSz1cIC2tX&}Ivql<} z4eB1CP|8Zj5Qvo@qkqQa J>vYO-^B4yd_Wx8}A zkRfO0yTbs3aKf*6EM%Q-kbRH;8>-Tu8(VE*&U|^W6Yy-3Zu4d=x_***tCCE}Iav$x zlmC1kc*gPD?P{`QF<#p36%S>I-m2=O2DZ6w_N|oAKxc2m7%sj0!Ek9@ju#xml=^i? z8IvpDI1_z%#cE1y8hE#X`C9;wEqJhP-lJYV{K)^4%YPHo_oq?HHI_9L)cz7$iHr&p zly+YG<-gD?=f#~n&)x}5Mna@Jg?t3h ;E_>ax689I=^pi0Nrdx#gC iZvYC*^KZ$21K8zT6%!@Q4op@7M`Z`UYF%ULga0S9@e}p{ From 68525064695880168e855d792b09671b8d89e269 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 30 Jun 2020 01:04:50 +0100 Subject: [PATCH 09/18] improve tray sprite --- icons/obj/food/containers.dmi | Bin 13280 -> 13285 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi index b0fa8bda2a87a687373674e9d34081dbe73c4b53..376fc81b4a2b46d49470d504c7a5606060b1dbaf 100644 GIT binary patch delta 12462 zcmYj%bzD>L7yn>LC@C!xf`CXjqA(hfk`EFhB`MNMNQ_G<2oj2Pj1rKVC?zpUL#FOg`{Y2-3l=lfQ5#)H^reh%jA IQr_qTZSbevP`U$i|+*=@jJ4k?|(BYk{@fb*Dusow}unlSxwG;O7Ns;>L|;sO+&& zxW^TaG>9JGkX{Of26Y64i5WvIdai8t+h)!tq!e=$lo!@ylv|EfnX|!fqi^|dy%&eU zcq!Bw&5NmXr%@Bc(2-_)v2L(Y &e2i8S@am5G_z@z`6F(UWe9GPX0dMJp~qp2mS#Uifm>aoIMlrl;9*zjXap zm4VdFn{k-=*5*q1uRN8$w=|cdy*-{$YM`6^`&?N@Y8-WKjFn_@f!>(|fODJF#m8^Y zdG=H-e!{w&+PHO1d~>(%ezIu}u>R+t%bi_a(D`)&9#d9btz&3NryWVL7!@v{7Sq-7 zp|tdLwxqBya 9C#Nru_d{AO=RJ8w=KQD8Gc&7L!e-a`{6~dtE0p38%lmt zL3s{yyxG~Q@yn|L!{)E01L!o#oo6iATI`>WH*FN051u(f!gXbKnZ@*1-3ESFSdc+X zOiUu3Ki-MtBiF1a)6vp`Jdtnxwl5(-AYhP-k{Y9tv9Z+OP{U^S!NC~p={XPA(Qe@# z3qn-OXa?+j5CWO$Vc!?x88$$m&xLm`Ic>_jkK2>ZPO4KGCO-)SfekJokL5RbD7*TT zw8Q3_{6{PQ39AEkwU&69DNOR;5*)18)@67>DjkMz13NUt9k5-2WOhP3Rhxb~8Q}5+2Tx%x!ouIyy z!#C<~=e5;UH()0}McA0W@lhmB4}Al!ZMdKU%*Qu1jr$9avlJ9+1g)-YVFlV$Ob^Lp z6?Ckl-=7$A1hHU9C2gqpCo0%}S@2%WAGp}s@}$3gTku%?Q6JsPbw2or;y-pIB{fKE zF#d8e#^!PUW9rlMV9siWyV>Z<-j9v{ggpp^i(s=A0M9Gcc5T&V1_67i@83VMG-c=H z>pb7jcD3F8x8kn87rsTjQM;*R-L#sJ8L~BaqScX<%f?94h*cONuG$i zG|-AbA$4wc1Tyr+bswchH?#r1c`l1;LL(_+$YpbPUM4%lZ3pO;fmM0G#LP4x#jvKq zqO%diQ$Yq&Nr_POOTBYDLZ2%wm#Xz=)na3SFbGrW&$T^TB`Y&L9ZhE?%gZp0Rwk|5 zF%1t7-w=CmT6m{_gaQ8}X YI@pgV1$MS6{G)Fb#r2DtZ`J)YyLs* zVX0&YpC8h;^}3yo{VP=FTF=D9=ozGufi$sh0D&BJ6e$eQ-y!u1>LRw03RMs6DhR-n z56D{8;7uwkgc{BQ{w`^9(z23powu&8u6*>25Ht!3x9#Nn?+$Z2JIRwJ?^1ae4As*x zl#t W_F1UsK^KQ`Z>Akof($c}|7Pcl{xu$z_jAaq` z#A+iRhMXdxwj5ufj*k={p(jZ501oO!Zk#38TkkO?)5cw#B4jw?%ugYU?~ckz;8+({ zll$>-Q>jgDLGjwXd-syZEBvoizv5D)I9c)=SncCEg_6!s;G5VZ??&G)*QT`tXLYMf z@cnhgM|Nk#>?%nTabWzYu1(Qtfa-}^fOn?&>CX%{b~TRe>AI9Eq?1IuI~|vT4~g{Q z_ky3YwC|EuuQDi6t}5d}3Yze@j%hP1sM?&%=RLeYZ7*CTlUiP0u$$<;?Wg=UBjd*1 zz@0HYGZZok0oo2NJPty`px`mtzR$o`HCk*;=qNO%yvrEvTp%Q+&Y1R+HaW$Z`Vr8L zF yFb+ll|sm0Oe^a*yk~vba!oC~vh 5>97?HBH~IGHflxPa+jinqQP-nS3e)6)xMxGaBN zQ1E0x7&K&kv %Z`)0xN54&-&8O z*uJcv-+F?pD^D^f+`|;5hvnm?@7dklHim)U8=VP<0&bC|xNT9(!1_vB$dK@@sa%)7 zh+?w*#@ew8g?I?B>VZh1LvSDQZd{{P2z>}8k=E@tTCSB-OsXAvdZeFaXKKpa+1X+% zM}Gq$?Q!hW%MfaR9=3B*8uN7&gSunign9t)AF&`1H$L!g967#6wbjDlAMXex!d${s zmX;_03 gOjg#FK*INd>=KOoLtb&* z?=f8l_$|D&2HJw4`zvty`=4cmiOoZiyXYn$h#CGa1$=q^NYT5n>GKHp>g!QomEeW! z)({nbHPQBdqntDun3^187V#K4m ZhXMR#T9RcSfP4}O2ZFp z*crlcL+Pfx0yy{w=rEO4Lfmh=3h=~`#_^$r{U%};gOZu`8+SUo*zIw;(ztjgV5Ta2 zLJoL%cG3UymoJ|4whoRf0#C?yXBv{S5BhxqmCqju%TP6t+^f(p7*oD8q#6KUmpSr& zH5orUPimV?ViM4~+awL@ npW*e{lU@vu- zusi$;@cmWQj|{asPd$`q^%Z9u7iDdppL`x95+5I$?bW|Qx>QS2FfF{I<7!kp6?y-E zZ8z?nD#%$4q2Mx^%(u7sFh>>~SxHH8<9St%k?>_^<_nv@fL!H|KacRsDSvl y-po(nv>a^AOc%?o-MAY>6FTOH%R2< zq=YN~Tqq=vI+8l5+NSCt6XEN@d~t`1{r*GF9)%NeNy~idWIpOXjX{cQDIHf>!Ssv? z;J?MFEG(=$8YA#p*a1fcGM$R2aoqcNHHJ&tAzDb|^l;nMj}bijBQrEtZ*Q;l!-tuM zTQ>1cl(JSpSX*G^%F2olXr*RWc8XLCJP$(u+iPd=?3s+k!-uaM8 ivsn#W4fVfgoIfQ*ID@U%F(^pQ$g- zW=2({rSp@E;TVX*J%roA@FR3~$vlB1haXBW`k0Dh8?gI8aIk#N00FOiZqZ3wyPG=A z&fL7@o@N4Sp6SWe-H82Lu8kp62a(O5Jr7Z{gOaysb;f&P!OiV^$2#BojU~$Qh&jr9 z{DQ1jn|2D2G*8%7-EO|Bf+M U(va<7|>89@YfCG9^gM0TnV|c@2D=WqPc&R<8KDE;F z^gaAR{yBUHs@t44SSulEhq|htE|F>@Vu*W`HUDZ05yZZb`&?&Z{XJQ-(lCDH=)*_Q z6K4f)h-xRG6pxuQ9-vH^@*fgN2l5FJGW(uH?#~xjOs%ZSU)cRsdG^b3Oc_&zxZMlC zfS*7A!S9x_fy)(}RF}!#qVBNRQJ7!{%PxQs&U}>NUoN|LC^A(->OU$*gJ#v>4 2RcH{4lLHn5PM4$64_atDm zV0#f%EGijViDA#5%Le1OR^{6Y3;9>@DevA%xsQt>PrO_9U+oawMD%)GlMeF`MB9_r zV9emdu+!tp(&pd+ zx7Jub-nsfEBt8Zm-F8 z$+M18$jI$lMT2uS%@p1FPrn|&+C-dmd|7-E7{g09iY#y1emn7Hotpq-&p2PfvjeA( zjt<^w$IqSw!`N%TPWkVxilLWm+w2cHy6_mRRZ;Sf-gLTAS1^-kOqZ3Bp`Cy|OKeUT zXV~(*?UjSVEC8$QbF%~hAgsKLAV}nuH?NMPugnem5Mlc`J8AXvDpSQ-0`dssbar$; zR+Hxugc(0Af4|kY1$CmI@mYRl4_`ORr8o&@iZd>;C zHdR&GY`HzGJD_I F|0G;;PBh)6#-hrnUpRsyoNW$Aee=H%GcJ6Cgf+CZ&^F7Q14& zN`S*cKNOQiMB7RFx*CqGwTtfb?6y}3y_V7L(7Y5e#g@{6K{MkqVSv4L*5j@Htl5IV zNnRidfA&%a{;;8wta`@erl=^B1Uoy`esf+!2N*a(*|}FCpU6ai|E`n$|Eqrh#a%`U zrkg|2WhrQK)|4GuO3-vf0DgB>HH{x{IAxU}mUT~43%)###SfH6O(76_*A*1fpy6P4 zGY6#HKPL7<%%mK@(-K_(4=BO49C%!oHzk}iMTmF?rcz+7wN)*9e!w{=k9$S?DS?@n zH|Y|)M1~EWrjqRREVI|2?giN5kxIsz)ntbEQ H~eI@%GZ*VRn1h$7<(Jzk5Bd&rJElMVP9cTkBk`4SUMy3GSP(J)j0gMr)z1 zn1m@p^erc^A1hJ}?d@sKQB!w>Qn(zc2-?kQ3FAk)o5u!T52*M;F@a?sI@yXPYCi@C z*AK9*clfj@ 2cv1j-cg&bp|fCO*imjz^Sp^AxR!nf zkg&%$nzvuH(VOw?vRrs2w6n2`5ErFQB!7qtT+0GPxeZM6C(klOq&4I(S5{T6wutv> z4?m9>yp{W6E7O%?_bjy4epQj3=ja7zfiYwB$=LY#GihmQ1(N KJ zFC=aht)PZ&c5l^VWngy3a8>WNBO@6Yabbb!6}=u4hRY^q;#Vs@t%srH{AkAwH-2i4 zQ;$19`0+Tddf?TD43-(`DzqU!$o`o&S=&-_ATvrZp52j@bL)loluSQDmg-U4ap#b5 zmn?QUJKuz9K@q*9KYw;2)X`Kkn4s@s;Y>H$paSthe?=#hcV$!-Wyq|G7q`yv-k`Wo z{U#{jYPd<08|rY;Jrd_2Hg4F*bvy6!)-oJ$#KUV2(vf5cfWGDMM!2rZ!ReXyOp_On zJR3aFONU@L{&)ntYj2yb;lZQAhLtmWyGFpLUoUJu7jG6b 4nhITewn~Ic{BV{Ys-YaeoRQ0&Q>`3?9iBJbo;fH<1t954 ze79-I@$6dNNJ>)%vuqo#tx|K79kG?qS6pA8_GRWdWcFH(HvQGa3!e+swBg}zj?%=j znMnDigOdR}0bJBY6CBkHwB$ii*%R@&xbZ86t9OXPS7#M?s2UO!wUFY&z>f9oJ^d5| zOh=2v%NM7?P1RTCH%6R4*=His;sG(J6Vv3obAn|4N1E-d?BVLKoV)957Z31}cB-;4 zUtYe)Vs56V0^(I|*Q{thBJDR)xTJBt39mMSHU@((X`<&G +{X2yD z`G;GIiU3W{o;AQ-wHEliJv}y4RbWBJnbRK3$F~`PGlBn?Z1?^A>6a^9Rax0@e#i@W z2Tz L{l=W1IOkA_k~}kf@ih8Yo!JivP2?vr+ykXZ zKCw%G%eQ~KG8kGK;2K!8b$%XFQtR~V^x9QeRoyAMtuuWWJxy>5kNy}vMgP3_V^Z(D zx91_Fdhk}9=I6c}w~2xDi@EBA@!uAA=zYGw;Uu51t$WH!SAX5fal8$t4!KFGp(ro! z3n$dh2d(-ji9HSn=JOV?(Zp?LBmGbYD<+rQ{r(AQs3^%*Ai?*BZEdeW?!haJFXZfw zD%!v ZHC{O`EeW4jNLsd1IXZ26D4{g>)|z+E_@&; ziFh@JbP@82;pFRW!g4k*q_{ ;-e#yqg~uA%?$bDZ0*|53UzArEY9f5G+&58qmU z_~*rrZRK4 `pLZ1Zj~Cx7!*@R m;R{M{K+m#2KoKvSvXF3 z4x_)b^`?UAsL?QyA)b~~#f4rA|FdZFnKPe`Lc^7(`y+L+?;jQLEr2)1LD+jRxgAhk zT3Xb#_4@{e4;r_5Lrg5XYw`XVz+UnI@Q?Z3&SX!3q?0OyFt>GjCoJZuj#nhT9cRv4 zH9e)nL^5#o1Kbya1#HfR_Tby&1(fG~>k2jg=g@^~zpX^gD;FRO9aOwy#W{ceco?Fx zL9VTvaQ+t i1(w1|Sr}Hs0^Abk#@csuIhT!)}bV n!gavW<`mN4>g)@V^0QF6{MmcC*KYoM zE_ImK!jp(Z)3g@aFzar zph}ZF{0>kt_$d@i`j|hyCe)hi-F4mGwq$q8r>+=oD4XR7x1)Bm8?98TX3ORkP*%1w z3G(;%-}!7QSEhVfjKZ9aT-KFb^iknnrnsR)Sn!7j7TV#T;`w$iv8RWrIaT)k`DdOZ zW-GPISjYHl;8iKM9smA6*3OOfK|Xjnf7XlSlf64Y6&D}qHL8i;1?9+cnmbNA+{Y97 zVH`dy@3S0OYUb6Jq2U?P*L_5gMa0C0P_G{6*2IjZ_&7O!ert>5!0l%$J^CN_r6)-s zW0Q66>^ccoR>$vO#GH$=h-0zu&c9O3Qenv;qOMa?`rQKAAHG8l&M_4gNrhp r) zCsk{TSSbA$7d>zEw>j_IA)zT2F-}lt06M^o#MZ%vp2@0G-QC0_{6iELZb|S&40KH` zS9dJTsAk82E@tv@>dr{|N68roaCvH)qUF9xQr3m<2_b#`{VOgdnnMlmfA#eZD();w z_8;re4z{oU9JK@)ZJ@DY{SSYGU )qKju;+ z7Izqf+uxct772B>dI*k7gpdima$VpF3H&o-7hdiAQOUw>JNtfd|L&J3ZrGH*q=5vo zDuGxvlQF8}4rs14rg^@_1&JZQd&AT=^di)>2@3gTHtl1)>h@kq!r|KM!%M6AaHNXf`xVDr*J c{(P1SAiZb+T=K8g?H z6K04sIrYxzArC3Ck&mXra=Hz=%k0R 4^m+CpK5BD=;-J+W*?$qX|G;U9$jFn _F49RLhp@1-yFYuBleb3IXkfV2 zebBn-&g+|!1@KKrlM$YhWF~W|GnEq w_RBYr5*e;3*n~`-TWMjBbBpSe_)w@+OHv zR;-S>@ToilUzcO@m&AgG$;M&{hx@g !>HwpurWNc%A$h6KM~^3ReHYe zY^M(YF;fz)<&aU(aA$$BrSR4A_Xk)8ya$>CH+LyEV{GBN^ UskZLJUpqYykXH>H?9TQ^&+%EFc>g;-`4CGtPZBzhh^;sF~V zYKHb;if54B$Q;c_t- 77!cABWE#m#p`M{-nXxUEo ezbM()fi`WX*65G_ z0$cak-aW|bk+ 1N1tO@X^vh(VxQ9 z^0O$Lge8ac;h>_%V>vH$_4or>-=9v^t_He`KSfe*)qK6slxuw;q}r3J6>w-Ntoju? zmxy~gdC1n%h5su2>16F6Q{7IlhOR}Q7Xz+A5my$bmb1$kl9Rguq>Du0c^}$WmjS|< zF&`u9>K<@M+VoO0)~JI};y!WTEToTn@h|mBJ$P%4-Y1m47RSy ?YrEBXxy_KS9=l$LyT_v4Gi5WbDru`pePW`?aWpZ!8&fD4mk{U >7oy3v=EM}WuWrR|o~4_a*nJ2F?cBw}(< ze^k}}O+aGru+Tu1C?+`6n&%S1+sHa3TU%LqqHN&W5qV*3#VgA1qW9&iR1Vl> cEs%UF63zkPB0gGq*ETfr3G|3LrZ z1^Cn#pyQKEb;DyRP2Rkl4N8c=fX(fIKlg2n%+1--B<&Kx*&Fx!qMc%vIAP~7t4_rR zUL^Wi>+SNPou6iA&KKg2S4hW`so{s%`dr1L L3 z_V?i|ri4d`56lIa$xC1{Bg2FA-`jWB57Gd7e>i}D8zlzCO|-Fl5CO1pH&*orcDBe6 zDKypj@)Dh=)gwK-*)zImP^iBL>{(Kq3_iJ57XC06{U-bZlw>}t4xyhjKAjwCh`?V6 zNZcv6f>pk5Mh6@o3q7QoOktk?UO%|D_-Ee`5)Ot{&8J&;Jx)FHavaX+BTjw;$S}c* zJJPGGtL2C3OWo{tD ;da84; zb7wf|_|G>zNS<(GBgg=oH|(+6dGZMR5mosx!=-;iZSv8Ewzr{;b3^BLS`O_s5fK{R zu;Xi=KYw;gzXSortmfthh@?r_ls^INT0mU5{_iKD;TEK2R!F$Xnxj8a?eu(1A*z8T zx5Ly|{JYtM^2V!=a5j_w_)$I+-}~0fZ@`iKYS1VLr_|9+v|f?}PHCWoWpMos^)*n@ z@~;r{5tr@a!_->sg;ivs0w+#H;n>8)dNMT|n_LlQtBe!iB%z)ALKf{gMf%hE{Ryhz zj%b|O{H01Z`6Kc#KZXpV&US;Cziy{~SK+fY(9xl!f^aE%$yL$ofJQWsT+tp_W#u^| z G34GwXav|>YltlWC_6!C{Keyt8*(7_@ z3T5L6dl@GmyMMEIY Zp zS-7Vg6b)w#wziO*g Q|pda&RsL0?{rtDkv_dV3)8~ z^Yg2H>@O7s^14&eLCWg1%3QIjFrTUJ&-mpjq8ugd76=V@O3BD9W?SpAH&hQWfrJD3 zdOu<^quJIRS>X@AbUaBwPTAMCTrf(SLCeU>UcmQx2mSbBlB49Skq@(PhiKvxNM~m? z;iMgEw@eoGQG#`*^jwvsf=10g*>nakB6Tz`5W}z`DM!Bln&F9~s`(Iu6&OXlk7YDe zz|e`Nh%gsmIl_ZBNsFR^RO#>mJD8E_P>qKO+GIW_eg%zJw%>(yJSb>e-w40Q_d;ki zuJuzV$f!#9Q@@ePyFVuUZ@0qIg@aa|F`8q-iCVDP$