P2G+)2VY(T3Yi zy>&|$`9cw4VfonMzCO2vix*End7|1hE!x@MerM%PHWO1*ApfZ0(NS*p#ppf`2ncmJ zOmk=qlvIJVz4K5_or+T7^JUOCQj3ZjJ?m4Utzi*)uB<&BAHND={D7Vz(ov2mIsx8< zoT3Ls0TuVf5hzlj(}` zff)J@eOS)VzmjF%+qZ9N$YW(}R1glCR=iv_bh%|pE3c|^_@#pkzGW>J70}&7Q`c+K zqhn%JC!6l=&O*(c5TIMDuhL57bg`S}Vi)#S8sQO*6eC *HRgEt<$>bRgf^YcmI?ZoJ>eX9ooG!|TJaTc!eL>-iMg z>t|*6zR^KiWzG&wfGNMrlz`@7MHLlsBnB+UR1g6 u@UQPcB1=rZ1~X2b+kN{+bT5ijg4}i{ z5T;I{55(0qn#QLNX1!Lg%0BlZYPlLb>)TK#V3%vob8+qSJ^f>8C{sI `xxp*} zdJl3oLR1PXg(m+XKi@C!u}LA^OUBT{=!UnqP>f*4-#Jo>yM9bl(YR^HvKF}v5!~@$ z+N=p2Pj@Ifr;r>z;z `<6r_b+=X{ig5EDansh#x8 z2xge~dvjAwl65Ek_RG`j5db^5qL-nZ?JP$UHqx*C?(EL;#>kjcnUQrm5|)_Eraqm1 z$C$V#`d*&3-@jiE(_z&(Ldu^%t~dxL?C %|_=U%k5?aJ{DrpE3{u^XFzd^{T4M(L((^ z4 ^F0usL6Hm=8CVL<`@?XQ;3s`%L$sZj<)u3 zct6JEJL)tVkscZ0Ncfr&x_W>7;EH5|-iLyV9Zg=iZ?I)01tm|~8!}#o*f-cMDkch4 zygmmiioH=Y$e7G1HivAgHk`(G`l#0+8SPgF@URkvf7JRU 80|#{$huwu?H0)VSy5eh`UAgU4 z$1IS=-TU_)BggW7Ssy~M`q;xiNv>&muGgo@AzT}tNn;!~W5C+YgU>UV_l*hJRMU_? zsfu{noceXRvwb*S8m78}rJ?@E4~fSVxpWj?qrizZ;s`19C6=wj$M3*>^X1TNQ PT)=f{WQ)tv{Hx#XI&L~JHU%HBSlex#-ad35w09n-pF za1;F{HMhUFcTrq aCZ{cRDYGl@N?g;t)P8~Javkrz`u|8aLF0C!wSWgAYmXG8)psV(Ga^iS&l;L z@G2(AW@%Je+qtNfWU>9qaF&Dz11v{#J@)OhqwLeb1y8~rae3pZx-pU^mADYYF=%mf zDS8rSVLPFfa`)an4H~wf Or~Di%SdK(U0+OkpJnxWW#x4^CiPyDYuAFl zaWN-Vz;%qbMoBuW9z9nSJo#WFZXl{Vt3$9w9A`|XBv!9N84i6*t!1Ch43;Oo9GTTx zJ-e6x)&vZ1eE9wLH5)WPeJ&2QCV7NOrt~@x6n`c|YOOgO#uqc8Gm&FKs*Je{0q}5b zz_e`9g5!RP6sgNq$9hEiMknPJpFRp4Sz9cuQ-tVDhT^byulA1W&%no9tZt&1nECeR z=sR1e#B-7Yo5HoLk^q|gEZ*W<6M8}}CnB|)+t_z(* s7?)RDL`JRTlssLo%BH@ z?}LWQSK-`N#WF3D2B;wA~p?&ueq$q-b?oQbC4HiL(p~!@E;=n@Uj}hr>OrdKlKa)A92T zN8l-FV%MfyE?>Spgp8Cfc7qh7LNZ*W_7aS!>&K4^SgepmNlJjN(4i#=`XlRLE_PC2 zI~*Ty#yG^V&=D?wT>8D0o_;!--ClnhMW5~8sxFJLFTV5e;Vb`WvO}}>!42ey!M@VF zFCvio7028|ChE0Q+afI#6^|Coj-z%hIyP3%$0yI%*LU?<7JR1w3If-GSQc9QGrBeY z<|KM3TIEv dg*`wzUpE1iaQmJAhX@C^RMa z1br=Ewt4Ns*KUCMEE5p;R>?2t2&73k4FumasNB4Tij;#xt_Kd70c;RBk23UM)162b z(7?}ejgsBV0Obcdl+`6Hm2(;3JCATBB&lERm<`PNyjon`RI~h$5 $;!!nkixS_0HR9suQ6dK3@(24j`f$$y zG&zFr;c#;+M>r=2jlIpx&KBspNC?vX`?XZby~rX1f`QmvetOXfoKyr~Q%#{PrkvPj zjyrSR0_|udUs^FizjY*#L;8swa5u79Yi6$@rwh6?SsS|d{_aH6d8KV$Cp3h(PG~$V zuyrPLlCP2s4V96RK{$?tYYW(j^3T &_BMJ==cIu3at{<#WNG*5s6eZX;3)V=uVanGcT7`$df{OAPLt z9lWONXQ~fzIx{C{xzH0Z3gWMwU4A`km%^N+E}Dz^r{A?tF>0Hb#WfhKvPTad)Jctg z!Et$5P6 =2?dW*Afx?Y*&a+6F(klrn=V#?J@+78ub;m3Smi7;U1?txL zjt%zQ5z$J@x#ZEAO?cQwu$OYD7+Q8Me_S&+MXPJZ x9B8@D*X<6!M28XckY)f JoN>~A2ZERv90vjO*%}Mq>WvYbb z)Mht@%WD(w2j1vh$QtI 5oT5B)FJ;S?TN7 z(MV;M<5I}TK|nFy>z_7>qaTMuhb&Oqz`_jYs`YFEWpYPjs$PH3uMZE}Hm~JzJS3Sy zZc(F*6AmE`%HWpJs(f=X&|q-c$oE~S$U2Ku0LqT=T?>d%6}YmaSLo}CJ8nqnX7%`_ zGSa3|hQUg~{zQxLp1R9KV}R4iP!dpC V O!ZK;jdq!UmLDfN#Bmh65R*0<{E7wY0&ViGWbJhu0Xa76Qq$uTo1l8o+<2;yNb* zCN_&KEG*PNZ<7kJg)li%O Li-xc|vFKwtn HvM3Q(U``2>OMe`!Y*s;&X@0KunF9ifA{g@ z8rbZm!kiFG(J#0T3~d)j|M}e7B;?HwcBRFO$ja`>?{tn3klJ^72M%Jbn;$z-Ivjj_ z;%L3kJG^go2MkXQfnVO3)P05WG{y7e_MslW0jPW8FrNuTAWM|t615K3KJFqZ`J(nT z94&4a;=W&Mqt9z-j90Gk`9IW20gN^^lV#9)#$2MaLEz2_1Fa9>(gyjtGmgi79-nw& zCxa>@gR~X+as$<|FLMe42Csj!o(V-&n#s(-akW>dkM5#mOFw`9yiiSB*mdr0(I9rl z58-T-R6Yx>zU^*tGsxgKz5IkLD1l=5T9#LD-YmdyQA0*d1Z1JRuqV*Z?>?gLD`Yzy zJUvg(&tU*SfG )P!X~YnA&R%?|8S7-4KPRj?pYkE^#0ggSwHyfO=gD12 z)GprWiJuij`uAYRd9(J>;@QVH0+;h7H0KAT@?9;U5$bl>S+0UBEI2)D1*vFvYkP@B zu! kZ=qpUyYs79Nk&3e(iOzTmR<^k_@`rAxfbM=H94*BQlEI!3l%-u?Zc z%L;;SSht=Tz4?HjGHiL{=BRukf+PY@!7Y;tr@V4pw@gh*Ar}E`+iY+Vd!*hve#gyi z(yL8ek)*^$0QYK1u*6a2XX)TaY(#}9VQFCW4DF?yRt-$-HJZuU1CeD231MAL&ACrc z3qDZZ=+zowiRu{{8E5TOEnt6auwQUYT3VXrcR55qk#v9^sUx^>Lj9HefH^Es;{Cd{ zYu}BS +Tg@dC_2RL>O6(>S#KG^?wv=ra|!oK+3AwkMx#iORn{jo;m>}#0h ziv}Z074M}$DnlRW+L$thi9?BK7M`T%54S`~B{xqHZvLR#=olb-bOM>(yFm z5GRnk_kH6iYWn` falkhKG@otQaO30A)T$M%1K%!tRA>tZi+uIG7`B>*u#6ItwDfcxzZ2aK?|r<- zwBhNR1KK#46)-QIEE}oSx#rR8&Z`;j+`pgJXx>wh*|6_E5Oh=Ctn!j5Tw0Gu`8OQa zc_f|OAILqH%gwSH+EcOTP@nub>cd&JcrR8tK}J7=O tH zAflKE -PTBwAd(Wg9$OvBqItKFiRt-fC&||lFW)369$58 z#Yhmvi~$repj*X=U_eDhFoIh_3>Yz?qQriGtKH|;t*7d~_1@?Ga6epY*Qs;Pw$u8r zHP@J9jyWb3iMnByAK$%;AQU#j#=_Y3VQy|q#IAlTTR2#T?HbhL&%17HU9W~==< 8@Ho^ zm*BrE!|LIISA45Yk}}LfkcFM|7dwewf!mt-5tibnRp~^`LvK5LMmuN-@a*{O+nW#0 ziUBS_z!Z~3G+wdonvdx0!`m;| 0qH|yH5$hYOTn%_eYMH9=Ve;vy z-DjkZL;HQax-s3M;zgbN`T2uvYZLz?V-h=doBwA0hq40++bEEX^jbc=o#(}=xq5*; zEX2{g-_qE?D70t7(eGc$QQN)p!+GTN!`_)THIatJP)}KdBZR8__|s4GK0oU!i+r=y z>+GChwWX?i_p$lQe~mwsl+?ml|9VY9AX-WWonB (`9_By zx!LZv;2elNFtoRz6P2E#zdk?UW7|tpO(QZUz8o#~>l_d5eyxLiORhG_mcGtGn#0ZY zms`-=E^z4?hSlgiaU=c(|NaZ^tCTX<;7K*IDB0^slin>Dc+Rt~6fj;Ev1!v)@9w>g z3Xna?U$)@ph^LyXZdpX}RQ{sjt73e0Jo4uE>7O96{!*8aQP$VnN#*WiM@~)|;TIuw zF`+m4-sB(f%VVXLMvag#_o^E^A0)N<$s5=br0 zoNW+0U>Y>kr_{Avf5s~`B^by|^Yfc%YpIjr%j4n2t6Zgbr2$m(+vi3how$t>uU1pt z$5n^@WE1TBQ}oyyYi5)3!$>z+`voPNXiKSf-=zNbv>$o-ZGvqyNtRy%$spTUsh+g{ zV#mVx7|)mSoz~>`)FC|xlB?ak20S{IVp6Dac}NUM_p{I6fAyx<_D9w&T8L7a!J>RC zD=UvU%h71kp{ZrsM`v6l?K#?TSW0v0cegFeXzf7sUTaZ4EmY%{ZEo*dKMgtelF M1aRE>PAS!!`S*r}PMRRL aPF0&jj=c4R^>T@%_u(b&h9kIQX~T^nii65t2(=i)9Piwr>5h_l(z` zi@5E2-5@p3i?zry5Zl>EIv qW-mUe&lh4*<^R ={>9WsLjqK1CK3HRDtE_YpxvQULwAo72KNi15C6@59P 1jWDi&V6sdC>LsCz~O9%p0L|+-hsGXfrQ)_G4TgzeTKP^#m#VvE@oDsY{KN zW19}X-YyRs^X}aFVC^1Y-!yMD&ZhZ%lYKc0ii`A*wdHG{ac!J9 joK4RLZ{g&RB;cHo0AkUduA=-Yjme<2^1QWwK?5 zHQFC7-raRR?Pcw1q}`Ts3|5hxpR>7d*`#)VTjPo+H&%PC2(#TbAgeNK#rqo?ztq5- z6`JxDnx=ep+XAQP-_mtMMBuU<1HFAYP3Jz$Rn5ngKv1WLx>U8l_w|A1+(;weR88qV zP35jd`S)gqH)W;kG;ZEVvKha#;YKK|m=j@64`$5s+;IDaP+@oPb-&Y~1hqQRy-oG2 zJ^a|xhYaB|-pg{ z?`q;%jMZH?=nnaj0^|f&<-cSW?o8vnYu)=ew4UeI#rCF~|0!#aT-r8wYyXvUX>qP? zhP2pjNDPRxe$c9SU42f%M9yD1<@?@4M`h}DwIo+@W2J>Zj?C7T0$zMCU3@6CHF<5` z?y+5(JpNf4DcL^Wxn3`*d_t?X;Lg>xsEuy^(JRtIXHU}rn@w0Cy)^&s_qam*9ZRwK zE9NvZir<;NlEj%@=6tVym(EXLoqv1nl*yCN-fVRsXP3jnQ`VbSH2CMjWR8@j{qY2G zwDQK{->|$>&CJA8-*=#-O#C>1C*}S*UGAh0GE1?K@_5j%QOfg!0T;!KzFyrdx7G=2 zwtmBg_f<{azIo%4J1q^L;90-sXx`6X**fUqeJ;%HZzft#@@ZC!1NJd(pUivkMR#?b zx`jB+IPGlVb>v}I%Yo_Z=VY~VO{y>9o7?GzNW#<>;+Pk#zP&g>3VKZSpz-7;9ejqT zQtEfw`4-C_5a#^L!{E$U%hfdysF)mXAFih_y<6x#MCW*mk_M}{^w~cI!uU<0Q6klb zNwa3%wSD^(cicWLboOM(nF*&|@ZT?dqjaWbqx;yKJePih_|olb5e?=gX*7qRngu~| zg=HNl3o7(jGohh~RV8{2>Pt)i$ +cz3Bz2S~YFEIHDB8E0bP9j2tOzgD>eZ{C``x ?Tn~(H1Ws{0LbybgF G3pq)}94q||(%#bzH{wfVys-K@@>`Itfqb*w%N&g< z)Q}stYb#Z*KQ4A0%*J}GF Eqh=fY3kKeN#a%N5| z@)>}$mFT&2&qd-js_)ObEW|uoZe(-i0W;kXu9Bz0^E#Uw>NWa4m4|(-`j#iw#CLU3 zu$AOq{=0&t;>q-)t`OXVmGx+7{#~YNLOozrUc5yk%);7bwE;YSn^4fTw+K7l%ITvQ z^#w+4C6kF=QPyhU4o`3Vx$sWb5A7}5O3szn^k1~-Hk#yVBbKPq-JIDx2!!x$f_Ej{ z65qfvVQ a?io0N(#=U(LnOZ10}FWX~zS+u(71x_@p^8fyBD=4<5vq)>! zn(BVkXg4|GYQ^tcH4@g4l7;swbAd!sTZz}Pdddy4#cfM?o%gVW*7M<=nie2C$Qp#-|X3SBjkCPmhUL< zvH`8}sDQZ=tb}L|rghBVa_)_?vTpi8^$;FS3ThgWH>=^vZ6iDK+xiBk5ve{9Kbyxc zD_--Acd$8J9b{5S`~J1IwfGmWX%~>c3 zt7hR3qzHiy(p=topHGE|BiCIAyVMAM98u>|T=UVEMv JjynOE4-b-2dX*&$bwxmSYisco&=aX4>e@!T1;pd?wrEs)KaHDP8c6wIav*)i@ zh>g}(RU$2&b;`+GpDRdxGC^|j3#n aKTMd*hY(_Ibx{k62pt z_U+qAD^^rJ34DWzpa2!0x_(>|9uOa6JaoyzE=95+kNtxTTMd-5r)?!y>@a$d&aQxQ z7Zwf_U4PdMJ*x=L`m5Yf^L;3*fVVm}Q6~Bf1D5tl@$3vZ*=T?E&gAr**h5XN{_&1F zmKBp5s40JLsZ+bO_<2rFKU)uo+5u Z`yKVi%Z{HqbuDwgi-)-CI}Utb z`_vd0>3H?-QJ9+TR7J=O3Qb)nAvDiRc>Lv8|Bfb)3eS;T^=TZ{&f0p8Zd0TFQvoO2 z0YCkeCCUwbCxMC71vhar>p#n5yWAMRZ{ww5>AuCJp5Ka-dXr 4J^I>{d{jcoXn-p|%?|$w|=}QRO z?mvG%*w(}43mU&?Q|}kfYgKZ_X|Hl%k2-7WOd%{7NqT7`f?VjDF$vi-lzMS7))qs) zeXmP#Lnsn2)k} p4&Q$mcKRh~I6uPhYdEE c)uytU}(q_QBEn zHodRPZCyQM_o-nk4$T7Ai8?B+*z@Rtx_YE^=kDEGL??fdtHlq`A#rb?XONQg34E@F zO$+wRq*ln>)6v0&^`t&nY-Qj|Q)C}yM_&dUR8{>-z0G~&pQp0LnB~m#6>Vadmo&1` znBX~;SZ=i}V1+AuuSe1Bq$5X;r+hPX?^+YM^cPZ)kmIWt_qf|_l;wuog+u*|SFa@Q z7DKh(7E)Up|3|)Uu*NwKU;V0*GpQK`1*(Q)o!}Du1E0S?r{m4R@C{swO>X0NiiDlj zz(=yC1Am>lbZL+>?R8!n<&xJTs*0||?_SL*lhPP?`*~GK=hDv?zT}pwCqT-6KBE~+ z#eYthBTv5%n>RXgcilFJCZ8U&Aa8M9E;!YogYfJtj}^Ey-=Z@Wx2uaN12hpLcFixJ z+He1mMy94QsdNp`qkZC5WhZQW2mR{*>qk{o;=|Q3RKj%AEcW;|c;CCOI<85rfh9Kv zNiNL~K4?YZ>U^74okjhGnr}4X`Dxfpv%?-;ipKd42oZ?}6+U!aj}0?$sIBZe2xo?p zXB1q0Q|nXXJ^y)1)O3$KA#%yz>C1-DsNh{vgda^nmXg2sf(66rPBs&L;&5ej(^3Ak z0KeROMci%==gI95UGX7|4rvIg@v#%=OIo0-wn~b9oVexTs F1PgEjZ?&;EJ<#gXm~CcBuh(!jItQb+Yw;bK`Ug z_1vr#6X33|70z=-o{esF&4c$neyn@;`SUSRRRXDzMxX?aL>vJdEBAW4-n}a6*V@f! z_tRIzxJXSlL}fN6vbbQf)11e7^mEAxc8E;U`ZLJVBw27;Qu31y+Xh6%#@bMhK{s%1 z`suZgrq|~MJPFurEAqgW^#V#9oc2Z>IeIjsq{QB_lklf->ah~(0f+=*_e9K1E|93u ze$I6SvN^`JWF(b)w~#D%+%Ak_r5{giEQH+TT_)?zeFX7b*>%>;nePLh=1~@mwy7Rq zxVuBY2`5G+Z0+;U@mi|;`}XXiI<>NIkjr1fyg~9FjJl78-OpL`L0LI(M-CmjFZcQ5 z?{{mwcc)f4xkJ(<;#JeVr j50C6oinQIhUmM&DExB>2Q2+*7^-HNw zUqEntbA!JeQxUlik;dl847VbkTkZ8NEBod9Z4pW%oq}^55wq c zHlTA#V5LpVmhMG0i*Xg{JdDP7E$+5GE*krTqA6k>pf5ix%zwdxMlX9 74NY%G%xV-WO>6AesFB#3j27`O3ZB<3ZYVqkik+JnwM7+wIr;R{&~f9e zDZ$VJg#c$Q18(T*u-lROKQ?X@@Em;o_xba!5rhccRJCBU7Ukd)`l+ly^w`sIL1x_i z?c>&fX$nnh-{yFs=zId^6h%u<&n*bWqbH!2J>~PVCvzV@ey3IarPxVNJGL8C`_FIO z&WHz{ `b0H7okooT}$w+|!>LOGCOI#G{ z7|P_LsT1}W7QbmgQVEJ-Iy|XTi_`{n&|V`Mb>>y0%S{dRCi(k& I sej+9hU`rI%1l|0H?RIE8O0B&>Y=Xj+dp7^5n z@*TXZ+oY`@ZD~I}m8gH39?G>9c_2gd7|)9O(N{R_F1Maa2WxWOBZ-OTN|$Y-36Zvx zUlku_op~CMH3}P@J2vjeVhq;cfn6X&g+z?C5rCYMO-6diWVWr#lqm=CSdL#dboR+7 zaojmD&!Seln`SP$5_#}mzcrX?i|@JWTr=W5CE56Zu4wl1T8zAZ+2xl7@O;ly|ER6# zT%4B2JC>pE>$>Rk&Sl>-J7-mXL9+@tZtHt`O#QCOn4nTCh@rpo9R7;8b@xoC1We~( z8}RMgisi_W=<$uFD!zn~9tO2)Rep$N_pKUJu9=Wz*ptL!(3rn69EVg57CB>3=<7Fc z)^hdW%x_zA{NhDxnExn@#%&|o1L;I!!y{W#5=$BTHq7yGyAn{dcv_T(g*hwZTu!~s z8K}xbLvaygFI>^rw$CRyIOqR9>eT7e8H=7T|8=rq0beM+WbMe1{G6(FVeFii_Md-T zI_-O&jb$j0Yr53Y>?py__vxdlnOCmJ9M#iJrO7AJyn8x3qpWz1b+@4IA6e~2Mkk&^ z)$bb)ZuoOFteu$6(rPN7YlQqOaqQKP3ojIcz$2+4A!G_jE?+%_b_%CxO`A@!v~K@> z;>6|fG{e!>4O&mwt7t7nEM)xvfBM&Y(VNV6U!_*X)93ygIv!n7S#;8OheV1TqC_j| zaK*GPw`&%?t;?i|H`^p#G#4M*YtYFj))bv+0dGzyU!A{PeK>1y%9p{j+i$D)G}DKP zIi?|&l*9*)88*H^omIVekpHmhsbh}P-l9^ttYhmPsw&hRwDA(HF&FXa9k4TEAqtOT z419+Cw9z;Wrwen`!Nu|Dc|TM&N%2hbO?^uGQ( =)oHIafaA->@3pNiv_5n0+_bQt@7=8SQoNleZM9scggh}`1p}iWp(>N4 zrKu4ql_gKNAMy-ZxFp5%+`PgX8%B5X_V!l)dOH 1+Cpv6L= zzjgQS=8Cjt5Z8sNRUcCms9nU46a{JXvA!?8ue>;JR<@FcvNl`R0~dYwSUC yV)1NtwPx!vR4Pj3IUzL++%K? z7K{U&pb*y^YxLC&MDN{Y$&w|@j`mkR{UogswOet~2FERiEMhbU!s~aVr-fcWM?c4j z;=t`1t2(AvxIC{nUOc%2TCHmV-Boij@9_2g%i`mQ5Br=)PT E@)y#yFYoO{Lg5ot=(bri8yO&e zxGUSbet*slA`=>dW{(}3S|hl!qjEftwq#kb6T%PkP4hP(vgvSb3F%sYTnNkqmqJDd zZxJc402AKNT)P=LJ!v|}mP#+N-bpn_MOWW|yPcXV6~@hV+;No2eZG6^R`26h`lf;= zSw+3b3V5cr^ac)4Aqtj^h~ gbAa+!YDg+<20Ellbv Uun}hY1MZ=v8JFcmzC4TJdX;MY_FXl!j{<0oIZVM(d?53 zc1xlYUka|gQ?9;hE}0ZEVtx4>iPK5g)R&idV0V`jxZz2DzWtrYfdsX+!w0Oo>Vsqf zH-AU%S7r5X#I P&L-+9yZuL@#H3!|S+STWte6 zcV>vjc9msV^B!rJaSp00zsP)^2q30xFNQ?jSCy98^!^o?a+3mAr2`bHc}H1~FoaPi z-&hk5k85!?Z5|@nqP(k~>cS`ypG$7kZv? 3%yD0v+$<1kyx2HD~dg#ubmbt0UU`t&2L#SET4Bmvspeowq?= z6y6%pJE-dDOHM;%G?;&hU9|R-FKf+sjZnuJvEj6D@O4;6Z?|WUAES>vqU2i=!qGtN zP#28cG;it+_{3TZE+GnDTlonoDSVQ_c}t`PVy_0p(*Czk|A7u|0*3N}pm&`^yqMIY zQkd9v=rAE+iWg}nSU$a~SD_{&eRVs2*$OiYi 0cF2qgDPPh zG! PiPXWRf%Cov*W?E_yqT3XC1i!fM@)Pdtm~e*!~P+jN_NdV?h%$L z3m2~MVApv^Je@%&QcYP|lvlwq&K(<*QG17HVA uoS_mA{bIpE7OF;dI?4ZQCY0G@3LB zN1sN=Ud*I!y)Q8KO&}}VmK7?wY(Ks_)5@-ip<=4b4QmwiqnSgMkV`xU0kW*zMEk}L zTh-f)gLJ(lkSn1GrSI5#%V(bsTiq#QD}6W0uLHU?Y2GSsD0MH2aFfn{pEY~-$RA&@ zG(VX>$A}W7$vCQ35n+gUY1{)I^*A0Z$Ne!RXbMtvkvr_|jWcA2ahsk(Ql!T?-mkDZ zN4yaPh*m%PiiwX`bf`nz#QTCsb#`P>tZ$3@KZRVKe&4IR7NNk~H?Wm%a1ezBTWOP+ zL!lD;Jd8IK-J>t1oB!yRL+V ?jlSPaQ=_F6gZD6Q)B=}YcThZ5|}(Um#cdA z*+OS(c}4e*nu|`ni4&fJlTM5|y0+O>T$glh*C1K4!a-61=!gUaI7U)+_yZw~M+L6X z`zpgvB mx1Lj2K!J5T{v? LNjvTPZa?&;k%t9zT>(rh|{AO-eAf#zIVO=j0eSsNrd z_<>D#_21J C}>6-C#XMHtx0^TNLAkAG@x;YR0{gcvjCc zHELa*k;H^1!mx7bQ&V?%=4Gz!B80qplh;{NiHgsQQa541O(mpk <2SYRtt}ftGiQ8E|EEi0@UTL6M-k%%fh0T`^jy7AI#qE?b l+pmBy~Q&MzAf(9InrZgi^02kCnX|173r--Mm#r6zjoYLAPG?ZIcU2df=6?noGA^9l1 zISS4T_iS&Kw+oS0Sl?`W#qBi@9R)5U_cA*nj4Zz1c=pr-Ez~`l ^8qQsPy|CsKX1A!69wy+<)8 z{6z_hP)Kj3h*6xe%qCyZQ4z!5l?33_CVF!xZ_K$_>%&lydC^H@&{X$yQN)X1 GC1&^;hxRUF`opyc)v5LUiY)+1fPby|#B50bz`z zPlsy@2 yW{+;4-Z=nZ_?k=Xm6=k4JeDcaxT=N zW?Tp)mx^mTNCpxmZ)3!t+n@CPvU#MZ;f~D7TW2s``86mz(cvx&U-}@n%GoJNTj48= z@p9{E(#gLGy}D*>@Wd`#5GZUpV=3f_l+Q$hpiYdK)N>~$JHx6;SMdRl d$w)r zC&+>fAwk|36-5gd;CTe8;g-s$PoHwbn3QaX(ssib^W_bQ=2m!GMAYf^TMZ$Zd!>yl z_CeD+wlK#QAo0WaYyE;=-_Fc@^s{z5;!r|gCnsIUE}`@te>XMW0!l~wo#9ng+>j6Q zur?$tdki-^;$a}1L*I?+LIABO%?cEIEAdv87;YwN@ha!n_}eDB9?z*hOZry}(E1bT zLsUepGT7)YO?qzvAe>@0FYO%<2OON;N%Tpgs)rA3VQfpa&RWRq1#bxDR45Xu+N&Rw z{Nf1=f1n)TO6Z-YX_^IL3Qg9Z8DKLO4imL}ECBneoP`K@xYsIbhE@&M&Gm^oBH)aA z6Y7;WAi-%fXId#&tLsZ&SK_YF742k2mZl<{2hwY1rmXZ+S=Q^TeuKtZIb(T!5q)j( zTL;Z(252lU9jwEx>$U9LUx;b1-gtRqy2a_RzWZ_3uB$gK3O2yWrZ6OV2&MT%m_zWb zGR*1si5h7xPs4R=e7R>4UGn265(&tH&AFdjm5${u62?@TaIu}y ! zMklv@X?h4)U5I2NMsQHhukl>ifROc3lPnr=!E|%@eK`4R;hIn@z_ #o;js#bej zTb0NQb$@^J*&1mEdJuqw#7F!KZUfiKeHo$O-VzlBaY1;BD*4iJ+W?v^EaB5E$KL (;41|LjV;s(+{0nAmIgD>VL3- zm2C3 tKo? zc&w1Q3eg YJ@FMs909B@z>ZLSC^M3?5eO%u6Ft!>0_bVUPeL-mFx)(>tC zbUK~H1BKQFl63Zfs4()UWT0M?!v1G=SN`tpU~ixN#bFqa6ai#hd -9usbxf}Q4cX_93k3`9k< z5LYs#Ld~Q0I-gH8Y-4R*@u+6}qv@OR+&gsSNHlS3_=4e`i*IYh&>7M%?+RxUh ++AaiQkW;%T>TMzEtr&<(oJ19Fv``1D>xlk&M`rR^_E8@C!z{1tB~d|DuS8Q2j? zW6WsA0m6-j{E)FG=EY9E&p@vO+eKRf!S(WxNLu%Y%>7jp?hh4z{P|Y^2H&yQ>rI_G zv%bi^_bfTk<)>rzS-LU J!=v_PA@En~M2U0HxE~7GlxZIj zBQ|faP6)DI<0K}3)sTw9YZUB>7bn9zyq3kQai0|3km`XD$RCmm?rkToG?^YaUka-7 zteTCj^LEYKfjcuNmwuWZc=%R$ZEBE$dGF)aKIV4(t?6~x(FWo2w0qP?;J~PPd3%$& z36JXYm8og{ZBj(L-+~+U*QJk2j5Now#jmnD&&&j$UU9--Dw_3Joc52SWSf9^QRqhc zU-4v2+0fIbjj5Lkpcoki|L@A+x?u4=kJ8Z8SGiF|B8N;Yn933KMKR-3ZUWdZFRl&o z2> 8gXe)?PMi9+(?9)nbp`Yl|cXs-tsDX!P#a&g1|V|sY_ zt(1oehYwF^Jd$hsRPoAz=N{kV188rA#gm%uh>eXA!Yq1Vc@-tx48-Nbmo5`g6Fc_5 z+=9UeA?PfE8jzr^IJKz&RTRflUoO4NCI(e}kJUtrQ0>{#6%jss>+qlbs&&>=n!5 zI$bA$oU&^?_G_94uGX4YNI@I9P?mfx2uAU;A>On6EN21^=TWogFn;tq&f7aQs4$NE zdFlW>ik>E0UMBgC|4Z6aH`2vfp#MuIEf_f22lCis=`xytESIkp&Fz8;5zk}>2T;Ga z5wXEZOI1p>kZy>sezH&H<=oZu>5^g`#$mO2bAj&HZI-bSK+RfoKV}%QT<{_&qx{dxQkU~AH~S-e q6FmVB-Cc*gZL(O9xU1Obnk3bfEq9+^AOB^ya`3sYN6n4mutRhosurl0$-WWSVg` z$;5Dt^J_7Mh;ak1)(tFF`l8MUPnb| =J_I zh}&1q=|!<#GsmwfyJ70;BD-gpGC`4iDEUOK>-Bxdb=bCa(}g!xE5DmB%G=TYbE9!D zjb1fqXzOij{NS)UNHQ~f|LbM`*Zz~E*4H#@{XA=owM%i|w_Vrzm&`ADLN!t$DTdLI zRz~hHO7*#?7|!zh+bay0eJZ=< #AnIBoICXUpr*`{G95T1!|?RdO103RYBn>lY#g z&HVe)rDIT#hf`8^wbGc1z8zqS;kPkUrc4=~ZRf&`O9Pa?4CBs@ti&BzZf|OaVn`mV zbpqaIIi(2k%huO%C(EQn6}I?jFpYIho9;ZNdhywzr4(fR`#w<7Jglv7$ =Io5hDLEhT
U9icz)x0* z&j!~1q`C4o9No?8!hDqGDcYRP-*j>atQv>G+Rlrr6jLC(Li}`Vq)J$=J2?97#mslA zu$Ym&Yr-eIV^XOwNZdN@XCxSv8OV+7l5*bre;`lXc~&JVHo^#uCw5{VolGQj@)LbH z# ^%D2Bbur&n#o^N|AJr=vlE3+Z9pE8 zjH37(xn2g-5bBwl4p#1wBwrc_x8ShpsvJ8NO&+rG!Y6&C-@34cuw7yfsIdL*)!~dg zL+(j-+U>XdyWM<5j6acR&6TaR?9^%Vj9%& _yD@I;51 zAJ|@_gK6-)W(eg0Jn?T$Y~SbM#}W)}QEK;bSF*?YJS!KISVB|`Bm~&RFL>_DqLcp) zW!Sur6ck5aK0~}C4pljlbRXt9w{F+2xZP~8OUp#d{vh87?x#M_1}W9YzbYh^m^3lv zO7bX`(j6j7D2sK~1LmI_#|I{hYeG-sh&@0&Tkp1?eZOZj=;jf_%UalladVi@>M5LS z73NHy1rZrtYaqr56Lgncl&SC3t`LKUxy()+^-_vqtjs~A{m}5&KX9W0@%);oWKCh6 z*QtUuS1qJ8n@cKs78r%BHXb__KGvb~hjylwvE+NDxR~O>`G l?*!)BLq~q+!mZkwdCvhqg}j`>x Qqp+cm$P{<{; pQZYN{qQjn#X7jWeD#WHQ~i`_4&ICfs#CjJj|5Z( zA-Td1p2DG+fn+f+lE$)rTs0q d>*mdD8nh>#d}3Z=Oj)QSp6wY1#Xom4 z@I$Ql?+J8T;DR-RiBLX%c8m{T+Ymw5GgZ(s^?4F01_{8oq7wU?w{G1Bj93J`-A!32 zFEucBQzK_uHpQ?6@lK07 q<|}y`SSPRh4gjR*Wk7SD$7ob2`_>Id#XaT zj3vOvcNfl+Q;RVc;GHge9sS>Bn>E_d C#=- zTKh;zICh5euhqBeNEN}bb7E!_l(B7ypbx-~c+nnQJfcoo@+eQw$6WXf7P>tm-sb@K zl5j28R5Ctr0qhuO2`)y=e%CtThCg`r> ?jJ4@Jz6vY#`O zm)9D`-Ny8UJqCJC*Gz8%y2NZ&*IIuw_t @4=c6-5*mMtoeHD96}J z@^spH5Mum%li8TDA8T8vt}a! p#*uBOkC@{%cI*SJ_`95NoZNofLsEHVT6bSV zbwN{{{l(Zvi!fE-nn0G^ua2T%C71)tf`NkuO-EhHeh)P=`*)n}lTRfHU7BG(4M01w z&RGGscNo=(ILqE2*|c6bUR#E#7&_^_R4sk+!)l7mm<0U+!#l+wZ|ALII5Q;@#;p&T zKfs~t_kK95uIJ1af2nwyTG_a!zV4S`W?=ooQFIS>OUwl_>?@RxV$z)Wa-B(X#eN{_ zKyncMn@1}~pgttkWkg3p*8|wo=xNO6F{DsWleW~C)4Utn{~^uHO2-l7#@#6iQm@Ac zo1x^a!_I%l2a1$=jS(9iZ}# U;l#bGuHI1aSrNqEtNTF7( zUafBtwj#gTaXRl?CkM;ECNT|841!#^a0IOBcH{AGcia`>T(LDt}yI#L(cC8s+gP zevG70Y2)z*3QHV;xjrTnp;(By0tfg=L#};VNOS0DE^X#7XQTBcDLTy=>oVjnQvq=T zf#4gmU>rryGH9jIE6tt79FYlHP|^*;Ta1nZm8*>%OJF+q%hQOhp*qgWq@2T~U*LN& zv2xJC`QJbH(yh#m-o8B%Oi3Nv`O#cNzm*J#p4V;H&euwKRG-`4;_67Dv7ZS`GvJ Vph l$Q&7^nztzCIT?3Rx%rEbTe=&uieZ{|#w*O#&@4S6Za6cXDDsyE;N!6Cc z;e+>}@9J#auK$JC*ZJ#WjHvUcf ?g-E7LXbBj-g~B**JW6 z?Aq1USW>P6-Y%diUR-U3-vE6HVC7F$y~R(_P7ncG_dutn9sXx%jsQ_iNTlTCBdNEB zty?z?^BIm8126X#8w0BsaFy}|2Q3Z*J%~|5;%KTa7BPQrVYg830e=SPEChboVo$Rd z^|*Or&Qz=mazyFrduf*!W^|WtE33m5@q)tqq0^@~+Z<9BFYdvJ$|xZX(Up>23Hnud zIk$mFoE|=xGfsBG*ufW}tFy&~rzzrUxH6Ift=#Pj^H8E>JFiPexQ_vYN;d|VmVSS` zfXhf6*q(Qhb&B~r^f2uFq5S8>gz9580v7*f%Et&FA2Y|$2t3i5b|Qw@=t{kXIiHxn z$tAR}tV_d&4aEc*+^^=}cWQ}SdB2TKv^TFJ5Wb5YB}Q+pSB?Shh__$>ysi|2&DT4y z-f$}Z-23~>MgjiB1QybVLCeB+b(w4a;klOp_ =^&XAdcyiC$F-Vyw_pp z_ram+l> 3m%KDNecP%xey(3Y8G&wug`2Z1uy7ig1AZnF3|WKxUovc2 zVa9$62Auk?-P}8~pI>?;yyxkO)%9D+CPx>%PP>2p2HA_*YN}*McCXm?wzkX}|GE*h zr5!WCxU0yFiEGzPXl86I@F|8(vx8 1tNs0~J zKTUfr8-=LCV*SiwrX #_kR_eu@-~;p+W)Zd?L#nd$)S_Pgx8PT2CVIX8g`2|0juF(9Y0 zPxtDoxpSw_m@(nDgLmWOdXmzYVQ4lfwzl26B{H#xl!vLh*Fu3%Vgj4Mff<)IfN~}o zrWH6Cz)z#a+@O7|_9#BZyd3$7OhDfcDpO)q6VQ}lFb9}4F24J32ZJm~6`qr@FT# zZ}Am1wu&NTisZ((|LD<;mgcVt=28(}BkUk618E4mr9$)FK{E`fW_KY|6nM2=GoKcI zKadMXS;7iQj?&YxPH+VN1!+2&ckfQuCXSKJmk>in#P}2 7(k^%ai4@POB;M-`nIA6o!~my8%0U{fRpOX(IU} *AlT0zKfWGN=yF`BL)v+{=rD5}ATLIqjK8>eNU%Cco&1CevpD}Bp$LX(R;Hsg z ?CzLq^tJMII5AWU;3^{Kru4VkRu}m>02nIceEaZP5 zn0=|VFI~s#E3dB _zv;$pL@~Vq^Pun7iKQHa4^87leC>d3rG8C*NFgM`+E_ z({8n|?VylRVjmP!ocbDzD+_ynb9ZQw~pKP18s$#lM6MwyR2)j<-z zo5*@^ei=1-^gUoWlMebA`|y9gBhy|R9^S%0wZ4(eI;KYG>DZC`7M&Z%hXJ@TH9r7g zxuU+d?0^_UU=?QT4$>v+L$)11{yY_h|6U>D__VNY-!8RV8t91;-7h2SbMvH)V4hNr z=r9ACT~R!!8A}{wK=WE#wN8-3L{aM<9?w?b4&R`z`b(`66K@0^VS8oNj2Ug#Rp}Up z0K*jmB>)W>^Rl_;#;ZSMKWU0*_Vh!Z{I)7ZK`dIN8H7?MFirCMu?Qai0P*|-(`7>q zua|szo>gGVemwq2`1BF_^3Kg)ZF}WmLBSsC3;wJfKZGjID-=!(Km8L=Lk9Fi-J45k zvAoBK&$MWbE%Vk7iB<`58>)=O-vUPn&XV^bXA;1I#E(IOv6~};jVE+8IX&S q8{w5wXzZ@RH$=IhIrAgXYCso#9h19lU`XGhcfbVZ=`GlU}_X9FT6ajasgIXd( zJ>4}u_C`=IbaU(fB^0hG=0m#)fQa@~jE0gzGNyL?0FyiK+&G4&nnl rLdW8 zZw$Gb_6&%A6y>O+^ud2 lC8lZLY=FZqx6&gn`NCi2`j)+gu`q+wS_ssVwh(E4 zHh}O+GuseBzMng{?fs@bl41hFI58`op pbJ_Pp^^O>85t?8 z6!{mI?C18s`Rbdpulxy<))=+rq&>xRN_}xy_0fq}Kr smZUKi!C=ncWcQ>j3l=Uk>MKW#^N<9Uz#WIq zaA6H8q$NGl %T^gS=SK;n0Zo$F1y_b}4S=p8PMnMl zuYLUa0d59p|A0hk^yntJvcCI=pj#1dhrEb~F?x~3HDZPT+q+G*S-hOF_K%?_n1-jX z%aKuTB!pA_I(_2AUSyoIHMXRcTC!u&7f*!N^Y2x=xcc?$iGOJKvD_}uzt2uTYc6s^ zCba)x-u#s?cm7X7K2u)RZq_T?0DWX(j2D7zapqSj6@u&)^bz-kX!Yo=Q-$AI{>78A zsNgXx+PB=tmnn#x@dskCx^n^q8lH$78+8!N=+at;QVhF#)SOnm0pTC%RS^T!g|pg@ z%)TwdGP2s!PYmYbU=wQwQlEz3^G#WATXCn1flZ}%*USL}cMGiQ@w}_LUI%$@k0xP) zkk2_b{sDb{KF+r5(*Hi^qB?B*Y63a-hor#D8M(E7bZFlmK3oh9(kn9z?NhaHb>?K$ zI6qp5?JXw6sfO}o%|Eu|f@Bh*@T29FwL@sjFw6DB+;9V`UlZ$Hr>~6UJA7vxvx? zJYkP%Fg(nod-pDz2M$SNJ~`?PQkibr^)uha$ReifoOM}eB#ab@a7nz$m9*sg5(N~7 zmGds{%a&ba7nAAIs7#wVn1V68XG@ VlV zf)--ieL+-lmoF#d{=l2)%fH;=K0O$_B8uK_B*^!sKC38?(R_~45H`7fC!H8&A2`a# z!9KO$?w(5z2!%qJ5ty0I=WYCKg?2m5q+b^VsEWDW$9TvUepbQdl~9Wl)q1Lys7l~q ze!>(0g_SPRwk8`Gm$p;LEVQpZO5P{ZqvWY;g^3(>i=krFsg!F(Iw~$(0<4yKyw_2( zHTFmQC9Y)cL->bo>vv2&8RO;EVtvbD?(Ta?#}PXi=>^rX=k^i>4;qAQ_hs|@5{dr; zVoTT7LV$~^1qluRikgAo;sm9r7qsY&f484_AEzuY-(tJ(A(i#h{~~kg+IH9&LECJT zhCs-}n2&%E6cglS1&g@&57E~~1>og O!Ye>C51&>1S5eG(ut=VR~Z!6CY*(Kn- zl`P2kt$(*iPo5ltr_-yl`}!mhAP00a)Dxelxm`H#z3A)e#w10HK58oLGvtz8m#=}} zUj7A-tgz6#mY)6|ctFUoFc2YT1t@i(NVKoMVBBsinO3tivY#O-9_&@h;%~j-M|m^! zXT+X^0yrS7fntX+6Vs@{Yt7e>Dm7<_GB6W$hG0b$O5w=*lX{32bQ-J)56>YvpLFIa zsW#`^0ZRv{vt!J}yb^Z8+?y~!WBCZqL$GA%hiC<4WKc1|-B&xbGl{X_e?Bx%_}r4; zLD7X8uH^QI20KV^c_RZonT|QJ^a0g$2%5b-XxSP^qJoG3C(nrj=I`U{GH|sI?(SkI zCJ4f+LJF)F@;k`~Dab&6CMUzUe~$5%-Mf!bT{v;OrdU(cyYSDz&LhT6U!hvy5uRqc z;Ad+cpDQosB#>b745KLJL>P;4^;D=@o0$dMYCo|H_?KeTNK_3zYLT+@8>z )C zAV6Y8 aOA(muzrBW0o!kjZ&13|yipmJ{=b!_=NV+eM}mGIja# z@ff1u67-O6reJjx69V@L)t#Sx-9In?!eWaujidJ_zyM! mk-EIyD7&nZxt?fH II3`4ga!vz&9gH;1#J5C?A$OA{J1!oCIs9>qk|}E zh`Rdk@$f3J&h;H7aXF2F**lLkTT2L~-e$xv;ToO;lG-F#(zH-2AVL?;Uz?iq(W+j> zF;;_Q4j1My?Q-Wfqu)0t$!kid=@*6NFQbvia=4F-+OU-{@^{zt=QzMBs^Tdw?qUeq zf)U~w<*pF54CaY2g9VOQ6p^s|?Y^+ceZ`7iAFHW80K f1hNFg7qlm7 zzq!JJ$0@Ma@2Qtp)0yMGWXU-;H-F1n71k2$1^T(iGZUVh1uJ11k=L&2;~@gPVm4}c z!PXXjTddGE!`mqfzo3;pSE&SXD&6(6!0NOh<>T9~0XA4_ciUh8c*(W`xDkQ4? H&JgrB0?(<`sOP2~`ZA-Na|-7Yk*=coTiA5gzx!#`UrGX2v+>hI(E^w8k8 zsV?pKM9O5?z-->Wy)_e)Z51_8K2n*2o!YQ|{nUB$qHgRwUdY{YcW2lA+}zp|t!mHR zAd)(uLMI 7GCYBG+2=U Ptr|0xv1E%k@EaR0g*dXU!TPL$B8hJhjK*61y!2jg$;9Umwn-@e=IL^0+5Wsu@i z!(Es6uxH3OThnU;?t$)>*S$*Fo6T4_r;B}TVQg${3**pdkXsC7%(56Dt`z5kqz&U! zSBys}9vVEeuBmAfU cV%P7M0#eo5Hui$IJ^fyRv4144Ys8WB}fOpF@scrhcoC(|Ni~^ zk?io}!|BK33Qe}FCNPdYWvfFF#?{U!?Fe~dUz~ZmnUsyUqP8Rk5YGwen9U%OdpKU8 z#sPq^w_2>e>bN8<%%}Y}f0{6a8;mv@oyf!x8{wM?!)^_nt*I3w)#Wi0oxw-0Ana(m zr86fF8#k_rS!Hd;)gm7ewFKA&$Sb_2x1+B@Se*6N!qWMO0E&z!hg%F4BkiR)O =JC3Axb3}yd@FSDW;SH!lQBas&`!nj&Qx`8*9DZL8 z9_XytcORm|pGL?Ajl?2IsiGr@aFT;Q#z*z$+Kn3oq*i8TJ}2uj+l%x%26 bhw5CczW-iJtd=-`XV0F^Ox1k5;ca{K?f03rKLmc6 z!rY>2KZAZnM?~xqm3|wWaBV nyIh1x0(?n z_pV>p^C8O^0V)((b%Q|d=TG3wy+@~$jr>mhYd5Z8L9lSqY7eb6_VSlshe0otZr^O1 zD5*!aWL7q*dwrx5#^No!53_^bW7Q>qh>n!o00M+mZ5Ym^J|fZwdE*`s0LKZL3Tvz! zN(R`C_9c=234kDl;@5vx*h{h%u1J!6GY|-#jmwu6R)}*ig>DBlV>FaNIZynRzw%~{ zgn4JvYcYo8cZN}Gc_~Xr3bZFt#3V>lA@g49AP&EB5Xe;w>l6?~l9ols#aV*f_#uB* zP~C;Tb_(+MxZhrr%F3m$`G`LbIjydp0q3IK*osA*9uc;Q%dAsAijzlVK?v#lYF9xO z1 T}fNMphR*5I38gU$0daZVYQe6Rhyd%|8n6Gtlb@BFJ+gKYZ zq#+9 ?Z|=_L1qRicj1$6<26lck%8#iI$vyYENcN)?-7DdR<4mn<_bQwG0g2 zk+KRHtVFOz)(W#fgnG{rA> %$5Snqthxj#CNKaK(R(;6c>56&LHBkHFY~!X)AMr4? z>JmvgkzR4Kgoj{Sap%dkYjBEi@0q&dD8q?wL4GMDzn|%em-kR>fW2!aK#=y6l4BSf zf_j;>sJXBPKoUi)UH~^iaAa$+ChEnsK#GJJU$cHxG=j;P1i#A_!){}N6|=c90$}$3 zt(!!$dugPoS)n6V!?_t3CmkT~q31b2sTSNOECtv4 4FulM z?o0{GT(3&|gzin^z5qVvz~iCixC0F^0y7XmMWf%^1LoYBrYCH)4`U$+ufLuzM(U2n zFDTeS`vZ#V>mY*)`1zr}j}$fr?eq@aK<$&db_yYh$O{N&FDEoopQ86R=hE_W{OCFS zVtf21xLd)1B%V1FV=k$$ai3?4zku=Czkk7kpw3%wCO;IoMXvts 0olfrnqe+6GIx3%PoU6~ji4 z-iG?|&kplG%&qscq$H6sN`h~eLOl>_k#+LDZj4x={pN~l)Z+*neED02^B~9ftf3al zcM=347Y_nso?Y5PYF-Q)Ao+;lK3B-ows3G^*>}MzPZSbZ?YDm+@&i7Mbt0CKEUpxC zcd|! Uo52lnnYqiishBDh+r=ugS&pOmF%c(Z8w1XS8@7S@sdA^;@R z)N8S1X_{1JM`JN@5cjXp3zdKVRs+y1bzAiPrepPGc6Vo;ft+>Yc|ahjl;R*r&W9 Da!#`K8`L*|+c9 z@xUe@_X|)@UzPTlspkk?2a{Lfnh>1w971JsSBfbdSO7{~bacIcKRJ1I&c{4!UBM8d z3+S!W>y0eaTR?d7BcVAYYv}#wr(C%WQiEvzQSxalhmzi)4emjUM4uCeBK&B ObB0@1&3{_ZW^cRhQGOAO*-M7x-E?#kgHHr7D=I_ee;zUpe%UnQiP zMCJS3tH?|W(Kb|zT;MawmK$&IA4YN$zDoC|S{iFlxs-YXQN;hOJjtfwbXj!-`j bK z(}AC`XeOqnIl>dwyZ@-8k2BNDh-J}{k(cw9|M?y-L}NAg?2eOiY%oUmmo#M|H@)2v z^ihPtA_y|^7+e_)z?DCbN2yPnG?zP-T-Kec@E*tjbVtoh!-lY%_{ttAcPXI=c?!>; zX8HfTa%RN}P14$6l)Au|X`Du1l^cp`1ju87o2e%6ZltFh*492JX{}Bw?HE9YIA{{+ zDEOv9WNP(veOh 8^Y66x{ k?9u+`pEcpX{
!{`0 zukwHJ8~j;{|Mvy@FJJpVtNY)2(SLa)d;WaBh<4)7|KgMW%ZvW=9RFJ{+N1rT|IJVO z_eKBpYySUx_ Date: Tue, 4 Jun 2024 17:11:03 -0700 Subject: [PATCH 57/69] added: customise build run name --- .github/workflows/build_android.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 4b14f444c..f43353daa 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,4 +1,16 @@ name: Build Android +run-name: > + Build Android apps: + {{ github.event.inputs.build_official && 'CoopCycle PROD, ' }} + {{ github.event.inputs.build_official_beta && 'CoopCycle BETA, ' }} + {{ github.event.inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' }} + {{ github.event.inputs.build_naofood && 'Naofood, ' }} + {{ github.event.inputs.build_zampate && 'Zampate, ' }} + {{ github.event.inputs.build_kooglof && 'Kooglof, ' }} + {{ github.event.inputs.build_robinfood && 'RobinFood, ' }} + {{ github.event.inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' }} + {{ github.event.inputs.build_coursiers_montpellier && 'Coursiers MTP,' }} + at tag: {{ github.event.inputs.tag }}" on: workflow_dispatch: inputs: From 55d1936b23818755629aa72f9d1faf37cf057050 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:18:03 -0700 Subject: [PATCH 58/69] fixed: customise build run name --- .github/workflows/build_android.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index f43353daa..7cfe3b2c2 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,16 +1,16 @@ name: Build Android run-name: > Build Android apps: - {{ github.event.inputs.build_official && 'CoopCycle PROD, ' }} - {{ github.event.inputs.build_official_beta && 'CoopCycle BETA, ' }} - {{ github.event.inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' }} - {{ github.event.inputs.build_naofood && 'Naofood, ' }} - {{ github.event.inputs.build_zampate && 'Zampate, ' }} - {{ github.event.inputs.build_kooglof && 'Kooglof, ' }} - {{ github.event.inputs.build_robinfood && 'RobinFood, ' }} - {{ github.event.inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' }} - {{ github.event.inputs.build_coursiers_montpellier && 'Coursiers MTP,' }} - at tag: {{ github.event.inputs.tag }}" + ${{ github.event.inputs.build_official && 'CoopCycle PROD, ' }} + ${{ github.event.inputs.build_official_beta && 'CoopCycle BETA, ' }} + ${{ github.event.inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' }} + ${{ github.event.inputs.build_naofood && 'Naofood, ' }} + ${{ github.event.inputs.build_zampate && 'Zampate, ' }} + ${{ github.event.inputs.build_kooglof && 'Kooglof, ' }} + ${{ github.event.inputs.build_robinfood && 'RobinFood, ' }} + ${{ github.event.inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' }} + ${{ github.event.inputs.build_coursiers_montpellier && 'Coursiers MTP,' }} + at tag: ${{ github.event.inputs.tag }} on: workflow_dispatch: inputs: From 3f88840719944ca2aa324a04f56525617abcca7e Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:37:31 -0700 Subject: [PATCH 59/69] WIP: customise build run name --- .github/workflows/build_android.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 7cfe3b2c2..977e0aa8e 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,16 +1,15 @@ name: Build Android run-name: > - Build Android apps: - ${{ github.event.inputs.build_official && 'CoopCycle PROD, ' }} - ${{ github.event.inputs.build_official_beta && 'CoopCycle BETA, ' }} - ${{ github.event.inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' }} - ${{ github.event.inputs.build_naofood && 'Naofood, ' }} - ${{ github.event.inputs.build_zampate && 'Zampate, ' }} - ${{ github.event.inputs.build_kooglof && 'Kooglof, ' }} - ${{ github.event.inputs.build_robinfood && 'RobinFood, ' }} - ${{ github.event.inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' }} - ${{ github.event.inputs.build_coursiers_montpellier && 'Coursiers MTP,' }} - at tag: ${{ github.event.inputs.tag }} + Build Android apps ${{ inputs.tag }} ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) }}: + ${{ inputs.build_official && 'CoopCycle PROD, ' }} + ${{ inputs.build_official_beta && 'CoopCycle BETA, ' }} + ${{ inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' }} + ${{ inputs.build_naofood && 'Naofood, ' }} + ${{ inputs.build_zampate && 'Zampate, ' }} + ${{ inputs.build_kooglof && 'Kooglof, ' }} + ${{ inputs.build_robinfood && 'RobinFood, ' }} + ${{ inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' }} + ${{ inputs.build_coursiers_montpellier && 'Coursiers MTP,' }} on: workflow_dispatch: inputs: From 37cfe7ce04ed11e1f4e8d5de4468fb16ecfa022a Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:40:58 -0700 Subject: [PATCH 60/69] fixed: customise build run name --- .github/workflows/build_android.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 977e0aa8e..86ed216ae 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,15 +1,15 @@ name: Build Android run-name: > - Build Android apps ${{ inputs.tag }} ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) }}: - ${{ inputs.build_official && 'CoopCycle PROD, ' }} - ${{ inputs.build_official_beta && 'CoopCycle BETA, ' }} - ${{ inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' }} - ${{ inputs.build_naofood && 'Naofood, ' }} - ${{ inputs.build_zampate && 'Zampate, ' }} - ${{ inputs.build_kooglof && 'Kooglof, ' }} - ${{ inputs.build_robinfood && 'RobinFood, ' }} - ${{ inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' }} - ${{ inputs.build_coursiers_montpellier && 'Coursiers MTP,' }} + Build Android apps ${{ inputs.tag }} ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) || '' }}: + ${{ inputs.build_official && 'CoopCycle PROD, ' || '' }} + ${{ inputs.build_official_beta && 'CoopCycle BETA, ' || '' }} + ${{ inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' || '' }} + ${{ inputs.build_naofood && 'Naofood, ' || '' }} + ${{ inputs.build_zampate && 'Zampate, ' || '' }} + ${{ inputs.build_kooglof && 'Kooglof, ' || '' }} + ${{ inputs.build_robinfood && 'RobinFood, ' || '' }} + ${{ inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' || '' }} + ${{ inputs.build_coursiers_montpellier && 'Coursiers MTP,' || '' }} on: workflow_dispatch: inputs: From 326369d34f1e61d64120e12985656e06a7d82a8b Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:45:14 -0700 Subject: [PATCH 61/69] fixed: customise build run name --- .github/workflows/build_android.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 86ed216ae..b388c1550 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,15 +1,16 @@ name: Build Android run-name: > - Build Android apps ${{ inputs.tag }} ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) || '' }}: - ${{ inputs.build_official && 'CoopCycle PROD, ' || '' }} - ${{ inputs.build_official_beta && 'CoopCycle BETA, ' || '' }} - ${{ inputs.build_coursiers_stephanois && 'Les Coursiers Stéphanois, ' || '' }} - ${{ inputs.build_naofood && 'Naofood, ' || '' }} - ${{ inputs.build_zampate && 'Zampate, ' || '' }} - ${{ inputs.build_kooglof && 'Kooglof, ' || '' }} - ${{ inputs.build_robinfood && 'RobinFood, ' || '' }} - ${{ inputs.build_coursiers_rennais && 'Les Coursiers Rennais, ' || '' }} - ${{ inputs.build_coursiers_montpellier && 'Coursiers MTP,' || '' }} + Build Android apps ${{ inputs.tag }} + ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) || '' }} + ${{ inputs.build_official && ', CoopCycle PROD' || '' }} + ${{ inputs.build_official_beta && ', CoopCycle BETA' || '' }} + ${{ inputs.build_coursiers_stephanois && ', Les Coursiers Stéphanois' || '' }} + ${{ inputs.build_naofood && ', Naofood' || '' }} + ${{ inputs.build_zampate && ', Zampate' || '' }} + ${{ inputs.build_kooglof && ', Kooglof' || '' }} + ${{ inputs.build_robinfood && ', RobinFood' || '' }} + ${{ inputs.build_coursiers_rennais && ', Les Coursiers Rennais' || '' }} + ${{ inputs.build_coursiers_montpellier && ', Coursiers MTP' || '' }} on: workflow_dispatch: inputs: From 2a29b2567ab16370d309889d0588d0554d159990 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:49:29 -0700 Subject: [PATCH 62/69] fixed: customise build run name --- .github/workflows/build_android.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index b388c1550..5d18c288b 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,16 +1,16 @@ name: Build Android run-name: > - Build Android apps ${{ inputs.tag }} + Build ${{ inputs.tag }} ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) || '' }} - ${{ inputs.build_official && ', CoopCycle PROD' || '' }} - ${{ inputs.build_official_beta && ', CoopCycle BETA' || '' }} - ${{ inputs.build_coursiers_stephanois && ', Les Coursiers Stéphanois' || '' }} - ${{ inputs.build_naofood && ', Naofood' || '' }} - ${{ inputs.build_zampate && ', Zampate' || '' }} - ${{ inputs.build_kooglof && ', Kooglof' || '' }} - ${{ inputs.build_robinfood && ', RobinFood' || '' }} - ${{ inputs.build_coursiers_rennais && ', Les Coursiers Rennais' || '' }} - ${{ inputs.build_coursiers_montpellier && ', Coursiers MTP' || '' }} + ${{ inputs.build_official && '; CoopCycle PROD' || '' }} + ${{ inputs.build_official_beta && '; CoopCycle BETA' || '' }} + ${{ inputs.build_coursiers_stephanois && '; Les Coursiers Stéphanois' || '' }} + ${{ inputs.build_naofood && '; Naofood' || '' }} + ${{ inputs.build_zampate && '; Zampate' || '' }} + ${{ inputs.build_kooglof && '; Kooglof' || '' }} + ${{ inputs.build_robinfood && '; RobinFood' || '' }} + ${{ inputs.build_coursiers_rennais && '; Les Coursiers Rennais' || '' }} + ${{ inputs.build_coursiers_montpellier && '; Coursiers MTP' || '' }} on: workflow_dispatch: inputs: From 738764b1c2a726581f0fd883de214a1fcf629966 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:54:18 -0700 Subject: [PATCH 63/69] changed: build run name --- .github/workflows/build_android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 5d18c288b..0cfec2def 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -1,7 +1,7 @@ name: Build Android run-name: > - Build ${{ inputs.tag }} - ${{ inputs.deploy_google_play && format('(and release to {0} track)', inputs.google_play_track) || '' }} + ${{ inputs.deploy_google_play && format('Release to {0} track', inputs.google_play_track) || 'Build' }} + ${{ inputs.tag }} ${{ inputs.build_official && '; CoopCycle PROD' || '' }} ${{ inputs.build_official_beta && '; CoopCycle BETA' || '' }} ${{ inputs.build_coursiers_stephanois && '; Les Coursiers Stéphanois' || '' }} From 531fcd32006ae952f88310eff1383eb926c16d68 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:58:30 -0700 Subject: [PATCH 64/69] changed: build run name --- .github/workflows/build_android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 0cfec2def..807ae780d 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -2,8 +2,8 @@ name: Build Android run-name: > ${{ inputs.deploy_google_play && format('Release to {0} track', inputs.google_play_track) || 'Build' }} ${{ inputs.tag }} - ${{ inputs.build_official && '; CoopCycle PROD' || '' }} - ${{ inputs.build_official_beta && '; CoopCycle BETA' || '' }} + ${{ inputs.build_official && '; CoopCycle' || '' }} + ${{ inputs.build_official_beta && '; CoopCycle (Beta)' || '' }} ${{ inputs.build_coursiers_stephanois && '; Les Coursiers Stéphanois' || '' }} ${{ inputs.build_naofood && '; Naofood' || '' }} ${{ inputs.build_zampate && '; Zampate' || '' }} From e0578ea263d6438dd3da64e9cbbe1a76214c6ee6 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Tue, 4 Jun 2024 18:01:19 -0700 Subject: [PATCH 65/69] added: customise build run name --- .github/workflows/build_ios.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build_ios.yml b/.github/workflows/build_ios.yml index 44f2ea81a..37ebd3da6 100644 --- a/.github/workflows/build_ios.yml +++ b/.github/workflows/build_ios.yml @@ -1,4 +1,11 @@ name: Build iOS +run-name: > + Upload to App Store ${{ inputs.tag }} + ${{ inputs.build_official && '; CoopCycle' || '' }} + ${{ inputs.build_official_beta && '; CoopCycle (Beta)' || '' }} + ${{ inputs.build_naofood && '; Naofood' || '' }} + ${{ inputs.build_kooglof && '; Kooglof' || '' }} + ${{ inputs.build_robinfood && '; RobinFood' || '' }} on: workflow_dispatch: inputs: From 5fb4ede915df7b88f2416f2e5c2fb8acbf341c21 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Fri, 7 Jun 2024 12:31:49 -0700 Subject: [PATCH 66/69] put back 'redux-actions's `createAction` for events using legacy style --- src/redux/Restaurant/actions.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/redux/Restaurant/actions.js b/src/redux/Restaurant/actions.js index 691105fc0..25c9b7d03 100644 --- a/src/redux/Restaurant/actions.js +++ b/src/redux/Restaurant/actions.js @@ -117,22 +117,22 @@ export const UPDATE_LOOPEAT_FORMATS_SUCCESS = * Action Creators */ -const loadMyRestaurantsRequest = createAction(LOAD_MY_RESTAURANTS_REQUEST); -const loadMyRestaurantsSuccess = createAction(LOAD_MY_RESTAURANTS_SUCCESS); -const loadMyRestaurantsFailure = createAction(LOAD_MY_RESTAURANTS_FAILURE); - -export const loadOrdersRequest = createAction(LOAD_ORDERS_REQUEST); -export const loadOrdersSuccess = createAction(LOAD_ORDERS_SUCCESS); -export const loadOrdersFailure = createAction(LOAD_ORDERS_FAILURE); - -export const loadOrderRequest = createAction(LOAD_ORDER_REQUEST); -export const loadOrderSuccess = createAction(LOAD_ORDER_SUCCESS); -export const loadOrderFailure = createAction(LOAD_ORDER_FAILURE); - -export const loadMenusRequest = createAction(LOAD_MENUS_REQUEST); -export const loadMenusSuccess = createAction(LOAD_MENUS_SUCCESS); -export const loadMenusFailure = createAction(LOAD_MENUS_FAILURE); -export const setCurrentMenu = createAction( +const loadMyRestaurantsRequest = createFsAction(LOAD_MY_RESTAURANTS_REQUEST); +const loadMyRestaurantsSuccess = createFsAction(LOAD_MY_RESTAURANTS_SUCCESS); +const loadMyRestaurantsFailure = createFsAction(LOAD_MY_RESTAURANTS_FAILURE); + +export const loadOrdersRequest = createFsAction(LOAD_ORDERS_REQUEST); +export const loadOrdersSuccess = createFsAction(LOAD_ORDERS_SUCCESS); +export const loadOrdersFailure = createFsAction(LOAD_ORDERS_FAILURE); + +export const loadOrderRequest = createFsAction(LOAD_ORDER_REQUEST); +export const loadOrderSuccess = createFsAction(LOAD_ORDER_SUCCESS); +export const loadOrderFailure = createFsAction(LOAD_ORDER_FAILURE); + +export const loadMenusRequest = createFsAction(LOAD_MENUS_REQUEST); +export const loadMenusSuccess = createFsAction(LOAD_MENUS_SUCCESS); +export const loadMenusFailure = createFsAction(LOAD_MENUS_FAILURE); +export const setCurrentMenu = createFsAction( SET_CURRENT_MENU, (restaurant, menu) => ({ restaurant, menu }), ); From 931f9a2261ef20f527f0591558be19a00802b8f8 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Fri, 21 Jun 2024 15:29:58 -0700 Subject: [PATCH 67/69] added: update task list on the foreground notification --- src/redux/Courier/taskActions.js | 13 +++++++++++-- .../PushNotificationMiddleware/index.js | 15 +++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/redux/Courier/taskActions.js b/src/redux/Courier/taskActions.js index 76c1428ad..e6e45d1f2 100644 --- a/src/redux/Courier/taskActions.js +++ b/src/redux/Courier/taskActions.js @@ -175,7 +175,7 @@ export function navigateAndLoadTasks(selectedDate) { }; } -export function loadTasks(selectedDate, refresh = false) { +export function loadTasks(selectedDate, refresh = false, cb) { return function (dispatch, getState) { const { httpClient } = getState().app; @@ -205,8 +205,17 @@ export function loadTasks(selectedDate, refresh = false) { ), ); } + + if (cb && typeof cb === 'function') { + setTimeout(() => cb(), 0); + } }) - .catch(e => dispatch(loadTasksFailure(e))); + .catch(e => { + dispatch(loadTasksFailure(e)); + if (cb && typeof cb === 'function') { + setTimeout(() => cb(), 0); + } + }); }; } diff --git a/src/redux/middlewares/PushNotificationMiddleware/index.js b/src/redux/middlewares/PushNotificationMiddleware/index.js index 074c6013d..db945bcc5 100644 --- a/src/redux/middlewares/PushNotificationMiddleware/index.js +++ b/src/redux/middlewares/PushNotificationMiddleware/index.js @@ -18,7 +18,7 @@ import tracker from '../../../analytics/Tracker'; import analyticsEvent from '../../../analytics/Event'; import { loadOrder, loadOrderAndNavigate } from '../../Restaurant/actions'; import { EVENT as EVENT_TASK_COLLECTION } from '../../../domain/TaskCollection'; -import { navigateAndLoadTasks } from '../../Courier/taskActions'; +import { loadTasks, navigateAndLoadTasks } from '../../Courier/taskActions'; // As remote push notifications are configured very early, // most of the time the user won't be authenticated @@ -97,13 +97,20 @@ export default ({ getState, dispatch }) => { }), ); break; - case EVENT_TASK_COLLECTION.CHANGED: + case EVENT_TASK_COLLECTION.CHANGED: { + const dateStr = event.data.date; + dispatch( - foregroundPushNotification(event.name, { - date: event.data.date, + loadTasks(moment(dateStr), true, () => { + dispatch( + foregroundPushNotification(event.name, { + date: dateStr, + }), + ); }), ); break; + } default: break; } From 0f3ab4a82247a007c4d4d0ea87290054dad13736 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Fri, 21 Jun 2024 15:46:55 -0700 Subject: [PATCH 68/69] removed `loadTasks` request --- src/components/NotificationModal.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/NotificationModal.js b/src/components/NotificationModal.js index 42bf44dcc..160d40feb 100644 --- a/src/components/NotificationModal.js +++ b/src/components/NotificationModal.js @@ -10,7 +10,6 @@ import FontAwesome from 'react-native-vector-icons/FontAwesome'; import NavigationHolder from '../NavigationHolder'; import { CommonActions } from '@react-navigation/native'; import { useDispatch } from 'react-redux'; -import { loadTasks } from '../redux/Courier'; import { EVENT as EVENT_ORDER } from '../domain/Order'; import { EVENT as EVENT_TASK_COLLECTION } from '../domain/TaskCollection'; @@ -77,7 +76,7 @@ export default function NotificationModal({ notifications, onDismiss }) { ); }; - const _navigateToTasks = date => { + const _navigateToTasks = () => { onDismiss(); NavigationHolder.dispatch( @@ -91,8 +90,6 @@ export default function NotificationModal({ notifications, onDismiss }) { }, }), ); - - dispatch(loadTasks(moment(date))); }; const renderOrderCreated = order => { From 6551483d7413979ed5bec915de07d1936d43715d Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Fri, 21 Jun 2024 15:53:21 -0700 Subject: [PATCH 69/69] Revert "removed `loadTasks` request" This reverts commit 0f3ab4a82247a007c4d4d0ea87290054dad13736. --- src/components/NotificationModal.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/NotificationModal.js b/src/components/NotificationModal.js index 160d40feb..42bf44dcc 100644 --- a/src/components/NotificationModal.js +++ b/src/components/NotificationModal.js @@ -10,6 +10,7 @@ import FontAwesome from 'react-native-vector-icons/FontAwesome'; import NavigationHolder from '../NavigationHolder'; import { CommonActions } from '@react-navigation/native'; import { useDispatch } from 'react-redux'; +import { loadTasks } from '../redux/Courier'; import { EVENT as EVENT_ORDER } from '../domain/Order'; import { EVENT as EVENT_TASK_COLLECTION } from '../domain/TaskCollection'; @@ -76,7 +77,7 @@ export default function NotificationModal({ notifications, onDismiss }) { ); }; - const _navigateToTasks = () => { + const _navigateToTasks = date => { onDismiss(); NavigationHolder.dispatch( @@ -90,6 +91,8 @@ export default function NotificationModal({ notifications, onDismiss }) { }, }), ); + + dispatch(loadTasks(moment(date))); }; const renderOrderCreated = order => {