WO<9w!ykTaoRZqyAw(8phfGZTI z%RC4FX5EN>9Z1QRFGodr-~e_`oVVl^6r2)G!4id>1LQi17`z1RaqRV~CL+xX8ohTT zKCdH1+c?e)7i z|FqAB{y?aslj`kpPnG_Zxq AO ljbsY~-;}V(issrQMUCqzPF9=vq!r9vkX1 zgKFtgP#K@hh{Dg0#I-n)>bp-?^r@OCDuftz*!Q$Z-MD@C)X`g 8CBPa6Px0Z}vwL5V!V5Zn} z{!?Pv>U|>v!xti952?cM;i1V4SO~Xz(00WG@-RR?!92JDDXSkruos(!h$ghbI%@wt z^%V0JU5po0>@~E57zRMQu1(+hKyCk5G{1BLJ_7A@Nh$c1q;su6Uv78Kqx*g8i(?aZ zh=0RKQL=9Xr0bZ35AS^m@$)4*;K_*$_c>hTSz3WT8-`7I5WN&T3oFPf{q`-jrivz! z85Zw-8eP_+`2##72r^5Zd}z?Sx_s1FHz$KB(%#1l$DAw%o~wUGi81xqaeh4INufR8 z-R$Uzi(=#`7)&m+S5qj>zeSD~`D6l3@W{;CtI_RB;H2Vr7^F+O8QQO&zG0BF`=Ekj z$!Uw~Zy8B&LkPZcReq*Rlo!dt%fP=kf*r~){n^qxA?10YVdJX$J{N2YO8r9{uYFtX z5LzrSPv@=EOMn(i;~lKpt9j;JY+0E!7TWp%{m;Z8;i08P2SJo4A22!O3zLjdJ^h&@ z$t}_(fd51v9x2c)$>x4UGBp{{|DS0hWD4c{yB_?T+?U3) 89vxGeAS?OO_$pWBXG1p)QNrH~a?4F~e +no<*oV2bjR&k= z_tx^WRIGz)IM~zJQH>_^na+CqhNcfOtb`&P-Qa-9cKj~G{A@AaB!#86TkGR;4&y@8 zi0yQ&lE86HfiXtXo>alOCu<-gt`m=__x?DhUB-8gkHHHglaE)6$y>GmC>N<#Je66Z zI!U)*w@J)ocsiewcrHg;PKPlo&mC_xY&smk?If-@)On?Cw4XkD$nd5b{%GUM(v0V% zH|5j$<(sMi*A8imX#11DM}~G! @bs~=m=XJ#TP9Hv=N z=wxBR=)mcO5pOwAJ=2zKNCsPNjt7l%F&H;FxrkmlhK9E7;J$VoAsm+%pm?`H1hV)l zT{yf}!g_ZYvrSYb`Fr~fs2r7Y**cpX5Q%MHuSV;)=&m~dF@155dp&l+L6tE{^su%h zzC~EUh>QNUnaw>j?Folx+@6CnSXJ_+5xjMc8$JzE{=0s!G|unx#FIxJ$KUU(fj&Oa zr-j5Z`U~3ASC|)eYH>P>)}n%^yC3(9_b~SdHp%fF1&6b+ AoJJCXqM%Owa84m0sdTen8-;mvR1TUYNdg9uvQ{CxX>f1 tZA~Y<8kwDTYT>ghZYZj9DYmis!Ofqy6sjQfSY8*ii=cOb z**YiZ(>zl -fChtn{Q=6DnTl%G`+f|o!n3m32v8H<#Za*zW;ouy0WO1_4j&o1gl7|X{mWp50 z-m=7?bB4D9m6*n$XZCWnBj5|MqlW@Mw}$wV+h?X(nFpMknt86#03Hboi^Vf*WNhz) zJ;DkbErlf%iDH!>m9U5ir3jO6bj=B=SIzY|8a)7Pbvy|bj%$X)J+Vm`qibs=8>M}5 zu-h%omzI_U&-;GZ^|12u6U)5%E0{{>csX##c@H-`Kl!7VDCtrt0o5n&_VDtWeJ3+| zd;)?Pl7jkr>HJQ*tq3{^m*fY)_SP0D6;*gXK0&&4Y })T!Hd16og9_ w=#dYu!dXfT{&T1{)*jyJ5dK1oj1HaeXG z<~Pj(4u*S}0XuVFnTC@d&F2#7&PilK&dEM^lO^+ehay)8>9IwCi@oqcM@~oxBfanP z-1wCJd#H$k_`AU=90Z@2G=q7-lps-{{ty$mIJ mobf zw=BajJwS$WMdi(#@e^-W#Gd}H(@{JhdZqmc2M~t6rt{!HIegvCo8owlyelw*3lp3A ziy38NALly^yq)DX)UFsPDxSx>upE2P<^7c3K3>ig9;G@cCMGs{{mWwZu?vBNgF_sc zk}|a@cPsJ+34=6+kdRQV+amh!o*tn$$96UR2^#lIOidZMx0~U+3^%O9=@ns-xP*kt zmX=uwI9Yz>*Kw57EOp@vjA6Kn+XbTPayR924wy2=cYVO?56Ff+v$3%;`2sE?&7&fp z fl Ng7_0}rg AEQx&4|dI^F}mD0=38K?si|2*c4qyWQzZ}cN3zSy!J(x^_Eo2S^d~9^ z;H}&Z^ZM_F!pxfpGPeDt437@8U3)7nG;uO!1vNWMx#u0Ym1bV0Ul32ED%#=n=@pU3 zvYPW>(IVfy3%e1dgTrUas^HHG7JuA(a1{b44_C3exkhysa{R4o5u5;*$VT?pVAa>{ zMaRVo$S*Sk8O4Y-@I-@|6UX>FCXf|`j;D!8zciBh26J1GuhF6Ama7rLB`NLherP93 zn{=qHt^M9C3h|^6bK$B=s^@+6fWCaPsJOs@2m3<5U>WB^bMpJux>6aTmnr!H*N~Mr z#)_!8d3a)8dp@UkJY6I0gQ1Tl6{{gSR^xclb1P7Xtb`q44G0E`F69aoHut$Bj;jnh zE5$IF=ZJy!aFQ+w+Y;vI%98ztnIim55ro216GQynZ9>o`96;Yf(Emb>kRfofJ=`z1 zc|I2WIT~Uvsp~&d>r}U0_-GU3-8@)#($a|133*3@?mcyH+2d8LTFM57bC_D276ual zFazq!pn^UYA?^3Op8Q5EIDjz1-t^N5)mNk0CNIjP@Z^fu_sb<(l4ZWOZEbDs|M8jk zMn33w&?xt!)VaLU3+h$-BAzUB|6^v8y(%U)c9xH8&wV48*;<#g z#cvHc_uwQGHTH-Q2`5wR) v__^d{C*!lLi`*BEV?~9! z9lN(|$o^SKfxbSSjbs-2dpz)kYopJCoS*SMbwlp~aWU1nah^yWxeIpwXZ0a0N@2<0 zd|n0cxa)8keGOUh-A|WvS0tmOn_2W?M`TBK&b6Z^%dPoiYF-4q!z1UI oHjKB z4Q3YH-qFG@c^d?~J(OSSj0$jpgtY`*AeY+ZFcA`AeP-c;>iBK{@Gn}{oz8nas0du8 zv6+MF)g!=b&tB-@QaL)(ODj{Q@<)Q5Jml5dw3pIpRBn}2sg^ nWrlAaI|sb%&xFO6l?ejlM2NCyjhT`H=J=N~!EEa%cj0w=pwS=` zooshxfMVLNeE6|Uq ^akMFU=hm-W?$*HA0*ykI3TxV 7ygI^(p-hUYKpHY(l|MzTK-y#R)Y_lm>1B9Q0c{{N zZcf_50rtaP9MVm{((6N`@% hVk=`NaOmWhL9?13~X-g|@3F^wYieZ-xeK@ZVLW7H6zaBXuu-3Y&$?87Gq3+Cx zdy)w$<(A fFO-UoBxLQ{S&+(<_DoFQFl|WN@r@_KewgqJUQx5b3GKY?lSo%AnW~m z*PYQ3L0e*0fdpJ?hvhh<%d|^f!&*S5D9?xqnVEogy%TN5);n8gyMHDeFje!U+mtPK zFG;9(!N9rzo`FY@l!`8Q`Aj-unP7|nDJ`vo8E5h*XvPB)xpQVfzSz*zX^)UW#jQj6 z9ko??Ne?ZvsR1*oEaLK1sJAb7LV|AOxl{4pZzQ)Wa*3PSaXWAPZ1i$K0~)vOgCr73 zCyBqXPUrE><;LOQ4$#_RWYnOdLqB%m2DWnoh`gvwaTlu6?e2}qHfy3dHj;&B^Sf;D zx1?VYy<}=x^+zW?#X6*zESv%@SHczs23P n_M)l=fbRU4QxLTs>+~{5FOAG7^ z+ri=zbcv0OY?Ik*T=rn+^60?jH9e3aq@@T7KwTXyhUx6j&A2|FikxR*WyPNWOEz!M zxy_HhC?d;xw{MJ*J0kY#9Js5dB%SlES1O#VrkM>}Sp#lbdAMUiQ-AY!52ipmr{d=J zCYvRp_|@NtXkB2?!Bfv{%&gLm>}F7jghfhfs@CP;{k_RJYgr^)*~*`v-4}h>*3D|M zj4p-5 JscvFKEiGl9Vg6 z5NKFGGsalqS`WLI^}NHZXy*JLe)RQDi;%MC!(m~wEm+4|HH&r<`&i;7a%U4m-s?oX zbYwk=E311kWuxcU?*yI;*wrG5@6ub&bL}*7Aqlj(5*=SQJRp*9{CZU&N@a+}px`Gl zf0kiUOiYHv%8DgqBk+9Yi}uDyJ}R%wb|9nHd;2bsRaZwtFn`VT0XJ@tYuX^BpdYUH zLHlsYd&Xxs#Jset%JI$U#Dvvg7U}YLO nP7THSlbw>J_{b#Gj?ku$2TyeOJ zKN;u@Yc?9vN?xJHkI|UPN{AAcOSXLy`nRaovqoO-dl{CP{Q`LsG>$ihFm5-pyZmO| zqnN%8ataYbu|Qq$NWKo6q$D*k*ie%#5 Lm_3;DR~U{_Zp9gU+vAsxVE6~0{f>ku1baahZh$Y@6!O+5fWlz zeoREW$|}PSK9KxLlorSubC7vP^js747`FRxgoA@ag+KGBc#l`{b(6Y9B(AQ82L9>p zpC}oh-G!2d-L~hzOpWW_LczskohK*IIx#^7DF~_s1T^=&ERX`{7U9Jyc|>XAQ?i|G zL~+HtKbQPR4EVz4WN{Z^PVGK0Cy`wd^48xtj1p_@;3PI-ovAQfblmcxbqtF9H2#sr z?lvd rY<<-gZS g%#E@5 TfXyo@Svxoj8c#+(Dj${*&`cBZDr#nXNQQ<^h{1%v<4f@% zHY 4|%A32c3zyvPOsO0k wgSL`_oux>U677nirMF$-k2($vyJyw_IaOy)E2 z-anaVe4>o#eY_tg9usu&n2UnC+J?x%;td{)YxCR0#Jk6v-c7+3lk2u5ed6Mu=$T}{ zdSX?3^ry=-ix%dbK7`~>+N&p61g~Y$faR{P<@4LPECmGSpx(D={UCTd6W6?ah8xf< z;b2H*`PUD&aCM<6Y4{`(??8xJMm*?NolPICxq+*6A^5?S)EaV%;M!g*X~!D2^y*cI z pH?OqI}cD)o>O zO*osrwFNO5g89j~3jgftD0A{=<8y@eLwQY0W+-R8e*K+fOZeG`n<=G=3-w=mg9RfB z`3>kmL1D4?xv%M^M=&;vpdc< X_62 zkdEFj)%lW%&B)8R-bGgK%KOU$B&)HqrBfB`d3LET7yVZ1eHF|veX}3K2=PUqc4^F$ z87m_IrS>)QpFeBQEN 0mw;bZGMTD9z$#`uqzYZ{GwYpN|S$XMMqwZV{FRBbKWn zYd6Xjn#kP$ |iqb3c*cd~s7i5bRC*h7+edEXN*^hXwbl WOw zm^cXcAvv0~+XC?AQMyB~?K|uzH7-~{N6FJ*c Gpd`GaPi|xz0y_1u&?HU?+8g2Qa(EJ)VgwRrT z=y6zcNT~%$f#{xF+9Cv0UJiKD^e=JtHebAWkt`ZyezXdk+-h-0pCXt(+MDRbZY`mj zhQa}xOjgp5E3+Y%WkX4zYlf#b@)H@e&Nx+)!aH2*LB`Pc;}PXi0NT!omH*RfhNG?l zG-Zx%D9qo=b-3Ouq#6daA5#Nve mC z2^s+hOFyYa?MSz_x8oBMu B)2#3#@zhzz2TT_Do6!TLv8-F`<|Blm|0T zW37DFTjPYH1C_TC!1?CY(`~F*k0&BpTS4ZuF3A@N8`;XiwQuh%_Tp^N< Y2>-oXcIYT|*N@&TawCEI19Xc7$pF1DBgk z8ZiOEgRwD4o!XrbQ;Xf%!K9t&!l_x0n3FRRt@89zUW3p5!m+uIeu5L{6}CM4JFDC) zfHA96H};)Gpv7#Tw&fZ%F^gQD*rbKF6U1E8rHNC6`*QuCaPrL$0Y(!^%M$DO9 xR75CZZVUK=jh`{nm7oL~0c?{n0nXcW*$p{ABghsXr6)nFKXRgNd7Q?E8&nor ztCmbUMP}sswkB$#E+=n7!fJAGQPTS>g>_dabyB~_PAX$nl^Dmmq+k8-=df_1K~$-# z)gx8PwJdy1U=}8cPewK*e hcQe zCUe*Cjb59qS144>%=Y&7H%19N-H1L L)ZtgJcTTx9&Je|LbG zQb9^&%#N;!dV018r$u;X`96Ei)WW&To?eFGkOjz3&`w*Vf|w&pTB{t#KTDMi7P{;| z(I _6JCy z<>&J1H$Vmnj;Y|K;=jTV+#Zo)I(Gl- 4|(D%|7ey&TT XL?vmfZI(uhVM4%bJ$lC*KXPJhpxAxy-F? z%0a_VX6r2jugR@#`sxSby)hT@C=v`8GtT2ZsDh!1tXZIm@|%&|OhD)L)w+h?cD)GJ zC5cRBtUif(-O1{btIVtYpK9;CYUgpDJ{2W~lJSt>TPaD_Zm-;5UXB-*Yi@_z%AHbY zf@hogFM=RR>067jBN`}sOPd;GTdr8MHVa=~lStKuEyouG8H&vEO p2Q1KyYm@g*IG&6;gZ~VnqKTMSWZ` zH(1MNd1KvbxV^d+_>*r^exuf_KpT(7zH>8f9udiA;?vC% jt$zvzWy6>p7Cqhoqa}9-lma`z6e2 z4`<7p6}8la1t>wcx-z4Eo<7=kWlmbm#qKdTFJ=^e5g~N5SK5rw__>Q*y+-{ihOKXX zNcPmLT;k3OJ!*l46O#JyCwKi37dOWgT@2%jEfc-7>-Ac?k0Qn}I~02(OvL}e&6P&@ zo71a{f#E8w``vvN4YJ^ybHTz~S;cu;%_RO+*wwz0`tIw+TP!%+#i-_S>;|-EN7AyZ zk#uF_x4#HX8guwyJ@;BlPssYT{c5nx?S3T0&kXUo@uGW4l#Pd>nYh5KW~T1;9(Y#K zst9%+KuL-nMVqv$%06ybG>x@S!$-2X$W)WR8JPq?#KoE|$OX5|S9#OfGTczyO#S1S z_gVc%CNT&7E*!7-k>YIZ$;|H3uz}|LAA{hbm(9j!KN@&uj%c2?{N(99Hd0ez)G%TY z-zt6d>C*|3h<7We)nPW<)DH4PB&RJ}!{jE_W$G5^qyFa{#0yd)sP*Leo7k3a!xW1f zGaF=ZkP Lgwm
wec60c5SnqY0kKRfj@5#D=1z4Wif2C&k%%XmTob=s@)dgPK*o#jKGO;7wFM zQ;s;sH85`*HpJu#*n-D>#ewKNWgoDW1>?m~gQiw(L!_c)RMm!#iZ-7i-!o>5Y}}fo zVF9ML`7_EHQJL{hv>ZlDDDs_d3L97|%be!G-f2-OcrirA(kry(s{0Cy{n!o2boql% zi )qb+Czqw)C)fxEW*W&B$)(4Nx z>jO#g2C~F2@kXV;FRO*K4_VxFkrVHnO{%@`#t@{Y*RfpdO}XXJh4`?FCrkz1e>WBA znFegJWVi1RG2Mi$U!UEe0XDq>$rIbOZW|3vTG6`pPYd64Z1}$Py9N{d{Vp5Q&fedN zZ o}@<6YV^VZ)#YZC)5 z^jRD6pW|(_2i^^Te^M10ekUS4633>W>tzY-xmV+ppBVBFj^=NA2S&!$&cGhCbr5`k zs3(nudp#WICU%{mIs)4W1gLw2-ItWrMUU&TM++U@7q6tWK6wbdW4xNH6}7c9mgKL@ zqq5;&mngR2*=&lWAtyJ1OeN5-S!mn;ot3hKEbC=7n>>-9ht(al=??^nWLaUjd|IsX zcZgwDF*R(Jq-uycn{V@Fwk~#Itod!pwsrwPR?c_&CEUS0O)x2Wi=d_Db`=854RdTz zmr>9JsRi=a(CYa5YCZV!^846;pQHo@O#$iZeRO5gKW|0yAGN~Vn1O{4KJ)TdqnFV= z1nUEfy@jU{v!O@pSrcN+ucy5Nyv)$w=W9zmN@G>gFR1*ck8=9*tGhH2esFK4DOb7C z_B#jlH#T`tlE)+-yX+m1vLRv @?d&sL@y#hCfuGO8M$<>xO^F0QZug|io zf4w(PiMe1j0uHS`{t@nA^c0Dv_ !2o~ zAT^WW4hZeb^%(kCs-%q3x_x5O{Aly=ia)g!<3{>MrpG{o+w~_Q?I9)zW^C(HQY-ih z(nA5CR7(7=?W1%-el&S&TmD9x3Z^x*LAycd)fH#{-( mSfdAe{yeo+GjQs{NxViVu~&%R6}S}A9j>v zd?>Go4zMF;68n9;2qD;q6$2@Xxrn(bM&BZqg&!-bYUL fx`LjAUeF-Dq)5xzs;@;yK5&h_6(l zeud5=F^8UVLC%4>$gFsb1LWl7v>rX6z{k4d3;Ya&=SHC4PtaflGGGDph{6Lq8ra-! zImGLw^T&d-$Thcn{@HQk9XwBF;Q?(jZuMlx|Hd(8^*b4b?hg&*nC&G$9z$%Fx&=Q< zL|aZCASEM1%aFkI^Uc5+IC`jIM^NDSr>Ib$`{HcQj|9-g(mQ%=W*Bx=?YzcoTK&y* zBdtAQKlH0;iEN9S-b0QEH>`Z3!D|ed ^m-0`MdRv% zWacvPO*+vnmXVjZx#shGUG=6rj>WJBby*~k^+eqd<#BVpI!-mYupG<@PL%xo1@d>* zs!c5I^(0w4CS=RTHIU};@4Y1qvy_YM`5nFeDC5Cf_vOwM`Ua;dVP2C;T&TO@?{{SN zAY`&y*;GXX+WbeepYiS;Db?b82XjL8mOC#ED6bhQLpdjCdt<-<*5ymoBkX0^4Lgd; z;eUQ@i+a;O++QAavGE%TKEv9jp2x(}SQWN1!_yfmeYD_DX}s7hFb?0})!3d9{vHrz zByGVhbI$JX&t>X8`Sm)t 0Y5EV*T$1tZU`E=MqInLGQ7#@FV#9AFvL*@z@59I>+y;X5cQG-jIiU zHZZ6K w~!B7=v!f-sLQA4)<4_a6vF7ELiT|Ij^c0~1U4 zE3`j-?>A(cj2(Qa{^f$03FY4S9q6CIG|RsS-fL$sU7Y=1@F6{*teH60wBeO=&0tM< zEm~z<5+6R8qr39kfXFBN;*}6^61p}6*s-G<{qv$OqOZ0H7)HY%yoFWeb)O&8yk_mN zi{!T6HVfeH3(z3Sd#|<@BnU91#aa|QshBQw@_n24XS}$;_rI9X4L`nVIwL+jqNFBU zsAe_JD@LoN1rBKe7Hy*J)z3U<-P<168!=x+z+bxTYo>q17wDIVAt3pOrkW>uPwekq zV8O;&XH?F2?rZs5Gl?*qAOPU|Tx!Lx=&Pn3C)k=b*lk?65}#QrzlPq$D$sTvgmz(S z!vVAkh>&jr0>^1(Vs_be5VhTAS3o~RbqX{6o7&8VyT)0X4Ns3V%yW0R%khxjdFc&! z@eZBz?%YHT$sl*$x3|}Wa pNBKtSsT0B?R+CX#N~Cf54ZS#ou(Ex#2a zh~5N0I*Ut<&mt(25?HKysXutmY&-xR3@iloTatH^o9oa#RpuGTdt<3tXxUdWjJYss z)bu88 z!6|47ZRTri^Lf$2h-cm7TfDZGKEg{B!Fk&4$-z3dN*FgA <%T=}6m8IXijfw>wU` z`I&eHg;>_GF$H(N5(84!os&*Et|bER0I3{Tm)1{XJ~-9A@iL@zW#8~V(IRMp$W#PX z7i~^}2#y9d+9KJJipJnrBZ$phhEpcYQD*K#C;0^@Kunr6P!>_p-1-fk%3kB>!}2NS z;gCKx6#NYf;QNg^!qtx+)0pPhKAjmM9YS+MWxRnz4bQ9=09tisr~+0|3r2G!RglD! zUs*k|%hAZvNHRZ%>D4@1(PkB13(Kp(4g38VesKLn#MAOJ)0Y7RLe5UA K^%065+?MBq|i{fwmXXh?94$zyh_`&tVc=WV$oawhu`_ebYa`!yyQQ+-u5mKceE z0`fDvdW+kQCrE7Vi_PDB^{c+O6ASq}1eqq8kIv9VViS|q5QtYti=O&ccVfu)TuaG3 z+@I34x>wh{Edy-|{%)E^0aBm$2*;zt%64Z@Wb*TN$?l1p2krI-hE@JRs82K6{q7A^ zJ@Onh%cN9P{;NUI7IalsmtLJqt|uO z8^th&rQ>TH Q{PLM);F?Gb&CIDuyi~S`9%{+U)0oUau7Xw z`29@Lkx%Z^r)0DuB$pgvjgIn*l1w*FDWNXp$xJG1d-^}fSo|3FJWJs0tkm2z>A}n2 z6h$ENWLo;yiJsn*^?Tfcdq>~zoU~gnDgEpjUuw^O58gzQ3>5JTsEbbo_-grYRQBqt zSM^C% j;UnIr$(4Ef_;nF zWFZJUjI1{L2BZGd-CF6~J(uoi0Io$J`xmM$!3FM n;P3dNpt1L#DuQ~4?fC2&<7tdn-gnU z@1ry|jbf?Oi$o_34_bR^^4?p(czW67gYd}Ki+2R5<2Fa~t@q}d+$fK5b=8n-*xxFU zr~50oar(GT#X##foWa*XHjm1sy6GK^2h%aJ^6;p|Jwu)}A+%nc4$Nqx(R`qDpu }Xn_2p&H4%XK7vwJ!kn)o(>go#ZE*Z0rAvh%j zkd|6o0V~3m8TwT#MXl?b&SyWC7`Y}Zv6kLkyqkVcKWa9L$$ld7jmJT_I8iB$=6k3n zS(dGcbAOGsccP7tu%I(t|I{=#LItziBhEL_vMd5v{1y{q4@BX{X~VI Q9Y1-uRCX+3BG9brokJ(xl^>24@>;#un;u8du&WpmIK z;aX2-ix?{OeNlcWO7tL7&~N=Q)X!$Gsd1b0gV9e4SCRxQT%HTkzl7=wz@YjOTdACa zS4h>C0Gcf!^*@N0L~-gD8eG~@?iQ08{=@ifu)5L4gi4Y5Sncg1F&7`%vD^I{8vhdz zFco|mZh<=#8$u=&{sFPKu=zjNUi=$?gVO(>0Q|p=^sj-u?v#WG(3`I5arsC=K#czO zHZOt|VU}5;X7z;5LNSTGvP5w{H9Q^cXy#7{LJ&gs>8iW95oR1AGMy5IHg0uq8^kuD z;EJ#3e&mts?jWpyxhN^S!Y^-Y>_yV0b}Eru7Z8@WM!P@bDjK<4z*AFAeE>6&x;Y>} zv=&A46U_!jO0x^EU9{_Mf^tBg2{8dB0jA@p x2o$s90_h=ICqTWz}^tWd%VL(E8=M1Q!?)~>k7iZr!YOH$v7O#e;^iEd~t=s zpdUEFxQmL~>7m;E(A;oLNgLCd{_^=djl3l#Ma7b{?TLZC-V~95w{PES$r09ht&ZQd z^V>Jmo-L+nMWVGrP@L`Zq7#s}(&qu24t|IHUF)*!7<&uJ{*6e|sEuk(3qPZBCE_%~ zYz
;hJHRGMh8e&`jk#DP$MH^w|7e%-7kNeb1<^q7?nZ z5CTo{n8htT`%jb^@=#w1#K&H+BUgNyMlvFdi4Jg_hMOdGst1tN-f0$eM9=R}dC?ua z9o|!Ds=t9zQ1^aOYY!a9d_=S_g!0Rh@{Yp)+C`p1TfUwNW`q(#Ymtk5bb=1GIb<$f ztY>!7xi$u_XZR6|*!Fi=+#rqChL{pGe%9Q(L`THN#=6Eb%KC%5vvut?m6hj0Ty0js zsx!EbW;dP48>cs8ypyG|Jo=gl5oa@Y8N#zj@Zr&=UHc{SUHx#-{Y5xj?Oyun(C@+l zXf?n2&D$+e-q$-4Q#W#{;$Yt$? iXJ$*d;dlr0#hS)hFxB(%@F=1n4dwn2%7uN(C8dbAR#XrZNbd4% ?CPv4{6_+*!UIFcBSr#o|0NUfnk9`ab3{buhkAy2Vy;P BJp%TFIc>ugDNFi0^U*`oz~C60?yNLY3~Y!v*5~&`zo70 z5}Y7p#Cp>S+5mj5%t@xLa#UGO?jsUl^30c&z@CkTg{9N$BjFfx(1DOng`%L`n!OFu zxwGp*AO4T? cqhQQ+ j-;)CShWb+rjb)zYTFKBJVZ-8)boJ==#R*Q$9o+vz)& z mS0M%R-nQ(66v zFG@aCxI#RBl7fJ+=``Ojg+3MS)_4xWmB2u?RKc Dj zY_D=Ye@-C@EViiiZMgYD V;*H35gtkWTSD z=pWN$oL=1O1^o*}ClN!WyHfZoZuAv5whbtW@7??ZHu$h1GK!0fn|*d?H_@02N=o{Z z@-Ec1wDcoB%TJU%bEKG)hgw<(zB>{Ajp?PIG)KK`&cIR-H}NeW#zEv>BVJS3t;y44 zB06M^?!CsneJKOt?^GIfmr9S%ol8S8g!mAn`61r>N|v(oMOZm(^pa6WdFw8v$kFGw zM!BGynrNuh2gxW8AZ#!1qfLj|&F4cNp{+HU-i8GXY;w`lb4urtVi|>^WvMj|LO@Yb z@!je6guue-&Wsh{|I`5^f}AE(vU9pt*3x|CDq4UT*M7n83$l5NQ)zDiV$tURe#j0( zk|wS&%fi+3;;`qQf6X}Qq)Xs2DrLN%3j_Q5U){%FEkoP-(@;}B{i~~s6Y9)5;|E~q z5pF7z1`mqyZ#O8l#5W$Bj!=x5WsK?T?$j6xc%Nuh^W~SxfWTcOVv&z7Om&^(Wt>UN ztplE4M|sy;rz#entco*L{}#GzP4EJIUA%PpHR059H&3K+09mmwV$`|_nNF~o%KX{0 zXNW=K4QR*WmCi_BXt7ty4Oo0`omzEWEjCY*aXI|p_IRSbCiYW;Y*(^Pac0`(c=z$K zL4qQ5K7VS8jj5-*fMU2Lqigj*b0uIu%Ifi59T9VMMH*wf*KKwK9>gaCXD2hmwg&u; z9JqiepKe98e1vuc$J{;$x3ouJxn_i%>Gky2R*vzpF&1Ir!@rQrB{$ &;$!FQraw$9k>i zPF15x(cTlVppVkjU+GixmXD3ZoQP6;BtiYgd!1J|q}w+zsG_(#_@CC~#ZmbP2xmdR zf6)Ffum~as|Eo~z_L^C_P1cQ`(}xTfgg{%{b{6h`BRKzG2Kp~P^?zVW|A&DFo%TWg zR)+dv_FS=F3aC|Hf`7E=SHkXAuT?Ti6=x^9pH8~u+6}_%-`+M=Ls*W_OkCa!&w?vg z>>!fjjH0We=XQXPvX1)qw~jl#zdrq}@eA{|UadUQb{~UXoc<}fq!{8p(8@4E5qW0) zTonq!e?^IbEN6LYA1ytw`*%cD*!i+?I-?@RKMmj!C86!u5zu~H!Qp15zT^H*kmVrL z-pu$hIWfBY6EMVMzFdTDI_%V=Y%Q7V&OcPK@`OV6kRAP83iQ;CNKA#JB*Zl&bcwD% zRS66cO$xyQ4>IE2#d3z=JGfN1PG*_6mMSw1gMTFy>OU{dHGuFneXo-l}ESDFE0) zKDu>*XAJpl@=Fe!LLMiW+gtw-(m~9V%av%XvjqQQuPsTmL;tZe1kADZ|IzvXNOAuU e3-_Oz|M?Am!?{~1Cd(QC{iv%vQZ7-n4EkTI;*WX& From ebb10d766e443ad30bf45af6b1fe52421dc6d19c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 08:03:34 -0500 Subject: [PATCH 02/10] Automatic changelog generation for PR #11546 [ci skip] --- html/changelogs/AutoChangeLog-pr-11546.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11546.yml diff --git a/html/changelogs/AutoChangeLog-pr-11546.yml b/html/changelogs/AutoChangeLog-pr-11546.yml new file mode 100644 index 0000000000..260204e8e0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11546.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "Ports over TG's Mortars and Pestles." From b789cd246ad65f9ecc315c9d1824eda659f93b53 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 24 Mar 2020 19:03:49 +0000 Subject: [PATCH 03/10] frying changes with bad chems (#11580) * Update toxin_reagents.dm * Update snacks_bread.dm * Update toxin_reagents.dm --- .../food_and_drinks/food/snacks_bread.dm | 13 +++++++------ .../chemistry/reagents/toxin_reagents.dm | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index b18dfc7968..204e5ce455 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -189,12 +189,11 @@ GLOBAL_VAR_INIT(frying_hardmode, TRUE) GLOBAL_VAR_INIT(frying_bad_chem_add_volume, TRUE) GLOBAL_LIST_INIT(frying_bad_chems, list( -/datum/reagent/toxin/bad_food = 10, -/datum/reagent/clf3 = 2, +/datum/reagent/toxin/bad_food = 3, /datum/reagent/drug/aranesp = 2, -/datum/reagent/blackpowder = 10, -/datum/reagent/phlogiston = 3, -/datum/reagent/toxin/cyanide = 3, +/datum/reagent/toxin = 2, +/datum/reagent/lithium = 2, +/datum/reagent/mercury = 2, )) /obj/item/reagent_containers/food/snacks/deepfryholder/Initialize(mapload, obj/item/fried) @@ -227,8 +226,10 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( var/bad_chem = GLOB.frying_bad_chems[R] var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem] if(GLOB.frying_bad_chem_add_volume) - reagents.maximum_volume += bad_chem_amount + reagents.maximum_volume += bad_chem_amount + 2 //Added room for condensed cooking oil reagents.add_reagent(bad_chem, bad_chem_amount) + //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage + reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2) /obj/item/reagent_containers/food/snacks/deepfryholder/Destroy() if(trash) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index cfb0588f8f..305d12b3c5 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -495,6 +495,24 @@ toxpwr = 0.5 taste_description = "bad cooking" +/datum/reagent/toxin/condensed_cooking_oil + name = "Condensed Cooking Oil" + description = "Taste the consequences of your mistakes." + reagent_state = LIQUID + color = "#d6d6d8" + metabolization_rate = 0.25 * REAGENTS_METABOLISM + toxpwr = 0 + taste_mult = -2 + taste_description = "awful cooking" + +/datum/reagent/toxin/condensed_cooking_oil/on_mob_life(mob/living/carbon/M) + if(prob(15)) + M.vomit() + else + if(prob(40)) + M.adjustOrganLoss(ORGAN_SLOT_HEART, 0.5) //For reference, bungotoxin does 3 + ..() + /datum/reagent/toxin/itching_powder name = "Itching Powder" description = "A powder that induces itching upon contact with the skin. Causes the victim to scratch at their itches and has a very low chance to decay into Histamine." From 5089190c837780728d3315fb8c1c052dfca6a3d3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:03:52 -0500 Subject: [PATCH 04/10] Automatic changelog generation for PR #11580 [ci skip] --- html/changelogs/AutoChangeLog-pr-11580.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11580.yml diff --git a/html/changelogs/AutoChangeLog-pr-11580.yml b/html/changelogs/AutoChangeLog-pr-11580.yml new file mode 100644 index 0000000000..4dd8e6daf3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11580.yml @@ -0,0 +1,5 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "new reagent 'Condensed Cooking Oil'" + - tweak: "list of chems that can go into fried non-food items was changed" From 82396c33cf68dbd300e357fb5f3666f65ac2e715 Mon Sep 17 00:00:00 2001 From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com> Date: Tue, 24 Mar 2020 15:34:01 -0400 Subject: [PATCH 05/10] i made an oops (#11591) --- code/modules/clothing/masks/boxing.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index bfbd1d519b..f11c89d00c 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -24,6 +24,7 @@ w_class = WEIGHT_CLASS_SMALL armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 30, "acid" = 30) resistance_flags = FIRE_PROOF | ACID_PROOF + mutantrace_variation = STYLE_MUZZLE var/voice_unknown = TRUE ///This makes it so that your name shows up as unknown when wearing the mask. /obj/item/clothing/mask/luchador From 3fd418295e4a82741250c1373451057af33db473 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:34:04 -0500 Subject: [PATCH 06/10] Automatic changelog generation for PR #11591 [ci skip] --- html/changelogs/AutoChangeLog-pr-11591.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11591.yml diff --git a/html/changelogs/AutoChangeLog-pr-11591.yml b/html/changelogs/AutoChangeLog-pr-11591.yml new file mode 100644 index 0000000000..f2c06035f1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11591.yml @@ -0,0 +1,4 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - bugfix: "insidious balaclava muzzlepsprite works" From 62d1a1f734c021de21f7abc162e0e920bdfa8bf7 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 24 Mar 2020 19:39:46 +0000 Subject: [PATCH 07/10] cook now gets to choose their ingredient box + sushi ingredient box (#11590) * Update miscellaneous.dm * Update cook.dm * fixes some bugs * i broke something again and now fix it * fixes remote, edits ingredient box contents * even more wildcard items who doesn't love eggs, grapes and various kinds of human meat? (skeleton meat is a thing for some reason, and thus it goes. IN THE LIST.) * removes a random newline * adds a newline to the end of the file i accidentally removed * why was there a newline here too --- code/game/objects/items/miscellaneous.dm | 19 ++++++++-- code/game/objects/items/storage/boxes.dm | 46 +++++++++++++++++++++++- code/modules/jobs/job_types/cook.dm | 6 +--- 3 files changed, 63 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index a2145e67ee..c6bb350929 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -58,6 +58,21 @@ new /obj/effect/abstract/DPtarget(get_turf(src), pod) +/obj/item/choice_beacon/ingredients + name = "ingredient box delivery beacon" + desc = "Summon a box of ingredients from a wide selection!" + icon_state = "gangtool-red" + +/obj/item/choice_beacon/ingredients/generate_display_names() + var/static/list/ingredientboxes + if(!ingredientboxes) + ingredientboxes = list() + var/list/templist = typesof(/obj/item/storage/box/ingredients) + for(var/V in templist) + var/obj/item/storage/box/ingredients/A = V + ingredientboxes[initial(A.theme_name)] = A + return ingredientboxes + /obj/item/choice_beacon/hero name = "heroic beacon" desc = "To summon heroes from the past to protect the future." @@ -72,7 +87,6 @@ hero_item_list[initial(A.name)] = A return hero_item_list - /obj/item/storage/box/hero name = "Courageous Tomb Raider - 1940's." @@ -115,4 +129,5 @@ icon = 'icons/obj/supermatter.dmi' icon_state = "supermatterspray" w_class = WEIGHT_CLASS_SMALL - var/usesleft = 2 \ No newline at end of file + var/usesleft = 2 + diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 489704dbd5..a67757a535 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -946,12 +946,47 @@ /obj/item/reagent_containers/food/snacks/grown/apple, /obj/item/reagent_containers/food/snacks/chocolatebar, /obj/item/reagent_containers/food/snacks/grown/cherries, + /obj/item/reagent_containers/food/snacks/grown/berries, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/item/reagent_containers/food/snacks/grown/soybeans, /obj/item/reagent_containers/food/snacks/grown/corn, /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle) + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle, + /obj/item/reagent_containers/food/snacks/faggot, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon, + /obj/item/reagent_containers/food/snacks/grown/citrus/lime, + /obj/item/reagent_containers/food/snacks/grown/bluecherries, + /obj/item/reagent_containers/food/snacks/grown/cocoapod, + /obj/item/reagent_containers/food/snacks/grown/vanillapod, + /obj/item/reagent_containers/food/snacks/grown/grapes, + /obj/item/reagent_containers/food/snacks/grown/strawberry, + /obj/item/reagent_containers/food/snacks/grown/whitebeet, + /obj/item/reagent_containers/food/snacks/meat/slab/bear, + /obj/item/reagent_containers/food/snacks/meat/slab/spider, + /obj/item/reagent_containers/food/snacks/spidereggs, + /obj/item/reagent_containers/food/snacks/carpmeat, + /obj/item/reagent_containers/food/snacks/meat/slab/xeno, + /obj/item/reagent_containers/food/snacks/meat/slab/corgi, + /obj/item/reagent_containers/food/snacks/grown/oat, + /obj/item/reagent_containers/food/snacks/grown/wheat, + /obj/item/reagent_containers/honeycomb, + /obj/item/reagent_containers/food/snacks/grown/watermelon, + /obj/item/reagent_containers/food/snacks/grown/onion, + /obj/item/reagent_containers/food/snacks/grown/peach, + /obj/item/reagent_containers/food/snacks/grown/peanut, + /obj/item/reagent_containers/food/snacks/grown/pineapple, + /obj/item/reagent_containers/food/snacks/grown/pumpkin, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, + /obj/item/reagent_containers/food/snacks/meat/slab/goliath, + /obj/item/reagent_containers/food/snacks/meat/slab/chicken, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/golem, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton, + /obj/item/reagent_containers/food/snacks/egg, + /obj/item/reagent_containers/food/snacks/grown/eggplant) new randomFood(src) /obj/item/storage/box/ingredients/fiesta @@ -1061,6 +1096,15 @@ new /obj/item/reagent_containers/food/snacks/grown/cabbage(src) new /obj/item/reagent_containers/food/snacks/grown/chili(src) +/obj/item/storage/box/ingredients/sushi + theme_name = "sushi" + +/obj/item/storage/box/ingredients/sushi/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/reagent_containers/food/snacks/sea_weed(src) + new /obj/item/reagent_containers/food/snacks/carpmeat(src) + new /obj/item/reagent_containers/food/snacks/meat/rawcrab(src) + /obj/item/storage/box/emptysandbags name = "box of empty sandbags" diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index db76af4d32..b41c0d8505 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -27,7 +27,7 @@ suit = /obj/item/clothing/suit/toggle/chef head = /obj/item/clothing/head/chefhat mask = /obj/item/clothing/mask/fakemoustache/italian - backpack_contents = list(/obj/item/sharpener = 1) + backpack_contents = list(/obj/item/sharpener = 1, /obj/item/choice_beacon/ingredients = 1) /datum/outfit/job/cook/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) ..() @@ -43,10 +43,6 @@ ..() if(visualsOnly) return - var/list/possible_boxes = subtypesof(/obj/item/storage/box/ingredients) - var/chosen_box = pick(possible_boxes) - var/obj/item/storage/box/I = new chosen_box(src) - H.equip_to_slot_or_del(I,SLOT_IN_BACKPACK) var/datum/martial_art/cqc/under_siege/justacook = new justacook.teach(H) From 60a88beb70e4ad09c647172abbad5fc9e0853200 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:39:49 -0500 Subject: [PATCH 08/10] Automatic changelog generation for PR #11590 [ci skip] --- html/changelogs/AutoChangeLog-pr-11590.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11590.yml diff --git a/html/changelogs/AutoChangeLog-pr-11590.yml b/html/changelogs/AutoChangeLog-pr-11590.yml new file mode 100644 index 0000000000..e8241cb0ec --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11590.yml @@ -0,0 +1,6 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "added beacon for cooks to choose an ingredient box, which replaces the random box they used to receive" + - rscadd: "added a new sushi ingredients box" + - rscadd: "added more items to the wildcard box's possible contents" From 0efa6fd065b0367816fce73e3cbb21d5dbedbb7a Mon Sep 17 00:00:00 2001 From: Kraseo Date: Tue, 24 Mar 2020 20:58:41 +0100 Subject: [PATCH 09/10] gimme chokies uwu (#11601) --- code/modules/mob/living/living.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 1309fae60c..103e8164f9 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -702,8 +702,8 @@ /mob/living/do_resist_grab(moving_resist, forced, silent = FALSE) . = ..() - if(pulledby.grab_state) - if(CHECK_MOBILITY(src, MOBILITY_STAND) && prob(30/pulledby.grab_state)) + if(pulledby.grab_state > GRAB_PASSIVE) + if(CHECK_MOBILITY(src, MOBILITY_RESIST) && prob(30/pulledby.grab_state)) visible_message("[src] has broken free of [pulledby]'s grip!") pulledby.stop_pulling() return TRUE From 8434670d2124f66fd098fadddfa2269cbf608821 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:58:44 -0500 Subject: [PATCH 10/10] Automatic changelog generation for PR #11601 [ci skip] --- html/changelogs/AutoChangeLog-pr-11601.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11601.yml diff --git a/html/changelogs/AutoChangeLog-pr-11601.yml b/html/changelogs/AutoChangeLog-pr-11601.yml new file mode 100644 index 0000000000..d327045d12 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11601.yml @@ -0,0 +1,4 @@ +author: "Kraseo" +delete-after: True +changes: + - bugfix: "You can break out of neckgrabs once more."