From 0d833469433f40f9749ad0c351f66a9d1337cbfd Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 24 Jul 2015 09:21:38 +0200 Subject: [PATCH] continuous and storeinram variable --- .../commonFiles/sls_detector_defs.h | 6 +- .../bin/eigerDetectorServer | Bin 242191 -> 242224 bytes .../slsDetectorFunctionList.c | 86 +++++++++++++----- slsDetectorSoftware/slsDetector/slsDetector.h | 2 +- .../slsDetector/slsDetectorCommand.cpp | 44 +++++---- .../slsDetectorServer_funcs.c | 39 +++++--- 6 files changed, 120 insertions(+), 57 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index dd5e0cd0b..796883d09 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -420,9 +420,9 @@ enum readOutFlags { BACKGROUND_CORRECTIONS=0x1000, /**61Abko$E-tb=S>b+L{=tbfB<|C+~*L#&cK#JZ_EnpAJ9pKcm>Mv=A89xrl-LHzht@LuKBn9Z@a!Cr* z%MMBEqnE2BDM&BZNK#+DydC`q>p-m}h3MrvN$RJU8zd=AFYlA2aJ}3jNfCPaup~w4 z8P)r&dLp) z+1Wd!-k)%T0Yy)~7RwR~e^ywydo9`TDJR<+&lPW;aHPs8uhKH=&! z{sZJ6BGi5U1Bjp6<{xGH!J>%~|DBpQC03pNa{x6zLcG-M-izY*p+|#7vRYRSnp$4r z1F0m*vFiSN%2&k!?!lywyQa4GPOIDpc_nL$Bvtg}*z+)t0`n+b_7}R$lWjA^_q9oe z9bI)hq&%A;_7f&|MK43SqZfwPA$g5`L9#M^(^`JWNBv8@9uhcw&|Tbe{PdUd z3NIt?be>wJ3?=*2eack)wgip9@63P!(`G;zUv%iJ8Io)lj7w~WnDsX@j(OI_nDLFB zEa=yPewNx05Yi(ar403GKuqP2`4v8L5R-h(AW33`7D?cI46jXhc$qoQ{=+^nN`mjU z3HT`Bet=sAd;+i!;1&U&MHg29Hwd@`@Oi+s0=@|Nv<*?IMj);NaRdYo4gL|H7_%R6 zsepX}zX8}T;84KN0?rd~9N-Orvjv+o!ys2swcwkA@fvA_?_{ItSjpRYbcvYHbcK@5YS+;TfO!sa%_l~c?=?Nb{E$NKF=bcoPA z-?&UYJ2+wbPc1B9cuq%SJo8=d=PyX1jDf}e(*c{IrypaA!MZG%c6xSd+^QA~nI82s zG&VlVVhc#u*(7WR1UC;&lQJ@Hd?KAQV=DKNE7@bUGepI*%Im4o=ia??03Q#4>}jT`=UyTG&YcEiuA z5_q<7xZ&?SEbwMee4#EVoAHK9m#ODQhz9AN4d(d@ycl?W2O*cF=jjyETYiXD1|hTmE*@U@=!?fTH{^2G1V7xZhhi|5R&Sg9`#}VBHVz>DMN*qHhRDBos~s7CH2sp;)rB%~ zvPwp+a_`kX`T^rF**5vg4E5rup@Y3SEn8;gD}(jr2>Dzb$7{>5Y;pW-L%pAxml>NC znq}q-HqU%*^5r>@BiVfwv`D`cX*3yDwn}nNT;|IM)rQRbVTquuCgQCg&3f_%$=2EA zUstL}M`KBHS&GYCXOk}-Q#&VytI>DGhW*@r^DZvEsLlzc<%^JwF-M9UXHR4v(eRQ_`L=Ikz>gmP>Ec)dPIU_T7( ze6ckDTDbv9+6xl%ThLu(Y4%OTy13E3-o@va3!wL|QG1LX4y$F3{TNoeI(7iLrrO6v ztK-K-sIlYBYUQ{PdCN+mqSW`s%_65&-|-{JNe<5)-=BP^9vweGeRF)Y{Pa!~C(2LH z;+Ro6!1$?!Ig`jiwIgSM`Z*9ASD|=&K(|5uajTj);XTtuch7preS~TzzCG|(L-Io; zJcQXch|dq{m3!6VN%ugX1Ct&%T@(`+lf;~xsn*zL{$JVt`x8&LFC~HPXjPsP3D)K* zU~Pv{5tjMX{RPNfQyn-S@TrK$H;``_TB1%+_|^(u=ZhU_OuYc zBW$uD@iW^b^*gm_+97n1Jbj_*Vl(5Ik%V4rr-zdOwPsSV`j_dU?rO1_Kl?Usj7-C- z>FRs8O(xdOd62EmO*UqW0qQq-gSt1YoH111hWvNNIC&f9@Qj3*OA?G5=kDxG5yv+$ zINRXK|IAP`XC~ZIq5rv}R?K`I;>X>-+;qw6690B4e(gAjfBTK%=MNfw$&P*%_kQ^{ zQ*JwsJv5U^+i$-hr87Eh@YN$~Oa4>nEO!<<+uo&c>oa52o_BaCn_XO@*4+_8&Z{kV zgauxz2a^cb)cBgH9e2D4M%8ydX1a8^i;;cvo$As84@NZ;AN{W}<4ixb@UF1nU#)z1 z2$QWDpzjWU1^>H7dJMr`51B5V?J`o{-QkglfTX}Zo>(MLihv|gm?6JeGs42XYUADi zooiUs=?wU{1$rTF{2Ig>yOckjr8eBN7Rsj=K4SV+BwT!*$y6^E4sn;aX5xHRy?0VK zR1aU9RCP?vyDw_uuO7h~o)ck{zx)aPg${B^L&xqUY&Ra7@1u-lvRI^FFW2|#GORWy-%yXvzV$3SIasyXqcQfy_5ozQT4NuCh}LX>LH_lC zS~w@1tWeA6%!dKm<~(Bh&pvdcP4uF<_ql7zCfbPmd&_H2sg`Cs7Dv4c5nLG8*1DV)_3EQSU6itX{;JOH$;75wO?eAO)8Jn13q|}UAzu{t7a}8 z?LHti6K^Wnfwxq1DU)nRX)L(__ER2s=vBtk#p?hOePDJzl;v6X>35Q<*O zMv(I%ejw)J`RQ9~>9PdV zR-@&GY)!R1T$pH+%HoAsIBkFMm?&F-PZ4D+%9GWG2Up*6{rLn_y)3%#JRFde^6`=K zcZYHVDn9X-ZY`;}FJ%w+5yaG?mxsMm)iJ9~9Jk_>h$^*;!5V=(Uc%@(i zb1vftkZyJNiaMBcxeqJ5)r}Q(Fz51sZguf6XSlnuJS^*BtQ(9RZt}3~Bc?0e&AF7H zts?ql+oYv@lu^z^IYWp9b1wZvwU&G2$1KeKvpgH~o|)_RmANoi?aJ7G=QVS^|E*@O z_fKo)djGh3W~ImcW(;nt^j5!kq^DdmK|S?IRPYV45_W%of$IC{#9JnM@B6?}idkO> ziLmR;1!~2kqrK$0bUb5gJP*^bjZ&v$o9W8MuGv_#=E-rlO0)Njg(&d!T(+OoZ#!6UF46k@ zP3dA|c{pEfc#NgszH1kneoOAEaIBqf{4K{O?_Q?vTR;4kUG1Ksbu~5M7F`u~ajadI zuhy<(U0q#=uFAVAO4qNBxs@vKFsnk9$*-!)Y_93H$9TEP9g-z-uSf+NVQ?S+&*nwZWRLf5%jNO&mY}o_LFv8&qZc0JYCE>9B|G znboG>UHikHd=VtJXTgbhuzx&3;AwN}R8@Z5blxW~j>6sSvSn>uS?g*Y1}kj-$49 z%bwn@yw&V`Aqy63fCZ5iXG^exjX!rv5gBIOvpQ@Hm(DUjJd>HVv&@n#@DV6`iL!z+ zVP%#fGJaa5&R);wX(fgTjcv?1Qp{H?7=e34)I$8u-Q0Pkt97g~x4I+4YLj;c=tJs0 zWay}3%@|2xmm=ciB~Pd0{n)QIqMq%h6iZe%PKOrabf^e-q;PF5MDHAX^A2~s1kW6U zd)Vx);eKw@+VP#*Iw?wa98^0eC8!^5&oy0jmzR;snn zg{ZTi3nJ5a=_!=@qcl)neMvp~+(^?kuPib6s`7kz|9QG5`co6sW2+e!_H2@dzLxB1 zuxC?L$MXrsYdHFQ_FlFA`2k5A#JM92iEN#Sb5t6O(b!;tgW#L5pB>o9UZkzE;8p^+pHUx>Mcp;<$m=cC4wC6fyP@ zS?7f33t%2vs=FIEKAnTzIDzacR@(F%&ihFur zEFNU4^WmLtZ1ZgL=9B*$TjO;*$fl{yFUQC^gylXl*VkpipR5bI4!aPLH^+mKeooWD za-CZmf721Q^p%O@MsUA@;d3=@uI~Z|i))#!;n`G*S;OBrAe+V_iiN7mE|baKaEsMLcIMwn&jS4#WDsnz!$u|)UX$#oBo4hNSClE;sJ7Pq%j9IUSzB0J z-k42ZQq6zxh@07ecv4<+sXO)-JMIlWYHb7CV1(jMzxB-lh&e5DLe$>%-tGZ>amMC% z#;ebK(@%BOKWB2X^+*$-X5t)m{ae8#{{PtB;~8qf+mpzLYVF%;WW&w6T6pi~cb1r( z%sF@$n_s$9{o#x5?=`t7GT=t&O9|-v6WWtB*kW5vp^qLZ)qA?VYn#POwLm-;d7U&FHY(iGj|1IfWA3mA^FA_zz$6R+Ehh|TDZ@n6Z>g( z-M#@>@#^>8XL4Td;;l@)Pqt6HQHi&2IRKA*r53&)W5RM}?z$=ni&=?R-6WP5v(rdv z><%97M9yUCXOk@7st4X57bB%(M)3?LEBj^%%p(DO1-tiB_Z943EL|T&leg4{52nk~ zfz8d)@tdForoYrFW-#{n<*V4#&zCHz3OkjvEfaJ$ zDda8GNx%`C6o#185+x6~pxRr)!jfjO8kG(^o@YWW>l)14-HoT z^U2@j?JLyQKfXD6F^k8nDWZ4~77re{ZSpcG+SL?^P3eajxV_{`Nu*sLJJ5S;IeF;> z^}wgMS0-hcB`G6Yk~WPY%BI;wY^e!Le{p3j!yHRl+Tx2fkRQ@uIGi{O!IHl8I~W4b zQq3DAIVfWc3DtW7eifUhkjesQ^oBHwTOHp=Tcpu)5F1JU9+q4>&0}7_;5?d9si~A= zmO~+c;<+v^9k%Dhf$^kr6Z*(x@`8+A(74I4WEC^GMM~i>&ahVP`7;+A{lTSqHuAfxP;c&I`&=UjY0vBlsUhGQwmJKZTC5X`_qBMO0npE~b3?VHhyh8WB!)oi{ae;EFBg$R>MH|()BTvgANA@%x8Arl~61@+omFVhY?kZLJ z{4sgaOMA9_9!BJ#V`{_EiAH&gO)mCRuO6KeCO5c*oqsPIPfZ`&tE&Cj!+tzQi)nC5 zZ8?ssz zDA|6*jdTVh4f}ntPRbmW?ecI70k>JvAJvf|#B1J-^?%>1cKkKU->bpJ?H~Jj$G>gW zso4w6u8wD4a3fv8JN|8kPU_Y%B6-<0tz*N68|zP>Ru7+ulD&?q?I)rm*_$Kow!Z{uhiwNKRa@(m_{SwvclXv)g>9>kFyuNRm+IezYSP$;;uq9CUz5y$T zYGbkBm|FW~co#p9u~1vT94$ZhldAkJ!PFxe?e4Nk3$Lizf6K1aT%|`LW1=xFd;>y< z>W404Um#mF&**{tp^&{-9GWi~qIjr$K{_kyFuw|qu(~YQ=}|h$`sq?rW}0&nK9)T6^C{5^;R>=jxev}BBM zt8=?xShPl)e`@gG`c^i8SFLE5tMy^D+T?rKykXl*b~J|l6F)vPgEk%Vu-AlzJjP7W zA_3uYvU#B6vC!WGKfS4(!?gaSGnrBh%i4@JZi2G22m>1h5#Jlt&{J_3D(&TDa76Uu z7Ga}|G(qxWv(JuMs9D6=D41dOx%(}~Oyq8Q^kBO|rd24~v+Go}&DLiy%SIV5{vxy+ zPrnmxOz+y9lB{O`(Oa!OHPhdy4*-JET?aRx9^ki+_o<~r`!*jpt2L)m)yGed?Ryv< zvxKF3E#7`w`wj7(>TK_?o;e*A*poGmWb&uA^vs^>Jol68`}Zhg!LukHQ!RfFPUwkc zsNgu)(9Wm}4l+lwOW&@C_Pz|CBK16~mi&E+sbFgt*uucEyp^NpDK+RH&zbJr*#++V z$8(i;T;ZV9^RiG7yzjV|GcbF5BUa{hEs*jZ69k@RT>ISc{8&82>}>`z5Yw@YfFp@L_|$n5}lFbE@;wPBr(NF!|CNwfLJq8NEwv^33m4YugZ`H&(crxaLFA z#|y<(YOP+Jyyrw)jM3jG*X2c1KT*BT4f1Q|Dr(NstY)5D;_p-9M&zgNJ69Rs!n~4s z@tQ%Bmu{0ygHjLZWu){iYGHdgIiQvX#i`04d#i7@|J&$OZIdUjp{1E5f;xgo;GRF7 zk0Y`TCz%%pk<)uDojnQr5`$Tt`h5_sEFj){W_R=^@&w%Yd_Pd0aF<50G@QikIrPIQ zB9HrtSByJ|il=(|1x1?qQjFActXVz$pF2sYYQ8)oiMgXTY=hFe%9{qIxrS4e)x675 z3sXB>vS?;Ctf^}GUb|2R^Rrx+#jlGf_ zz}&>GCM`&{UrDXZSm2(Pz-6^}oaBsUTA*PWf)B>nx*yFEwR~DK#<;)Al#zn$j_Jtj zTp4{vKZa+AwyZA2>~nxmllyU4tAC$Kw)#2l#N5gEF^*=kX`wHT9r0DOpizNuy5&pG z>&(?f2Zx211VNyctWAbl&vDWijmVkOLe=8mM)|enOXlIM1*j*e4Zp==&`6EK zXWx9t{e38YSNzT}jU00kYK&?4Fl{F|>?^h4>U4jf6Rw#&oKSlq2@dl)Ws`@! z%4V)j@?tq8Gu36AJUl}^dv(f8lLCz^Johc>r>lU=myDyKVC>izMC8pKCMY&c zPwWsiiDY$Z^E*W{nN`QNfuqxxi2*Z=-KnoLret9k^qzi&4FcHkeO6kFsjCar9aP(| zrON4Vs1eskk296JwPM?7v`S~Y9(RHE0k_-bA|$B0Kx5Np-9#XLpde7%SAsR$izC## z3zYUo#lmp)$7_S+v`uQdb6l{yOlf1ahH1OiYG=a8)Ms5{T*EOWdy^#fBo_Wldhm2P zK&so&r}?NIP7M84gBaMA z_n<=UG6@T`OlEvN@YOPj3hb481HPHj59RL~d(gLoet56K?)3cX5-vB@`6GXGM*CVH znexl)*qu(6GwVrL8>`b{1m!l` z=}q2~eUoXO4;dbu_?#RT10RX#FyjMnw=&O1hLohw1{kaw zG;&(4Z#m63k%ZvH$-IrWV6 zrYHDzifPbplM}AN#%$4J>x5e{O*l#0dWm3~uu=q57P5Rd}5;>|Hl$--h-gF2~))?8JvjN}UDQ zjB~TmRl#$x2hW(8Z*S!3?`xA|k7zQ*eoG5`ldvwE#%#C=eIn?W3HlARu{RkW=%2~@ zcCFDdN9fhwWME7Tf4>pY8H?%fY)rjva?Bj=hIaovluuHdLPm%Am!P}}?#K2(Zqqz1 zh}J438o{hZd$jRYgoXx?ae@Bqr3b|$lMt153GJ7CNHJVe{tWcG!c(?f9z34}Q#M{^#CNs~VM+3>I{%uSo6a~nO|huqoUn;9d;+?xem5x>&BU51QW zKx-xFG=<9T_$j$HaX%vJ=2#A0=aiE8Gwf+ zn9RnbCRkfLf>DR4$R1`I5yGK}a1!R#+x;V@n)T2Zq4kjW+7{6PB{7K4yBgiY;y2^3^f0KJVLj~7?egAeeknbqSzi? zUk^q0ptQQttk8x{>7WG>WS|^8madB+e=r7MJo=ue_DnLUX?7$@lu0P9iYD`+YG*VV z=^v2m;t{x!TFu2ApNxu%Dq`&_OxVQ@j4Ia44pUSKi+9vfO@e4d41#DtJxz~+BFa2!k0Imy1N5~6 z&ZP9E4WJ1V%=iVBV8#z^qe^I73|R|SMX_WO6seCT3j+fabyabok7@6}lNOeeLF#Q$ z{b=bL;zdj2$de-jbw|bm;P;_6g=F?FO2i;XZ)f&SEg4BM2d-l{*SzrCMAPH>950CH zzTk)_ccN>{01{4ri6>^gJT!rX!qsgFa1Kns1Wvpo!A0B~(?cUp16|Po@;V^jL{4r^ zB!Bb|Y!-?@37-$CcM?gEeKt}{5_v%O*-5u2k=KlY7j3flX__;TyzJj6NYKLIZtPQry1VFsL1f^-K2<0uX{!5JY?883#9Vf4qiyZ%eVRej zgN7!P$Bcc>*kt1>TANHp8vCGMBQoP;5~G#-HhB+5K23_7Y(vOjy+|>QNF(8%yJnh` zM#gtTZAl|D6N0jB#L2@QOLX8ZdO-5nbW`8-8=4oUlbJ@={Q3ggi0Y)X{N!MaIg@jN z|2a&leDCbBAtTq;Q}Zwc!?W1K_g63cIUq17&ql6o;H^aBLu-eTkfh?N&gNHj!(iej zGZKq^EW>}u?ih5Kwt+kV=nsy2puLBaKN^EdZRF}S+B%$kWDKgYk>5AaEhEV6zAQ84 z_u3v)%iGGm#bPC?Q9<=K^4nf*lt=`e(Q|L$;4~eeVegr-qyD2e(6lm|zKNjeD`?mP z=E=vLfhDJJk&RqANDDH^qqmT(J%dZ8j1-bxJ}FL9+3wwwqn*=0vdinm3FzS)Xc`y| zlkD;^K~vtHX4@zs*nhsG)=}gk`PXB#VH8O)_N}#%|BU4!kKR^5B57PE36y`GK&_eN z2V>t;Hgf4Fnw&-Mkkcf(E(?AV>;>FddM1lZXSn3iWJ+q9WcShTdc`pWGa)-}){hjV ze4m~VaTrHZ?4X7!w_~bT29dsA`BG0STOYr8g7l-lW6(XS&0|PZly;t@t;T7-`99Jg z-B|e2!ZAn}KwA#lk^h|*;+$YM!D_EyUgqk2)-X|8!RLQ(?-1?HH*J5PXa7Y$W_}hW z%)z!z%;k~32kU{=+eUt#!EyHBVw86ZuM%ro@b<2_MSf1=X~bCHeEh8osKDMqWeJNJ zY;9Z>KH1VFn6lZe9=C~7qI*3J8cS{q=*agmu=lUTnNey7Z5T&FW_1+#cpMdW2;mxS zU;@VX*5whLU8p}`{SY|+k z?f*qP&6Bz3^5aH`61ooU@O}mVBQ^SEBkRNN-iP3c@fxm=e<;uSadM6E|8apPM86=E z_j>BZaW6ryOp2GDylC@y;xDIp(WB#;vwDe!2)92bL5g}e>3J@iWmd!iXcsL);1AcR zIfq0|@4~eMhxb6Fd?s~TlyopxlkbzUuyo!9h z+?`&?7!4(Apdl zT$u(s`9?Z>c&3e9U|w6`)~kYE|K!%ISf0b-h8Ma^2wK_AW%)@o#yz|Yw2>Gp!rU{1 z`b;EaCx+L!e6?e-7)QPWuNkAA!XxDId7WYoZ_x#C^h$H3M5JSwwpEB=q41lD$YPo% zk#IS@jkZn2slvZEuxbm9vynl(nq1yC3ER)`t664t0+M=}woFAP`2BHC=Y@A}F4NLU zWB|R*MrOiI5W$`2LC#^EtiaB zD??^3j^2D}RW2FsA6a4}|GG;IjyJPX9PP{{14lq|C*kpp9u=ApJp_*Xw&o?% z$!`(T3?HB%_0y19KG4>a{A#!1FZ50kF~y_SIpg+P2$Bv`-Nix@ANoO}q_8 ziVC%ne;%i~w~=vSQJA0q+`x>)ayQJ=JVuKbAr8YRFMFr6UekQ|0XGZs zxrJ_mXiy%B^*JE=38L9~B+8%l^FR9;Z}1f(U6Y5i*mim`kLbfrc9KEDgxB8Q!o~J)(JJPL=-%3G-c1Jj*M&%1`mHg5dl~<|d4g{7n ztG10G$<&gIwdm{}B>Y|r80#~|g0`gVZjGFoz-9}}+c=FD;&d`z|2TaUKFMx;lDqMVV|6L!@tt@gP(;Vk!aGS=!aoM%46^IU7cD| z{_z&4vqvi^uc15c#HmIE-FGL6oor^(v#}IsAuVWOvXQ@!Wj#PrKIe81O3P$$mYId% zv~+E1r6n>PZ|{?qNaG5~lcwlA7Dv$DkM1iVF=5eIM*f}!IwobcSUr4g|K@ zw07D-PRG;QyGT?_G#1g*?8J~|ub4_wy;YK8~N)d>N}g<4(r=zlPFVv%}Oo(chRcZI9rLJ^*|4Ip{;Gxv0>;r z)@>y#WJ0I4^k-jq^BAmcc3g`6<&ExWnr!DMD+P8Oibc>CJ6yT{DSgy&QiRBRoV_;0 zB6=pxwv&*^?lVaYW(>9m$1hOJ95QKaHxhk;jbYsQ8Ub#Xxsh-bvGz}C**D0wZw`s| z)8-vNtw_tJ?Q?KTnN1xpk&ym29-pH4U-95GbIk%VOEqd6&6|s}QRZn@&`g&5e$ox_xtOt%;D4S!1!i5_cn8||Dd zGp=etwP~Q>rY)^Gkk^aH!<*Dm^E@&jUSq?8luz0%+0c@CBs`LF^S&jwUGs4I6l1fI zV>9q(XDt139?ACW5)!FL4$XW3;^)w!2XN4tLmMAJHWgDYMm^a^K0n6(6y;zVKc9?b z-Z-Co-#YD4H=jI1ex=r85)~GsM>-7bpV(WzT2|x8G0{?9UniJGpgsxpEY27#j+{VR z$LkM>db5oj`3dzr-dh~wJ82uQZxi*%l8@|1J@*K-_otx?(0{BX>JcT6tU*0rOHdy~ z^H3iXD*^z%*h!8|=6&18cVg{eK>$Gv{nRXga7Y;_Z*H-Eepv5m51Y5 z%wjnWnjpBxW@n6Xdx4uAX76gV;{bL&i-3RVJ24$)#1N(qVn}QbVwvKKiHA;WaZoB- zgEoSu2sAmK@$Qh1gKj7x{rzLJ5n#2K!^xpfXwD+CFy;{ZyPEET6?+PHXc%o>gpB92 zPiV&?GJX1I{7nh`6&!=>7&o@WQ?SqU(=vC#s%{kQ;8t2yLSp=5i(PVkHmzx23F#yE zvtcr`H_7?e+L)ci%9%sYF5zzHyOclDmy(BJ`TC_~k()>J+`=^z*<_&UrQ`!_n>$O% zOj9g(IUD(8CCyz%-ZsWIpd7hvIeC%&jpXH+^qF+ua*SyvJ+qw5HN_rgE@C4euWGVA zNZytGV>^V;z-OCre*6#;%s6j199GeX$PiPUCCiNa>_NwB#XNrN-rh9$Vvw$ZBI8 z7&iM+O1kS|5+lDq zj2?a%i&@-0;8JME!x*dgPg3u4@^WBzp8GRsb2&DLar~^oM)o5+C( zs42OBJ#Hd&`Zlh<){)^c zZ%@|prMGs&YTDJ;PG_~Sb_b{1v5riPiSHDnf$;biKPD4}x1WseyFuZ>){`L`hb2sy4CXU_~$*i54vDyP(p<84dmu;^sw3u?KV=km)f`Cddbaq)5>V)1~PhNLOSn?Ul68MxR#`Vo#{Bk=Hk|*fJv0z(Rz>m{!2P$1eVW zoon!^9c zhk^ACx(W;oK}6`_eel_y#s-VwPI29(1g%b3jMHg(Uj=QeCeeNc9w^_9Kxr1yBrc=Y z8&O3Y$-t4X4ucWd&|z2x@Q|im9;a1sj-t6|*6=F6VSjao+WEM3+tZ|1B^MuiqCDP0 zb4M;daNL)`nNM~P&VtU9^Dc1|N)%lm%%85IMPgjWUa;V^v+FO@(>ql_wB$Y^6ChUtYPG=B>Siklo; za0H|A38wFEC6V3uD0MuzSnBYuMFF*J!=YXQJzR&(uz+U2fhb-;3*Nw=#@|UvWMJZD zjBuzccs+N89;L8L2{k{jndfeBiqN$bJ3`Ek_z8r~2w*YkcWo+A$gCb2z%TbJ}WZKcr6y~~Hu+u`R~Z+5M>ZM$jE z4)Vglr0p3<1=;F^B_h#tE^X!Kcout7m5pq}!Tb*Lc5qS+I!kBzvFjx5tYIq-jCPXg zH?7<93H5q`JV}*S2gz;&GV`~SL-eOh172A>UKB! z?fSwmc1@9DUg=Vu2;oaUftS-S{FI zH={<(<4{hcMd2DPnb`a+!>t*kf2}BO3maQkGO_vmP2{N2l8G9YOe~=H&LO>NLoIxE z`;9?iJH1#-h7R729$X0r0;&61Kv%+{1=#I0?Xj z2gD9=m&>m_!s0G1EY@gYaSN^5MgB&rS=Em6VB_!wa)AF4{J|W{y%-%{*QG3h2Q)(=a}pB zJJ9)MF!RDk!6yQrM10cm$;JnI7Z>1DgbxHSuE3`XpDp;bHPu`qFOZ^YIs{GPOw#qke@-(y+aRQVg3Vhl7dUogM8%sl6TvU$tR z50=eYUbgjf`PyyE=Pg??@4>PKOXiywES@ue-h*8fOP6!x67%ADi zq{zHvX_e&Ge;9{u^C3gwmMZKIegXjFBe#oFz=|2j`WU zS1ehyWa-12luQLCGFAI=s9!F;{PV;_@zsrxr~8K-k&r_=d#KAtzPov$@Gov)+v^>Xp-aKWsO*E1aI>#S~{9H(=)#p!Hl z)jsdmIi2r9Q2s%uT`(&%Jn9<~U7vT&l_cCS3d7QXPhaP?wi-MSJDrdF;t9(<#qgcb zxE<#_$*{r+Ji(}@1NG06xO4UA@!!hblK*0m>~f*cO_XB;PIXmS}yFoN&kf z3bZM4wUY~+&i$~R)Z&IKaXR030B&}}Ih@W9U?1tS8*U5i?2CTdno776&(haZg+4IYK z`UHFa?J#|vJx`sbhuHJ$26~P?&*jse!`QQh4q(rA2c5*8=QHVi_WVAbKEa+HLG*S0 ztfPm9$xq|IiPAfV%l(aSpH;{^xlOBw%K-)f(5)HreA7F*sJICCzSLBiCGVB#2buCT zqlTsaS@L}2I~NtwP|@^g7Hg^jbaS@+xUr!E741z?W90~g0BClOyv)?lu8{ZOHoa!k z)sy7c0=%k_;bMgEVDzktE}tO(c=x-9;jTTFl4OOvn~$Q`BfOZ+unSpnuay<&u;T6m zjG&em%UN+7FCwRuyq;&pJ@t%s2FI?WA54_@8{ex^2*&4;N%CIfd)2%=%qIVAe6JBQ zG}FP8|izY@6+X6O4cl$j4Qz$Oq(OK8}1qKB-`|d_X?lLO-7= zM;JfCH@H5kqZek%&l?ZqLZo{7^zHKJdUEvn7J}u_UORFfW~Y7ya=7szyx=o0I;23JVfqZ-`b8PikJhfS zdyP)LOYUXVYMKh~l0(SdM@j>sD!1F=%P4AgJKV~!+-}G6SdlyO;Y>!r?RKb<6}jCG zF%Fs|e;&tZx!n%6&|?U)rY~TVFY6^K`a3r(>;Z9I5B!RGuw=Wc(6#LSXr9wtQTan|9jeEMolIVTB;lw9P?CGxgWXv+d>SdX3}q}QPfQOO%cO# zlYW=Zirl1awTyt9v@Mhsxk<9u`U6cO`7G*Vn#+M^Nchq6O zTqH@uKB5TF=71h>{yvw;0-|rF>7jCYys_gV$kM5@QpP{`wX-Howw3baXsl>W>UR04 zj3upU&hv6B3KyHwUXcGJvqjBWE1$=r*7W^La=Jl&ue!vAH& z;?@LcCXqkbK~ZmQy84D(PO!!`J@lrWWxyiWwD)Z}fXD~xn-0IjmeGS9O|iS>@dWE! zQ}MfUA20cf@}^bq$-xG!bWL0Lfm}r7Q|(R5n&o^Mi(S*9kK{-%taeTR z`Xgg_uBGY9r*a{|de?O4L3swjg4gti&seMP)0>pT@)QGG@(Mqfuge|vwD71rjxFJ} zN99zugr7JnkA%8ZIVKNh+S=F?^p0b|gT9%;IE=V>OkTY;;eTM|t{*Q^T8k$OH%6GW zRl_LlIW?Py~hR3piQYMPWH!y@)xP{lk$ zG?JGc^9%!swdue-!#P4aY5jadtltUDyh5F=nk|Q@irj-4@R_`hX5v|yos9ZiQC|k@+5vkBc%35sQV7^0VC-HRYcLks0)AVOE}Gry5z9BR zQSK1+-{4=yI{5|DV;)vyo0ut8o~nG*FpGoqSAuKiPU$Q zVMt)P7x2Ou#sc7z@%oD)I=~yeSYU2nAjOb+mR?2oxKD{#4pWX!rkTqP zv5~@xJwJdXEp8kSD$?NwTCp4gmjZoQFuJ0U{?)X8xnbzoeLxEvc~4QKe_aI3)?oOU zHv*}Zxoow7*C^!evw({=pYeVg^0d*22jMg4T7Yj6_!j7iL-Gd=(fE(DUF>~~Kv%oL z@t6TQfE}6{ebN-^AN3fj?OJy}*$R1t4XH4v&t!!xOoTa#MSUT@G0*Bx2zZGiy#p7Q zB>_LCka4zCAV?O79g1`r_JsUgKc9CM={M$M!e@Mrzz16aGX}nr?!YNu84Mk= zj^>sbh6XSf66P{ZfD1O#YM{q<0zFVu!?YGwVZG{PH40gcdg871YI>gSMNnU-SV#4070uI`k`;y}fxj?wiW$;tts=Et zq#Y{^Q8ULEqd%SgkNESxp`a7q+6!8(0x0DOe#|SGRfN2~{tfv%T(EC1MLKtp7CvMc zlIqt2vR18~?|igl))Vb~D{u{EMPzE%?BKfw^>*6)kYQ*FQ&)_t?>@GL0Nk#r@7tn~ z<@JEY-19x7NdJkT5f3B4Y&n6^6oco7fK}^&T6tRceyIw%lc}Y{6BLrOij<-HXB4?HNRJ&Z7Xd?cjMf}^7~XFv+_W9N_2M`+7tm6+WH~8 z+kXIXho*+#S;c@Cz9Y(E{r4~`2CIhm@2N;%KwTny&L4@+svNYlYJB};6fzimeCh-| zQjtC{1^q4oV~_Xuc3NF-7#+j*Q9T+3-_;5!gM5ZYLAMEJtEL_0hA}CfVDAm}VI6kCT7|BB#E???yA2i*LMVF_=^#devqt?RY`5aQOS4Ykome`V4+!f8mMZK|<>PEn>o;%}W==6+vw)w% z6u1m}p?Dxti^9Wz&xrbu6++7(rr!Tw*xnQEvqgVjEBHGeM}ZIx`rxuRZ3jJCVHi3G z{pkAj!Fk5F(65KL#<$OSb|3<{R^!tr7vZ)Q^fpm{ueMi`N<=*ZPU-`( zf*n>h(u!4v=o!0E-7cDc4k=39$WJQd`5o{N;dFhzQ^@0}md*tf*fSDd;&$n`D2czqR+2t)7UEf?q+J2cvR3ZsU1AEtUg7m>?E02Z?&)4(eM4{0~fL)}fe2q3xLN9iSH$>xX#qR4puWS)=c# z;KrC)R0O$xmB9e`4+!wn4^i_CX5uo@AV(o{nTZbwxPVcyA3?uBgSy~H6%w2YT(O|1 z3YlbsK#U%VMnA-#p?Rnm3RU(ygtdrukS+-RtdLz+G|&b3u3HDlZ+~SP*J<=&z6vQi z1$yB#VG*crL4Bd9PlG^g1`CUX-KLNpb$}areWet(P?4@20HQ=RSg()`7Xh~jc#}d( zYS2NbfOjCz#gGwU(y)CPG8Pix^v<6!TNy9@1A6>~eTfLghOAVyKd%sYM{ah`4p=x<_z-k(0yX3VH=&Wd800q2J-yvXxYHK0j z0s%jRH4GN!7OBLTgg>W9d*Bqh$;0au5(tguD$(F$bXb4}On?y3A48e{pdLTrXORN8 zpdhAI_%%g}&&RAfthJ9ovbUD`fEe?L2!*_!t-+PdDI%;2v4KF}M@7t3$ji+js1OW_ z6;eX z<)VI~LI#!d4tal(vlTL>4DD@|f?y4HNzhoImyypYWDSNuPedc%f)}>}*1T4VJb*v~ z2D-qJe+8W527jxN89N}5aN5Z0un5yQUF$E3olUTxN->Y4lEJ_m2w{P!$%^zII+Sgq z!Ci_Wmsv=7dDMNZ%zjXhpQvU0fnNfKLSc;%KyS}dNv5Fik*L=dG8u5Cz9We`2myRS zpbPLd7H;NrVhp4Hg9L;z5E?`)DDxk!!{`Ks+zpH9JEG`uiZr1V1a?h<=sXLBEHsYB zp5q4_I&_HoP8?R8L4Brxo#1bS|LGl=;bd=QB32h^1ZIA&gnD68^FZvonbx(Uewae; z-33_qgn2pyNCqq-p_v^l>(sHqqk?a zLxUR8;7f(P)Czhr4b7Jn@O;_fuTtp|yZbj|^@B-ujr*U*AI4h;jYR0||1~Q9;>cmZLgScdSU_=uM=R2+6;MD}EG8H0|ENTCC`=y1#;o40!NUkV z@M?XzjKOKi6GtI{PQO7R6Al1gr)e02$hR08lTraAZd8<_y>QBy_Z3nNA0uK&V=6Jm z9eF@p77f0H2F!%I1~{OclaG44Rv#-VNU7Bb{aw>`EKr=x))8dS4e0@PpD=56eA3ck<{{{L?bz%&9Z z#grES<-h>yfDHl+UO*qiLO}Ttur|E_RG1xti~&*()H5i*6kw2fgXF_cKn)TI z4Jx1&I$!{?Km}NPndblnpgvMD5nxof1LSXjSfJu7z~KD=7^NLheloBmOaRJ0sV19uBB zPMQPcKY;Sj2rzI1(-gSe06Jdf5-?3E0J+d8Q317zYoL5jpifoa0y`-WfC4ZV{sbxj z#u-e5sxXib3K6IQs=7eF3=-c_fN|N2?R$EdPm2qrW~QeW#eah)tN>dAql0u7$%E~s}#a-KQS2y~sZdz1W+G3&ed!KX9WoA(Od|uz*yk3`kp65L0 zInQ~X=RD^*=iV6_PX|18I-vFu<8X^454UWpi6t90HOw^)J+8>wb-;_P>Z~7 zB$fjWUKw7M7DUarLG&q`8)UePT{NqV_Ql7@=%7)g?n^|Fs7rRZfv zl7{K!Fi9G&m(7wiLNBLCQmS6INYY5XY?Y)@({&(Ml1A%gnE%L6O4rMF zNy^a6C8~MgXx}q7iFn({m*>>Nf$7F?kJt<;U25&XP?D+c9XLAJTKTV#vI+lkIx9DJ z=jPT)sS})It!mf65vULI`yqONZKdSnh?RUsJ0uD9LD`ZbTkPMS1fOs<(SK-V@+C+t zH^xd~R`hN&B%iOaN0!&dN>TN(Qc8j3HL=2ACYE4&Ql)_O@n-9lC; zx`=Xhk-XI^Ii29;gHaT+Hdcq^Z8Hqr-AAu}>K{Wa>RJC=@i#Xh1AohgM5<2(B+K7k zP!9$q6K}OMAjZ_?qluApO3k00pf36;P|Y56Pf{Z~Ggu_6W!;E57lHl;wJ|W% zI~t`lwJk8d^1IXuUpa_LUNu6J7@9j2v{S&l00#nY7jOe$ z0=QMcE$HGrU}gjORM%m^UjeQca2w!bHpHS@fjADt`yg-#7)}`f8sIVkp9cIKV7q|3 z0dE4FFW_FlRe*Cf_&YDas{mUB><4%;V6%XO0MAo^Py`|hh{!=;y0u4nr}|W*B%>EgNXk61+3s&ykCA`h$P)LY38wLJA9vQOo#Bz{ zoL^1q;*n|bKa^sSVe1kwp}5EcCS#HjHmf1BoM!%^R&5%Y;J+1dAxd+6<1+R1$f0w8 z*v>+Q=WH}aGuP#AzEcWg3@r8^>THGq-i#@1)gzc5@$A(2gjzUiZp;rDwQ&=RDj?lp zljN0xMGx?6)x)FiGIql)jQ*-+^vrPP3e?zTV-#Wi-rnaydFP?wuFp)xGTtVmhI##!0i+BAaC1F*{x zc&nGdYnJW9Pe>8?Capi6KBrjV5B9_N2z-ktzH)k*sA%=9nBFe%ZJu}=4+0Rh-4j1s z=fmvjHh?*uf{&jker^fJSB~KG%B?|uwrIds88`gRc7YG`#Lur5c(!D?(cgMR;Dv#7 z4HfBvvI%cMlBHMN5hWUAdNNw#C-7EJ{8GK+Y)||$yY>OxU zsqF&4UB_4Em=$!qIYm^|=@lA&YlFbod*ZjZ2>dQj{Ejez-|LC5ZxZ+hPyFu6Tv2h@ zvtpkl@JBrH4f^~(?uma@=hNYde@)iT&z5sN8#EP&j!$~x-`pbbou2rE zCk6hr+Wt+XTKQ_2de7K_rf$1NhA5f;bb+D+JhID|FRQiFL)0r{{jmW0jawekT`nq? zfDns8x3E8pvEycfsAJq_Q@1c0knKxWs9##M!_z!6o}ChN57xX%&CI%EXm@MYBtx$r zcDV@kR>>y+`VJyGGXx{;P+PJ_$=#i5SJnrn^Ae|Gv0a%lOC=N5x%X2vMh{-bK)}hyrVW|-w90w4sFvJYD$loHo85(@7#s|s)$2wA`;lPhhqd|V%8f|Uc1p}~8Qt0I@Ojw1 z-o@vqGobgWRlO&Vh1RkszXz@LPEJ-AO);xer$ixNu}>K*tDoW)qrN$1K2jIIspH7g z9KK^}92ujwO-)u`o*FAZ@g0gY%!FycEL4l8%_PBU*R*8yGazb?qIh#)KLh{p zgqlD7P1BF=UiEu->(tJ8W!Ux1@qIA7gXuMh&kgB0`omh}43#sdVLXRtK4SVY3?oPI zgtMCSvejDKP5oF8zaHyv4|%eFmeB6CBow@pRe5$a_?u^gzqOBlKhzInmwY*+3j$Li22wC;vN5&Aw^qbqDl6 z=hcdv_CWl^o9{LK#9crW|7IqB{S=6Q^VQ-Pj2Qcq75ysi{qnu0-1#Z?&=PZBk>O@C zI?W3E!*il+^54&)zpxPwY4qeBgl);g3VfCEOcslDq5bNe^o4e{>Gp3%T_|FtE-^nJ zBbxM|Wmtqhe@<;%bp2WOd6H_g$HMj{_GB_kt+kIpXlt?WlrPk&MT;ZJO0|6PQYfHv z@dKudwS5XGzT=kUs_h6*{3u{aw9M;(AzoeHh+Qyfg}C?il-Tdy@NSGy8jH`&*)A6hn1U|u@9&oWK$1}2EA1)tTt6sQs1bIR=7e@@f*d|*0 zLFtgB{b{xRfvzh)WuJ9Pe=mp|5zpZup_wQ>1Vpv+wX$}KL+IjVDo$5hU3 z>^J)&%@Q?q4Fpaw4pjSRg6m`HYi4nWeU^Oz+?C$Iq$V2ZB`V-K=@j z-3jEV+FF*N#@-RC?p*I59b}W%T-3un_?cb&K02Xh-!swO6xWdK@NU&y##q;tC6F^< zJ^QZJ{2a^0=fg{aKj!1=U{-dkJ0XA9A) z2TVVU1f7G6)PeUa!Fljx7J=dAKX>X%S1tG76P)i>)9Y4Klwy-sT^3zuqRfvlF0V!fx1t=UHr}`Xx+~86nB1#lgBRjpq>S4~Dp(^Lo7J)#N2@QdW^=%AO+xq@oR`9* z-dl+~X4!j7aK~JEZ=q^iGyAT4xOrSEdylIE@<5&U@Db&PGR(7k)5_M4L zJ?Hw>MMIsD9?Ejptf#X2D>>5Sp;?%rzdBd)BU6Z+Ym-)TE2Er^GCyfX8R}g5v}!H) zNQ+ru`*(RRGB~ELo7d(+UG-}d!oSkg_0|bZU2h%J)b-Y<>dCbpvzjruvC>EV%L4=C z<o$KjuUjrJ-KdtXiy3+$o3(b2U0Pbv{3*k0{&M3;q)scq zC2GAp7rwE&u`*O%@`M`oLQMKqLxKyvag4dVMfz{P2v|WPG{UXk7^ylYjlJ%0-&lg- zvQvMB$9(CAKsC&fKIOk#AQ)dF7@Bd@hTBx7O)jn8eLzel$j=llKWq95YGHe$ZpSv$ zf7|-zTW!^2Q?8c+AIO3z@bWpA-JWf*a9k?-Jln^{a({u^_=n$tzu!a4O+8+H6^@7I z8hfzXzqU+0`0&{4cJ6z>e@#GvU2n(3vxuT9%h6fSMISt2QW`S zv84@SG!}bLy-nV~PHlaZNf=fA?sWrH!&bhoomXuepS&*p%j-a& z5p1#68_wcP-7v@b)G{Gfld3!(BEPg%&3`P`8)0(Bes%R@>@iQ87Hyr|vqmj@;`&+Do+`EL ziT=xA{EJmEfF0^mswPQcRg1I(>~%?V%Gb@fx!fjAov#)@86VMeoRPS@u{JMXJgU|| z89GKt@M4nCb(c+kah0ZoOKdZ6t(FkyNoEV%Q|nEaT-(9+ro!$y|5o* z=Q7S(OqlKq*y5gr!7HvK^R96BEsD!SE~VP!7x1`X6O*cK(_^Mf)B22J-~0!6so1V! z(zDpms-f5Qi|26ap~j?NYP@=9A#m;wpQKCn9IBFEBwC%eWuoa)Us8ni zxj^mQGD@Bus483MK+K}8>rKD7_PQ)poUqL!Yr;0Y@_Msx=NM?M0$OA_umVk_^7{@c zD9elost%h3To`B=-i$JPI+x4xKGsIl{G{_@E@BDLw=BODu=+l43DuuO$~!*NO~g!~ z`n)|p{uf8pBm_j}Be^)XS&n0yVm!Qr18RYE$3iu4`y`~cxmzRs-6mO8oZ3D!My?`i z_spT{FWd7>zqq#0`A@GP>(sItA)ZDnQK$WJ5_v;y{9~y4%pZfuMwCY2c@Tqt`r{C} zGEMb)X1wW_cHIty zuh-e;Z#|}VJUeChuO(HLJaRAtM&&?GYY7ZE?dI}zOJKyIFd{#N*t!HpoG7oI*WZe3 zhp7$qG4fhpSTR{ozSYp@28H~(*Cubdfhjr7{HtqSwC|d)Zh9_ce z&%u1PF6%ozLVB@zftvrql_GQe^Q1gY&fYR~Z*i?&oBZAJeY2=< z5^Y+8;1H(f?J}7>6mxG#Z%sd$;DxpCt7mu3B)e71?#Mv5`LlW*Qvx<7@#^~B*`{7s zUfa5KjymYYA@Qq&LBX>*q1OscE;qflFDOwPUNlwqwpwFJzULY06Z?_kC#Kn@bTOR6 zpegJ}vr*6#3mV3!q#w-^L9@+`kKKc&Qhs8xAUfj4sLX>%ej-}X{NhGa>Pb^`$tLCO zuUHmY4x0qAQ{2frq+AiSG=Gz>wtTite&Rf1YLR;R#vWyZg~x*@=Jom3PWHHVSR4zN zP^dS;D4xtFr>Wh0X3J?C)$G0L0lgh8n(zcuuGx(vfk>6^jg?nLs|WWclZ$HS-dOh- zSoW#vx9>luUblV4BQ|x~OQCV6U^+G@Szu>V;%d{?&L~k&zZ4&T4|@*r+oadn-fqlM zPd1KLe|kBLK!%271Rmv857|~CzBT-8y3EoqEqdAa-ygU5|E04>R;pWGnMp3GCtt~6 z;ncIEe!1<>CD!;x$IIAqk_INnTUC|KJg+OE#*Vj}(T% z{1V$&G7G1fFSBW@$KwK3d41G%C;UV6)WX*%^2Oi}r_}cBq4Lte{(ana?pl4g^5FVa zMZ)hq&J`o%s%Z7}0d1wJTBa&Z$#@FTPyQvaLDOBP%NzP6Zg0Auoc}*)Wc_7mWSlzT zO@(aSyxv18cP>^tZwyka-wcuO9HZ913I4nK_$$r#$Grv{yT5UDE#F(J4mwypEJskX zw1VwlQn9^C;k+<+T>13kV72vNGWkwDd+>JC<->iQmstBE*#zF~_mRE`NL!wYF7(R_73>GGfBSTINtY2vPoZJSC$pW^ibi06YG@pc3$SMW~I0Ftt3*`Io_rH z%1N8N=Auoa;R3z@_>8*cy=^xIeu^h!guNM--8$iq_K*K0*`&ZXfRp>-o&ydkUdUvt zJvJ9Fv4PI-vW5%I!d(ImCjwy)s}-#=@=&7IwMIlFFJm<}Y27iKbR%BmGb{v*=WzGE zueP^NoOo)ZO&YgYm%VDl^~PZx<{HQ9F@gn*@cx9#c1%nk#=#<`x3NhI7xF;>#rnF9 zjo!dsiF5d-x3NHo3|8z0omd&~djo5*Hn;3fq;B`^cB60aM_-8ghu!G$Sn|F#S(WM? z{~WGbKKO^cZKLY<;mfn06VaVL{0qWz`M6kG8EU zTf6!2%?lT1nI$PJSCTeOBFd&kM327YiT((K z$!0Cn%ue=j!j13Uuc>7p$HH}MKaP}V)506 zsZD#ZpU#7YaDl^W{-7Y${OPE{Qnn+;UFsF@tM*Tyl!H$l=>BvHi5MBo#bNJK;ssDw zU-nIE-e-T1m%VYI{j&%n5B^H+YMWt{>^8Y%vT8j#J3^{(3B7a^G^4$;Da|;9aW?R9*D9$^h959&Uzx5^d5yqgBiC82QpAT9!yc0v4}w zRsG`xtBSbvM#WnK|5 z$j)Y&km1B--ciqqs~O#gBb56d799m%UEi@-E&n`5maXdc&ts!c_0vs(OE;^Cdi?Vd z!MbkPPKW1ZOgCz;e~Oy@_geyF{gF|aO}_o2TL1TL5wbpe7>cFMVVbT>=BxQ%ME3FX z(6#FLVxs)?TDA3yp(c4d+F=P=R;6}-ky{A?k-4$=!g=7YVGJ=j*fE9~_gvf)aaRzj zQ-m4WQ3ortS36lb3T0W86`cl7ENR{(9}&|X0vBC$3B3Gacw#tz#Z#;}1}2OMNsa31 z6N&7oN)e93dNhkN>oHf9(WCb2IO}n9TB_RmkJ|#|)1prV_urjSQ~sIk-vnv&kkX{q zU$m%=;XZ2nKO)pu{yBO2VG$5&9(s@XJoF{;o8$b(U$<`M4jWsk{3>_mv&FGQn+XOl z@aAufX0#ftbDZZ+F-Ho@b2y1lRV+czw;clZkj@3mlMj|B5xNXDsMmHwcE;(pGfZ=K z>8pn^E-ibGcW^J%}GD3_Iw$y-tuKMIjpY!a`t#H1esf(12Ho) zc3Q-Wdl(;^0bFZ`4;x{!jNU|Tix_2#-@aoc?<5PjD}CO*3K73 za_cjXx7wY~InMv`m90R^9aZ3)JE}sOjb~oSQ+VCam(<#?{$%tjw#oCoRr~*pGI}-G zbh z=ebJKqT0U+9oE{Xv=Qkom_9z*4AEX6!8c00a?FaMYFK*ff%5#dDf)^g+C4;^u1v?FD>f|Jy7{QBIV58ymIDRS0%OYAp;Kl&^>|3 z(*t?!v@@uEe1N}Sv{|w-VJy<*Ftz*At?HLwhpYBqV%1lF39ZcVamnc_ZyJ%_>%zOr zz@K)*_mzR~VfY-gx~%h-735R=Vjxc76T&M z05e#45TOj@wY?MkI|?N8Sk?m6OVp0u1iVJp+dB?_GcU8(&{tm`jla7tGt5bjiMle5 zbf^Va;!W21+E!uQWz}(I?nH0b&PcY#u~ES1^e?|?^U?0zZj;BcLuzbVyjU87Cr94h zHrcvB^>fY+G5TPz6`on~*h^}uGsb8{SR9A5TW5%D3{&?yhff^4Nm#&uGbA(TB^eXN z=zBmN&a{dIcJBl(I$^Q z=CU~nvO2XWlO_p)#;m!9K)N{~&=|I#gFs_fGM1hKjro+O5;962^BOH8WJ-v;NMjaj z?ZzCVO@s^$$vor|<1*XRD>gavBJCz5)ZLzAhS4CIz@XGB6WEWI$pj{)jWU5vX{Uw^ zGjL>~0VEx?)XDp;XUL>Z{ctNNN5h?uyT%D(5SOeW& zR~f)}Wk|{x4ci2YU_3xK4#V@UQAX?Kn!e1j0#WQb z#C^6wIJRmE9x#nXz2BmDWA5LdmMY#PX7GT5tMIwrB*K*Tnx>?*aJBxsP^hlLo7~CN z>P_YVN;Q(l0Ub1w4BWbmWCCs}12|MPfJ_BcuR+HL@H)kZ*G==`cBt?n@$!HYTJJ+b zMva=UPb3U2Q4FmXb`P85{I<$dN27+((>`RmJfMZ<`;riOO{wSpzNSw1Ie4R zPa#b>)b>< zqOlzMkq67Twbx+T0hS_$4_!gFado1An`NJLx`WrQQNHe9Wg z#C_M`VFr&)8jqxX^kg6zJJ^)TM&nAx6VK7a!DM)RqT5FQ*W(B?2-k^K-0|!t8_E}H z*g%Yw&coopaAD{OFOv1V?7{takGm!k3@iA!N!Z(`pPrxpqkYl3Uvqk`orv z#vyzGJ3fTO4>r~JZ%TcFNP0y4F*e(n3|G|`1hIDPTLvCo(rUDm_F<^XS|jj9A@4{X)pCaeR}SW*!&?&G5MB7?>fs zv}xW*%~_n=5IIAl-8N#O?N%~?{uDw!3>cUzB21J`j-5phhm!Pwfu#Z$2AnVT3L_)X zvn7lq<5n0(7U6aJWs(ImtA3>!4-fBx2~mT`nfkYp$!9#&FKHBb;-!MsTjB z5$;?MYfyIti5Nbx)5SINqRtg_mMxB+s?Ch#oQonkXB@4w^{+e9C81xGi&w;_I?05e3Sg#P8`CvGM7&?`<y?HAn_3qMNF&;6Sl&`BkX$FVTvfGsfkD+{ddu#M2I{1VOpI?rcCtL z*D`q3;4w_y7y@bpO{4-r3FlSF1>l*g0E^1%USeUvy0 zM{H2uq4`6}UjqVkpH8*OgHBOPGKm-*P=OJ;9Rv(QdYjCrv?H0@7mrfJdGL&GYqoQ z{E=ja?7N12IXal`A4#%|gGxcLmUfLK!;OQm;`q*@QKLwVaZnS=Ni=s9`GaxLahvS3 zgB}@0#v2Er6CdQzqe;A09@A_Yjm(?ao69WZZ(hUfbDZza5`mkY6}9oO!c(dYPZud2 zL#BFescFj?a??=7YLm%4&BDaWoAYzke$6w-Ue$cVSaOq*HJ3Khlc*lXzqeO4$(+r( zz}Fn6biRA`*qRaNZfY9`%bip^zYbGd|KqD4ZVy*%Hsajp8bW#pn~dxzOn4wW3d5Ju zC);V~I1-wL(YL(A&cSsw;8RQ+m8~p45Kk>ZKF9g?F?Tv@v62srN{NkJSxI}W3AIlo z-x~wlZKNlV7EB_y$mu<_VG`^c*lQ#IT}-`l$y{T4&m5;SO>I4D*?hr^*5s1G>FGUo zU+qbsI1K55+S#sJKlrjmhdcyhbD*uOEnTz5LHkDy%iv4HwbCy|wGc$(jNh#6D?k~oN9 z=gnQ((qKU=x@7@W7&NHOHKg+!weEubY~=js!k}VE9QVFeqVZW|?6wia$C_jQ+PQd` z(<$aduiKE=CLAY?KKdzRui%TQcODDD3=$K-Pb{InU<8=+(bNXq+&)~VjdY*KSPB@Q zEOXz1v)%`jU!)`<7MJ|p{Mg-M4_S@&uhFI%Wccj#-eO-biSg0p)MN>11bWJiew#tfEB)M}U7zQ=Kg zjfBQ=OQ)Gb59+-lV-M=f*va?v-KKF6%h<<}v$S&-c59&>Ic9dKk$#pcbFs($ZXYM5 zlV%eIH2JehGJS6rG1KH(BvKB&Ks#^1-0wQ?qM~#bNl~4VCR#O{%$L7iM>}Sd2jnn? z7R|4IS%4iMC$9@YB4R-8ikA#8^%53BtMDZKQ?8|j#IH*Mq`-+}k-r^vY{ME$`z&Wj8A>dJpPh?(>pk9BG0u;VV} zr1!d%b8en!+cn4eYcOvc>1xa$?^vX8pB#5Jna=sMM!;uk3ORd*mc?No)ViCPScEK| zi?cE>+BlbtHHH`4$XO&*bIC0c;V{=(_Gk#Xs+`FM(&l>)ExHj&R`^~U`5J34%6Ehx zK^gOw(UOii&dY&%5{2-m%^`dE1<>peG);`3MH*Lxc_+@r`2$CWYXDBn={{W1wtNyg zlKBp&&}NwyqXic)f#X3L@5yk72%?4gBr;n6jR;Z4d-WFdezbNLiJ}dlo2AonCl`EW zL8ovHAi`mpWIk1am)H za+6?w`UI`Hi9AI*Y1GZ+0B-F!lgH$U5?WM1BF0CQY#gR(_~{XS&!I|l%!-^f?3#5u z^*Y*EK)#9iY8i{dI7QrvyW8CTY94Kxk6q7KNwjl5Cg@lG%{}wUlh`knvIb0%>{qp1 z{`}=ih%Tp@BPyuFK|-c{d4qs!89g43`MA-hiMm~)uGFnASkxWdR!Bl_``1MQwh7Yl zF4BMTCqd}4Q`GHrtK-jNQFnpW32~3R)$gEXg=E6QT(HN2;U!!nBZa{t+e(4dr0)?I z`PULQ5m+6k;R|F2x1XT5LXB>zMn*QRDUXk5w+o-dx=vw;Ptg(6?XdK0-_8*b(FWTM14Ps?M67f%L5r0RXH$`ga4&5<=& znD|I6zW-dyMCFTQ9ZzUj+mjmKe|l4&A~G}}$_zTqyX;ZZXm$}+jelT^Ttt3{-N?Zr zvdA|~lNJLtFC_6pPiUJe?#~%vP&eVyYt{|p6568*XvsqIAPJ(U(Ih>p!nG83Tw6+SZH<Nu;=uBF_h>VxNNTVkg zVKWk)4{e=f3Sjj7)j{%i?I9ldVkHf;lV{xQ(_+Wtj=%eZl?c#R+lTgoCggMd)EXP& z%UiHkBPM_T8qHixZidaO7voSpx|&PW8eK;l7n6ixK`t|0xPebXD8lOC)|V~yZsfg- zNyNnHz1KJMPka))vV!C6tDl}zs^AWOl;XGpM_WPk>>W5njc(VS2!}plHu5)k{+%Qi z+GH!UYvKv>M`JT`++WS#m_WZYl)N9ZcvRt}h%hJoKjw z>s69;-boVtwF$~kAu_B~DaPYVE6puNMwiRuQw;z41U`kUmWk=CQRmXm7qFMMHrE!D zmkC<6Z^AQDPk#2h$ndc-DK^snImGd?!;QH}7*{`T)5H%o7})8X!<3OoTkqmq{IhqF z*rZ%H!)NE1k(hyM({RB}o3Pn5bt#UOv#D(B<(8~MvBytJD@Uo9iUXl@CH+9y=i2*mf|5{R2kYf5k+nN3fYkg)+VWx}qhHgfbk zHu0IstMMa%xHV|E_GMVlzo+))Bqkz8kACohwkr585AhbqG?{Ma_4R^Z6zXT8-ptg3 zdJ}Eu^(~?vk*_Tf^?doTIHsPZJ}Vgi4pEP|vqF zsQ07gsE>~o(;GiGK|Wi?`?gO#i=~AvC|EGi&%qTK9EQIFC(GG1yOjK)@=w!Q^kP{M zs1T=Ptyz=Yew2^=X(b{bd(mz?dPLm+leY*gGB#>#1c+j>*$7aID_VZae)g0dwyv&1 z8$nY9nrWVq?$coo`r6$jE+E#*p3m^dLgdr0Xy@HH4SjSaxpCsBBl}5b_mu9_`9eCL zJRlqzAeBXv^vG8<=x#E1?vYI*_8M|`^hsRoDe;kquOYGHYKcF2gErnx;savsE`g7% zY=*!?A~ndSeyh0mWooygRpfrC|M)7h0=L|I`Lrmym%NSNm2Lk= zDxG#8p4-K8Z?lmPpQfwtBd-`^_oAFbQ&y8_!!s+S0huh_fr{C}$LD{&ZwB@nt6|_w z>a~X4VTx^K{$eBV?`SStLtd8yVowVPf&;&cqv3Mw)y#Q-eGrem%w3vh-rh}19wgt( zZym*Naz@dX3KG>^TS3+nV;ti2p?NfDJ()2vE(H=`k6=h+e&kv`4n8f^k69C!E7XV? za*-hv zn_X)Lx0K>dkl9eBknu=1sJ5EeSEk!E>7ZX=5e%vmDpR zbAI{FHMG+~5}Mz3ka33ealI^&z|7$hEz7KL1jqGiZ~hS;soe22aRVL?jO(R^8}QP> zxL%ffVs_cM#5}B{Zp#Mf9QT8`g9f~=Kx1t5BIiV1H`;@yIqYFFl*o+_)7(ekm2vu# z3w1W)0oNmBY|@p1Z7AB5Rg^#^uri?^E5 zrkUe?XzHU7>{UFwd6b02zZ%Sz-U4X=d*NUZoF|C$l;Rc5NnXX%B+#4s;05eGL3PnD zX1b>yPr+7Hv%`-CIQ)2((7n}Iq4Q}c7}Jnyk~r~|tvqFcO8Bs~WVM8swbier-@d`_ zR#!w%SCcvO3WasFsje-jg_>~tnXkFM0-RBd!GyVXLi>+hqx(YY*of4iklLTeZ`EEN zGKeaVAqJJv)W=Aye~~UIj)=-=;bRz38LfT{i(?7x20^7ppydH2!Y#d6hB(Lh^C8$M z$VOh?#F%8^%^9)LC}plHw%U#Q2$5sB^D5|2uosIAU}u4XYs&$H%8~_WVg; z#%kBX_7Xoy5#wMY$Z7U?#+G+mH9RAq*4E(oAfGnYz^`8#LpMA@QnKN6d2S5d_R#yz zyD3IzsJQ?X42E`%p`9~K-?x$ZD$D%Df~}|9rB##o22h$@=iI>Lve@HS+sMAxSiI5J zBK%Z}!_Y$FT4uGUo8@mfZLGaI+*ZjQv7L7ujzoF&1eS$8LO$! zQzSOa1BEX-Il0TTpW^N(R#kF_rcP}rrPPk*{+_6sr;rBknGX-ibGXx`*%Jz{Vkzi6S-$uLa|oR0DV!dY9qDVI zLm=}mrS-KWeN@7BvEcadC(-1^VOkWEJ{G}(wTBlZwAjdtOSWwyA>$J|P@E;mrt~B0 zLET7J$MCsz`fI$2VZaB|e6){GwAjdQzKJf7yx;X~pNMo|_bK*VZUl|Ji$o!0u>A%p zqRQhWg36mo)WpP6&`gGwg=mS@fY}LvzJ2-4U_gsDlRN!2V`z~xpITl-7x~ooB4Sjb zT6Q{!*1U-Pr%)t?mLUQ;UM6elM^BUJki>2fg}K7lj_^6oAMuc82f8h$wjE4u zw0sA-oxc7@5)R?o{)niRq|mUP*i}7qagOsmo{sG#F?9ShPO7CRcan$z%8wK+_9Tam zY{$v}v*eYKq-rqEWMg6xTsxScID2}Q%)Msawy$VvJ-M$^{7$d7;&2_k^NaODMJ+Vl1jA>E9{Js9|<=jd80lEqf08 zW1c}&vkZcgTJ3DXefrkYs2AW}wKVUAzLY|XceS)!tKp{@^?XpCrx@;h>a|mhTH5mh zPW2o-0TCIB#?C?Ocae}8oB7$3Tf$N9wytt5v%Ofqgkx8~gu_95cah{AZUnJ)_BKd-Bpw)XY5j~sm&{L;{o;ujf6?&%nma}aU(tAHG;#4$u>_wOa zpWb~}@!=7tj`E08r$roaWf6yQy;j7jYevM`M&ynAY1n@9RMH0M=L%>O`KF-n066KO zSg~-tv2ikO+YiU^90HFeb(F`Fx@N?Z;Xd-OyP9j>Bmv&?&)b{p-X{MTBL7cobNOG$ z-M;dPg66Xw$@p4Ng3b`xa3bV9?M{X6gy1RI*Wy2)Jch$Yp|D|gxZUE2XS(t@AKiW}LW|8MmD>#q+F&^j-t_FiIZZt5kojIt!rK?eEqo+2-q z&|Thgm?5dy)cmbc{wcn)w#DgusvX}H&BVPzyKlm#PKQ|?yBLnwH=s_xik;4_Tb#}< z4(-|+1UO1uskrMfD>FQUJKe5QXQlI{Jg0MSt<$*=mHP_Cz0C!)I$qCksDCNU?Miey z4=7IO>y6sgRPA&&K~R37(>|D$86Neo`?#(qsggt*CLkMc#1-tke0n?XN1V<_yKq10 zbUsmwdpAaW1X%!>Y-++i*Xi6`&$0rHqz-p5eI_6GI^4mBK$yC2+z&gQJHUr@IGrz6 z;H$ur)43n@vd!syr49EYr}Nb`5Xfat=Nn)wV}$P(;(h`5!;)lxr0;FO9ja^1#ogj` zzHg;9Bjotu|As(PA};n(a6!07eejL;dX(9Rt&I@0W;^W|A&(#a)E2;OQ0&9#YcZ%& z+|M!uJ{DZNFhD$}OO?}a+TsUZkcod7eV5bubOY{oj^R8A2K00f2AJ!HgB71)a`g%v z$|MB}@uRJ&@=$r#YI-(Ro-zDoJMd9%?HZiUh7va%^gvpnu+_A1qKJ`Cq@I^ThQB*@D@47UZiF7(scoHk1S z3u(?BCAW&dc*RxTxXmJm1SGM4R2PJ+0M{0pXpu+B-|nRa7I_@mOKU80)g*EyQz2KZ zxUzBKYa&;s;j-b%$5n{Sj;k0~DX!JHDsW-tx>Aj+ra3Q7UO?oA7P=>0j*<5#(oguk zjegDUuN2S$8SLIlli9t=PG_=va~)mE?gy*sqwIdDjP7CgmNNPYyMK^KzvlN1bU-HH z4-eC1c0b%oXR`azJi3(Kk8hxlvis-tbPv1#y@h_l?kB71*X({Kl@1ug?%QcHyZ@(< z&SdwmgXmIrKkG*yW%qMkbPv0K#-I^sY zHSJGCMH}pJvAHrwenX~jXUjJjH7pItk(V0xw<+Y6g60QvSW^w4n{(wyjIR`+qP00@ zvK(a)0ABHvSD9XERY;Q^|HW?+T|ZNPG0>|TSr80<3!`UM^xo<654Sbe!~Wj)kW_^< zrlRQe0566y>~dB-ps?a%R(!RN5!CZyJ}YkH#VA&Mh817iz-Z@jY!Q8XhJ47_1cSpq z56qO`FgC&PD37tpKN_2AAj1|qa+VxwY-&KciO!xSTa0fUSI8UP)WPs?bSvadAG%|f zJj?hdbob^-+BHkgHa6EO1hyVETW%HQ<_ojsWMVuBFM{#o@=&3bo4?LOh3Qb4LR!l3 z9|u#JGNR~vcgqR%*17UJ;~_X9{Nx{V|-+i!wK6$hJnOU*sMRzVEs#UWZJ*c%>w5dR9YsxVAMa&YuD8!p zSdr`P;~+-B_4ZK>D{{Sk#5ib2r9^Kwtu~2ppA$k3&xgEFUkDkBM^g4!fK~jGxyl z1d*n5F)FljbMqbYbYl8DJnm#Q{^8^aSC4^%R%)7Gj7Ct*$?E14#jM{iB!zsT&|j9w z?-@^^+Y=4+y}RVwO(&XAM))@@WL_9bCoYwbn@&Q=GpTsnezc1-{Z|RbqSZA2P$Gwu z+rG?%IW<>2Rg9vh(o@+C%T@YsKUU-_{Z~07;3_@U&5B&5ry5w1yJF{AM$1)ts+Zoe z9P!{xD#X}MqgTi$^|Et?{HgH_JO#1!&!r5nl^a*e=Zya;R0v}2vv)&NqWt@N^fwM{uCgU*%)1l;+8pQ&=O1#BEW=x&+P;f^QZ7$5e$xgr zKdP*i@eekwtVy$Ntvo9hD_XOLdTVp%W{qZi(K;? zugHN!{$NA%kyqI=`r+Z`gxBP$1nXRL$?NhEFZpPG^SU?X5Cc}a=B2mhk#EIh`%x$J^xb7%o+g%46ARZR`$u$5G%x-@@Q; zt<4vX%Imid?Sz*5K3<~q5biA87@^X=5-z&^PDA{tZ;zmSM3N@J_I)3{%_d-28=3ug zT?rRGi#EpOYDrG6ZdQs7E7*G?6-x}UNM7oe7?O#l`S23M*95OJHY_zH_#@^e&C%Ja zxpJtg$lkPPsp0i>2!W45l6c1u3PNz$pWS(f8XTa($<=rX!|-gN-YlG>4P!0MHOmZx zNMI&l0%0R?U#u9$T4}>_!|n3$RO+|F5Hpy09tMK79JkZxu7+l>Fx(y=Q3Tiv?a(dx zy&^~0-CzgcV%oC85Szxx@-_D44aG37!43Wp-L<&E$58J_{YniJ*@McwQo|sb%Mc$Sjo}q7D3YkbGKb$(q$8(k3+Uv>chQr$r@wt1LY~&>y`qu$a1y48YijzaFdK#PEvCw9|{dkk|~mevM1odspR zf3JTlBpLFNRMGBdMS9-?K8+ge?XO5@&(f$e@R?aevvIGS$UG)b)FT`C)(Y55z({D$ zX9Bhe_!&iNg8Xu>fL}p9OQiMsBMNz{8gQ4W{}TVUxg0QC7{f5m9)+Z|0oq zI+WR($m&NZhV+xP7u~bx0{23d*(M(`|qgH8LN&LdMnrt`TsRLK>LMmS{fX^CaZypi%e1XU?!* zTLr!q<8;ux`wX#_DL@PMzDA(oGJS9oWhztZ z5Ex97OGJHM?Ki!uR$_ft=XU?xIBI%WUXN|IYMjJLV0G? z3Rf9)9|p~AB?dj{F@=l+S3QmldQBlYMfBua1oOrD=*2F$evNi4aOmxRRY>Utz#GC6Uq=ZSV>fiwBwO2_-5IDRk`vhP28{ zW@tnRp&U@8kC;%cg6Ug|^mV5sNe2atl<}rEz`9UpAap8Vp*rP9z_5fQYpPV7iuB1| zz``K|jf!-x8?X=}FjyHPeFT%};XDwgT~I)?AH>A2uAxP^r*B}RI;#l~$RN69*@NFGqu{0h5 zAECX$*#54Ewn>3#zfK|Za{-$L{5Yln8;BVAV5Ane)dM~$>fcky);x%*_y1S6_eA?# z(ciz6AtY-T5Td~lJlf0HLh)AI=*4#M5#t+zDD)-9=k25M9Ws?2hybqF_zcOzjNS`+ zo2Xx??UkfbQICL=4*EWRm5OxmBrRG8Jv>-LE7loe=ar!PtZ4ojq$qYH|6CzYuZDjJ zryFucArEz+{@bZVJX&bx097Ver-S_qAXNyJ`oTo_J zTWC}zl92Qs!9NT~#5LfLFZ)!Y-NbxafqMBwK5eKpOd?IRtI{xc@GAu%7g`J1t&pW* zG|zza=k_(Mh70qG5Og8nG9(2IKE9HFoVJM|%Y{T1xy^O5sp zYVw2)P%23kBp}B%24OhZ$Yrx>gMdeYVVR3zSf)Y-cLNsY41;&gW3X`2Fk}zxnOc2i_&W-DUO@w0fa9p- zAJO4yrI+yaXMDi3X1&uWbS>R2s1dCWDEvph?d2$Vv{dGW&oYp9rMK zUow@KiS``|8BhzjK)~NC(uetgw=lR8Ct+;1FeedC6&Z~V+5rnMj!Xo+#SKnZq>6e7 zbXsE=Ia48zbfUgXz>AP!X96x1@Oni$+zVJ}Byyu7y$*V=@k(p~BB??Yj99J~4PHTq z%+5@JP}H}e%s;5dC-QGdd6~+^w2JIfq@)5&t0SWQFN*Y#4IK!ZM-5cS?l3nvSs^pb zXkR;6s$_eRsL2Yc#|TM<#vtleh1_BXEJhTy2*muO2@tgkv!cr-aFmLry$A#r(f(B| zCW(OU+BA$hgs7YXxKY&q4FhCO=oJY4L$WArG#_jQqD>H7R-|?Y3#W=UDbjitu8(W= z(MXrs5fwINe4`wVGumTK;8!l{$0%eNv$5zfdagojd1!AF^<~%;VZf5LQXn=eq!K33 z6VK>6c=2Aq!fT@sAdr*-7CsS;{5vDt4Q^M+jjJJ$aN6kapb<9WOpSkxFUtG_7@wF( zv}c7%!7v8v=$nv8moUbr81gV;-OFQcU}g3Z4D1|m!5C2lG(f}%V;o2w*$9P?#B5W@ zOa?oIKur+93;pXOiaCmf+5!S$!|+a|Qhf&$i~Yd#G7#9c z4q_+afPXax)T@~&)~1lS2G9#1i!H`JITQWs9mJMFqIxh88i|ETCO80#wIFsMRN4i2 zujl}Q>w#LpV#KkZDN>gi9f}dgeu-4B3H8~6{(JDx1+4RjkL_dq8;Ugo{4Rm`0LI50 zj@NdJ6Met`!6yDdbt^gkl<+aadJ{dOi6yf2WXD5L(aq;s^v_CJ+L|4N;^u zB>=Z*{NiFzZ*!|3sTeBLU_&VvfhJhOHxU#md<$Tqk+@k3@xllUMS{U{MM^V6VBr&S zYZWPonc%Rf$NA3uY78J(zzE$HHK-Q@jN65IUkX@+?zoq+{_lZG^%2M6z$dy0BNCxA z?kk0?%m=J@_%qVCMzj~F3vpM#@GxL8;`jiJ5E|)&M=H|pTnwO96DWRyB27p^e?p-6 znOOfbcDXgU3xOmG@OIGvY4*dY*SA{nGJc;z z9t%RfFljtY{0#)q7qj@vk1ztJLVW~(Q^=xJ5ZDF79~82-1ohJd{0qwb0~ntKKeVq$ zL9|bZQOJ@mv=@s_0;Xk59yHLPwNF5zYlA>~LQL=OT_9mhD|FmqQnG+#54hJ)H+DaR-`$duxYh`Z$c!rqrO1Ei;(j% zpYjv%J;(=6LnBQL#{5r2%2as}1a*R7GaB;`V0;pBmNT*d^}VA0C56setOnline(ONLINE_FLAG); - switch (myDet->setReadOutFlags(flag)) { - case NORMAL_READOUT: - return string("none"); - case STORE_IN_RAM: - return string("storeinram"); - case TOT_MODE: - return string("tot"); - case CONTINOUS_RO: - return string("continous"); - case PARALLEL: - return string("parallel"); - case NONPARALLEL: - return string("nonparallel"); - case SAFE: - return string("safe"); - default: - return string("unknown"); - } - + retval = myDet->setReadOutFlags(flag); + + if(retval == NORMAL_READOUT) + return string("none"); + + if(retval & STORE_IN_RAM) + strcat(answer,"storeinram "); + if(retval & TOT_MODE) + strcat(answer,"tot "); + if(retval & CONTINOUS_RO) + strcat(answer,"continous "); + if(retval & PARALLEL) + strcat(answer,"parallel "); + if(retval & NONPARALLEL) + strcat(answer,"nonparallel "); + if(retval & SAFE) + strcat(answer,"safe "); + if(strlen(answer)) + return string(answer); + + return string("unknown"); + } else if (cmd=="extsig") { externalSignalFlag flag=GET_EXTERNAL_SIGNAL_FLAG; int is=-1; diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index 81df1d4f6..c97f7652b 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -2637,9 +2637,19 @@ int set_readout_flags(int file_des) { ret=FAIL; } + + +#if !defined(MYTHEND) && !defined(EIGERD) + sprintf(mess,"Read out flags not implemented for this detector\n"); + cprintf(RED, "%s",mess); + ret=FAIL; +#else + + #ifdef VERBOSE printf("setting readout flags to %d\n",arg); #endif + #ifdef SLS_DETECTOR_FUNCTION_LIST if (differentClients==1 && lockStatus==1 && arg!=GET_READOUT_FLAGS) { ret=FAIL; @@ -2648,30 +2658,37 @@ int set_readout_flags(int file_des) { switch(arg) { case GET_READOUT_FLAGS: #ifdef MYTHEND - case STORE_IN_RAM: case TOT_MODE: - case CONTINOUS_RO: case NORMAL_READOUT: - retval=setReadOutFlags(arg); - break; -#elif EIGERD - case PARALLEL: - case NONPARALLEL: - case SAFE: - retval=setReadOutFlags(arg); - break; #endif +#if defined(MYTHEND) || defined(EIGERD) + case STORE_IN_RAM: + case CONTINOUS_RO: +#endif +#ifdef EIGERD + case PARALLEL: + case NONPARALLEL: + case SAFE: +#endif + retval=setReadOutFlags(arg); + break; + default: sprintf(mess,"Unknown readout flag %d for this detector\n", arg); + cprintf(RED, "%s",mess); ret=FAIL; break; } } #endif + +#endif + if (ret==OK) { - if (arg!=GET_READOUT_FLAGS && arg!=retval) { + if (retval == -1) { ret=FAIL; sprintf(mess,"Could not change readout flag: should be %d but is %d\n", arg, retval); + cprintf(RED, "%s",mess); }else if (differentClients) ret=FORCE_UPDATE; }