V)ls}*`
z)FH9gqWdSZd1z5cw3t5v;RqPaNak347C*lF%BjN|t#7ZNZ@+u-17(9rh|ghK;udv)
zi$#v;=P;CeKKk_N&@Gy2l3FV(eKdmpT@tnPSXzRq;@hQ{x-PqVWLw>wO}%q*Z5K6X
z8{j&5z)lX7gCiB;0KoSjXTrVt^#Q+~3G=@Sy8bwgR3+0#g+sq0wTPO?!Q=5n#uqA{;+Z*y`^3|
z<@51ts|GW_UC+KFYn|KVD<7b
zfy%pgcel(fF7ABHTbAj#y#vqV@{w-JJ0hrSpvE>xJ^bX+I|m|kCozYJE
zyf=?MiNM{G%TL3vU`3?dk1hS+h54
zVvq%pd;u$xn&}aMhKN`rl5v%xs{Lqd)?{2#lp4QDxOJ$btLy2~&9J%fd*82jE!G(Q
z%j~*}g;lS5JQ7Ci=cQmT*`GHt_N&G410PiDt(|uI2`!46X>=Tf&KtH|L~z!v}-=31xvIF6`^xj
z9axG;n2@NR;n*ZD6fl(&B^Wn}MI;&taT~P2J96XYV`HCJIsiCuYX{wVBV0JR^RyLm
zEkbW&zYtRB)3>TaPQEu4;(;J;U(!XxQch6dQMH_eofh)UWyS8w3nMu>kQZveqU~Dg
ziW3{WuUg#-U%Utw0lH3KF1#b_&S`NY#Bi=3Zn&=fWiXvel|rq
z>VC6_Wva#jbv@871ES?t>eZEHX~3CHKU1N4>vL)i;U4@B@Oi1~YVS$hkG*E^RA!dg{#Wunu5UaT
z&J8M^X}+V9_7uFH$f~ULL2zv6@s5j3O`O28xe3eIBAGxIi8ARW%Owk8NCbf(ZEe+V
zYhB8#s=(m0qZk4Q2T`OY4|G=pN>eR#0D(jzTe<4RtN18-y)Ge=$O0Zy4kvk`)Z-Bd
zWYWE|(xOwFcO()Yy$x~EiMg?Hqvy`EdlQ@d!?$!q7)^H`vA$eqEGh;XG~wFwe$aaG
zd@+hsTv?tWw|%YxZRws-tm{3A?Y-ZTBXwR?6r0Q4nK%}5r)hzqVX&d0VMQg!7HazY
zkOTxwo7pjJZlSoQ2HwjhdWx9^$`0ZTb(R~IAPw@<=)R+(AtjHvuqqsx6}c?s9$F_*
zD--BHS{`Kv^s!Wf$GU3@*KP0VnF1Nn(b9jwX^Q;Q3VX8E6Pv(GF
zgjU~YbnvsEZ5m)P1->Q(IFrzb?M9C8_byTMICU$N0H;p&6kDc8EsU_$hw*B)+D
zgBcn++nzDOm_QI9{eU2vO?FiDGInCB{FdbGIt?~aGu%Kbg|a9_O@C#geIl*%Iuw!9aY_4QS;S8OKh
zf<_~qu8e@)r^843J1|~XJ_WZaR!(~@jsF^Bd8I7tWszMgB$_7X;bw1r3C+6!Ma6Be
zg?AW4aQjo=?@jGJ{2p;#J0ROVX-|$K)9&QH13?+_IxD?f>j*JrBfep@al;&UzAW#AOv$Aa#>9>@6ct9x&)uR5B!pO1^D@7b0z~j9tH;P0rl4ev^6U4ZsBgNQE$Sui`szf1LAq
zyllX1*NL#qO|CzjiZZS&{jvPY^?}j_KW`KIDg6CE$lk72VWcHlYuK)7V@=g-b?(^r
ze|<5#EGOd??Z&CW0{}z^biSlO7R67d40W^x>^3=Q
zvh5*;&JF32ao}SV=x>NXN#Q!w&+J1H!}e1zi0$Ot`I$iX)W8H^*6-^XgPsN{*2^
zg-!kJ`hapFOI?K>U<2Nodf14v_FD>K+9L*ep0Y?elvhJ3t00-w@;F3X`r?&I*KWQg
z6$tcO_;iG9(b=V0ypty#jz|ib=YLeSyJjx>tGrh=^-LwMdhka)cXJu;aEZw&j@_yw
z!G~9Ls7}F@-z%j?YzJ>=Ht5j+U1RlAl{XdEIqH%49wpP*;^o1i0=d>Nz|ou1Y7TtZ
z!YGRUoS|!k^+V>Ej)dosc=G&AZI}_XkDTW
zv{rz_L?@COLL$tgHc0Os%{<~bw{|8C9X`TW2RJw^)xm-TZ@!e?_LSh28=^ccNs-e~
zxA70j1==PU4VJe}1_Btyzs~aN>ag~%M!2k*9SS`JRgYQ4*5Wwqi8lgYKlzTLH1A;z
znW`#t$4eZPyB$@W+)j?@?@WPnI^6#1Y3>QmBZ5y-|2evCdu-plu`$Q8WxA3xRkLlF
zOaskusgy`ZP-RX56j82#Q^ysz=P|{zHv67ee~$c0_V+uNg=-6X9Xdj$YatbFnTr=$
zqF9A=O&l&oTt_pb-x$qo{B~|3LaMC^w5~u_Ri>?UU{U-%BW^jYN5e2UxB`53
zs7CtjxCbBkMCkox$`r@FK^ZTFL!?>BfH|UtQ?4iy2>kV=ychFOls>$0X)(qJ{eNHw^t%&
z2ay1!&|@>&MaR0=g!NrB_-0_{@iDknaeTTaRr1zwZ;q^$QvxyPgM46HtGvhCNL{fw
zw#~5pQ6A#JaNTRE`=%TV2vBM2xW%}hx^K`({jaQ^c=1ZuSp
zZgtRxB;Zlu;7O*?LWb4!706G
z>4LtW0~cG;W2^I?&Y}+|UDzM?q~%MX^G0`QH!4ItVVVsctCeCkp-x)X2Q|M3;BPmS
z6`6?_J>6n;e9Je~@-Blhoxgzs=)Bdc4_VFVpH{35)(dT1SsW>;8c-Z>ST6G2f$vn!
zE{a7t_~M6c=y=PnLZ3)w?Z+4Z*kl!m1Z{Q|2=zzJ|DmTdSrO_Y&
zI~Q3PIetsMS&5oatb{gpt0)ScOS69+zgkF4Z`vqU3boDSvXf1L12k=IOHh0PU4%*(
zcxwsZ1awiGN@ylgGX#7#)+Anqadq`~br`XwAq=FH83|sXU%=%76``WY3M)s3fGLC4
zGKntsRv5B9-cyqSd_Ol55VKG(_<$KMhg}1}d2oh>s%QG{*Vh>*9h;3}QzNNZB+^75
zRQFm>x#%|79D}NOvj9U99^ia#f&hC|C)36r_MLel|9+_F)1;e|;jGg~!p==|CLeY!
z2#tyJ#K@F`VqRwN%Q@$^UWZemly4Jh4&hWv=9ve_(PHU0joh-DWf!6o3-uETYg
z{*E|uqNe$|KJ-R!mY|Rg2h^P;xE~8o#VuQ)o`B-Olx=-swV-E-r4{k@rq-^wdke#k
zDRvP~oqAho@a<;XvePRS-x(1Pl`MT?je}5io}l9G$nmg}mZ3^a0U!=vX$k=sY&|xH
z&0sH^Z7QU9unOqNXt6#!l?l@YJd|njU{SMHs7SvF?HA-=6Ckg`Lxq7TRE8q*ID~R3p|O~+f!BBALZd1e)i^KbKF`&Ccg8QaQju
zCGTF+VhhkpfpmJJG#BcS{`n^q9cJ^Z`Qt+X|1$$%`@r-4!ikB&{@!yV52xxpRKzN;OB1Ww<)bIpowSO0JQXoH#KVSm+eGG~R1sAwsN$Ya`u!
z$(n!R<*!}@LJYucHCwrf{1%>j#p)P!)4hD
zb9MFvE?Wrqe)4_Dl1GiAXb2Lf7c3%Wb)zc6UKbyRuiSMPa`nduBd*UXaOz{rqGU6-
zmpb3pxn+T@NFpCl0$`V&jLLuP?YR&w*Bz_YzVT}fYf}1HZ5KS&^p#c^%`{dRLk?Tp
zw~brSkS+4Lohp?`++Ni(OVv7z4_6F<&%i6xDolSn8wh+)EjX708X{7RHO3*7CL&@8
z>_TccdBj#CoiGssTuULS&G7i11p-L)h(!c?aI8&RtnB7yGJ)$`PdT_ft*+LMY7?o%
zit<^t-;*q>y11c?MD(u~g$vYi)IsZ(7qiNT&aBi6Tef}Z3-wZ)lj2PBf_tylnh!3-
z3yo&(Nf(I+KMBpPl7fkn1p#Kwl$=th!mkiCduEfRMveWvNTl)}{
zO1V%|%m1kp(PbD2d3&<~XqF
zHls|^8?u;@Y-8@oK~fM>4q%b%kXYV?!{RT-Z>BxvNml#EUix`{2GWGCCMdfhx?zZd
z&?F6R0XNuTk!B}?47y&jjk7KDR6SRU-voXrjZ+^j>UrkpD+1dRj~i_!>ge>SNmT~i>?Jc%8poY
zLe~Zod~_)Yg}G0Onzyu<1X>~~IVU1NZO@u4Mh{-e3v%)N_
zBa7+ZZ65^bmZ)Sm3ik7Hxn?S(5C?h>bd`^8XV|oQBoaspw-1;&c`z~n?MFlVBdQuU
zr0rs+*+sEoyX|y{ngAIeR-H_Oe~5u8=vm>#sfUqC6Y6UR|9jBNq;Ivrdd
zDjMv{ZEvT`M{S2kAN1O48ssaZb%$EdcH4p!unVAe19DOTLCg(cooS5fFVAHRvgyb~
zl$-^F3})3*DRk7OlZj_drl<0j8N1U+A|F%!;2Ff^qRp|S!@X;EQxNq-aE>4w
z(*tEGrGy6YTz!f@RjKYf%f73+Cl9I&P{BpOjEo-(ML46%cwk2y)kok-eHrm!gz`S!T^~XX}+->fK$V0}Sh)mX06CR6B4T
z;D(2Tj{Q^u<`zEtq=@5o#D4ff`emYoAe`0okSmcA%_m
zKV@;xZ_Uda?*lF#NF)>4;13^$1p)yv8$zLX^h)&c05p;zjT=!3kDQ2Ptv{hc(TLx|
zmbuuw6c&zBI&72OM}i8QN_uugw)6_Hk_^aNI68(+v8$HU3YkI5N>*+0Uly|{){f9f
zWB!PjGG~&Mn|@}(zBT`i%bJ)grwR>krSWq$POVw;@#CdA{>tE2aYqjaa!f2rHUV8A
zOh9du0|?Yz!@i&36I{;IH}Ud$zHW#;QAy3xpDY)H>2n_Fkjuf=ym9>VZkiI+AxV{Ha3wedcOBl<=Eyv
zY`*b_QM;!laCZ>rk@O4QItLIFnFFqyBDlEtS{|a{QHFAEKgv;Z`
z`ccYifX6g~x%qPv=mjQp{8le3Fa}DQ^d6KefgR0bCMDZsG)*wwMn*?RVYDEGh96PN
zZ$nu()u{;M<#-`Jl8Pn|Ms>2R@wd5a-=5t~_dNQyeZS%w{$*>RGK7AjcT5|K&T3kd
z_{(O4{Aqmb?Ol_lOl!TD>m8dGX`)vwc3TTfEk7dlJ>G>sG%8a(5dA2NTe_6d_GrWY
zO(KX#Qk{RtJ)DIKz6At~)yk_|!SQY&GL?a2M{eFzJbY@?A$^l}%kTLcMe0Y))L6!f
zHMb-1#loL)T7b6?&2`rOaC
z=bYc~dy(WY60C37K+IrEj9&*t9$?qvr+z_ff0Jh*(fDOZ#2^fgfXm&K**%wN>qH{8
zu-X0C@MBXw$9s`xkbTgySkWdeAa$JTv~baC_l{F(MK>fbSFUaiGH$!Fwz+wuw{r6x_#BZP0ty~zsQQXoQ&zR(ZSad3fuW2j1Wuq
z4AR~;5E6_b4TzcMXdNw-P2Qk!5C~s8NC$6>=Zx)he--98OvufwaXY5W+f|QC(HsF3aIK+>R>&bWlfR;Q)_T^TTUaR{dNexz#$eSNoXn
z@wOrz_p;VM!Yjv3$gDFwoq}~6xRx}Wd_vj%%+(5o$5|Zbg5l`<-=kv7HX#Io|Fiut
zw&l)UIt|P{rbcjir9_y!lmq6VHOCW>l!CVTy1Y5j^C43&?`3
zfn*zRIsEQ6_*Q!Jy;{DQ($`s&w>W2&l$2x$gpy#KFCALfFE6@it=9^Dj@*Bk?^)
zZZuX8?5zKOVdiV|%qhoXDJqG2=AW(e2dug$cMhP}2hudLO6!<=`?$WmO6Frw^7
zp{NK2Y-lb)HE}K;INSC3`ndXPtoi5Z>syMYC;tDqkQWfF8mJKrG6{tlO{Z5x(vG9k
z68)z4Ge8=<04AJVnz9;IQqOa+7aJ?9ydbQJs?3%pltVg9o
zFthbBXM`i7a##x~4+86GKkfguIZ-nm%;ve6VO9W7(<~;wt4jiOsx1z>i@cxx#`~&{
zMw^u-%}$pay9)HNug1>?e3sft4+vT?9IM=r#Q19A}!cby3Yh|h@NfWP!5
zk>~@)%`GnU{IO9(S!~Fdf@(kH$+AO~JhAuR#WZab#3~{L1b^*hIIi^~XKb_E)+(yi
z_P1$XZWMuzr%WE0$hLa@mQG{gJf9iU%5%Klh5R+TV+M|c0U*NHk-tn{#8{g6b%X*L
zd%7v=9scIm3mp$puA~onMt6P54Crr*&3)B*LfP~aGIxtrT8ZN1Y6}aEw4;IOGy$d6
zlMN3Z)PB_EXvc(#4r}bK_8j6y73Yd{q~F=m9#&c_5$4%YC>Uv+5s2U{%qB?6#eBZ&
z3>IZtCj_`OSSh>FSqTF^Be%6)G*7#c?;?hPa0nAX)`iqQdsW}v`z0uwFV?75j4&5r
z0|@t<>&F&3_29ALqXxNZGx}~|{Jqn4Zx~n7UP8Qa)y@Lvq5Y{PcCWOLN8t+arpf7L
zwwFfq&afz2tp0#o>Y0LB`uXPKsmRr^!Yyu~r*Yl3>UqOyT5jCwPWNkO$@kQr-tNeX
zk?F(-Yc2+uS+WRsgw~MP244kOeO|;nxW-to8)r>p#A#`w%yr>YVTF7OJUWzBTh7GI
z%|Qr6aA#;c(R-kuPj|9rR+I>^R6?ySISg6~fwn2)Br1CdtX5NC=4e2BgdK`v)l%fL
z>>fahu0s-h?6eB|-I5M$DzVlQ@?UBKFDpj@47h}fiegCIEG=b
z*a@Yk$O-*EdZWHzZX3~M%{jN*Kt|hQwm2pwBY%41{GD~uuIgo8`SEUmDb5H9Y~3TT
zRj1{8axh6rZ`WtMC=~pyKAKo;B!#Uhy!;DD|Qji0{!4DS*^eU;)e2n>mk^y!??Y
zO5vG&|2Q2@b~_1ieOmzH=No^4(c83+R<
z8ikQY{ZEPNk6d`;-9GE{p|dFm)N}JLI63M**x$R#i{$^O$w4jS6J9tohvnxgE=6w`
zyEM^bo<
zCiYoM@Iw#Il_<^{3nRx4wC-rL;_8PthoNG!x@p+E~v#TG~Ed`aTkFQprfPQXzpo^JJ7lOmZyH4(MxC~)16pEnP
zHskJ~?r!jU0AOl-90`?;jj7}YSB0hNI-VZShP#(y!ou#vu%*(&HoPK+9BWfj&Jgoc
zh_FEsbrrA*kowAW5HL`C$ITj`9J$S|qf2gGRh~^JEseqvfvogaGHbFs^sRGZN1x)=
zq($ji($M0c2~l6(zkB%c=}F|5<8pST(dxxRnZ7Rh&xI46TC$gPp9jVDh~2L1I{EAM
zonz(`7QQ_m?sYsY4!Ko*V9wCzOKe9D@^0BhttVXj(mvlweS_Q%=nn(~Y=Zvp#6xpw
zfooGS0hY;P3EwGi9e_3BYEAfp(_kShu_
zM1MZ!2jL!Sh?(OAL#yblh6veciAMH{n6qb4G4^$~qAXG=8$Qx7w#m)VQfypDabysx
zjS(OPpop+u)+US(V{>=ZEbl`zU^x_;=u6FV)H8?j)R=Q$gMb1u26#L5&g??+rWotX
zQ5#H$4E!F&Zt)m}&&0ktY7X6ex`wpb_1vVS*>0%bbcgB5*0^6UN3KZs3feqrxPEiw
zgU@BFTGLOIA>M;$Jk^jXA`_%bl!(X~p5fBx2>r?}fOQU#p;#
z07xKcgO)cLPXHr<4**!8YoP+elC;Kw`|(;MoO|S2N`fU>+T()A6rm%Wh~Go7fkoun
z-6zBLG0%4Fmm?V&wTC3&3UoY`W4-B=RWZ(<|f2PT*TD;HfSo^NjKE
zYU=2Y;_1%m=&lf|>NeA>;;E`$>*#{;WOWI2XHryko17+itd?|i*9djznypp{1NBq9
zHn>#{p_lVe)N3In;N85FY1;pIsp9|R#izT_%&Y0CtEp>csH1D>ZDn|;t3My03`Mn7
zmk4xqn{}6NoODwHwmfxB^{tlfbPWjujTgeUZUeT6p`1ag3v*sj`2D=q`xdVaM!O6<
z`~1@K494>Evhrr9^6Dz%{KNA6@{xL*^6JWw`kIPr#}g=8U0PnxQeMtdQD6B~&T`UR
zTHaPQQeT@{U2)QUf!51%(&k!TU0qRs`WJ1hIvH>~Y2)xO296e29JiIVwK<=(xq+LV
z$Uz0=$6ZXLziLP7FHYLn8@*^Wb-mV-On3C5mN>oh$u_ew$G}&r{-_(%Ed4oUJcp)ag
z{J4#2v+u^;3IdYaLS;>Tn{`c&I7$lP75?+0!J=G7V7c#3~MD
zCE_aC0+Xh-kn)N&lpOMs=CvH^if1j(s0#^|>{yegjqJ+?W{sk8EU`gc2ZbNT6;X;B
z{~}Oc2f2lqQc6XI_{vJGdSGZc7feeklojG?E0#4uc@-5BDl2g|;~P73&XYrD6yh2y
z0tfK5omdAl-V9JfSq=Y{{!hqWS`w61dPstjQdM$-7C0;MFRPGPB}HI!f|3eUEhQyT
zU6_`UBjUe`-}V={eX}4M3&S7ZEEf)in`1ICJik
zD%n;2m0s3QXdDZbuI<2EJa7LOFm@81&+t&HnxEB*fdZCJopTv}7yq~I7WS+I^A=Tq
zr8CtfgA$<9_m_>L1(T*Npu7^aqM=ia9e)(3*h7H~t*EB`We-Q*+gYQ^ze1Fo=8Zh!
ze%$B*0Np`w0Er+JtK7->WWe9-mHeVLu4sqt4i;oWkpc@cl)0-&0fD+;No4w_aX}!k
ze_jxozKBqniM3zP0SJVe!3qEYa{r|-qUzUv7*q^H6o3pgn+K?&1qhL(h&W`DxDekG
zo3@A;x->=jmQeQ+dtgd2kywsPG6F+2l$d~F*h-4@MbKJ_N)7Q+w)gG2w)&C^3`;Lw#E11r3Lyez1{!RpTN^0=X(|o=ce?8V}Z0eQ8F_0Kh3!
zqtkx{g&q)(1dt#ufC?70!L|Sk9+LAwYb1FnCeuJx2&NP=0aOoUnozJHw855w0@zZ>
zc_GlIC~5jHprv#~4W$8#JpTeoTBra3lPds#T&wxPNjwxrYV}YsN`LMhH}$>
zhJz9ma2Wdm0IVV)0czpMWce6~QJ8o>{Iep68tTYs&TxE-NX~;SX=Gr3n#VY>*qPX4
zT<{>tB3keu%Oe_!KraWNh~NSF-zLi=_HXmA_kT1f|9>-}R+K@1W^nW@qB#eM$&jH9
zRG1v@ze`KU|1Jm8EE1q<&8vNG_Pe3
zl_G>()HwTB)S{#UuxQ>WigiE(1Wm`LMT=QHFj&s#+C&KsctHl1AoK?=2Q;mL&!zos^!zkRR(8W;e))IaY*SC~c%
z>fGGF>rW%21dWrwt4c&|VUh%YU>aT&R$LXp+|7AcH#RFYqt={`F93{yOa6U>fLL
z(0|<`Xw<>|Ew675=?X?@9eK8X!D-kIDFK4e0RXo}`xD^&5Osf6Xo_-ZygRl98;(|_
zpnRQ`0!csdToPvyzP6UbVU|U-ruuhFCC=W;Bt0d@Z=a{#E1SH*&>aUgGJpe{hC5gS
z2A_BcDku~l2*|DNp5!!v2f^>+a-pK54u*P6+ra^_Lx<46eKA1C#VZfaw-5ptn3xYC
z1);~pG)AEva&;q^u6j|2Qp3}H>4(9O4+_C^{3rsNnQv0rJV#_bf=zbh+=S{%cr%=Qjx^{zQvg{vk&pz|4hFj1)k<1dnPqfx7cxt-
zqmgD5IZ5|}I$uXou6uLo}&0tCt9tdY*?rKal>M7=II8snJ0_f94Fye5TpsZWi9g^$_o
zg#aB0Xb|6Kl!Xh+Bt5Kdp^fjA0bp=d!qviDM1{p0-HR|Ad=Uj=ZC4!-hEtf`JAz6W
z<=0f#gGWC%#()*v3X{6MwPv9ej(|K}@9GO!;Zrh0xkkhJsvTCmm(2L*L_N3+*;U(f
zh$3K1q!Q~7xswad(VgW%31j5J+Jge`3GA|c#fK6DwBp((jJM>SFOmD~%LdQ-6;$rG
z6l1&Bjrr5=3=U`Rsv~6}l)iJP9a8Iy$*z0maGYO_%hytqJg=E~ad9&<
z!$_2^rgt%nU$bCM_?qPOOqVXC!b{D^1h#8gE6=f;Wtx?+K42828LBZ=A87&)3I;3(
zIa!?u>3mfxRyk+Rt%i*p^k+Ta5$CA(xZCZPV7h+K<@8zeaH&=Utsic(4h4;A9hEQ%
z;iH<#t`1E?w!Q}5!Cq!9Ul_RuNc;|@HN>`s)7AZIQH219o4Azsj)<3XA5(_iR!`h!
zf&$YH?1%964{x^(l2Gz;C?0N5FebBS87^u{Luj{G4uwQ~z=^*>xo>z(h$v#pl6~lp
z;9MN=XL@CDcu%|?=vx>*eCe4*un(gGTBvZh78gpy1nj&!_bB%Il05JFETfR0&9u9>
zKd@+w@-p#$(`&k%ozSzeYe)J{h<>|gkF_E_7eQxS?Qx#nR8>IvzOUYKW7FTj4PCvTAN&A&()9Tv0A
zs#opDI7PF7V97O2I?TK=Z#5(o;VM099ydR$
zoDkS~-U7_{R&9SnJh-V$)+bnvAtw(GRqkbQ$!}FH$kD3OVHZ`8!;RY^FVhn%kr|+t
zWhtViq^J>PUBr6PxQ^-fjMf@0^iJ{7?-|S@xz*)CT$n{VaL)+-2`zG{T#d!zoG<6@
zyszcL5_!Z8o_{3HUeC$AK@B%=6|*0wmn13ImBxh2n+@;oE8xazn|EM80-JQKM?Z%=
zoqWHGsq42JpP%%|;s&(ij=E|PNmn18@X3;@fB3K^J!G{UYACIkLe9PButMnwpnSV}
zDEA5iwOzjFrCnL(JTNpN`G6H|`JkI(=unKjes}Ydcl*0x?aIbYjO6h`S{?~$r+&L>
zYU<%A0wE^vNJ2|HyAJ-i1kL~?WVfxzKa&JR5@*A}fvuMnKXRhW*T(q*GmiU`!+X&m
zdsv_X2Szy*zOUQClzRl9r5Gd8`_9ivm@mnKE>346)VU49G}PB&B^z=v+<;V7Mj*L&
z`$~&n$M3EARO;PjbFO57m)p#HS_QgE0Q9)%8ov?e-22j6Vq?THi4S(fU!=SPtyXz@
zAvx0FvF6u9cOoqBja7%eCeb1?f+oO9+Ni`PMC)l|#w2=yPB9-!Cibr`*@ZOe#ZJD1
zs!K1#b}>rBW`%;rR|4%>_{^Rdl!|3Ls7$nsun!DXA`Ee$snKKa!fC9q>8Trv3D?@^;UtFuBz#A0hD^Hh0t92;=GQ;abFyP
zzB5Rz>`n$z-FSlAjKGod}F%l@vp4?TCLxV{qngf
zl)SjIV#I!%x4dI)0+dSnx0FHVT=sLlRJxUvaMYd$$AVwC*3B%))nYVoE{J77jJ~Jp
ziRoHe2<=pD?<$+>leET|DTD+qMq-VevAPrg92MdJo>up=%Pu9An{Di+#nRa4&ix^<
z{HrEBQjiz!jSX<8wk5;hiIJA7)^iTi
zbT%OU2&81KF8y}Pm8YVw%`0eM)rL$v$E_UR|Dr!}fWp!`d0@IHg7gvJq1R5WI&hqs=+ISggJ_8u7h8T($SIx
zj=G)6%_=QS3s8sKYr$WBFx6pD3z;k_!78K#2hgk}Obk?#%#-$Yv?7MlEe#c@Ts&ra
zajt>j$jDx;nT4ryBHBT^K50yxwAsL5|1h;pA*}NDo3JoPq)W5LT-J*Eh=WZ7p+Dhy
zU#32Jm5OWnW7Lh)M8zW)Q5pq_z|y`+H1YC7_P%wspj2xAKK!mmZEc^p)0X~c-T5iO
z!qS|G#Mbp|pVU^fnb=N4o7=`gmk}%#z#JP|kwdp2;)PHBBVr&e^^++U3MN$8U+x()
z8@7Z-oE9bn#&&$H5%u$*oSPGFKjs@J{5C@26oEAfQWj_5M9X-5f&199w=`0MRM}b}!25
z)5ICt%Hl-$rIZk{7p=FavA^iujyA+!Qp|vV`g8Q+vtohLwhhga)kv4ArOMtcAgE+%
z2nC)aJgMmV++Nb{2wEBJ{1OIp4$`q_3V=>rtgCVVut^X4%Q9Y$u;5w1znXP!nkSr9
z^DooS>U<3gv7GzJIA-dxJ8xRO^Tx{ch9#3bg2gobhmlE>7z6kD<(Tf)@}IJt2CPOh
zz96M1E0sl%@H^M|mKuzy=QVe8>=bIjoLo$(G1prVs@glWQ)$;_1`MNB4Ns0@UCnv0
z5qE)Z7xSMe2K}m#8JF)Mw?xJt#23pom|e97#Z2;JBW5Ez@ba+DlE`LvzK?OFb)PqC
zk9xX(`R}pB3cizDOt2;_t0Dq#S3+!ZYLrXFYbHTy@5J43mv!uc7hEfn1E_slDOcvSrzA*zH_dq{F=Xv9^pQ$byk4}UqCH+q!rT0ta!!YTfDF@9IdlHv8He091KnKN2K>~hH&>u{u
zgVpVoSHa(}h6p`cL0Ybmn`MVMq?pHylPpd>StY7UOV%P@j=1fThRi?6>@}N=3Ug&<
z#)ilw0T^-OS%*B@-#W$~<1J05BfK4=uwlOzsznp-WpwZ908_m5*xQ|bCppZo?Ih5d
zDGaaI^_Y|d3gQG>nW)@z!m*ijKea4rTb+EDHAW@9P>4q9*B#o9B_ZiGc2LBgW|TNt|&d*
zQv=oQdpsj$VFlgU*Iwq|@CAS8fYq%_+UDXX#7*-4Y
z@N_q-DI^rLH3so7AFbR^tM#M4@~z$XKuXe9g0B0BKT)R_TgAM~MQ3_1%x2Gj5O^9K0GSULnznWpW0_idCm$&WHGDHgyAvz9gsc9BIcew-rHY`$$nj^j_~Yh26TY-E
z=srR)(O9FC*<3KVU%a&T?YKmY$KyF&NWfSogZ9rV7m5Sd_41qa3XoLnT`XpoH~Hcw
z1aS2xK#N~+&6A}*2uCQiV#Id39uK|m_o=^lK_~9TGjSTP-^mHPa=qxpOan6$L3zeQ
zzt%<1?ngs!*3tcB53khCj@?)m!Ub?;quZ_s>z~3>5am;wD+PxPh4CIbXOt&SvtgRh
z<(5IonNy{8R@Y~G6A%N3l31ks%g-JvidPP*y0@0g-JGSu+pF^S#vGJIViU|cA5c54
zs@hl|pK+qPC7GA*wgi3(5o!FHpB}#U@NURwZgbfkaV3ZeyBtEHWLQ(Ug^)QT4#QA7
zetr}k6m$$Hpe7kS1X|}YO7u4ea9CuqV>X}jS6p|Hy*PRWI)LUmDsis6i-%4n|~4=JcTcV83DPsnEs&FvK#OTJv)TQv}q6+7pI
z6mWlA{Bm&(M{)fuMo9Zp#Xhnnu2~D*Fr40-qqBHLmE26?HAxDqU!?M6*54%;@tFB0
zH&+93cl9M`y%VJP)TLCb9x<0cnP@Q}ra$7$iV6_>GG+~-O8t=>-hgoW6^U#!y%62s
zT#K_Z4F(o46dkEFGZcL#^Ca3QJ{Dj#Y~S}0QmaE>$`Jty)H|tuixKW!#g)EA=u^|(
z_;Go4Hhel6KE9737#*e2q%xh&dhE}15Py!D;R7F&tR<*}!@O!?AKqcXTD1C<^_q1N
zkgI%JO+5dBC>|p*0$^rCLH-Qt?~sa?T5>L6rVsu^-TfTL1@H_cPfy3?fFtI;9u_5<
zsa~6%#B-7tUH)|YaD6ryjm@H>B$mGPUF6
zVo?5}4D5e5d%8>h-;)bCXt!>TJc9OT|8V~pJv|*g3)9FzB?FLwo{^E|ZT`>p)^8mx
zi3Meit*`s!q^}T+k=*CiA@YC`kUatZTV1Pyl2BZHTWxvKp(v!0Gt9Y#2dsYLUxP`+
zAsxOW4*6t89y8u6p*X1o-P`c(eG(y@3v9Gft#7RZ#ZsMG5xOG@I*@}L^pTl>8<%@!$aE63}UbT^b6o~Mo{
zzU*;oqdxwri1^WlgH|jCMkJ(Bsc~s}nxM0Wzg=*h
z){BPpR#*4bE{`{;>2>MeZcX9oCN6F#MfHbgRg;LI6=l&AZphQOl9tT3jVcTc92?}a
zXw;#Oop03k!DDhCQ+z3^E>gUN&ZEVRG6F@`8D8OsQC?z0{PJxNkxxIFQO&3@{9*xW
zQ{UujB>%WEoIB9>mo#02!-l4!0)S)pp~;&6^!Q?
zo#J9c;XHn>sNK{@chBeawukN>w2C`zV}0X_^BV9CP<9PZ_!#7YYByVIlcb^Qyhp!|
zrkVfAp(fBH6Mb;8>9g1&Y39~su9t^jzirj<<0*fcG+rqY(R){g_-e9fvzw<}cV!aK
z*!k5+Q>$hL)4(86ekL19S80I{ZdTXxVJ5c)V->Wne8kqStab<@KaE=}Y
zyf&4+}e
zDvSY*$I0pb76)zCsmN7>!<{FsJEdqvBbCXMsjwyw!1VFdeJi!rvvX5Sb#`^9)~%}QFO
zjpFF|vi`+qq(?UUWRDEpE?yJ0(O0~cdo%q%pT;m@u~M@SFcLd)1ESPNskjMLg^}49
zW>5iidNrVj!I|IfxAF(KRvJ>F4qv0}9yc{)$4tIG$|4!y>$55;0Cd!RUedljnYmnJ
zS1n0X|MK3*z+FgSb{1;>Q-jdia%0ZAH|
zWQ~SoP0N6cvxx&bC~&oP%&&8ALYu0W*enplzYeOu2KHCCb0WaNXu_1u${Ysbso=Hz
z@CL}Zj|Q@QEY*I8JuUe
zDJkZZ&-BH|{Q!U^h?zICm4rDGuaab^ihbe>$u7wn;N#^#1CeESrnN6_3*^vhhQN00
zMa-93>unO~a)`dqFF~m2!i!{lt1L5`TI;Ris6ng^9QiJgpQ}fcg*=Qze)-_v(+jGI
z4i&k}Y+yEK_`(0tF?C6r?e~A9Md?Dd#6~=1&bG`DcRe2`<8kwFBqv4~!@+j8omlXv%TD$iZnAY5Rr99KJcPNOakXv}EF6CW{*W-cj
zCMa5Ssvym4vpE$}Vu9%)c;CjF??A!td(NvKbV%!U>TN>M7MXQv`qjel6B*M&QC!k=
zjY~L1v=rL=be>c%qagY^0H{FJZEKYDEAj?+{-_
z&F8t*2^{6n!xzQzW!3+6PleCkec*g7WBNym$)@Lqs-#y841i8;6jGACqLd}hRTDB+
z`X0W<=;x4)g0f_+g8oeHp2|{%N0P$mqY#3QStsO*_-m=OtCRTDc74qrxdBu$y
zL{;ovvxCL5_PY<8IIth=(I8|X+drw{1#C~Q2w@D^4Ri?~Hqk!@amx)Lc}CH;BF=
zc$$eq%4~pCGxv_~oETH%U7mdj#xevLoTG~%bJyw^HgZxq`mR7^9c$&+#31m3usD}`
zhxHceM;T)OM|-S>Vm?A=@u9&uR@Pr0A|=+4ghywJm>
zoN`kqwWcDp*^D{vLT=XS`tyYc@iJ|y@7$`sSPCsHB2PztYXnboY6sOX4_JX79y1-T
z<1+);AC;C@vDQ@Hc3${{el=Pf$=XY!)v)QnMKZCHB+ZgTkJU(*xmS^G40gGXNDvo=
zX$8U1s_50RWQR8Qwn}Yhu?XMmCD4vt0cX094YT&3rqws**N0|NxXk)N5qk^
zV^OCk3Tfb6#WQ5%hUsCez*!}D=IFSXgOG0at2IZ5r7sWvpNEhAOXxu)ZMG+BiK87F
z;(31P-wy}F|A1UU3ym-88V?7U?l)-{fdbWjA9WH82sLdJ&R-Z{s
zUka1IFewzrqV^;fs(76Lu~_z%S8`V9>lZOS5rEkv_SCpD{HP{#%_C!S1K2V!$+?$~
zEX&Jn?O=q%|BB-6gSVX5-R?8QvP(~wp_YjLZ4t0eG=>fVE%TH0E2Fqf?CsdDRcX=Y
zD)(~YjMsv60a<z_+!pv(){ofZ
z2Sj~_if*u>nh@5Z6fBJCs1fNSJQ|t2_{Jog+C7#NY13Uq8lh|kJ{riOys#W5b$lMu
zZVB)pxrhuUM`~v`^ITrecgk_igvGPb+s-#;dJFXRG7Mu8L+w-*X2&Nb(&1Dk)o7!c
zq>7`h$!FB#)kin{bz)he-+qbV*~a54$jroLjFB2Ht})-DI0=RtsFr^ckp4=p#v$tQ
zGc)GeD$(uJdXvTUTiax1xC7HkcUyg=<<`0{>@m8XnD%l%RT2Lz(=a5$1-os3tUIm`
z#s346JTwG9@Wx5j>>elWIwdckN`$Y&&|J`8eYa}<;oqRk3IGod$X?(A4x`QMKSfXy
zjXC`S4M*?n5r9PGjRf~wYp$i>?C3S6>i!sN1IF2Rn?-+Q+y8|8BnL(NWEV0xi#Jf{
zdA=oF)H!iuv0wSBGmN;oan&vHq!UlUxV#xedV!kWF-jg4bDn$zSJ1N
zZF>5>_c`Q`p1
zq-sN>D9jM|toU(w5+7?Le4<36_=Mr_Nho0Sch4yNjM|FU#ku^T_pg|6cKdS?IYuRA1&OzP0NT(9k>GQ}|
zk#=Z;kv!!i@{`-{HEEM0dW-ztE{QmwoK)YhxENU@BIx8r4nU~1g
z*!)m#dL}Mst{K1@pws>tR;X4uKKH#dk2gWm}HErdCU%tTCID?gGDTJ8qS4By{
ztNz%BSE?TpZeMqfu!e&yy$dR|VU7%9>cC(Xn1hS918@D=g#C{ocmHy%^PgBQeEJC*
z!$l~SX!H)JUvKs?d5IrhQ*uF*F^F$21HZ{9mbE+}L=<{1mSkNfa;o3PVtcu1P`~wJ
zY9aM~LcwvY$4Fm9SOvzMqiQF7yjtYY#j-^+&fVfx`_oQ`%MrbWtiuD?#KeE;J=Io>
z4;!-fITXPIP%@6~z2+pK^)qd>*n}WWzm*AwH`UgR2d5AKzJ^uLtbYNiHkCeddGiGx
zU8jmyfkPyv_&i*I!e3xsPcf*Kr)oDYG_Vatxx67v$;XIJzeDrK53dUQ#Llt&^B=hh
z-iM!|>SKF+YeHakv)MQ;P5|=n9aDdz=|HYtxld1wB=%OzDI|7_s3uwY-YL!u&iw=E
zZuef8T%8|rc%**U=0XXQ+Gnz^#pr>5WuRz;h%bfa+CJUFi!2vQgmVU=OX%j~Rj_aa
z7Vip}3!dOKV>2!Mva`~^n~fRGX}fq77EN5a7
zq@io!)x}zLrYbr~2aFG)(YAY%e?ASS44S;J%FJU{tJ{sWoDF3)iX$G#XPqj5gDTB;
z4?%VA{t-M#E9nOl52G0NofoWUhbXboAU_57iFBz|WU=+z6n`t_Rf4#^<%@ln5nhFo
zAFrM2Y6z2i%rI!VMNO{kz3n38CsuIhgaA4WXPePfoN<-PDicge_>RDZ7axH%UMdR)
zeouMlDo$bbU}Jk^3UOCfWBr=8|I^o7oned-Bny)R>5M(z0sQX>0|^H7?-1kf(--j29)$x?m$*Koy|=!!
zsIDeABPYG_XJut+S;xRg-vXt=n)xOKCnSMt|Ha#OvjYa51wazt7+|CqnNAXP+jlPe
zv@AAOk(l9;{i95ABp54|0g0R6rL;saSsf50FDz9SbwCk`Gno12=-9E6JbUL@HTMQo
zcMF))v^5{Bm0Mc_hLWf^tR&X-IqRzia#@Q92<8^W^IjZsv&C?%BOI=-3MA{c#J|1m
z&Am0h`4*pQY^!RdS#&=?4lrKfAB!A(onCpA(S@|59SGj;is8+`LUYvR6kz65gW0}cIsxUKxm!8fA_vPre_9uvSVgn;XEHII>Ao2MlFnsk?kM-T8rb9K0D9hN|
zm?2p=Rt+L|db`Z$gutQ9&EI(Wg+$66QqH?4L5!eRunAdwsF~-3uDy1~HT;%A_@{Vx
z{+j03lqBjnOF#pU6pcm0j!(UX=>jW-4>JL25WFics>A}FCj^kaPu}$hq7JGnH<)!7
zSs8&_DasC!gRx`UvwLq~s~WtTpZB#xr3rqjxcHCR^5XWV+sJC`10&?6;Ljv<(ZbSS
zQ^z9V{c|F+w3#{jb$r>uzRgNwrOlEoB^ja2?3~lepGK$5k*CiVi$?ja@FfL5pZ38^
z4bRKDCsl;Y$VZBO>@ou2QHg=VLfuwN3_lEx@x!WXF$=P*sF-RiBghfv+c8?&Wm?DD
zDWq(Lsj&C1$ewNIUf>t)*rAdFUiViI2VSY_@_3B={Eqi(3vZ7B+}MSCStvlg4A_uV
z=1dn$hnL4>o+n@k*R2JY;eM7nv+9PjUHa9rR-SJO)A#evyV(~!YBid6eg;
z7X$!5EU-AkuFJ2v-a|mbW$>Nbw_YLIEJaAtA=Ps9WR~gau&RL_olaEukRj&ucj5to
zjbX#lH=hR7+&O&>(Q`Y;B)t;oaD->S!skfo8BZ54GY{+ZJ}(AN$s|1>C#_Mj*DV;h
zBL{u=(95tUQ|tK|QSY#~8b(C|GElSts3)jfB-3PU^Y3^!JKBSOPds@#nG{UfU^e#;
zRI1FQ1DL}i79LPq>;70*zsBz0%ahOJ}^fD0njzbcbw-o%T=x+@aT
zk+XGJq1!1Dn)I@dW8Gy#!1Jk{K;2QIcgN`Vw9tNcS0=TxW0^5K@(L@}3oj<{_tZ(>EoL)x5s(>az0^rGKa6UFM?hcLz0ypLktgE^W0OCgDN~v)z@6gCzb7otheN8
zkxMXQjAJ0ICyR@_w3qAi%s#tvf#tLg4~&(spj-m39quI=NTcjh$|!VcM^3;Uy6*?FR%RWjC)r+3<91!mGuT+E7|W_s88^8xX~kAH#U!
zm!?1BItPi-lY2T5?Xv1}1DnUG
zvHRdOlOJssOkOCtr^l_&B}hp#PzCPi0`+&SY7!AELe+Co?zi-
zX0dvQ`$pBlh!pF>+8!Y75Lv9Y6EE+nHS|lw;p&9SQv4q3XZ8~c@xf=!(+z$Y9)*!;
z$vD~X9!hy%AP)oh97FU3yRa<>QJuVU(>}19n%B;^>&t3Y^Ff%uBNtkBaA8X;Mzxeb?
zE{Ce@8I?37K-Q1^Nt1wj(PdC0tYjsga`i}aP%$Yt(^(V^UW^cDe&pan3INWPn;(7b
z+ZezRz{5CsN0`ZbLBHlg8iW9lcz9j&4|~iR(5U#JgzuyEsdGy6A)lZA^B|#c0*6fr
zplbm={6#&1`A;gT%Y?2w%b+8=N)QY+hQPGFRakxy$4#6|W}O%}+bpPkwTUOt`|08W
z`zlR{x1xwMTm!WhjFJ~6{vr6HK(VPxhv9HVm5mbR_FaLt&LeEVt?t5n#_qOvYy~jP8xPlC{uBtobycG3?N%M5>Y$5AE|dprX*g~+
zeSS2_R6`3xMeyp$Tg?aQJ=2SZtWX+oOIFjp5{+5C=2++|vb%M3lDwn*l&h2IgeF7d
z#G@f;WZW+WMAf*WW_}uYcB}73zjGwOs{z-b2MCZfML5WlOSm{Dc_`1Y@&DO5;
zd^227f3N|tAuB75A>#ET*QD@2fWFT0$mE?y@F84QWW}8Yr-uL}JsLA2*DaX&{5~TX
z|042oBQAXgd{T8zc#a+qG|j!{YW0*o!#Zk*RDD0#5{m_?#0&9d+VdZpE-MK8Z
z42t~pkj2(x?+gzJB-Z7IFoXzi@t1Xq=16=-az_&a{!oP>!B$X&(*S?2n#8Bx9u91K
z3XSBxS#YUP%UA&6ihEorlT6(Ng~<5mvRjL6BVTHZCczVGY<@)2rd&@uFw~xz0JKuT
z*=@qOGbgqn1YLXTy+sPR82(Dxzj>da4kzB-CbWs%xjrv|t#2@mdUnV)N_>!*fk44E
zU{WJ6n7yz9XZm1)BBjJ56z!jf9(HCL-e~Rxo4vT(`;G*pu1VQ;J0X0ULOwV(;)Lr6
z4~M*~!^wTnWDNifZatH+*Keff%)E6EXlVWU+PzQA5@^2!8$(LQL7wD<3(TWEx`}pW
zN<@5oWSAV?yYu0Fk5>bWec&yU-nxyPTzVE}uJ_gV!?D<6g;fpygihicQgc{3+PDK-V&!#k=IFeENto$a;5YX^2`xaZwK3!Z
zUDLqpXu`vD+oOv0Bpsgv&UOzwM34aajZf9k3TnQSte@D
zWsX-zv~ndMN6VFeY}u!}mQgd|qq`HNbFu!KO-QT&%|#dN8OQk8|G5a4E=fq-*$!SrRJo5gc&&Qj8L&1&*p}uj{5&xchyefze>aNUp=iHMbyx%lPqYl+Tfjv~%SgPELz#6v+R4%R2qZuD*}I()ETUYgY7Q_RJg$9A!=SnVT^
zPt!Pv{%3=aGsAMod-NrDU_|(6@YxSy#+nI&--~ods~>?YT*UTDc@C1_9xdtQD^Yf2
zlL4M;ocM6gKRUNBb2)LpiNsMkw%+bxG*e>(Yo~}4Kj^PvK>wN9F40U89rB!GBgh*X
zW*#KsioevT(qp>raR?+?agB*aLShj98(U3)K%{O7=VZM@|!W1dS
zT^Vr$uEC~@rJBzD7<%b;TxV~I_z({QN=EPN-gc5J{cfeQbeC+8mJiunBLl3sAz3WV
z9d#Y_R=JG~`vx@04cIJ##mKq0OzaflKJWj@AJW}pfk-%DS$2PsnQj~D+BCaFiuVcv
zHJr*dIsLLODAWb)9Y@Vg7sCVMIX1PCt+GBKm>M%GOa}*Qv|gOHL5?>Q4)6Rrr8rtN
z614OLTyhTc88A#YTOoFkfcMo0PKfKBV)C^4
zGG8lX4BAunpCZb$yEd{5nW3*mVd+^Aj|nh)S8mr2jq}lypQfT~J@gzmz7WZ@;IXIfcRuq0U9p9njxSLx
zUZ`jYpZB6MRxZ?i0j9w7yFX~40~t|_D&w1HglCJRri+cCfU2RIQghS+(LTdYx6>3m
zj*|05?^dS8im%!=72`1dMjW?1rEGO?TxdBFU%IBT>s&({Z3bs-Ls0)T^
zcJ#`XP?b##k~tzZeS``l>bwyQF8xN_k~)|B&eYFLt>d1h2MlrNb|q5~qzI$R)G9CX
zbHADiemh^?u6J!7*Y2-f6je6#`=9GZd8l+oowo-D15T$cjJ<_KBe;zX(pj$4eQM8)
zL%}h)rA>q70;wdDzk5Kr&*hE*qGT1E#9<8)9jso=c0)CMn)YF6BMR(f?JfE*QxpUv
z<}$%(mMu#5F_@O0acP4=4BA8TmUJ)7bzGh>{o1mkFwJu0#n0kf($L4Xva|W4#^c&@
z@{!ZWY+!}}Njyl42~7l2c5+m4=(c>9O?A>ORB&iW86kH>y|)LxUfC0)Lni^O7%{RY
zSbdD!`DZR)g*yR@N@hQ`Bo4B_HPT~H$is?oFjNTn)opKQ2R=KwADMv
zcX7|+QwNrO6K3XfO$RQAgTwC+>Ps(O!2aH}nEk-wO8bnH-ZB_?e
zdUN5PaKeBUYo63aL@O3V*ffT2!-9n&Vq!BuJwmh=l%(d9}n(+9uiePJ3If*Ie^*Sa!4%
zpsUAV=zT_u3$d1%vjDo
zi+-r8^B^^F>`@jE?Kb2NUb-81**#V)
z`)Tu|DSa0aIrS?j{xx1~?bGAttVR~UttJJvQ<2DqAakQNqL?51)$b_CV3~}Py+5^2
z0-5Dxu#lloh4(1F?yXCZ1UJciQ!X(0ZarhVLKVF%n~d;JD4+cf35-?G=2-|>0W@>d
zzGpK5OP1#5Y$Aq5o|F3>r^L%-U$D#P?n`EmOle{$d9yl0ebI-Ew@PzO6pzQ+4`*L8
zW$a=Al)3UuWR{PKnqF(fwr4V1*&lDnVbVWpqjk1lU@}ELTi@_00V{T;Z^{d`-lIbw
zZkGoeK*+d2C{#v*Vr@;6Vg=14lAs_(gyAksU|v&xu9(xS|I>}%Llu=Zd&6zEGau$7
zr1Ntuke^SB(zUD4?)yFmo!@*K;G?)3j6wKdz|P0!t3y`>d91@)B{TEsmF-$5?N+(7
zV@fz_GJe8o&x^+`5t*Nqm`B-b%W*1(qTZi1#9%MyTcx`_*Los}e1=*bzk|@tPgEy9
z#c`DOSN`yBTWQQV0GYRAe>`el&>!3HiWb<;CNzS)pC{dxrIpx=ux)l;Qe?x|4JlOj
zM5QDGyF%+-V?=Ytw*zgw%R?FWSX?Ybz`Ob~E|ySibo?j;YNW^IEjLfOxbdhG#dgU1
zGDlM$`B`aOT$q8zJx!^!Q_xet1WzR%Tkj6RTENILml9ePV#;%?u@Y?kZvxw^u^`fj
zEbtBQiS~4@4>D^$edX1BgZRW4$t<6{dC$jj8|=JZ&_uDCK6a61Qs4|L_JWU`x=w*x
zdA`I(D@SIQBZein&)%otk;zdTM0EiGH`=14nZ?El?RE6HcLnK5E69q?_IoYvl5N)7
zg#_%Y-0s;}&%N}+?8qOvy)wlM%R0{)+39WoF0hR5ty-ORF?FkR8N=4uO7PW|7%lR_
z!?PYZ1~=Pr2~JNAN#>8?T!#7PU0m>Kf}6s;@g(5}my(=rGmqeyWg3~5+dKp|1JI&F
z-8q9lnIf8Colp$!0Ew+;)*JqO!fEw>VBkpu7Un2U76#{8-Aq2Vafd!uIUpVP7&9tr
z7%{x=D`$u;%uW`!?;r6>Ha+W)8a(xYTzjl*ygj;Ns&A2EBM|bwQI?2hnX6u#Ha1HvZP$k-tzN%g#T1yscjNsvxgipgF$bfR*g`Duc5+jbZG=
zsh^Sos9XI^Nf76tf|l6?%%>V2WLdV&0-}(^Us-nJM8Ea#*gD^CqLYpcaGcI}XnYe(
z<0F;e(i^p_Vkq9rGjwJuV;+x}d{@fjUol(JzXq##^~z0l>?W0|h8V`S#bvz27V7)s
zh#|2ouFcG;3UssctIIgQFQ(lJ$CR`X<~3}dO_x5?-gYuBfKs~zY75vHGPN71%?7!>
z9$=R~78?mNTmJyBdcq*5mV{kN%<=tlIqL~{kxG@G%Gwfw-kSBDmBDT~B^IapCPy*i
zjda8drYq0rwJ^(!naTHa*xV)ccg0OBN4n<7IMw@e?GeZ69gP{J#Ph0qFiz)gBZ{MngwIodN(pMYMvym-ry%GA9{5
zm7`i^4FQv;vSWpRm~}BgP3EuN%{}{U-p@^K`k8WYBcDzl{|z;%>6J5K*e?-J_(Mr3
zfc%aybx?m_9clxN%Xu4(CK~w<7a(Q_AR8^2YK!n}82WpQz!ZWD=F2SN{2==QVEfgv
zvh+J+n2bbzY3_R^A8V%G3|Qz$c!}w2y-y4{1`o|J)1qi{!aSf|6Zoh~HP@vI+zbV7
zRtJDavynA5qTNeOZfx(+lUiLGJ(ZTbnJZo2Hks0{|?SJvw|ta(z1#%S|(R`DXp?Cx`DyqX3#jx7`2$
diff --git a/Resources/Locale/en-US/stack/stacks.ftl b/Resources/Locale/en-US/stack/stacks.ftl
index d83825b614..818ac954c5 100644
--- a/Resources/Locale/en-US/stack/stacks.ftl
+++ b/Resources/Locale/en-US/stack/stacks.ftl
@@ -234,6 +234,7 @@ stack-asteroid-astro-sand-floor = asteroid astro-sand floor
stack-xeno-floor = xeno floor
stack-xeno-steel = xeno steel tile
stack-xeno-steel-corner = xeno steel corner tile
+stack-xenoborg = xenoborg tile
stack-xeno-maint = xeno techmaint
stack-dark-squiggly = dark steel squiggly tile
stack-white-marble-floor = white marble floor
diff --git a/Resources/Locale/en-US/tiles/tiles.ftl b/Resources/Locale/en-US/tiles/tiles.ftl
index 448e8dbc5f..6295712722 100644
--- a/Resources/Locale/en-US/tiles/tiles.ftl
+++ b/Resources/Locale/en-US/tiles/tiles.ftl
@@ -139,6 +139,7 @@ tiles-xeno-floor = xeno floor
tiles-xeno-steel = xeno steel tile
tiles-xeno-steel-corner = xeno steel corner tile
tiles-xeno-maint = xeno techmaint
+tiles-xenoborg-floor = xenoborg tile
tiles-dark-squiggly = dark steel squiggly tile
tiles-white-marble = white marble tile
tiles-dark-marble = dark marble tile
diff --git a/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml b/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml
index 4d729889c2..3535a55e7f 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml
@@ -90,6 +90,17 @@
maxIntensity: 100
intensitySlope: 2
totalIntensity: 200
+ - type: SurveillanceCameraSpeaker
+ - type: SurveillanceCameraMonitor
+ - type: RoboticsConsole
+ allowBorgControl: false
+ radioChannel: Xenoborg
+ - type: DeviceNetwork
+ deviceNetId: Wireless
+ receiveFrequencyId: Mothership
+ transmitFrequencyId: Mothership
+ - type: WirelessNetworkConnection
+ range: 10000 # mothership can see them from very far
- type: WiresPanel
- type: ActivatableUI
key: enum.LatheUiKey.Key
@@ -101,6 +112,10 @@
requireInputValidation: false
enum.RadarConsoleUiKey.Key:
type: RadarConsoleBoundUserInterface
+ enum.RoboticsConsoleUiKey.Key:
+ type: RoboticsConsoleBoundUserInterface
+ enum.SurveillanceCameraMonitorUiKey.Key:
+ type: SurveillanceCameraMonitorBoundUserInterface
enum.LatheUiKey.Key:
type: LatheBoundUserInterface
enum.ResearchClientUiKey.Key:
@@ -184,9 +199,38 @@
uis:
enum.RadarConsoleUiKey.Key:
toggleAction: ActionAGhostShowRadar
+ enum.RoboticsConsoleUiKey.Key:
+ toggleAction: ActionXenoborgControlMonitor
+ enum.SurveillanceCameraMonitorUiKey.Key:
+ toggleAction: ActionXenoborgCameraMonitor
- type: ShowElectrocutionHUD
- type: PowerMonitoringCableNetworks
- type: RadarConsole
-# TODO: add xenoborg control interface action (part 5)
-# TODO: add xenoborg camera monitor interface action (part 5)
+- type: entity
+ parent: BaseAGhostAction
+ id: ActionXenoborgControlMonitor
+ name: Xenoborgs Control Console
+ description: View the Xenoborgs Control Console
+ components:
+ - type: Action
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-basic-module }
+ iconOn: Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png
+ keywords: [ "Mothership Core", "console", "interface" ]
+ priority: -6
+ - type: InstantAction
+ event: !type:ToggleIntrinsicUIEvent { key: enum.RoboticsConsoleUiKey.Key }
+
+- type: entity
+ parent: BaseAGhostAction
+ id: ActionXenoborgCameraMonitor
+ name: Xenoborgs Camera Monitor
+ description: View the Xenoborgs Camera Monitor
+ components:
+ - type: Action
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye-module }
+ iconOn: Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png
+ keywords: [ "Mothership Core", "console", "interface" ]
+ priority: -6
+ - type: InstantAction
+ event: !type:ToggleIntrinsicUIEvent { key: enum.SurveillanceCameraMonitorUiKey.Key }
diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml
index f645539035..eec282acda 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml
@@ -1131,6 +1131,20 @@
Cable: 2
Glass: 1
+- type: entity
+ parent: BaseMachineCircuitboard
+ id: SurveillanceCameraWirelessRouterXenoborgCircuitboard
+ name: xenoborg camera wireless router
+ description: A machine printed circuit board for a xenoborg camera wireless router.
+ components:
+ - type: Sprite
+ state: generic
+ - type: MachineBoard
+ prototype: SurveillanceCameraWirelessRouterXenoborg
+ stackRequirements:
+ Cable: 2
+ Glass: 1
+
- type: entity
id: SurveillanceWirelessCameraMovableCircuitboard
parent: BaseMachineCircuitboard
diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml
index 82a149bf27..459030d8a9 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml
@@ -260,6 +260,17 @@
state: cpu_service
- type: ComputerBoard
prototype: ComputerSurveillanceWirelessCameraMonitor
+
+- type: entity
+ parent: BaseComputerCircuitboard
+ id: XenoborgCameraMonitorCircuitboard
+ name: xenoborg camera monitor board
+ description: A computer printed circuit board for a xenoborg camera monitor.
+ components:
+ - type: Sprite
+ state: cpu_science
+ - type: ComputerBoard
+ prototype: ComputerSurveillanceWirelessXenoborgCameraMonitor
- type: entity
parent: BaseComputerCircuitboard
@@ -528,6 +539,17 @@
- type: ComputerBoard
prototype: ComputerRoboticsControl
+- type: entity
+ parent: BaseComputerCircuitboard
+ id: ComputerXenoborgsControlCircuitboard
+ name: xenoborg control console board
+ description: A computer printed circuit board for a xenoborg control console.
+ components:
+ - type: Sprite
+ state: cpu_science
+ - type: ComputerBoard
+ prototype: ComputerXenoborgsControl
+
- type: entity
parent: BaseComputerCircuitboard
id: StationAiUploadCircuitboard
diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml
index 6176b6b2ea..1e5cf63b74 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml
@@ -318,3 +318,11 @@
components:
- type: AccessReader
access: [["Security"], ["Command"]]
+
+- type: entity
+ parent: DoorElectronics
+ id: DoorElectronicsXenoborg
+ suffix: Xenoborg, Locked
+ components:
+ - type: AccessReader
+ access: [["Xenoborg"]]
diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml
index fcd25b80bf..6670114bdf 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml
@@ -1768,6 +1768,20 @@
- type: Stack
stackType: FloorTileXenoMaint
+- type: entity
+ id: FloorTileItemXenoborg
+ parent: FloorTileItemBase
+ name: xenoborg floor
+ components:
+ - type: Sprite
+ state: xenoborg-floor
+ - type: FloorTile
+ outputs:
+ - Plating
+ - FloorXenoborg
+ - type: Stack
+ stackType: FloorTileXenoborg
+
- type: entity
parent: FloorTileItemDark
id: FloorTileItemDarkSquiggly
diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
index 47bc6c96d0..879018d038 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
@@ -1133,6 +1133,17 @@
containers:
board: [ DoorElectronicsNukeop ]
+- type: entity
+ parent: AirlockXenoborg
+ id: AirlockXenoborgLocked
+ suffix: Xenoborg, Locked
+ components:
+ - type: StationAiWhitelist
+ enabled: false
+ - type: ContainerFill
+ containers:
+ board: [ DoorElectronicsXenoborg ]
+
# Shuttle airlocks
- type: entity
parent: AirlockShuttle
@@ -1161,6 +1172,17 @@
containers:
board: [ DoorElectronicsNukeop ]
+- type: entity
+ parent: AirlockShuttleXenoborg
+ id: AirlockGlassShuttleXenoborgLocked
+ suffix: External, Docking, Xenoborg, Locked
+ components:
+ - type: StationAiWhitelist
+ enabled: false
+ - type: ContainerFill
+ containers:
+ board: [ DoorElectronicsXenoborg ]
+
- type: entity
parent: AirlockGlassShuttle
id: AirlockExternalGlassShuttleLocked
diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml
index 67e46649ef..76d98f96d2 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml
@@ -160,6 +160,16 @@
- type: Paintable
group: null
+- type: entity
+ parent: Airlock
+ id: AirlockXenoborg
+ name: xenoborg airlock
+ components:
+ - type: Sprite
+ sprite: Structures/Doors/Airlocks/Standard/xenoborg.rsi
+ - type: Paintable
+ group: null
+
- type: entity
parent: Airlock
id: AirlockHatchMaintenance
diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
index cad40324c8..5f80b94250 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
@@ -117,3 +117,13 @@
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/shuttle_syndicate.rsi
+
+- type: entity
+ parent: AirlockShuttle
+ id: AirlockShuttleXenoborg
+ suffix: Docking
+ name: external airlock
+ description: Necessary for connecting two space craft together.
+ components:
+ - type: Sprite
+ sprite: Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi
diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
index 6635e5698f..f6538ba64e 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
@@ -665,7 +665,7 @@
- type: CommunicationsConsole
title: comms-console-announcement-title-station
- type: DeviceNetwork
- deviceNetId: Wireless
+ deviceNetId: Wireless
transmitFrequencyId: ShuttleTimer
- type: ActivatableUI
key: enum.CommunicationsConsoleUiKey.Key
@@ -1374,6 +1374,21 @@
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
+- type: entity
+ parent: ComputerSurveillanceWirelessCameraMonitor
+ id: ComputerSurveillanceWirelessXenoborgCameraMonitor
+ name: xenoborg camera monitor
+ description: A wireless xenoborg camera monitor. You're watching them. Maybe.
+ components:
+ - type: Computer
+ board: XenoborgCameraMonitorCircuitboard
+ - type: DeviceNetwork
+ deviceNetId: Wireless
+ receiveFrequencyId: Mothership
+ transmitFrequencyId: Mothership
+ - type: WirelessNetworkConnection
+ range: 2000
+
- type: entity
id: ComputerPalletConsole
parent: BaseComputerAiAccess
@@ -1541,6 +1556,39 @@
- type: Lock
unlockOnClick: false
+- type: entity
+ parent: ComputerRoboticsControl
+ id: ComputerXenoborgsControl
+ name: xenoborgs control console
+ description: Used to remotely monitor all xenoborgs.
+ components:
+ - type: Sprite
+ layers:
+ - map: ["computerLayerBody"]
+ state: computer
+ - map: ["computerLayerKeyboard"]
+ state: generic_keyboard
+ - map: ["computerLayerScreen"]
+ state: xenorobot
+ - map: ["computerLayerKeys"]
+ state: rd_key
+ - map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
+ state: generic_panel_open
+ - type: RoboticsConsole
+ allowBorgControl: false
+ radioChannel: Xenoborg
+ - type: ActiveRadio
+ channels:
+ - Xenoborg
+ - type: DeviceNetwork
+ deviceNetId: Wireless
+ receiveFrequencyId: Mothership
+ transmitFrequencyId: Xenoborg
+ - type: Computer
+ board: ComputerXenoborgsControlCircuitboard
+ - type: AccessReader # only used for dangerous things
+ access: [["Xenoborg"]]
+
- type: entity
id: StationAiUploadComputer
parent: BaseComputer
diff --git a/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml b/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml
index 977adfd79c..a14ae6cb7c 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml
@@ -195,3 +195,19 @@
components:
- type: SurveillanceCameraRouter
subnetFrequency: SurveillanceCameraEntertainment
+
+- type: entity
+ parent: SurveillanceCameraWirelessRouterBase
+ id: SurveillanceCameraWirelessRouterXenoborg
+ name: xenoborg camera wireless router
+ components:
+ - type: DeviceNetwork
+ deviceNetId: Wireless
+ receiveFrequencyId: Mothership
+ transmitFrequencyId: Mothership
+ - type: WirelessNetworkConnection
+ range: 2000 # longer range to get xenoborgs even when the mothership is far away
+ - type: SurveillanceCameraRouter
+ subnetFrequency: Xenoborg
+ - type: Machine
+ board: SurveillanceCameraWirelessRouterXenoborgCircuitboard
diff --git a/Resources/Prototypes/Entities/Structures/Power/apc.yml b/Resources/Prototypes/Entities/Structures/Power/apc.yml
index 75f61e7534..0addb34704 100644
--- a/Resources/Prototypes/Entities/Structures/Power/apc.yml
+++ b/Resources/Prototypes/Entities/Structures/Power/apc.yml
@@ -235,3 +235,14 @@
- type: Battery
maxCharge: 200000
startingCharge: 200000
+
+- type: entity
+ parent: BaseAPC
+ id: APCXenoborg
+ suffix: Basic, 50kJ, Xenoborg
+ components:
+ - type: Battery
+ maxCharge: 50000
+ startingCharge: 50000
+ - type: AccessReader
+ access: [["Xenoborg"]]
diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml
index f3c2eaafe4..0063b0ad5a 100644
--- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml
+++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml
@@ -1192,6 +1192,33 @@
graph: Girder
node: reinforcedWallChitin
+- type: entity
+ parent: WallPlastitanium
+ id: WallXenoborg
+ name: xenoborg wall
+ components:
+ - type: Sprite
+ sprite: Structures/Walls/xenoborg.rsi
+ - type: Icon
+ sprite: Structures/Walls/xenoborg.rsi
+ - type: IconSmooth
+ key: walls
+ base: xenoborg
+
+- type: entity
+ parent: WallPlastitaniumDiagonal
+ id: WallXenoborgDiagonal
+ name: xenoborg wall
+ suffix: diagonal
+ components:
+ - type: Sprite
+ drawdepth: Walls
+ sprite: Structures/Walls/xenoborg_diagonal.rsi
+ state: state0
+ - type: Icon
+ sprite: Structures/Walls/xenoborg_diagonal.rsi
+ state: state0
+
- type: entity
parent: BaseWall
id: WallUranium
@@ -1696,6 +1723,6 @@
- type: IconSmooth
key: cards
base: card
- - type: Occluder
+ - type: Occluder
- type: BlockWeather
- - type: SunShadowCast
\ No newline at end of file
+ - type: SunShadowCast
diff --git a/Resources/Prototypes/Entities/Structures/Windows/xenoborg.yml b/Resources/Prototypes/Entities/Structures/Windows/xenoborg.yml
new file mode 100644
index 0000000000..9704ffee91
--- /dev/null
+++ b/Resources/Prototypes/Entities/Structures/Windows/xenoborg.yml
@@ -0,0 +1,14 @@
+- type: entity
+ id: XenoborgWindow
+ parent: PlastitaniumWindow
+ name: xenoborg window
+ components:
+ - type: Sprite
+ drawdepth: WallTops
+ sprite: Structures/Windows/xenoborg.rsi
+ - type: Icon
+ sprite: Structures/Windows/xenoborg.rsi
+ state: full
+ - type: IconSmooth
+ key: windows
+ base: xenoborg
diff --git a/Resources/Prototypes/Stacks/floor_tile_stacks.yml b/Resources/Prototypes/Stacks/floor_tile_stacks.yml
index dab0faded2..6e1ccd45bc 100644
--- a/Resources/Prototypes/Stacks/floor_tile_stacks.yml
+++ b/Resources/Prototypes/Stacks/floor_tile_stacks.yml
@@ -665,6 +665,12 @@
spawn: FloorTileItemXenoSteelCorner
maxCount: 30
+- type: stack
+ id: FloorTileXenoborg
+ name: stack-xenoborg
+ spawn: FloorTileItemXenoborg
+ maxCount: 30
+
- type: stack
id: FloorTileDarkSquiggly
name: stack-dark-squiggly
diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml
index 6e3a588ab4..7c1f39aa54 100644
--- a/Resources/Prototypes/Tiles/floors.yml
+++ b/Resources/Prototypes/Tiles/floors.yml
@@ -2063,6 +2063,18 @@
itemDrop: FloorTileItemWoodLarge
heatCapacity: 10000
+- type: tile
+ id: FloorXenoborg
+ name: tiles-xenoborg-floor
+ sprite: /Textures/Tiles/exoborg.png
+ baseTurf: Plating
+ isSubfloor: false
+ deconstructTools: [ Prying ]
+ footstepSounds:
+ collection: FootstepHull
+ itemDrop: FloorTileItemXenoborg
+ heatCapacity: 10000
+
- type: tile
id: FloorXeno
name: tiles-xeno-floor
diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/meta.json b/Resources/Textures/Objects/Tiles/tile.rsi/meta.json
index 749093b344..2b01db5ab5 100644
--- a/Resources/Textures/Objects/Tiles/tile.rsi/meta.json
+++ b/Resources/Textures/Objects/Tiles/tile.rsi/meta.json
@@ -579,6 +579,9 @@
{
"name": "xeno-techmaint"
},
+ {
+ "name": "xenoborg-floor"
+ },
{
"name": "dark-squiggly"
},
diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/xenoborg-floor.png b/Resources/Textures/Objects/Tiles/tile.rsi/xenoborg-floor.png
new file mode 100644
index 0000000000000000000000000000000000000000..65ef33aab357868807bdb14033194d302178390c
GIT binary patch
literal 233
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|j01c^T!FNZ
zkc6_Ly0M|Do3ndJP)I~rL{>&teSJL_m#ZLOrVw|(BJWLC-Ct*qpMGmo8aQP87S%Q>Eak-(VLtg!K%?9D4K9;vq3Wh_ncz^2hN;fX*p9M70f6s
zaVYbRnt|cr%r$BTj=l%hF{tnvGVW$-+ULNoY$C(4tUZyB;Uf!E*|LD*TR2
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/assembly.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/assembly.png
new file mode 100644
index 0000000000000000000000000000000000000000..9629d9f2a99fd0b2fbefd7b08257303dc527a7d7
GIT binary patch
literal 352
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|_Qf2KS2dyX-#
zsXOiPE!ugKE@RI6EsW_7ft!7%$n04aDq5kYw84an!}q|MH%bBhJU3n{DaSZH;l1;J
zdh<_B7u{(;g&0;o{l>PN@lUXn8uPt`olk`t8nQ35F+7}q>mS>j1IjPy*
ol_9%-zDZSKMW)@M5BpwlPxKIyKCxh~9MG2xp00i_>zopr0O19PB>(^b
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/bolted_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/bolted_unlit.png
new file mode 100644
index 0000000000000000000000000000000000000000..844bd201f1004c8edc847d6c63f14162e048f7c3
GIT binary patch
literal 4972
zcmeHKc~}!?6JHPk5fqfe52%Kq)`Lwp2f0j81SC-+DWKfSX0w5nT;w2tP!GIXX)Ac)
z2`G319%!keSPN1W#RIj1rCJo!s(^x}MFQU@pyKoOAD`#ze{P=L?9My$o0;FtJIQ_}
znjdIq<7xu{fSrKvAA)}qjHk6Fe$}L?p7`}&SS!=QKPe4C!9Od
z^vvHb;)pX0dL`(&XX!zg)l2)>wbc!S0CpPjzA0?q#PlPbPKk_0S!v?YSl)2LRYT5H!u();G
zT@l3%GxL`}_1fk(j<8@nlvBnxW7bt9_KLNK
zj#H~gsAbZ)*~cnve+?V4VRM$ijyKNnJhygm<|E^S>1
z#&9drk~H0ad~wQ#AuK71dL5N$(PK-n>Kir1pRTy6uD><6thMC(C%Ha6{fnaL?nO&&
z$5W3k%c9EuI^a237*w=ve;rlcQ%rN-*O+tS)y)N4z{R=?8&B@ILw@R3eB-KXUXVOs
z>2b@04Z~LcnY?EQ&Aw*p*m31Tv&nR2-KhOLQ)%Vw8PkvjQ>yq)JM9{?R-EU4rMr
zQSGvK$Ep76=;OU#G5gA|6bYM{+umHhH{(u?&zhb~cTd`shmJn~hu@p7xbHIVW=yR=
z;#wKq2N>Re`jT#
zYEct_n8DJ=SZ
zjKkjYNr~>Y&ve(Xd4#^X{~c(ceO?@bL}3}tWoujS?u{z&aTf1Ew>V$QPsLOh0ty4a
zIKm^Z;;buZ))J?$MIN_oN;tVOJ;Q~rIgT!Y=TAO(@U!^#`3sTZ
zR^h((y+D#i6Qa!?)4$a*syapW>v#I@@%naP+1V>$Wr(}TyOuwxdG_RrX%>qeW;1&z
ztJYNqWz2Wn*x|moyW{0+Qcc;JYX)}O=AD;-yjk2@Z58o1!tUQrXzSio!wWY#Hfx$G
znIwMiMO{M+vu^lW1D7T%4DGCj#Rb=E)NW;a3dRIG1UfC)o4%|DUES#%e=-KWy7ZOH
z8g=7k>Mz(R&lLe)zN>)$EZ8JkvwB>K>(t31Cnj`v1iGK&leWc7g4AC5=1w^et@<(g@~MM=Q=^*&D>dy3PEX?eb+4?j=98u;va6kE&gKa2PGG@Rz8lF6$@vEJ>x&
z+s|0Vv;mpHrzQMv9rK@Fd%U8X*0awGQjP2?K6Tc+JE;dKJb3t#ol0e$hF25#P*7FL;@z^5yQQOkWl4^CSd$DH5!^WKMYArMA#DIOdlI=3I_*}qgt4dB9|#N
zoD?3>gv-J2jbbv9U{cX0@`w>a5y4NXMhSEhodkgaDOfU<=wn0RswGlRi2s~H2>gjh
zOwejo95Pw2*OT-#l2RQ{rm)#;GDIa)sUWTaYEl(iI0aN_JdF?o82+dRQDZ7Crc@A&
zn6Ox>)AEQ!e4X$%KDkOLdeL7tkc=v{oNLEkth*N!ZF=4
zSah+J%A|lyI$jPs1@#8mkhd6Qv&2*hn?{2e63P%LfkLB&6$omC!of)xj)TAwIs>M%
zKstlL0O?dZ6@(>-6l6g(s+bO=EDD=G1R_|C;av&KhDK$ClHgEGgvFphcnmO%Kp>sP
zpn+nRm=3a0Dus=Ty~R|P!~|um1IJe+;1Q`L=)FWFgSAqnTFxT|VG3Q!`-Lz}j)rPs
zBWV-{jSVpwOeVyjQy8ov)(cU!25&ecCIuou
zyxDlYVFaY%1!vK{8FZAvFs1PhU89t0^{^WCjmI;^v%wq4lnr5uiQ}msYU>kFBY_Z=
z0#c|T#15l)b07wX0)Y^n13^UcV8UeMu6~;_m;67Ra7_wB#sF?NAj8KCKCQ^_#?>Ha
zMjHRcW3U$gq6ZxMlar6)_Y+;8==vxIK1%shcYUJkqZs%o%AxPZtTFaD!B~*V+7BAo^$PtPqQfYr^8J
z+e3rTRP1EgI~b4bbI+pIKchQ+Z?`;Gqf@+iW4^rGzieMq>Fec`IVwHxaa#PiQhW2<
qmw%XP<{oXowhKM=Q&Re4tNGEOQ;&z$=;OF^KoBtBzjSuo%Krk1BzZ&t
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closed.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closed.png
new file mode 100644
index 0000000000000000000000000000000000000000..06c3cf5c6c4b2fa0c2a23dd30954ff5f486666fc
GIT binary patch
literal 629
zcmV-*0*d{KP)Px%FG)l}R9J<@S8a;hFccgIH)~}>?B-95VOjPBrO^AIpip{(QWi{H3XVb&E6GCo
z!#q`zCHrZi=|CWs^fY7XeK}dL%Nzb9QULh!`4j58xhrv1ZSeKm_g(;z%fsm|XR-GU1)?R0jaKyz$*?
zHnqSd3z2izl1R1yA0Dy~`bWlA=)?8E=0z)sJ0v)-?1nOox
zn4c8j-eU|*TOxmXe!{Qck}m-0-=dXrdZAOn-9}wFUj0zxUGs#0$&WwzylFb(2i`7t_H%stT$z}`iC5q6-
zoD<-{azct#jw5mU01m7Z;B>KL;$qekq8bv4@5|u?rCL2cOJp5{fA;*H+q62z`QPz3A9qO?KNk!?N5Mh^$+j|pA}qviKoxG
P00000NkvXXu0mjf)TR~C
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closed_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closed_unlit.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c80bc210c483696c4f2080e80390e9c71960329
GIT binary patch
literal 5035
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
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closing.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closing.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c45050ba39429a90af59dca66d34e7348da0cd8
GIT binary patch
literal 1771
zcmV;P)Px*rAb6VRCt{2oZ)WUHWY=A4NJ1)z;d##$+BfZo?sZTC)tl-4?SSm6LeiSBN>V~
zGOXB^0%Skjt5Gy1l9EWumOdb8?1(xPFRv|%=XP*;dHseSXN&;gryqa7V)1BI_~zyc
zzy1CPx~@M0kcmg@7c1i7`C0CQyR1K=H>33n!t*n1wi_g`Z;0a+F2WF#@dUxx!)}{u
ziBOxx<3nL5Sh}h|V&4>r7oETaUDVG7KqUV3^f0I+pz|f)#Kn7Ffb+94)-PM6=}xO{
zQ-kk$fwK0HebMyb1JF806Z&bo!!nAr2VbPGisuFJya3bb4AbchzQ2F1LM{WE9(>~I
z>0zLf2_k))8OZCawxwXF=`PE_BvI4MWx#wsYkcqtm2;ZV*EtujZzBV98SvrbCnJMT
z$Yzx(ebw14(l?!fxePEl_$nHvgWtq4P3sQJ{&;HGm|(iPoeBWZz94ii04@;)p$~v%
z_#pHFa7-Tn$MgYkOdkLS7rTRf061(1p;ZBB%l@>@ezYn8K=*=>3xEw#6%CX9&^fn>
ze(>iUi4HKeT)(`$e!IWB#lN2;rDL1!hmJnmrj90i4I+KvN06z=-&|ee`FW+)#-%>t
zc>ylMPpS->y`Qkw1>8kz+*c(L`i^sxF@Wk;d69<6Fc!FgVDYwrwzj$xD
ztgq~S=`lm=9z}GGzCOUQeqSHpSU>v+B7b~%eg=QEUwg&z3h&>Ah-3ZbJGG^A#_=lq
z5nX7JKD7k^e>BLBDf$t$jpJ3;R#%_BemckdcVYHJuT{p5`Von4L(8}bLo6fp2UygG
zXwqZ9*={QJqpID!s4!!)LAr$U6MYZ;geK%EK^
z0Py|%^K#uFbTI=cflC-foqjEte
z`cY*do9Ks3*Qzs42bY<^_oJ>RtLw}eSB19pqX}mmuyVyGgU~_9g<|1ZSJJ$PHUav)EU?I8K{agXB<%9o5>nvtIk07UtQ`9evvayhPE?K
z#;MLgS=(Uj;rV%0>2WkI?AXEQQ3}8*&%iQWqDsG)QH1$i-bOhCPIU&B^_hnp4>IWb
zR3=SjceIRSnSml*>N9|Ypvi)$yJuV)fG*5HmixQg>{_SOS)m__wW5$tl}QSe1VAuY%ah$60_xU0cH;to
z_7^PKxHEfrhxPmV0LS`$eSl-EZpgHeUw`@8=>x~UKEN@3eSl-6^#M)z^Vzn%KVGKq
zj|P?N6WF$F-)#k2g-YK6?ES6IB7~f0RiVHXE$CO$(U1P-P08UnTfJ{R}jLGyr8KIzV{_6qV>SfvpTQO{I?@
zwnRr%uEWEZ=;+YK3~UnZFX2-wl5>qT0H|)?F-51!RIA!zOwxFn
zs?0+qn}Mb>u&yn}6pfUrvXm9+$!4Ib3~cM*1Kc{mtj9Ip6l`)GQd>6(n7gRQ8$v75k
zplgHy=#n+iH3tE3IRka9fou?DkF48FZXIxccdK-}$nHex?n;#*x>qlH&d+Cnh-1iz
zTmY)fz@lTy-Y-IRp`@yR4CDgfdIsv;tMj{Z$1vMP*9Wx1oZDr8zH2&PAK*Fz{sU$9A`G`Qv{nEB
N002ovPDHLkV1hkkX_5c{
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closing_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi/closing_unlit.png
new file mode 100644
index 0000000000000000000000000000000000000000..51ae8ad362371005930db55fd3917cc175d3bc7d
GIT binary patch
literal 6610
zcmeHMXH-*J*A5~eT@*!%8iF7qA)OK_(i1Qkx*~`nxd{