From 3f258254602ba37405aae56d08ea1709c3fe8b07 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Fri, 27 Jun 2025 17:38:29 +0800 Subject: [PATCH] P11LOV, P11SL2/L3 for lamp bar color --- Core/Inc/sts_lamp_bar.h | 8 ++++---- LoRaWAN/App/lora_app.c | 7 ++++--- STM32CubeIDE/Release/WLE5CC_NODE_STS.bin | Bin 191728 -> 191680 bytes STM32CubeIDE/Release/WLE5CC_NODE_STS.elf | Bin 276352 -> 276404 bytes STS/Core/Src/yunhorn_sts_process.c | 14 ++++++++++---- STS/TOF/App/app_tof.c | 17 +++++++++-------- 6 files changed, 27 insertions(+), 19 deletions(-) diff --git a/Core/Inc/sts_lamp_bar.h b/Core/Inc/sts_lamp_bar.h index 1b1d990..3c30c31 100644 --- a/Core/Inc/sts_lamp_bar.h +++ b/Core/Inc/sts_lamp_bar.h @@ -90,22 +90,22 @@ enum sts_lamp_color { #define STS_FALL_NORMAL_COLOR STS_GREEN //#define STS_FALL_SUSPICIOUS_COLOR STS_YELLOW //#define STS_FALL_CONFIRMED_COLOR STS_RED -#define STS_FALL_SUSPICIOUS_COLOR (sts_color_severity_l2_l3<<4) +#define STS_FALL_SUSPICIOUS_COLOR (sts_color_severity_l2_l3>>4) #define STS_FALL_CONFIRMED_COLOR (sts_color_severity_l2_l3&0x0F) #define STS_HUMAN_MOVEMENT_MOTIONLESS_NORMAL STS_GREEN //#define STS_HUMAN_MOVEMENT_MOTIONLESS_SHORT_COLOR STS_YELLOW //#define STS_HUMAN_MOVEMENT_MOTIONLESS_LONG_COLOR STS_RED -#define STS_HUMAN_MOVEMENT_MOTIONLESS_SHORT_COLOR (sts_color_severity_l2_l3<<4) +#define STS_HUMAN_MOVEMENT_MOTIONLESS_SHORT_COLOR (sts_color_severity_l2_l3>>4) #define STS_HUMAN_MOVEMENT_MOTIONLESS_LONG_COLOR (sts_color_severity_l2_l3&0x0F) #define STS_OCCUPANCY_NORMAL_COLOR STS_GREEN //#define STS_OCCUPANCY_STAYLONGER_COLOR STS_YELLOW //NOT REALLY USED, JUST TO ALIGN FOR COLORS PATTERN //#define STS_OCCUPANCY_OVERSTAY_COLOR STS_BLUE -#define STS_OCCUPANCY_STAYLONGER_COLOR (sts_color_severity_l2_l3<<4) +#define STS_OCCUPANCY_STAYLONGER_COLOR (sts_color_severity_l2_l3>>4) #define STS_OCCUPANCY_OVERSTAY_COLOR (sts_color_severity_l2_l3&0x0F) -#define STS_COLOR_SEVERITY_L2 (sts_color_severity_l2_l3<<4) +#define STS_COLOR_SEVERITY_L2 (sts_color_severity_l2_l3>>4) #define STS_COLOR_SEVERITY_L3 (sts_color_severity_l2_l3&0x0F) #endif diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 997f09f..17ae145 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -705,7 +705,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) // APP_LOG(TS_OFF, VLEVEL_M,"\r\n EXTI_CALLBACK, Door Open: sts status color =%d, lampbar_color=%d \r\n", sts_status_color, sts_lamp_bar_color); } - //if (sts_hall1_read == prev_sts_hall1_read) return; + if (sts_hall1_read == prev_sts_hall1_read) return; prev_sts_hall1_read = sts_hall1_read; //if (last_sts_hall1_read != sts_hall1_read) // to eliminate power drop issue of PCB with long REEDSWITCH CABLES @@ -739,7 +739,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) #ifndef STS_R4 #if 1 - case BUT2_Pin: + case BUT2_Pin: // SOS BUTTON HAL_Delay(100); __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); sts_hall2_read = HALL2_STATE; @@ -786,8 +786,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) #endif #if 1 case PIR_Pin: + HAL_Delay(100); sts_pir_read = PIR_STATE; - __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); + //__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); if (sts_pir_read == 1) { if (lockLow) diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin b/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin index 1021669dba71ecd003c0f350979ab6d20ac00da1..99162e6614d100007476690884316d318d8316f3 100644 GIT binary patch delta 11683 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 delta 11703 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 P0KWpf3d@#X8QuQ^{6+1w diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf index ad7c99823c7c32bdda4c1699412ea07f5cb46f46..1267481acdd567cbe04455021396f124857d0f70 100644 GIT binary patch delta 51335 zcmb514SbE|AOG*`oU`qW$sQTAcFs0zMm8*j%*?Tw#}Gm$PZKglR?(TFD2i@%h)PA# z?;%Oj`gP8PewVIUB-#QHAcabjpl``a|2YtDzhsf5kuxMIkV15Q zB#aT}IJk4!(=A1s91z;axeQKe`=x{SZSYNS6@|%DLtDFz(6Ek@JrgU zU*B=eK8@{DoQ~jrEDTB9P3fo!8BTMUff4q9{g%_i5=5vxAuL9OmMp^m;i_R-g0^Oh?K5S zq|6bOwumM*fz*V?&;+p~$pz~>k6p871uAXjmOY}TwrtEW!h2fR2P#30@vfH6R;Y`Q zYU%$AwZwtgd#9HEKdEvM_Fk{0|BtCmmanMxUx1yiWbg~M^#6W&MGt4pr?t^L_g}SV zNXnc&_Wk)*$swgm86rDKIV&IP5z+EgeRRC!v}})5ey9&pj>|vy7%URyl=PU0;zs+< zhd*hkh@n=gwU-7cugMeA`-?^L#`J_1F*Wv`jaC0`49T`D1LUvMonpHDdwPPnOKy2* z8!=5zzB8@$mKqE4@qLXH-^mf?3RE`KbOL`VFSs*eaBPDuS2zxPS4xz-AZ5g7(gDdP zjSo;-e@$DO)t140hk#I_mAmxhu?VYhRPJJpJC`8Ewyr27= z(mefn!Qg_y0=;e2KIy=umXgEZ9B^o;#u>0Y{5e`JBTzZ;Ii{ZMVC7@vqX4=%*8dQ1k)OK1lhOJgirG`z6%@E-C5n@*eTR6^xefV*C_m6(!hZ z`}Pr)840(^K}w?hZm;fbcGn^8X;!`WS$iM57BD`@6R2#L|LWCIq{}hAo#I+azuxOa z#Ogi!P;4o_ptNOfn9JgbP^#q1ccr&Fzpuxm!afUIK(@Wqo?y+hD|KGEbDz|Hao%oC zV=#A*B!%n_Dh(JC@P4RM$dSsO)!O*96c-GZ4!i~jsiiB5Z7$397On`TxxBGYoSQ55ChMX?` z`||wea?ielT6C=qa0Mv6Y6G$Yl&SqA!{MTFJffzPt2go$s1($8a#0%wDs$w$ z{WhWA$KIVREVBFV-r@^+@7*ymr@Zaroi6)!jQK3<`bgz_Zx3)wwCy+YA9uIuISO-T zV^!Z;%r2u7vTd?$hh3S0xwEmVTWuVA+X7YZTq`BEGiKT>yK=AGzkeL&^(p<+!~}U= z{~aPp?voMQG4*q;pIThPNh3Q+=g`vC#ho#_Z7zY7k-v;&5g_l#=xC{}mw(7eY;kqJ zI&889CcFR2)&cD!cGfyv9j65;^Xt2zfEI)wkoyc65PNe!4!)&^7cyqw z9-(w^?3Uj#_tnfH%BBTKp9g{=~L*MeWClMEGffY+RP%CAVCB2Iz#Ln)h!0l!$`c1pPDrZ@gQq*{B!_)JO#nCqA-99ohB)I5$PQ2* zmd_2GD87?>X0>mzYA>dXToK>4pkVNA^6acGZQ6O&;ZZ9cIEX>;4mQat(5aH-kF%oO zAJ#haZRq%En94#kEZF<=vqY?L&WBSJifA((-8Md3i~mYvCs(p7 zF4y7+SBmBNgQDEq8VCF-tT8$H`6)#~@e#_~-oOM*vhhi-IR!Thf|YUg(q5%teRV*p zkk?n+QYBf655>%4g@hPj| ze5o#2DXyc5{E2eQ_QtBmYwg=DN_C@r*7ctIEN&kwnr6MY4n(u;g0xHvISgrx3m#TTp3BxSm;kTW;HYTc^m=ZSzI9ws|r6)B(d> z&D1XZaXro8;mTngleME%gtBR`HXzj@79lydw}rFN(x9Qv!koQjxWq=JsOxp2qatJ5_zapDWWado(&+4OPpq9BioCSC^VAt*1GvW@^{$aOJJW zJBH9K7_M||=z=|zz^%kLq+r*Ez}SXP*t26Vx`E7sl_%>ue}P~ z7i(Kl=kg}xO3vuQVCAAWJ_iNJ4bG3p*a=tWH#(q4dz%+4`)NvXqXG|M`!6=@9tyGyc1;rllE#?WN<->s`wHxT0T(&Dg4e5jL5-gRUaj)UMoIaiJ_!X6 zMZq7f?|{7`>@9HDx5uv5A?MU5V4nui%z9^TJVtzMu9PU^rS;*;j}5n@YL_$$=LoDt z1C)uiF}YhZBM)Gvh;NhK7Tx)w#%Nf~X^hTolOK%+!7P9|Z@|D-2;JQf?~2NeLj6U7 zK5U4}HD*KioCHS6>tq@^3 znG((5j*Yz~`@s_ed6XQpQQe`XwxJI6#xo7tN+Dc{KR|;qBdN=^#=$n%oa2F~MN;$Q zmZYA?F>c&fm1m3pmPS;UFH#Sze^*RLb@p#`y0mg$ttl9mRFG1rjr)hxL20W^E}WM; zZ^)Z_EzULtVFhz@J7G#%mwD=Vr^2=cLb;^R3--E{!kI(P?TRS)rXsSSUBPdv@36)P za-FX8d76Lso|-8`9f;JdA)#>7-f=?`5+Vx54T&h2sAeaj@V;T^c2OTrK^0%BO(;CK zE2ZG=iugj&>Bn7vl;^^dwh_5fe1+=%zYR{;@a*A3M+^&4o~v;bBovC2i@TD`hvv2| zY+G{C+j$+fH&=P30?S93{@nId*VA69C|qe)|H@UXv=L{k&*3{06ZZgDrdr-LH3Nn? z3nL0QW=0?A3WrppetPz-N~2v$=~iy}h^Bz6br`lI+7^2nLdQPhvs$8>5|*5 z(4sU3N}bZmQ?u{Nm-55gHtXb0IU_pWUeL0jLqQBGxtptfZkl?S99@&BCmM-F@6eM? zP#eOjPuBx#gtD_f1toM>#(Ye*lw3e_p)xpJ$^DGhN$~~0VA6jnN^*RKKJz5{2lXRd z+;OzPEcrr|BtJ1SIqGeMM`5xK!B&aB5{mCqdGE;Bu-%O|SN>k%iqsE@zsVIN;{wiB z+m#39=A+tl{I>dH1s&0hBiKoJqN7(qX@F~GafoX`Ne^`RkL27@xydh8+lveK&p~d3 z%B4b)WI-R4j@vQ&hk2#;EpEn1YrJtIgO!o;fl+ct&wEbT81{SXLscwTjT&iYvoht-B-l%iB zn&CU4o;?0qM^pCWkA%5)*Zx&$aRgw_2v>gbS}2_Zy|+9gBy#u$90`~&!znb)1EHmf z@h=s(_#JKN#4)rXXgf++8?-sRFCBd_qseKble3Gx*jF8WsmFg!j~|2+xOHATP6Qu+ zI3~ZO_Rqhhcu5X(*>Y)3xxQ&VP3w@#C*-$A&vk}2iXFXN$Go;8o6-!|O9tSoRe+L$ zD>m^sBMVSE$X&;DbcTDef}(})r~oCzi;V6U@k)ghZ$((qf&iQeEgmyPye^*_)4u)K z#!QzD=XEq@E_#DDbzkIg*{S0`D-x^GVLzwNC_BftZu4TTEy4O8YQ|~LZminZ7?cwk zPsN-ej~W|cFGLrZftr_(=d_id8T)WDRlU7bo1|@6dIsi-q*ezk@zDis3!)2cxorw* zmDEu6rR=;nAuMqT^_DHgMMlq%$KHFh^})t4b-i9+^<%wb?`_#d@v~jnmnV;l5%0>6 zjY}3U$#0KqFUHAVkLxGylY_=j70L4K@d=`}yk>k1&YX5&zmt4yd`!S-r0~3aV|*KN zS`L~J*W#P{#;O+@=+MwmrO4eUypg=HUh2?F39{JA2fC=ghADIEKWih!%ib+m?T5LB zp}UDY!<0O^cEXz@T4E)XsE+N&!-O+ z4o!|NANZRkVv-w2p{Kl#)R(Z`ryh~UqANrch8M;JAG;<+SWt~)b1g4XHBlvPuf;Wy zx_?!SPClqQ7^=p1BEB<~_9F@gHN~g6s*jgkx&Ns+TsS7>o${c^-o2S>4NiFz**Ss? z$*)ds+dD{U86?GD*(G`C0!2@)h5Cmnvuf>Ko1eaTHAo5Q(!F=z{+ZdsrPSP4Iwu`? z1s8Dc7}8O`F?oP{O+~xhX$YH^IH};LiZ=TG=7QrDt#Z#79IJ@RZMWc?iiq4v3%;xf z&z%m->4}>c9I9xkdpf`1vx*kE!SOaFNNQU!si3iHR6}wFCK<2Mc6(>n=Hil zMSMrNh5Z}sZ;6#0T_Uel4Qw~!qIcn14~}O634P!oOulh{Y|H=DwAv|pT-lYL)yz>} zWtH1ZiA(>oCJ+`vnO5^GtgX~c0~@QtKc$0DU$|Wkx8w1hTKcv+_^2B_E6JLd|^tAz(Re>ls-?v17)7PZNNTtrh?Kv z=t?0j>N3&W!<5EG+WQthY8q{d+mh^}P=_q%CA&wD!Gd(8WDnB6)Aer(GqztwYx~vu zw-FvY*0ia<$J{5~IZCp>=6xV_V4u*Gf1MU@-Q!JAP9jV&yZQG>dGma>O!R z-WyaiuR=<+Z(rkeWZ0D<@~Nq@Vz&JE)GjgiKy6i%g_C3{VOoLc5R~wC!LJ1!7Svb$ zA@_TrOTc%y5d5b+|A8p+t-RuaXQRp*>^RFFQj_HB9B(ab)ZQus` zj__V#$~1Yxv}Ey?{PeW6_IuDQ$FNZoQ6KvQ`)jcpp{AmxxpYRd_>X*X zMwh4rZ*$#YzPD9;^o}58W`gXT*-_jp=ivWC@`9QD#C7@OnK71z2KngB4sCvGcxgyP z;Xp-LBMN$B@pzZ(Ma;LM%75hMv(7Xh)i5giF03o8%24@_SvMp8!m15*juo4>UJJ$H z@vr=TQA>-o6`G8J@-y~NqkFfK2hHw@t8zBtVTb6Lib4CCc*O?V4PoD>Ec+ZBI+ZD(iuwxu1XSD z*J&$$?QTM-a;DaT@!z&lJ7;XD>iAg#u3?_u^-sBG7l`tQD*vvvIexF8RJ!3fPVF-a z-%nx-Dy^@I!>yrECoXX-FTq<~)wxFDMnE(Io>K#U#K|+(Z0a32E9PD@`dYmPXoNkg zh8<`W4oUf~E(uowgORX6hF8_vQSmV=Y3UNE4uGOs;}R`(nD>zhngD*lcR}eh#g-l9 zqhqJ~+jHWE#SJIui+x*sw*)Ei&^0MRIGQCKx@PGSGF4Ir%V7^CcXZWu&$r3e9Vz(% zGTCR=TQMt2%0u<3JDaKfj55+)p88NsKqZoCB`_4F z{GxaII;s5=lWD<}t1h8LdZ;q7#@?k8U0_7+h!I+6x~E2JAEj8a(CVXFg(^96dO;5E z*trY(;oAQGf;Lg!>h`#^7OkGdN%0A4GyG5fy($Zd_EM+1<5FVloOT6NxMKN@1%t;FR6AUi6}PPrb~>e_m@(}V z5^o1nryHZjdJ?fl>#-KrN=X@tTr_gX$Pv46Bpx|zXwF4%#-ToiNd<8=E4?^m+$(21 z+{&G@_xb#iOv?`;kJ)ypGN zUw))x)K1)1`@628>H@CM+OanM1@{9=<=BNg#D! zwLKo2ko#|n6IV*6Y+4+ETWY7aB)5oYkYcuH{_~^lQgu~}k`{07w~9;hw_9(BGI{T| zE-kmz2D(!6H_hG@_|}Q)s*UpB+lJv;gMshN5_ik*zcU4oWi)?xq7Zo{v$mHA@k~j~ zdtEK!AvyPh7z+E~j1Z5=13rpvJ-x9g#**~EGgil+n8u4QTkN6#wb<9oi$3~U6w4Dn z?uchOmVLYetI(k0K{#LzD_$I%))3_S$-6#vV^GG;ZAIRy#BOTI@h*_x$?;0#10V-j*-#OlY}I4Vf6={`)RiJts%(>e}+*`asty zN9}6eatiDyXPbfoPI{}x%Zqo#;(~dgt55#ffDl;WlJ~AYqP=`!S8VH6^@n2y4*KWJ z&0l}cPf%>uWhpVpS93Y6B&EgQbq8ZI2HiY!{8uj)e>o-27XML0{yDQ3A*bcVC9&db z`Q;L4mpyfdV@fjrIU^%{muhqI%$i?Ax(q*VNg1IO4{VzsuM|DpHm^H;za{@%GN9u! z+#6}E+FvInJ%zBx>!g@wN&lP~i}(xcGO+*snGx7WQ|)d;-Dmf+J!0zuU7zKjv$jDA zTGu@tV@atx6LzUPavfxCKCpY9w<@HLYRn3LKl2=F+*T($N|RdtflhMDYfn34rK-Ft zk1KVyIEAp!@;9j=Rj~y zhQ`J}q#`L}O-cEQ=Y_Z^PyVSj#^|D-(uMd`e*aV(@uB?1sRLr9yyEl)fjpo2P&_Y( zot-bfE?IVVv}h4~Sh9a{M6$0rB-tm(m(M*NP=Mi-FV8+dLv$|r{(KkPpmF7reH6AC zx7eOO?i)Ub*-#u~%Pkpjd5%T2F8T0hk3dfx^vnF<^zS75^}&)OOy2*?V&`k$^vhpu+CiIXMQu8+2$R{H(%y-noHEh@W; zaJgS)M-ea2sLU1Jww_sQ#${cmh> zH;};pB>Nz2C$ZIHoB9XN*|5balD#>$N3borDcLvTTi`qPPuOEyitTG`UE$~dXPb3X zD*3t2Y8AJaR5V_&h{CcjEaLru^i_Z18N1)$6WglGl0BzVvR5OlJ@!wdGV&`d_H9?t zTG;kqlI&^t4)$!bi_s$AQ>}iL4GV^+0J1Feym^~wQ`V}b_|78o%YF$HvZVzH2jObr zeUhWRY(=DqK_!*F*;>Rj$M^ntG0iGgmN`3!x5MD`i=JY1aNf@rdj_`rGG{N`#dr3? zeiF7+Y|(X%jnZ#{Jzw1zoRLu#+*7sntm!Q-ild%+cZrH%H6{|x^Gxm|&P7rB*^_bN zfygTc35lHaDjU{Uv=nOIC_D>#M%nCs;%!^NRdmViWnr13zcprdjc_Ho{#R8}?Zp4Z z)&Hw{%WGB6*Z;5T$+9_v#03$YkJv+>74|uvQG-Q{c(!cbVDW@a6qQ}e6^AXsMZZ|= zMOUzSN{5RCvAgWda99Nt{c5q7lvR%qv#6e?-XlH}!7Xvz9)|7tvi4&Hx?7L3$L)#AlxLc_Kv&^Guy527`9Y6BEREkM$w3LPU91 zJtRtnQr3UISZ5JAp7I5Vk>{ycATC=fE6TokSUe;GMq*8|(bI3CctoUmb}odok!2Sa zqTQn&)9-jSR$cmBnT~4$c__c9-=pGP(a!VBqrxM$dX_FmF@GtWQ7Fa<5$f6h7$Syx zf**&Q(6aQ$MTD?aF7ga{LUa&`o&`^c?oo+IFSOJ;^yk?d2EY9v-BF7koaov6gouO1 znJ3V-6Fps)pbir~tCon5@zr~&=#H;>OU2V7vFzqjbR99POt=x+Y#(asFt)3!Ja-p~ z*Ka$GXJU=*{58*SMPgF$J-AOTCHz+PlxM^;ksjP#$7!B5%S3w=r37EW!Fp)#vdhav zADgh1#XciCw(O9Q;K-jbb-H8jj7Mk8b@X$zpYE78&ykSOqM6j9nPbAB(J3hi^L+F& zZo5yI@ra`z3>?GfYu{ST`HLN8KfNqIwMDhU72IfSdAR!B7T-J3b>p7h_Npk`_NwKt z@jm+7&`5v3?8Cn-&8_ZIbWU8BlZKDWo$@d2TebbP@3C*w_Pd?OK0PT6o9@@JPfrD7 zzsEn=57PG2t*EVF><<_@a&##6n_)jIGiORH_M2mW*uZ!dJ-D?I5`zROI-`Tjbgzq;;3Hu_1 z9UG3@&BJiJ8KdaJXkm}NN7$z#JO?(_*vcsmHaE6quvv=j3G6S%=7g_d*ydrsdW^7N zhPDIS*VxD8Vjq?(>?fi3n9t%G7zd)p(ipJrVCs77TrsM2o^`%R z|7$j8d2G%HCHo=T$M-pWx1S@~Tg;X0XRx)OC)tN#yNvMp_XX-bSbR1)bzOC9*=8UQTND_@F z`nF2chd8Uj()lKx`jz@|(EnD6`j+Im7-U`GPMxLIkR(|o+=!I289Tt4jJtsEW1I%Q zmvKMvOvX9jBF1g}cpN2~?q9jtHM>ws&W3Ip9gs)?s*m!G+80jgGx4tND^Gr>!#)$Kt zr3uJYP1*hgE7nXWJZqAyqmkU@BF3hYI=1^>vtGah)r7d{rLD|EX38x0cZ5Qy)VvY7!z*uz-O0Atca2AU2@k7i7| zgE8rej7cwK+(zmyNlRD&87yZ^4puTIz1TCV6Pgc|+sQgn^zrQPWIc@I=&}^+`(txZ zLgQnTZZ=Z1!EN{0%0%Rfn6+0F}4+@m9w3Z;|1Tm|k=X{RGn~L#cSI24DEJ z)=Jc?DM0I93q3o#SX12VZ{e$mnZ5^o88{K1jGnof=~URQj4ACSj7dMrm~=chX!LBY za`4ok5ukScUW~~>24iwChB4`r7?ZwXu<4KVV#cKJX=1llIs2Ldw92`}m>gVTOb&2T z(Uf7*LvlpDz`q81f?l$_H5dbEGX2VSf#CsU;N0ZQPz#@bjUH=l($$tC@ zGd^V?pE2o^Mryj7T9phI>H)-LaD*}Gj!~vV(o-3$@fnl82lo&0g^%X{3S-jy-mB_J zUpL6t0#qgg#{|>C5tNwjycpB#PvDneqH#0nckn5u3mh=lF})S|C#H7>uT^!VFK~Dr zfPjx{G=3p-P1k;}a|G;lY`BS z$-!>Mq(|Z@I(*@yRe5K|q!%-$_{YImkbjG58j8nBfRKlUv(LnH+yHRKGL3K6-oCW4b z=WG^V&6~;EQJ~NaP^X|RjHz(j8IyzKj7dMum~;u}8T4h02RmcZQ=7P_Heh-+1!(;? zk1-{X&zKyn_1x@f&2>L~{~899U>JjesLee;4`}V3(R5{SX?0Gdv>$ zRJnzV4Axs~NmGE2oK#2BUx6 zMw|baMW7sKFEbM$2M_yk$Wy+$o9Pt4i18?vppjmv7T;X(+|C@5gFF2=%a8Bz<3h&M zZjsye1c{2mlLx}Uj40aBkfTkloqX<(X8j1k_8>Eu6Y zg=tUzd-?HoKdv-c8{w;;^>wh-kENBSP6=*dObPDx3|$}LiA@0( zY40s+B#-IjVBzzI1B-P07WRcqC;JVIDMOnLHb%JD2tXy1fwbC8fE+|KCcPbF()%*5 zxJ8CCm|hEg0GQtQfbwezE@TG5Sm-VS4~2m-Ywu<{W#AxV%0ST?GsC2BVN81J3%>eL zjm;5$!q4FD7kwjaXG{*W*P41KePxbd$(TaMFg*kMSa2$Iqd-NfuAWk8HL#pTpaixs zrV?#uO!_{?YK<@^J#w9yLDJhXCVe@v=a&K2*6z`_$p30T^R0~4>@X&GeP1$@n|lj? zSxhJU^>UNFe$mAYP-m4T>zfSJF1g%~*ZT3Re*6JrO7I}#Wj+~nYge$2FoTz2@CBHz z+8SN-64SRrzYOlI>y&`~W#0^kFfN0A3u1jCLNyrjif&JX@LMuKz`ZQN2Mhz~zd@e{ zew68_nI3>U6lcKqFujw1VBE)y&}83kvu}crG9Gyg`{hih46jw0>RhjZ^?n9N8Bf23 z!xKy=hnE<8IuEk;a3{Uyo5dcCDaLfhPuwDfxlDf%`aCdAutu*eWcpjsAM@4S(sE`{ z3WF8kaOU6@rk6wa_&SibGW`nlZQv7nd@8`C*L@3E$aoxGGs%9#*I*1|a!|mS8hs&S z(l@{58-F`v(zk5&(;1JW33k#uz6SY>$-#2Ql!29uN#E+n>v8`Z!T4Au8{G}mKgQI* zo!Pr%V6X!LsJW&#`-Bc#oh%zz@) zF{TnrJ4^?pr!pqJ2V>In7?VDoG3g&PvA)15ZVJ#(Q5chhO2*`1!+U0iNZ;(oyBU+c z{R7kfQC1vX(K)A|uO5r-=L$JT$XJ5y3vX?$=suFFL>o5b<18O2;D$;SroOTF27vbtEmr9seVmhPBK1Oq3w{w&cl&0j2jd~IrziRz)H6g5?_@gh z7C(N=kI$-1=_3Pbj{FRIl$sf!8rsU3>_711kWWl|(&sX!_$L^v=@F~x>lrvv=Ih`p zW3?0R_0>E3aW-SJ_kQYYANrXuM}oEVkpYTu#n0d><2+Qk@iC4j*O^Z7Gxqr=kj0qv zql_18{0HcMQP}pI3A_P40L(k(c&1YoPhw0NIKg-q;$PnHHZDI} zq%RRb&xGPaznb7#a5^}fW#AHXKnZk!jxT()K7^MU`EWNs?%~Hv+$`WK5?l&4rdmp1 zEz^nDGo}(PIpmw*YR2{OM-P`CRkNox@tA-4+PlZI06cmiO#mNZ5uy+KMrglzwy-%GFBIX zN51tnIKh}Q5P8(piAUm*NPOXAm4=~2#>eQy(ae4Z^furu7#TC?7^b`3FrdeN$s;|H z@jN)6vD%AS1mgSsIM0tC@ZBr38nAM z1P(#R5c0XtW;69x(vL8pr;LrqCe$kTgxzE9>TYM+NjG5@>u1)P>6GstjLA(Mb{L&Iuq77C;7L7?Z>6j7jfNZaO5rfbnEx@BlK1 z(chH8l}so5^NiKLd6fmI4u3Ecpad8C@n*(%Qku;M4;zex0?r4=`7R9{y&VVMuwg>YmD?sjEBJ=Ju^EL z;YJ3w8hXCb{6>J@Iv+45hsBI3!IkHH6Wq)=9|_XKy2iy!vfu3qn}8dvOCcE_qqX<2 zs4qaLM|pW`9c21@&{v}JwaV6>r98rPyembb$AEeKqo%I4_Hi?So*a_s8DYFZMy(tw z>j|b;LO%)SWx2|9vR4>eaU`H;kT>Z5sO(G58+C=&{s#`{vhG6;RyG-+H^2cs&^(?w zILh>A(fyVqK0BmImzdre@#(?m0^FZBTHA3!&wz1aI@1WyTibEb$f4F9doZRFWMA^t zM>5Vuf}_B^2FEa+;*ZzalReRz?cTz!XFZ76#>eOolUQu3o&v@zZehQg=`TWG1Lp0u zh3QFcaduWX0!s!wcTKbNHbhuHR&uOlj~{Gj5$3{f2bj_|>T?g%DTDhMe*i=J84hr8p$`Hdfo?R3m+6$C{fg=DY1jvY^#W;Er;?ZfMM!0gC%h#385pmDkxVE1@r<{@ zo_;>YXV?u)FM)mp1=0@aZf)Ay$_x&|fPRC<9b97ichFDx4SI#?=b+yNC-Oo6i&+Dd z;Z6n{D}ek8(|`skUOH;W7e3k~fc1zEM>75u2}Xe@sn*&7eLB-A!2-tLqxUTUUq?75 zK`p}2YrY9gV%&fPCWFtj1d@L9weQ6^q!kwG;B01Jz;wz`k;c^jEqKoqo?Z5faL_Np zSB(3@o_<0&k|hxOyKjb~8Q%l@HsDHTe_honeZ7i9uA2@XMT8dM-!S1AH8h6lRDu(X zsmWIUVa6wYEo0J)|1|ZN;lB_kp`nz%{yPEbD`r3ryo`4sLN%C%p^>4Yzf6Z@zmoA` z*wc?K3z+?NrmOzJYWd0K8A<>Fyh?jj`X-Rg_)pl=uQ$2!QV`XR<-wvAOJxp{|iLTd!*A7kNF%#umHg}yq%C)<;y7kmSxwSN4PAFuc04SxJ8 zW6!=B)^sJkSUv7QlIRxvl@BGvs zJU0<6PJ6^GJk*wPi=v)qG46qW0qj6J#zg34I;CI7cpNw~(yXe9h#xW$qZ&(OV?7gX z>e_nb12aH9BizH79NMEyhm>FlW6~2Dlb*zw^bE$NXEm{YMWV1NKpVD2jLE@z#^hiF zW76vwlPCh*(_e%h zjh}eaGTNx*Y^GBd<}#)%7MQFzf*GJTLNQ}u@pwDzro&WuS)PPJ zXx&t%*F#SO_tg?mZ+zXwbjr}(O|19${H6e{$Is;)jSPWzGl%VB%nXr32jgzAcYWOmh$JGV3QLD9xA9*TTqprYt(+^DEY zOegyS#^iq?W9V)vDb`GY3_3F=2StoYU(T5H6O2he&6xDOIA8zM8LM}1dN_OydNC#k zYZ;G4iNC`2HySs_^|uX7rwm+TO!3<}ef>KakE1@e-E(Lj?p56M>+^pyo{Dshk1>Xd z<9+=OO)z=EE$l6crcU{M(3joPS>FI@NP9EFid#5L>|p9t&{W1U>@)qkMh~Ww{TRk= zBwVT*&jQFG-y`N*W5&L9i?ru5Q!30tKYqrK*ZT3Ro~iS3WZ&%UNX0Wk|LepdKfN`teA{YKc;P9S&todL?735ieuX6Vr_NH`*1fiJtIw|oPn|M+p8A18J<6QFV`jMe<~Fm>V{eteYiI22mK?ip#*&`Sq zt8|`9q<@Uo%4@R6`iu0UrT~qf^W(f;W(I%0g~OkEoBB=Yr@&9aFU_@NKK?FKuSLKF z@N&|P+aTwe0hQ=PA2UJ=JOE3twnFinYT!K6$$sg%I3<>V0x=eJJq30E#XmSPw~Bs@9K)%(BM>r8#Pj=>2w9oBHamx z^$6fg*6IDt5@kZitDx;GbqAEd6{hDxr?-6364~e@*O^XDV97B35#OP*dIeBxqqWRn z3>>Zl=Tk)dqXa9NP7b_&Y#HF2K!zXp$~1NIHE{`f?geYK55b#T%=%tXiaX(CIZFio|o zh(K=<zKgskrpwp|>(8;L$+Bjdy40gbP-oKWm zmyoLPE2dM1jxzoi?CJe(Ji+5k{{cF^(=Cblt5kJ1)p}WkONc-(g5ymxX0UIQPk3|YbW77K{Lsimh z%)#{5(CN)|opqgREQ{%J&`)4C(e4Xqv&m5CO;c?u4Cu9XeRT&eFugX9-*R2f98w8a zGNuGKGba5l#-tx-O!|pzVcu*Sg9Pcld4;$%({yz6i%`dy9QMjJYls{UWjvP(1oooH zhQCz2^ABeDXf>EM%xwlNM+AB);7S%@_i$6E1dcL(8TRxdK~!r~0xL)P+HYa}4(#a# zgpaGqYZ++gzQ>HP7Y6hu!hxw8@B#6M7M+|-nyW2~7V*{3pw zzi!fM^lF6TqgBa4#+2YuKknsmF0)Q?(>q<&So*orB34n9&ZCTNv6?0QZyb7$`?)>M z*wR~){&&AISei>`JKzCC#_;c!&a()VPieewIc$tcPhw0N?94a<8N|C>o8~9d$1t7Z zuVkz~B(s_YkimAwN=&s zk54nE1VSeIW+0R?=~;}`8e>fQq$bwaEqP4=+TeN6j~Dv!YCqoR$N%wT$0Reulz~En zjZ?(cMu0wgi~ablAKNDTIxJuuk5O<5!;FsNG@o??U-2Dw(h}Vs$1UvysF*pRD%-=D za(sy~=~w*t^!>gWs$op_4UEa(<|(Q@9XGWq->wCyOa|XECI>$-COt3DOfVBAyzW=R ze5OsWK0q27?W1eW#iAOX+6%akd{1_v4X%JjRo@3U~YO^NgaenVto!@NUZoZ;|j^7I6vm zdEh)`z*t;-#q_n%>4n|e6*BFSzN1Wk9r`ga=|=oZrmkIryJ7}NI}qU)zX)EYQ%%${ zrpk0oH*4w>#Q!5ta-bSf`OT#-!5e3YrYDgperl7wehai$Q-C(s`ZA^jvKW(tY{uu2 zKn{2%!i^FhVLI6#XH5Q9BSZL-BziGd1?3pC19sIMQ-lqM0RkyPqG#Fjcy9a#OpTAR z!bzQJ7M@J|GOmVw$P9C;4Za=2lrbfh#q25mT*jmqnA}0l%LX$*JsNIiOb(8FrmjZM zibh(-$H?n>W=g&l#)*FRso-pu*IwZB>_W)^a5VHp_@Rc*2A?){w{#BzvY3Mj;0(so zzFxxA7Q)^_FsVS(Ctb8lj+1svzxM}4ck03 zK3bNHzK=2KN%MR&kg9PfNP3m}8RRi02bVly>u~w;@GV;B zs-J0Mftl9XTiB;E{kL1_^hSH6h>u08_0=O9sc_4gLGw7z>+7tytCvXeyva*ABA)j+ z@#UuX+^b&TW>B2ANB{q7WcMILJz>HsT3q6$SR729krv0)w=^hGFKSqL~%z%o~ zj`7M{BoN7TvUhlHzGRIV^dd~nSJB(0EnxE%^g+^YAGS+h`f!li-+OpQ$yT>0^pwkZ z3GQ>AW$Uf|-SiqwEyvpJOL~naXZlNGoaqmaai%{$#+m*Q8E5**FlYKnG2?Lcac&kM zt@Mm~*%~)syRV&kH;ac(3yIY*;?ik}99`Opg5&az& z9!!6|h4WVZFC)-x!V9Qs`U6gMDLEY7t_s|*qxSPH;t&TeRnO9XTNDqD1;2c|_QMR) zyMWhZ3iXL_;w%Ri?)2(HgiB#a;2!MIpPonplfeVv@~)D4nUVMja0{$ZLv;ORuro#b z`4H(_!DBCJuLC4L1g1Y%F;vq09S5(%k6H6{zU*-08dtRT#-nhHMN(i8fb$1B9+3l! zQ;+F~EvZ-OD1-k3JD)Z)@L%u={QW&TNe#mflK-ao$N<)8Y5@Y{ z@%HNo(ZuoKdMrzO=(_t(1SF>k`w~517~8@l!(8;RJB3@qfXuJ#V&Q6?m2I zfZ~U=M=xKiy*_|A2HZ-2g*w$pA{bA1tM@}l?+@NMO`?nYZnZ=+5bz`GwTr={pOWmj z(5dRrgQs-F9|+RMFA^^TQ-XWI#Ncl3$P$KvmYt!!F6|vf*Uljjd@VfQddrOG(!8y3xN4Knq9|uoO zHHYm+@D7V)e+KER1|K6}_6Q6+y-kmU_u|@+F%kU&9)%;iF|2NYM-)l+JN5WM9Wm44 z@}4m@$AEKMYv;q1fu7)rtbp0zOZX!-l)gk&G!g;ySAcC`s=|Emp>OcRNIgSOg2%q0 zbsBQ`68Ivkp*O+hj6Vbm3^QDVR||L$+{P){ckBMX2jj4=-Eaw&0;O{Z_@b>oS7Vs` z0t-urQEh}0A42%e0&-{36pwq(gpD=f0V51fN}qm1OZPhz}&6pa25Cv#<|hy-U7#N*2gg%7K6Luw8#R7bhP^yxb!{kcaoIgPv9;d z$^M?6fuF&rz=r+b;LqI{CX{2U@}Oia^)Zpq(T%tzm=8lI_(OCuV`8}r{5`877nuGq z6a1;*}^YC{f+!I#k~jV3z+K86Ptjd|cA z_+`v&G>pmKh6!ZQOZa`d-bCTx$1sx`eaPJb0e|5P+HjBtUW{HIqC3b0i&kcvPXd3> z5?Bo0k2Rh#&d1;0QQ5N_$*@ zN^q6ff<>cVg|*;xwDEe~-qr;Z36^MA)C8MLpA1G5be7b6+Y~<>dJ9ZEA-cT-oNv{B z-5Vz1*S!i3XHszlL#bwBbSUA}k={^$Z;a zpTyzQ7>1X?qmbdJbp0xL%29Ko3B>q|Lz^2l&<=bP{sUpJ9{;-_fL|OLJJ|fx}|711#0h0&qPh7NY>qgLmNIV4K*W$duXp$0e*mTLhPw$kcz-!t|_J!00NbqOy zWS3+gqZgB67?Dy0nVw$uX~T^0W%SBi5(mk zf>+?+WMpUs_}XXYsCX4T7NbJ#6R4qg!F#c4?xFkp9Q*~2|JgeK2!0fdb>Zf@!#IGBcjHQUWz`~>)G9FC2N zW;M7)lGy|sz_b4iT^|MSf(6FC;qOcEf|=$D>m1lRK-llrGf>kV3L`H*NNI+B%)!|ADqKiwcw>}J&*_9_N?~a1G0Yvyb*mSlQMuNTh;^P zZ^wP+;nf3!3uwbfsYEc?0^W_6L(#-SOR{&tKeAr_Z*cFY(dK#${0KJwb|fuoFN3>G z(*7h8WuO|Ih8l^~Yaqy-?mMhngU8~;!J!)@gD;{@jhQbKybr_fxSpXg;HNj4H8ul` zKg@04uE$>reuHIL2DibI&S)a{dkA97f*0`l12v{*odp!tM(JU}`Py`k|&GY|P!6$M4 zKU6Q_9x$H={tb@B+3y%#KLy_Vfq69i8$9(n%>C*p!})($Pb{mun)5&>@K_9+k-CGs zz&t}a;4@gqWAv%RZanxLW;WyKHwU~3#}4CQv<^JuM}0kk0)7N8G^TntCYm?VdBPsn zF1t|;d<%mcLospa^S~u=n@C~bq9^zdcq|(=Eik3E!7vWh^+a$wn#gG5KEzmI8B^~l z@HU(mP=?jx|6&9aH9snMRn;?+Y6NfSwp1~Tgvu-~a`nla^ z8&3v@;&^X^PQ!K@I1ioB;D^9;dDo8qN4-#5fq*rv1Rih^o@JY)J9r%&hE8Nm#h-z{ zW%j4RvFI~K4cr8a#k@HLiPXc{#GyTRRY=0YW+41Np#1?L4uC;J`z<{Emlwq{=g{t*+=5S^p@U~0w! zW(hG8Oa#+gJEOr=7Rd zSkkwHquH9U1UwIY#OTxqz%Qdy8|i%oZvQoo|HpL)R}ioiRc4Iizrju?{sOt)W)W!o z70t|pNoO!06$8Ngac~OJ{S60~;zfe%b)E!n-(9Hh$e|2B4nE^9Ft6dr2#92>)E!`c zF!}_15fe+M?(j?SAe<@TORa(5u(JXeqm3pC>gRi2&=MSs%Wzq`eMhjHujzUsU|52% zf1(@YfJfl)YV_(c#5j>K5|{~2!$l{fNgf098hHu4^eem?PxrSSd;y2w2Z_-qO8epX ze+_M7RN22^@HUQiMv2aY_oL1KPgmyxUE`Gn;Q!`Pc?bzYsYe8@AeCr>7>}UQC|Xfb zDQN^D9;t+S#KINCV;U`^8mX!>Or=jjsvenE*Pu+(Qlk=OmTF5gZKm20owTf(@7%jj z&QWWre)~WF`OjmYz4zJYzxT#S1vg;+NYII{6GNe z*lys{16hAlJ~08sDhjM4#L}zaCAh4anX^*31UnER5BLZ^o9F~A7rq3ChMHXP_i!NF zb=`rcgP3#dM4Xh5bR!7)70V|*7^oQUrhAYES57mQaSlA33iODrfw#S3cDpaZH?1IZ zA8hyd6dZ_m)ON#Ng&@fav97~m)&rbGVmRhFTUs0j+Z9H_>es>bGK`1AdwX9qQByJo z_UHZ{j(3VOVC#Oq-3@_l+gHI`Ez`OSuHk^9t>dkr0=6n}K7kV~Z+H!^!%*>$M<*H$ z#uQsR(+1v5gymfY`2TJQVyzKKfb9pQz-Ni!ilo9huz#r84X=RtR>=nE@+wTnJ%3bY z^=){gmEiagcIgpT`TuGJcj&S1VJ)1>I@WXCcnC^EP`X&@2+O85tbW^DJwv70qTuVq z^`l`m?hZkz`BEOW!pC+2*LITNP#jq6kDALD_i{m+!0f%E2xAE ziD*7{c^`NMo^J)MH{mXXSb7<|hT{FKcp?lIJHY;*9(6#FZ}oT}+=skfH)&8BT*n!X zUY2=q$N-boDuB~QU}~j7+u&mxjH%|=r=7Y}VtD8hPSuRkb~gzAK01D0`_ zSl+S%!)6wfT7QSqG$AR#KN@Lk3 z!ggLT8$QY@n76)QXEt1dt=Gq(RP33V5CV=5WbOvr4+bml^W$QePj~?(hgV0^daA z9;dG-w{2M8ZJ3&$V#vAnzx)l#=d(cd!*ZEDtyekBV_Mgyo;ZQ9dR>xeC{@ z*$tKQ?%xm;pmf@@1wYEN;NbD56lf3US?)C+j-GB#y@tX0TDKFNBYC zUE6^d;MUO%4RAYK5rm0zP(6ARE+Ofpwe}DkOX_uzRCorqhwy8-e1h2--G+A)#_MI* zVg#o7ug0##z+vljDi;6WAAw!rNI27SM!B%(U7yh|kJ7DxO9@J~QoRbV#}MfTAAx7F zamkeiSHU$0Sp{Ng+fcBORT8SMEC2s91!+R#M8eJn%N7e4-= zd8s4`{^~K4)S3n#dCTM(7sJ)~64e0D{(l{UJPbuwY4Il5-n(swH?p(oA=lr6Gtrp{ z;lpql+jV`t8qVr~Wt1M@f-4>|^*0}dq2izuvD>q(S|cdOQ0QgX8~zVLrQQuc42QgD z3`Z*br8Q!ia4ostsnVd;aQG4L50NRIdKtE-ct7kaRU^v!R|Wo#Ad3Wnnp3sTFThng zM?;FH1}=#(Su(Yc#%45F&em{jlyS$=u>HQhHD6XBjr>1t^}9$b#nH5Oh8C%wb| zf3^rVBdB9e_6YBU2jEV%P8@5zRA&HRkKf^^!G9BE0Unl z^>u`!&anUQAq8R)Y{C$!9;hMf4|l|nOcWjo4`+@wPl9cwngcJh-W6K~M{^FSZT~K~ zmQ1O>e=l6^X3lg2K0;u>`E(jC-0OJ0@j*4{3S5dM)Fbc{+!$}Dra*Z^{}diTNR}-P zZq$u^ML$d}JyQ2K;d(nO&)5QXS75m!<%S*za!?YzpYI2!SrN?$_#At?04YBeKHAnC zz2?CFz0BeDGI$L`K2pkWg)cDT+LV{4u>S7EnBD9-3LIzm8!9){!2}r%Z#p#}!)}<& zrJmD=;Nwj&wZ7gS4pY}7O@uTSuE5{-llo@C@3Ly{7hW`m^;eJk4H7{S1+vNeDd(Z= zz*hJ&-Y-I~?}wWbA7~x<1TMX3yx(_l0p3nG(C>-6b)*G+hgGFbc^fx^QZ}ESb&tRA z3fJ7Hcc(tiV0gMU1!-^~nbKrw&~(^V!iDf=Yxny+9FDtHI-+!7E1Vw9h>4wXmm%oM z2uzj&r{L}HdVfh&-Eb8SB~|LRjK0oI*nVK6v5xaSO8Sc2-wt*~nCy8J+X!gB8_!TyD$Vk+nIu`ubu1F+r0K5%AVSHJ=pvSDy{^8ZQ))JA0-e3=lfh1{P7 zm+^jp*7{tS?YsDjU}qiNkr>gl3Y7mZL7-kf?&@iwuTv4|IIXy0xrc+Dcerjh=olPs zRrn9MI@?4{b-yd$WE}3DRff6n=s+YK&XncC9{=AL!L!yrAS~+c2c~d6iV9Q%l}=2B zlQ6}4nXZKYZ25v6@E#i2QabQ9Tu)FMBln+#YjMv^srUT97Qx_QCS%d^N#@9!<2ZP| zW!sbCI}EY5oKL}FD~;Va8i~&IFe9>%>+vKkbOWA;YY0-4)&5)cXeWXk0t_`IiVwhB zD~%!f9A0gW&=ok09_VFt3(g|~N|gIU=-Tc{=7q%wn71Sv4yEGYC*!ai+W$X-z(vB~ zfK)IBwr>{(d+H`H-C&%i0z1>Jzfzbn5Ee%+dq-Eb^D)+2Bj9?Vg!`@izQY6LT^ z7T3Xf#Q6cD^*(6~sRWH`gqp*Flli)Fxqd%jZkZ8(CRA#e!+hkoEhcqu!j{&N3ZxDrF9 zMnH|w3OFRx1T-7rD-AC=1UXw^m)p|X_YjP-UX!haXN*G$nPgSrzu;P&M-zF#&u}iu z<`-e*tm@(TPt6;WUp!!ERvSBwCfu!4En)X}e4kL3Y_;Pci-Bn?il zFhS@X_!!PARLU2@Nk`4@_YF9cWjb1}vrTgfH<%#w#01uV`O_T1U`tgGzoCFX%Vf6P zP_G!nqldgDvC{_ZfHJ+R!RmZ&8>Tl=%J+dQI7OQ(JPfY1g4S`corIb;k@XjgKi68i zhyuhC;{Su374ZD+D5d0VUWAj-YCQ$J;gC*dYjyx0(Zv-|B@H+YXLdDbOjR&{l#0*+ zm-DR~L3)ret@ZFB&U(jEK#fSVbhI8*8zI~iw(|o6;GdQ`0oUYuDr}$gO;*?cf_s)# zu>{UvXS}QXIRrzk&E%`_*UQZio`g#?yx#?^8uU*%hZB*9<$<^0nkl9OK2P7RWZ`g# z6)`;sZ!@dR?L2{?f*vlH3NzueM7iCB=ffq|PNxuV9A?~U5j=`xwrnZC8y-$jd#~_* zxY|6>`3z29s&mEo|7!>?KWW11-&6&bJ8hG3caEql{3G$gH5t+&a5Smbw(`KSa2U=^ zo7%as3#C@8OpV|QxWTk5|Gx>r*=9~d)@u)(&t^1{8L^`@ER13H_OOHVl7%5)BepCe)Mg_M5+cA;~P_5MEx!A2`d zv=$E8V%}Cyz`vig{Qt{b&p7P_&<;-n_rPV5u7)W1L)aejb8x;NF=3Fm{8ji+Pjtd9 z72H8!znO$Nm*?F*9O&cu*Cs88($)71T(r1p~f^WZF;SDf%l zc*YF!|5{65L-4#6VjY0(9-M${nSy7ef=lrE3uf81lWGLdR z_*}9x+S)BofTP(v&Xw!)4~Bf|+aWMKcW%~#jCs$_%gD~0Jv%mIZdT^h2V)L)zu-F| zy?AY$Uw@w)xy2{q{MrYq4-a%*;c|+KYvcSn_^YojgBpK z^~ICp{UUv;YKm7Ynfi2SRekY3WcR2~j$W!icro5@h$|}eq#8I5!~@jFVpZTw%*tP1 e{^~#dKjrP8;-o%)o$fvMke_o-%lX$O|NnnqXomg( delta 51337 zcmb514SbE|AOG*`oU`qWVULW_&e?{|CYxs=!yIGeIa8EnGDW7SDLShZ6-754qS7z* zn<8V@2+=S7dZMf-iXVzbs9V&|9?$>ty&rae&w2U(U$6i1x}E!deZJTCdc3dex*yKH zU4Mob{~5k2HgxbT$=*|vr0J`ji37ubw@9=FAwUY3BthSjmHu-e+Y9QZR++ z`dAnv%%SXf>X}wzupAWL-?r) zPe%;*CKN;!^mDa3JH*x3)mj-O&vo<@31$CwOc3I6xz5=O31uXV4iovZ`__5G4mQ|# zNXm%1h-~W`vE|4mF)>&vuA{I)bz#}T%1`yQ->+_r;>)muqw9k4|FVW4{9jOKb6N4- zMefnfH)vl&b4Rdpxj{;ZaD`)US3|hNS~|^ZyBw^X-ES`sQR2PfJLV}i$-X~0=e5~G zl*}Qo<&FBQwtKt05G7HbpPndu^4jzf5p%qb9hT(i1M?JN6G_3!dHK)u`C`4Cmyw4e ze46oCo7~zn-sP*L^(Vbj`q$T+NwHb)?Tl7N%j3Ft6?e++?(;>1e69OJ@v1zlM||5A z-ei|Z2zQ1k%e*3C%#Gr_G0LjU5T#gtvqy)R9N(B5S#87?3PbsqSzirS2FsN_qEh=n zk%o-9VT)=~6G=_=g(r$F$u3y;K61&L6|5x4t$N1fwee*d;eD)Yf|XXj1Xn9(Yt+Su zb@cy*I^tmLeNadLpH?{pd+*lK|HoA(%QsZ}BVea11^j9q{r{Q#Y)@z0f9hg)?7wKw zl#~Z|+xHh(C5MzQWs2+&8sNG{h!IPD@F&@>4^Iazg&K=WvlGr}m1A+U>LN zc=*G{syJ$uI(vDL@{T;E*C4S(Uf(ORMPjXehp+kp z$_-NDKc=+WH~Ok4H%iJ5udn*w^;!v*sfxXkNH`@&h;l{#x_5_}XFie+6rp4S-hcg= z(meZd;qb!Y0=;d@KIy>JR+7Wuap3T9jWc2S^~Y$n%wXm7k1_OQhbk4wMZSZ>OLu<>E6s8L7*!6(>|%8icUx5>OTECJnPGF z1-Trq5M^6U(9o+px5Z_EVh@OpA<9?s=)S!=F0Bc2Ny&d#_Dm42P_%?pKSn9dDo(V^ z_L4C-G80?MAxfJ3@4h|S?yE=IGpu^=v-Uf3DJVC@6RecV*ZX!B1Le4WPI0YlV87KO zYR&F_D7KVPSl%ip!ewzpDL(n!ZM|Bb-*J#J5rL=IkbYL4Cq?bQiYI9jiTDYQ=D0zMVcsGS2 z??b}N<$}Z;(olJNl=7u7B1a^(FO-xIyirPQeaq}9rCWW=96DOsL=8nL1Jv*R7sE3Vwm%oeS(z%?rA#R|O3A_);j5NwGXL4#W8ILj6QzHj zo7Y_KGhkSYK6OE^ASJUdC@V+Rmwbr`D;iBVsa%~q^KjbS|DXQz@qBaax9+CG9 z+<;xDqmru@Kyg%6Qa_uDt%jH!vXfX{O90AXQr<&GG;G{ zQu_P47j({fZOF(KQ$y?w2|K$5*6}9eMd)-@}9hRNUy|c z-m~+9l&KArK83E`7rtN0k}~b(&0NA|K?SDCQA3@b->6S4_-S^fwf@*ov&UQNkH1!6 z&mMB4*z(%+Q00gE;1RZLkr1k6$#)N(me{X80-k!;OAh;f8UQc_A-7}HhB)aB$_`Q< zmwz65xA;Nslhv`s>OB}PazsMA!ouM#iK&MKVw`aw; z%j=v4Hgx=c7|OykE!eBwn}ik4sYptxMNV9iCDmGq8bOR!HO;ayX*+|I?|i7ggktO+ z@zJ1X1JU3UqHJ8!O&&Tds_h(f+k|W_{u{n7t`t{% zj>QqF?3U*Zi*axB4gO15<3vF#_D@MmK3YKu>2M@4^=~^FAjTDr2amdk)^ygXpUaK zHdKwZ&6HcbHrLo4QbM$zY&I&ZFf)RxdvC<(h#VXj7yu)c0Y1^GRnD!2G*1%u#OxKS zyx5prl;O$^RnF8|5yeq=wo0o&y%~lUD>c|`0X({nlKVD}qu`0qV|Kxhl{d$dkk4Q``>^N%1<1==IDg*09vb~bVxa?YI zQ=>lK7@yNF`(%-XPI+g&aP8jH9$k!by0TG9YKP2a)V9ls&2C%p){wpjoQS=nHU^;! zYU4`N_qR&?PgQWn@0Fp7z21gw{C1S;>hVV;XK6v*_3Pm-Ne;`2R0Ysi`o|X zs$0}hb%!D&>GFfweOg%630iVyBID@&*(nz5$MR3v1Kj5uTBvIYYtHw`!tdm|NZ232 zCX&Y}k|pebCC93_;WztVLHK5DA?2;$`k|VZIqeE;U7}C4D-hk=O^+*}4jAETrgq_q z1{%R5m9H@;YqM08^7bC>fK(5$D9N$A9h`-ihm3L-jo1^M6IT$F8dQk^xG)ma=k^gX zA^DBPdqS}|`+CHnsF4jFkmxilo+DiC)gb`#Ibl_O)K>i3CsQEAD! zQ3X#2@}NE@*Nn^<{8Rm1Inr9{u9!#`Pys9Ju{YDwX;O~#Dut)JB9+hUCzw_XDdgk& zP)u5(%A@jwIUPdZ2PK1M$g6Xl?pNyv=G>kwtx0f=xlubmQaR!4pEH2*QD48D+rV9P z{R>~8oW4vy=f>gDplTu5hy@TXh8ywok-;|p98wX+q_iSPeaPfsK82We_@MyT-bYJn}jW+ zmt>bqN2NuquaxXNdQ0{rw@LOGe7BIVj!JPKs_X9XRR>|wU+f%&0cIb#vAV%WV{w1* zE|vcV7d!iax2k*!MEjh_l$qw;Z|r0i`-M!~~T@FyEO zVXqi_i`)$zv8#2+M;a2bPY2LL4bGed9Pu4;q$H6bt%+2AZoCCmyVNI~W3UztQfAb} zQahk=gb~Ce~-o4 zwlD&!P=3+Jg4Xq^MfoFt-WgSRv?{u=eW9ZIYvY@q<8+;xuKE0L?X*#jLZO5;CKkCj z?74GfVq#R`ogI#-EXp1I^G@owsi@XJ>Jp27-kDmsr7EFFboqYgpOqtFN!#cg zDWR%LxJGB+F&gb&J3J@3@YM9wqMT78^~}zc%8@zkirST(@g}dv_SW-WsnGHP20VMZ z>lv?99I3Qzc=e*yEv?7-=?fRF(hv;QgI$?w2{+ab8ktfQRkVIc?19cGAC+f-nz_^> ztKzdusog6rAJ9QxUEe#W_n3A?a3w9n)^117k>oyndg_SOoMuH9#TP7f$*8b{Y%o$AP0NTZ)JJW{!9FRhHa6ke!$B}Q_5fj;sQ`UCYFizL4=_STp(U<}6OFl;x_ zCBpIjnS5kyhlv0BY_5Vm!WFI0eD!kO*!Z9;HFjmO96zpY=hHQ3s%YXeCaMeYM3You zd5~*)X_#wpSx@xqgYv!Oa>Qo&{c&wuC3>ZfEw05&E4}e!LzVmF@5l8Q56i8_#|-Q0 zE2+BG^=?%%hUrx=2z#q1guM-NLX%@X{04)=%cX>NIdP+wm(od8q%yjuE&Tsg@4&=g zfLf22XOHhNdqC|2E*nNLUv<1Mu|V`loE{1*XMX4>USTC>E$Q-mVHLmS;gt?aw2?-|(UJtypI@%=frZ!mox!FOT#)X}L$uars&M=nX}5w0mYIO&J?PwF#Kmlkxc zS8IzCS9*jque{qMX2~6=I&q0@_|)g!(v!k|0;xWUZ56iB;D@kL zPJ&b1IDDHQwWo|ZYD)>K{IqEP$n^d+)I}B9N(=W}7Ny_z-OkW1-V;L?QFv(T^%I{I zjY^5H9QwN@Y8D3hr@fB!SFp`g2mHL8wiq%ai{e6&<0uR2ZF+8wf}z9ikJIM#3?$bstUm9aUesy;26n7XSnc+tDp(ygJX+vU%v zIs4)2U9gmJey8**o$(LW8szo}<@q}Mt<6uIxfrYjWx7U<89(XnJn6QaSJRRYyoxI# zeMe@<&U*&CebvqDJEQAK&Iskc`V?1Ewml(2nNXiF(vC63$ZL;19dc$M=8UANg`ZZn z)Au(P?yqW-bE@#8s+gSi^DC;NbEeMURTY_&56k?djq^XKYNe-lYJN#o%bd^zn-U_m zE1aqh)>H>M9dWq;BZ)c;EyVYJw8{c}|B3HJx3GVO{hy-bpYCbbwRx?SbZ_l)Z%3C< z24is?jD@L`nWJ~f-)md%5IxWD?3LBb(NG;CJMWDj{e5k4Vt>rA^JSz4ue`V8nAd85-5HkJ=4etgB`x}B zF0_{EAxWL|`rCl3pq4F(*%8W$I_F5Ii^k-6-b9=q#gFn;7x@yGO9>lx(!oZ{`UqUX z5!3JO{|a*O69y5=O$qj?Qx=x*E)8;pxu{)Yk*nrj+WR^?QVI6j6t^YC6R^sy9pxU`rQj)!7rPq;Z#|?!uc^$+IxgoD>&^=JY zM+xZx>!D>^Q%n`dfMBeam7#ZM5SoIjc6= zm6l-NB6&qlgmOVnnbEa*-@4#+_AQZpBb0e^-i#FSf&Ai(jE-NRSx#f4CZZ9{hy7Jp zT~JfeSuFM70rI&SePV`tU(h?l!!-%6*e%bYGt7{?=C^5{;e8S(4B<{2nr%$}y^i+Y zeBH8h&3)MkxFQmv#Ma!acALiPx(4~1{E=d%+;--em~XwkVGz3|LOJN|p&Ps{FPS+= ztd{rBOc5vKs+nD5I(VDw4i|V^C&X?ELDDnjl>0l2`{i-?|A@Tk{(-l68?n-J&}z@B zw6fv|O6=#_kaHWxrf{X1Pd;{kr?&qzzA`eZXs9BrQHA}m9K6l-GP-LxuF^%#I@x?$ z?R*A)zmSy`;Dx?~(|*Rg*BUA&V#dUl^l z*Pasg=2@R!wnnWR^6d9CFb>4!_;BT&25aKm^Bb%8)Qbei44boWwpDqep^tj`#i~5o z&`Zr#CUPY?(_OG{yuXUhcW#BZpc{8=ml8UmSCQr1hB1o8 z9-qC`8(d6hP*x?YAuhYST8cq($^*j&4`>KcFZfuMHn?G=*+e!puTsmjEE_qdvl1%9 zNom%b!2cRn*9TKhW9P@@e!D^pAb$A0J_JfZgSml5piA zpXH6l>Z|g=2iwGbSs#^i%gkvrH_mK-f81P2PH=_e6oG1cpFHouxDg-J2Vs5RZsuJx z-X}*{oX(O&SbUD5=60$vV=FW8P*J*vF1I!-=5C*ECCred-eq zN%^Nf8Q1ngkuY`8wRLthM%;25!GqO9Vnv;C;g!0_USxuXgX>rr5nty@wHf@IR}Xs}{jl$6IC(swjdPmL+jLGtW} z;(}~Tg}syf{6mT2qq1!eWeBlUJ~OX_SSUBli|aV6*53678hcF6m@!&&-%~4fj8Uvu zvh`Qz$8cqmJg{&CuGudu9M~lgjJNW!`VtA;3ndt{w*!WCO>M;wZ=>N%N| zkf>I8t$e+3?r>VD-GNNxV!H?1Y;12}qXzgB-)m5AMLl16Ry|t@SKh0MMJiI4`lC`( zn-T2`sc8G;f6pK8UR>jF-Ke_dSz)JBG>RG5J~8Q5aMw%KLvz(w3lVFw9;>)cO3qZ? zE}l5@jCbtn*2^(^6;2pEX2coqs85m$LoP21`EaLO!o-m)DIvB)*FtQW*AH2(mk(KI zWYO}r$DS7ph7PlS7q%#DM||xwZm&qsOcvLoMO9_g@(nxRzHGNjsk;x{J*4dK?ehkl zieA2X=jO|Ho0PWuK>m=;JDVl$s=NM|KvnI=waf^Nh!#gLR94#>*RY;<^!i>MOfNrU z-F10rt6NX4_lBffb?W?ck0NVo>l32K&pUe*N^%!;p9q(mI)9y)q_7j6aQWSuns7p0 zojfz<#`gTrtDJPm7mCExLWdf`f;(fhb_rL`?tXR9?qTPCYKx)Jni`}!#&9UN$@#8I zN<eX@_H`yVjsnI7L2N=6vGcHqp22OSe@7RUuyAvdUsLWYM#a*&@PT z6!z$sV7D4u1fJd~6EF0!1f56JsbvFKY`2K~va2t}TZJOGcx6Lq*9My_c28|}u)O1y z4PrytXt|X|9G9o9ogm&X+p)HTrPapTAXj3+hJw38E+4P0UMrvWJSL{dlh(zH5%R)y zm95U=-YMxnhg^VuQl7NFOpGfFeXXMqSLALR;>D@5F&iEW!ZQ({Z%S#=yitlP8S>Bf zwzDq9cH zy;JP1b~b(*7m@n+N!wX3#_-D0m{#Gi@Kq0Ml#=%x^;U<Xi`PP8VK+k_yt7TK$*`lGZ3qcE?yVjx&)V6c#bDU=FZd}a3|9T+ z)jRu(4)T$m9on>P_%v?luzyZo`|a0)M8#%(Dm4!IvdW??wZ+x?gK?R|uAMyko42}3 z?pNk)@q-%j&&fRqIV#U8>mWXnpDlBCEv^4Fu58FZCuM}cr`nu3x$?KLu6G=@q>fQa zhqfz7P>LUJH@ydZzb1cQHn{U5-16{M@2{7VpGMfj^-^53zDQ9$xNj@h!sk7Hm*MzLXc1C$^|iL#C)9JLGrDyNY%4 z_vIa9meqy0$_nm-+c0a{<)>R6gX1M~iw}E5%s`ApJ-OWoy;~mlVGoPr7x}plZ=tVu zKfFtzA}fZAGxCUvRPklm!io?fhRI8IugBGhHhWSde!;=;Yr%$Kaa?lr-S4gbNuIDL zMSLbN+0zDBGuG~T3=api_~>D3%wVI4zLnliS2IviND9_@r$9PZLCouAfTwV#XG*^(m$mR-w+{RR&+%XVDs zY!esCPF|T{5v65a|NPd5)^E7p4Nu2(z0p~WmnYrGK^we<|L2umz0t-BImkN;|IhVS zp&lpI;L)yiW%Fx)748dHBzw?R$=(fH*FPltBy1P3HUCqx&&T!_wr+}KkHhv1wr8*5 z)DYhh`0n}_?6IxHb`skl`1=3Z9=j%$eP3_2iq>U6`c7L!NkzFuydTtS{dJr{{tlnm z)}NE?Q*KE1P;9-he*%@UuF7IBKabYJcI2#NAB^v|p0#!{L9Fv!Qokw&hQd=2Syp&f zw-jwFf?J7iEMi^7@dzPXT99xMt`^)SInGrqj23aIq>9yTL|k)xZ%Ys}tYUXXL?`if z1bmkF5fegJ{c5onVp~@c(HHmTodwv>#Wo#VY`xDX{T|%swe_Kynbo0vR9nxIe&UQc z<(YPys0vkMBGFZz(f!5GF_eDxG%TwT`PpGYA}0kE0|$s!Ld_e6XF)Hlm@-hjZ3~J8 zpQsQ+#2{;2UafE?yZ)$tzs8CGOKSe8e$8uDPBr{d{bE3V~h}lAnsCa$0NVJG)6`wpPMhhW%TFn(PVvDEaT#+jJ zd&bQb!$p~A{ai6cxIEYAif4t@v*;mFE-qGdnZHDd(3?OK9;Zg?8izzmd4X1N3o~tqvGEp&2#)w z;St9?b00%7PghJT5|f3<^lV#%h?$<6MR1c@(eZJt#x1r-J-0m}I*Ey%yeCADn2AU) zyxcnK*V*fazx@E+CyO0E(X-_V5f6(mpFr21=;^Q+bvV(pXtCIiuaqUC2fn5)5zmN; z73Y?q>xg?Ru04s+W>-*C*RjRE;JLL}ywTE*CtZy#?03&k#bRpcNL*l(5`V9L+%xDY z(JM4n$GbgCo)R5JwC8Png$g}1qoVRD(cdPbD_T4!I=6C9D$Jkv*h7x|*^ey9duYbY zfgST5Gv=l_Tyy5ld)P6l&`~fmFW;eswrD1`Xy%wQY(i?Pqhr2CcZ^{$hivD}d(1J= zk)g>fBwY)6c;{K1QMy)?+G0B4nsYL?LR_2gg70(a_}!K* zd`(m=e9dw_*H8Z*8tFe*EV*uJZgpQk*T$tn>5j=c_x^=_tG1uv!@f=1?;eJFq^E~r z)1xi+=}BSi_w0oI5N*F#5A26xfAH9`6Ed;i4EtF_M%+6Z`^~XGdg%CxcVRzF-Om{| z3;Qi3sSAXh^aX&HBn+OQ?zf`-J0_$*g>XEPEZsG1{1~q%quSEP{rYfW&vOa;`fM!P z@x5c5us@5i(|6z&^k`upjAQWX1e|1z7xwuGp8}gue4nE@*j~oA8a6Ajy@>r~*fQX2 z8nz|a51l0J*P!jec5))F)#H0wj<8>VK6-{|W}h$v2_o?Mifh%DGeR7!sI0O0g4S5) zh=JvEt@A`L>jRh|W=r-Ad{^Ro3%)PoyVrwwBzlfyzl5#VT**ES+cku{@%^SJ!eY&7 zzw(4+AB}AawrxM-Q9OL+{v_Ey1Fzl@>se*7+MMf8;kGfvBr@@Nzt1B?DdFETKQJzej)gGjP zgNfS&or3W{p4m2QXA$XHZ9^PK#SWWwyT#r2VGLIIShWYqrSlgpI#Z{?2ZtMdS+&Q` z8LN+(OLQn|I&~n4u^KFeHR;r;)Q^Myw@TEpB+r=;>wI_SETixi3AZezT*eOYc*b49 z4=~OE-_Lj;_)*3qz^fRy4dBU=WRZ$Im3FEW&o#SsOr()#NeY!-gE@wo@uAi`B8{@5 zl+q6fxBu?h8EU;9BgwT;>mU&kO^>pvAFFf&$6|ZW;N}Q-R6Nz(Iwn{odnzNW_gbXi zJ>4U%e^?MZAZydGm6BYJqQ##rAJcX?K}w*D&8D(1Jb zV$gcFVq2VbkVPD;xZ1&LwMJxOtTmEENu-G$;j~^B?|7~{;j6;aA;DTEianJH)|W*K zPhO%mPW;!iBoVnfU$H;YisjbFo|Vbg38I(hT(WhHJ3rHG396}mjLCoUV1Io8<8ZX_ zK(H5f7W^aoSUmB7FMKRgTj+H2I2I((0my$(ro-MXZDs*#1{jk=FJsbeL(K$84`WPv zIAhZD8IxYXc(RlzNrfzc3>GjZ2OB+kU99n*Rb8y3L`To*F4j-QD$iS~*7qm%XzJm} zmUPWWu{Q_A-oxQ1024jA>5= zn9i8=iDNb0t&S}Sn4<>}lfgd55%kf#-z_-OnND9KjI4?t%grACcWpKs*dz^ zgXvm;%485b#dPoiN=!FoXo*H8J_vqAGPs#^9Q-5GFN0SzoujHyP7Spld(OYbrZMEWLTD!)Wk1LSN$5;EA`RGU03GDPt|kr8Izvb#C{cr)4d+`%ghFJ9 zZm(#qVU->SpJhxL>dEY>EJqnHg*_Hw4y-@b)+GC5OkWNCIM{`7i=@x3?Qx<9R)fgl zdB)ojAs^j=eranQYZsYL_I8{YQf#BdVFBDTfTtRqtXI*KMu5(51n^;xxXs$%{UP#V ze2lIh{E(UUXV62y534!RYQKo-XP_?v=i|UOM!pmC%=lDUrx@45{xmpDv)5YdRH1)_ zivfJge1H9g0N(hpzup+Y=NFhdRqpbI2J5Z0qA5TtVQB!*dDMuY9SYLpCQ}Kc8B+pT zi~aSn0X%1kuG310BGfuUn|BgW+4IA^D`=xDkQqkr5+oBzck zP>FJ%G7}&NPX}=Or~UPpnNIOnG49V2G}3cu@y(Uct;``ga0T$h0KPAPmopxHlLY_8 zbSez`_N z0M`ew?YSmut*=>#C|!`$-aa!WoWCx#&L}mq2F;F&X^n|GbRUVj7cBGxbh|$ z8q4$x(8q!4iXY0ajbuxi!F3os3mydnW2`>JbjrX{#*~3oEBy;l%9!-bm;Cjq8k@)U z`2d4EUiOc$n=v`eU1jRg`a&JSO_xXVncfBZOmI4Mqd==vT|L9lYG4hEKnavGrV{UF zO!{HQYK<@^J!!R>LAA*klfH)76Ewuy#y#*R`QI2|zKgM%9meEt)GKCkcizO`M5dGd zX1U2;TSsm+1Jto(#hNAq^`Kl6z?%a2y#U_Fm=Zk7_(8u6y0r^h$C!Z|2FJm4$=2wi z3e#VLehr+a>y$w3TK^2UXZ#lII}q#3530fTuj=-65SEhx0`6o9K5Q63KL-5~@S{w> z$n-yHCgzl-VLKraU$)8kL3OC)pN@UMa8jH!gVZ~E)`j7cwMOeJ2* znDnjx@{hlp@njl6OE(7?FeV3c-u2gu7?Zw+F=b#KW72m8@MhdMM=(BC$^8ea#P}GC z#@#GJ5N;Ii0h5_AlKhwHvCuyUJDC0((=(t~f!i@%`gc=-v<1w%lBNJ@6e1WOBSRaR zP9+N4V%k%Q!x@vF$(Zyk#-tZEvA%#=&=jDZC+uTP4h}LV2hw}~8L%-Xy@WBv-x|P& z3^o=pv0F`t({EA(4yIEAxr`}+sfBgbo-rk0+ip4}y)R?Z2L$j30i0B-$EQv}5!M(1I@bp9t2@jD z$-bWPe{a%6b9S2cKS7@h&PP0>i4N;}(*$~yMYw_pmEbunLeDbOp;|)5jj$gG&Smzi zn64I(aX7Bht<~(Q{8|%SWCj%B3gZMsxT-~Hvd`S*pP?+qJz-A|0zRN;i2S*jPF$)o z4Z?6q0XqW>eh=U)0i0ECW`O#@F2>|=eDu@*X7iKg?L2{~K8VIp}i4ED`Yo0sJ20XKqr$D@=bG`c-f;{1^oc z|E9@*Z|Qv);283|?-p$uNc*AF)5*qD6l#@wGR9lGxzm{0&oJv6U^am1RE{jh;KMHSZdz$NmV$U-TD!%eJ{RJa9LxbZ%wkLlW-}g!!tjd?T<>f&)77CkIJzcnUejK?`m! z^#;=;-&B#tJrUbcvj)@}VN4ka58%Fx)f1TMEPx{9GbV@l<(A)omsM#p>BWqPBZCK! zK^*)|8C=J7vcJMu?YmwUpgR1{On@@9G=R4@i7M5QFydd3$sYCK&Qt)jcX9(dm_`f zL7y5}Sxi3&ogN+K@u!=*)*bTA0O=$m%mnkXubAmSL(gK};V*D5j^Mt?m@x#bVD=$s zU3!LR3lS=GHZ-#dk*71@JA2Kj$#?u zW#|P)^BVzr>+EAp4i7S>1lRrSpWs%;O|2j48OSIt!BVFnPLLKwpl^*D70k(C--2@lqCvo&o0ZPno*b+GouG=|6}-4+!J6HEQdqU6two zgMI!U`1-rDJB%o0$BvKUhda?kqf(;4?d zf_Y$GgZWIS_ysz93huUMyGz;itcf&p>K~&+%we%9H^q$S-Nb$)(-%R19n9OSlIk4LUrgV+^{DSF}!NZJSh2fC^`%_GBOJ|Q~ zS-?Apa1NZr5|GaM*SC%FLD&a@v9xK*P&(5oLp>S)3VZsERMQd$=}Rk^0YzBH*cyW# z2<8LeZl;s{LB>wle*)$M+zqCay_d1OCnD4!U@9Bn2K;K4csTS^=;Eso(U?FdGJOK{ zN#H}!jV7_5H{(-+v5e=!zAacUkaqQ|FEgMBnT(%A1p4_HuYu`IC;I}%FT;K|n2)d} zOn)6Z9un0jbhkEa?P3P+!GM0d#vLe3-wpj(z(FrvFiZRybOBD{2R+j%!?zi1tN@Ct zOb2w3;ze0@eBq<52x2e#a}wjDNU$S#s%ouG=nI%m2^KTngWmTP_zJ=?2x<|gUh+?1 z4&#eRU@rI+OQ7%X{`T37|AGAoa5l3qW;$hPmB!Tn@%sPPcq%j?!qI>TCm45vJ^l1> zEK9&~**`3gOegzwjJLs_exzB*?CY7X z`oF=hUVTalAb?kCHW=|$7Zf3v@hRBTuRgi`I;N9-31g~(ql`&EaU(PuSOG9zzA=2LiezTJV)=hhC4qBF!?xu z|AUwJ;ipz#crs?e;n4u~m?saxo>jA~Vd^!6Qvv$_0{E8z{w;tn2Jr8UyWFJkS4`b4 z4S>N_1UOKG#@J|&_NyH!jPYdHB{3d`_+fYBK*y@tSmGozo$U89rcUrh6YJLyVq^Rh zY|oe+^khs9`Z6YcEMw9qGA4aFW71a{oQpD(!Db@>Oa>*4Ne^r7pTTg(q&pbX)5p6# z5wr1(-ncf<^pDXslbGo&=pDg5VPjPOM5Zr-9*bXz(~8=t++3zp(u)~W){9Nn)`$Dd z0JUrf8IyyHjLE?j#-xX}2`D>b(g!f6_?b;SORL<8O#xcv<}xM+yBL#$-Hb^;$e8p) zj7dM{S^WSi`}sE5*FQ#OpJ1lzp`Qdl2^*ub>zPij?~FCex()V|!N%zZ=^ruu6X<)v z2Q`1%8TsP2rh}s}SOVs&`@Zc={WSCeXk8l|7_FPh^eX6s!2`4e)Q&om>6D>6npi)S zikbqn%3jRa8jB2pcQJ=)ab||dVLIdXu+ISBuiKNpj_H%ZUl{BeF$WLCoib2Akj^qD z^BauGoi~67v^TRu_W6u^BRiR>FFHRr>T3?uVegiTSpX%llrcH%+rdnL^Z|@XU&Wa8 zHH=9=&zSU!jMayF3gi6~SiqPZWI6oxY{sN-Vmt^X{sLFzXznwv$dxdiGN3S?Oan!l z(?5Z9#+1Nr&$+p{dm&g?CO;O&IY`&|7>Clq1b??v6HUJRCiam@rcVAJ_h+~CyMKUm zS4T6#yqh@e*~!$Y9GQ%lzBzQQI?4h{5up-1kwu72Hp{smI=vM}>*`kN zFt`xxfW2{!m&EKT!@U_(Jw3!&Jr)a6%mhxsA-$5u7;UeB=^Zylf?@DL@4GQL4NR}C zF_;oq#r#nQ4l<@|J@iT&!+%>kJN<$gP=x$0W`@XNA!E`PGba5D#-w{0lU~o5^ogma ze|2p+odu9V-!#*J9E@d5dTv*LeGX&NPu%LSp9I9a{m@+UmfTuH7 zOO)Q^P+h%DWlXv)!(X>IvA+7~*%Y8nh*VQ$MmYAOoUUXTns+p z+3^U5Q|hY-#Yg+G$*F}#G>w8J|6;P%sjip- zYNxXI@pll;m@=HrxD2&PFOb6F-!!mHWIEa7WwCl=YAaZ>M=(BatMuQSv{oUDK=P^p zel36t``4-?@@4@X>b7sv%yQr0RPC}6{b^(&i6O%t6@Oz z$U^a(YTydf$$snYru|=JkN0Vjy_>pyJq1ve=njJE5nKIZ^xxgg0XaOzI2`t)*ihLT zOz)U!ullp81vtg*DZYJ>nj!6yXHqx(#t;VS5R4LsX$ESD0}fk&`NDMp)6<|Y1TWX) zQvx@b-U~XtE{qn+#^h74>gA6G2Lrupe8BApcQ&7dzz=siTtVr5t`DZ9OfO8pB0>+Du=*LLJrJhd~ zVa&S^u8oh;zgGoBUB~z#*dN8RU0Vuh&(dsUI=Mc~n2K^NfG?WtdGK*-g!)s!Fua;d z%ZN5E4e&hmIP&+%P4bt?OrL;Gug;?U7>7$1(^o^M*V{RCo$@!8>5jW_EtDOvl;3<) zcT4ZU!OQ>$i%kRdfL_XY5A5kRTRcO{nf^8O=L7T=Os|4Y@A%T<Gja*(k3VrDP~2K34^<8e{apJV!c z(3gRE4ZXnhh0y60YFvMb>CZ!_*R7#HQu(zeSjP-x7|=V}vh)&C6`o)^W#|;+t+1ze zzVQUlGJPL(de2)j^Jg1QHO$6jyBYusWaukIpqIn(Cdp?yWdMKW77plRk-mdHy;Lq* zC9Ob9nSL5Ny^Idm?VAd`k#u8Bz61k$gWVe4fJz*lZ6nO4_h86?)T{+ztlxs=EQYgLE*xN{`=+UBetw4Xk5K8Q#j6^qq`J zKg*c(^V!0Di28OUNbk}s!X+AG47QChYk(qzF(!xEIsW=o#&=SIz+M#D@Ry1A03sSb zS`$qi?KT4*LIiqI;Bpq>&>f~u892q*4SRaIAgZ+~fpz2j?MoT2f<3*I@NqSHEdy!p z@n(d#VL)#uJjgOo%ycU8u?eRAHrUgn?3XuO`1n zn;d0K37!hz0?**5toORf`)yyzuV7bA@x#UJ80R5J7 zd@z8258&u&{tk;7hjqYshQo|zaT?FsgU|aPcG3#n9`lyAj6KL4PzJtWOgUB zpVK7=&d}8XW(Ro7Owsh1G9{SF?5Q=f8IwMWG3gT-lb&lZJyZT)BrpX5%OMygJZ2am zgd&_}Ob$09L-@kSB2`j`F+N~d%`n-QFrDmsdfs{w&y@cNQ{!WFlg#@~S7bVh@vpEC zn`sWV*THtil+;9KPw^KsCcW6?PUAV73i6kTd=QxjJ#f9rsP|i zW#+wQfPFh~Hp^=Q_!PTlk_wK6o&+~Ek#q;2Fm*h*f`BaMU?@0~@o4Y>##6!JU}_j+ zr5(;PsI~)RD!_mMzP*VjYYm^-6rjyyiy5o6%a{@2B;llA7gTGkTK=m z{(!&3Fve=-GN$-_8Izv}`)40aj`CO=@I%Qv|K@=P-T~_M=$qQ-TYau2wc< z(n}1cg%KI-HUhw8u#Yk6Cm54{iZSUo7?bX0OnTZJqkx+Kbe)?PMoR+>Rxl<9rHm zpUL!NH__=;_eT5+{<`P#YHP%>zx@M!RN&1l66N<4V{5$Tj{Y|evMV0(3T9u$Kznhp2r&%QIiLxF=Czrk@sbrk@@&j#MA}W&wDXW&T<`XK}*cPQ6FV&2l}JFdIj= z`*|=uZ@^i-r=c`a3T?nEpBp=VSVxPoP@+992z!ABrw4 zN8(602Oij2`AD;2Ox1p7MEXnMnP;`v1`@vyzBEVsK?m_i z;Pv>?>vT!;|Fy#nhq2n5ks>V?=_eS(;Pis#CW>$c{2bm3OjQzriM$>>INr=qxD!7w zU>QmS@9m`fL;OMDJq6mYgvj4a@HScdjVbX$Hv(dC-NPvH^Wdu=YJYNo4BiG$X(OrE z>?ngqgUta=7~8X3TPO)Y=|eltomaaaOwE@HvgQ`g-N1oX?m zpC8l%`hZ^_Zno(pF!cet?n_Nn0G{%cWdB09e*t{0huH-G0*^xt83}v{{v=EL-4hk) z5cvI0+I3{GTdG9BltgqYq2>60#H_@>fh%!FnWZP_125^K{ltVE-jXQcubAR5MX4EV zCZ&Ma!rr0V4*-Aif%cXFvcCgdxk9p^RdvkPcOzgvR`ql@gA5)7zm6tx==>CTSfqA4 zh4c;J5$L3JQIdEMcxo%jF&#{O_+?2pu2v~?t1b=EL+5_gt@nP_`7tJ<22VSo`p!olQ_pH)hGe8{FQIcBg zZ(gSwX$g+PqcJwU04d-tGbFmy?^a7R1_9r*UYiG=@w8;eWlvRK2%gtjsBgof1eSr9 zphoPv{wf%E#T><8O7LG`l))YMq80E(V`rHS{9cGxmTZ zaG24RZ?b<6+}0`Ccj^B2fHAFWw_n1gVCgdieAZ4Mt8tio3vOTz&w`(SL;EQjIrM_} zV{VAn6No@}pNp~I;9J4(q)2vJSdo1ecm&3k7l`416gXm*+pOYg2zYTm#%?`_kAUfq zB;jtW>R<)9>qh-JhQrsugK&yufljmCR`6%902-nwsI;!5xR0Bjp|7 zdEMDK0d~I+hsMD1I09Cun4L%lPsuWQ2Y5D)0;7sQ13PJ%sMpxnVB=NJ;i!S{z;7Z$ zbmm4iauIwMr@=tJ7<$(5gj`FI zVJ~pdP;;^xMcmb#|7U^c_tKsjrwptBmt(r0P8ml0^|+hosTh{qtPh?w}Dro21uvrdXyUh z`-hlqv;a(hiR&cP)rBsKbwI~*g76(_^SKoSRDhF)%zC=DFZ+H7+d_zX)R54<01JmWaO9hY%v zO^Fsn39Zs2&_BU7cvO^HpclZbhTYOe1nfnpYNi`}0PYu~Jv=}q{*Ks!MWbGY7r?#H z#%px@KfoujL_4o0*j(B)93@VZ)H~f2zaDxE3_M}FeY38(l3~?;1soyaSHM4EBCp2K zYLp-x2FKCK925b4!U-PnEJiNfL4R;RR%0%38qW5qN~y$?!Iv;MtkA3cVKCamF{C-^ z&85e|yO4p2WbZ~mF#@KbijCuT9r$$|*G3z@2VRH;M1r2755X5OeHw@1S77{DM}5YQ zGW;EQ-eGf~QNZ2M=0*(!<9Nh;p-y({{NDxv>R&3>OVAO_+DPgPKGVuPtVV((;%qfbww3zDcjLW8f6Dv618dfvb=K zV=TW6j@GZI(P2~vehY6tF?w|y_J|$zfo|Y1wjk*b?uPY6EYeqdWex(8(T3XWXO->; zKY?3OMyGrR+#KtCqe)%|JM$&`KD|?Z0$$lsvM-<}LV`!YBV3YwqF$g&;H%pt^>Gfh zQ-Y%~a?;;5Q6n@*CoE>`_ylkV%!X>GL>1o(9*2R)IE)5?FMMsTYA1l{j`Rw>38#Qh zvbkXn*!itFH#`Hrih<2-lyEZwf{vP1{vU7+F8R<%MLGVCBH$=7YTz6=AL|7aQ0>)! zfq!Jf&3bjw5hE{{W#HzWc?ym%l2}=DbIu&3)crR8=MuGkZzR(H30yYxBB@6mE=)Z7u zst|BI&Ti4fY7Mjj?^!L`H|m@M9*mVdfc1u$x)EqEB({8in40NDKrW-r6RXau}oV)o*h;FFk+je+J-aEoNK37!To`Y&|- zC|C`Sz;SQ*+W~&+eshKO88~XNu-~p{;Cv4pe=UZZLvK9{p2x|e(aA!P^-y+t-WvR6 zlJ#k{0)9J~$oMu~m_^SPrA zyoZewF<5BOm9)cHAYit1OFa>=c9!-U5vrnbVD8`na6}*T{C_Fo&W2~e^IyQ&uO4MM|F1*9wr=J)5Zwn3aoCL29VCHyhI)W6VI7a7 zO+D;}fG=ZYGp6rJ;Ab&+7?aTx;Dz6tXHM(DMaEF?#z6BHI*;>V?XnxyKsgLfjxsyd zSKyRrVc(=DcosZ!hB0c;M16XA0S32d~+b?{~EN3QDs|UP=?vg zDAE7v>fFPsEYbk}9XS}+0&nFl58wq83QbHi6jKy43r$i)Qpj5hCR(np(E*i`&3oCY zjLOVfOj92(glSJ`Seck?TV`3>W7=xjX5|_xw!b;&9cGF@%HMqR%{Q0#Ht#p*oc(Yu zYn~(xdL1&nA7B1@Ngrw3#B_l2(i$p@SnNq(wTx-cxGHiD+y&w8F`=ALZW>DdI zLM*KX#c*{qvu01j71#lfJYXZdC)Eil7Tyo@4c(pzurfTK!L8Y@>jBimN3jzYwKyXmF#5pUSNI;I&qQV*~8cGpzFe z`zVOSzv~emfhVEI5%R$Q!AA*7|E^>NwF$bDB+`_CX;x{r=I}-0`V6Vx2QEhobbCYL zNvN^%eric3!+L;T<$SypL}L3xq{13F6{3Dk`4`ogEt%JlnqCwn5@=xIBgiF zRyy<~T(`oQ>Q~kM2gL9&;GOU(vTD=x{{MXn2H-xmX*>ek+wYTbA*MG>I&>9|WzjW8s>`rUOZEdn>6m82&&BxmOx^kOI9XYDs3nDWuiL$o0ozpCv@A;7M3M zm@o0r=bAs8y~ekIy(d%FG>tW5L~l!jt>7}=`E(S% z6|S!{S}+t|&sIwtlF_i8zMrV>XU*Hl{g1%5yIu%y>cz(|h`#+Jc!h!jOmP!f&A=|W zDA)0SFjS4O4qnw#>v6bq5{_X>^oZ)!{q4*Qv>U7pnb|od!gZu(^?>@r7sinP*9D^~ zIM~?uA#f=6XrKhYRL7A>RcD+P?rl z$;Y2Osf<`ZCm)99xkP4TkN!;7E8kZ@~iXg**4d&tvPg^T~s^ zT2b=yJp4Zb(r6l&P{E&-qC;v1_=#?(ly|w032%pMEYtkSU+N!+2N05Zr2c7mPms~7 zi;4+iC&=~Cbo9@bdcJPi$?fI}`B^F?DJEjMB0L24kfu{=rVP_axDP?5-!x-KCctC* znKvlKa1C0ah4cm3TVUMxmUQ&54{FAeJFztIE)`y%OuBhEpMXf<3x z(n(A0I(Ps_GUiHyyI^|?YvE1VW@mI7-a#0z)$S^M+q=fDv>C?p%5*9g|KFJcyTM*? zq2-Lm!v3>987{xj<-=73rCO*K!{rzv-Qo4{d^RpKrNevS`bxAwEUlZ0tI?7ubzS-Y zV^sLe+AjYDueP>Y*W8T^kX+V=CITK}8KPLY=4NxKj#88^Wm;Y`63zNN_Z&&i|U}? zRKu;U5Ns=4PJTccE_J;U&O&HA3V#f%8A1L7?)EzhY*Tt3K4T>q>ft}EDG$3BcWP~| z65vIQP_?I=*o7!W1Zv7U!`(3? z#4AhDZg9lm%`sOhkqDE5IaHWR-cLCXWd};(b9g_GTrY>OBRC&MQ zu>F8scs;%&Rj$v4TjFk&j3^l>g$ojyF_}^C8VdRofaFPqZSdyJfnOX|HynghIf4HXE@MVPbMY;c)QS5F#CVSo-?mEzfVBO&16C3S-*SU*=wRkfvRM~LVa+6q` z0Y@X%T8*B7zqW$VwQz?*ljo~~`&gFnAlwmCt!6+OrZ3?N!t#KYVE-;sP(I6PoPp@f zKaVg5F6`|JnIlt{1otKXuVg@NR8rw{glH{bHDmX})tnE|Qa=`E`!2pB+?fq`$GQ2n zK>7cL6sW_;@%|nLId6nI&h^|-?B{UjIj-AN{wCbgYVck7%v2LG9sf)H-{C^E40ZQ+ zFyelE4NEo?_WS=>3Ldfc0hj5C{lLCl?@9xzgKC8Lz?qohDB%Klo8=3hg82yuPb;n~ zE%L#kq;Qg?{#LjF_so(8-v1w=fc;tH&PN^MuCUhlMtG@Z+k3!~(~RXD1jj5icH?y{ zTBigvBe`5pBVnOCFc+>TNKIG!Z#AMN6ciC)s3}qW68vVZQKQ}P6V?nJfMXbeR;v?m z2@z1L+{l%Q8|Ap1 zF>o$+L3d!{U+T|>E3GA24i8|&dInyDM_~B8zsm#nQ83Ty@o~6>I6p+B{zo`jf<`q% z4X`UO@bf5&qq6udOlByA_LQ2nfrD9+2x-3ye3AG;yWigM>SFxAw#8#9m~@z!OddED zzQC!LW~u=!6{Uf2Fu`6gw#@Xu>Dq9FI|*u?0K)7I!2|}~rI-FIM)Sm-q?l!yM zXW&9CVTN3P8D71@1fg59(f>^k@CpW7sz!K-3c;vJzT9w9F@{G^xkK!<0z05guNrX} zyb05rD)nRFJ-kJmD4Yb>T0v_nY$u^I#-V@R@#k7f^Qb^9A^tzi$%ji{Mkpm`^EjMo zZC01Vk#S~g_7a@k$rbX2bYMH28*kn*?S=VMBEkS%&L>_9a>9&hJqdqAE_f6b)Qnt# zlQFd(;nq2S&JT2fU4&Gp<$8bEe$U4@l{v0AaL=L@li{*5<6XUvQgENOnOqG2T5P6p zD_k|+74n`u;6u2GHzI?C`Th^5{y{TU_9yhLry=qM)vs z)0p*I1@i+so>UrCQvRyC0ln8kS^*=a9wp`K`djdb1oDQ`p}jEY!yALtPu2ZXOu%vq zF1bRg7oqn1f7b*$K-}J&29?mYfZt)tbdQtaD_Abt_djqDyv~}^DR6aj<9=trIfUJ@ z)K~2-fbC4Satt8PbxczhHw0a!=`~%DXFXH;c2b>U| z>+j$yxH{I=7zJ;D?J3^_m$``v!vggW!d15*6JBZHdkXB6Nx#A+CyY?3==2?A!bN?x z<{o&ywJ+!ak0ORl@Lvyd2Erx0N$nx+XTy);ym|^3!1Eqr|F5O=9~3OJLadiydjwnH z29{ukG_W5&b;PLMF~yG#%=N!g^z_19rOBj9&NDs0~d?`py4&-9e;r=Xh^ z^PPZmNSoa)4P1aTtv8uX(7z(T5CzsW4z>@MC&2$?NmKx%w&&g961Hw0X>T}u&U?E# zKA%g$3K9tE{u{!be7HWH4m1foU?F@jJELjRz%y_PTPxk*M))I3ZEN6CylcGF{{kL? zH;oeh4bI^!2|Tp#7pkii*lT|MB-Xst#BA|!8Hq@@G|&squy)I7a0+|JS#o`RW#XZr z4xyEKM}o%Y_;&Sl_iN%5`Y!c!-x#VsCeV9<%h~9QNp^P#R^MItoi8of9oNJ;>zkJB z?%dRWjP8=}*<^QYlaRB%U8+od4m9MF@7iAOR=z9A?ue%9gQ5|aDk-?r75ejjHBXN7 hi!bXociZ50hd9^cn|GT#F8HZi-Oi`J!en>z{{ymakp2Jw diff --git a/STS/Core/Src/yunhorn_sts_process.c b/STS/Core/Src/yunhorn_sts_process.c index ad29557..5fb86d5 100644 --- a/STS/Core/Src/yunhorn_sts_process.c +++ b/STS/Core/Src/yunhorn_sts_process.c @@ -856,12 +856,13 @@ void USER_APP_Parse_CMD_P(uint8_t *parse_buffer, uint8_t parse_buffer_size) sts_cfg_nvm.fhmos_cfg_8 = fhmos_cfg.th_fall_body_min_height_cm; // default:19 -- 25 cm OnStoreSTSCFGContextRequest(); - + /* // 2024-11-18 UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf)); UTIL_MEM_cpy_8((void*)outbuf,(void*)parse_buffer,parse_buffer_size); i = parse_buffer_size; STS_SENSOR_Upload_Message(YUNHORN_STS_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); + */ } } break; @@ -872,7 +873,11 @@ void USER_APP_Parse_CMD_P(uint8_t *parse_buffer, uint8_t parse_buffer_size) break; } - + // 2024-11-18 + UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf)); + UTIL_MEM_cpy_8((void*)outbuf,(void*)parse_buffer,parse_buffer_size); + i = parse_buffer_size; + STS_SENSOR_Upload_Message(YUNHORN_STS_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); } // following to be fill up #if 0 @@ -3071,7 +3076,7 @@ void OnSensorPIR1StateChanged(void) #endif if (sts_pir_read == STS_RESULT_MOTION) { - APP_LOG(TS_OFF, VLEVEL_M, "\r\n Motion Human Movement Detected\r\n"); + APP_LOG(TS_OFF, VLEVEL_H, "\r\n Motion Human Movement Detected\r\n"); sts_o7_sensorData.event_sensor3_motion_start_time = sensor_event_time.Seconds; sts_o7_sensorData.event_sensor3_no_movement_start_time = 0; sts_o7_sensorData.event_sensor3_motion_duration = 0; @@ -3080,7 +3085,7 @@ void OnSensorPIR1StateChanged(void) } else if (sts_pir_read == STS_RESULT_NO_MOTION) { - APP_LOG(TS_OFF, VLEVEL_M, "\r\n Motionless, Human Movement Ended\r\n"); + APP_LOG(TS_OFF, VLEVEL_H, "\r\n Motionless, Human Movement Ended\r\n"); sts_o7_sensorData.event_sensor3_motion_stop_time = sensor_event_time.Seconds; sts_o7_sensorData.event_sensor3_no_movement_start_time = sensor_event_time.Seconds; fhmos_data.state_PIR = 0; @@ -3355,6 +3360,7 @@ void STS_Combined_Status_Processing(void) if (fhmos_data.state_occupancy == STS_FHMOS_OCCUPANCY_OVERSTAY) { sts_status_color = STS_OCCUPANCY_OVERSTAY_COLOR; + APP_LOG(TS_OFF, VLEVEL_M, "\r\n FHMOS_OCCUPY_OVERSTAY Color set to 0x%02x \r\n", sts_status_color); } #if 0 if (fhmos_data.color_fall > STS_OCCUPY_COLOR) diff --git a/STS/TOF/App/app_tof.c b/STS/TOF/App/app_tof.c index 2bb1f27..00f27c6 100644 --- a/STS/TOF/App/app_tof.c +++ b/STS/TOF/App/app_tof.c @@ -819,8 +819,8 @@ static void print_result(RANGING_SENSOR_Result_t *Result) head_height_level_from_floor_mm = MIN(1400, abs(sts_sensor_install_height - head_distance_from_ceiling_mm)); - APP_LOG(TS_OFF, VLEVEL_M, "\r\n Updown distance=%d cm, Floor Up head =%d cm\r\n", head_distance_from_ceiling_mm/10, head_height_level_from_floor_mm/10); - + //APP_LOG(TS_OFF, VLEVEL_M, "\r\n Updown distance=%d cm, Floor Up head =%d cm\r\n", head_distance_from_ceiling_mm/10, head_height_level_from_floor_mm/10); + APP_LOG(TS_OFF, VLEVEL_M, "\r\n ## head level = %d cm ##\r\n", head_height_level_from_floor_mm/10); /* state tree */ if ((head_distance_from_ceiling_mm <= factor1_floor_level_from_ceiling_mm) @@ -838,12 +838,12 @@ static void print_result(RANGING_SENSOR_Result_t *Result) } - } else if ((head_distance_from_ceiling_mm < (factor2_head_level_from_floor_mm - 150))) // TODO XXX 50mm gap to avoid flapping back and forth + } else // update 2025-06 27 if ((head_distance_from_ceiling_mm < (factor2_head_level_from_floor_mm - 150))) // TODO XXX 50mm gap to avoid flapping back and forth { - if (no_count < TIME_C) + if (no_count < TIME_C-2) { no_count ++; - APP_LOG(TS_OFF, VLEVEL_M, "\r\n NO++ %d\r\n", no_count); + //APP_LOG(TS_OFF, VLEVEL_M, "\r\n NO++ %d\r\n", no_count); } else { yes_count =0; @@ -854,17 +854,18 @@ static void print_result(RANGING_SENSOR_Result_t *Result) { sts_head_level_low = 1; - APP_LOG(TS_OFF, VLEVEL_M, "\r\n lead low = 1\r\n"); + //APP_LOG(TS_OFF, VLEVEL_M, "\r\n head low = 1\r\n"); - } else if (no_count > (TIME_C -1)) + } else if (no_count > (TIME_C -2)) { sts_head_level_low = 0; - APP_LOG(TS_OFF, VLEVEL_M, "\r\n lead low = 0\r\n"); + //APP_LOG(TS_OFF, VLEVEL_M, "\r\n head low = 0\r\n"); sts_fhmos_bitmap_pending = FHMOS_BITMAP_BLANK; APP_LOG(TS_OFF, VLEVEL_M, "\r\n return zero statues, bitmap status=%d \r\n", sts_fhmos_bitmap_pending); } + APP_LOG(TS_OFF, VLEVEL_M, "\r\n Yes =%d No =%d head low =%d \r\n", yes_count, no_count, sts_head_level_low); //OnSensorL8AStateChanged(); }