From 4ca3835f74703b463820678dd873146ac50f35c6 Mon Sep 17 00:00:00 2001 From: 18188916393 <2562295436@qq.com> Date: Wed, 12 Oct 2022 11:54:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=8C=81=E4=BA=BA=E5=B7=A5=E5=8E=8B?= =?UTF-8?q?=E6=9C=BA=E4=B8=8B=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/common/PressureUtil.java | 2 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 2 +- .../service/impl/SendMaterialServiceImpl.java | 40 +++++++++++++++++- .../src/main/java/org/nl/wms/wms.xls | Bin 402432 -> 402944 bytes 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java index ce97817..da0e112 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java @@ -15,7 +15,7 @@ public class PressureUtil { public static String record(JSONObject whereJson) { String device_code = (String) whereJson.get("device_code"); String reason = (String) whereJson.get("reason"); - int qty = (int) whereJson.get("qty"); + int qty =Integer.valueOf((String)whereJson.get("qty")); String record_id = ""; //根据设备查询当前设备以及排产单号 JSONObject joo = WQL.getWO("QSTRUCT_RULE").addParam("flag", "12").addParam("point_code", device_code).process().uniqueResult(0); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 0445321..87d2e63 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -116,7 +116,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (StrUtil.equals(area_type, AreaEnum.YZQY.getCode()) && stewing_time <= 0) { //1.首先更新所有输送线的点位状态 JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", "07").addParam("flag", "4").process().getResultJSONArray(0); - PointUpdateUtil.updatePoint(pointarr); + //PointUpdateUtil.updatePoint(pointarr); //2.找一个合适的输送带 JSONObject pointObj = StructFindUtil.getConveyor(materiralObj); //如果未找到合适的输送带 就去货架 diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/service/impl/SendMaterialServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/service/impl/SendMaterialServiceImpl.java index cea0d18..89328da 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/service/impl/SendMaterialServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/service/impl/SendMaterialServiceImpl.java @@ -1,6 +1,7 @@ package org.nl.wms.pda.sendMaterial.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -12,9 +13,12 @@ import lombok.extern.slf4j.Slf4j; import org.nl.exception.BadRequestException; import org.nl.modules.system.service.UserService; import org.nl.utils.SecurityUtils; +import org.nl.wms.WorkProcedureEnum; import org.nl.wms.database.service.MaterialService; +import org.nl.wms.ext.acs.service.impl.AcsToWmsServiceImpl; import org.nl.wms.pda.sendMaterial.service.SendMaterialService; import org.nl.wms.pda.exception.PdaRequestException; +import org.nl.wms.sch.manage.buss.FmjToPackIngTask; import org.nl.wms.sch.manage.buss.SendMaterialTask; import org.nl.wql.core.bean.WQLObject; import org.springframework.security.crypto.password.PasswordEncoder; @@ -31,6 +35,7 @@ import java.util.Map; @Slf4j public class SendMaterialServiceImpl implements SendMaterialService { private final SendMaterialTask sendMaterialTask; + private final AcsToWmsServiceImpl acsToWmsServiceImpl; @Override public Map queryDevice(Map jsonObject) { @@ -95,7 +100,40 @@ public class SendMaterialServiceImpl implements SendMaterialService { jsonObject.put("vehicle_code", vehicle_code); jsonObject.put("qty", qty); jsonObject.put("is_full", is_full); - sendMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject)); + //假如是压制下料 需要组盘 + String workprocedure_id = param.get("workprocedure_id"); + WQLObject material_table = WQLObject.getWQLObject("md_me_material"); + if (StrUtil.equals(workprocedure_id, WorkProcedureEnum.YZGX.getId())) { + JSONObject groubObj = new JSONObject(); + String material_id = produceInfoByCode.getString("material_id"); + String producetask_id = produceInfoByCode.getString("producetask_id"); + JSONObject materialObj = material_table.query("material_id='" + material_id + "'").uniqueResult(0); + String group_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + groubObj.put("device_id", produceInfoByCode.getString("device_id")); + groubObj.put("group_id", group_id); + groubObj.put("material_id", material_id); + groubObj.put("material_code", materialObj.getString("material_code")); + groubObj.put("material_name", materialObj.getString("material_name")); + //groubObj.put("product_code", product_code); + groubObj.put("cust_id", produceInfoByCode.getString("yh_name")); + groubObj.put("qty", qty); + groubObj.put("producetask_id", producetask_id); + groubObj.put("is_autopackage", "1"); + groubObj.put("is_full", is_full); + groubObj.put("create_id", SecurityUtils.getCurrentUserId()); + groubObj.put("create_name", SecurityUtils.getNickName()); + groubObj.put("create_time", DateUtil.now()); + WQLObject.getWQLObject("st_buss_vehiclegroup").insert(groubObj); + + groubObj.put("type", "1"); + groubObj.put("group_id", group_id); + groubObj.put("producetask_id", producetask_id); + groubObj.put("device_code", start_point_code); + groubObj.put("unqualified_qty", "0"); + acsToWmsServiceImpl.receiveTaskFromAcs(groubObj); + } else { + sendMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject)); + } JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls index db07a12e8abf41cfe437354056ecd398d8351247..7f372ea40b25583a60b9c0ca733b29ca8b04f704 100644 GIT binary patch delta 20390 zcmch92Ygh;xBtwYo89zIDj`ciNC=Qh3Oxl9P)Z8T07(eFNH;(N8$<#Gq+Rp^QUt|- zG$n);LCOOu5&{9cpr{G_RHPTFd1q$sZnlc=^WOiz`?-5}zH{cxX>;bx-9X7Hzmh7y z@$LW zwq~C}?9+*TavFwfV>DO5YO}xw_v_se+DokgFR_UYJje#_WCL$*1CQdklpRp6ErJP6 zXK%xLi}g5_h`o+5d?tKn^a_g5{|awqVDlnI#nQpRH0eN~pZ5P)gnuo8GOzZ3I^h49 zK8y1EUm4v}ASpX2!hbg4rlHV^xqObaE+{RZs?B;=d3eZ9vJ(=0SZ|2|A35@H@Zn%2 z#xs1b9=``)*o({j27G6H%(t zOWe^0o@fJq!4l$9Rg4X8YKIp{OPZ%i7i0WJEdUr3SkVa{9$htEHAvv9FVf?F@P)q2 zaa;5=6h0~kCgwsIiixN6I4U5-tgDQ5`6JYTONS=-2J?ZuH^{h`F)WjgzZ4P2#Rl0L z#u`m$If~Ouw=;YLsIpc^1xTLJVQNn4DJ4gT^(aG8AbbEq#nzMp+`y-`GP^lF#}`OX zTSQQ!CkIJ0lRf(|-H@lzc&;-uI?^E6Z}>|wIx`{)v2YT{9i;Y|VJZB(qZOJc*yvzv zM^guL`cPwf>3K#oDKXPidO0**%le6lcZ@7-th=$J!6ON#^Kg4w^5M8OPca)N+c3H< zms>h@k(3=)h!;v#VQFA`?^Y39C29(@nC7N%uz`cb0tydQxG77Gj&eXOaux3xd+DDel&?0+h~&6+?|IObVORkstJc}L zgDz?xeYfcXk+w%`B&X;m()Tf*QnTpD-aINS<>0t=IWVynMKtZediVAqX~IAc^-Qynln<~J$bg$= z7>-MmlYCc3df_t3J93$d3oormrv7)ZB2}66Rpc`5A|^9<4+56Gj1w+_Okp+^*WJMe z?q~(4vjZP%$(Mvconq!C!vtpdVvvp**G!-#3QP4Aw0+<+f0&O(@4@6-yHP;3!IDzBkY*xhp|R!<5Q4 zUg6v!m*6GR_|9ocRRv}=5E+#k2yny9dK}D1tFQ#qfMwQ#0>(P-Xa#45ZF7qNK6p_>0okN6gPp!BI9uhA+XGr)uM{n z6g37BJEj)0XoVu#!VjFO@v7sl=eRXL(C7m`hUn(>Ty#r+az3G!6EBcbyG1DBVd+*r z%+ec1?&f=gQ5A`)rDrI6i3!eTw?ZGp3K1(EOm7ohi6Bx4H*5;hZdeKyB?o&l0{;*R*h0@YYWh z%q5JhwZ6WmHG=WxfkI8ErR!O$N{jI4)^oJzg<>{6P0EV)>%qk~jzfJmHJ3(@)6L3C zmX!{sM}%{3mh;gn5EH-~_F_pD-AsQxQ}b~_^l6UPB9YOdmJ5RUlfY`VmVd0AUpT#G z#2awMZ-M%P#?aBQ?CJg|_3GI~&0Xp#331^b7L~ZPD>?|C3{>@8md}@y<)mypUrs!6 zDchdr$wq-=w&${9Rw<&)0?m+|5=@T>90%E~;(o2Hb})g=2S_{mErZA|Ig?L2b4=BGgGP@Sk2FkRwUv^vrL8t zW71&fIZWD+9Mq1kKul{dGn?^%v2-G(caZXu{ljf#7<)@z(%@H@v8soKwfRhvn3IMV zORwZCSCiF7nn^&!@ zIH=8~r!Vikh+ys@TTTd-95chDV-q~p%AO~EkQc!VI&hz3rcpuX!X)PGj1z$|t}!a; z^f*lokfaPJB0WyyDby%A8{2{84NWEmFet8+Q){}lUl8Pmcx(T26M$t$gKRVZ@E6b$X(dDqD zn@HP|J%P%iPGn)p%HeRZq*)+v>sv;Dnbde}xpq2OSXq|Jv6ainaq2VWIIH}%0>}L< z@Yg9H)W#6BNVH`x6CBEBCCZVCPh7|tSsKlN>(x^PnqjGcq#D;tIyN@FB5PczfR{?e z6C$FPGPcI<BOsftZi-FvX?T z6VtRtJYiRbT3KZzA*;>Z-2pY=%PbXValmks?aoD0Z10VV?O}l7wV%vP(v6;NABtvk zyuxwPjqE)qmSDSw0z&!Hij$Kn9vxR>>EWjV6#=Ja`AJ8vxMRS-iNqtMs2>8QD_h+0 zNY)-B<^B>b4gIA|iu=Jw>blrna{V=(_6w6BvwskQC$j;xNL{FwHmxts;Ldf+t}wv^iyhmt+6zz&K>WN=GJwQ-n^!f-UHg> zaMxVb;N4Qv)o}bV?Zcn2&pi^p+67lI4tu3R*TQinn`fW20%p@OnLdS2|B5F6dDcjK z^b!UW3m6X`CeMcyX@8ZrMZ91{!RUL7T}M(Z>?X%1jd-n~sCe-Jij@#BI?(;r8_#Gu zmSV2RCyZhQk6suuyHPGhDq}g)p*I~%$BmNsxQo4|p^pc2)y|;c{i_Y&rXtleid}w{ zunDB019Ld$iL$0r%nsKLSvK@>#)u4Q=zKVejl0Rw31|eGinbK|mPN-e7DP5aczStn zn2602pVEMFo__AAR}Kfsk`IUKC(oEGMb(cE>uf*LCZ7bwQHw^c*kS?p7`ur zICw-x#^SPlnR^}P`DEnZ*rOVp>hsFag+F(=+cx_AuhUB>-blQ*p}z3v14|dKQ?EL4 zBz9{_Wo2gVJK=j~{=DK@$kI!t2ZOYar<^GrKhghrNJxjqE1qnB@N1vIKw^&j%;ros<|$sc{vNb2s@vaEigmv4)$Z_M{=`%B!H3F}9^ zzpc*g_0rN(&BZz4Pd(BC3j9wub4~THh;?oL`sud+85HV$Wafqsg`X>q&iLVz#{ToS zWZhf0VS~2qtk3$F&id|r+}8hEv7_(yL|-4DvJD<*c2&>#p;YS+n@@u_Gu_wfxg5y<1%@ZFlRs-Krn^t##WQSDv`F;ChC(-~eSVh~2HS(h^?@TANZZ;@N6W@%Bxp(@!oiHb;w7*B}02%Ify9>T@0iBcJuF z^T>6TQi|$yi)&{G&KtT-_h;UX)<=e(_S*5jkA2pHIl{!^4I3!muT%Gl&Ye}C(`EW+*H)K5J6wO)UY6etI@n=g z`0vlwJ4}_Q9r`1(@N`v1M|p3vjRie!-|#v2Q-#l?NvA6|_G;O(&rglk+&ufi{*#YZ z-dpp!_GZlO*yqI)*A5tvKmBRm&x?=!z2yD-wOzDJQwPOgOZ&CsgvZlv?Aez4=X;lr zbeme~ebc@A-NGdgiiKjIbm8E<$8)En*-z$lzOk~p<&e+PayN`RbgXvFxx3je>x8%= z>GyZ9OYE>ew(`5IKiY2D<)8Q3A%M{RmMWyQKX-&I#Wird<>(7xDF^ES>wCx-3( z@_^5|nBB9!*>UhMw=?Yr`WCg=g6?SXilVCta(_3RY~qEFHYBI+ZWztAL#T;6MuSxFOR5J(k{Y3@o*3HvaEok37F~q~Bu?)M zrUMt0zKqd)ki2Oxj5HwmjNTX(g5>A>U~~>756-}-2?+j0CPv3W@NwB-dJy<*Ka8rt z1;_hibPNO+24aLk;O&Dj`UnI*mxEC?2BJT?hj0I`xb z1*32f?8m7X9R`agPRA$+1S=`TXgFAM5Bytzcj&|20}$LBVJXal;2sJl`xS!w1o(Q` z8yIy5AD^Cw(M}L(IhbP___$~R7o^!DjMQMUrDYiP1wriJ!sts7WX@8Ix`H76mt*7y zg6v*_(PXexqJ+^C5NOvba5-4Y{~e69KY~PEWsC%n==y31J}}k#wJ-q))@L0A5eSyJ z0S1Ckz21Y>0hW?BVbl*Sb!jt38$iIs51=0e+_QxX7+H?d9kAH3t>8kiROgStj~a0C zcF-8UuH1=HJh(JvH`b#6fTVwZjL~wCbk-h-Vvz7^1(+U8wsRjwnczd8Pcb?G0@m%v zs0@6#@c>4t;KSz!F?yd`?huRv%l&Z}f)E6pa1Bp_FnW`i zzU`sM4}l66J#P|w^bG!S1gM4P!!(?S3V6&Xrf<#z9AwcmpV(^|6R-hv(sGar;%t)% z*vJ|a#seG(eN-FD!^Tyvbp0D-HF{%DF0g|Ma*G|PxHV@89=WRUFq0Jn27 zg?c~0DQ3_HOX!B>z{rOdyrux8HDRxa52?UZ5(THxXN{iv$Qn)!Yz?PIRdB6hQ*JkE z8EXSziCe{~@2t_&5VwZYkT%70`NWVb%sMy@+1Dx#ImIdtNzfFR#YcEQ7IcRm;f2^S z9LZmWK5|r7(vVI?Od&_jc-1~ zggWdP*-Airq6M@$Mh2;m=$^F`o(i2-l67n>Uq8lkG>9&f^$HE;znbXZYvi~@p$M;) z_aq8g_+44mUg!h2{_TYnxUJ>4pZG1L1Ayz~k@U7+{-}e{3~!LD`RxwB`E+DpdwSa_ z52d&D@*5odkl()Kw;S}fQTFV_NaE;igZwJL&7rrA@@9HlC7+-E9SwKI(A)u(0f(|?uZ>Q6A z7xs{__sA(oBZue%Ww6nE#O7PxIaR!@`>v<3*}ml@G9F4F8X;bg7blQ$(87WWS_GXC zI4+{8@}?}oH~2L&2I7c=YBZ5R-J-PY(PT0~{x(ba)@c*@RuRKT&QOU#c$4niY+;;Z z*k*D?>1YA+Z6-F~x^cO}7DuP|Nf4wzs!vC`rY(6%*LAFL$pzF*0vRcs{m*LZy3G)R ziN{RxnxbJ2XgHHhl&2R7lkp7sT9GgnZaKyDraM@0(w-F3fyAZ#XKACS(Vyx!O!5Swqg&t&4SJF!*xfocR58XM%xH9B7*OmPBu zy#j}Ec*fI z*jcE`vtB?y^-n<};SHfx0*0T$LW{;u34~UaFdydTEfJ1vQ8$HOh|d-Wg4E!2rwD@9 zBoVZ+A3;A4dS?vTK(kWJzI(zw?D-sQ1^n0{4xTIbLeaYV`@-(#PFu-!y-Q@54df;H z??vQ}?tCD5;2E}^K-yulHv`$X6Ps_{&9-EtGtlQK^qpQnuj@dtOV}2&M4`_F`VWb% zce(DDbQ0tS^lKFQ@h_lnIgng*S4HI!)NabYF{Fh(gdP;5|0eWw5PEN`!EZ+uKfA+R zHdh_ltaF)3a_vLD0{b4GK~U5Zg5KIdki*9Wodgzc7YX|IH-h4CfE?*|@5Qm)WZ zzkEV$z4z$CH;_*pfc}y~AO8Y+yRD?3qtg!ZK%q~QmrWI4(v|HYsjdM3sDyGJho2uI z(ITF!i~54h#YQP(JVaUvq>N)HU@?}EY&rfUNy9^Q+LPoZj7#J#r$_|c{#qck)IB{# zR)zrUc1n8M!&x8tlf)5#;}rNa4mZC^>+Fxi89}P{Q$d$t3xF1rc+Of|vF|4Ec4XtLP|L<5MzONpwd+>QBk{pdwA> zM`68nC!7i(avv6^51ot-Xd80ZLj!QD(>CRI^K{G_>rXj~;hH<;E29}J2mF5F0}6pP$?Hh zDaQN)jG2qN8(LmqJ~9Xl$w@`zPj1O;?vp?}YP>Jxo7aiI_JqO^b){4%fZ;%rrm#2x z3lJG&`vXVb6p($%N>k2yv1L(NmuNfHZ5w`JIH5WkVF4l#?ESBBvA{?u^GN#^Ys$ z$0^`3h`a(VD%dGdq=E@{%0!Voi+$@nhBwg_0t9+PJ@;;0xi?2yH3lU9uj}IGtk^Y`Z5VZ&>0@* zRRA``c@@ms5a(4eYeSq@!K@8&US$&JRWNfyoL9l@4RKxtCTNKBD)47RoL8B~d6h|= zS0Up#uY&V?L!4J3<2bK^Uxymv{H$U~9_MF4rG_{^3o7NJ48^Qxk-a|7;p9PDu;4z+ zf?FQ^h}e(gkzLJvk*N%-1{MQJ7PM$UR2w3@8Y}{N>|}y)DZ39+40wmd_bDQ!k%mvE1>zqCJo0^NdM9MfCH) zWDv<#L_co`qw|XBa>-*7z>IKS4u4GiJJu-7cudwXWV0Vbho`or{c(e(79fZ1hX#qJhmtVAHToTr@15izZ9wB9r>8(1SF*UD3Dj zCmW67QD8QnhNhudx$+5lT~K`@dt{2C!AD>Uhz)cE-h|Ylp0L!9u}#Jmoq=UH?I|f! zAHGM>0xZ%eW@Gm~Co`}^E@bBC@W_6&Jhz_sHXQ}cF>u|3Yb;#j;2ICt9k^bDYmU6X zp2T<*!`BIL(TDw7xR>bqCJ9xdE7P^Hfeg#Cwt zNp9mJ{^^lVwt`wT5?Cxi3kO|D`Az#|oy9=P&JzTC)7>_$eA zQSuNsF~VaQ8KLxhL;rA606%Al*RY&EnuN(aJ;ceLf2u_!2Z(4{(EBO$&0j!2yRB$P`3EcXF)yIs z-cIyz0{RvTeYY3T*L4-c?8Ekw)(Sm6@a!cv-@5o7;`jDAokrn))#7v!CB3RUpDEs< zG6sP2{)NrhIZlRi+y&h?IpR0=SgYGPT-;=b8_9jfilI&_@D`126;jD>j1`AEZOIc+ z;xrLul!*M8&X14Llf+DVR=*GA`e`ePt@l11oYmt+JW^LzC?3Eq$B;2fbU4F&W65Y} z(cI|_D{CC97Mx-6j+al)6kqZfWjLTaLqZ)*#>&rTiV@mrh9kcV@R(*e^1B##xB!o7 zBn6C1dAmRYh{ZI%T|m3(hGzgSkN{pcOyL4k6q2zZ53NRAU}eYQc$~oAiSTm?O?31z z-f{RD2(@C_$Q8`>2BAMNQ0A^6jEeOom@9ZT!!Q1=~{6a;}I`Alt4#1JHL+=;_((AL+M?`>8yg6#7;#(7j@pI9CPq z$qIeK3+RVbiUaJigM6-pMC$537mM*bN5tVSSDNRr|ETJG;oAOJb(4>X!~;*%O|KCb zU|I9GsFH6y6jeI=i{dV4Z7fPbNhle`q8Jnj_ckaV#WAD}VC~>a04xc01Dy88!5_=T zqiCRxg1&e*Iub_CMn%w<0^eeRE(WE-*f#Jjk+mqVR6tV{ECx8Vp){T_APE}Dz$zBr zDJWT&c14^S7<(Jyg>GJV;r2h0(TYNM}Ss$?}@lR`W5(AKLo0S z9cVcF6wrM!9hQ(ad^zBD&|^;jokFj>+}7@BVc*!4q~zF`NU%VBTvBqISTIaNo1|{> z$zYMF_~@9ZSTIFWWaR9kIIux%a!hKwHlTcROqtVDapDU zAKJNgHugrH-FSkZ$bs2h^n`np$YQE3x0C_5z$|+A*u)?LI+Wm zY}Cv)ZEh4*=|;V`Oq)q|s-7!KBIQvkRpg42)^fQ@mA;}xv`+_hm%}CBRH+8TLrVC6 z-Qs0grE-_+RjT3IVehuN)>3!-sPjv%U3)BQUogdUvCm^YKD{QX8E&*OwLCPd z{GzU+M329EvToz1Gc`@SE%|k+d!EnVYxN!B2Mz@7FaN#IdkJH@)z#Ic>AdV!hecTa z*BxY67nMeS;H>hNS30Yj%WYj$mvCD-*jW{*YvHOAu@EpkPPz|Q=_Z~nEqZ~X{@XG>{+j+84!#!aXLb|s-RlgDZ zl5VDtDn{rP7aJEBAKATId}Kmge5~;m;^LUvH@QKJ(lf_=Sf(1OUPnV9dC;`dK&2>=^r5gxoDsR_bS)S!Pe^XPaAQecYLD>^(Ywe*T02KWJJUR?HHZ3)TcH^T>0AnzK1&L% z5pB}vb8~i;9(Q+wCpp2PU|v=)T&wNJYSc8~BI!m%mT5LXn1mpd=;xObmJ)^pZgvsF zq3hY@;1N4cuKIZ&=!3TB|nh)%7?&L58D=Pm}onMS%!8ahF zz>$-!73Gb5whg@pMBT_Iiln};MRR{3ee9XONS`Y#1jy`C%8kdEsf+aLaz5cYvpMdj z_XnSF;y~CU*!z##=Y~K)GY1Ywb#?U2-_!u+Z|V=#v9qPcb+auslK(3ATIV+8lU?|D zSiygGd^qkX&sbPnI*F^ZgoVJ_378}8h@6aPOAYE}LD^5J7tKwg9KuNSQ4N-Nvk zqRrNgDq7%Y;!CC)0vatjq6@*{ej=Za&G`VpuD%>Wl}agnsR;VpF)(~IYU zu)fUNPmaXX6a(>gi;3os;f}hXf0mVATmZj7uaJgYrxIim$EEVrAZb8MC0r~`h$)HX z+B?ce8U?+U#Zr813G@YOLl{DyYV6GY9EO-c+p`nRbHmLE?qq?Xd>kz>Bs@sx3obxf z*f~i0vO$RSXM=julRCk#vxUlm6`WijGtG59r4tE3QfONrb#bC5VZRh)U*Oav1Z~(J zr-knb2U3SPxU#Mz`f$2f+fPv6Q{UL*)c3SQ+2TCH5J@|n`+!E?mY(CZ6Z!g~Flm2- z@DR<7_Ti8Q$7i*+2=K$O#nrZ~oDpk*4se!owzzaRejlu&I~wnkF1M*7y%*AN44PD;hercSnO~DqGyjw%@RvYn!5Ss zCKk_bM>PBFa87UCBso3D!8{$kwm7J31E*KbliDP$#>LxjBz45GG&Ft=YM-*UZS%aH z7H=QfG@D38k-^gC<}vCH&RPSjEeis?z-*xzhw`I4J~egBnZq=L&5~o>N$W$j?(I^F zGotma3RZhAi=czO7^ipC*{PynfE^#^a*8vTvzr#xF;ZwsG>EcJ0&<%sBVY2BX7|=KB>G>kTkQKDD~~)1B(L9BgjWP7Ddv> z8RmOjy?gmpdaqcyoi7U34U?u(zPh;B;A|7;fW8`(kHZU?Wi}UR`8eEG09RBmfYUPr z9PnXb1>BUPErZ$xcIzy&m_8Y@^B-@0j&QZJYmJ8&AXAhsDT!A3A$7{C3LTK{2=p{XCzG5B)F~C zI+&ZUy>HAo^?-w>EQPjKZ_FAF zo}jLGP*yA?j`liq_0R{H8}Fo`v}sX7H5Mm!0N6$K|57;9B+>N_+9#BsRwesz|ATwP~r zP$gR@K(pH}KQz1Ta89ppf*hCjcMg``>C`*KX&p$vypat%%pDHPlQYpLeX%sM%X*ck z-WSDEgRbTbq!s3`-l*}flsQl9tE_SBinPY9buix{sP{;7>oQ!(FehagSp@&7*<;XPOLr$kO~Qz0Sje8N58sBk@d{h;2BTBniaZWKG{ z(^{zP{KKU{+Sy6x^+uo8IoRr<;NH3kdI8HFhZi_n5^0{g>iEo-_VzAeyJNOs+H;cz z_sNnz$_SRe>66bZ(7_!J~!rFoNTk27ED z81WWC_ds^^(%r!{%OZxD?}V)5Y_-pHU_5spD4lQH#`TrL!&xNl7!r+(wqF^-p7`7t zYA$JOk!I5PVN|Wb!*0QQ*WuYAqd{->giaI2DT}2YFw6a_F9cZLbIltkeL3)}sMqcL zrrEi+ICr9hd||rjrE~sn`kf~jHe$V0e`G7^@|&%;j~`iAz;mV2(a{n~@y89Mo3(>n z_`SFMZwv2z)J>S#67jePrH!PPHC%(!%8OtjTi{{AWS$2{g)jhmk>F0~t*WwPQ4 zhQeN6{gT^)`}zW^;qxdro*e2ECLR}#Gv9Jt{RI`rgQ?FoyudX86}SQ;guK{0Lfgo! zs6qMLUGg4vl|I|;vfbq<#@i0Riw*Y$ga$|pkBpUOm4rygOMJIC`gTOHwDosiJWwk9 zt-dgbNO|j`@lYx6LVaNv8%RTcpDPvr7D%b2z{{;5E zJVC1QTbT6xiZ7lh6<(<-jlI%9>VDN1FO#CL*N}>@hT-?6s(;qU%h`D7pJDg|?Ng~n zvr5``tv+7O-q*1AkKnzkRQ7rle%;v)Qvb(2QcU?2ym`d}uAXL`K(TW@2@@do@7afA{-|9Z#SHjrzmoos zI}hnB^`8TKuAgpjbQBtb#-p`4m%GsGAHU$&*O<7z0|;Vr)}@GyC&f6=U|+PiCkM&9 z>-w98Z<`_4z<79M9oL~e&EPWd67oT)!j~b&iV7D<*_=<~0RzCiy0oVu9*?LU{2 zT%}?sVD^-y?q(WCz7JwOj+(;aLRZ&_sF=x;?fS~gu9bfHVbs*j2Btl)U(W6E+tHW_qs!w~o(f7XYjCRf`CSjEOh4bWaiiJ2GTNM6 zFn(g+!x73mA2lldd%@MkGxp32^|@~N!_aE`?mi6WAzaq z?0WO*#HF1pZJgErTJEH-hu5}Qv>~QW-gjN2y0q=Mu7C6VW-s!7`@W>|XY~x9uH0by zbJO>c0S~`xog3zMuuxne97Zduo=i4ucsJ+G!3~O+-bzR-OWg8xm9NKq)1piG->Y*P z{xz)-4+sd$yIR_Ho!6U}e)OoTY>BTid{l?=osOKZ_571Y<6}E63;k(R*{ZNxQLaQ;a(dxQyWiOWs*9sqf1GwM{A^IOC&$;0c`*N1zg|b<*Y7&=XwlvGznEOR zd3pBb=)q^Mf7z*L^%mzJ{2tT%^6+FSyLr3MM$c|^aLP}2?;X$RvhQ5#p29oVOd}#M z)+|l975vYmn1>BI87jR0a_NrmCO^89TQZ@=-{r}V?+XQQeS3Dr9~-MAx^GUF|H^(n z@A2cO2m5Ak+_U)g_QT*-%sQDR2+VDD*Eo4?ez;^64pjPY!)q$b ztB=6Pz>~PD@WoMl$q+UbI>56RFJ4T8a{(OF;g|u3367a?D6yyU24kQb@?_72(cmGI za&v}c=MFZa(Mb9B94^LUGjsyW9na&}l&RyUwuD} zWY}Lnh4XM|NzeV^UwwEW^m8SQvfwu}9|d6K0}J!|${1DhMkq57qit}$0O!`w8^cY( z7|jR8zJzlG+=jLc0mg97uZq!?N(g-s3fun52>DjWs2~s+)BpzXvzY8KjLKjuFtjE{ zXJC7_JshJNRS{|$fzkRAao`o&O;u0cMp9*)r$py+QSFrr(l-$ue2 z6kIeKLIAlEI2NP&px7sQ80`a(x{k-F8YtFrB1VJ3lZE*hEj5Ab=0d)>BN2x!xaK z_BrJGVTg4s(Qq^?MtmPN2vSb1^ywinM_G80CSdTo+>W1QeRS2tp2?x-Ma4`WZCxS%Q%O8tqvM$p@|)xeNq= zV%3*J5`ki_rEnp{^!E>;I>1wdR$|l*Jhf>RMk_!;*EKK?3Ko9E6@2kAMz_IZi`GF1 z!BbuvAdX=W;*DT2d>pt5qXY=4{}yaQ*Fn?WTQOPynzsH7vKTbn`8l{ATvo6HqcXG=@7#cyD|ERdTuXV2cFyYA4oz_u-QJ0{6WDs`yqEgu@>K8 zR2e+C{t!mf!E-K0Ap1eF{~RS4O;Lg_;**~4-~EhH#jhA`{$08C7oH%PX3%{E`U(Xi zg1}S6_T>sQ!3dPs&6tQQY=ztr7=&hm0M5e*JZ2Kx7v}+?(ap>xt|rC=tcOXuDWr;c zI%NXham0l2fY8AlwTAMjf5Y&B5M+`GbE^ob! z_sVPT;23$t9h@kixr2KfgRVkV{4GNWH_H_XLI8G^SFIBoD|PSTHiD^;Kz;*zNE&cM zA+fxS%vCg6MFdie(Lm>bk>zD%iqT+LF#3t()WP;R%>x3*Ec$y^^i?<;dcbfN@np*RrR3}*lMEUGy@&c(>OW8se>Ki z)Tt_NQhmz(Mm^)`0w{2YIE|endYa~raGKV(cs3Udox*N{Nx=@=6Ss|aeC&Ve!{Dp<#t>= z`X{k}xoM*2k%KBF&HQ=9?xl2VEL_Fzk#z;MDMmma#4>vnuqTYXHkXvDYT8S&m{LMM zl&4~$rrfHjFcvS8cQqBdU`h6BCUk^Tzh*)joL2MGRep+025_-F3QlrBir_CFNEZC@ zQu+I2p%$DT@l&t_Sd}T?hkd6cW69x2TTLF3Z7to?H z0y;laK=l?V5TaHF`TgFapZs{8P(vBkN*G5Xmyx5;TfTxDWa`3Y#OX_JK1sZw{Mt@f zy9;l+M=mFqRQftVznnOIDdPqTYuzJ1Al0CE zQoEZ0{RhP9OGz0iT=oJ#rGk-^zU#~Vq_mqV)F6IS$r#l|eZWOi$ym8yx{!yb$Tz18 z*C9>~MM1AH@AOV#iU-icK8w*uzJh+-ej&*p+)W<_QKeb~y;EnC<;r(w zg?k2|pQ_S#e+B*RABBOgK)+n2&v^xX!SBNNH2jxgRipY$eFgp0e*}s6Su%Jggl9Y% zDOdkj2*Kl(#D9g~NZ<+=kY1G_F^Zr?EeKlHg`o32a z7j7GYiBjkk!4x0RRccB_yv(ycO^KCUER`U3W&GAQLMUwE4gz-Q&p#*(T^uXo5K z!DBrcstQC_PL{#R-par4lDdKrEyz_%z@U!>#bW_^?&Gn6tXD6oC4U`CYAZ>r$R}<9 z|DwVP9Io^U>EIsuF}bh8Szysx;_S6fnY)9u^#=N%)hrzF3i{^?jo2K+;cc{w>ME{gvWxNo|bZkT)MA(Ik`HP%a)LN;n8?tahbsuMqgvKO~s| zeG`>__bccl{v|#HACTkklH6J!K|;~>!3VhtzUU}?^g-1iK`huY`RlvnQ@Q9KnP8%w z{QyjTOfpnq2VO1=_Q&*^Z{V6O0^D4xBe*RRwre8+Mmw|-0ZO{};@632tFY5NG9d#@ z(z|3nX@rrYja<;D!k5~}73OwnBR3fB)<*6y+M|s;V6;~odBW&F+Qs`_91q)Qa2Pb;k`8McP!kW!ryr7#T1Qk9eVKqGOh8*zz!4D8i?oxMJtVcF zrZL_}fJYxfznP#`96>IiE%nV2u%a*NpjvT69`KMt=k=K_v`;BtX(@~QGi<%<;%pJOomm~>)N!_hGi;H;6XCF|5;D1&P( z#ZU&`k}fc!X>o!Hk!w65b*k~PIoVIx zB>M@TCMQ+KJjYKm#$6#XXkMLUjOo)`%IKt)CMRt)KdI&TNgK^ivK)^%r3&CVeu@d` zrfPl)1oR?Z4YJQu5?+<(+9_bdlbq(-DVF4Y<#ta=)p(xDrx}a>s*a}_i|(rNr!^f< zGaY*xrPBT`Z4J2^@jA+fYwt9K9)>f{n8_de4oXP5?s$0%v^-yJ%YqH8g zRx{xuTuJ>@u9ZzWn8M12-V6t#a(U}B64LC9Dj}3fIKw2E3-b(LGU;LF&FX5+s36Xe7MQi>s&&r2hf7hBse!>;Mc4ly6QJ%?T3Fz6x! zM%ZO#tGEv+{F0rw{FRURx8ESL0h$!eQ9tn5ATmJS?JEugc!(M*e+Cbf8~KSj01s1P zdSf?;43gLRi5alX8ZO`T6Qlid$WV1Y0Op5~!Ae7a@ehpsnH%Ni0b-tiZ-a=8!6JGX zDWZ$XB3jo%*&iSp>5UA1Fv%FO3xIdiX%7Xmb0Y z0J+jAvA=r&w1nk(BHA{cMkd~%d^%1XN<5a4dqBuD?$QC+8)r-sV?;bmnKV`0gI^m# zMyRp(1cq;tTo}OG--!GC125F^r3qbFR0xnH~}ZJ zR}y>=^A%)2eL^_4jxZ5YkQReCi2s!2sU~=9;=Muqr}Eh8Vo>U5Od7S&n@QuBxuVa> zI8~CjP7>{&^qJ#92z)*H=ydTd1O3=Q?m9y(GK>ZHHk5yvA(|l8eNF0QtbE-h&clu5 z2{T0r$H}gR;xrsD&n^^8aAP@OmRQ1gG?6#Vf{6q&zNt!I>s9ny#a&b% z=r2s4dav-p8=s4XMxbx0(kH%x{;4ANaFwI(z?1w7vq+>e`)jcP%bhZWl}itZgS}RH zPG!M~zV`ih&0QNpNn7 z65vxje2Rsi_eHUD8c;;RI2C2WD?`1eG0?^W^>j21C=&p0iQ?cr6RwT|u4(Y85#yBz zGcDm$B5DGhG8xv=A4oFcf;1+g5lqD>S-*=@s>ai`>Ne!hBRE88Ewt_*z(Mhc>iIF8 z4Rq-M>=}Gk?miPgY}5|Y1@(iKdovo$-UW0|Y(+u%v&R>3ScjiiapgjcVgKY#u^H)& z(i^9Of09yLCPc-9V-llMW78T(g~g_3W`Z{wgC7#6PfJY500(4b#z&>6f#p&0i7i`3 zfys?CqvBhpgQ;n$v5lI3&^zS4j|`n+?}9(v!8b-Y=#wH>INady zfWsROPdL2b@PUK+)K^J;Y}khv&J@3RYPjV3UrUwa4aVwjO(3jsXb>7K_c0hd_?U+| zpkRU!EWbD)hREdxW3)z?BfA-mEv<%KZHFt3##UCd6}H1v7h@Z|fc~eG3ui{S<%6lz zGp*#YF2<(v9v5Sb{KD1fD+jq6Tj2qm%-6K&&o4VY$Zy_$!|n6($n-{M=_Szk(7<2E zOdfS^Z(I4=h#sT5+`ekYHzh5oVvOj}a#NqZ)3SSxJ7UH&HkXr~xp5s<)oeYve%_3Z zW;`*k$0wJ>kJ49+_@Q#?fjZaB_@K74T-!ETQnSsn`!g<_OIed;o_KrPj~(K0dE27z zlkOFZ?{rftxf}P1;?zqw++=SbW0-v3+Zcem$R0k%7jkuPW2jQc*C=8k<_EcfpYdZUM%6g8x5q z;{bNm-~hO)N};kOz<8P9NM%Z}F;3{57N6E6Jtih8AtpUBA>R53_i|6~)G|3dDIuwG zVq8LMV&kNY#z{$;{D9f4wB+z6sZF33QZpOJw2YxgYNqn2im?bQGeeE#f@|hn)|`l3 Pehhw#GP8zprtyCPVoE{F