From 59022553e9d8969cd4922cefae94bd4bfc854413 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 26 May 2023 22:35:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=B3=E8=81=94=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=8D=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrder/PurchaseOrderBusiness.cs | 25 +++++++++--------- .../AssociationPurchaseOrderResponse.cs | 2 ++ BBWYB.Server.Model/Enums.cs | 7 ++--- zh-Hans/FreeSql.resources.dll | Bin 0 -> 28672 bytes 4 files changed, 19 insertions(+), 15 deletions(-) create mode 100644 zh-Hans/FreeSql.resources.dll diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 5357d1d..6d317e3 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -426,7 +426,8 @@ namespace BBWYB.Server.Business PurchaserId = purchaseOrder.PurchaserId, PurchaserName = purchaseOrder.PurchaserName, PurchaserOrderId = purchaseOrder.PurchaseOrderId, - IsEnabled = purchaseOrder.IsEnabled + IsEnabled = purchaseOrder.IsEnabled, + PurchaseMethod = purchaseOrder.PurchaseMethod.Value }; var currentOrderCostDetailList = orderCostDetailList.Where(ocd => ocd.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); @@ -466,7 +467,6 @@ namespace BBWYB.Server.Business if (request.AssociationPurchaseOrderList == null || request.AssociationPurchaseOrderList.Count() == 0) throw new BusinessException("缺少采购单信息"); - var dbPurchaseOrderList = fsql.Select().Where(opi => opi.OrderId == request.OrderId).ToList(); var dbInvalidPurchaseOrderIdList = dbPurchaseOrderList.Where(opi => !opi.IsEnabled).Select(opi => opi.PurchaseOrderId).ToList(); @@ -500,7 +500,7 @@ namespace BBWYB.Server.Business IsEnabled = true, BelongSkuIds = string.Join(",", purchaseOrder.AssocationOrderCostDetailList.Select(x => x.SkuId)), CreateTime = DateTime.Now, - PurchaseMethod = Enums.PurchaseMethod.线下采购, + PurchaseMethod = Enums.PurchaseMethod.关联外部单, PurchaseOrderId = purchaseOrder.PurchaserOrderId, PurchasePlatform = purchaseOrder.PurchasePlatform, PurchaserId = purchaseOrder.PurchaserId, @@ -522,7 +522,8 @@ namespace BBWYB.Server.Business ProductId = dbOrderSku.ProductId, SkuId = assOrderCostDetail.SkuId, PurchaseFreight = avgFreight, - TotalCost = assOrderCostDetail.SkuAmount + avgFreight + TotalCost = assOrderCostDetail.SkuAmount + avgFreight, + PurchaseOrderId = purchaseOrder.PurchaserOrderId }; insertOrderCostDetailList.Add(orderCostDetail); } @@ -597,19 +598,17 @@ namespace BBWYB.Server.Business } insertOrderCost?.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); + if (dbOrder.OrderState == Enums.OrderState.待付款) + fsql.Update(dbOrder.Id).Set(o => o.OrderState, Enums.OrderState.待出库).ExecuteAffrows(); }); } public void SetHistoryPurchaseOrder(SetHistoryPurchaseOrderRequest request) { - var dbOrderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == request.OrderId) - .ToList(); + var dbOrderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == request.OrderId).ToList(); var dbOrderCost = fsql.Select(request.OrderId).ToOne(); var dbOrder = fsql.Select(request.OrderId).ToOne(); - var invalidCost = dbOrderCostDetailList.Sum(ocd => ocd.SkuAmount + ocd.PurchaseFreight); - - //orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; try { dbOrderCost.PurchaseAmount = dbOrderCostDetailList.Where(ocd => ocd.PurchaseOrderId != request.PurchaseOrderId).Sum(ocd => ocd.TotalCost); @@ -958,14 +957,16 @@ namespace BBWYB.Server.Business if (dbOrderCostDetails.Count() == 0) throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的明细成本"); - var dbOrderPurchaseRelationInfos = fsql.Select().Where(x => x.OrderId == dbOrder.Id).ToList(); - if (dbOrderPurchaseRelationInfos.Count() == 0) - throw new Exception($"采购单{purchaseOrderId}-未查询到采购单关联明细,手动关联的采购单不支持改价"); var dbOrderPurchaseInfoList = fsql.Select().Where(opi => opi.OrderId == orderPurchaseInfo.OrderId && opi.IsEnabled == true).ToList(); if (dbOrderPurchaseInfoList.Count() == 0) throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的采购单集合"); + var dbPurchaseOrderIdList = dbOrderPurchaseInfoList.Select(x => x.PurchaseOrderId).ToList(); + var dbOrderPurchaseRelationInfos = fsql.Select().Where(x => dbPurchaseOrderIdList.Contains(x.PurchaseOrderId)).ToList(); + if (dbOrderPurchaseRelationInfos.Count() == 0) + throw new Exception($"采购单{purchaseOrderId}-未查询到采购单关联明细,手动关联的采购单不支持改价"); + List> updateOrderCostDetailList = new List>(); IUpdate updateOrderCost = null; diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs index 095d7f8..6291511 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs @@ -50,6 +50,8 @@ /// public bool IsEnabled { get; set; } + public Enums.PurchaseMethod PurchaseMethod { get; set; } + /// /// 订单成本明细列表 /// diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs index 69e6ec5..449fcec 100644 --- a/BBWYB.Server.Model/Enums.cs +++ b/BBWYB.Server.Model/Enums.cs @@ -16,12 +16,13 @@ } /// - /// 采购方式 线上采购 = 0,线下采购 = 1 + /// 采购方式 线上采购 = 0,关联外部单 = 1,手动下单 = 2 /// public enum PurchaseMethod { 线上采购 = 0, - 线下采购 = 1 + 关联外部单 = 1, + 手动下单 = 2 } /// @@ -85,7 +86,7 @@ 暂停 = 7, 已退款 = 8, Unknow = 100, - 待配置 = 101, + 待配置 = 101, } /// diff --git a/zh-Hans/FreeSql.resources.dll b/zh-Hans/FreeSql.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..5eb0c06903c40b19e1f0410ac89e29c5d2195774 GIT binary patch literal 28672 zcmeHw34B!5+4s4K2-dn3_w^D$0)zn)mIQ&4g+MeRkpx^o<7DP088ev)GZQ3^(Evii z5)$?u6Ba?rt`!IYTv}_jE^oEgE^ak5nfSKVuisl+t=0GcoO93IJ4+C--}nCd`@I7* zbLZZ3p7We%f1Y#hP2RoD>;lGEPrSeRhOuM#rq?9?dFGEgT)y;{woBPFeO~K#Ov!z% zUs1Wkt5$j3Wgcs#YO}grZl7ABsh(<=>Ts!9`Gsnw+pbx@|NV;x=%5QGGnT7dz+Sg9 zyBzI9)}!C|lWE+H)EIc;~oNUIzjmJ*N6DT`KcExnAarqx}5(v zzV)A?HT&vu#`5X7g|WLY)K8kfo@4A1^Y61gR>P?C9=-8caeqE z-sYFe*aH@i*JHy;j#~>3df{D;x9K$r?6P zE}J)|Dl}}G8Ky)SE&cYh6Pph;{*Szj(k4^K2kEUx@ zyXHw!E4?E5{w1lI)lOfvN1Nc%s(l`-Gf6F|E^#_+cW5<5 z?h4H{p=9h>>uB5PF(cDbMrk8b)B48_R_*dRDm6KJq2?pLwCYqWNYA4GeG>OBe5g;q z#jm-V7C+GTe-?lK#@PB+SD@kkj;%`u?fvEQ)Y9t4%~Q8DKL2{-ii5T7P0#h(*W5n! z^y+nM{_kqfgBNbPZuFK-?>BGVGWPS!TL#*jTArA=sddeTFSPz~;cvEIG4rw=gRcJJ zj;Bhu?x^Yi*e>g1`=2c9^Vq(}EXVhM_NTY^zcFRT;k_@lcSU+x5n+Gu1ce*W&$XTl-rd)gN*G;oVQRfBgIt$sPZE``*AEEjht^k{;-+ z?`7?p`_9g;A$$JV)$sNse?Io=n7{XZD*f-HTYm7xhU3?K@#qI>U%JK~{W9U}%m4Aq zB`IG`PO8Uz*rHYfIvbKN&Xo=qG)Kp3u|sqSbTTx`=6E;4Ef!!riT_xzUR@aZTH^y+~8Tcsg3u& z_{Ed=fAL>O@4w;YKi{8t&-3<_N4J(v*!^y4YOlx313SMgUs%z@v1R?85Bg_LtoUMg zkIJ;RLzS0WE}8Sgugg83dHZ{J{&kw))djBy-eje@Uu z8~A($xNoE1gO|ayVqVjLdp+R(5o2^=PJ@A8f8dbbkFghSWo#I(9YLECoO=~GJODf& z1-@Sc=3ZRukMZvZJ?=vP)0o%07;iJidKY8g0C>wmw+|8-`wOmpg7IuP{sb_-2A(OP z7;TaT? z?$4mlB(&WHxNrAnY!3P~_5#0w!%oo5k83OYFm@ksz7F35fbS0QZ#8H>A2{6(SW`iR z;^Bak&b+LMSy>5lGL03p0_I_ER)u2^^RXH>4c999m28~%;Mj`ulW|1tJea~c0hxwQ zK9PCI~yflao4Mnkkx%%%VjAHJvK+Y3O|7~h8D26P`4uX_<( zH=+3uTyrsyp2wS40f+-lVcIcVz6ok%f-J+G`RIl4XCN$YAu=$iENt3hp_>HSYcR$=Hnup zOI|p^JwhTL6={|l{_RKiWTF^RgD56wl*xJF;%6lZ3Ncj=CsG;v6}nwQjVkfafeZa0 z@RQ>8B60~45&}~Q&Qk|58{&kAqv-*`2LniICYa|%1A?86ro<{cXIT{h5pRg%cEoWt zI7{b9-n?uUI*&JZjz4jtAb}xqa)IfF+Pnz>VDiA|)XQorTg&1FlZ|BXgV) z*_Eh8s5*dN9>DlOV>i&2Y%XT8V15fQ_HzXzFd;&ch-ZN+E(}auv2pr2ah`~5hI<># zSE|r>D+IfS8<%1x43GSk13)$|2Sh7k35matJ%!F$(p*f(SVTslctRemz=QCKs~eqUIIj@1~yKPgOG1BV{V+G;ap&hPX|_lGsK8_=#~_(TX)Xl9dxiv<_skDs{uFi z0E=cWj0%~3;tE~410&S1{%~G%qq~sO-3dY!vq+MA!CWFM5jhoCrC8F$s&JNEml%=+ z(!r-oLPPi(LyLjE%!Z+}B8L_Lh4Kn^kl7;NM4o~)m6#!om6u;9-IUQ(4Ye{%On-z1NcUsGkgbyL zTiRf0sf1e)N*u3m3xJlyyAU5JP27fm(x;O65@WQmV5gg|8}kTZm{HNToM>ncRSbhY zlT(_gI|T90q-=~z=EUHSG&e?MAvl}^JV+M^AHip`_R|T-6v&tryd;F<%U3=IAYbO; z?wU*!sS!CT>NgKSEEKVjV>3JnDW{C6gjg6;+Kny+BFKr9R4;H4G7`xjgNufJCrd(8 z7t*b=-vj9FQ#ndBwiL}$G!srTQWWF0Ap0tevz?_Nu+GYXMR9RGlOPPAF02!Qr(lur zCcX)CBjzUDM;QQ36lR|+j~!!B=;7k(AqXzm>fky@u52!Vmf>6S^(BCq-5rQC(<>hX zk!FergnnspC|r!}!FhfI&?IHpCoF~!v-DsfL7+%CC-wJ_7;yaA4=B4C`fNi^^T4?S zh_Aif>FMVfWK85B@#IrtX9hkAxy{V;>uQ*)$o^7lW&`xyk(bUED+6?QQ>NUIODh=! zaxXLx#f`!^&_I!S6X}{E0i-4$0z@Kpiv=MmW$^JD^}i8HU1^x>c~io#89ffL8&}s#o66;Hlr;gkSy@U1{^8=Af-3V(`JAwlHybZ z6y>pSA7+Mj=M%`Jlhvbav<%-ADBIW{0613yiv%oKK*1;ZEQ&73K9FH2pGm0}(A}a@ir`nGG8m4mxKAIW^XS0U!N; zF`y6^Gi2erijiWF4t}jYgikG z)A>hMFkV9WS2WS7(OnZ^o2zucFJmT#r+yp2=r~(APg&S7uIyA-J~(T-}Uqz!ihVU52jPA2Ir zW7`2B=}Z8qWI}P9h7MG$yA112w~GMaUlC`n1Gs7Nz;*8ezRf;Q#Y)$Zcp!x|MOtn| zQfQua=3HLz$IKmJ3L^tcn|dCABC!z>!D#@Rdaf8nTV5%$UjSIfxdJm3Sr(hh`yqph z1w(0>T+}c!mgo}D)98Go=uCD;Bn0N-+pB1hOrk5QI8?ukFOw7!iKN8~iToS7jf(6h z?SD0zNrYk-?#dHjk|HTav!E`dFtWHV%ID@pSOjPkFpAuj)R{u~cL6XdKETN8mt141 z#S&>^WQW+QEzy>evn^;m{=2MAoC1K$X;zdBQPq(G-7j!5dpeZb6;^R`G8fP3l5Zhf z5?xPIu$Y`$$f;)(V?|@)6O}VaA*miF6f+%Xq+J<@&KcBMmP5^HqyR!Gr6_hgklh>g zIdgt=1YpJqFjTjv8Ag_V??OicB-UYQdN#D9f-yPSf1vw#>Tc#2EdmHXE}9XmDNZNL zN0?DKCXK-Ofhflc0B+2+d&h4O`6YDWD1Te5V00n;WGVDLbf0=|BbvJl>64D5FV^&D z|Eqw-o6l|xP#^{%<)q-I5*)IFE0in}7b1x-V_rH-#R{1m%L+JY#$AK3#`tYOrRYhA zU4@~=0*+zlq8Sz$fvId22D+67%7U22i+v0hb)sqZ*)^ppQn}6?NRWida^1~|@Q!B! zWmW)T?&6W2jG|n-n{I#~ z&Lt{C3u{W#bLi_*KS#6MsTtW2!z@Hs9jS}4iej!v($r+a;$;^M#%31+XRa2AwN~m* z$Z0GcjksaTgNoCh2ru8`K_Wz%fmkXNbB_&vbI_SxGz>E;bZIlL(T*l>|O_fxU33j#p$nVva_n;UO0x3>C4LY`)pv=K&C>Ej6Q+ zS6Yvv4rcciITcZq_%%8v5oIEvVQM7zHKwIgX$2-G=|W|!&_~O81)7W@n6eKkg;AI5 zPQr=hUUVH|?n=TXw}cR5Xi1DHFE(&(M|1A2l8nKq`}ru0S(#Mc0T`jrH6}pOecuNVz_l zI2U^eU|>Ja28=;88RPv3ogukr(^)V`*lrnW$bBO+PI?94CY=j7k^!+b$xzXr7RIhG z!nPGdRLnjk8JClc*3xDXWyvRyP7*H+XP1c%sZtauc9zH8X{gzt_|bWy>|nr*WQp+6 z#PN8M=U#vqBSFYTc)8~%R-(+P2herA(bXLH5g>CQD;Ptzzyo&5%1i>bH{NUjFi$`d z?oKqZM0zx7cgTpv+viYe_=X?Sb~Dt~DD&2M;O*F}>!^L*vkaQ=KOd zbZ&Y)aCjT_YHn2hR$t{5kGs0cJJaf{)@s#`V~xQL2h}XAPb3NsM%Q2jQyv%1n%s|?I6uXa_afu&D`7M|=lzAUh$ z5hwdI%R(b`SnmgKdDkDOtw*^=13hX=_dS(~R zuYPf0XMLcdKG?WDu;|&26YBsI1Pg9yBw}pbqj)o`y*_uP8hUbm@bCgP+o3t_YM^aR z=-@64Onhiq99VLMU>$$9^mxbV*5LeuYOV5=5~|-DIIyYX_>wS51d)U&0HBaK)vwK~O3BlFzBI>=ouhot0Gs-FMis9Zr%~E;Q*r zh-yi-Pm>l%DG#oOLT$k?knCXN0l~#YKNQQFk6a;vARb}$5dg$jcPW+wW5 zWZvj7wh!=FSp`0>TcAuJ+ce$kD$}Isa_n`{?W$WJXgb=x=qhvKcb_%#K2>lM zMx(3s1mql~slf{pLtn%4@{FTlc6-DRb?Q|8cl7CTm6b|O=)j@C$+b{GZbljd`!~QW zkrFkm3)L<9xUM#&0s%3=Q zabj1;v1Niu9mn=#n!z;(gUjc4o_IXa+z{A_iF4q$#Q>+KG4O@A5Dp3US9m*RK2w9OA-YF2Y|xR zW9kS`<~Z*v*F3;@fDEP39wO4Y;t)}mhZl&3^w3HfHYLOA)zsjo1;O=jemZxBaRKiG zJJ(S!?jSq&J*lK{Ge*)w_=JDds-0_|2sXe$FBWgUT!JS6C^_DBQAn0n$7L9*DCixOp~)pxcFQAl~u`t(n1|V+kX@| zeX?^cg%x2XS982MWiGb|^2Vb|5~|h%p#wW9E*$PfY)Fwp6~Bp7S*PT0?oa*=2)(%#x%|tqDT%6X*61!Cl9y+}yuz4E< zUf8(6s^wuSPIhXQn#)JJ4yoipy>PEe^V!iL%AiEeO|@DOu~R6Hu*+*HvQ}t`BL`c! z&L!F~VVlM3u&Wa$prOM)SdzjzVIuMZ6Db5GrkW`srZ!SXI?Rf&!4Qavz?EdqY$TNH zbx1lR&67|jc7F}b>)O1SEIF4&NWGpcm=IGk&e;F#@Ee^Ygu;^J@*;`IarxYdgDLpx zs#_9V_LLZYoa(nngiuOy+-~OC#rDY;L*(n(j_xaiOLimpP%AYL;wcA)*MlmP_w3Gb z=0yS=Kaphr>CH$N1b}Uk};o{(gEtBW@G#ADAUQ4d^;hJ2x)s6(gVs|>hJ18ge#K5UK z*<|F07rFCY8a{K8i>tyADK9I))EI^6YOG~nC+Lc>0g9mgfv)4!eRBLaBz3S*{h%74SXds#*yuW znIfOe^E)`<^OVmhrb0No);|O2kwS}jCayH9@w8mo^FM@)StUi36DA5Y8aj(y5od7B zRU9Xjk--fusI3Ir7X*$SBdv2G{zT@^6%@3km_!!(^t4V(x4SKQyzErqb~{ys3S^3? z+65U$<{`3py?BL6O*7SuL;;OAI2znQRXSn8fsbBW<6%B<0!IRipH^mfwv!4;V@>HM zN&bnB-#^^t*;YMiUN z%6#R#j3cWBt;(752Q#|5RXV+a5)-qB3pB6)wEYR4C!nBkVTo3RjtCi}QWC;+zlg{L z%{zCW2=3p7up?BrP&LJ9aDnx~)*Vy{$%3?+F@dxi9y&4!feSQy0+q5Ep-IZgvnBpn zxk>41g{$L4HakXnS$Bm|*B6NDksg?aJ%Oyqi4;#%FodBXDl9l#{G)7Zl*5Eex1GPk zTzZ~J2!5HJON{p+8W|1DV%wef@tB3;oU|#LL?T*>2qh56>yZ*S#AKvP9JPwSyRxTl zyhUwW=pY2#TphxKhp&)7UP-q$hqi_euBEeCh~0%q7;RL&3UKThUdG@hsVgG}5pu06 z34Xf>(o`S}2Sm|b!+OEkBl0uCfKnO*0rfAxTP()VpX86DPl2C z1Y~i`PD%y*ioeQ@XO-3PNx-k`P^>R z=|;k;7Vxeh3tFLdrnSmybNFfy#iJS-d9GG@oTAh2NAm-KpyXhco`vSF_Q9gLeO70o zMuk4GT2%bJNjT8PspURjm3Q3m;bjhAd36a&IF-ZgZl6o@;W=&Ea6LjBj^cx@nlGq% zhmRbQI#M}EXz);!(hkhn%=9zZP(7hEY&7}tv+|VT%&|63T1ZKx(I9T(xbZwOj-EtUSbv39gH;Q;QNide zGaW*2%bsw&q7r4}R+@!Zg}Z^PQ*ydTRMcVNuJiUTmb$ zTq;!t-CoW99W;7un&OHbuyg6NSk|XdfNvbYq&xR737lGl{S$$vLt?3~bI&r^%HaI% zSO`S5iHhR9A`VgX&p~jc9CVVA|QbN_FaF*2gv{_i@<*TmPIY3(qh?jhO zgP15~!_$xr6V}R2q>-q~IyA2?hG@i>aA|9XV%qwlrw52ddxXazHl}f zkK**zps4NeIjl~{!`K^y9YBGGt%2Rk0?XHhry?c+1ypl%XQRT}h}}0oB$4#tDYw$C zX5gu-6{=ON{=s9b4_O^PwbbpwHYA&SuI8yh(c384D)owBM&Qt5HRsN1TqmxM*K5%n z>O_6Dl-RD9)FZExcx-OLWo)1k)oRo)h!nt57BI}EXoqW#B|KDtp13Pl>6>#Pko&NM z=7^ZTGAeq8ahm~!@Twc7a4VJWnhC)cn%UKQ99g~|-A~llAypjkwcWt+r=i0L&*!C% zQ6Ev~jTwbe^zLhp)4nP>IXMRlitY{{b`tOvztgCNs8&yr}96C zZ(7Xs^nERMYZVr#_1#-~$eM|*MKtruN(h}&_$^&KPAn23XJptf3qE8evCD1SixX6XYNo;A{vV@e4FUl+9OR;#buaAWnuY@$}d^7@n7oT3zQbjhR^gk$S&mb z9gEWFhpm;FBO{XdKO`M8T~_s^!xJ9 z8NtIX$_(r>LTZ_q@3a$+@Tb_tP~vvlIrFe}PHtEV7jlmtk(E=O!z%id5#f6ygKLh{ zR)op&Dsnpkg*9@m zKez;ovTMc4n#rrsqpnfVMR7j7W*0iW0R?1}XHjY61>e7;Xz^rvsG3tcc^=|vZB#u<-EB1K5R|#W!jc zVHYK}mfHtJQBfJH$5?(hvR>}?Daj6lC36A#g-*{$jaErNhsLA|vZD}$5vY?ZHw%#_ z`@r{R$n7Va{M^7Pnf^I$?BJLKJdtNln~|FfKwTSmc5U4zn#!`cFcb(PWxR)!yVUCR z(vn_s^adgrP?!gr3~it})I=+=3H}nT%;BPK(zR-Wa#K_v(U$nnHxs8uT}F2s-(xqE z@5+*}v3m;v5}7mFr%14sq}ZMu8R8S)gUoAne8UrT?y{ofh^-RJnDBNaeS>4zCSbEn z$Ejt|^*_{Yak|Tj{j|?9FVAkT{X^YWWtg8=OHi4hZzBK}-c1%3+f?E^c3`JT*80%e zU1|tGcsQLPV&Ar@NUz)$Z=`THvVMF)L~J=B#+z1efu^tA$^}zcSAm8wL!ko{sKD8F z)wPKFnbKEZB@@lWAj(a8bG}O|4}>$ z3e8gS?l1O^d#S|+JYTjqU7u0NT5yc#MX~-O+pC@0L?-_p0So^zfl|GA!P3266t0~$MGl`+ z3vYvE7FxCoU(C|HHjje`3q}*!69Hot3~%fO1U>d@n=kf4jtj|5CC`8H69&# z&7#+@%50yIG4Qf+w$rTl(T8Wxyl&KoORjvN;P%-+`Q)?Kn+kVM`~Hi!Er0B(^q=)q z73I>p7O;o)ti#jI0izcB6>GFz4-g17` zzlYcM=wEyE{=xF+uK(y4o<)PIpK^U>y|C}zq`&kWHRABG^%pg~b869VUz#{8_{5RF z&%EO6o`Fxx-rQ_&`DO79fg5}0PTv0Lk&i}wIsdbqn|@k2CZS``-0WK{HN}0EH(%C% z|8mDih5P1R+k4!F!wR3eL}3@{^kS^;j|!^`>OXnCmZ~q)^RPoowM;{m7PLy@N7=Ne z^&z*XB1uh0N_w{y+c_OBi<;w8z13A!ZV$Fq=hYyB#b2~=dwpe~C>_H;6>1*jtVyUr zQ*gsiA;C(*jTj!S#Nk0fCli5FMY+4$i?c{7y}qmrG`E-7@QIsnN|IC&oF}OrZEe_K z-BrJ`eN^>j`D)p`0**N-*`WJO&754l&^)%sj-bJ=XS z-J{*@!2bF>9WFeGUST6rEXkHJX(NW(ZKLdCN0g)_kG7?yri|3=$)nS3Hf!m~w9?U9 z%Gk8ABhp5s*heShk@?Vay_aPKc+CbZqEGRfNXM%FBkD{3jTCXZ7!R^7*@H+>e**K=x$)2BnO}f?tRug}Pp@;nbA-^jAt`8}u`IUtq3ZT;cpLCBV z-Qi2O`<3FRLwXG$^~IfqbayD-c}F8%itGoF%nma+V;7ktSs2I!qSO6NCZesWH$6pe3 zdhiL|l1O*w(tXGDSWG%Eu%(-e<+JGNtoiO~qZK_5L*Po(A~+@d+s+};g9z!S!3x|B zOHcoyTM4PJc#sf{O;1A*(Cz4H(~pUN^qa1nYI?GqzT2h^y5~PuzBP@G@2|OK!S&6F z)pUGU;h=lu@n?^{yNS+8%9wA$Bt93gYr=f0;<8};`3Slm$*-sm?I{lpXar97s9i^+J8VQG*r z3zxB61Uw3tYVoWKy4l+anGtdkJ%)wz!u%&Fyntgz4~okYp98K_7aLt_%>={(JvT1&m4UnK44HueZkGx6*YyM8mQF^gze41YRfByfmqA5F1H zdJV-qZJ@E8jRoaO5QQbP(KwR^ex(2!$rhbS!#Nw~P>OSD_#BNZDd>~N`w`_+&~h}| x(rY~D8Qq~wQcO?1r>D`VQO|wH-*<__I}YIA<)co-^97^-T@e0XJpYvx_-|(+n6v-@ literal 0 HcmV?d00001