From a019d634cb832410ed1d78d111487a925d584f87 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Sat, 5 Jul 2025 19:07:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8D=95No.184013=20?= =?UTF-8?q?=E5=88=86=E5=89=B2=E5=AE=A2=E6=88=B7=E7=AB=AF=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E2=80=9C=E5=8E=BB=E7=9A=AE=E5=8A=9F=E8=83=BD=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ButcherFactory.AutoUpdate.csproj | 9 +- .../Properties/Resources.Designer.cs | 108 +++--- .../Properties/Settings.Designer.cs | 40 +- ButcherFactory.AutoUpdate/app.config | 3 + ButcherFactory.BO/ButcherFactory.BO.csproj | 4 +- ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs | 2 +- ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs | 2 +- ButcherFactory.BO/LocalBL/CarcassTakeOutBL.cs | 2 +- .../LocalBL/FormClientGoodsSetBL.cs | 8 +- ButcherFactory.BO/LocalBL/SegmentPickUpBL.cs | 2 +- .../LocalBL/SegmentProductionBL.cs | 24 +- .../LocalBL/WeightCountEntityBL.cs | 4 +- ButcherFactory.BO/Utils/Extensions.cs | 2 +- .../ButcherFactory.Form.csproj | 8 +- .../Controls/WeightControl.Designer.cs | 1 + ButcherFactory.Form/Controls/WeightControl.cs | 7 +- .../Dialogs/AddWeightRecord.cs | 2 +- .../Properties/Resources.Designer.cs | 6 +- .../SegmentProductionAuto_/CallLibrary.cs | 38 ++ .../SegmentProductionAuto_/ScaleLibrary.dll | Bin 0 -> 235520 bytes .../SegmentProductionAutoForm.Designer.cs | 353 +++++++++++------- .../SegmentProductionAutoForm.cs | 224 ++++++++++- .../SegmentProductionAutoForm.resx | 6 + .../SegmentProductionAuto_/Utils.cs | 19 + .../SegmentProductionAuto_/WeightStatus.cs | 41 ++ .../SegmentProductionPrint.cs | 4 +- .../SegmentProduction_/SegmentSumCodePrint.cs | 2 +- .../WeightCount_/WeightCountPrint.cs | 2 +- ButcherFactory.Login/App.xaml.cs | 4 +- .../ButcherFactory.Login.csproj | 7 +- ButcherFactory.Login/Login.xaml.cs | 15 +- ButcherFactory.Login/app.config | 3 + .../ButcherFactory.Tools.csproj | 5 +- ButcherFactory.Tools/MainWindow.xaml.cs | 28 +- .../Properties/Resources.Designer.cs | 6 +- ButcherFactory.Tools/app.config | 3 + 36 files changed, 713 insertions(+), 281 deletions(-) create mode 100644 ButcherFactory.AutoUpdate/app.config create mode 100644 ButcherFactory.Form/SegmentProductionAuto_/CallLibrary.cs create mode 100644 ButcherFactory.Form/SegmentProductionAuto_/ScaleLibrary.dll create mode 100644 ButcherFactory.Form/SegmentProductionAuto_/Utils.cs create mode 100644 ButcherFactory.Form/SegmentProductionAuto_/WeightStatus.cs create mode 100644 ButcherFactory.Login/app.config create mode 100644 ButcherFactory.Tools/app.config diff --git a/ButcherFactory.AutoUpdate/ButcherFactory.AutoUpdate.csproj b/ButcherFactory.AutoUpdate/ButcherFactory.AutoUpdate.csproj index 2823ace..9839642 100644 --- a/ButcherFactory.AutoUpdate/ButcherFactory.AutoUpdate.csproj +++ b/ButcherFactory.AutoUpdate/ButcherFactory.AutoUpdate.csproj @@ -9,8 +9,9 @@ Properties ButcherFactory.AutoUpdate ButcherFactory.AutoUpdate - v4.0 + v4.8 512 + AnyCPU @@ -21,15 +22,17 @@ DEBUG;TRACE prompt 4 + false - AnyCPU + x86 pdbonly true bin\Release\ TRACE prompt 4 + false @@ -64,7 +67,9 @@ True Resources.resx + True + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/ButcherFactory.AutoUpdate/Properties/Resources.Designer.cs b/ButcherFactory.AutoUpdate/Properties/Resources.Designer.cs index a955ccf..4a04ac2 100644 --- a/ButcherFactory.AutoUpdate/Properties/Resources.Designer.cs +++ b/ButcherFactory.AutoUpdate/Properties/Resources.Designer.cs @@ -1,71 +1,63 @@ //------------------------------------------------------------------------------ // // 此代码由工具生成。 -// 运行时版本: 4.0.30319.42000 +// 运行时版本:4.0.30319.42000 // // 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将丢失。 +// 重新生成代码,这些更改将会丢失。 // //------------------------------------------------------------------------------ -namespace ButcherFactory.AutoUpdate.Properties -{ - - - /// - /// 一个强类型的资源类,用于查找本地化的字符串等。 - /// - // 此类是由 StronglyTypedResourceBuilder - // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 - // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen - // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { - } - +namespace ButcherFactory.AutoUpdate.Properties { + using System; + + /// - /// 返回此类使用的、缓存的 ResourceManager 实例。 + /// 一个强类型的资源类,用于查找本地化的字符串等。 /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ButcherFactory.AutoUpdate.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ButcherFactory.AutoUpdate.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } } - return resourceMan; - } - } - - /// - /// 为所有资源查找重写当前线程的 CurrentUICulture 属性, - /// 方法是使用此强类型资源类。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { - return resourceCulture; - } - set - { - resourceCulture = value; - } } - } } diff --git a/ButcherFactory.AutoUpdate/Properties/Settings.Designer.cs b/ButcherFactory.AutoUpdate/Properties/Settings.Designer.cs index 6645aee..f023ab2 100644 --- a/ButcherFactory.AutoUpdate/Properties/Settings.Designer.cs +++ b/ButcherFactory.AutoUpdate/Properties/Settings.Designer.cs @@ -1,30 +1,26 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 // //------------------------------------------------------------------------------ -namespace ButcherFactory.AutoUpdate.Properties -{ - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { - return defaultInstance; - } +namespace ButcherFactory.AutoUpdate.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.6.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } } - } } diff --git a/ButcherFactory.AutoUpdate/app.config b/ButcherFactory.AutoUpdate/app.config new file mode 100644 index 0000000..3e0e37c --- /dev/null +++ b/ButcherFactory.AutoUpdate/app.config @@ -0,0 +1,3 @@ + + + diff --git a/ButcherFactory.BO/ButcherFactory.BO.csproj b/ButcherFactory.BO/ButcherFactory.BO.csproj index 65f1797..b6fb522 100644 --- a/ButcherFactory.BO/ButcherFactory.BO.csproj +++ b/ButcherFactory.BO/ButcherFactory.BO.csproj @@ -9,8 +9,9 @@ Properties ButcherFactory.BO ButcherFactory.BO - v4.5 + v4.8 512 + true @@ -28,6 +29,7 @@ TRACE prompt 4 + x86 diff --git a/ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs b/ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs index 0d8e64d..5ac9146 100644 --- a/ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs +++ b/ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs @@ -25,7 +25,7 @@ namespace ButcherFactory.BO.LocalBL var entity = new CarcassInStore(); entity.WorkUnit_ID = workUnitID; entity.ProductBatch_ID = batchID; - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.Weight = weight; entity.RowIndex = GenerateRowIndex(session, batchID); session.Insert(entity); diff --git a/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs b/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs index 858ceed..56b2f24 100644 --- a/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs +++ b/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs @@ -297,7 +297,7 @@ namespace ButcherFactory.BO.LocalBL type.GetProperty(p.Name).SetValue(delete, p.GetValue(tag)); } delete.DeleteTime = DateTime.Now; - delete.Deleter = AppContext.Worker.Name; + delete.Deleter = BO.Utils.AppContext.Worker.Name; session.Insert(delete); } diff --git a/ButcherFactory.BO/LocalBL/CarcassTakeOutBL.cs b/ButcherFactory.BO/LocalBL/CarcassTakeOutBL.cs index 30f17f3..dfd7205 100644 --- a/ButcherFactory.BO/LocalBL/CarcassTakeOutBL.cs +++ b/ButcherFactory.BO/LocalBL/CarcassTakeOutBL.cs @@ -33,7 +33,7 @@ namespace ButcherFactory.BO.LocalBL } entity.Number = 1; entity.Store_ID = storeID; - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.BarCode = barCode; entity.RowIndex = GenerateRowIndex(session); session.Insert(entity); diff --git a/ButcherFactory.BO/LocalBL/FormClientGoodsSetBL.cs b/ButcherFactory.BO/LocalBL/FormClientGoodsSetBL.cs index 5c0c6e9..2dcb858 100644 --- a/ButcherFactory.BO/LocalBL/FormClientGoodsSetBL.cs +++ b/ButcherFactory.BO/LocalBL/FormClientGoodsSetBL.cs @@ -117,7 +117,7 @@ namespace ButcherFactory.BO.LocalBL { if (!ExistSet(detailID, session)) { - var entity = new WorkerGoodsSetProfile { Worker_ID = AppContext.Worker.ID, ClientGoodsSet_Detail_ID = detailID }; + var entity = new WorkerGoodsSetProfile { Worker_ID = BO.Utils.AppContext.Worker.ID, ClientGoodsSet_Detail_ID = detailID }; session.Insert(entity); session.Commit(); } @@ -128,14 +128,14 @@ namespace ButcherFactory.BO.LocalBL { var query = new DQueryDom(new JoinAlias(typeof(WorkerGoodsSetProfile))); query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c")); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Worker_ID", AppContext.Worker.ID), DQCondition.EQ("ClientGoodsSet_Detail_ID", detailID))); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Worker_ID", BO.Utils.AppContext.Worker.ID), DQCondition.EQ("ClientGoodsSet_Detail_ID", detailID))); return query.EExecuteScalar(session) != null; } public static void DeleteWorkGoodsSet(long detailID) { var delete = new DQDeleteDom(typeof(WorkerGoodsSetProfile)); - delete.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Worker_ID", AppContext.Worker.ID), DQCondition.EQ("ClientGoodsSet_Detail_ID", detailID))); + delete.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Worker_ID", BO.Utils.AppContext.Worker.ID), DQCondition.EQ("ClientGoodsSet_Detail_ID", detailID))); delete.EExecute(); } } @@ -148,7 +148,7 @@ namespace ButcherFactory.BO.LocalBL { var query = new DQueryDom(new JoinAlias(typeof(WorkerGoodsSetProfile))); query.Columns.Add(DQSelectColumn.Field("ClientGoodsSet_Detail_ID")); - query.Where.Conditions.Add(DQCondition.EQ("Worker_ID", AppContext.Worker.ID)); + query.Where.Conditions.Add(DQCondition.EQ("Worker_ID", BO.Utils.AppContext.Worker.ID)); return query; } } diff --git a/ButcherFactory.BO/LocalBL/SegmentPickUpBL.cs b/ButcherFactory.BO/LocalBL/SegmentPickUpBL.cs index 5723328..dec7c30 100644 --- a/ButcherFactory.BO/LocalBL/SegmentPickUpBL.cs +++ b/ButcherFactory.BO/LocalBL/SegmentPickUpBL.cs @@ -60,7 +60,7 @@ namespace ButcherFactory.BO.LocalBL using (var session = DmoSession.New()) { entity.Number = 1; - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; session.Insert(entity); session.Commit(); } diff --git a/ButcherFactory.BO/LocalBL/SegmentProductionBL.cs b/ButcherFactory.BO/LocalBL/SegmentProductionBL.cs index b6281ca..48bf0ea 100644 --- a/ButcherFactory.BO/LocalBL/SegmentProductionBL.cs +++ b/ButcherFactory.BO/LocalBL/SegmentProductionBL.cs @@ -96,12 +96,12 @@ namespace ButcherFactory.BO.LocalBL if (tuple == null) { entity = new TotalCode(); - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.GoodsType = 1; entity.NoTotalCode = true; entity.RowIndex = 1; // 年月日+2位机器号 - entity.BarCode = string.Format("{0:yyyyMMdd}{1}", date, AppContext.ConnectInfo.ClientCode); + entity.BarCode = string.Format("{0:yyyyMMdd}{1}", date, BO.Utils.AppContext.ConnectInfo.ClientCode); session.Insert(entity); session.Commit(); } @@ -206,11 +206,11 @@ namespace ButcherFactory.BO.LocalBL var entity = new SegmentProduction(); entity.Goods_ID = goodsID; entity.Weight = weight; - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.WorkUnit_ID = workUnitID; entity.ProductBatch_ID = productBatchID; entity.RowIndex = GenerateRowIndex(productBatchID, session); - entity.BarCode = string.Format("260912011{0:yyyyMMdd}{1}{2:00000}", batchDate, AppContext.ConnectInfo.ClientCode, entity.RowIndex); + entity.BarCode = string.Format("260912011{0:yyyyMMdd}{1}{2:00000}", batchDate, BO.Utils.AppContext.ConnectInfo.ClientCode, entity.RowIndex); session.Insert(entity); FillMsgID(session, entity); session.Commit(); @@ -222,7 +222,7 @@ namespace ButcherFactory.BO.LocalBL { var update = new DQUpdateDom(typeof(SegmentProduction)); update.Where.Conditions.Add(DQCondition.EQ("ID", item.ID)); - update.Columns.Add(new DQUpdateColumn("MsgID", string.Format("{0}_{1}", AppContext.ConnectInfo.ClientCode, item.ID))); + update.Columns.Add(new DQUpdateColumn("MsgID", string.Format("{0}_{1}", BO.Utils.AppContext.ConnectInfo.ClientCode, item.ID))); session.ExecuteNonQuery(update); } @@ -230,9 +230,9 @@ namespace ButcherFactory.BO.LocalBL { using (var session = DmoSession.New()) { - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.RowIndex = GenerateRowIndex(entity.ProductBatch_ID, session); - entity.BarCode = string.Format("260912011{0:yyyyMMdd}{1}{2:00000}", batchDate, AppContext.ConnectInfo.ClientCode, entity.RowIndex); + entity.BarCode = string.Format("260912011{0:yyyyMMdd}{1}{2:00000}", batchDate, BO.Utils.AppContext.ConnectInfo.ClientCode, entity.RowIndex); entity.Submited = true; session.Insert(entity); FillGroupIDAsID(session, entity.ID); @@ -250,11 +250,11 @@ namespace ButcherFactory.BO.LocalBL { using (var session = DmoSession.New()) { - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.RowIndex = TotalCodeRowIndex(date, session); // 年月日+2位机器号+4位顺序号 - entity.BarCode = string.Format("{0:yyyyMMdd}{1}{2:0000}", date, AppContext.ConnectInfo.ClientCode, entity.RowIndex); + entity.BarCode = string.Format("{0:yyyyMMdd}{1}{2:0000}", date, BO.Utils.AppContext.ConnectInfo.ClientCode, entity.RowIndex); session.Insert(entity); session.Commit(); @@ -272,11 +272,11 @@ namespace ButcherFactory.BO.LocalBL if (tuple == null) { entity = new TotalCode(); - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; entity.GoodsType = 0; entity.RowIndex = 1; // 年月日+2位机器号 - entity.BarCode = string.Format("{0:yyyyMMdd}{1}", date, AppContext.ConnectInfo.ClientCode); + entity.BarCode = string.Format("{0:yyyyMMdd}{1}", date, BO.Utils.AppContext.ConnectInfo.ClientCode); session.Insert(entity); session.Commit(); } @@ -316,7 +316,7 @@ namespace ButcherFactory.BO.LocalBL { var update = new DQUpdateDom(typeof(SegmentProduction)); update.Where.Conditions.Add(DQCondition.EQ("ID", id)); - update.Columns.Add(new DQUpdateColumn("MsgID", string.Format("{0}_{1}", AppContext.ConnectInfo.ClientCode, id))); + update.Columns.Add(new DQUpdateColumn("MsgID", string.Format("{0}_{1}", BO.Utils.AppContext.ConnectInfo.ClientCode, id))); update.Columns.Add(new DQUpdateColumn("GroupID", id)); session.ExecuteNonQuery(update); } diff --git a/ButcherFactory.BO/LocalBL/WeightCountEntityBL.cs b/ButcherFactory.BO/LocalBL/WeightCountEntityBL.cs index 878770c..26e46e7 100644 --- a/ButcherFactory.BO/LocalBL/WeightCountEntityBL.cs +++ b/ButcherFactory.BO/LocalBL/WeightCountEntityBL.cs @@ -64,7 +64,7 @@ namespace ButcherFactory.BO.LocalBL using (var session = DmoSession.New()) { entity.Number = 1; - entity.UserID = AppContext.Worker.ID; + entity.UserID = BO.Utils.AppContext.Worker.ID; CreateBarCode(session, entity); session.Insert(entity); session.Commit(); @@ -76,7 +76,7 @@ namespace ButcherFactory.BO.LocalBL var query = new DQueryDom(new JoinAlias(typeof(WeightCountEntity))); query.Where.Conditions.Add(DQCondition.Between("CreateTime", entity.CreateTime.Date, entity.CreateTime.Date + new TimeSpan(23, 59, 59))); query.Columns.Add(DQSelectColumn.Count()); - entity.BarCode = string.Format("260912011{0:yyyyMMdd}{1}{2:00000}", entity.CreateTime, AppContext.ConnectInfo.ClientCode, query.EExecuteScalar(session)); + entity.BarCode = string.Format("260912011{0:yyyyMMdd}{1}{2:00000}", entity.CreateTime, BO.Utils.AppContext.ConnectInfo.ClientCode, query.EExecuteScalar(session)); } public static void UpdateNumber(long id, int number) diff --git a/ButcherFactory.BO/Utils/Extensions.cs b/ButcherFactory.BO/Utils/Extensions.cs index 0547504..10cde78 100644 --- a/ButcherFactory.BO/Utils/Extensions.cs +++ b/ButcherFactory.BO/Utils/Extensions.cs @@ -15,7 +15,7 @@ namespace ButcherFactory.BO { public static IDmoSessionWithTransaction New() { - return Dmo.NewSession(AppContext.ConnectInfo.SqlConnection); + return Dmo.NewSession(BO.Utils.AppContext.ConnectInfo.SqlConnection); } } diff --git a/ButcherFactory.Form/ButcherFactory.Form.csproj b/ButcherFactory.Form/ButcherFactory.Form.csproj index 2b667ee..8afbf03 100644 --- a/ButcherFactory.Form/ButcherFactory.Form.csproj +++ b/ButcherFactory.Form/ButcherFactory.Form.csproj @@ -9,8 +9,9 @@ Properties ButcherFactory ButcherFactory.Form - v4.5 + v4.8 512 + true @@ -28,6 +29,7 @@ TRACE prompt 4 + x86 @@ -210,6 +212,7 @@ SegmentPickUpForm.cs + Form @@ -228,6 +231,7 @@ IdentifySelectionDialog.cs + Form @@ -253,6 +257,7 @@ ViewTaskForm.cs + Form @@ -422,6 +427,7 @@ + diff --git a/ButcherFactory.Form/Controls/WeightControl.Designer.cs b/ButcherFactory.Form/Controls/WeightControl.Designer.cs index 6de3a7b..2015bec 100644 --- a/ButcherFactory.Form/Controls/WeightControl.Designer.cs +++ b/ButcherFactory.Form/Controls/WeightControl.Designer.cs @@ -97,6 +97,7 @@ this.roundPanel2.Name = "roundPanel2"; this.roundPanel2.Size = new System.Drawing.Size(164, 74); this.roundPanel2.TabIndex = 0; + this.roundPanel2.Paint += new System.Windows.Forms.PaintEventHandler(this.roundPanel2_Paint); // // lblChengZhong // diff --git a/ButcherFactory.Form/Controls/WeightControl.cs b/ButcherFactory.Form/Controls/WeightControl.cs index 3af8fae..ac235de 100644 --- a/ButcherFactory.Form/Controls/WeightControl.cs +++ b/ButcherFactory.Form/Controls/WeightControl.cs @@ -309,6 +309,11 @@ namespace ButcherFactory.Controls } if (weightPort.IsOpen) weightPort.Close(); - } + } + + private void roundPanel2_Paint(object sender, PaintEventArgs e) + { + + } } } diff --git a/ButcherFactory.Form/Dialogs/AddWeightRecord.cs b/ButcherFactory.Form/Dialogs/AddWeightRecord.cs index 278b440..f1597ad 100644 --- a/ButcherFactory.Form/Dialogs/AddWeightRecord.cs +++ b/ButcherFactory.Form/Dialogs/AddWeightRecord.cs @@ -49,7 +49,7 @@ namespace ButcherFactory.Dialogs record.Goods_Name = mDetail.Goods_Name; record.Number = number; record.Weight = weight; - record.Operator = AppContext.Worker.Name; + record.Operator = BO.Utils.AppContext.Worker.Name; var flag = mDetail.Goods_ID == 7318 ? -1 : 0; //套猪袋 CarcassSaleOutBL.AddAndUpdate(record, flag, mProductTime); DialogResult = DialogResult.OK; diff --git a/ButcherFactory.Form/Properties/Resources.Designer.cs b/ButcherFactory.Form/Properties/Resources.Designer.cs index 689a32f..c9557f1 100644 --- a/ButcherFactory.Form/Properties/Resources.Designer.cs +++ b/ButcherFactory.Form/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace ButcherFactory.Properties { // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -47,8 +47,8 @@ namespace ButcherFactory.Properties { } /// - /// 使用此强类型资源类,为所有资源查找 - /// 重写当前线程的 CurrentUICulture 属性。 + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { diff --git a/ButcherFactory.Form/SegmentProductionAuto_/CallLibrary.cs b/ButcherFactory.Form/SegmentProductionAuto_/CallLibrary.cs new file mode 100644 index 0000000..bd789b3 --- /dev/null +++ b/ButcherFactory.Form/SegmentProductionAuto_/CallLibrary.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace ButcherFactory.SegmentProductionAuto_ +{ + static class CallLibrary + { + #region 调用 scale DLL + public delegate void pFunCallback(IntPtr data, int length, IntPtr net); + + [DllImport("ScaleLibrary.dll", EntryPoint = "SendZero", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern int SendZero();//归零 + + [DllImport("ScaleLibrary.dll", EntryPoint = "sendPort", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern int sendPort(int Port, int Buadrate);//设置端口 + + [DllImport("ScaleLibrary.dll", EntryPoint = "isZero", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern int isZero();//是否是零点 + + [DllImport("ScaleLibrary.dll", EntryPoint = "isStable", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern int isStable(); //是否稳定 + + [DllImport("ScaleLibrary.dll", EntryPoint = "isTare", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern int isTare(); //是否扣重 + + [DllImport("ScaleLibrary.dll", EntryPoint = "getStringNet", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern IntPtr getStringNet(); //获取解析好的重量 + + [DllImport("ScaleLibrary.dll", EntryPoint = "unbindScale", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)] + public static extern int unbindScale(); //释放接口 + #endregion + + } +} diff --git a/ButcherFactory.Form/SegmentProductionAuto_/ScaleLibrary.dll b/ButcherFactory.Form/SegmentProductionAuto_/ScaleLibrary.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e472b1f6db934bbaec935c53e5becc77f9e49e5 GIT binary patch literal 235520 zcmeEve|%KcweOkCBpG1B86eRh5rRa;hH4;Ci9<9AnFN%;gqR7bCh-Tv7!?s_0560D zPa-*N#?n?>?bQ|v?WIrK%YE0|Nov8J{&K|it1otwB#oT##z^V) zVed|CG0l5-;=MJGu1HP_O_GWBKLe^m9>)E|p`i-7;AYWLK4 z1^jnYpTnJf@VktQxDT)T_0;c(`#gy0Z_`#eI0y9udCq(T8iO%*$)&a!S%X zQ=D{NX7(c?SeFztafE5)H>Bk;l9Yi;<8S$+xY+UAj4*nlXFSHy8~#FfsSng8;^Hqx z%0Xg8q`2X`{<`^5vt&oSEl-%GSp?o`mb#2|^cw#2o2ArLNlLxjEG-KMMn60-*F3Zh zf#)V2_2|e5xz)2|wFmbnpF$-FKdS3x<)=#01Gg?;{GjJS(C8Dyp}KS2SK=P=mjm{> zRgWgUemwvUpaJDsNt`zLmm^93TdS9O9(?HWB@Gn31#rr0=@sHFU$OjQfCNoI8$sY@ zQSowaUB2Y;ClQfoB!O1a4Y;q2ikFAb|NjRH)O0q)*!js)Nh)vKJ^A})JO6$aLMN<8 z=-VQ+)>JFi%z55y-`!8(G!VDu76SiVfZb)aCVtl?q<@Pdu|9T~*C0-<$_d1!q%?c_QbULVC{8pNr{vy8e70Jx>uEq~*m|%=Wg>+rfjStd}{hz9M^Zt)zKvE`CzO z-!hAq!4H2bNy@(Diip@EzS7;Vd6PA7qUNN zoXSJ`$RcYs7q3QoW<{~eep503k_x^`9!Os-QYQ+82>};>1j&_siRCDZ^6#~6&1o>( zGv8L71FY2QbDnjx(`xBi-+W8Ev)@!Km-z#6$={2yyQ<}5Cf>DPl33Azvd_xeGvBS` z8|LHvM|POHf?qSof-o|4Ece7Tl@N#Mp`Ma=Rc#0NgWgtY<#M9a0TML_{m4r&sP zrq|zBbe6vdqSQ=z)NDunT|BQz51&<` z&fHU>V-up!Rq2}_%5U*i@a3);$Yx5XIo33F_( zyUc|aTfB`xYSAgR=qOub2Z87zAdhmk1e_fNQ|c4tfb*b;R@c2Umc^^iZdPw!Pkpgo z-cSZjqG3V5d5u+ zFVr((9lk=7TGZmwyxqW}SoI#{pEOdJJE-ilvAPa6+sanhROeCE+Z}KYAb+Vz^W?JD z^nlVIvpm&T7^7T}RcFWUJ5qs*vqdg+wp6ROneF*AW29hmZA{H}Fjc#=Tk;jPpp@De zJ|i3EocAb;^A&9=W`{JFwcR;j!i!S(y3D)>S-V_Vw1w5}WThSHd&`O){i|;9S?*9S zQ8`8tzUg*1p9M^TX1nE1DTpGD>O~watVMVV4vz1d=>6To!cl`xHhD7EX01?yo zD*gebe}cT>1S(X#kZ)Q*Iay_UQH!srnR!p0k=Hpp(3PDpqIH$Jm*r}CT}N2N6jUth9L$C;L#GRuuuC z0f;#gUH3rju@YM#ZW)rQ^KGiz&Wg@1RufPh=_yv!oB1wZJ{M(tT){rN56XmpYe3WZ zcQ4{{&Bri-M&V+J2wlEJ$h(i%3RW`YU80*e8s+N3Ma1`7L4h)M!B+?w8&A@YWGqQs zJ{!pc@q`-TT3}=I?P{To1=I!hK>S(+R}Ga>UzgvRHKNvfmP7NqEGNA}Ejz$kVd*O5 z0rZc}t@N9`w?Zla@!F)Cj*-y(hvZRlfdaDgq(DI;-T0v_P_5k%CuJ_4{}kRKN;=sA zYV&=T!6d$?O-8DXrrbuq_d@#N;)U!GXUL)|oCnDxA|+%nw1?Hrza=^un$REvvK`b9 zuM7RK9aIX}0O_G0!}{UP8bd$aQ2!63xI7dr=)ejfwkeZ5J(wLbXvOb>ZFpH#!)y_*Ch7-$71l-rU^L}U z$$L{R1YbYjelMzlSD7X3gkhVjikmu;U|oR0jAC(QL(Rr8QrLcdTCOFs6s1G!lUs8w zVw^4KlZiCs4?4MNzh@LPL1d#IR%T}%wI*$JC?1qCf)m)Bzvu{ocYi(=k9PFdO zA6byTF7wU$HIdKplx>BL7fo0Q%eIE{kT{HP$9gZd?R)sN5yVO$+c)o6H>rf)!L}FT2NPu(Muk8+$6b>6~}C z@2Qkv>>jEVQGGkV6&7N^xq~Xx?tBf8JN3uciQ%CP@K>!m-&CD`-1b3%H9HTg&dz4% zQE+>F(>b~EuZZGvZg;!*zoE{|+Y2?~GWa48=SM%~haM-iY{Eh)u&TEsI*_v>p^NXK zM9$7IH-CCcRDn66pgO5|o#Q$~!N5wGD0=YjP%tbP|6uH&hJtq*b_{|M$` zbvDO&&)5=QxmDg3SK{Jh5w|%GN~pkb-rIX0iDWYT5PvYg?tdb`maFEs(HVge@pGv? zgc3WPeyG^JkpEn0F{nY})xp6XYJm76eaH?L=@TzcUmcm=9!Vp_N0(;>cAYJn{Og8m zD{cI5zlTjX{OJ+&?9COeudPhve?%~eH6iK^6`$yZAGdZqpZ zHPFju+epQgSlI!*!It~ zokqWdP1?&2m2vl3j6aLI4a2GP>W0%~7*1`FZNk>-6FM+Lq=wiJe8K;IQt%$=sgHM+ z-c+UQS~b_k=GrH9c&rU|Hpw$87^japYT+;7KVBtC=UOeE_&1KC?+5MYT4Ubm#Z!wV z!EBfFJAL!gEc{>3Xqsyw9uxUa81FTlGYykpglPjoFY(2iC`iH zw}X+u8(r+MoBt()gkLu+J(>d~96(~z8Vr! zTNmR3J(&vOnBprsTI?(8D|Tt`ML_jLloebNjWoWa(cFLF?knm-{9X~?*-fGUDhPZQ zHtjmAa2To1vo$p+0(N3C?68Y2Z3dO7C8YonXwmUn(iA*pe{7Z{?*lcR@fdB*SS@0t zAzZ0DE3KQm(Rp#!4)3g*1}bxfU0q{CEqS_ElFBr1r<;F>$}(@Kpa4Ne0ix_nWA9{Y z{AWmm^v!Vvg+XiWa4pG7*{-n~w2+(5(!doIyZ;z6A?J-H^IcNi_wkNd2no4ws6P~! zl(FBdMFW}sOs(nUy4mi`bJZYbBZ?qivW?tBTCTeFL#zCoBkVwChuL4&6^~9nU>b{BJOY`CWA<@>Sx4CQqSMewivu-=s`CiXe&L}T5IFfXEy^UZ3eyb z77N9z9jU)=OQW#u6b8?vHiKTbO{cKU2vf2b;nB1$1y{N0`zRq0OCeO(o<_VXUs~m+ zHF#*aFjsC`P7mvnOrFVlM*Q()kV3vSR+7#3pPbv5zeWzkPC-kRvHC%|5oBkIbwoV3wNA;UnZPKeiaqx{lA;4A>Q;P$wrev2T)qOkOFL58 zR=xR&G|Aq8--9YdWCT1)lb*f2BI zJFa21Db;INS}pL8uD{TLTCF`99HF$DgKn_g2cib_gGQF=t# zcLC8`C`~&0kVW3)$D_|3V?MI++n0Q^J7*1(H=w^u@}4$@XM7=-AE=g>`ZwljXXH=( zU&xC(W@X5mR)E)LWy#-pjCgL3KQdxWWW3o%JV$iAJX2)E(MH7KMnqIiFI?Gcq4HU4 zD7JE;PTo|Ep7I6UGiS3KfNI?>8xyDc@__oP3G$x3xe@4uQW;b_-Y{$Gt-fND>^!pm zOOZ4K^xbHi=F6qjljJ?Ec}8l~{P$FHI0q4b?fYNImG5k{OcSNga)QQ7yvsM`*el^vCcWpIhmf9^6?XWtDVbf)4r$vLeqOqrZ{ z1!B4n-4layv(wh3ts7B>LHWUDx*&kRjkQNvw<5n{$XsM;RlNhsIvWJwZZFD$-9-c^~{bkb7W5&J{%!#$N@E;|By!O&Vdre4>@o< zp936NJo;(7#Vq+|o9+{K9gMo)LZs7JN96dXBO=FIGk*i`DpJ8CTCG}{T+IrSs#Oz< zZ_kMtl1mlFz+n$F>LP5l?E4`eFkH;fCNad0%e&w-efC9^Cy#peHQeAWEHuL{CSH(4 z{!QVCYW3OI^%yT3F-B4hdI9(vfVb1*uEMeEvv1;Q+X=X&@j6a@)~^GuSD)RdKTS}d zr7@elYr#Y%FiCyxpm>qfzf_;=#3Mv!RVDg8OCXg5$t5>rm3W8KSlV>2{Jg&{(=YU4 z7;bNP+FYndu$0Iz_}heG(FXYff6o(x#-q}EZ`eBOD~WV|vkPDijBDX;!_byt^zMmw zX-SxMwd?j%9}v^+rxUeOiCWPj2C-VEGP1u~~R z*CD@ae5D-=eWl$CA$3I*9cDzNeB?$_nq(xc#obqW6w$jVI&+?&&<7EUfkve1#0}Gl zlj-#N<)+gO5vG&ebOVxK!F=M9{9HUh8=are+95an4GqAY`&dPbOI>C2t+JQ6`L-vF z%A@N17!A?w97lJ;m#d$V=n-j z*Uw7dglnAJX%y7=#$*`Q#`uW8k_skYmngGiFq*H?R>B*@)o&s<{_rHS&EW^8sW;0% z<_RY|0RyOKW{RGJf&;oML-W2FaK0`qf9Dp7&zUM}&b<4Y&9e*8jC$+UTj4~R3A-=z zq~>km4}n9OjIvSH_+l-|f<|R+LyYqKSWzE**Sj$0BduivcUO(sDtg*Uj~lcRX2O}< z^^P1%01!kM4?%>Ic-Tgv+*>P2CB8y36U6(CkAtV^Nl1xg>9?qv)UyP{2<7_9<+(yc z{19OxKOrSV8i)#!Pc>TrX`w%pz~~u^ym-sImpd@@{`2d|{u42GG_?Pm7X4?3=s&M9 za(fQ#KRb~-wOzkjx6`n~%Q(Zrj?9y4-RoqIIfEFEWL2UQJp$2p^-i=e)GMykiGt`v zDM(J;B@uUDX(yte(mT;n3cUd8VQdxIiMowW)J>fz_|={04J5xpC+bEg`UyY{bwTu@ zW;~Usl{VixJFD1PQpO)blcJ7B#Y_12YQQB$I}xN7y`Fh8Y@&_QO|;>LiB^VgB(%;} zv^Z%UR%Cay%1z(HYr|bAi00OcYlt^sr50Tvj*y=t+X224b{sQQd`BPpS^pdP5&dk& z^*{y_dh9s**|pj#>Sq(bLH+FF1VRf_WfpiR$UMS!a_oqY``r0j2=(8v^vU6`YrnxqU%UvEd&GjRy_d@=&=|onm z=6x;T+=3v;7kKiv>z#YE#2DNs_k_9E0a;q5m%vQ@|fX+e3j^57R{uf87d8m{7k`%$DCylk9CRpw<;LYN4_5 zmC_BG`QayBo=9uM&YXXS9#kR8TWiqc2v~>cvFYpR@hHriuce0#8V}U+#BL*+pey|p zrdy^zx>`1=s2U~;_?N9}PKCRThP zeuvf&(_UyXH5bP6AHx4s-P&(8A~YAq@kRvITFaUX z^k)g(2`kTMaf0_W!h^Ux3LUCHEr#e#)cf2%6|T!OvfXJtBbUd{!B7z0QT}!Zh8?jv zc&nCgYn7k<9CXK1!c2t7&whxvFXSn$0VKtvgnJ_0tMQNw=>>0SV$EX6ITwEptC@WF zr=>us`|dHx6LO@D=GkI$^#k9USS&1XadQSSqlNY1P4%SNT;z&+_8|(yoH$zfPV%lc zS6Y14f345!(aNVPAz(Aj^i8g+FW2lc5t50ti97!B1p#b`h{_D zQ#7^UwPN$q?3o9-4NXbH40iTBVBG-%--qD8p=asAI{o}g@AN_XWeEBK%QQhd0Ii?| zY%D>VSs~Ko5Yg3aF_O1bX84fw7eXaJZH$?Jmo%WjDnCuWf>;Tol@pEDHxV>gK6S(3-vkQzEP+f8*ur`~| z3!eT33UC(-C!0JXI)QGJx>uk1!C!$kr@9#zdhAgDO9miMDBqLyPrwY00ENP*pbgdVz`xC=G_eic1G#8^+m4{2_&xLmbws)G6k5r^P;NYoml6ZbQ9x5?6Lz9z8Q7r4gNwXpu7NZE zDI?K|We?ubH4Py+-=v4uG=@X|1tF}zrWpZc+;J3>fSbf)20d;Tk2lie^WyP3dVEnl z%6L@vWn`YiG{_`N_Pn z+>uFED1WH^y>L->!bSNW9G1FHgkw@Tk*^d99#H`s5;;}m6rCeQCfJb3lfNP|!G=W6 z_=?B`3rF7kbF7(c!>runI@gol1N;5eT6x8XnzSjm(98&p>X;ylpi63Zu;<>j$ zs)p4u-}KIGSZ)5MciP4|mWB(Z@W`)@o##!1SceC6IV3Du8k*2rI?8zpzg}?8s{6q;`8g6MFs!h6Y-u%Hz}dk&!mm5%H9h>g zlU`H8uPyYN5PtRJ)#p5g^;Acw^I&b{0A4Zhe89l1dh@BfBzq9QFYz0Oa+C23VJr-Y zq3u~*!h}Q}D#9_~kod|QQQxZz%$$(Iy6K}Rfiwm|wKTq`y@V-8%@u&&`-$g=X`?B%jVnSz#eQ`qwo$EvTEzwXMC!lM#zHAs0keh?87hxY*RxKCw$qeCi1^Rp| zM4wN(q7Zr?LABqCq|bL@Yety@B%rTi3J3~;K6-n_8SS<027^Xdz~}Z5KJI9IW)nWQ zN8)1&;qyM!agvk|L z14hRR*}32sQT|$zrdKb2R;c_b(dCb&@@GYse;mf6pu|5^KJiD>$n~~& z*0kud=2P;$UZrjB3AN3S{t!ix4G5~eClVuP2&1p#m2m$t8~pL`SKzQLgu^w_IG72C zWsx|vLX7-(_+wDs9UmWVq$~NuvOg?ePqJ zPbBmWx6lf_Mz}rh2)RAdKM~{itGb2A?eVv3LHCebXwdEP$8d1S+A!=R!?{NL-%4Ow z`<#6NXCK&F(%oVK=UIBG4mkVaov!TwAu2EvPcE{M{g(cLyDa1(`w-Ivf)3>R!J&qapAfdwbMg1xcOs2gGpD= z!!WmCYn{C&OaQF)>d-RZy^nW=!v<^r->QG$>*_!5^7_w@sQ-+?`U~!etp5i?>yOtV z^`8;0fA`nbKj{kf4~Iq8U!SCqGY^~VnF7&}2r|K9+au+l!@JYmNZ z)G8LU#t(;!x>_FN?9xhkEjm_htXnHR2vZsN_nXdn?iP;$CkOTtAhb$V#OYA#xa1v+ zRe!PW5cvHXnp4-8M~2cNnWVjsOplgnNy(_PpldLz<%S}RIWfuVol+ZDa}<^5zZ#9H zE64||hwemQUhE1ukD5$!0e=AiJsGx3TsG$-rrjPI6XM87?mKvp)W_bh$ne0)BM4ytYJD8;rHB_P02jtG3|RD=DGAl>+ zWJbIJyodi5gJr3w2Cvxa5rgQg!G;`f^dm&+&+$A4q#vob0R0E4Ud@E##?3QvZ7%(s z<)$h#CC?<5o53)1x9&PtoH0j@VRKX2C|{mQHDUQlbBw&p9~>s{+RH|{w1qZ>d^NsB zu{|%MU>!}RT~m&0!56TJh4zqlYu*z~rGmJOC9Mu;xA*a;_q;W_zX|v}DDb&&E7cfF z_y6x8<*^!Q{8)L%63RNzKrIMFr9cCl)>AWO zXZwh~*csBPX)P07=r62-8}v3BWv(Uj9INZnQyxYSF1C$$e=y|;q~v8;Ada^aEfkNL z%Z_0{z&Sugv5}w>n>TeP9QCnml(x`%**fxwp}FW-I)DFi2!Ds=-(~BiimccX%1lJl zd}{_Kt>PYFLe}R(3w+ zTZpjQwqiJKwGt6>unP(CvLJlWOS@eBdk4tBVg-ZAjT?wm-Yys$ZsKe1pMiI5zCn#p z6Lkh*joJVv@ft!TjvcB+-l-ZSnOKv=icU3Sht=iV$Y{R@*z*wYMr+{qOEYfmmkT&r zG_-ysATUGufp$$BlyPVexQ5`er$wbSbf{|FtP1=<;>vQF8(JJh=kbb-VfW)rJ8|;x+amY1PWN-NEozR zAVJ0QOl(qF>Ibv#N6~!#FLa42>SxE)dkNL8Z#QAZTHUO~p1v2WfYs6gN4xyYc!(FD zWg1(NSccU@&VE!z^`3QHSa}n>&_cCQ{F7X~SjUDOl;;uXTQ*7gq)ROr2+n5hM|gUN zl$-Ft?S3u18m_QSh%v3Im+C;t^m4_PO9hwN%)g^6J$t6i|4jWQds|#i7ne- z`U+{w_Nsa8%i=PAaugM1RWn(e(QbAL3-7)W&a#Y;4`+zX5KYb0No$w*7^3RZJ-D3t zw~(>|8xeiU-)#qLinB9VPMX$9#=X8CLGSNfgZ=%A`(gPxEOZglWhAeKkOk9&J|ta4 z@1JMYv)9`zoPsaQ(*>lqc=s>7&-a9UTqQWnM-&e{4+Giza}wHp3?Q zY#BniO=NRtfrFDBhdhbgN!W#>kTQ$eiKP>k%cP$^$QkTy2M@Ag$Rm!Kum@DQ1$BJ0 z2k}*UQ^N8v+8%^4qGB5la9#_XAz9u9B5sHdZU$!?xHrJAk{h1|ghV1c%;Jr0N}6kW z=KeQGZbK?z2MPO9c3uePvZ5|14-*8et^`hJ?x#H<&>!=mKU&!#(jaDtvzCY5q(SOV zi98_C!o-5wz!4PrQ*Gu$BLY}r_cRh7AJMsxAH=YfCufS*McZ|A1_^~^xMJN`HybYW z$EXPX5hcB7Ra6^P4oNSgeVZcbm3%e(NbIkRgK3GfB!g^MYU+_NCCu&0YHVO5D`pbQ znFVoloul1z4eXb1U&1sOMG@Q(YHBB`9>Z#}y(LuP@tz-}9Fp&3nxG)V9=Q!>2&2Ul zHw`gHGWTO+V{?okC2SJ*C20yYM=2X6c5}iw8Eh=QrS8BIv9E8batwf55*ATQd3*Ji zstfDdz*(T`f2ZFJg=hPzJP!F9xhA+AmI(?CCMFQz`FK5%^5N8(icH=g~=R69v zj%kzM?hUDR&l5QG0%v^aD*dmt3L;9ScL|mL0uAk<(qU=}ozAXhhc}*pu>>{??+D)* zwbqvy|3I8zd`wgGQINm}eWi6_`4%-YV8gyrXo_AmD3NselRB8+*RGcv6nozEbNLyG zF`hKR>=4e=$(p`~Me>-^f&Gkux6y?z=a;sYm%a@i9YjSu>G+fm;)A`ISLxqs=_%;+ z3P_YpO|9!Dq3B6Y&03qBwsw>-$w#mvD|E6Y{j@ON<|WTmD~<|76}W~4{Rry)ZPC5I zP4xczzXa+OMOmAS_11=;n18snn@(PosNq1}oxUFPnbX2HEtB`}J`Ms|yKHG~qcRm~;j7 z4vj&M4~{`LAQgX~7Qc9p8qz8M??T;OMLJ#Hm4vS`#9vD9>ad0#Fnm6qB;g&o6d zqLIXkBhSd&*z2z0@PuHmM&ozs+!h;xu&}5B$KqiLA+3}J0sH`Gz&Wvv{7Yma-T{Wd z$YXmTmYh>WBXXF;l6Q(;igDykYz8;C!`oW%wu7JnoQoiCJN4V^&G1iXN%`dP zsYCfKW$v23L7do(96;duC2Yht%44CYZB)8;Y#Wv9b2b|*&jZe8ctMflbfiPDTDQr7 zv^#%f)sp5QxC+u~UXA@`IGyMc+A=#CAV8)m*`i*aTa;{3Cr_&GWh14id%kpPTCqf4 zr>4GBMEL4-4<53)n#YdP`sw72{m4&GKG=SP781_$(9f(f>P-%eZo2epNkkHC{KfK< zQ8@I6+^%)uynN1Xi1U8ziMF{z6-yNr^WGV;p~X9<7R$HKYDu&U7}yF+9s^ILq#Qyi zX90Tt#JF?k|A=!gsQw}i`6yAYeh6Dkxagq*5ArU&c$ECx20!AMH?_1+-{;H{1WRGp z^Q*|3cAwcmnsc!Jo@+(`X1i(cvOJ*yFA{db)es*wJNxOJv|1D4irpkeV#K z(Q18f8gQ}CS8+S=z9I@be*x2uGz2QTD>Xhgt#Rf z6u0Ylh+FJ-al3JgxP9|w++O}pY$tBaDQ(*)?v`yGxcjiC?I^uBox*TD5NpS?37g)x z5^&qW?~o(ek1HV_h~0-LVuL_zr}0#4S@f76UYnzMM}Ls?cP7Z8&Wr8Gdutc`PYoas zz1K)|hDjGp&&~VA9y2R7m$ccSL&{}zfTH_o3eMZsIqt{k9#{@Xy6X^L9_-m^5?t4i z{V|eYh(z!D4r))Va>?Xst?mp2w`LpqY0CEEncUY!> zH?h=)5Z#E>k|&N%Nb!y)?%oJ;(0z9Xs8nvy7c*Um2X$iwi@XSK3XafeIqYW?D|0`Z zG{4BoT19J6a!mAT=TDT6^PfL4CmgsLq5+(Nmagd8fY3O9LD=`xBgv6=pyU;cI|av-6|>G&NUzO0B45pCSs$O>YAl zh@}^jo_r_bHTpe8d^OshPov8{xYV3NU#QuK3;&fM4fyO9zDSRpTH`0^^8{TYpn8TR zbf=v}fkr#>Yy>o(^v>o<$Pyd3@02_f-27j4L_O$ew%QmFnSBexHof;9(_$sK_=zU+ z#)?lh??+q$OO(@E=*xJbHlEkV62IDOb`lwW5Qp`Rl(@-XZ^`rrADOdFWOWX^LA!|r z{E>@96L^SW0T2OVypQtns1h#(1^G5ylp6(=MC{vvys-UsguxsjZa(}SWKa{E@*5C? z2I)h26@yuv0>kH0E#V#L=6^)7ZNT;j4C#Zlwwe=!EeGl_GT=Iwv$6@#`uI$L&j-j+ zw3cS_3|F)m`1>pDnDVKxm*D&pE8kBg_5lStplcgm^x&VMtZ?wAaPagUMzErpyf;H| zOe!Hk$5RmAbTY(GZxVe==%7hWRt!P4_OVBJc`U_AK-9SiVjNmDs5JQN=st{F(>samt z-3H706>!H`fqFv^oqnP`h+QzP%7ZxJFV`{!IR{K>xKd9wPB6rJ0SHg6WPxv}pqP0semnJ~qc{XkrdGQ6=FY8Dkx9Q-y8f;w08dKWC`=V`9l!U^M`>?#As9tY+B@lxW3M;E zamYJGq||vVN9j7L=dEV~@fDd#5T-vBEK;0z_F{qrlVUf5eJ|;yhyu@(CNiv;3GD+lr{`jP9fx3RxE8A~cDJ!48r5B_M z2&OYK{re$@bMVWG-GKoLSzqWp`jEjLIc5;HGB&TDL7f7Yw1a3kpRnp_Wq3t8S`j;@ zn>InVsJ>>pzChYbeWih}zg|n%->t^AdeaNr#m)DkxV_>Lx29#{_Or*u?UyyUz5Jb~ zmvLiGi`w)&9(?pbdxHa_TpCBPoPk=G+O%0fcMvA;(_Rjz1<2rlKrD^PflB~ffqmt# zYe|n|{DUP-&K;Pm3L%d!t`DQcxK@m#pcoTip?R#RE(E+(Ub(+bxzP?fOCi5oP3I3J z`(h3Akti-d&5rY&?LPd{yFy;Ksm_7Sw_WNIju|IRHW>DCr#iQRt%Vdzgy4dc zLo5fupt+H-boOUD&kEcc@QTc|q_z43yeJsmtrn5`d>A`I4xy~p{cZZV$X)i<{7-Uz zy9Yv5a~$?qnhtqy;?IN0Scl`VH-7g50D~hDIy_-ip(M3-*++D!VnlWRNR=vvQk88r z$*8TC)QnQ}XKqImm$$W~BD{_NZY#2zV^OSWIBlC_1)u&FgSWPp?ck%f68D~$7n$w9 zrHkXtim_$vPN<>b?69E(jw|gJ$C>3l;6aMJo#N8v>*8k8fp$4KJ2Z9+dXjgndrt;1 za`PwPmr>f2%hz9`L-f6$RpL-Y;$$)CIjv$X3d}=49NNJ|r5{J%Jmyc1rIao{2Ps1) z9o8I$vVJ<8wdL}x+Zg6u<;Di&c3ED-DK9FPbT2#2-v*rmaf_g@25rV-9R`zyyCcE- z;jA7^$pmQL)l#MiFrD&@j6*50<8SbQdCw%AB8Ve`%XP~&3ESu*EmvK4l7;Xnsn01@ zhWea%v!Oo4>A(b62woF{n+!PU3X;ZDw7K-@=Xj0(qPm^dY8sRo9@ZsU%v)NCEf z1yTX%^0fU{oFEN;mJEo971uYQ|vZ~o~dwc%vkZ13x znS4A7g;%KUzWuO)_zj{*%I)+~jQ>rvMGde#m1H&6sTgzOmVhPBh8UPUnPc(g z_N)0*ak4O;&4>6CXam;HKfyWkG;)$!{!Hb3iC1XL?j0ZMxihVz6C-DlfQzEq~+z6MisuQ6nvkd81sCVK)$_Sv^g!z5^X-}EMc%P z5JU9hnODXjeeOU{J!(iI6q0v8h7sZ<+Tpc}-27UB#h?sEg;VOobAeYnyPHaM2jWDD zt(b=liPAZ4egJ1KkSL9yf)K$WYPx+-^@9S#!PEu@=>0DkiNyKr29AM29A~=uipye9 zTGYfiKYch6({)*tf36x|!W;@!1Lc{&rW%mEkR*yU3GGULP<0GTkBc&M4YqBNJLd^YXY?&?OoM7)@`7$KoiZZrl zCW~jwQt3o&A7uO?Tu-@tvvXi;krR=GVdnm-^j6P!a`B|h!PPsf`JQYn#w;4Bq?PDy zu4((*5QL>=NSxm18KbS3=cY}UZ~h$mVxQg7hXc2O2hE4>hfnWqpo?vH6*kOHTmZ2d z4*Y3{I`R%U+T^?w;v}E|>KN}!w5Fe7hkTan(u=IQ#jb_?)rpj&4JXr*(m4vTsUk51 z3$%t+s-4+#5BQt+{t?o!&WeMaD*7PZ3bQ77XV+T!TiBSx`pTg&CRPlf!;WV~HvWsB zVz0li=uN&18fSJO?qzglrP?CVB(Qq>xi;9t1dV|%uZ>y6mm+JO+%_7=qe@r`2fI}4!-g7#xGPvsuW*YvRanv zTaczMnBps(tQKY{H%X|%G&O_9_nB4dRM?y$eR1FqhQ26BG+{_ng0rDAgu<`~3X*C3 zcA2{1(}ZB-Yth(4R7P3Cpvq9!W$^jPI4odk_6hbNz6o^_S;9FNr&Q0xN!p}aW^$Z$ zgdI6zN7U2vB+oGIsd@Yd&m%k0Gn}?8r`40piWBuSi-(alw6K`h!OaEQi6es|`-5vC z`ojY{u&sM%8JMOf?^k>^u6k}>0dA?89Re^$*2@YGA&*J1A>lKvzXQKj%N%j zoT4spu>~niGMm)GdjV6ESz!uYrhv%;baJtTVNn?23*RS%MLy_9gFOuW2HFm1?_N;q zQMsGlyav?;C5nNfwrXDHIr!k5=lS9JFdJ*s3+-yu~80QL<`URIxXObOHoZdJ()j zi6lx|EB4y;z)*BV6CsA(z6rvq+yxFQinH>4?ayql^cIbo$W9m32a&6%#H70 z3j?h4IFPqESlEo!z!F=Q;uA}3!=lZ35MA*D{2=fO!(y%odmqT9okmh_f{=1^kPQ}d z^KHTaZ}it{i{$(htSvYVYnwxYZj~j)3>~Na345E6eH`(L5H-O2%yPZ6PkH z+X*pDJ)p|&s7hRs=BATDOZYl)D8veh;Yvv1yJ+E=WkP%Y1d}A@-XM8#g6YrcKnh4* zJsYDdm8JL!XJy5BuT$z0P2NPM9%zju#a3ab1?ul>!8kl3Ky->~o{v+MAQmcE`-nDg z93>)OdLn$dtLE|V(Li$_oZ#MU;iN#28?uw;VZ7;R_G^JBapbBTR-ey``mrWfdB7?u z57;Ets$!w^GP}AuF?b!~C{|6ux|a}Gc>o^L2NE&dKm`&-mk7s!8+49Uonuqy;FDU3 z6*{=Mn3X1)OVN>%$6#?VXr`9-L%lc$va05J7V@=NNrQUK4dMAJO-K@+w~G#$qAtjX z%2Eq+_(O1^UxqZ{DezrnRTtTSa%J$EL7Y`Rbdg zHx?7dkS%_}FgI!VXdGlIxP_0^`4)&`1b_hWNGh6ywNq?#S{y^xiVGGHya$=8i?Z8T zynCoM0a;f`=0p;;+KBI=>NNdSCBM|_%hh17iLUWz9UvYeh%u`8##_clbD3Xm!uL%=fZNW_rgK z`|Sm&{x_YqTgx?jbgT8b&TURsdeTzaAy>$v$B-vyo+NOx!ujg3D9 z1Xd3=GU0Ie6a3G_TKCQLc~2;Hy|SvO65-71`Faf{gSvbMe+39^yWLSg@i%z7sqAYAHdmWuCV$o(*Z8(G24cQx+89PC=K7m8O<4f2woM|^`VY0T$ z`>NUiCS``cM(gik9n!$LA9G;xS_{^3Vxlzjy`JBpp-9?!WEXAj zO3LGQ`u5OFY2|HM$?S}rm*Fm^n9DGLf|N+VM155tjoc}>WWX#iWw6r_O?2Qc zPF03fosXXI8yv|6xy_EZXkZ*i|H?G<5Ui0Y=HG>t0!Vtl85Boe?OV|*A?OmYN+HA3w@pi|F`Vng_ zj!P?I*?Cx>(C>XjgU4xUsq-vZ&_MsvxQc!zg$UrZ2EReex(6GrXaHOJ$kpVzm1q_q z0iJoTpcyN(2h8ojN`*Jh(QTW zjzI_!LT%K1G|$dvL-TuWWz6cEoq-dx;WAO{xLVXlYqDq!yu_@i?S86w>r2#h2h<`s zde*KG6@H>=|Jr$Y@_Py#7wSi%>U}G)>=;7|?1~W54ql?A7zu`J4}X~XNcw3ejjQXw z#fsuhp!eDv>xW@rFaaa3QY#4^s3S3!S;+e!(y1-`ls_R8s$Y8hxZ^^D4A$=|%?YQp z(VVY~=FC8IrbaYp##NisA!;|{vgSlD1RDG1C*yNUWEuzJIw;6( zRo(O{z2<^MbyRb)g>RrH)?K!cG*4S-&zV+ZVM`#FC=}jE?Fwah+<_j&!VVGbuv(+FR}@j42H)v zGRbmy?o=F-$Es!W(IVO;nl%1K!(Gsx=RI)+4fxpCm+9vV++6WuNMxoJAS1BpmZyy& zX0TOO!Ch%sQow+(1agM&Bh}66WQa)LGfo=g4&137%-#LaJ@;a4_6L3MaJ^W2;kj6W{=9D96WMMg{Q&27h_^Zu%;i?CdD^%}?Xg$?C_^`8ea7bZ9=Jk;%22 zcv6ouh1(Iw@U%dHVd;*?rY%cD>}y19;e#ozP31qs=5*jl?Mq?_`#6$dD$^XHK%^nN z3zUL|U9&-zu+)g&One_E$;v^7ZPXsRJI9Fu4K~_%(qSV-(g3=YywX=<@X9I!3s81| z=i)qs8p@CV5-o>C98@moGQjHr+27Xl4M=d1240hvh9AV(VcL&U{MPLL7h~++FIv)m zLW>{aO%!>S@GV5U3M)RdLIYRT%;ANR)Y%rXmTA1Zj2HYXBCN6OZlM0z7np5DH0jLG zsw#sv{tdvChpiN!uceIep{dzAz4`eqs5{<>|EZ~zUQ*fQ0kf5%N6P#jO0e3>$KxK1 zW$SF%iUdindB^x>zoqn#_1%*y7rw(|$nowF=5 zc~-FZTfd|gu7D@=?_)I^R*|v}?8=pYW68ZyYCsVfe_G^S2jsUbb6UBqbkP<;xi+S` zbfCH7@9oY@(xM=a>u;_YXm|b{3$d~N>@2vg)=UR%54Z$*%J>~->ei_+hbpxUobO|l#MNEo{w#EwfEiiUO;PatC@wREm+vd<)acvB7@DhxDp;j^P?pE`# zsiuj8xiK+@$pgn1o)I||*nyeF<=vOo+c9~dCi*A_C4B}-;kXB*3DLafrh_j-M`ns&(H#aj^*Gg{HR>)8cJ6f%NX;bfFDnq}15UHnJLg0-Wko%4RC zJTh5=iEIGz&F;D(z$uXv6jeiKD86#~BX}dT_;OI0T$h@#12e-~(iTvip{HQdIlL4N zjzqwe3&WRp4)NZH9d$}JMSw?T-77}JzD(JOWOMbLRlOic7wTH06>eQW^ACT3%^UCH z|MeJH*ytC7nGNCuzfF5euhqjj8rQmfoJ3nAH91tP5)!(YXMe}-LNp78-WFcXSOn-#8Cm^Y2FNLofK#Avu1DvBnxu_y(DMHl^*ft~ba zTdx_U)b~xkK}9x|+B_M|NuPHY=Ud=g(BJvrNGtYFz{v6@4^7?!hXv68Rv3NH3ddgH zeWn9=LxTfve11sBdjjDtrsIYM;sxFTE38*UnyqK=#>%rYvoE7%OSw59iXuEGoH{=@ZLF{=@J4wrsf}x4- z%bNMKN6~_!OBA!B6mp){B{M9H`T`Cl45^#;um0v^dlNxzGtLdLD_?3j5rrq-owaD7 z&f-X37mE;_2;d!+p6mv$5xTM1HSkwb(yVFcZJNcLeTO)hSjjb@_fstCLUet_2`GXQpq;Oq3Icav zxtbo#uy#bKu307P>#UQ&8s5<@Z+}-p_BPc7G1c=98c$iW4->Qh0aXQ#m7C>R2VYcOXjb{r~8x{#(DKQ5_Dy3{ASLkR7I)4(X%Y1K0L2Zv0sA5ay1 zxv?LmV_1P|f%2Gb@8gf(fPfqtkfLR{14CR)8lb+k4h9jm46XDm=CjeVbTEqN+Qsa8 zWFcX@RmDElyjT@)!D0AtN~p|!U3X#T1L!*2G(0DE{q>%zcI_-tYJ zxyu%_8I(K5<5b%x*n&Nh-#ZbNoRg-`xA3`m zRF|dE{3bP|o6jVe*Xmf72Cw5v3!kh<0GMB|C&QPyg7J<%EXBYEWD;b#1RsM%>x5C6EUx5N z*Ouwk5RalJ%~+fTJ&OP`L3QEcwecyDYQ2=$HOV?u~e-K z#f5ASoW4*7R=}1gh%3i?GE(aJ0?3^)nw{@kEz*rLr1dv{<%&bz*Al_s4oh<6$B_48y|>c<`38IVq^r zd{%6M`{fofZH^}4ccYn%6==b!fWQnW%%qJI zzVXDncDBmGpAnCVJbRVSfBY!~u$(kdU?d8JiBBC1M(N+c19XnTAq%ln zohrXW3aCih)ABSP^;s&h-C;QYF{1NV5tUXg@y&Px*x2Sqy;z_OUs#;de+lOZ&9|5j zXWC}+&v7&Wov$+ACf+e|*mDX&SJ)qyB1R%u-lIucCibXNXXTH>P{2}U^rzWYe2!Ds zBW@Swg3(iWBe;?@#16n+)j-}fBZG4$WNMxv!Zguv6qFwSl3O6D?aNx5P zvXu2c%X%!>Aio`b&+r((fSUb>sksP;&#q3apA$51EYjFT<>Dpp{>J^DTZ5^gU31q` zR^w|(pSj0;Q^~e(jlrse+iK{}PqdmK zUC8w{4r|a6f@wGyH-i?j7pL1HC(^L2lfMM~(5tgn+dQN7!f{$%2mh%aOod|-g0CRU zps1G;9s^(T*#PUB7$VM!36MJ5Z>ckqM-uMAbMbU~lU3=lxQoe$mg143UWq6p z&c$0>q@0)Vfj=lpB04Qw$A(x_4e=uEGZiztNpC`v&@6}X0cU*Yz$Wj?PorZ5*QVh} z7~T4N)NjI{av@cI_D^VB)GLF9%l3 z%lwl0Fuud91nkPEed&kwELP6*ZBIiS$+&HI+lpl0laox?tUEec=Oi zS>}7I0g2Z4(Di()M7;ENa7?J&6?cZq1j@@(&LC6#3hhcDRq07Z*oxlstvKjX@;u~Q zD|dzA2L9(;F)YP``R4dSrN^YddA~T{3Ud^)79ZUUSU~vmt(b$-JgK1?U?7TK8;{jo zN&pRG)#2X18kv$X6D;9q#fdWzDN1Xs;*Z^Ezhjg)x$!+u??#vDj$#vL>ijYI$YJAq z-tORuaek#k-=-w^%a6ta+l_Lw3>QCA1-@#h(avee9-~{9xtS-;j#f-W^VwJ{JA$Kb zF0HiUxSMC5r_m>x@R|2e5uN@k!Zeegc@CjHSaufKqT7KyoNjGc3*P<v?>O8AM(pzwwD#R>*lO!d`gtoV&@rLE`Rjja29EBk$Osg$qI z8wf_^O>Yr-(`z_yYtW6{<`4K*4*UZ+=odOwbS-y{9eTGHT*(lZY(f27n&n*6YoRu(&Ol1L+WxqKwZHj&z--3>ZHGV zPwQQ3dCmII8USAZIbG3Qarn*0M~9wtr{YqH&*wZ@orB9#7cMIwz-8SsLjo;8wE8kc ztFJ<|`bQA0{z*iuUxjG(^~*v6uYm;KW>kOqB;~VI<#VJ67b8U70`!yA^Q~PJ?+@o& zF}aG#Vvq&|f?F_NNG}TX2BAb{<#Q80IZai8xbvPis1n5Z{vc~tx?~s@O&_5$V2uy! zTmKU8sWxPu;O{u%cIszt>Xen}jzWYlAOP>Kt5_x^P+f050p60q_XIP(NH& zAq@5N?IN1#!u@XVHsDr;ru|DSY|M#1Azz~_>RX9UoqD(TW97pM@D#Ly6R^;7 zwDetWx&_JQUGw2k%`-&-Z8{K#E#^h1{2b*Wr5QkTRLb`VnF5O=&*JeQ0$jlJEm4tv zspo*1>Act|;AR~d2Vh(jaD@(x2QWSg=oV#L9eGyI3Q_AkYgC+RdIs8 zh-xQBMS2U707ya(Nm0O`>cDFNye10Rqyw)7@Y*O~jVL?Wk(V5*c5+mld_9A)$Y5*~ z@Max&9e~$G0f+0raR82s0{#`J{$Y88BQHf%I|a2%iHg*LNB~@q9IlT7zN!Pq12{ek z_?!-$0N{iu;8Rp~k-au`QF@2D&)livd!HS$Vu!dkpEe)S(tP><2|ZTO?a1pE*mVPm z?x<|Op_lP7%J?`6n4kkc0q~P3U|)i$7nZ5yeHsOPA3#>X9eG@o%~3Xwiu5ZzhaTk6 z69xRP4*Uy%e~AKmbYKv`U=)y6zOsT|M_#WeyBB5mMn#&Y=kQnL@Yg6{k`DX~z|W$9 z{WekW&jI{A3V0GgR?z3j>l0=7q3ph>NW1hLP9ulYQNWjU;1>XX5d~bU1J3|>CJI<3 z%0BDJJ1fdQi?Yu~MY==J;cv*{Z&ASOb>KMw&qV`2cqK4)-(7!GWdHG z@FpF23BXHHz+pNNM<(QH0LDXSF1W}Jlj{6zIGm09dp^aD6@28#`#Xp9Q+S6 zadaH?>b5_26@46?^0QH~%&Y(uEIJznbIrujQE;-EI64X*7c;NoBd($&df1@iva?Zf zFPTUH1&hu`!Dr0G(NXZf%*4@A5RDMpKISSq79IB4m{@IA00tJFje+@Q;^-JS!%Q3< z1LJhlpSX%X(ZdE4mz|A?f8tP1!Z2;0je_lF;^-(So-rsnItq$g77{fI_J55ZM)7;D zqW7Y6@ZMS2R$&%+pMIQ;iVMud(NS@_nK(Kso)o*a;tyO!A4HozdslpuJoI(+UGW7o zadb?4$V?m^6aBjB4_!qcMw>o+Q(SFUF#4ugWG0S|h_lVa(Gk(EoBqgE^ij0wv-iXU z33}9{?}^=J;^>I@Gc$2?L=2K>6d!gK9ga4A_Lle+vx3pL#B0pN(edyiGjVi0oS>T? zbQKM1cn2SsoxLUg6;T)oqi>15X5#3G_!~2EbVU3PiAM1WSJ8>+u+QER*O(QIz9Uwc ziKFA;0yA-RJe*EqtxU-UxoHL}=lu(v{(f7ye%*4_0 zalV;2IzCR*Z69(K9f}V7Y!-D;q;F3z8-0I#!%Q3iG;5BZ?2-hMVmgG zL%qwaVD#-#G*al-=;&BzCXSAda&K%DA9ocU*E0@UE<2k;4I}a)Vf6j+Ju`81eEhwc zI66K)ZYGY7kA_YJ7ug%nKsw(Vkc~ZYSvXX~g(LU&p73ht(+DjRJ=W{b%o(!U-d zB-bL&r@1e4pf#P1X^7Zhhezt{5nsh?O;{Qlt+meeu)Zs7Oxk6BV@@%w>a zP=?k&;8|BN2SwUVYO^O>?pvXvO3!)Ni6tXa zM5{p53MSw@RjO5r3Us~+xo?$6-tE=zLN?>=+(GoM-Q-wB!`tOT5G~WwdW0g>$Q})- z8>DchF=Xb)&GFiCriFPGP{Fqrnf95he zHf!T>MomHgSUnlI-s{9gTg#1%;7A)F@D>-t-2DO;o5q0I3#xJ4WEB)Iv*S_Oo|o$fM0NUq@ExvCL;s;t-F-l=k+HT* zv-v8;Y29)uhkC|y?}&b5ATd-x?Rl%yeY21dYvp)$rTWeN4>J@UK$MoSj4I z(X>9DW~N+EO0MgxmibJrNyn(4OE8kA3sy2Lm1;Y@4pqE!F8?8 z8T^tk4>k5Cmt3Jcn~$;b{<~7+oy~vcsp&3L2W2u3S_fq;52AzOY<`*K+`+uH8P4WT z9+d@YUfylE8he~=SsfM=#g(b*L%zER#AOuFnPE|%JVLVBnC}8<$d?suWJ0u&P;38g|zxQL5VI)qVFLodd_ z(TRD8Jm$oFho@+tN12#~zCu<=};_U>rcwNADJ1zkYcRLDySYEj* zb~*j;GKaV9Obe7AFf74_2R#X5-sT>PKU96>u{`&K&IcYPgUkJp^8vXu!iK4IAg}as z=cXXPjPeYl$YJF8+ik=jGTgtAm_;Z74g?#vJjOqQ1`uuuCEBbN;rT)LmNNA-rT}0- zA800pmvOJuJh<^al$EebD)hIb1&MaWL09SHzTbti(FYB>9}N3&$Cbr+%FH@Upw*gV zj&c=d^@)p)b2}n#6ydth-;u`97>+Y=y zeU@oockTi=ASu&gc6YfT06mSWQ?9Y{AjAlk;|^g{M{w>zs$O=e-GDOytB0Me?Io1TI7WonR< zimJOUs{OJ+bc>o?G|}kXGzB2RhGH9v7X&d`Z}%3nFKNZ;0rg8>=G|uZ<~F&s&Q*4k zOY30GGDj9&0q6{aTlYs<0Z}S$?hu#|)l$sg22j#*-YZ%Mdg**POgqSe0*pkKSVuH_ zyd`R21Y(W?{;mov9~#N7ff3WbU_(y?7&9Wk*t2n&%e`ykRYoaFtNS|MwfWlz;yd&v zhRfMI@JD;$prycfJ_?EG5M>2RduVz&9_CK(@U9cmI6f?Lz&1eUs0Nu~2o!x-bFaBH zmwervH5f1h$IW7uj256E2ZDpCORnjqm$aG?LRoI^saDGt;WZrF=zL`yzYaO|1O_zU` z#YU;$I;+#wy=Kf{VW!myFNaf^B3rHZvw64MoSTGO&GP}fqVA2Zv4*6@KnaN2-z15* zJA9v!DolJy$h$qmH;(G+j6y*i&}5a_pzm`3ovHC_=H=a)w(cUMCv*3)2^hmY-SGxwpOSg3&L#A95Dkm{eNR$Wye9;OT4vBxlX*b zrHkemnzV3@r}-YutOp4MJ{vR#UK^6TufyTAS-G2W>_H98izCQ$MoTY*%0B5$#CzWqDO9 zhWKcQF@%8odA6eHIA!N8SNnBj`ZQx-pymL%`Y|{HUk)lc!)ZNFbuP8gmGzmh7N`(H zxfyvn{VG>@oRl>(dIJ@GMls#kPlTD$y?GlP>k4k^NHbQYx~@yNk#)m)^3%89bzKhZ zT-wH|@^cvq9CjPM>NBtfPuoT%q2xl!yOufDw6CbFDpytXLevT0F?+`xMEH?z_w#fV zx7mE);Nwj01nvT5Y*Y_>;gSM{jCq$z-@~jaaR_IW_TZmDEzytLnVyLH=~AtJx;UzS zIw7ilnjBF-^_}l;Xt%)Zz2%)D#*yFnBQ=6d6Y?6Kk9g6=Ba>bnF+Y4?%n$9~vs%>K z=KAY^YA5f|PZizez>*C0HbhiiaSJ%F|Cz@U!xGV2yiDux=6t#i?<8Hl zQ+cU1cSm7hNv8O&jwriITm=DV;h=;~XGU@Jom$uT1>o(=Vk#F)zECq*4(;hzeU8e) z1sD$uTU@?0Z=L@nVGw>IGv1Kus)vKZzyLVe6>#$6**2KMyM>KIe)yH3nZakP^ym_F<8@YwU?Z{d z^-$bz@W+cT`~m+q;jYlj@%?=Ds#ZMob*hR;&lndlpp~Mv8MF{5eluFplQ!MW(8q!d ztrMu(Tw6I7{^%8o1p@uA&{d>jcA$R1W(#@l#SP$}YQXynBSefkrrMYAEL@Lexw?xS zHPum@@`uGm)k5FbEUDfZHyLBoWnyToaXSyLLi?HoSD|fPf@dsYA8LKExYT2U3AfmQ!cjLB??SgUE~lA559YvZC%WCW$~KVp*bhZZkuLacdS% zpu*m)G;Ka1y)l*X#cPDUDrjqNWMu$j!?GFWBz)iqpHK<2yaLWGwKBAj`6?X_+Jav4 z89AF-(nQxWUvcQ%@VwyupF!`gWk>?{1JyytwwBeDWo-4B1Q}=>+UCO-6r{vCyWn2VM8}i^A-q|N=}*nG5f1( z!n1eLB)zDtdq_%sPd?;{m1w7^Y)}Ifqcr9oQJw;8GUA|MGH+Vf)NPSckIRQVdE!*_ z|5&tlMA7Y1>UsH)C;SU9JyleQ`q>Td9Z`Cp6zr7`dGgqlW5jSL3Hdm~(|U+HrP}bM z9hHDDOrf{2NhniEcf#oS z8xBZfpH37)80s)B(T0H_-1w&w4m4wr1<3CJMPWRv>-M8ZcpD9k$@Ug(DMWHOUo667^s7uY0UJ8D zgZNrGKv4BBv4*Dcmq7Fn=j-0eWEdjYobBI$FAThfKsY2Emw$sp|8$tdy;A)Z(p>HT z98P>9tE!Ud8l%6$*dpDdj(Lq6FwIF&57If#8X|j7Awv>l(Gk9iC5E_{ctPGVObBlk z4QWy(LpA4)9hfL*9>%8p!p%>j=ovTbKmO1?Nhn@>n_x!K|OzAlqB?vWQWBRiNzlg4Iq&X zzOb2sxo?RxF?6wCkZSyWak&2HA*C~*lLNo~7QX^N_#U6WF)crMkZ-^_sjFF@#Ns^I zEY-;5nmq{yALTbw9Mm0KQKs%13u~v}ViTn%aC>6rWEZ%Nh4;T}O?kh5oR)vyVGLnqn$}oe$K0eh|bj;{ljQ~%(eO>*ZVkxc{_urWFC3F8znDZob z4o}Vby=ni)%=sU=zZfy+q0O;5_XF2evb$xBwx1lzj!tXntDGB!EnI|mMa#N{z@X8P z!O>QPCm_Gzw%UdSSZ)|H#8BXlxRyl!@sqxBT_tRrCFwK4zA9WWb%f6Sl-B&Q*2I~O z|5+OtXz?YsNhp?1qshY0-6}$gO!Lm;X3+R`6He{UEP(~zz~$w+Z^aMh{YdKY*_%#E zVeG}8k?(qfiG?n%R8Rka1v0($Op|>o_<-bA+eAyzJ^UMMK<6$~S751H&2be%$RR<4 zD&CoFzS-JGlao&@D4H6i<;MC{iD$+SuyLdFyF80|sxE_v0qt&YhTKC<_N!#?c;<4f z*NGGR{4aU!`D@K6XHtPKK#0a*sYAQJP=C(Sj&J9%0t@{odnslS5rDoW_BQDV3X#8X@PLB}4dJ`Hy z$@V3;&L|;`1W&45z1m!de7CiB&dJG7uD3h4cKX|UL!aUIjrmg}zn=(=<98vyuh8ju zaP-Y1U+smA&JL}+59aXQEE9e7RM0a;s{Yt$SyI-O5; z;R@P?knZU89mn3ts~M0eW+^=#@5cFe*i-N!?P#4^D7`3kguVm6LLc#*p?(SM8t<$g z?6h-6aLbu20d^n&JrCV%_>SW1^e-?c`UawaC5bR*0`T~KHYwvpEXH7GoL5}gv#YTh zZ2~T#*{6OB#DpeErnqBoa}kAk5Y0GnS=%L76q;A6GPY_MeFscqM<9TBC@x;Ery~F( z&~m6MyzV@;9eZg!gdx%Ajumqu^J13=ukR}PEXG<2?`^Oa?df8XZ=M(6S@d3}jv;d5 zbbm>E|9Jv5NGS3C*xjMHi3#FzA9vGMtmHXY#9qTl7pLM5AwXVB=o*UPFc1N+&I@xa z8F?A0LSB0loG)5KGo8;^L+6a1yww^)r^EVvyrgmn7C8@0^02PLJK42o;{+V^y|mVG z?2U)q0Wk}UkH>3{eW=wouCT?5p3tD^UTP3-Ewu*=`|>|uKf$@R!>=;^ zeH&YC?&HXbLvfe1YdbABp;UUz_d~po5t~mb`ip4MQZzu@Z)s1C?}!v8C03Xbnn#%h zt&?#?X*}>PVGHx^H+yk}Iipy=9JDR6`Ho&sG70N_@vW6{#(gp+!DVs6EL(!NTU#wH zn7X&_Y?)l#+RMO?#DsKyTxtRb!HVIk+_x4P8^rZZ`Bg?qx@XLCx!@?t;OnTdy~^~M zh7e{Wx1Dl~6BjK3ae3H?q6{%N)~C;e@o^8kiXCfhm%J5rHemQlJOpuZ5> z;YJT=!fXDjc`d8bTgMl+RD=V|94(b|H@%7q1!*l6$AZOa=uO_gnO`Uc$kibxON`D5?HC;jHHG_F;XxLAbvKtJCl<_linKT+~`Tmm^1u`xEEZ_Bu-= za$h2OASl{5ReId0A8`@I($;gbKsB_5J z-^()kmt}>CsnsIUvMGDGY6j0>%4YzSZA9UCmplzXTQ`(rYMxY z%vFX2ja~(lBa&O^rgg$`o&|*Qnh$mOYvJ4cY=l!M? zK?DYeRS#4z0)tWov;i1&-uE#@fWwXNYdFNkZ1I8xB_HoOno~b5aF*qkExi$-vW#FL?Z$K;CG(D@A(41 zpBVwa-!P%o-rsCK*g_kDLMt&@1bEkK;QeajC#PWdLMHAX!mhtI%M!Xwiv2^_otO}T z-OnTNfiB%Pa#mP97P9$rfU>nXom5+XlJB-NK=LZsmkN1?(i9ucp11c5)0PFz&Le5HF|-91XDEI8w6^ zd?11cr|7gVe{}j2;>K?j`m>kULVw;D7@^K7MiEXtY`)10KJUPHA?WjwhHTL1&pb%; zFoJ@Ey6yk3N&m;3KmH;5{0pRCf~INGFGi?BFyGSH5F`Cjy8nsL{bAD1K%QMD^7Q{y zzE3CLO}r{UU`fsUGs+wMeV4x-{JqTIA^uMA*IGC?zt}g$u=@K5=z`WtA^qtpOi$_; zhhVv{<}dTj(}^kDoXxY%G&=je2?>iEv%Vy)5Cn` zU*%nte~mXc|2pri{5ogz>%21x9gPd>e2xO5PohxR-_AQvoZhy(3(w<oxY1nV1u@V&f`JE z)1etWuv``*1IYkx^#T2b4iAw!J@G4vnTcu2r%&u9H1e-b?2}wP{r?lICstEoVoq8b zV@|;R2eV=auK|wGT$dk>_|QG%+*&+0_bpExmPR*iyw$l$@0Ua68|OMV31sewF0?AiKlad>?Pi$#O1`7rKLoj{u0! zZTO#kS@j--M%?Tl`ufJpy%+h_&EBV^<|pOjXJ$JIL{NWO-7aMpvPE-9d0CAOQR*Td z-jUaz^{d;w(`3tcP~;sRd{fFpKPLHzBnz{+mk06miFElzkafYTInL&%crYq6a(5Wp zY6CUg9_9m0S^~?HD zyl3Ugmc5*PLztP8oS!?6^G>dNxV>q8Rp@^t{BGRs$*R`|s?5P{Nt!O}i4Yf)wD;%^G7Ycs*wGC+Ok6Obk?NLLM%qD%J` zpd0Nfp67cG7S9^B!hHGq-u?>9tDa3Ec0S8%hz}-{wu>N47+6IuM#b z4k*AjZ!+&Pc~^0uwQ_Fb2_XU}R^lC8q|>LUzzLHIoES+3GP@R!?aLuIRN%x&Dlqn4 zz??>m%FOJ_dD*)Mi!&U7ie8-g*6eS7bwjza3Xs@u=o1(k-L4Wjdu`_K(|qI{wkl1mUlR&lJMV78YAW|Ff!YmeRm)8{1Gz-u2=rVJ zL5Dm$72r@f{)mk;$GQlWlZ+;|ukDbHE;&t|_w2^(c#uQ_!$C zagnR0_wKgQ$;VQR#Yd741abbMl=@8P(~XZDLUxhW`~Y9@omel#t>nWNI?g>hj=i-h zc_WGI_`8e0P5ia+XCXdsJSa!6uwbq?@3(gnb%#C zWB>2C)M{Q@0yZbNqWbn)Uy0&V`;FXJi%?0b^k1EkYAh0Q(v;RkbMtS6u?6=$iLjz$ zR|Xbkh0=TzTCZk1|FUf7CBB3}d6uy)ycW0H`3W^J^vJVBq3z(GBxa^hqOR=VG2s!8 zV^Tbx%8_pdug)><6`^=@d!Y27b8%NJsDjnFI<-nJvlq!__Ei`y90)F&>)e{oCQsGw z0d)uU;emQcHR5tqZp8*vt-M03yT`c4tkk)98y1h@HH4%Jud#(M!SQu@Ri(fP-So zqvm*Z4#$Qs6T9wEeu;0c#JfDCYw(>rvTU6$n-eYjJOmvr)AF3vt#SEteaTFBK~Z2b zKfb~-;wonQYaAn%;d}E-8OOR7&0QN@V{IK%gy{Hq_G=g)1j^^>Ws@MK;rjEOPnXOk zym1+tk>UAjj?4nyShuHcYDYBay^PD7ROd4n<9gh^pOYTZbPPQ`J1WbZi(d+s%tL9? z&t$NVuR>NeqpM_&H8j=urq0BzTWYJ-xp+@YTzAPlR@P#c-eN_4W${bgQ>_*)=!gPD zr3P3O5H42-@0Vp|3Qgf)L`;&~4iVJ?6m>B;tWO`I#iA3j1+9r{VP>=C;~XuF!YbT` zE`D*^_i=JvWkW%USaV6Cak!O9tK}h~6%l3OhI9gJ5217}g~LE0+`8 zjHE5Fds9_PUQBKC+w8-!8z7F!?I#1)TGRq-QAe3nOQ?WU^``}~++U95HjO8u`sezh z@eQ>A!=>hrs6QCghvPB^Id=UIFc)fY}R{vkUJeik^HYO*EKHn3P8UGb@qyykl2z2Y)f zKzpyye6`@dTbU$wOeXVM_y1R@DpKV9oTy$@z zOI(4;+*9`YKe)2vMB*(c7sTg(TcMfGp`_Os;1!W>Ke)1SdwO z4xMqZa4vz0)!O;7nf^P33hg!e5!JCqsa90$kkwhBw{C~m7Phd<*uy%iuBhcgyb2=S z#O%WAUvIPcM8gfuJO@_@cCpertglo=XBhLmQ)H3*sa_j#B8%u#Xkm7ly~_2Panf0If-P5catnS8 zt%yfPXI)^#Ti4r-_>rYjTqlV?OUXFv0w6#d)y>JR6<4)1iaq?WQH&YrQMO^IGM$U> zgs>9=wg?{!sm`b4aY}L+s?RPkZ9#E{_j818ya3`@I$Y_wQti_zOj{Du<_xp#4snac z^>G)!R?E#5qIvf~pg2R6cOuQBcf}6AP;AEPx#Qw&Vp}rHjj^EYu#pblfZAhvu=G(? z@(Lq#XNV^Xv04KU=p=Rn*ixgj)CU8J8;@B*_oH3zc57K~J0_cm4lO2$`UYehkd+X; zS1`G65c)Y#aS)T%U@7YEj}p-plUF$rx%VO*kdq{R<=9C0o}i9F>soSLpx>b&o2W zbj8%H*ZZwjp2wJ1JwkXK(HqtZ^rEw=;Yw?5HiE$DY?|8io#Y#}f-io01;4@iGgiSp z(F$V3f`|T3t`RWeqNNelc;D2B#Zs-!Qr1;$w?^HqKwgV&k*n*bgXcjQV$zXeVo`^y zP^t$Pp5$;$L^V|F6^9OQ|6!>kge7+#U$=dtBJ*2;a2ldwvdh}QGcK!8OyZ-v+^L#z{K=S}! zhT9fsRy+jd;V2K?x<6LH$S4>NG#}8J95hZBz#HD^2XY_eAw20;bmKh)?+Q=4fv2GE zHoE;Q`2p3Nh{m5&=E0nX$Ja0o05Z4cYU<4+?#%6vd<%247@P_WutPn(OFAa@6Q?h~ zoLreBGN~@IL~hm|j9N}vOR&T1tLIm=brso+ zu@ag@>^bK(OTTbv4(#P#YQA;s!RAV=mR?X7(ve+JOO^trgQ~!_O8of9KQ-5UW&RK@ zVV7r0cv7978*hRq0qe|4k9F%5o29)HtFot=Y^V-)bYCC~vv?C<5t~Yl!8QHAy`4(r zpZ;B`DyUQk6`D++P7UeUzG~4EHDj5dZiuBzN6Lfqk9<#0eB|w^FRT?F5^Dw9?eqz2 z1(qW%mCZy<6~dQFA@wwESD$9CfJk~&ld1!h7T?#^r@BJ@jZ*)kx5esz3hRfF^;hb# zVGSV|bdxkzt$Q0aG5()g+ah(HYHio9uwFgY%!)+pCCpW33Rqqz_V>;3 zWL9UR!eiglV`hjXw~2p*JhxpuG1PRjXO$^7LAn=7$BIRXF{NIZ3}dpfGkDKtGPrsP zYeewfJnvY4hr`t)VU5I81rBD=xI@Cpe(Vn?!1&&1$3mqb^u9kVy0{o>y#bXGT~f4a zif#ToY<6e!b5!WxmK7|zHI(H4qMc`ltJn9pHk=@}bIiBrS?f!@S2X2u*WT{Es3{MT zRJ%8`DenRK9^aHlhd2!RzS!18MWK~#u)3De@;1MGEp59;z81A@lCS)xy#I_;g1k&u zg6LCM@>{;Cr10K3M(lsL~FWoo3ZU95=x;{RX2tSEaJR~oU%8S41 z7o1qhIJPT6I%Y*E(`7+GH!wm#2Z6)F9d#mh(cB#iwacS#b%>P5eL(E*)!(VeqzDM> zKQ~fXpB~wc*m)yjdTkIjL5WZlNvz(T26(OxVlC)CB25G(3}0W+eT3tspnI_NFh_Q@ z?{#EB*~CTC$tGR_pQ5YFQXk$5G%^p!ybfAI~z4hmMo zrAM45XnLmOiV5?08U>V$rP4*6FaS;5g>mpCuSrI8pDq17E;aM)zVnSG`SCqXd1Y>d zz!_~R5ZqcKKlsM`@9>UWm*Rg`QHe!DbHSYJ_L!{^@lBUko;_JN4-lPhpsel}oLi(( zF*ajcIk#>*FVLMaO`bKP;}c;71@<=#hy|VGNT2^n?e_YVX=+8A@5=>5@b#s)RBWAod8cfP<@0aj-mHu!XOnw+!4YfO)+r7!F0y*ji zasAWPZzV&ydI$`yv+?-cAJe$gOJA#Ve=4T?pNcR1b;+)Vq7g?{BXl<=Yavj}H z`;iO@C9O%JBl7a+(y3C^&*;>};;4dHX702w*P2BbbHtStv^pD)-{3vgczmYsLXLgY zbxWueZnVzy#g`y|E=5Zim9B5O!w9@mme91VEAfV6I@#_!BrSVIbqbp!+P*kH**h0; zekOX9@+Y1G1P_~S)Ga7Mf z`j5eX;;a#}i_{orjg=T$A;1`9W7Ec(?8@^gSxsZBIyuYBuEFZCp<*rUc;tBs=7t}U z@<85La#pG&$*;|YO%y{XmlIv?4p_@0trJ7j8&51WUUM$)FnWS_T3h3aIKCave!V#U zaO-5wUPKCe+k<>KI8fTLYEq(3Q+eOgR&Z zWmsGZGJWE3^I2i2B79FIsV$Pkc}9{vmbS%gNosi+(fZg<>SW5*782Pgt@N|omi3gp z5-C&oQmI&dNk2+OY9){KU44A5HR5lhKM`^W|5)}Vl5eUd8UEB{6K+Q?5@Qp7Oy#Gs zr)UM8&7O|5roB^&cT#nZRGoZU)ssh7Jx^--mkf1h=&Cj7YBL*Tl!1n$a2z?}+45uR z)0+=c+R5;v#wuHGud&XayDxWO&(1wB?Ri<8oW1RAhE`j$4{Q6vj+1e&0pp~HX!1kx zCs*S2({*yq43Dj9h58Xx-rxi!1T^;wS$jx2BB+XCk1e=Cax{v z0c&s(Xz*+Ovy$J1HuaePAubsBDOPClprwY@$do{h->3@I97IyHfI}k+GU5JbWR@q% zsms`jL|^7*qb>Jv?uk7w?|DV04R+Kbj*T{HPO}1|KX$4i!fP=T*BMDJ_ptYHF2e5N zJw4c!O+m^Lbu&6ZJCT~DT8oiRpwZkn_q>$5ZBGyKmO#ybQFG9j;Bp`JK56&{@O|Ju z8v3!^JB_VW@8m~2CXyvfAXR^s*~~A7M+o)^*<&c0O;oqgS2-bgQrm76bSNsd!dl2R zxyfT4iSk$nOhJia??fJ-2H&ZUU4p*ut4#}qhWL2scpu&}EDhgce_u?1`Ds-fk3L=EH?&$xD zC%%1HUB|R+vC3rOBDatB)jg2U@TCWMB=oNN>g)QI?CJrXpjPP@4*f!J_NBZ4x&oKV zJ84gY6}!6~Yf2+=z}aEqJfQ60Dfx`v>>Zsn8WV+Ed0V_H!wp47qj?_Fbug&Q8 z_g#5Q&jQ1y<>ba+Fs1vL(6|yFwpZzm^6}qeWjb7>N_iIM7GWSxK*jl~60 z&M}raHj8$LIO|DWuJ3!qlW{Ufs4!PTBmD^AwxuI0J|EXcgB>WQpG45s(Vx=zuC=uz zLKV5mJ38eO#m$8Xm?PV>UI;lp%VMw)BJYpReuem0 zpQJvX9>eE5xOLaufZt=c-jTdQeehlS$IQlwO%K5bm}SIZ0|I5a*E44E5w)N5db)bz zR4ut?E&YFhvWpX_zDi|fs~0a&2w}lMW&sz+zAsm*EEr&opR&<#_l_3#4Tg2tlTo|h9U;|XGqhuXKCEKbDbSU4}hFG{a@2! zb2^)*^qjH@vzPiNs12tQ?V@{z|24b%?Sn{95@&4-RNAzIeJ!qqY|5sbT9`Ri*C5#=KgrPc`((yx&r#esRgaH}4Gx z5I{I z)?yIwUdH<~#8lB8tHPlHc|5h@1KY0D4|HuBpz*S151Sx85})Bn*8DnpU8FAw8-M`1 zU|tgbkhGDPgy|xalndhYDsP7PhrzvxfWQ>>Jzyr{iEbtX)uaQ=!x`NmV*4IsDM&5y z+-d8w2({oHhs#FkVd*`(G4gC3k*EGwf;CUHb2}jZ7t+D-P*S&h0No~(Y~UT7Pu4`} z0}einm$)|;XY+3}dEK}x6{U+<`9*A(P~CiI%ZDTriL$5zBH`NRyiblvL^fcihSbm5 zBoG$ML92B5{9=1{j}_1GN3HIm?B38_TpGK2)?D4hREIZ;Zc$08qD~|+M#nMVK=w|u zx^~uog-zFAYZrIULxDut`y8MSm;FE1t3ZKu>%T(v**&30E7e^b!thNX3SxB>hjX|9 z64qibAO}Z{s~GlD*;)8Ss>H*kaRfvCkIMRtn8Gm}Fjy}&g=2cRWhR5_zmqJG_24qc zK(aNI?6Ftl^=ly6o?SCcmpfUA{#9hra1gs77LU16U%6>uA*Xr4LRTf#iy-4}8RlT*MO)`NFnBv4Mm%aJ?+nW+GrVz4Vtu0P&H6Z_$92e?+%`EbsnIw= zIV}3q1LFgC*hKL{mbOfm_6yh1TfyF0xHEUBmqoOygwC4ub^p6EF+yKMD+xiuG^UD_ zJVoT?iInLIC2%r=K(~8e^p~>Wj584dnb2SEgP~~1`ZZB;fM2q-BV|8K+u33zTp#Fr z%RLA_VtY(lTxFGW6URdlR|ykfl7Extv0_*h=-VVo<}>PM;fgrI(p>*U?%Z?w5yUNeh5mUDj@ z#N+$fJ=0HAfzvV;b%mymsHoqOEQdIjliQ18n=vlCUc>=rT#Mr~ zSEl-H-4_(|oXy-`BGIw>ChFUIySo3|D1Yv&o_Hd6kn11R0PN}yEDS9or(I(6e*qtk z;;O*ZCxYeU8CGyO(o$%aB>4LZ^9#YdXf`{W=@@J+j0r0rJshDP$inr8 zc^Xtf1+E<)NR&X7$UOEAjQLkYjrJMSTcsm>>l87D=C7-BktSEGft`El`PxkxtI`OcR8 zGX1>6KAq+YekKM49 zn2B2gIVL!pMN%nBxUaB3CbM^SAHxyLPS44e2H z(z21T-uCgo1?xd64y1n6>4Y%`L`D?+Zeru{MBiKf4d|PW zsZ{r~cGZ$I(N%0i?M4*+wie)Sh7wnB)(u`84vgd2Z(lIgn;5tv^y8MPVcb0&L!`i- zP%x0pF{Cr}0Bpz>f%rGBW)k#Sagthbs$2Wt(A^5n70#kk{rABLCTNCp7fbX{dRBI5 zzR@qmh4bl^CTnT()P}P5!${Tt&o-31rFayGO;0Eq#I;0jF(4ngoLr=S$6YGKl`wEi zt^weTB})Y4%B#vnN1*g*c^Q{T>VQ5jqyx@V{X>(Tn~n*h49#?I`iO_b- zOR0TdHF^gh1WN~&dn6{&u-qcC&psHd2cV&zUqPFA>kD(1i`L_C6)gT=^|==&&5M%JWN$gs=UpZ$A;any z8T7&oE_jigc;HTlQ9FAsR)XDNGO^<*kr5iJVeRv}9b>3c&0q-nntMlQmHbmTzaH%x zS4L{)61K$Hy^-zH?~Q!WrU-#qt{!9K((r%}%3+KruD^=k;#b)~1t8+y*}qWypkr6g zy+&|@)iPM(kIVn5{#eca{Qh&NkMAyKiSdorAG1WPKh{b$X|(?6 zO?J7u^^A&T`ptOwnrs=MU!@__Np z$H@qPCZg+_HsT41vD-UvU| zO2OcLQfzq{r?h=_ayBu`RI2Hx3P{*L6#t}5f>c`;3AebPQ=qaxEEQ)+#ji@f1}+E* ze1t+Fftq@11NWVz{+7axEkzq!ni}Q#9{F_M`x>9oN%>;%K7B4aBpUp!(ni}>_NnZ{ z*+kLVXAF57SIX0NV_(qb^jxyqHH1|%(aGF<<7Qispd?tR6HBC^ZK~0*uf;a5#abA& zr7V;YZrDYiLUjw=A9-toH6OJulBunBKAp?d27KFH1NDo8x=T$TTOfz=U3l*!Vq58U zqhfDxUcGL=&8$B$xGt{6F{Q;>=zMySwZzr4;RD7<^$gbE87B&C53wl0XUs!hpXW-V z5_)D-duG%=7ThAkGKP*kR$cqpqrqS6Unh<{#t*}|pMG)-xdvte@^8i0xPLRR=E~fa zsrQ8P`r)`OTO0Yv?kZES=vUv1{OaIW_%~9CdRh`Ha7>n}!&x0Lb<6^ONenhgqk;G! zuAceUO#nauA_%7IHzy+Cmx?9s;v!p!P=>wg3(^2y{8#GlK2^qdm0HSY?jTJSV`r}N z`Be=|7Rrx}Cw?HDY&LB+hFM4a$}Pk=(~a%>wLD2vE1%+NkthiQ$iu61|8Tv!_0kxj zmxES$6~3EF?d(&_<7%4>W(-pt>!ckVtOthNSi)63K~yJ3cgL~T#R-6 zDA#fH?$&2&BsfuRq(Aqv|ETl7rf;2bsHMKdWA$J{BfCPJcjjqY^GRsUd#rUxT?z=N zBE}n3%hS%+s3Z1I)7Hbz)Ka_uV5&Cny|Cv;gWDJ1ISJnPuyee7=uhsUZidJp*&4VA zMaZ|a>0OIuU}FkCC;n59-fnE0jbAQH3ek`od4r2?%9ak)Ixp(LK2pS9N4aYt#p3*K zXA@$4r^WfgF|-DNYNFm|;tcqO!_TtuT8wSkFB`9`?H5`tP49)nABSOf5}S6C(io_4 z1i$kNmk|NCoi5AAcnoq%kFIV)aP{$vtD1ILEPYpAADX2bC!yoRG&6~+l0aOY-t^%~ zA(wKCHzW*x=`ce?H%0G!rl3YRfAM6OxlqQ*y}2xM4GQSKaqi^A1c;ogjgH;QTZ#{f;7S}H?h865a*_%n74Cy)9m`=Qa>)&d4JzZzVcM&CQtf0{2hMP8=LOWmN@ywY4(iNg|HOtUiW8_o_gOt|MakKLFZ@!;oJX4ZnbQ zlG}_$g+YfwM{Auk7BeV9bLF=5WjOAc?X90l^)LjFQkBJ6t`1E5z%2 z0Hb{OaN%nFs_!vJ?mF(guTqeGx6zUPI<6RI14@O#d0Xi++6OoiG_G*v`Nl5se`KRW zu5Aq;hvL>+i-hI-jFj{31K*6r&kP$G&oEx+3!Q}Rg0@)s6N41ZfB=>Ra_Vt zg*IbqxBGyk1u9@)6>c-|Be5=@7L8B#e2f^sv{&7HK8996Ip?60;$_k0_4t0T`YAD$<@L^T%E9i zB_LN=cYz$UD?WdPf^9#F$`?*}UJS)cH)^)i z4ZGYG3g3no8D<(Z(=Kl$HVko-cX%s|n&-8?Fs|kIi}48dB1eziY(_`qJAQZk5E_fG zOgwCyBnWNC+5~^Mb>bka9Z$eF2rPyDU)?V{%08*xsM$_Sx<SwVG=%hlW7_)eo{i!tPX%@SyM-2c_*ZC5V^qy*C{+JPG8At2_D zp+rI(hzy`~2oh9ibhzTzP70RWf@$|`?v{PcLh}W#_%(+EDfD@)Ki{zUlKdUvK#K1O zY67oC=*sF<1n7HJlZV(QCPY2LtzZQUyAZs}(i%4g3mX46tMli!tk5CZQg(!S@9)5| ztxoE)Iv=rRt^LU8z&--Q4^1V7b825;^*UVGMkf{EA=lzN8r?Xkq>9VHY2Y*NA$|bu zLlt9#J+Q$M*pRCIrRIhu8rlpp;A`49R(rvEntVWnhr62G9kqD#c(tm^6Rz}NfRd&H zUl7gcL z>xdrHVW-HP9+2*~_dmi+!ztC~eFot@-CX7Hjn~~&B*<~HiEp~vk`Ah@N)7o$JVH}k zN~Ec8>y|P{_Vx*6xz#GHCAy&{!YRbM`yE{)0R^#nE={G!pm3ThGT+9ATc<17YF3aK z8Nl_?5y+KT&>cnsudn#L9Ce_;k;RfVH!pX!ltsk!>hNlr&`i_vTU!XDKS1O$yXxZf z%qE^@5xu@>icMaq0$TUXtVY_};jeYzagQ_jk)ZNSPRX7?}mc@NGPejom>mq<3RdK`iA)fg%WhrOUM4O5Q7G!%nz zoEIoeHKFif`!~^E#A85}oR9C)yAJyXjn}ewyIyxT_t8g~vDdO+F-|hDz8Tp=@yA`qywiSv=;Ix~|C=}N_kVxA zy}AAOL-ioqwoKRSz7GHtHi7t_P$I`>Z$go4w{I}Jw_jG0qxs!;vYpZkCl?g|WG{TH z%pN$acHo5nq`%J@>BMB`c^$P*Z(OZY`XC)hr2`+H-hoZJ1O0c(>_g*r$9G`xHzv}x zUb?n>wXrPu48XcADlI?`y;OBokd9e+JpJGyI%1+DCVV~arEvUe z1i>w>p5~tTok7Pk*YW5~`;tb^ba$rfI5SP39L3}rm)l;Omqf+galAijyq^79|C{D~ zJMVwy>>)hQD=ESdekIu=LwJm58G>G$e_;r|wRB%rXT%7c+2#mB6Z9hal46V0ok|}+ zjP~8RiF+irRQm7Sw1`J@3~nwZVoUqbFY~*XRg|=@N9{cYtr2cfE~H;c=`eP zAETo~`O>@MEb0+%=}mQu3(;9!&AA!sb|U+5tL=)Gq!P|@Y5snz?+^@UO3N69-5aPJ z>dhU*qqG@juDnu$108-&Tsn9!;^u}E!$LfN6ZL55)1w|O?hsOw4&@RF*OwERUWv2Q zUt>OjouXXAZs>dld$hR5JJR^!Kt1F_8sega$U{1TmmWJ;EDu5hL}l><36WIgnTtx^ zOL5h;u0tH9yeYN*li3_&8XS~tpyYg}k^o2C3wd%@dQv~noY-AEoy|MgDr;Q>&U>!m z!E^aap4X;0pXu_eoc?*dYDJ&*~gN7t|auwOO}CX7Li?z z%pwW>eY|X|O^(#^`Waayq5lQR@@*ihpsU@MmUe^-M^0hOv zd>~n_)3u~TYPtH1EVU%`U#zn@B3UHX(8v)%s4e~DB+CcUED2|1k%WG^c5bU38>!_z z!LkukCkg#MlBH~1B+H9uWRZk^!N|7WXcm_Lv|1#g{~pPb>D0BXX^1p3M%G7OhHBdi z*t1x(H8+k-lb4u*_f0X=+#}QEW$41T)O0iL{7BllQm4EOO=z2DLWl_m0xqIUah|}? zP~jTxGCp6Q5M1)35W!P^Rl-ZIJgWYpSq=@-(uyCDj zGkL`OBdkaC{ULddwDH!6_iv1N-#Oxa$B6eo=ebRwO}FsV5hL z9XT8$O+Yxb7Jz#>Ta*NS7xLskUdVaq_~$XoK7QkxsSu_+>nD1q28)06`C8XDAfcl# z8VLVC_$~DO^e|{c z(J*Mkm?ZaYhPOlu+gkur646_l$)x?i8U{_vyXFK-_exaQm+liz1Ltc*vsiBI^51B) zU@_<3Tc)~U;n-bs}nd-&3H?7G5}hV;#j_l?k4HNZu9w*~lzQ=v6(#0TU?{JJ@C z3tGYb3J;;+U!o55*R?5K19`cO3?x#iGqBzsSf3GC5Lj>XFG-DAmVBBnpPkBXkjf%Q zIJES3j8L2)L^ew*74a2VqIG(gr0Zu4-Laf;+(!&;lUFD=&e5hzRfaYq^LIP^oqrEz z{0Nars7OcSU193lV^`t3uu?VbqFJ;Qp0i}aAD|MM^3s6wS7YG8Ylcy|8|)?9)Jo-% zZ2oSW>l5Gaq{&Q+DFLNFIiaJT1zg^(2PrTLO;R&NDwkxQE%xYMCq;~##KuQ$Jdfo0 z&q{lyzHOx%lCg(=9UVapOQtVzjgv%$ec18?Ec1$OA?u>nc#O!8;~Mdt{5AOhu6H&c z`QN0y3wTu3x$r-?Bm)dgkN{CpqC|}b6phxz0Zo7js6;2kB%})Hsitx4#lmdSmO$cU zY9`xhJzurep4wv7)*kJ5>;=WvOG0eIrAI+MN(C*pR9Cubjmil@F!TStYwwu^wCD7D z{ys9oW0BVHj>*7$-rSH(2+%$5*wt;p&i;IE=)j?8|b&Fm2FY!r5 zzjV`;uI<(hadl0sCaxyMDh2HEF+BmhI+aT(Olh%z78}$LC~dJ;G5LFDD*OpG=F9UF z_Vb^}Wo>NG#!nU+)!&hR){iuGZKc7oZmjd~>-O&EPr}E(w!C~zeZ$@HH;j819l6$W zFD{=MJJRttV{-XKpVX<{$EJE*){JN#shf4`kF%*KN?Gh! z12ZjmRhL`VzN34fi7}`M)+CNL@taTCG`j5`skx= zt;4`=tWm32>3cZ}xX2~A4rf&xj0)&$M=z@z^7WwTG=>z?E794YP~EngpgXa}PM@&l*ksfFGgmiAR~Me> zV!Fqshw)PHq)`>lT%L5dU+#1HwOB=azx%8lH~7*R%VxTubHF^Q*Un(Z523|U7=LHv zNwO$@XE)2B(Ujk}BEREXzMis^u6OD-Oa3Fqtk*lw=*zFJrQnwXL3=wwvB84&Y znuTVc`MM};<5)3k2Woe&M6_wJrO<}ha>dJN!@^LuwPDp^aI;lHTG_TpZEdYIRGVB< zB#qUgr!1|hslSpfE^31rR^q6Rp0OdLqvuzX$()Hb|0v%_HS2FkmLbSD#k1Om| z4~bT}_+%M3)W+%S!kZC_@y3jy%IonYgI}@+vcta{R5enrDbyF++Ni4J86#AQ?auN( zWy6Cx*r>j{kreag_?h>RnLjxT*eCRe==9i z%QSV5H1*wCna=+dK7{T(3aPNA!~k>?JGbeds`QsqSo$B4N~^M!F3VIZbQ}T|YBk-| zeCOl(Nyh8TQ@Nzbi-a@wf0?DjI9o50@ z8f%>(j9LySZJl)}M6wJ=lt?>dv>4ORX8*yOzGx7cFn*usA<|_#P9Wt)Qef2g z)-|-;Nb3-QYhheDo@t8EO0)~9aTKXj6X;u0wv@FPcMMXcvQE(zP9M$x2fj3@Jt9J| zrniXChz1>{jk`^szQF{{x1Eacwtej?8=GoWx_+rER+7GLsoL}-0Hk_pQ%L)qh!xBi z{XZl!cxN^6DzoE3K_M)5^-^)Z%$Ircg~hx*Rsy8mC6opJ(XH$OLVps=h2W zsJnnjCinwYLuvc0%Xql?DjC}5H;9H~Y|b%tO^c{5>N1DL;R703=!q;EwyKo`>oSL} z`5EM?8wYK$L4;)zqui=bm&;QgU5+zY*4XSQsAA%~dZx2Lw6iyXs-c{|vr-LkdY{ zgHl;Dm1Sy}`p?wBDd3846!i4ITp6E~N>0o6=z>g-o)@ToL0}Tvp?&0f-mtv8G&TW0 zQbz?6o07R=<^Rq<)8%5_WsNhrNFzGbIxl5=P}zvqCl~v3BB0;MvWDcvc=PUD6;S!` zc91~H+@fM3E`|dx5s}rY=N<>EZqjuLJEG0N*|$FJ24|Qdl5^aLvW|)BqLP z7|Zb=vk!EH|Cl1cQ5;!nnHM_a94xmk)oSA#ndvbGNa6tEBWM{yn84^rx@8ys2YqtP zFk+YeW;2IHW3yS#xzZfE#5lECG{~CG+tD!lx(8pfh@`jp_-O3G@X>d2_k^BRf*>}F zUh!Ri+un)x1SI#CO3J~Fm!G-Ns`5i21?6pFMY1bifYCor-=`-NaR~^93_LxFXWD7ZZ zd6m(6sr{*UaOUD`VzGPdB;C!+L&wq$fRVicnk`<-B1c(0L$ zXl0|iY_!HZb?dOAcNonyl~TZ-9_!TjVUJN0AI@L1q***N zHizCcE+swR?rKD-pJZ0sP-6Vw#;BYx#rg?(T)=wgm!=&MrKMX zK@?Wai@E~YIlO3u?}e!)g~?P2X{q~9rw6GeGm;O^maM5_`Iz$a+o--RWY|+wD&sd&~!AV3E3rk*7Z11jywm z;|XV4V#`fEPCIX;MMhDl?q#>7QjU`17-d|0l0VQ2xmE5+Dj``S_Ux$pA#exoWb*9x z8q~iPK+v)33)C<&Fwv6trdGKj8>Nx-CYfHf?h)w-V$ERUMT#Qt)KjhUgj&`;8#qta zLyr!F9x4*HI-zLwSKYq4fQDoy|AlYOW@4@eR^COsI{5U?XnAVE3-RF-Q&$u%4=&yw zKWrG62cN$00DoGfVW8u(JV!2|2~=mH20u z;Xk33MXsG2oAr!Lbm;J!lTwS_k%rpzCIK=vE>pWvZ%wcPPb>GB2>}y(hoCZp0b_cT zY_+6Y{W#=+i*dSzwiOEc_9|_Iw`9V-KZf8_J36jnnJS`7rkN`?M4dzD`EArQ$ z-k565#|dQmVh1sYHfCy`P#rSz*Zo=Ol3trCIV)QM{0Q+f6vu5Y=TXjW1?uwu$})Xk z{jm&qTd(>C*APw*^_wZ|irM!9i25jr>uY1aHgMz?$fbwK0o;x-c|?VBpS}?7*Ec{+ z9_8wX(WL8|$)Qhp>nmlVzxiB8m_b zh3dKKx!ki_@&yrHw6vGA$lFru6@~f%=5(`sf#(7OZ3&RYNt(m;#lcq7sgc%GOIQbN z-|%mUdiej2Shj&!w#B#MM0XH{oo%}P;366BFtyPmkT+rj+D*^R_NYDW4_oFotXK z<{2&`c%y=>zr>?&RWPxP#}=PH$p0qSP>NniQE)K;f_gqC z9lM5;x&gFhd5?ycH&=Lr9VhT?J|_+TR=}b^QR(!du>pJVSKw%An83I3gt16K@V%jN zF{(I|)4Ei=H_(1W)^L5VsawZjMFUu!Iz{@V=fb(F2b}h`O+x%RX*6fUs)o8$;vkP2 zNk`P)AIe;DX9y+?x|#BQZhkI*gK@#Nf;R5Xk=%BfNP3gh(x@6`L@Aj#-Sb$mDyiSl zq||>?7p{SFGIv5d#klYw+ndI@7)(4z3GwCfJ_`UzC4W*0nZ!u6K9yJ^54vAYa}BB= z1O(U$^4}t5wxt@2%ny?HW!9{nkEn?15kdVohbrtTFv^TFuI;h%^od=D8bNG!rUQ-YOVWZaW)C%IVc9loq7<-~+R9sK>NT%M zP0a3Cd?Y9Mt(9ys4r!Ea4WCrrsP5y)L)Ff~rL`WxrK-&<$jzqYr~hyi-uDBHqwwy~ zNH)AbSPliCzJh6c&h6w%CW?7aCFb#KPoq2>JB@AnrlzOyd5Wagc={6;k_|?_%R6Kb z)+{(=Zf`aVn1n`rK)72gx`qjzc7n(tEh!FmwvEjlAQD%GEU&rkOl+4(|68r zA+jQBkGRT6cIdX^M?ArVxN$Kz$$Ycs@_U~Qmb*9sRL!f3?Lj0{I*BNWzSjxs=zHCK zP&#BTechLw!Hc9OuY29Mz@Eafh2kIQtn0I8L08U{a#AAK)H9R3%9rGeZZ)~+bsss6 zJMg8x*3aruVI;btr5h<5pEgOK)aP!NabwXJn`aN}89{r^r`;Wv?3MB14XgjwGQuRL zFFME_)u~0zxD0sQra>LA<$6Dp-PF)xzMc$t~h)8FaT;(TjT{0Lzv zGVcYq^x|p$$t7T`QD34>rd~k0b$Mzbs5u$vPybp^uhqnfj zk)x@CD?|-JBq69?poL-5Wc`b!y+rO(b7J2Uk@d}Sb$%>`l6|nlBdy89uK*YxV)gQt zILw=bW@=EP>15OGuj+5R`DRN8gqD9nf7{QuWHz7ZAwjGSK*nJXynJ95i(}XI5nt@O z?$UXrt{_`itJ@Tb@V7x#IrSJf+3#&m8KYjvy9Om1RXYD-(ycPPVi+&>#|!LC8JD7V zu&4%gAX5pnq*PLx$?y4irow5=Q73!sY6+ZV@(c9ew&c86x010DWQnhxVo_2a zjGrMNxwY)i@Rd=u{D)qkuy;6L^-HzA54kpKF$hjGyL(xh!j?rZaapO9A9=zXJ0oMN zdLQx~oAbn$>m<`P@*_`3iSEi|^&g)#Cb_;OKk|fR__|Eig5$G3Cb>4sk32 z4wM|9wOev+mLGYFj#oms>Z}(YpLMt7+9^Ns6rHH{Fh4qL`SDo?C6|&Pd5TU_PiC?% zIzDT`%j62kk32;ut3)R2(&Mu(kzAGXBTvyO>hqbbOODSvS8|oek32@ zKc5ODB*p9_TZeRmO0B$kIvO5)wXHQ=d0q*H@d zr#cO>vCZ3V5k(kh&+H``U|nKMzv9D%ukL&!vkA}O>s%I5zJ4kDHJIId zQqPz;hiuLknPGhOU&u7fYggJ!H*$I6G{8VnvILcW75%F1n-(2y(AXSgy(5IhGm&kqF{*NXH$4P_+w zG6_8UGtUj`3VI{`7_|GroZ&BXOsFG*C~GNu3ELKhkU~l_drnx&26aPbFj?70X53bR z6to9cM5&0n9H7+ljZByB6$r8|suyMIIj;375;;jg138AYKf`W6V_Kyy&XoH{lL-Vk z^Q$IkmRn$K_h)5_pM?gytOYI@iil4MFWR;X%Z$KYOY8VFyKe!zZv}SWiXF2r^?`6t z2bs}N&y9}Eb@<1e+oKZ#C|>V?;sqMA*9jEfEdNo`kqt-4_PXR-m+;Wc~@=p1YC%irU ziTY%ix+@wP_#R>Sjx9pf0P@so~0T-gXIex?h7ZTpBEu*SZXS#7`Chr0Q44~>+Z z7Cx%J36EZUm`nfEC(J@w_irRay!EI%cyD*5x%IB`4uz<%3aWl=fmU5W=aq3ds&x8~ z4aCq=@sWLN%f=`?KYWY6T@*E_v%dv81&5;WoK?3Qqwt)DKpCU(oT*T}m)S}b)6E*c z?a4}8=p#hfxt_aqE}}A>8R4@~rRJniAaNaIiha7kkB%vzb5py->iCSzKREp#)&36( z+;Ut2l!qD`pBD!fDEARPWlN7LnAI2RGeQI&?{7!35YHQZhPTq1jo{kv3hml31t+A3 z*G$AhY+Pv2$UzKg<I(^QVKy5I{d(Biw*XYOdEk=JL{qb@Nk z91s^AL6>^n;xK~#>lSg~T4N1*k=EDBUV$rwWwN(7`1qFia8YpK_Oe|f(ObAZz9k*s zm7ev+te3?72EE&5R5s&Jcy6pX_(DxV@QFjdS*?Mdzx!y!$d?f?w%65HX{KwpHL3kw zahhTFPUwqq6>0mk+(rnTtZ7TVMDYW&;ayi4Ga7?6#td8+v<6bu6FR3?g!9*)Zr04k zhi|PN47v(O5nn4*9#ghKA@SV~dXUOM%s!*%bD>Y>vIiL_5`x)aF7Vbe|gMs?%gdgigdR-l zvBfdUI`hnhK6AnudLFkL(;R03*y!)ZQXlWs9BNj6{H6owg$#;k6U*C|cRqo)Kv}X* zI9HtAb~|C{Cz@N;DIFlvFfr>7;_%gM>jbZut}a)nhcQ91zs(hiiJrgVq&tgnXPf_SNDs zU<&dHBx+o47ULx;I``Vt;&hk4?QnA}r|odHk<(eY#Co5uNC=`yZHFriucv13NKdEV z@{Ux(=w46slex=blkZ}H!ul97!v}wHApD#Joy>Od?k=WmvtkMG zDZG32>G;BsXnr>{5#~p@!T1By;pxHY6~WCq-R#W?iJ^5(8*r0wuJtOG=DiT|}Pol=ytM#Q02!H>5?TYPn~3=ghvvZWixa zTkpj7C8HG(5N0}Ejaxog!iF%`5eM-=FLg1btm?$FX^gw6SvO{7wf$- zp1t92m%UMZ?8eB&M6@VA==Sz{2TMo11TDc4dduxQkt!`}4WQ<o6CFSH)$3~T z#ajzKtBiuSin;J4yl{#mwd##x-3Af_nCP%8?djP4&CF#%JOZ<%*qWe5QkZHz2*riH ziM?PbrPtXD`?G(Og)K(gq--0+nJlkfyzoI-pDgXLw>M(;m-fU#HH-RLRKm-zgNZa| zNpazfTBa;%9b@(NgH3KqQ>al2KCTs zGV3$M%LVY}oI40jWsWgKZ-vgcXL*o-+Ik1M8tsX$WYU0rOfJe^VFMB4bPh@%5jIjP zJScnUa{R*85coVlox1R(M%hI$+9t!&%uKb{Ws&dTlKAk^b)|Igtcvi_*704r)y&4> z&gv1pvj&NVNN3Or*}%<;$!>j)rNUdrnm!nx1%7c3&X`0v_3)YAxheO=ao$A-5OdMTo%P!%)JhYMh@O zb$VB791VSVa`!@ZOh1=xNncj0e%vE{&@nHukQ)`MPvJnaZ@hLmr86O>;1@L>7yl7p zoCd?`CA}o#(;-8u3E*qCE&0MVIvuMomZ+hFEdao`n`0K5WBqVOT7#5Bw8)jVihB zJ&o8OE;%A^?Ct#(%Y7SgSYJ`NCbusNI)QJP1VRaf)B{!@zF~Rb1QN8~AZR=;aV)qiz!@4N`%wx3Y zGOofkd4cwM*&Nz_+bq=7gozZuZ*QHdI7NmKh@P_?mu6y-qX$D4F~Iyv=LGQwwvbNt z=K(IR0nx|N(ignP3LcKabSj{tW$Mn8q$fp`n#$eEW&B)9jw5?APahl^{?XTs?@)Vz zK;CVWSb6EhuV>huIDHj_-ul7@E%1@fsQwL-QfT%M+(=a#4LUq@sUH1u3DF`d0nqTS zw#x_)q~{w4q`YfIoPj}}2xg$?Hjlae-W^ob5NQ9p?Oe2|q2)#HS#?05U;RLi>}|9t zI#f$~2A+~yx-0IKc{HYRbrTm5-{vLwR9-WRZyowEh}$Vt6faytGp%*;ujAqNtkCCu z>rSU=*w1Yl;PG?1q*wbIqiAA3SSVA4fS9mq)q&7*-|9&O0@l%I0^-1Kp$r{+6^x_K zp#h7V=rQ%+x>c%a$W#-1S(Fqf+O&C&j3(n*&$eXqclkTE-9FASVO-JM)lzZ-33JOIR7@s(Bo8rrub%Lf**gw62{xh@0k z=%up8JMo*^L`ba8n)k_%boT7f>#;N9AA8oF6#v+_VQMrl_|%rJH=9bgLLI&T>bqCX z8nouu4TvDiT!EXZSPn-^(u*V<+SJw6=rb?wT9unxFfz{*ylXq3+K#w`clPjb$(zAA z*9#VNN2o@bJ;8-s10*)Wesj3Ab$3Vt$| z%V6M($;|z!jY|8&2Zj0CA08H)%}^|%R-b4O%aa5S5Z#9Vx4{#+pxQ`XW#fFaoVgUl2w3OJ@gX+<$Q^5Q}B#kQ_tFGvWN=D zoQN7Vs`BRQ0=H6tvvfMmum!UB0>G)Q!evN=7i(JE9c~_hPHTdAM)I(O;@#e?We_US zg|L2T(LO_oanHFSaTp2!khLc<6%ss&`OSIe6aF|D7>`@#mN7Gfhg4C14w#n(J04-? zCDxN@ki>3jL}gmLdbH0H6xfFGC^*Oo;WUzttpqM{_A~4>REli=wz76^K5o~QW)Et{ zJ!(AM2c~wSta!6nB6#osx>uejc|Yb2`+ws;j*3#lziY(oONOkkl)=d&t2H22HRZ%5 zaLgD53$QV*8tGZt9<@z)*+!vtGUw{0-ovSd?)YIJNsYm9Z)&+){fuHh0Cuy#guscH1Nl(jzzFWt%`hu@aXv@3al!BtiOyUoOHz4^M#j&%X8bZaUAxHrvPCM z%Jprjee(vO%&}-J)JBb2N)VUc;*2{z^;S6Hu$unr3U-Kt55VhyoKtd4n0ctMT zX%WD8!qnL?smW7>J?l$O@S&aMrq^4b<1Qo@6m~7T)YrKHW7VV8I0|H9e}R>kfIm== z?}dJBKkb-BgXP`}b)oqB!gMUa??^1S?W&SC%P{-sq=oDWYEZ7xvmuRhw3rAPUTkNJY(iN8n9%w7#bVgGG*^k?ya;vA)VN5C4J zAuQgP)EC$pI9CK(R|fF02Z4A$4cJckB#SuZvwa8t7>f$VxlTLevtAX!e8v~wI4p@Z z;Wg?x@DvO}n$#M8@f>)pFTN(bqT_t=J@us4pPObAX(%dUuhFC~uq(*;;>+GLz)nOe zMH$_grY4cccFOg@Z8X<60K>->huGbAT8)zHIKU>nyViZCh#qnGa0j+ zgTgRLU##_l2TQkjF#=ttUIsl1h2CwH;S`jpK*@q~guUMSgSs~38Nu~)8Mr!E8fUCZ zG@GH|uEkg@qpf(ek-4dI>iAQ&Zl_V9+bTA5pXIl z^=9Fg;=I`OdDq3J%)2BO#Ng=zj%3lVf_?L6Q)laPcP1Vu`@Bm~AzJLl0pOHnVj|P1 zBUCZP0~2VcOXn%uLv`b+E_dD~UA+eE`_h+_55_26m3;7a{*=9vd~h9qJFtLh<8K3W zY4X7io|5<7%5Ud`o&2f;KwKo1kb>}V*ZiE(r=%DFQ}#-tJC%5Xmtc51+c8pCo1S{1 z;KM|WZS_*{w~ zH$kUJ18nGvj%zqazJGR+zdkE-s(ZXrNMbRhxaM`6B8J*KY+h_lKxL^{vVjUhYkfE_ zxmf*5-dBxE_oJA;530qFFp}`W-^lg5BI1t))F1ySlgV7T7qoH7<=Cnjj6Wo{il1a@ zOPcvWC9&xQz;O{OQ6P`-rV-cw=p+bi!f5m!V46_hxH59sWCILNs>c*!uos+93 z&`*Ns2o8)14HEChrH|j*ReEVp+5-n!mxQ`My#z%KvD-*TKUP` zRA6(;cfU|bc%mJGMEvz{W!Cy&)7!__ih%+oxB9l-eqi>oyBF8csX>;%MLgz#mZu(s z=3z!AXU>j|Kc+JJUoZX(h@183esZHd{2G6f8Z?usz500{zkLZM$?8rv36T3fFZ_|b z{E>Dd>JmAI5>kuoqMD;+|EbzvlO@H#_*S6}a{e^JI!P?^Y0N>^T3Kk^3?cA8d3QKl z3JD=#e(;Q224(74=S$+2}(}=Y=!(3}ntD09335*F}WARTFLE z3y@gR`_SF+{`u2s{~>saytU~+86Gi^%aWQ8Fb~S5CGaZp+84n>9#99brHMG znjIhh-y&84nB31$&^+@aLL!dLi{;I zQ~QCUys-y}zP9<>H~3^<20KJeJe5$xfQsldW&_I{)TGq&Qk&V^*^z_VXu2}gxB6gL z;_qZmrR29yv`N!N7I9;0-O#Mo#8BUwiG6nNqRP;g+up}zT9@Fl%Xvi`A{SusLt|qy;{|Ij|{R>+}ZbA{}TPl^5{1|U;0Ms z>JyXq?Wc~?{^)zWClmX4F`tu9Wqb6zczZD9TkCHdm!GOCvL+EIM&8G_jVnr3?elD* z^4?Az0ENgflS6%`u3MBaBpQx=SHChJj3ji@6-WhoyzptDiJ05( zu$<nTOwW%G>scc^j;VgC9ML4)!Mbt}S7UTuMXhZzGm z?n4pvBKQ|H(BF1pEy_i#38s+R*Sb&D< zuhFJwzn(8$>gNn1W`g-=eea0~ZabTJ>Eay%ckzzi$X#;W#3og&T^bu_u3ds&(w8lK zxad%qIu`lbC6awbAXFARi&V$+O|B7aAJLd7uR-;0lF^hUb=JXjZU#+qIdEA&$3Z;x zov==$#lGWjPwMakkalhJj|y%v=JjjM6REgAM{r@$H|0r?W?_Q0BD5}k?= zO6PPfad&Ks%?dtM9(-zB=k${iJ_(M+w;l_a>T~x@R_(t!g$ssbyF* zxl@;Wux2pcZ%{>$7~*DclMJtWl!5su;TE041wBjdB|?fl`+ex_r(ipWhr4PDI+o_2 zh`TTG$Q&aA=RuQY^+ggrS{DuN>dJp`SV2r78bv0p9%KrE!xg>hsY`%`hx4`P%BAvH zz$1XEk5loZDc-23K+Dip!1hLcl5pufY6^X_uf9M0qU}460}FrD^yN~qTHW9gi@fQw zjt5{&iGOcOy~XaqFZEWOdO4!Uu>YAS-i8mc`V!C&$$}v1xNWyo;TP z8`_bdoVfBD1UXsJJLe)v`R_SjfVPQ+=bQl7IQAY{tbNb?!me&g?2S1;=P|ZZO74)f zx90p(KD;0welzEynLPhWo^!Z`(t9rU`!YT-KdnBg`SVTq6BAwfNA3~Y!=9zl5zLR> zkr}}$v9HJoZnj78FVe~i`B}~gti^WkmyYedHD|QrWp>ABO95O*x~<7}$C(t|o!K3? zCxt$rv4Pbbqg!0dvOy%Ye=OTR7O>@K7>Vq$Q0U?YyiCa*r7YdCNBHK&CZ4wsX{Gu)7`Dwg)v}d(;cqloToOC2;TSt03ABYB5SBlf z`;czDvof{7v&xyU+FEWe5r9q9N`oB{n*O~}Jx6PS=JUV+oKUC4i6;&za2S`y zX>2|!Lf^ZLvluTYq)!cvteIST2-!W_lM(ftOL`SpW%f##hhti{Uo>>B7=ZU-J8`o8 z6^>?1PhHMrB)T6KKZfw1kFO(sh9tPy&32hF{tj&-61x%D_=n6>>D(l9hokfSD(YVT zc%MIH1dRRs#LgvH!kO{Dqw)3J`KIXH6Qi!t{7vz{bJatW!*~mww_}tAg{53!_+zJX zwL1z6M#{bHwDX3P3mJZ6|EeeP7^8h1$(euAe~pZ>Nm&3V#lF*MHhuh^ndU{s46E!S z;o86Y(*KJg%B50QcGGI_taId=aavrB6Ys3KL`q?UognySa}ka3r^NmvP4YHF|IrI` z%fyZU*OL!Q4tTeQdSXF#T}6Z-$ymgr(s)qn(D}p@jaO9pKEo5uIF{By_FPjQmf9bd zb|04J9=4l~mbBa>({d`8KF-0`-KVwwUUPZ1qV9wZjj^d_U)0l7+7nyBKR^HKOM8rB zHSX84J#Av7dNQ+w5pkoC#b9L%}|DF_YLd|Lg)A|5dN}tl8H0@pkUox z!Mbka)dsai?;|*fd*e6lbam{B`O$KIXtiFT*Ia$!ceQsi&OW>m)$AiZP^&KFxQ3C% zJ5g|OBon;1zq9q-j1J1 zt9NIZ&M^rG)rL(YC6iS-<$Mg$h-?F zPX|^@1tImXRGPjOy(yF`vs<9aI+y81=MiQ(!F}j`7oBE{GvMK`$%tz9^@43gp`L>2 zSDTI<#WZ3mBL0*XCaCjd1U0|M^{beZ9?Oh(Ch-xele&M_?Cf>fv9@5!oH`p|0Pf4C zYKY&Cal5_OGpEnPk^u~2zw2#+`h2F8vrpjgB3@*haeR$x%R{ip&cjSZK?45@r z=^eM~RXvLH-jzvXU+5z72OVqD0t?gkBq#e7=yo|CFsJFy=?kA!Kb#}Q@CxTmhxcbP zi^Jyh)cZL)viYjO_I73Q;wN3z)(L&c~iB zz`GKDPaCe4|6?Dlr!}h58uHSi>ooE-PO&*RxDK8DuiU)ms!RCO?;0nN`A_?0)pl+Z zuB773rWZYS6zNBdiE7}UOobLUPq&91XRP!8u`|}w#gT|H%>4WD;;b)U8y8FYw z7vj17ux4f?=JI0t64J1_Bi?=A`oOMLbdb0H6WDSwtg5N@P!VsPa zK85@3w!%)Ff3fvTdkEG=JfLr%!F2&6W?J)hE}E|vFAN=~xUsox4{FI%P$p8|9)hY3 ze+=`i=J%Y#^v--0(`3`PN!s`JcV3r&E`fK}{XK2G$k-^64Bwlo=_u<))g<1!)mMw4 zScLl>l@YL0Dts?fiy-5HeR8fBunU46)98g&8+^($+C|+v2@gWG_=B$Birx|xroxX& zU5}xu*pmuxt*VvE7%2uvW9maKP^J;(b8mR_k^#}hF#~$Ok~N#VZmgIy^rA0zYS*HQ zbKCYGp@GiuKAG)zI!Qvpgvq#t4(5x&r^d5;O8O^3Hyr&4Xyy-W`^IwoB>9Q3QMt}>bb29u$D!h@qbt?SGv9&;lq29L#l&;`|85Zr5BtV`s2F4u>S7#KI;lHA2JQ*|5<0+yL?l; zFLf?D@!W-EQ`Q@1cyrhI&ZXt&N){WE+m@EkVE|85G7gKYgLp&5tpS{cgEuA#q5{%@ zqz2=`+5IU&j2)vKjm^>aqUo~kM(xC2)HT9DCe(0fc+F+Or)SowEhgogL%pcF;;J6y zbYp6C;uk2tF+_jpM`PjfwGveou7bs^;XS=+)S|HmUH(jPDI+9`t}p z2N@@lorFwN{N0hy9;hUa9jG+SK=1m@fgb+t=s*i)px;NIEPL1-b=DBtC9{SN8RSj` zLCy-jh6TxlG~(Tk@?*+g!pF^zL%WFT3QU=s6hC@B8_lU)9OFi2vl@b`J#o-x6OMAFdnmrNH<4y2x3NxcY^-Yqsd-P~QOa2$3eG0a6 zX0`g`=@H{pPG#}K9=~23zvEEecEc{zeh;&kNZ%d|&DXBqaVuE~(*GmcBfp#_E#CH7hGLvZ8l%-Ih+geYrC`GS)Q!lYx=ad%+R9z5_l+$>V_&11`$P* zC8HG78^xl7!}blp<6Ytma9wWenk*cz1(O%GAM=)-VA=*TZ+Q)H#nxpQ zvA=zCe9`woW?ZIO}H!_N@%97$c=iQ0+6*gx@&M0_pzr9eKUz}-=Jh!7amKhP6ULCz? z<%j*?2+v%BIBf2%inheUS`prVfX>NQ+u&F$<`bd#iiD)jP( zNx{2cp<|&#!8^B02W?<`43ilB=zpLT7w0E$9}roD*&F|}J~?-ki?Gn9CP8ssi`-|^ zXeVwM-KB&`xIFLxsI&gSJwrX-*tLYG!4Bo1SwG0+W{|aKjwc4j<#0Jl|NLr=7N+D6 z{G0T_&eXQf1MavCaAH?ul8)$QijUNq10W&q?kU@?vz^}dC=c`@qKk3oMv#4~PI4ZaJWZ4-&L~8?|0y0rA6(D?|1926QtM zdw@#uwdC!g6^^GvJ)^{t{no+Od6soEi8M1P*^W0D5k8E*!GhwhCI$3o2FPxqsl>O?LP)AMxA@gJPFQkC#p|Txz`ig;K zs1|*PW);-*@A483G|BnKfjX0Gv_tX=k|!m5rh~^gvA_y84FK+vJ2#n6XF;r8P70q( zq~0$8k{kd5Iqo{TNsK+^ocDp~h(2FW<7^MWo_9`0o)3+F7bdk+qfI#oo>XlwGc;6g zAR_|G#T^`_kfWIRA z5PHm!#nEwo>0l*VSPXYb;pH%>;f>)#2JI(YBi-s-rjj4YF-*`FN`ywbz!I1HI>pO~ z)gtDpC&xb?iA`hcY!_sFSdg*TK202gW2h2pxK}XZGL?fSo}epXCmH`Sw(nx4K&vo4 z(Mn#X3hYLg9NH~bqge_9Ad4R;wAaPU0^rt;#TN5ey{gQ<9|ws3&=Mbx$cfn%QB@Z+ z)InJD=~#6cHuQrFfzrB&Hpt;D;+%tp|0T_oh@Am{PxLrj>{l50gQ2kEGz%XLg%89$ z7wi#77~O}#DOsBR=wZc&aESWhmga$%tk{aw+H8FO+uhA%`3!Tge|lWw1wbC zv@Ojm@mV=-H|CWb@$SIgBFDf-p+5xUAF@K?W#J^-5iKSya%!yzv>l!pLsC6#6>+#% z)U(z6Yt9G%>e{#g|6;u5C7GO^lQ5(LG{w2JX&m$#Y{=%9NKZiJj6_lWya>jaPy3*5_fLIH~Zs&atj&YfX;_4Sf`Q2mO|G z6rAK&-xx0dnlDMQb0}aHn_J?4(uB+_<>oxit?XJfz2vb{P znwXE^)A{ChJYeG^LobFu{xOp*?y*zLJ(yI$IcpBRN^>!`+X3@+4u9=#v zxTY#P{@Uh>lZ?DN%(p*paR3MISMc0{Z%SPg zm-9$gjN5t!{MiDX*Ob%Y;nAfkbsn2ow%OKI&6u?7WqV358w%Tg^&%P+EL(Iuj-;X7 z=1{lwJ*=5C%$w}W1+yy`EU|K%lhfcjm3{0K#q0wI=4zq>WIuwGx;-X z%eu-&k-2jO4qWlpm7h(BB@@>qvNFCC8&bEXyCz}8na5>VNY=7fFmhag4_FM|P6&Op zdeT*B>*Tg=7Ab%$HqbSRWaqf!_Lr}|xK?g|LUs;_>KuxVhR^$^E%1z$ z=jgd?AO_)A6f;6-ZZyF-485d9sQ~UEluVR0;u#O$e#v0 zkl4JYpTEW6cSG-D6MaHPP56%6K+K#q;v(iKr~kb@BiqaZz1nT>c-S6uia!~@HRU_G zbLsRsD_3QZPAz8<>`(Z>FPn!_1&c!;uW70iR^aeSv5Vrv6OE~ADy>JGhBZ)MN^%E5g!q)p8VqR8atAo8Up|a_|wxyFxJlB>UauyX`QhaE{)c28q}NTa!lH6DBFSMF?=YZ zFB07GhS655>`E-hhO)t7K?VL978GZ~iv11hl=EoOzCFr)_ds!7WBf2-7}a0UGLUKc zkiYgI2d+i>1?YE%_#2ui{J3EJJdud?n7exZD#rzT0NGgm@IqK%nVrx&*mX@_NoRe! zwDvF`e;_F}gNr*o3#jEv&L!-xGuP?9MecJjWAMlBAdOtkzUSsx%GY`0V>h51 zvx0=t((b5dwEQY6D3uC~^5ZL*ZC6l41v8w|Qm%e5>UCP7uxB=*{Vu%)P=fjV)nlq? zTj%CNer+ne*FL9h=}An^T!LuJF`{-^5e~#eX{!aryqs=OuXYI) z*uQe%b(spLt|mVuJ_wo_v4U7vsq%}Rh8y72CP4;BDAlqgLV(2Ijc|^ zny$8^``{phf9Ek-KCl=Vj}L!2n7EjSvh=_u@~7K6S#^;vTkCtHMNYenPlOBtLq-c* zZWSbTkXs7Wa{S1MQKYSiKg}P1ncKp^OUy=M4;=DS{sD&^17yvt9>ZC8IOOMEDuXSw zo-%i6#I+w@jf1!V(XkxzI&~T6j;sTkIB5 zzL&8)?#Fp%*5F#YKvi#8tZo5v75+%`=uFtevN1(^rMbNk^~zTPt|sec4JAisZ3*?q zpvs4_%SC?3m0&1)sN8sd$tT$h+L&wI3e=!%`GJ9&<|;EkOZ z$)AQ8Cx2Gys)UllCs1khsy|h`IN={t`>g-1_C7nmQ@d@Rt*0>RenFU`jp~JV!FtGm z)J=Cu-8jX=nAqn+N2;<3Ua>X#85ih{r&M(T7^K>_3Po$NnrZgCRvqI3QRrRFav>MQ z3&|V{e@VvaI8%yFyVeFjfyd43xR}e?ryc}H zFcn||?b(NjUTqt+-@TXBqZa}?;<6*3D1q&_JAO|ZL7&_PBeg{9kqaR>Q2p_F4HcT~ zG}}a`E$7E(`P*$2F|SjDPx+?FG|ijF!eUwO34O5I!j?jKy3}5aS@N5iQ|5y$^0L zR2$3feb8@xjmT6+L8FSwdSt-+1e)-4&MaR!Bjz<%vR$mptN6r$Ex|%(B?gArH$o65_*?O$z_al=c2((SVQe;6xPy0zJ`tA1z6+X7Q753A zqO?E0TIb+m^(L_WBzfYu``pHLl%0utj}=P7B2Iwg5dSjNR3>uh042xQhRi>B?8=h-D8 z^>m?=$wuFDmkiA0DZ8J73E{lUJ{24&LdL5DsTC-?MRQ;#7?MMw=~e!3~C+jyD>K6DDBmZ&GeyR;ClMx}h?L%nOuaZ`do^Og0dGQzG! zIR`s^$M%Emca@DAkA=3qA_OgkM+}mBMZn6NCpI z=KF47e?8an)DnNF=j85LJ+Uv&m-Bq>6!p7%fIBWZvBv(~-*fx5rbN^)enJ`Xa35RH zpZnHZbi5DVYV4vqM=YQgQ7O<|EN$V@up(TD$0%HhAsU7)smfl`D=d}-=Ai~P4vmkd zw$_6(uCQ{3Z1$&a+N(9k#3uO5_h-k~et;ewBV6I|v;9?}?I|89;HN-nZ@OK6Lqz=u zCjLZ;mNtG;iFJJCL@7Xj;XeT^$fRU~`=E5UTGrveDAt(ts@CE_xS5b@4ik)AOH50wQL@s$idV{nvX7gf>)u}i0SdIthz7`q#{ zepeRBb`c>lBW;!K_<mULxLT<$?zM&9EtjTAwl%X_&YwrM)@`> zkdX1Xm}URX$QGWKDV%tabS>jO1`~ZFv;{PD>D{y})YMn{^D=1Y92vy0_&#as&(j0w z7w?Npb@#;Q9|91&gTMTd2HguJr6OEp%#7e=mR=OA#~7TjFNKdWrBSU%bE8SLw}8MI z)*i5>x~O2vp03qf$U1N?}EPqlojyT^^JyQM#)rYli;DB1*Yty5zUTAkE2eQA z(`XiQu_JC(-~T`GF>HHi@!UCGesK8dhR68b>xE}>y0kb!CH2c`yl@`NT{I4F4GJLs zqW`Uhg=PP_YNfh*w5sg%Wspw^hXdCS*vf~?hT`wdOtuc=XDfDs7~fCSV~xLeXy7GA zYWB?9!l)-c&*Zq`?;RPC=$AO=!qX*FGPDIYoYq^}@;n`Iogv)5`7R!Vcm0_6*f&5K zSL%HiOzh+X*BvIn)f_x8#})ME-&Vj|PRr8-GktG_NpTHGluY?{z5OlNm~;I`kIa{A z;4Abg9W^!jT{hblammUiv?|8LI;K-pHSklJh#n85 zot_a4vhU-88qE)IxgUSmO*uw|?Y@O#}C$Ys$C zza8Hf?5yEL%13kl?F%>~4z_>nh30F$?lzCv2xbcKK6kH^V zD+h&hDtZLr@PS?L4~6%N_a}_Ks1a^dY+U=x6l~*h7n(AA@w-ic#_&OD55b}gV|Oe# zI$Po0@TFu#ikqpAjdHbG3ixX`z#A@&oer!7Y`4GXbMv*POXIOKg$6Q$L*dTuo*i~w60^w92gQ?`Qiw!b`W@K~Pd(5`S;oxiWPXinV2W;iqXNfyXcw&mG_QNqnn2=|+r9rA0@r8P4aC_*M^} zC)&Ff8p$8`d!;rIacq_bq*!piyb1S=qJKu(W!Ly#e5(&9UiOO>-|9yPLT>D6bLs6%jR6#{4KvqD|f_=l?e z`50!OIl_Zq9**$flZQh*c;w-I9^CTqN0~Wqx;XLLYwrB^NrKs|Gnt(E4LocaIp_Ac;IR%hb>B$JSV3A`f)h+HI^&|)Jk8rgya5`_R> zz=?r`Ah&KcOQ*K$!VK7!OVUY{;dNTNm2O*WtJ}J3w>Nu1E*8lomwoaa1`Z8^~VBmeH=-);O$?nc~q zwEXqTxzsTEqwbyN8o#cLZ+43sji0HPt5`4>thRW0jB$?VaYt*kZBq90^=;`c->pO- z9ku#IGp8N=r}juV4@1tLWaf4`XiKa84d0|uxdN=!J;j?bp0*B`Vq|arI~1*(5xpa3SMl zUmum&+^;mY%_lOJ+2~=)(ys9zBsJTl*Q6+#Wc)BCDNi!t4{DjvwM- zWcA&2@Tp?oZGkBxgK{)}vmB0Uzn|x@&JChyc#n&dCa7M$&sj5(a|GOV6QK{5x>3K^ z2#iq$1NS<1O0j5jpmS#sYcHNJI%-fCi4L#nJ#w5az{A!x2g-{>?`4lg?WC@(@O$+Ma~ zk|I>Ff5-bB#_J~zALI>!-Vv1#aR?p-CbOYbY_sqMog6H&-zi-BM_7qfMhloiafsNz z!uYA2Z4lt)eCNtB#?=)v2STg4M~g25<6#y6c<^?)F?bC5cswL04zUSx?LIcdXIc^+ zjP6s2U0PbjWNZ@-t-OjBv@Nd?(8o7ZdDY@+1s;l9o>)zMTs&yZ%5R8%iA@?og1@-X zA+#M9J3ah0o?IxK4KlUQiN*s1l|A`kF?&Z-)3<-dtCd((8-L_4JDPd&qs|tj&)Sw@ zxaiQf6ou|i$HVl<&@DUheiXVbFEnGPHgh-6dV6S2o;GujenM|3Z1QKId*7W@#IG#I#2^ShuKAon61VC~`Bevhga-vM}PToOngYb7jdfU&D>+WF-UQ zl|)2^C(33fdAPASnZw{(jcO(mAO~WQ=zz-j&Wea%Xd8$Cj4;dj7NKruV`$MYv@#tN zl;(-{-}o=Pu(-vT9onV$p%)rGvi9BvrIIFQ_W;H?6-=*up>_@^8jW z`vPrFSdPY;GslBF)%OdIHD}(yGec}^&YZ|o*9nFwb23klZxAO##XLR5Q)1Si=p|)i z;x$1}!Ia@Bd3-~RC36#_9JvbmBess)q|`%1h*en1SQ2qid6FpxR~!}E7AF`Ix>;ez zx7f;C7%t;-!*Nn(?O*pP~!qx}z)s#aDsig1Povb1ibS z@K)w@$DOSNj^|h_cDV6_WIZF|^{D9claW*e?x>LHj5+Ob``?xWmys(t< zsn^Q6h$4zrP>spINoIU@7YfOB>BdL!%FHJ3Oux3p&H$BqjJHU|K#Qd*GrgOc?vJux z4Mqco?n)bSJgyB1rQ5n)%LLRaR(vpW>SqC*GQh0t!}^%#2hJ?)-E>!v|;)q8U!4SMrB}-x?|!y7Fffn zX8-Pz9EsK9f0>JhDCECJb$TA>-mJI$`=QuoXd-QgLo&0viImYoO0xAAbT`?Gv$#vcHo<|K$9SoNnndS%PO&(>W7OwcYxdZR zVR>*Cq7o|Ef~QD|Z~7GR-0r)UH-5(OmTvPE^2SdAZ=7Oh@s?rpk8H|Hiw<*kMYnBF zgW=PgIPY)p_gk+;IbZ_}Tb50$T|=v9O0tW!x)rK@*LDW4KEL5PeyXX?R_x1mH~IYT z2Cc4C<;YPS*f~C_hZE)lPCVep2B{>`6GsZjTw12AO@?;L%5*s!%+ni=?Sxj?NKKd+ zXB+q52_o1cA5gZ=k0>tuA90<`QIh;Oy-EhTf>GB>V6U?=-;1Cnp7(LpIwWw`?w?b0 z?t^D{+Wdr{OH-5uJIfmUFCbD3GzL?On?HW{R;e+H!x5RMtpW!4TKEFcm&%P)TG{-(qE6~| zzKcq*yT`Tq3+rCBuE5b8&X2~8jO&?EHabhtnNpauT8JxhEV$2=^ao&7ECK=IZD$s- z)K>NixaAt_yNVsejKSj@Y|2$`Q?43KM8kf{z|c-CjVU%3jvx#)$9DxzSgtVMpB*0~ zgG6$GBy#T9N(-xSZo7Teaey>NdN2aq z%d*RVLCi*m8s}~&sK-R%pL}zS^gCp=MQ0{hR!(iojYF>}Bt^~{MreTE;e^bBsanH$ zu5ZQylkn5y5VIvEy3DcU$ zok$336iz*9T-GZSC5PKkhC*8(YZTOzaS7elzcKY?rm6q%FHRI)Fe5Jo(eJ9Tl-6E@K;Z z_Mr{)ghh8&?@rUh>*t+L*sQOg*Jib{ey(F|pXM2bbn9EwbO-J#MsZyEri`6B3e$L- zVj@OFJezP^qNyY%q%%jRhj%8(2+d7t8Cfh8UsBO4(y3qCjHKySoJ>*>M$GNWsWxrpOU%YMRaj42EKTw1}~1ea6>ftuomD$qR9 z{gMAFy56`Jr8DC;Jy!{umbhqcwgNvNODi2fy(|Ane zf3fU5|Ad&52G?{>DsikHJ?RE@{n~$>@g5@W@`5Pfv;KC_g?{KwEk1WQQ;o-jK@r$ zPQ8KEX%M(+6-I*xGDKue?%`e?c;7~3GL%t-mP_+rUg13*byRpijM^)_XJSKEv!<;I z;Ld}q)l^4^8cv*DSmwLY5=HC~D-$U2NkDH@Kzm0nYm-sGrA~!6DKDV2rV+n*y6X+D zd8sB=&FHL|ZuyZRL@whu*LVzqn;1`=6K2Yw73*(=-|Sar$cZ&akYHzgfftYE3RQxa z-$;$zF22B0Hnd(4MVwu9c_+@twAOvXxAe@6v1$I{;^+-{<;8ayF9JOFC1kUAMPDxT zAJm(E;+@@Yj7dHYhI6dS(q~;x%}lm0aN{W zeqyS{a>h}?EsB4#=8;`IF^_VsOwFVCnn?3a53J6@I&+HAJ%`4{k!!y{W3vzVgoK{?0eh9QQ-{AdhG1RHN<0&HTYtp&nc2PdqHQ`GEG%(yv(nKHA^ldN!_}%^uJv(d{fO@Elx5v#*wa6w zxFLS6;#w(X7Og+HUaGD4-8W?;+Bo06`i#}QEe_zKxKe*mK|}ljdBxIa)!j_sGg88M zg?*iE=)r2Ucs$3vWRA;WtSc*HD_0xE$;1gfN-^n78Qv;<{-EILID`Onc$bk! zfAA5WcUJSKu-Rjr7n=IukFB>Z-eS*46~yTDRG+DWpGcl8j}erQ@~tr=(CmUWr$YbJ zOYX+@MZUz1#n9z4M?-7Qj^Bm;9oN6b_!X~t8USGXEqza1-6UlCs+#jE=N0;cl4&Dr zd{DWO?L<{-3{~*N^%ob^4Bo_Rp4GQz2oHT*(G{DO#HIeJxWr2}ZJD^lOA?p*e-bVY zxB!<11TMg(N=6V|!bzcP8D#D2)o9}HJ!Uh;EyXhGfjjhpxoF|*)_d4RSrK1mC!9ij zizTBeC5rjj1c`ZHVTg>(6yP!^$5zpT45ZQ@6mSI&aKVG z+*-8ScL7BLH)j4!vVs)8`DE2+xZIhKTPgo&rsTLYe`Te3%#>Vr=2KS6O=ikScjj-c zlxxkDJa^{PR?2WQrNEu}7c0eKrc88awpb}=P|MT$WOwF^R?0CmrP!U>W~J;iQ>ME! zU$Ro_&6HX0%!5|S@6D7u+?lUgDL<2xc<-@XF{v^;lfO%CPNye5_gluof90g-1Z(|6 zNqtsG2Ap^3IUxy=*B}XAQQAL_cB(=@Xw0Hckx~wcSGVHG$MQXc@71Cq>)`^ynjWLT z$`kYVFEfS-5Yhbs)fCE=o8l$rBuexeC(F%RV?@?9-r|J|7=*Fnp)%T_tD>Q4L_8gW z)q9s1)4g;6guERG%%$F(cv?Ma&MsW{d%Q#AX}`77ay{N*@w6Y47TD#HtRp?%+<0=0 zl{L@f^~BS@VWky#yruE9N-J%w$2(l5LEcJ|RbJ!qUcn)X*nJvbw6cD|}i zz+WV*ob0j2jpX%K*5dfMk><0~rpL#Pw53+stoQ(tc1N4#p&)ehy0EY zP8%=3Hw35M0A`8&DVu^^?uc)P?6eMjj_ldPO`42f7a|K)0;6nqrTnT*C8!EWB{No| zhaH_17EJQuBS4HhQ@|6-GF*yrN5-A`h?U|nQylKhA6qGB(A$$|ygRerN;zhx+~CgK zWu@$sl;ldzRZ3NEnc&ll%aD_{sO39k(iXLx2g1m!WgPi2tU=M48D390OWrt)a>(@L z&E4dtNQ+2?56LRW8{v2c_0*Hz3=|W_=5Mo&o?&AwHx@{{_=o7l%wNM!lUIEG7e^kZ zEN5`R>&&LLS_uUMRsS|cQFNR(t|BMKGnF_uug8Nh@v;%FWrqrmM{3u13c%h$6|$83 zza&dJLzc1z_8OA*;eHd#;ra-8YNj2r(#CrzC~4r?-$=8T@(muVILXhbWI?|#mKjUf z9m(R3T}~-!9F4@iWx7kY$#)EpnjxS*!GY^GK?gH`pTzF zY1k@F4w=u7+moL$e#&f<96}P0%hxy5SLU1LTO9btX<^>9I?NOp9*1}0;z0c})r($y z7i3csC<9H|R(Tr#1?2(Od64>OP+^~Lwb+{}d~vd^6{I7X3#`2+pb0SMr+|SIg&7tk zH0=*Tk3x#4^?1iBuxWOz${%`A*jbPFnt1YMR`MN;aXdGjJjdM#AbilHlFi&Cze%!S zI$s`F^^A_!(`ps?l}gTwC;!PxeoB&I=9pt^4t{KX5n|z4)<6D*ZES6_k-4h*(YUsv zl*hQoDl=atn~ea~Y%6)8Bqtl;OOdK-va?Z~pe$K@zP_(wL#vgk^%Bcw2Gl<^W26^q z=~j;uy_~g=SC7l&ag02wF%=vb##`)}$0=;=m?MwUZR1bsQMzjUCy${A1+}C~gS{v8 zpxKtkc$K%nuIZr%kIQH3ZdIR00=>LFtKMWjq@~~S7JEjQVY@Oi_=r zM2zcsB$9lbLUSa5-@c;Qq-O;Vf7Wv%97Jau7^PZ=Io@4#rfSl4Xif0PN^qA`(S3y-*l;+_crS9H>Sakk zZq{+=2I{yvy4^Gifg-5QC)TThYHEF<@%bt~XZ&ZsfR`OGqN=o{V+|Shu-_uL9KNbVEYXP(hJ=JRZH4 zN^q+xhuD0RcpZG3#>?a`A6Mezk=r<7J*zAf!iT_!hi z+-V1$#hXkECo$6TX1%MhgJaot2%11Qv~NfEnH{}>&7$vzZPG>V6UeC>Mg6biOs9@8 zZZU0oW3t0PyhMk;n&>c&l%&I;WW1+CTp=ypl4eq4czC%&#Jb>h#=c$?F z5RWQGKg^oY6s?_%b6mbugi485V%`8G6uSSz!rjDfxjD^a7W6<&Md%#uI(!NEgqo8L}=;Ut%-WH<%a0)0^ETMDS%CQy56)Pe|b zREt-u7TZ)~f3;!wSDtO0y^pwbGaMQ5imeHgJ%1mVtO6C9&Y7zMJvT4!$KM4ji3;)y z91(s>fd_Iq^Y0a?1FwL2-zhKTM6tBvyE<5>8M87U}?{&fk z1lBIJ`HEsI7p7En@{pj8*gFmn%$c8l$r`RXGh=?5zog7qMl)hhcOzNTE|oQop=E66 z7H+O(8&J5Z)h(BO!oEPCF@Kww|Ed#`+98r?^&U5)lV&W{O3vY>bNkn&@7!Dfw^QIP z?~snmu)Ri)7y!c8(-NJhr0+W3s4w&*X`QsHNp$_slJNx-sZvKK@?Abmnz7Jy?y7Uc ztifiV~Pr?F0oRsdr_EKOJ?lo6+nRnh@hUcUBN}k0qVei}B7U+aMx2}zjUdpO& z$i@oo;*R?FT&niy_0yW1^)14IjRus_~%{J_PK+c0gb=i#iHo;Pl*FI_S zQia(S#^=zD)BS$I#q*1!cbU07bleafg(9BU>w8mBurW!qDv}s+-??}n^S~qA|6knC zFC*PZKTT7K^aSLle+-FE^&CBri>o(jwKBik#&)9nZ>rK=Rqo6DS60C(45`vROigLJ zUxS?ugfmEFD`}2qj;P0S9W-9EY$T=1jdTlo--2c1Rl*76eCdww)@_qh>m4cej!e`$ zFr{8K)HpETl|evevN$lV7=m{t(hKJeb6 z#3e5oJh+33TZ&>FVazF`FS9}!U;as91E!NDj`okf{sNx5dt*0XIPXF%i@pp6Z(|(x znO<y4iEXVYX)~C%aYNaIC9gL59D3Wc2 z%#u~S5f7M>TI~!-225+N8RGu3s!2bWg)0U)X5?8;M0xLiy<)_fe9p`zIt8>>1xa)A zq2|09$Px1+JlQpI^cN50_#P?DEs&%WmV6C-p;o&~(q{LDevwB};gjqs3#O#Ue>zS> z5$U}1%8Z-3t<|E{JxNh-F=1_4mu1FJs!ReYdldxq7uEchEt7pH^pMoe8Hmc^^Ljam z&AMB598hbJ7v;g(1?HP?h_|@Rn-woG!z?hVM#U4YIWIo>{Uf}YYMr36F#dSP0>(d5 zxcI@|0i>22H%(x3!D)HaI%STNoLjp;ndE>L6~=ExWH@L%$xpey^$s=#qn}v$edit< zl7#mGix5etJl-rtg*fNSHO&|@ugWTp7R9O1in+#(`^{x5631z(krmuOpk)MCIfARu zoLxjt+ql)-+K^#0&paxOQ36gIE;w(S8~PXFLDY7kqUKplh*z9!F8fj@JjX5f#D)~e z;cJQGj4i{T9-Np^L?AjC?Q&!fE%l}^(C2tA&C=*|<|(##Cy$8yrNg}$g><{?OAur32=6YP-%`X)() zMJik9ACBIs-1v89N_E*cr$!U1iA4BE{ynK6^G}i*Z%6^@l@y@&?NOL;`%;FmKeEO3bUm6U50h?R=o^=k^C^{+Y{cU&H^kqIIXEU&62f!| zs&r#{N{6sE##N2BMYIN0Xc;C|cr%xTZvF)V;VMT>xPwiH5ZO2Hl=pr$;j_Gl-_Fps zgab|7h8SS)GRyg26s?Fw14Pm%{sJDHWDtZk<(}0Kd3;WBQSDXwjaBZOgo}y^7X?@B zUMpNwLk1dG65*oS;CJ?cl<*LXo>M$hyc9fAOn4-#)WDQd3C_!(XEHx}Nw#8>a7Yth zc0Rn>_eLj_8foZsDx=pXGYX@Wl2P4-Aj~c&9{zsjPMvUKrfq=?)mORKPltQsnj9W+ zdUBS3z?PL7j}=OI?JeL1{0UlG>_PQC9t`hTa?6;gJQhO+cFhUEaNF67eV({&yhdN; z3C&@H=qHhV0N}&eDo^2w_VY$JylrJsE55`xg>f%~6p=~i4 zu=bv>x8T&Im%Rk5VmL4k{O@}a*cAIkq$3!mSuyQaF8zdNrD?aGh39%c9;*qRbbW>$ zy}2ES&Brh18yRJ#*O8TgwWjgqn;}c}p3oXhHc@^NNZKeMiE9(^XzOJY4t=j0Y~aET z#~KeniNjMhZ1m2Dr9BHPw3**QN{vtxs17V-?bcfR>gUZxjmMa9OyNAbf-G zO0f25WzX!CoxtMfxdqtLezq{@Z}VjVTv4|V|1a9D&3X^&Bkk5MclX*?IE%pso7+uE z#-J$ntXYR!WP+~t^WJ%}8$NvCgiMmd@F{O5!psf}&7rmz^p4ORg^M4peNk%5(lb6> zP39DCK)is9>CD~g=CE(Bay#IgEsKcDDqOibv#ywhFqxxOa0!0xf$Q{<&o2aMVSRUv zWnz?N;#y+#u0g3Rin_D43QJgZ*`b+fR$v)f*Tg6B;0EV-oadBlJD86G`UtCX*OX(7 z(Te`u7nOlYAqHw$b9&^6rWK2i@A1B#+E%RA7d1W|zk-E7GMkEdP(5*i_84D`q825r zjl+xGhV;o3*5$2UDt4&1a5(ax(xNE8v)%I?zFRlk5-Xq{sY@B^`|+!eiGQ}S&dP_a z+#1(7>_}cSFW2M9Lw#Qo|IQU&zCU+8?Wz@Cs$}+}R;V$zsPoXydhkzDTB>}n-Jfd| zM6q$f2VqmBfi9P!zFs+s8}}lnt=F_W8;U2DWUtCV;oYB*OsH%}dvUFvXI2utKUdXb zyz#D8Npv0VHbSdJ8{3pM9#>mKH{=o`)edp{^Z4~w&bX~^-@5mxX#JqNeGlM)U){tn zl0z_~UM*^@=zXrJy{X^$IUD*-p5!}ozJ7hb>Z#ZHGh@?Wc&J+66Dmz3ARJ?Mws5zo zIib%d)(ZgHMfC)%u>{MSlU$?R@U8Q)^tt34tos=cp}M8~E%O*<*FeP7OVOb~ z=jdsblSljeH`OiUE6zd8Y#fM?t8)Egk}6}G?afCYq47oL%GwjRmR(Y8VY!!6{ z@Uj-0-4$4xVT;}*cgl^cpc5jptT5XOR%XZ@i(>hcD}U7elk#Q9C>70K_L}@;E_;a| zF{$4yJvZ+BytOv8x{a4(=W-8!mc7^~%eBcY-{5P}p~zHz0Ji2GaBUs^!@9lhK57fD z$=*4dE9u-!3GTRGs{hx|LsvJ;W2o*C{#JO5btG|{96Lmit;AKdk2~d|^?WPVcRb9G zzBgF+0Kef#4le38NvSb0%v6}E+6oX>KIht5B!MdkN)td;a8v2zywFK*`C11Vv zo4xKm+O+1tlQPh@qMkeT=HQOiJa@MRRVVaX1*EnE(YQERCxaWMoAQgRFsXOvivSSH zxGd1KVr3yzHKb3ji3UL)E1m1*`g6@VD z8M>nR`DSlI(r;biNd6}2=YB(1W3vCK9+F0!4Z+%wnzOJun6m@)jC-|65w^7PD zp^VaDP{Kr=(0cI`gQ6iZqcYFtjLI0vj7o1lX-1{jGNUrO7tE+kq0FfKGNV%O-!r36 za=@3IQK`heSs+Tzs4Ru#jLK}M%&5Fxaz+Kg`pl?QeZh>X-h`yz`X>3Dze)NjGb#{V zaz>@vJ~OJ?sS_|#XH;M|$Kn%bv{_B3EKP4lAsH_xX4D{C@*&!&(>%Q>2SB5*&oo%%OU;7@3@^Ccylz|r~bnJ&S32XApwz2HBgmaoHWeW zrlUVGJEzxXO4~wSggKCIx=;N*y&S_?rSx)+)yv|~)XUNK`cLR&qt(e9KE0DIYcJ7B z*vmNall9CgLPPP7DX&IZMkW^t( zKsna>BecMzKivE4jBt#kk_gQfCsIqD zbe-*F#TCK7)JbM@Fm4X2F^POf>Pzl3lKE1@?EIKcs1o1@PO=nfi_DM)%>Cj8?V)P= zrEgYEG$g0X+=b|vdwy|K{Uj==D z>w4NYx3s|IZ5TDXd$c+^GY$M|M?G1%m<5tb<_H`Hgi2PhP45moDZ8I|&8-zD*pL|C z*Y!=3Mof<*>FzH7<$+%fG;6pejo8(y4&B^QGB)a)goJh%Y_}^`he=JVRk_VwRad!5 zy*ao^kqia&jG)?b-Mjr813MHPzRFNY+6c*}E{y|+RyzUk5gpxKy5a-$6aM~zJXVAB zf~!>Z*8Xg6l~#|^;JW2|K(%M{Kci}js`-}DGlyuV`@B~75;GZ8IA@}O0ANkNHSP81 z)U>Bg_lCw=R^{_jpW+7!)siyTt5!E3lwncF*LQcfjO$GtF>rNgbpvV!HEy!51JrSSYnQSeVnCeQTjgM-T{PlFad!f2|p8Iy~Ev~_{ zKFsyRX^lA$tS6qWoRL*Rkq!nG3*X(Hq)9)8CjF18(SzUmtkh`acP^ktqLzXEhnQf; zWRfEVx$GpsETBhrvCiErNg+M~wZGXoOOwT~7*qBiH3d+mCWc!0H6#IZUsQv<+pWYA zs1lPR9)iqrLX`#wA6EQqOw|3F}6%bM@ouQPgc_pdg``=uV}*9?8PTd}MD z&PYBr=_U)UfPfD5p+LeJ{f{WnB!MO*#gi0BYzr@@K;ldIQWU6z2^I>p{O_Vb(xOlx zlkm`6lNJS22@$C#U9bqz4BaH3aY7Wl6d@AQrpU)w;I#;mq+N;-sdSSDnxys8gy?mJ z!X_aSxD_E1H_fKp)Q1qIAi|f~by%$?@!2JHT!Q$BA*CWd!aa(8vJjuJWR4Rb`5?sS zyCe$n`IUTBs36$>Bi<|$r0_>}YI)EV0Z^;M+OK`zOs?Ux7#EGkUE;a_@iz-ACD;%r}Md=iDbS zQa3ZleAAO4Yr(&!f=q025ndCd z?L<$dGB#yhXMxMGe_sZ;RSd)6#D&M`KI$Ey$dA0J0p7iUOI~rHTYXEDWL|^%NH&wq zM`xq}ZE-?L%59OJG!y9PaCD&k%{^&W^zw}HK({{21j|gd6iEb>3_YMw$4M&Elf^EiKpYvxj6hf-39!O@HRueL|}hQz3JR1;gG>?W#=ucH8csx|yL1 zi0yg*8`cc9_MM?rQXBm&Gn8{m&Cmt&(*mcZ?~qP0OODFI^Q;S{2dZuu?>@Uqt3Ed# zf8YDfZbbX9&$(`c>d~#@AY;F-R8oaa-u{F-(q=Z>yUbB@Zg!&K z>!>;2!@NcVd&H_HI14jH&Zvk{AtsCK2SknTa5cE0o{yE4cZY4XgF)b#KiAKQ7V(Nu z=;uPG?I0K9QCr2{u-R7L;!Xc^Ct>jT+8OiTAXDzLt-980|8v)3ZrpDOha>$8re;^K z&ln~K&>t+pxkPA2+JFwv`r!u3K-}9X^|Q+u&P!!wB2Ek^Nr60@s4USJT8e0%5^3?k z(_f$%Cj#*t<|XBU#sgXL%f-=&Tuv^qE+>z?_;RxL47Za5oeYIBEm6q$8=PGc3h=(} z^h~!YHOIx-eX3fRsKsJC$kA6$@G&{3=HSg0+$<;8qUL4oj1d!S<7hvDO1ZeZj|LLQ zD}SEI3;r9i3_8T2&H?=e#!bOGRxSt8?v7P?MCVec=lHqQUtnp?*=v7YKdY+>+#M@B z_1E=w_gUYl!m}H&3{Tr|$FLYNIb-W@iv^--{-~MJY`Sodt|~TLckf;Gn65gkD^SIV zT0Lm%^MF%dU016=tWZ3t09SEt+70awP4*rWz>3&r=}~Y;7tqG`17Tggt_E}MPR=uyQ;<_4ev$X!0j1I1t;vKK6UwfVP zX}`PCH>R+WpwCkML95S~(`WwCXKdo5R{09EydILNRKTsBf-}VZ?vH#E^yXw8+UQ!D zCflX!Ql-rrb+fyVNk8yU>OQ|R-+m&fI_K_QF${QT%6piYvr(pVI;#kkeWayCVza zMSY4KmPh3r^%Ji?j5T(lyEU&q+}S1qjxt$?M~UC|;QTGCDGh-k`WB~X8SAfzzIef{ zhs!o(Tuz)p4!~X&EItwaB8Sq6w5AL0I=tEUu0#5Ix!duCTy=0keZ3yy8pdq%BYvik zW{oid-qn$XysEA&ipZgSUjjK#KVEL_JnTLkR)%h6O$-p*xP~n7u-$F?Ge#0q6%C>yqF4^DUY= z$?sUsR)=E}@$cDXtRMq!(n94ii7f9MdE2CUj#UG+XVURfaYcr|3(a_g{tA}Rg>A%H z>=mDlv%8YM2U{DB^m|xa&(sIH(kzFH9Nys5b(LcCK=G(r3V| zf!rJ)(^8}BGKBehoU!6FjH5ca@pn1C#o72t?I-?YTg82X&1RiZ5_L3nCz3EP`aI%H zzb2lt<{4^BTGYvDBio=>`#lyh+dmgD*L2+#=*b|)4tG<^v}t=hrNP<93@l2ah=>V+ zk7B+GLU-V#&oyb0Yx#sSjEeSrUHBtzuH)An{?_T%1U#(R6NfpY_y*W z^0cTk`WUxD#e^#KFO2x{LjP-=XEupzYJeUJQkLPV8vZotx(ThR|); z<%IoN&nnN?L%4iVEH4h24lZY6Nv}=EMti$$Dfa^!d|#Mi%flzb$SJmBeg+k_J|~86 zWGXokbv$7uRxQq{jSqXPe%fA11}wpzp=}lLK1HIKwsX zR8uHy*qzPtr*VlBZ*1|Cb#?IzZ+jS>YFnCBi^QLu*PH*U-V%N@eY;eVzsEPgy&Kaa z+(SgO@Y*bJDu?Ofr;+~phMBew*+s3&5xPJ;P(RrRT)i2;?*JD#%1N=aEpPfVQchc^K-;r2{LU^tTtR2@8^iAp!uG&xTfz*E2Q1C~f-ggV zBijF2g#_t1z{BUIZ|udeGc+db**g`MW$u ?88TF2pTf8W^H2m(M{FeMS){VPen;ySHgs*d~fU>YK53T7u^_vcVXUDyrgvA;& zb+nx2{16jz%NID7M{6>QTB8HC-!JNA71bQ6hme#S+u5BkxCu!oF^?1fiD&vpx|568+d0b0Y5(*=C%mtwhHF9I}eCb%pqui zchD3_87TtZIE)BGQt8dowzM%~jGG!XygAhzl_6tPI-!CM&fWA0XHbl$6gtNsSwL1& za>?p3HAiLmv@H$fON{7LhL0p?3)dTPkskMfE|VlX-yZzEF{Iqk4AcAWS1U&B0|tfG zdEE!SHtvf6bQ@m@*TDS>#>{+km~R=*w(c zOGl>$I_o)+E;$DL;rDY1#j5XN0Ub%BfNeypGV_gKTRc=b@#eXgGzQLTp6fF$~E3V5dXMKes4MgG)2#!Y&n%@a4~S$ZW_ zSK^6z52|IhT}5wY&#U>C8ME`6P1Ex4arPhOs}UU_n{TeDKXA1!S)-V| zmh_5S;>E%n#QhR0*X!^<73F0_`*5}rLzVenlfC8UKQDMDPxzqE4LG(T%lCOWpL{qU zLYCb4&hmaYzPTzr{p}l@d1~aT>BdgKGZ0Dhw->eE*y-!Pjl~#Sp5EP|hwomzBuNyI z*@qZEM8>iBpizXU^$x`Y>l4{H6Wu7+W8-@au{ODEdr(}!ebkS@>hJ=SmGdy}HKo~z zGe362J;ScSe|yc5YI?l>-WYbFs0AS7#gM-{`6b;q)xF2}d7dGHzR~iFFJL0=At;Wu zoRKw6cU_aV;oeyEix(xQN8c$}Ct0I|t#8>1geE*95}v$=8{S)`m1u75F?pon=)mgU zG)(6+Y}#~~GQ|ulc1hXp%l*x?G9J$wgVw{Brt=)k3RYwov4@1e%NFmKGaZF;g=j=W za8+(_W)Ai#71_Z%mC+yV)AJ&AwYAIudL*@~>oGCc{)_T!qxa4T0ImFgaB=qN}xa zVoF5m<(b>$r=qmH%sBkbIPc`U0fPS%8IK+)6GI|_(bm1ZIs;4!V=9WzJg8#1@n4)0 zz~f=7wUO4U*A>`^uCp#L)9RAhQG8ZEcHI70e2J!2S9`*m1kNm%p3pB@=ut zXC5v$!e}{65%3PPhC4B&l-qL!`Xbc`!4w*ci4)r2_>pA2IyzX#40Oi%K+n}HFE_rM zC_d0Eu9cPF#g%i1ic3Hk$Am-vQk1d-`~yUwYAWeXTb;pQ#ujhrU~+r`EQR(^C?%+b zS~C(xd0w`d8+Nlz=7(it`*mk;SFi62D6j^J;iB;>_Hif~g8hv5QL0)*>Vfe2*jCYg zVF+A$7kM?~Pw{-}4!iM7^HsfwprqO>H*&a`MkCa=fhSx!$1_-K*dZWrJ$xt{%h<{c zBgikIG9)Oj1jOwz{-Sy!inw7o7vk!hOP@m}?%BPI*+)h7ww1+cOAYm;3St6NAS-N`5rpT0be zHLA26;(M)l`GzX(`M*iZz%C3h`5j_QQ@^8@n!jUQ=I?|&^*c9QrIlk2Ilq&FyKG~+ z797ob>&VEdB?V&#c zR88bOJfeN~N$m?K0Palq2!|8fphg5djmL(OqgnA*0wp!8R$_ zAO+EB>~fGj^T*_9+#X>tqIdE>L`t0076aGdfg5?=j)Y{3GH-(iR;y2y;q6?)h(*Rg z*aP7-)4~*WIsmMgYy!Brb-VZg27^34!B@(aMq0iVxM-7+&@e)pi`DQ-Xj8r^w};)nAx$eFn8|uF@L9 z{RDJV>@tl8r2^Y*n?W#Jsp(wJ&1~idr(hhXw!G=?KQh)j-N`8e}RfTm8QNp_e-1!htLwsyMym)bo#j*6lA0D8A{2e zVA~*mfq z^t&YW9Jlvz*RM@KccwAj*H5A*(wW~c>VdyNYJ;Uiay*T8Rw|yVf985m2KJcso;2&- zBlSAFmoT%@TZ>x%UN8aPtZuhiU8_`w9AZf!tSQu2g!bxTJbKhbUUCe8${d4}I7DtW z$6${Phgo?$g-{uU2~9%vw4_ZxsZ=$lii;?ItUw>}06_+y(~R^t$ayk4z}d}Q?GcR1 z-_11c^$(IN(qz8*O$X1kEsbzzAQe?q{o00Bo0-_7pXz=kzcK%WvrEpLmDFj7U0|i? zFgm``E5XXR)z|x+sJc?8w4^sVrzO3~NiFGBv#N%xq?c(mkymSWDGMXDhyNrc-yCgs z*g>Q&eN7ii$cP=~$q{1efRNqIveM!>$s2&g(ULa?*ZP*m8%r&v7bH+QpSQ`fBJMe= zuROXj!c>*Umz;D%mK@C_y7G=JrN9TpzEL$F)WhDO#r&XHEl~QUawD8HK&y-PTz|TGh&bTu=m~a+3D{4|~>7^op}dZxK|qRd+WqO*S(yNgugZDXzN-6008|OsxI}N|_ddW}qLqU-1tgsFdfKDqbYnqy1H+$mnUrBsAaPuB=H4`TIFvh@unHwzTTu zfr3HOM22k%8k5CXZ6|3dOn^&viSi1ciyer^*pSC%%j$_{?i~NKG?r;jpl7)D{gVuq zR*SU(oYkOp_xe19$RSY6jdDThnt+i>fF6m{*bKx3cKl0wx+@}4Z&BIBU%z60dRjgS z*KU4NuQSxAPLNg#KP5SeND3I5Z)w2j@4Hjg{dKc~-||_Q{Jk9OHbmSruvOQ6P z312JEgpHEtE}r{&E^V6F~m1P;Q4&Ou=}nU_ZuqVFirZ+t^owFvo2foIjVdKAfs3C@R~dT=dsiB zz=^@J3*ZNwzXyKAmqo_s-xe|MDoREXfjU{_(v8%L1(44;B1#~7`7NpOY7>@{9tNPF z+`Q{^K4$TozU%)EUeli$d7d7!X&;6ez6F-q5S;}|jm8ihvhg0Y?yg5+Qhj$Ic4b%9 zOfFc*F5EG0Y_{F?Yq?eDTg(r4vTp7;-qG4|A}}RKF}-!!)D;@&fqUCNf(()Vyqh_P zMPK^0Fx380fz<_^1`cIu*s6WcA3k_!T&L6SQqpDgYGXcaM@N`hpEt8UCwVqV9vRa_ zTaS}7r7hzpw6&noJ0Lb>8EfU2!iL9LE42|nCuf4?%ccUD@!-R9-^>NV;%p}y$*XH! zB{#+M8%pJtT1Ejrr0z6+a1_3-QjqM+^5=T_GmcVt=0jehPUItnoD`W}0GeHvUEt03 zI*j$-6`^)ybT0a(k+gJ}o2)a83Bae?L}oZVuj}w4Ce$?>2L6jJ665+i!(n**L&{XW zm))W2%aHn9(ce=KE{LcHjh94?NWlQ~smwgl-QyC8!LV@jsl=O%PmzPG2PjE)$VT&b zRG0ZX=5h0P!qe*a|3nT(t@_#J;9@3T#0?RAJnFfx9K4jYxEx%sV6IehaGMGLC(6P1 zn{^>8CFNkop4WsZoGJ$+P+B4w(vUT}Mn8 zMB}W(nPaIgRVtRuaj7_uZz)o-OSK%Aiicf7D!%aosd(firDBo$lvKPH(=>!JWa5$1 zK~m$ue}Y*2xG5I@ha~_V=Lfv!zfCAZbYxsQHihJk*7xh*>v;F|Rzso& z5tBB2rcRVaX}$~zP9mk{T zQiPY^lPB^6X;wB6shPw<9q&urkbWjq@jA>V<->b?h;(#D-#UCSatmeoxg5CWUkE~) zUyDQ9r>cxdwkj3>XaZ>$;QkO#YwW1+IC5y*&*|ms9T)a&6CZn%t!>yOBihk=@JJ%9 z<48xBRMC5|g8;!l_Yd!=e{JBOs7%tRkTl;wMTZ+j60}8o6v2(2C=VR>>8JVYfXJAC zA3eO%VN|otqy0QwVqY z{=AOXOC?`eO&Zmx{+K&{^$yj@I;)Yi0j-Uk0h$Z>H1L|sV*r6p4`=oRIbLsNF$hUW z!LAoy6x@C72ur=Qqf01B$H#{|8g*z_%~25>1H0GZez%}s$9)C;8sS8+XX>YryYaQm zJSsJx^;pb5O7Myy>-YQ$RA@?#CG^(7k z#&QZoLhk- zBG@~kX|#VL8MX&ADlvqbO-OhnIQuv@T%p;Wp3=LFd`JgODAC)iYSuUyD0{~@Fy>N6 z45g)TQ60S$=W_}Nq&}K#)p6={p@A&^g~%c~93Iv^418*k{8Pv?P$Y>e?Mva6Lx7Hi z%%xk>m0V#SJMf9qzg+FX@32TY8iAv;4kS2wnlAOkE~tlga{FXVR56h%E^dKiH~39~ zOpZED$gU$Ba95zg{ZfnekSt_@QEGlD%c?~HPlZOSlkl$!BCSrY0Z>N?!R&+yMMM2Q z#lW1WHu}HO_ro9I5>#`1H5pLGTKi&H7|?IuthidLsLXVj?TN4^^?jRS@$8hOL`jz_ zl4b4?{Y~zjE6=Jq4hy6QE3e{B4Y6#HlhsgVE`9vM5nm~BxBVie4ZNS}ARCQxIw|Kr zQh_P{Nuo6wI%edrm6pQu26ko4)4!e(ypQvt;}<##)~C73^%dC!=XL}`s~J@sM8Uy- zN&b9J{*0185>?kXVwU{%^T&Tb{PrO4V63q&v!b>-mXwBO7VznxHD zE*~1{p+0Be>?mKqz`gb7qj+tR5t!i$biNsAu>*3+)4`H@DIS{P@DSdmP5{Abui9hm z`?geo#n=@JmHE&o!@=DhG#MF6SvYo@6Q?P zTZ{BJ@3vIkn0Rgz5~jaWRG;7OZufr~Xi6NGP-E1;92aPm3lj+%?8Er5IC?iBYSZze z5WQ=wQcm5DK5h_NwraSp20y)Wh$$PVAx*yiTS>GrNHV!4f(n^7kj2CXZ}EI@UKHyD z@Q=&rtqXACCoYX}ivDK2<~SdV9F`%uCx+Wf1Ulr+!g~s` z(VGUx>c$hr)ktyAdpLLHRFQlfTAse=my)ybzbO(dVYUAKrS83CsieSF8bUNHYzZ9E z?BNlu&TwU9cP18M@zkt%>R(8eQnC%`97Q=>_?yiQA&7eSkp`EotosPUCtthoDaf&# zPe<(g@8(mowHIIHRA72Rt`nzql+WQAuP)suRLN|9_eXC=&$N&)a|>L2&2EphA8LQM z{h*UDHr=Q6E^5yu$Mk}n?zipj%Llp1x5}|R%T3;uX>&N#$JjEZO$as9U9?Z^E@w@) zqdB`dN83`_FHoOr4`bIl0)rj>{%rU8<^AHjMe;QnZsJn1+HDU55xH=54Hu$qZXOuhC94&fSg)s|$3 z+FVq?oCR|{w#{C^iQy!Nf0P=Onn|7#%%WV|#pA5F>?_U1MW^Y(Ds}RBmg&o3`o;

5WW~iwSCyUweCWrkYL{)0s_f$0epSM@^?IF`d~=r^a+TR`#D$2!4#1 zTaZ(9h$jb6+1;;p9}K)|(|7Cp^$uxgamr)^U-jAI6+^1e=B?m4 z??1}@sG@z1FO~s?z%S^RgrCZRzM*Je)bpwEwg__n!0ejBJpp!*0@e|S^#Vv!k+Cm) zziZq7Zlg3R@EI0-7?WZ6s$g7`GgDSU_rdO00|#xeX>yP$FpqTBo8NMi-$wE+zN~Vk zd}3Z)*0MTCk8`O|ExPt-dxu(9hgeq38(kWy<{>vR4>{Jda#_pjPJfm)_}HZ-2EC$u z9v3R#vmhQav*hmwSy1U>kWEyQwJxZXt5E5G(gi^!mx)TbAkavKN(!lFe=FXhBsL{G zxybBf8Qv7>oGU)$_`r@&hk3xPsM(s!Wnhz^a+wXmvJrGGN#s~9CYIg#tvOK)^wh^V zo$EUxf@rydXgMiFP7p17r65`kJ;~)an_t(RiGD1(0NKDdq2w8bEhFkVW@*uPje+Nj zxm%VG(8HCF5c(^lpmCh2?(1yP2)Px%TM<8E`tHY&C!7VZTBSWRFB=ovqnM^vY2SSH zq;~%yn>O^&Hta!c`Fk->-rrexwrJle?Vq(O?Sp+)nh%=~A9ffAcIUVFbNOw}Z_##y z?alCtC1TG^B*|!786P_G54Im6dTBVn<<|Tc?v7`g-hl0+G>a+Jq@w!nW@*YdM0-ZV zx_mm-`0{3&iT)@cHBcY61z(-nRUEowQkQm1*#90CY^Arc{AOT+8}->Nc(;>?#~&K+ z$v@}MvA!0&0`=5!pofcl$F;v6us1|^(0LB!TVp4GkA+5e2UpKFlw^O*TXWjPET3F5 z!K%KOhSbDwEN-TB@n_X2&DCEq)qeDO{@q$RKL_fmA{XXGlQ!H9zG2eP zAmY{ATcTm@ul4-=LfM5jjqjFUXCS;_ znE5?+m)6E#r?WBm#{JrXBt_y6%tRM*9&bN1-||4Ct>2f;XnKntX6!er^u)-R52z$B zY5$~Q)^ULuiB@+G%M@k*q!fKHXM?9KRU*&eA@{4_xuSFK6q}K2G02f&D?i7>i}o=v zp~SLE8*?7OkpL#w<+(&w8hovKu-Bu(yrFJ<4jRZ0IHfFX4@6wf-D2cwtJVU0=sS!j zHcacVZemg}5c!DlUeV?_rM*qr!2`D{iNf^;i3dJMlg(tCJ4T?pu<4O?#UqtU_geKJ zP0zof&XXtLl#h{qpqK5U^o#UmKlSY&O?{2jH#pO5W#JL&dA+Ke?x=1dsnV@$>z0mH zb?2xDsrmW)$4kv~pFgQBG^qI;wH_oZ7EqOcbQumT%AN}4C}6-j)F{BM)DnP=);coJ)`*qAN`Z;JfU0>fcMYL3eDxUQ+36EZgRV{ppHpZB3%A2)b^XXmZCoR1n4gUuxKX9eKhFAj`+cB&fBU*v8bD;mj-&y^IQa>j zvuWRJ0$MwfwbuoXRM&6~It`%achVeH%^&4a9j`nsp`tjp5#qWfT zX5PIFK1A>S-85TyfL_G5S2GOMM(VC}^kly3@6#&#H!(k}#4L%wP^T3q#!<3$I@L{i zobTj)7dy5NexElj{wk4ND?3RO>=COx5WfW39!}Z*2Rv(}_Cg4m3es(N1ep_ux^T3if2(s-A6W7;f3IWtYR}z&Y3QyIHkP zsdLm)mER;5kqO9KBw}N!jeUm>Lnu}p$m5|$Zz14%%+!`?-~B!SX%C&2g+|vOit?bm zNGXEAyw-2+nx?R`-cEIW2oj^eiwfCUR=gxNcT$7zE=JiRQ*$$|E~SvG3(3W&P^xt| zW!NI$6km;Pj42RPz5fX~k8G5KEG}tneE7(~{IEI!RC_h+X+;;X3?3+yhToh5&R=$$ z$C=Vqm0xDN?mwwR`e)&bHF~1^nEM*D$qXE5#fp$zSShNx+p9`IZcW)ba2A~TDQU_1 z^?!pV73O{V+zQ@YFs}+fd@PIvX&NH}yt26@F;kGi0yXns@;Oe&;+eHtaWRw9uZuI} zret8j9Ajzh+WtO>82P69qRc6iXGZ(X!FM(&j8F@OYm$On16#~7&a|=FfDEnMM=}}_ z@dU%y0x*wLD99{`!3BtG;%IVIXk*t@t@aeT)$>k&wscXZ>=Lu_sx=$12NY1_tfq18T0HW{}o$h6CD5$&m59JneuE`2_%0LTO)WVTsgFgAE# zbv3B5iO!RLB)gyxQg3mBa3xhsb1h+N01Z#C(*Fb3Ymx>*ht6LVxPp~*8*3A(B(Q&jn>tKZIFeUcdG@6qtz8V zWlxHJj(dl_G3|Q?n2~rsD@RR3HG4hgiTp=L`)mc6V7)I}1a$X*z9mqp?6s+zz;589 z+U{4w=dy66FW2Pq>}?EvY^&@Y>>EAo8|)K;O#kcq1f=^c^ViK1`z9>=N*4Ml?6}R% zL$(Hh3FvtPEF^R{(2FBV|=x0e**I@r4A z!%jS3Z(`o|Tt?XB8EOZyZnj^+yIMsy-UJ7zKoyiqKBaK`$Ek%Id6U9|em!a#sy()z z9?I@o9#-u{ekO$k0>6i5CM4kbm+U5+RP(OjBne@AQA2`U)w!YUkxKqxPArz{ zm>oNeuTg8)72n&UKcpa@&dKj9dBTHIFGdW^3lWlB$i+!fW zBW5$!sZXZiBTe?%u61NlevDxlYJUc7MvzZhZHPyXkRwe13d&tc^9sl#|9^6gCDpqr!D zaqjaLXFZSp-0x6FjK+e-*TV}Mx%)b_sCA4|_D(Nw`FE+ZuN|Xr^jL2jBftth*R0cv zeoiX)|B(ZddO0P2u@r$t#%N)IQ;cC8Kj+fmZ)sR`>LRVb#3)hMK4EwSSXCL3I!j;U-P2 zfGu!z8T?G5Xr;1>YE9^4&TkH7~MX*jY?`IXkY-&s`5iA=r zf5Fz;Wg^7?qX@<_l8ujlN(#Hk;ELlDR@1091^cJSW3RIOEO|_XBVp)5nc(36l05cH zs!H;a95J)-fXjrAji8T2W&)cck&RbFc>(8skwmsQA(6@Iq;^F+BA+uQven8k>mK?0 zi9*?Opwb?CU6!5*WiRs(SsW)3!mIWb%2JzQes@vxrwC*Ri-NR}V3 z0a6ubTYT912`)5Z@+Uu+$fDJbX4cHEDC|lpuGQMjZ>*LS@oN!@)TAu;K2`pzW}_qH zz+8ongEKw+GVhlBHPoy|VHlOM>`VbHFDboP0$7BxvIHja}8&sQzu zakToAWG$id7s^_a2Jij%(SF7+A!}LG{xi#3IsX?M!vB%1HRtb;wOp)`q^yU_FYP@1 zn_fORv~ckH2j4xX;$=NJaGtp1!ET8;55AX}`(UHQ;}6zK%zv;9d^aIpK!AJ%SWN-)DZqE-0q|`a_-3}6v+>D1VV36loB0UuhwyB_Vpcke zU>qV~6+eukdQDM{EssjdBek2|2hv}O;7z6AuVHee;7+3vyh-KY$UoX2Cl3n;r#;98 z-z~V*{>5@O@?gpdrg$#mg?935mg7fAXft`3OCGYBhj-lPlY0@lr@!ZZ7~x~elTwpU zw=wWJfhWbwi~9bB@|*v_webD?<{^?c6f}*3b}|oI9=>cfg)e@v=qd5hgR*~!=f)i> zH`QMOOgX|>#Q00S@}`&KGbC?7p2knk}Ai3mh3n*9fbD1FfM13AYp(Un+J2%k`dsE!c$E`295K#n=&_;qDR zYSg%L#}qhDuzQ&Ffh zMnPffN?}SL%qx9A3^l~5V%8o^FY)_6-^>?l8XoO>RII`5O$eUCG zhsxe4^?NsE$H%oR_hx+GiANfJl+NHg%OgTExUWqCN6hc8kiH1WV1+MuUAq8Qcyocw zZ@ZJfx0jCDNCDBsj@d{dVfy&cZl|wMjvK%K{dRX5nL0j$$uAuyH72LsrDT^&u7zY5 zZ1d*r?mRMeUk*EuuVHd?fSo&;GT;x9{@-;)$5{y}khzdFNG4<(Bo}f9ausq9@)}|n zZzVK9-bA)_G?kYvbbkaWln$WcfE zQ3RHnrLRJIK@9~(d^!`yVaR(kK@s{9bcmuU{5OFP zsvwz=G)NI7AF{4yYBq*E*TPY5LR697X6w+X?hdZ?iN$ON4ZHkM6_PqjQ22c+D5^{s6hA^*z%3fme2SnjBEFM|Z_Z>v;r5B3h=tvB#6jUb5Hi?gWgwDu(-`x@L#_g?xoeX1a`uLYs6 zuOmCs@dE*pxh{xTs|4DvQQY(xmPii{h)M|gZw_h8g&taWfy{u=TkMp-o)C(g%0YS% zgwh-eq3|Oil;2p05`yk1#UBT@fy6^7-c-mu2z`Es;+X}ZaEl;R7Q9*}w1aHo`Yw>t zIRl}13LunEdLfPCp*NN({2f#zJtVsaQhuI-RK91N&p9umqNzUUeRc}3wrA-^aJEBY z6rUp!p*Cp$Z^peLvSy+8x#4JLy=U=rvHP5}FXIo>M8?_2DgAp zFbAZ(9R{PoLXgrf11YZ#%PkeucaH|{S1%WgkB0%aZ29U;!5u`Rs1F5bvL8{{&Ak}#; zNOfBPRt1Ye>epo;s!R8;t=4n3xnEu1QQ3)DaO0pfXY&tJS3{^>GGeVp4p3T!KMEU9sF5Y7)1yO{ z+s7ptlyQ;Dh`3m_79B~tzq0&D=18qhqm0lbh9_v_4RHyQT`V%Ij?xHW32`wRy)s@K zuMv2fxF;*sVLa#Nc06k+LVQA86ctx650jvYMA1-MvoP?ap{^)|C&Zz4A~ea`a1F|# zr*VWV8MJz75ulXoBSAAUNt?jxjQfsDP$HVRqy&TvOG-=?BH$q$1!2{!iH$d;3Yrv6 zc#?rCQ5hMR5UVyQH3?|z}G=qy#bj{ilXX$vE!IiA?WqoByF`tKs!u>HtdL|*RH~Kb z6@xjOwXZT!JDHLf^cusYxP%z=kx9~YDeH0r$+~$F^>L{0$Ve0~FLRH5 zrA|-rqBBx!663;SD)nX9$=NXP;^bHEeq=^$hPZI4D%g4uc2a^$Gz04cQabplG>tm8 zye}kDSPZ{txmTf|@Lt67W#-1hlV7Pnz^7SNmB%9&OB$1AKA4_};<3KWbtyYi-C_*$ zJ}-4#a@XkNlA@wf&RFzQDL<7bgz{!rhO5y-bQG|{uF?=Qv!|HRUt+Ze>LV5Y$-ZK` zsj#0EmxSgDqn1G)(DZ1_2+S{-`zV&gMC$42#ab!fa{dVyvrv<;>?sWuZ+ z6Ac==|CNtYN z9M0y=ujyQwPWM0QvVf^vku5)HRpI#m6O#+dL1K0px!LI2xl7k>-Fx(O>!l70kI+O$ zMQbO-=wkJ8@e>mg4N1w9Qc`INgR6PnS~aRWRI66Csy$tH?6Nh#;OpPV=h?1#yLPQwwG;|POpGD34n~mH)|nu!>2tYW#C732=B@-=!rcdK1cri2 za5hM5)b$|kDe|~`2}pbGGLZ8B8ngkevzWajNb$LW)Q?mk<=-EqJ<(W@(n$d+e;HtF zFc)kEmT+CM(NfU?x;sezLqH`s1*A21CP;gnJg_}j2GSnLaTDv$tw7ovxq;L_<$meI z?L$EFZvd&j=7N-;ERgm_vVXb1$^A)gZ@C}H{V5dnO6_qN;c3q_etei3i&n}a%$P~S zbzrxT&;1;e+C=a7ihiRpFCTSxL z<2$oBC36=ub63e6Z%F9T4dHPoG$d%laq}8K9yd#!HcF2>v}{Y6Rq8dgl@oCH)@ckH zdJ9zO+ZXNN&dx;WJ4u>D#*CBK6<7@8a)F-?XfPK{tkiDQXI%QW7dnB|z6dV3BOJU5 zeL-i?sU6#ce+=^!NE-y20t0>&N9X`?fpmi4M}Ck859Gl^z#Hqr6v)Sr(Bw#IW!@HH zLzBbI%v4Ejg;2UX#zm5|5K6~_IwjrqagU8kQYS<(d#Vt96f-ANo1x^eOQMYcY(rTS zuZ3oO*+V9Ib^Tw+p!h9V86c2(2r2-W$a@H~F=;94x#)hv0l^vh#6 zcP@8lS^sb>p~>0=LlR0Kp-qg}VZ|+N`eN1bR6b3#@;_w3+)qW_C@ZpI7RP^;4Iwl< zE?(M!mKUX>qC%4*Xenk$O3+Kq5$fwFgboc39#GMC<*m)zlItI?dFsd1M_I*d$S8!y z#p<a~m_x%oSm=@WVbg;y+d1yZ$~{fs{A%c6g_jDr< zKe?{|(RXM>Dz>5M?pnRppv7pPjAc4@u}Uht?1p7G(tz{qZQ{FNDF^O_N|1mRE z#`o&%zlgWecr`>zdjmdf***m2XwgE6X!(8xdU)J;^(3{H*5`$GczwXGkscu-whzgN#743 zn;nog^*ehAja_-fYJ`q>PC@y{vx&F_U(B&V6{lNxc2tc$>-6GGjkQpmhR|~~lB#%K z8U|5jSSVBwL?gt*Z}UJ4#Yl+NYzsv=NjeL&VsXW@QwmT1)8x28vg-{hxtZMmCtph8 z-9INhhh%^6x_n6YLlys5f3t=6|0?^Rf#-?xpM~)6{>)>TiRWVSAI9&$`jf*e|0g%S zRCeQxnX_hp`q`YhpU<1WVBw-K(iVUDRr=RUmS!wlzGCI7)oU`>uKQ;FhHt;i+PG=+ zmaW^i@A!V_57|Hdv@2)#o}c&b+i%J}aPZLKBS()NKXLL@-sv-E^Us~XP;l|m<-#jh zuU-G;#?7Kzx9=3+y?4Ll!LJV={r3Cg(m$R&efIptpJgv!{q_3qH*WHUfw>w{rdY27&yp(a6llw-*Q;+@DU?J zMvZ3m|IhCKSJc1o-u$O5pZ~A|{uh7$AIyLjGs^!g{^cdlV8odg6@Qi%|L#u?Z(hQG zS6=fFWVZXj{9hY4VTIsY?&65|P80&ORlqEp$k)FtF!%PZ|9@B73SSB=nk)a&0|5Cd z<S+ z6fcD((pe(KOA8jVqcb}?k0T-b<`A;)&UH_&dviSqq%cFd{V>jvAjLllLTS@FjN*xf zC?WBX#*hRE<<$tGyw2d936lLR2*ooSLgBGilvbpxxxN;pe6EL3I^RLa-!2H{>kNe4 zFGI+E6e^I;D;uCvsD6avYQf}=8VGm!_*e|zzo>rw&CoA@rSlrekNWxU&8GEZ5B$RJoT||;SA*B&nbf1MZ{9rin1hea^Qd}z&kfza>#ueTzX(mI3P963%=@|i`bFDE zY+Td7N{^j`#ubgfZmhcLO{wb2qO5#lqnMWAD5;x&mnFwW&bsI|uvpz<;}s8u`@V#y zcNZJ#j>@h6ZIeg3EA15*?jbhCr%lJG1NGYWpEPKEJIK02w_iH_-Zm(F*~Amy)_X8; zkyA&z`f>UJjr0wvwpCr)sJ2=MB{Y3`@mzYlpHGj8T+*@6x@%KkX|@czF=@p*<&I%5 zO-DDkP9HS*j>iI!dI6)eNty+9Y?S0Q^)nXw5;K%vc_&-3YQ#z_-yy2 z4U^SxcGaGsMk^QBYO*lu&3eKVn^#($90q6qTxpWm3X+OD7P z;An?$ul>FFt5!GbJc@R0>yy3gch4C=9Xe?l^2d#!VXB z=HB+I)XNl|hi|q&AL8)ssW$2nb7nQ3aNyaTq~sDG=d=AYJy+Y&hhC$%7U@=~^ky>RRK8KIdG%e^AyU_T%NByM0pFF!fAA^3jwv zyYHq3Sfv+BQ->g|eNZq~7dN$d#r-RNUapM`n>3``{G%nKI@}1k;eIycZNC{o@ZQ_yUjbGZ&@EtgzaMR@}{3U!v0`P=A6u^hQW-Lo<7~R9xPe_^HpHE49yBHJB5>qWAToB|~@K4fw0RZKrPs@4t0< zbJf7#!WMk;X!n`ss>lLiR^7GtlJ4X^Y1e7?49b3S{YepjJ-;x~BRTUyC&#Ig{?EF0 z{3GY-qUts4Xw&@@vud^pRn@U@uR3>PUUQcXJs+RAIxoBP&t9JXFE8nA<{!_ou(>_u zx1~c5s}F^3D!e-9#;;v-)X}Bs`H+H_Dgz3``{L=5t!d7+KZav>}SHqvJ4|m9`vg_o-@B3dL zWWVa9<@FHGZ*H&JslI(Zy!~G5Ht8!a#;cdKzH@MQQZ>is&P|$yPNUqwFD4`>*7ZQ)l*GYud2Sgt?Pc~@GGBVJC& z7o~1%b%P$73K5AmrO>cD${w^$y3sp#?9lQx&v zFWjdSBJTWfJz#_0E^F;--!BZugBQIXdDM_sa45%1AAV(I-k2Y|KX_9|ryg>+(X~Ba z|F|mPkF`PfUtXU$J>0g#noc)XwV?C_#pnAzb|2Am(jB*NPI&~bK0m{G^`Gkv$6g*< zdcW}mx8m_zR?dHF`|8o$i(3wi?t3P0`={|@vsD*jT}m7pOsyZ6uKoCy^P&j9UTeRu zRaCQEh(R4HnjzdDh&k7Doq7T+txUtbisLUcfrcOuV7WxPq3~!RIsi#POx^+3N{W&f=%_A zf=!Jy!KUUKp-RndLKVe+p-Qc@f^DrL!M64j!M2W#gc4R%=4@M+BqmP~ z2Fy7#@lD+@@8IVAHWrG*+&uTOh2lCl4}EH(c*f1o$}ANAc+-8n;3@dyk1nQr3xSf2 zrw}aoRX;s8-V93c%LjUh@%D~L114WfdOe?LeNBm@!)(LoFlBV++24U!JYgk(eby;R7B z`8XsWQV1!6lt4-$We~e#NE_k=afbv!LLmmo6v%AI0!TV!C1gEh3nUw|7jhVq2PuFQ zL&_l5$C-Zx*cjpjafA3n#zNvDvmpy0>5wc)KBO2j3?Dcdj1SlZ;~CFLygv{eoh0;2 z&h?VVZa$5HB$V#3c(pnsD-u=lQ7=CP6YFUW5&g1`%GX0});W zP#pByB*l}IhzEs;3ojXlX=opaIOE8Kcx5Y!zufFO81KkK1`qBO5z#4CiYEe>vvM#l zB^gq234VUPV`F>MTg-?bPcii1U_8kq21BQejKqJMSAy|Wj^3s3hn=Vv9EPWP^!$>A zi-0C2!^2nTES^Nf!F;gz=s8}69gCZu7|OonbSiX~UJ_ETup5XtDX;wyTNpSPI@OOS zcFjc6DOUq|*@#rfo?sL>4B=>h9f+qPRF(jgJsI?YJ+^cRNAV{~u~IxNodh!*IZb+I zDW|KI(qL&yO(~_XGt`ScU~gx<(gEdD3rk1o6cjX7;N>J4d}z&ruTgIJ%$ zc!#7wav{o7m{TD1%s2}yA#IGD5 z2K2^QP<~?kZ=W^)({t)BDBFKZo5JeM(xj)<-Tq&O`+u4qrA1|=^yvCedDWp$hr^c+ zd7doQnN}L%a(%J*{yXtdKTSlOR3p?P<}tgnO#X{}(uk#;(!4-pBO1B}`Hg@k$4KS= zH}yr~X_nGsl$(d8-2A8dqIVDyrLd96j~rUArT-kBy%CXs9LQlQ*Q_4?Q`#v~$yvXq z&~jVA7sN*O!RDt(xX}9< zH0J0oQMqMU88t!*+~0jaq;k&i=?4Xd2+ZxQ z1?2Zf%-<;qgBz8eF3PR^O#H)bMz-;ocjDlW-bisljZxivXf~oAOP}>)?INdLxqR## z*)u`Y4*_g;W%ZzvK{19|K_@!5XYFM90xm=RLo{(pz2S zX-J<|qF1%ZuUkIWqY!s4Dv-p7iyzm6xgN@O9oGj0^uy>X)q&;hC)NbRTqsht{t^vpvEHUynOdPd<2 z(lZ@5ke+p@Kswv<1L-&*2y6)kgRQ_2ur)Xqq=U~0P?Lg@8#hVN#YK^Hrn*bi>S_5V zgvTXHG^m-bh6CBF;UEzXGP}T#I59z5#F01hLeAkDX&Em>>f)pqjw97!QrOtIh)4>n zi=Z4}KN!v&#z&{d$03$Tcp&%41n!>dDvVF<4ABeYkx^RTj@RQuKI%xkbxS^_%c#I8 z;QKQp-DY-NvQ+q@rH8}$u$j5U%&#LZMLe{QBa(Qz}iOBy#*8MkmV)qepukAnFbH;;h1!42%= zg%Q|$Vcf$^^-SgUftl)%^5)OY6i=|3nbIB$opvlzK49*TnxnL*z)by^@;z5FkCx7G z(#`y=H#6tLOyh*=D<5V*%%PNav1C6QE|}lU%+@z6;%{JPc7{0!IiNc7ftkuS2Yu9_(5iN=ThQ5>|oWA8J+?}v64EXVR% zlgdbEuSr<_QOYjTzTLc>m21%j;c3TOx$fWhLv_gZ+!ZY#$4z@Vs*U&E<<@*RKC-72 z!=&7?7J1i?7CtD}ckO8{5es2`<$ZTOa`U0Q(5{ebC0bA-bYyvnKjc^5v1w70RKH5> zJCq1ZyGu3NB<=(GN|L?_Q)>rloN#7E~hRNe%s z7gqL@DDB4NbCf9fPLOJp&QsI~Bkx#QyHs|kUQ0QpJs9n|h_tt*?HApXVXK$&MdOZoIF*;}!}QSK_d|K2IFhA! z-gjqn2c2bn$c@6rNi9vepzGZ{&~BXVMU}{nJYwGWNBiu~wt`=H0fX zdSLyMoh!fVo{U)N&NLams2y0H(m0_z9Nj_L=VSDen;y25M#Z?2=QDZ!B2pZc?-%%f z6Df~0KG{6L`Yh}3;nJOfY%1nI8Y7fe6vEM&ngOMJHx6oR`V@fdSH7>hnB7^aY;=}H z_a5qBvR`@rr!zdIG*?l+DChM48l6R%=aB3w>YGkZXaunOrqM;cHbx5jU)?{<-DpqC zN=Ef5-*ad_sC>^ccQX(3{=KIS%2D~=L#I15CsJEdolps*V5U(_S7moL1CVbTHFOV* z6zHidJtOdz_Th(4YztTcNIy-e13v;&z{cQgunCw3HU(FL&A=>B z31)-M!CbHfm1nH!M32?L-YsG5o`}C!49A^=nT4nE?^MY2^;oPL@soc-0Vsk+pbC5hdV*!3H)#C` z{RV6d`hreiKd>9vA5?(@K!0!`7y=FgBS3#J9t;4dfPvs#FbGTshk}{l2yhEH63hWd zgU3M)SO~^|C7=#0180ENzoCC&0#Sh0Ae}4Hhw>Ujw+EfTs$e(J0aSrB;rN4fz!1<8 zi~#F_@n9ox3fKfp2c5x8un(96_5}}v-e5i$1D1dmn5fD?YtZ_4j1p{ae8bMod0ca0qfK|cuAighD*a0>I_kw-E_bO3c=BQOQ*1Ezr%m?$$r zdvFU_70dw}frr69;C0YKiGBszgJob<(7F`vpaQgLg?xbapfgw%bR&1rhuoczA94pn z$sN>@y)*Jd_TX%?2h+&j75#zi!7Q=|v&p_2#wXc>d1Mb3lD!-1i*&G*ba&Jj>7d;o z&{e1}uqvn|`XHY~Kjf3>k9-n?Fit`1DHx|# zX?IB%J-4BY)@h7veai0Gv|$E1a#3JnJ!va&_!!JMyAv0 z16}dlKRxZFOJ0-G^G>?hE{Hgh>&X&n7flzfRp_F%C|$H)ri;#2=t?Xv56c(r0_f85 zbR&5_Y5zl4H1=O~(e8>ad`pwWSiT0MH56SjJRCh0rHh@;u+Nf`9>e{|@c3w5OIH$) z*TB=KwK`q2)~AbBv5YML_$D<;k1ekc<{r!K=`4gUs^=Jxo=;Lu&JKhB)ua0|^$9Zj!c6_b1tEvROnt!xCv$W!rxhic z$)5Uz3vB%*a}vyc(z!eJ4YD5wd+Hx#4u+ZfgbPj_$-f>gM&>}6sc*PoRY>;KKPb-> zKlKq8n8*+H6EY8nnfeN)MSiHiPs2sozpNQa;%e{eDt?QvapAQGQ~jJP(%g%+4EFyRh##7%Y{Y`Zql{qdr4@oXpg( zsGpOW;-|h&_4aOAsPD^d7bfMOrAuQ$&I64H*-T@i!p!;@<&(ySY#%GNg`9tCM`orS zqim)zL-j^s!=*ga$uNyQYDadC&c=}(g33eViCURjTpm{x3$-qNCoLeEz5Y#a^{hQQ3m6`i(Izo9&_e9&A=F^9mOjVmvy9@&^-{@Ive_IfF-JZ7j) z=}8FXndLYLHs*bZjR7`p&HI_RR7M>_Qdp{AHcnW3dr9?W-j?S6@T$xOM94<4_4p) zJUyy!mIh0^KOdV^XRMCdeB#CP5sQ17JTuAV^O4$=r9tn<%H{Lta{;Bn+MT80Esc3r zK9&!9M~LPTPyDakMl3zn0&;qTrM$4dGC=AREZ!i=p2a&@Y5`VnAC8ws0_!buyuni2 zvUpjaW%2q*WipSeavRVYncPd{xB}60<+dHj%~Zw_QhpOLtB}T8P7X7QmxZ+njYYY> zs7@&ixl|6rMk33zm(&h&UC^Av`oKUb|I80P6_VqnH<)EV>>00IcG_REcvw$n@eGpQ z1z>)H_;{sKc%#kacs$M8W4P4!SXeJJ|3PNlCkkF8Sszx!c>p6hj#`u%Gh^Z)0qkRSr5Gs+yPz%_k!Pp$H7dn0Q>?h0?&ev zz>8oRcpkKVX{p!Uja@5V?ZP9 zn}g}l!%0VeEx=6ZbPwJFP6czoT_BzLSc3V`som+!#~Qp2o$f;=;2e<7fNa2L&}qJ< zvmiPf5?)y<)&UOSVz2>7_wiQX51=c!8Kg4?y0^MRpAXU*k}c>Doz5`mEXfWGf&L8` z0iFiq!7bnv@B}y){1QwD_kfw;5pWBb4d#HCz{6lZm=Dstc^%9JOTY^tomts~&!C?J zg}*EnzW@&4Wv~Hw5^M$j2)cp?KzFbJ^aIy}!QfUf6ub%Qz^}j*un3$D{tTvpXTX)< zEienb24;gdz+CVOm{)InOrsKj?mLVCAa}}2DgE3Ak8~I;7?!>xEG`|BRZ=Z3wb@<8&ri9b6AR5Tvs-CvXS!31ABJX5e1v zYLLzjYkGeJA}uLaT>nFuz9{pX-FNb7Dp*mnWlpr?YF@ZTErfgS~BKyL*GL8l$gSa1mlK2znoI0rc5m8N#`O8PHdO>%mFj4loJa3l0Yr@K+l= z4t)t&00x6a;8L&w-0Ogkpf3cSkWLS<4Ei)s33o@(`VBiPbb?+Nx&r!0urZhcI)Mv7 zH*gK;2WEk;@LvxMflli#H|X`j2MNPGJ`U@PbcL3eN; z7z}<(?%*;o1mQjcXG32Orh(%?1Dis-X7*4?~{; zh9cg^U_SJZ!Rw$NjD~#^umt*eP>FEe!DrB?fOJ-^1o06uMHv3a!+%rI0eUFd0RFoX zp|1vA!B4;)@YfdfgRTXG!8kA!v;yP7+n^Cl0~dg6!3=OGxE|aD?g0CNd%<{+?S<&g zZ~6YM#{E||hhYaLnPbu$z_rvrjrOds;Wi z_UuUsv!7^YFF)g=^(gH=WdCd@$o%8`?InBKU$K>ZxY-(>*|7igR7&1Mvb}4V6el|i zV5dZE55}IIv2`iEV?ggnSA=Ef1+)rbXGio5i~13z>w?;$^0Kpo2<*$qO#285FPqsj zIA%}(WqW$ITVbZTft_8@JJU46XiY@>GkRJ_W?B)_I|8yfOv(qdr(DYR;ZmNMJ})! zl+8&}Ut#w2G?(mYpQ+(y+M|=Je6~SvP>`ASz3jx0oiVUeGPX})Cv(iq+DkUm*kfk; zFPrH-4%r-w{wD9&S-R|;fc0H={=`0S#LhEhdm2mBr!ik4W_nAC;-|AqGE@BQ42GU8 z%V$6AB$1t6vC~bq4`=vX{`k>(e6zCv$ZkeSX%Vx<1b&MH`bJ!*|`Giuk0*{{?oY)jT06t+c~jQLOMIFu&1`C5zo#l zX_Qghvojz1FQ3KHTPX4w9cwdo_P|bZ+1Z2ahvH=8ft}&7Jg{>-cGAnv@#rbLz|Zv9 z$*;VJXCtNJJcafC3Z3;_`3#Vq7PB)zc4ExVd04vajDYn&W@h~uy)pZ1`z?0k#eY3MwWO3&(%p4V5H>CBX! zy0bG!*52&=l%2w}b3N7`?97zjsbOdHG~ZAkW#>rjzj+zV?aj-;&PkJ{{>sibS-NZw zOk~|V!mQ%9Ky+%uMY?7{tiZb%?g_lg&8euWLoGEL9>iAp`Lw=~;tn=e$ z9u$l&7H`FWW-I?MW$_C#WqX;f-pnMk^exj%`R_?o@a37MM;$-!uJV}CF2epRyWHWk zyH7BlXq|h$`;zOH6JCpdE^9Dt&E|Tl?%z+k{$%nKlbvTrlWy{8p1z!(oR3nmt2MKe zDf^K5)>bxEqLDtCPG?lZvEplG<|KbM!OZF%V{z3it103~e-3eRv!QP)zwy(mk@H0x z*T3G_$GCamga0?S#ixr+ZY_35dEE={eHV4Sx?F4&uU~!cqwXF;?x;Ttw`PiK@%2$d z+J6N1@S}ge`bHF=&-f#(haKD>k7`=~JMmiZS+UW+dT>8xnbvoc_}PX0<0H@Go7Gi^ zT)KAIDmL@EQg&@J!e?HJujRBuOb*)aH2*2|&_5nETlu|MFnm~3u?YFg)%^WY-5ZwvrC+;&#YZy z)fnN61FBuh5oh`boY95qb4%aq2gGfqvrhTWYw9878|sQV2gHK6U;WXrng#Sgn>Rxain)`V zRQ6lmxC=$k8oT~^Q1lFMRQ=df~W@Nc24~Z)Hah!PUNYQrHpErT(TL9^FKE;YFiHPmYLn)O}q(dMrXutG909 zQ89nnlGo1Zzqw#QZ@OL?!j^mK{eG(9A*9t&|5fX>SZ&F+#n-wu^1w!Z^Qbka#YElZ zy)8dM{z9h>^{977EdHwF6YZ+b$iL-v=jCU_Ie*MZd;SpaY3a!!&CZHKTK!)iZns7H z*P0oZofV^(Jo$5KVhfbV-givZd~tf~VJ*kRpuS7~>S^@L7mwE7z5A;P=#N>=M|7T( zFK&BkntD}@{N+q&GVy4>*yVuh!hsJ^-mLSdue{9{jjR56QKLKhd&0S3)={fOc4TqK;L)v-> zeqMn!+ME|(He2tcm{u3@)%rFp?7UdJp+m<;J8F9fh2FUnGtP^tJy&nh_QJ0S7^@{8 zxOiSP+11>CqQ#=`!<+3#9NeL%(IZ%;*@V%Pezd zy3Ca47o_kqjeD3bQ<%kcnPmY?mzh$Zhv$sHbDoulvuG#NWfo3jx=gm@YF!%XFDJBGYAN)@Hg);X%F>zs$meOqc1ljOj8JiAT`!%M!pqEE z%5<4QqnIwUs1eg;hTh4O!pkgO&vcpbu}qgKbYi+p3{lq3~S8k z)FW_VwR!!!%ey~~ocMipm1KjpWp&k`J-i(<8ov1YZ>c8HcSI}pflKBEuX*hljBm6F z!qcN6crp;co+2?v{Lg*+w)?^8=IgH3Jn>ePO>cNyrJQyuJ8OJLJw(8}ypr$;O2z4x za;Uy4)@F}+juqTbMlLgCs2EGRJJW{CzoBOKTUyfZUDEGA(2t4WC)xB-20B{6Z^zM3 z##H>eV{aw)`uH73`WZoTr*PqF`gR#+)=8ftmwx+!tjMqQ>p;DG!)F+Ne1rd%Wrckt zez>#3p~4=&W>aA;bne(qXzki1M2R@@>yh|bJ0<nymrIt$&M@q5VKoQ2jYkdCehh439ab9UkE%Gph#YsW4fUAvRNNFgxDH=sHm)_AHl zae5zZT*nCMXOILn*8}lGdK9Oud*kPHXpbrDL0UaNY3?1Dq(}aE7+Cm7Ki`R;kT4I6 zvV72<{G&F?!;?RAouyF`R89x>m7+AWm!m9?ll!G;%lij@frz?E`ET_#u5KlDQ18IO z)C_{e-mN2?_0De2^q{8FRrJn?Xr*G#qZn0RFwQ+BQ8lT9C%GGEck~p34)rH9yWIGG z&dvLS^IQ2ou$0e#Z>KYVZ>M*TnsCbH5@Z{bw_T zG50aEo5^VOVa&DV_IbZc?yAL{BN>IJjJbDzliZEl7;`6adU852stO-T{&LrIPGmHS zj6w}Y)h`cOezr0ir*Z}`s+3%R@+(XC2&1r!GnO&eld~S9@zDd8{y|3LGDcw{xA)_E zbFRNEVfnbgn7f7Ra~O?kPIqqKfb-dXDV!>wb1UaO#@r}QUvA%uQLy5?E%gJzcz{v0 zmg_SZg)qikFRr)Z?lz37`*&HroM05TFy=1edIFgy!uc1G3L zjKU|}K9uYI8I3MncjWx*4y%vbjK&jO|DI7;#`PK8UCZrEymIXAFei)j0px9pc@OI;AhI9{~Rw!%8>)Ao`51 z+wpNNI$tOYjMn@lZWlK$d@`H#ab5Q|+$~OjWA)q2P@D&-axd>b`m-3)M&nho3+WrL z-%3c>FOFT;wdKZ+h(EW+%*zXM#VVHBwT^hxc~aNjUtB*R`Ws?5FBk>?s_ktjcQ_<| z-$L{E+RfOn3kLrY$%n=GFIKc#a|rnlO^fi$Jt9W;7(cDxh!gab$Lnp6iDmbijQaJn zK%{r*)hPet;-rD!54kYb8}V#pQnfAT#BZiqS5qv- zdCZRUX&b!Hi{lC&lq9Wyd(c-~M_xNG_B}YS<@0VYaXyp2KV;$s@y4?|UgzqezIKfF znO&tojD7vrptURd;k=^3+JfZ;;)XoS#Ga?AzG~eb<8o0P)OT*ph*{YG8)rt{FxT;cp3qU(#WyofE!mfi_H$i4zuv9u;_ZgxY`)ow z^FBpO<+7+>MC+uIB|*P6K>NO}e*4ic;--1OIqPo2e`)uv4=3IbZ+*R}$i5!V+f+Um zet2<1eC1frWy}vMl+Uob+vJ;~a`BZJ@p|fy3s&p?zA3KKe%8@9>Xo}tnmTQxSS0>F zKk$C-k8vL36ui)2EE2C(J(JRBK_ArD*`Rs{io^{=YdsuVAMIiMzKxy5EivT0?YtA; zpngjR{*tGM*^I8X93c!V2oiJp^-Z0irlc~izBy_e~hIDEW~?(GDeXJ-B| z?(yHZ#EFF#pWg67|57NAN4wt^CvRxC*x-QljiWPLPQERE>$ubP*B$;SPxr>FzPM@{ zmJt~E+`8XBVaJ_qRq9?f85iul_SIXTeS+(TdBw}Gn4bUbAzaqi*e57&j_lR^ifOv| zQSO8Wec^6Buf@hf)2zaUXO(*g>=SZ_nDnlNrX@Ch`ZmXX_X%m!ZF=WiHu?7SS@Y+! z?)!wy*FC@Wylkr8pmfc%)~bDiYSaB?r!JY=3*TKF-NAF8kUy;CdGICEcL@U*2*;4V z>cZl;H!qsL-jjAAAXr3vle#X8xoAqbzo&C{B;{_ii3K ztH9JbwafBRD~t9Ds_OH0D+)~QtxKHTC)9=iD#f!_T`-NXKHyz%I^vK2v8=B11ykoQ zn-tyFSKlX;F1BmD=e()Qw;np%uY00=nOmO>IByDE^5Yx(l=cXprc+%xXX=vsUEj<7 zP`(|37rJZDnbyx<*zM?$=15=cZU0xkX@j@Duw_dJ#D8@`$bx*++M6kX&d0nF{@H>S zP4Z2ick3Ka(7K~OCQjQl{;cW1&?Cy^x*n)M5Bq7KoiXLUe*5&>xE?5f?3p4~%Ct+{?7^}z z0}=nvqkjuLX=-*f%&1?A{2G03`%XP!vOGOJD!ei3Khw{C>&D}z;iI2K?D^au`D?LW zdGVOZV}o73&jgf5n10|V>tm+hFO7&b_D1`tep(sY^{A=wfob(y|IrohF>kkqA2A(j zk#5`5ZZP`C+nF1_K5TlnI=;?V`_Ml!+qM4b=poZs(~_Ax&U+z$=O?7RJZNg!!|&kS zA$|7YM@KE6x*Rllj0-w=$Ilh{>l3^{eZX|?qo2OHl!N>VZPwjgl52XQc4?V$V-Va& zjIFlPWEv5+Vb`o~NKf_qm+5x81&*zC*!v;+)4KEyUO$)`+==Qv;3JerHTrDQ-tSFIXRWTYb1L#< zyk3^odxyy>c>9CqozdTnUp!l+-)h=BE_sN1JM>R{ThacwO{P|tr(BC{Ozk=Iz~3p~ znYs+y{$yUyZg3yoqT}@Srqi)UzUt?N{$}j4VZh9_ra{AQj<5a^`m3P)z57S2OoN|f zyXU+u6O^oP(Nx}y5|@Wm$aPGIEj5{ze|)W4bY98==mnjzf=AUz=^ z_OSgVQ>zE3N9+lw`u)(w_6MrBY#*R{!}&MoYtFwoUva+VEaUu>^9AQ~&S#uYIiGO; z!CA`rnDcke-#8y}KIHtB^8sfG=Y7t5oOd~kIqz`Z=DfvO#CenR2InuF*Ez3oUgf;P zS;%>r^AhJp&H~O0jK=ev=Q#5@&vKsOJk6QMd5ZHS=Lyc^oX0qiavtG4%z23OAm;%_ zd|*#nALiEN`$SF^r@)z8gS&I8I0eq!>fD`E#VK&+I&gPR6{ot`$|hmId1K5`6O z`gtkVM?(C^d%Q-8^9o+QdFI;&dT#YzZN`ezpWU2uDuA9Z#}}QkA1~hA>KoQ&oG0|M zhx=ZHij8aUx)|AV0Q90)Yof!%z%FU^{X+3PQOI1i@M^fI>9TZ}`b}r(r3Ih)Ys4=5 zXPPXBV*M#(tew9y@t2;+Va&x@a|l(0Ba3Yn@iS(YSL$rVZsc zbJ0!57;(1oo7rc+ae&I- zzO^U*vJ>k)q2O+rK3<%xw21wrI;C&e*3N07sEBobKI{$FbNIT=&|4G5#pzQu&8(=t z3O24>o*-sUoz^?@iZAq_Uv3Ob6iw%DUTm|7;?KX?rn*6NZd1B^=53cE*!rvBPIA)B2C1{P;Dx zw|SB{(bn7e`5_8F_f3!{MRcuQtUW_Q@Xe!94_{+_T|!>RwJec7#(QEb0((D+mC?V-Cbzhp3q7pvqgOsPiwqehqS z&l$x@qt1?K?TP21!t3ls9cPFs%{nCZJV^EH)-rDX4Do>G!sAtuq?b+^S~5c%WRrL! z=X27754!oz6jypE9CyFMeo{z#+I-ziao+QGc1v&ehki*>B*hCv&C0W>X%&{MfF#9;9A0L(Q%^b zez&%?f9N>v(%ISK+J{X&(uQIEFU)OQ;QXoBb5B`TNM=ju-S!uJ{;BAF@_NjpgXA9O zRe0}H@$i!^zD?q(KD@GTcz-6g-P|RmVGN!h3zm*0nV*SyIU|R!Xhi+z-StA=;*(pG zO@nqF9h12h>nCAl|Fc7qO`2Bob+106^+wU6^Usq^`KhZ5zIg2ieL+;gvLw@#1v$sQ zX*~dX`ndv+B-8$#qE(fCgP@n@UASd14Qsn$qJ48E`5$%eQ-i6tzuT0|+7v!w(&=^v z)20>4D_Yvp`c&8E_~}H`42z9@=gp$^P)6i|iHWADX@4H;`Kc51!k)Y9CYly3>0$Ft zk}q_p<=b~Bn39q^HofKR4BfDB{kR0vJ^%TKl4k@$-&-rgBEj^{@#UAR#W#Xp(q`U< zi6(F1(-z(TqVhb;n>=8mDenG-U+&wH{{pKCzr~xZvugg8^@Q{(r$#P@Uj6vC+)lK9 zENbb~J>C@fcJtXzT}dx(`0>s-ljBT>0sFT#haOtJ^DDi{+HsxF_uiC0yA~E+dei4g z4Xb|Kob>#WXFiWL{ql0Zi_2-OhlPx78RvAS*#X%PpTyI8FQ`puL!If%KaI5xF2nj> zDB0gi9b?+~!`$xzcGQCImU1s^f@$ZN8rIcau-+BihHfa;no{R&o3^Pb)$ehCwVT#7 z=8G#^CikQDV1861W3(y8{pkgj8?}euH~Gh+OjCQ#y87j#*3j+V&Z-$@ij6Ah+-5Va z_k~Zojf^zCS@qL^I)Br8wn6>dt2L&ny93wn$?}Bmc45K22-DN?WA`qYIT(7-|7!0| zz++0j{_&dyK@bFCERBq9EWNL{yE+6x5G2-+gft1+WFhuO>|2nrj35XyGiD}?B}Plf zG8mH~$Pfgv$Jj!GAmsn4+qdcDYs~w6-{t?jzvsQ4{1!j+hP}PkhrOfqC3=Jkea*9n zOsx4`9F-?!>uB>p^Zka?!wc0^pIQ3B{RWuH^qxmEgXwq%Di;3I->lqwMw(Yl$HO>w zXr8xu>(r%rT@`eEQ))MR*~=UyZT01n*L3~|cDY!;r}={VMU7)aX#Ihw=88PcT@F^M zzpN$Y>o0%V-@|i@(g8<2w8$Zxx(l0)2G3tHSIM@6_|o4X!^wE$c5b z?@8|8?yLsqGsal=p=(?7JmtV^c}cWCjHYpeM&|b&mWW4QXhiAC7kxfK{ll#87OeNQ zV5XY|8$Ebh&(k^!)@v;|OT*J@o>p40QDMQ1oTsHcE#YaA1?zHq zT`ZWX!_&2R+S!7$YFMzoI!{;Q>8cjYRIy;A15exYG{e*7u9oq5XTkb1o_@pAuPvA< zwP52*o_@j8#TKl8ZoyeaJpGiXAM^Ah3uYc#u<-#;7xMHy3)bJY;H=v`eT%0HEZBI% zf|=_)ozK%(dHS*i>+>u)>mpD8$wo9z-+1~IPoJ=0 zi<`)Y#X7Ka@p5DjPdo4I?j|J;@^Yl+V{i6jl zKUlEwd!GJ|r_(H0zte)Vw)1o&uPjBSu4Hm5b#)7lf@$_1r{@Q|# zNfykk=INC@oygPMEb}gFs|D+MY}~@9r||QV$NJ3{+PI15Z{+zr)+h7n8~Ah{>%Xzk z#`QdZ9na^nel5>m!>99D|23bUWWiahc|MQzt9brOo}b9`d2C$4r!VKzd8}V%p^Zy< z{t}+gWBp>Dzlcxgv3?<+zQBUB=JR|W>*w+O1fD;a=kwS&hfkl)r}J2Ew9v*`Jbxz7 z=dpeUpFW*W=dpg8g*Hy*`BQj4kM;39e=^UXWWjnK8{_!&SPN!&tdFtK#%P{Dk>~SR zAH}Cf^65O*M_6cMIL{B``8?K7;Q8bEbRO$N`ScJA&Kk$_d8{AH^9?*dnCJ7@IEGIj z&8PENA7r78fjmEe=kr)Uisz5y(|N4-=hH`6aMp01&tv^Co~{rGeq z>wPV>aS+cR$n$xuAHb*k@aa6(_qWi-emuV~&*!n;o9Fl8`MoVz&tqdRKHbZL86I2r z|H^)WmCnLnGwOyt*uWIEqURkZ#f~|p>zuzoY{)%&KBDwF-T13Zz8zhSo@ekEip(Y5 z`jex2c{icw6(-%0xu)CpN4wC3HuU_%gg6*)>c-u>w%MmGS3b&-xud&suS5HDZ#^kL zuL^Tt=kTu0o~Ezqd6kK;#{8x0tU11M=~{aJW4x*}k97m4JUA5hBR%gkMKz31bybqb zY&kf)6Q!3{)j!h>Ot`isRZY)7Oh&b==ep`|Yu3%2)|b*ub$y9$zRUh^et%2POH5#m ztQWe`iLY)XHKXTOW?fC@m2Rt3Z195&j_+Q}SgOl?cT;sHuRrBy*Jj@6x|#(2GQQ#X zOI?g_bw|f1x0(BnYtOY_R++BA(fCK_ZS?$#6SMxku1a9o>gc_k{+t?SmFrqAe_9w8 zL*o;St8)rNzRy-3IoqfzrQbX2?Z{#m!Nt1aT>snDX6(tb48Pbp1KcTpXq_y3;uG3+ z`Lt17`|Dhc4y5O#ON!TP@cU!@iFjSTBboSP*v*&WUs2k=et{!tnc8{0;&m5F2fLg4-wza%%$=EgU=8B>E?eGxPJ!b1;QzC(+w8e~M%T(=Vue*T2fDL&m<49^E~L>)+dkdKWTr zh{L&vY4m)}+-Q{OLY|K6CfF28<0s5Zw;~tfR(I&-KC8I;U7PsSB|SB}YZne|Mfr*^ z((95G<(b(M)|=8nOwsMbPPGQF2# zcesM3zvp21;S(_qPQgl?;v8{-cw`*H{15$ssdec|^xcR%YT}lID z6ixl%7d@B1eg~!@S+Z{Tv-f+r^)m0Pz=mYzLJ$cs~8PPQCZs{MK}K zX++%5jXpAmsYm&lU7{M1aqZiUm_8JLUx4)|%4tM)>BbFyUD}M&m&8IhQosN8u78wr zIs4kC--RW(Q86wN)vN$@}e% z?_EB~jc2U7s4?j|^5U&`i@5P?%lb4S+0()g#kJ)0eN&s>gcxf~@;{r!)whMXd_lH9 zxNz@EgdHQa1)-Io$|7ZI9G$%D~wLSb>Gfw`v0V&N%>U-&z`X4#_HE9sjf^_(y#>B~Q zxcNQPFR%saBdC9K?_qBJEg6#4g7i4=6QNl~=Y#QVM;8HkFmg-PvJ15T#-BPV1?0CA z%X@8E&GF5hLjCN4@lUoP6g+MFNu8 z>X(Bz>vQxIv7jX}JvL6+?vCgAjL}(&cyMt*z3TUy)A?oWEHkzwBbSuK-R(}}rN&nB zw3Z}naqH&S>|~&s-io}Iq~muxnwwT~>pM>A)QY6PYB{BK>)RNA<5rcj6)9;EpEG4Q zjrSQZs6$$j(cS7_*_g%6-&{>%D-vgSx7qE1l+V=EX0;;X#TWA@&!G0e=&37eMeMWn z?cU0{^0SGcH7RMEy!K`q*WOaSS8F1bG)yqpqO|dhM|^7%*KbA#$K`bX8(q7lwI=N| zqZPxVX}ruh(lf6$Y38uBb000YzN5P{?xgAu8&5|Y>HIKe^$@xfiB|Mv?r_dN*YgT= zCn3|9I33q=<29~VqC2_ySN^yCim5&rbMGv7GEZtqsdqE&H442;J%bEy;$DBJnrc3`j;BhcoXy2#j_2} z;`C+{uOy2oz3I~C2Ih%DO-}lJ+l|r#@**3U4>D(-e5p}U+Ws&7X2L=}&41yF+10H4PE_uZ(3R4&uC8!3i;l-N?E1Sa zrQ7ERxSE$8`myG)x1}b~=kmL_nu}L2-`25(n)2hXmDe|)>-^{3QAayby4m%!_07ez zQ=abslg68v#n*qTZ?0y3p1U!x7o|Jhm{s4rx4wF$wm*%>FlTP`uWxQWIbi(d6ZR0+ufa2?2Q;H}+D&sk^TTFcXB-dkpmeueE9#m1w9HRi zI*gMi|5iXfvuhpMrDyeeQhx01F7?beyS-Vyz@2L^?{=Mf=AzfFpOpXLMfu@(Zqzle z>GY^Z!E8?dc6WcOYu-J0{nKj^oPJi{omJO7z|UpW%UG^G_j~>8n(Nj-Q1w{CbE=O$ z_gd67AIp4vBQ%>UufPA)#oXsR<&)_eF|9xQzS+gBKho})y5g=*8(b@nU&xv-YrluCO6D{}L~4u5I4oKELz3o^PqVOY=x= z^NjhDfu~n+@y+>{Z`3lkoZeaLdiFKtcet{-mbqYm!i+f!Iezo2q?Wm7tMTDAbol)O z9vI}`a5m5HaO232tNK&AEPs}>Sy)T3RlS*`3$L|sHgDeWgSgKkE`QE-b4~Mrz~krh zs&Mk}y%A8;++e35x8`t9T7FGIc@1-&ZwushN!W@4mQ|8_)f>H&-|7OAiFRJHd_D;ya|exuGc8Kg91Y?a$D= zH=NAJ?r*&jRmP1^n|rgI%=1q6&R84I^{?n&3n%lX^Se$o+1ZrVzyCgFYkWboE+Nhe zN-GOzRWo~UJUMBkTX#yoDQr>AyngVyYtDzb@)-}zRn2xkcdeQ=iIYG2uYjuN`(w7e zxVM{YufxOgD&{q^HcoCwxb;`?aB~&&#B=pt-#EvWU-gJoF{_)b9QfmQ&YtKW-*7bN zFW>B5rwWZ{Gmjq6ax~ZOv+A1txwe${e?lD1vvaBSFP%l4ee-`r-e(R-+v8N*%*p5bc-FhjYwTdpg14MLJfE1$GW(w0GePagt?xTe zNLi+9gH0XV{%lX{JN0zd+surRuP^=K$IYL#BJ-O}zx7*BoLa}NkA!FCuQOv47dYq( zx%P)XC$BTziogCk>c@-p*5V~^&)x99Xz@WT8ebL!pnF=x~IQF)SHmX~BsoB#S;rv>zR3&Xx5 zC7C_vw>FZxoO}hZW))}dn9*tSbVTMxpr z@>`i-Hr}&Qe3I+msj^u&GtX>q)cyNS-2RsGru;_crNHgl+BdlUBIRv)e&+9Q>vq>p zuR-fGmX%-5jJr|4??PiWO6%X1U(8(pqw3DKEN=c6y(_j*I+;}kW%YV;&KDXOM-+`PxGQKZAnR%%6*1Vg+oIV8QCgpXIljGss6&N@z>3<+MdOHHRX#JP1} zfWN~?*wZI-eh@pi_{3@5rXnH>61l~Dtz_#gdL1@&UlFMhl;6Aaj&Dq-#n4sdhUYw(d{BKaN4hJ8>#i|7Z=|DH1=%~nRd9}@y8n`m}S_~155>-zWwo=uFuFO`Ll1#T~?b0EZ=@=-SB6m`u9%` zj@Qp&rwy3FW<)e<^hlg-`fJ%zp;&$V`0X^Q(j^5KYW&&ZvSUemls zEN6559TN%;JtNg#c9zW_wBGdH!4T1c+-HOh-pWMSZDN~UE^FoU_!(JpV4D598!Js0 zmyTYjsrsBGCG?&hcXAoKCV$4tUM-%J$J>*VW_~+|RgR8}n5ukEqN|+TKQnzjOLpw( ze`dgQl3G%d>33u?du{qHL-z^K$>j(7^^(JL*x6%V+`N(SoXn_2ma4tKG2Oi0;>E^I z&xv2XAATyVH=j+sd?jaA#&fc*iSlB84G&XIhdVpwoqtYpJ+Aupv`=IQchPdjtSHaBEUINOneOPe{C@Icw!C5R9w)Y#Y#%01 zXxVl(`)u>7fL{j}lXgA&`9JYrV*34CwPNSQV))Zt&3~!an8xN+3IB0vF)=x=XP14w z$@FUTUFp@G#pKqDpo{W5ai+Uz^^bKrR!okyAE_uU-(+eft>?YtdNDb)siD7(Be_1wP`+=Ux-S`x+wv-ubrH2>a-{* z(5YVuIct3CICX;;JA`TW*kgPNnY1|gT%V+5Hitd3Z|nRLQZzbo|F$DB?DY$miaKm7 zA%io|6_5UXJ=?Z}{Ld@q5^}5Sqo3Axo59w)_HO;2{1PIGA8)$)XdSz=)5kfuQYr?o~%9`I&abn)13Yr2Y)4fL3Xjbn`KTln(C|?c{+8#3-Zm~ z$4`?(mYJ@!-6!uE3I6J4b{!9`XWyM%n_F+$3v$2NHzRI-J%?@Y>vgT#_u%*JQN>%l zhCR?@*y1+7y&zlXhtB?@56gPB{GmbQ{TF29J)`jTjty+}{7DCIR(VN!ULU-n>#fzM zd4B5jneH#in!Wm&N9L|J365n;dvtqA#EUk@v0h6}U$*j_qa6K`NSY2?P<{UfQ_Q#C zxqh=>l3?8{&mWb6>>rw0V>hL|B!0nr>PxR}FqyB^jH{RRk~r5aA2)bWw5dxI1H0$O zOY+@9Hbk8{!IY3R;Ps61m*i#b`Cryy7n))N9u>y5ctzGvT{ypI#B5XS?CoCPkXJ&Gs>d~$IqQSX~xd^Bl2do`s)*Sot)Nt-_N2S0nThF$8puc7#CDf#a91M#RoqfGM2 z4c7notdxYUy}h-5_B{4P`O2CjTwjycUk>d&<>E%u-CzGmS14YSLo@fyJ{d61RA=C+ z-#v%FCaR+CYo_;^Wb)~Eee;|duSw3lFQ$)h+i3cw+UclgDX)q6-kFt$V^*3Hi?+>K zdHglWd_FO~$Moqe&fJa16uu@A-uL29yT`MJyCbKKb$&y{e>NT2YuIX&q*L!l8-#Dj z_wxK1{=zlv$S-w!9Q@vpn;y%qMs(R|8v3)a{-!B!$cZt(o}T&p2G;y;ir<7yZ;0sK ztJ=T4No1!MUocNN_J-ty-9If|wZinnh2iTr7rr60vqwt**s_)#yMI~xYPH`I_d7=K z7uPqK-Zto;u~qVxRJ)WQ9AzABQV+YkEPB{may$H&LpLTSn|h9V`+U-@w?w_mcV_>g zai-o?w+Pd>za^d9`_{ftw#jt6e0rcP6Hv~$?%%`c5O`ur`4PM$zczuRO= z9yssXhQ?*&nwQTagUf7oYEF5;_xdtY4cc*Ia zNb=Mv-4v!|)AL2OoECI>M<&nPIB}ZSM$>}SxA|^E-;t_{5tr;A&tcci{jK3`<2zD# z+E~7^oP28i&rO`+71tT^2M9?Bz=GC{F0L! z*|on+P<-`eIq9~%mU;V@)vUgI#E3~g$Zyi)tnw^g@7beKa3! zhhDbz*_Nd|CHjzIQy(pJ3Un@@h)<_^J|!D1=gaHBsZu-6-XCS8Wt)O_=hLiZkX%7F z+cK0Fg}Qxh>Y;rN1|18qm5=88R9|h&()!YnFV&_#D%W1nCO(bwX+C<{>Wr4LZG-Y1 z0X_iQhOK_AJUwnI>&KR7?JLzAt?Lfj*7yC`K36~JU_c()C;_@A8s4V#?Qv@i*eDwi1^7Gaob<#Adw|vlr0PA|Cc|N5#+j6vQKJxhvaB#^P=-?6tomtDX{T*CVke&x@O*10z zr{sHtva~L%-dL2QwDs~txpuJYR+?fH(iZY#L}^;K4E3ZS{Zn$AP^YbYv<$sy-d!k1 z+xS#D+HU23bX;MPg^r)?*quUOsXl1E^s?nq9a&N>|5IJiemnDZRnDJ?x`O{kCLymc zT88Sg1bI^cRy|uWgrfY1|PKTi@Lmd-BS8fI-q%y!TXdAGNR64z^BIB+BRJa zuE?_&^&|i)&s%Fg+IA|PLy+}TYr`r(%}4v~$jeP>nqLW;&WlgUX**Xae_f@ylWRkR z%~0Lj>Y1j|xkcxZb^K|X?HJSXr)l(}^10d2v`v!@P4m#Pr{hfT=|%ITKtHx?hGX#m zm7;wC_|sADQ|l-ZvgM;6*70;iURtyWcHvX{9E!GSouASdZO7U+E!z%xsa>RLe>Z-V zN86(H(tCQ*x`R>Ir^Y=SdAUsZ&sLAw=ttZthN-t259`-}d7NSPO|fUXOtoix04Bg= zK<8=pOgLa4pa8&3w`T+Z1Kv08c;=U?yNYzzw1~7#)o6@b3a~pTOgvgYeJ|;D8tB6Tp7Jb3ik^ zDD+3b&w%}ag8+BD>a-&u36KmZTfi{y0HH~EM=ij7lwq!*|M`G&fZeZ{H_%!x+S`Oi zSHW3~!y9J4>VO9Y>*@Q1;X`ePKiUfO4P{e7pG3J(d)yDPXR<;241*rAXtDyJ3*cz< zeK~N8*+>U};2_UI=TgmIr-v=?wLQ_(bCCam%V0B}YX5GL!3O`qgZzEE1q`CE_VFKL z2pt#VX$X(>=V*H8Ylw;U9~~OuKhO|n2#PUSINqV7ql2QSbdCxhjjFh-87igV2+9q( zXE$GO27N04-8t3}AL|}WUtP--AT28d$1T2{rh;WX`dg|uE=8>f&){eMfly|^~=E9T?M7F0;{;mY1Y8rKI- z7N4QCjYk#p4W${2DyDJul~hRcSlzxcG6cuQ6WXCx*Md_H|rWLRuC9T0jB+6%+Qr%#KXv18nO zd2li%S4bPq$&_N7=4;89S|QDnFAZshm@}O@f!yQK1YYatz)&OD*!BP_=jfQ|G44X{4NNIW z)6>3K(m2^^R@W9Fsltqm8xYLp09jVjV$K@H2sF87wJ=8TR=y1$>!8U|LTx zFm3BSFou_@KGpKg8dqSt_qPD1b>sGLFPe{DG+%Y#g`bgu=A-*X6zZk-vw*1_3xKH{ zD}bpSYk{FAW-~CYe-`UT z1NppE?)ZPmn}WPlmNc6(yHJM8WU5q_rqR4WA27YA7v)jNK^dxRtIxVmY|#gm#c_nC zURPj{AFlsMz3ouOw%+5CkM;WV^@jZ$^&0syR(T&{x1eJ}$96AYZ~ouZ>oeV=yP?3e z5A?EPswX-ZXum1YxkGtHs7nuQy^8x=+M|4T|B8CC=CSH05$({lb$oj%z}EQ__%~%~ zKdiD?^Dh0Hyw-M@8J2qKJkLO0nx0pwj5V(idBLu5S=*y|DA4{>{0MdEfvuNx@JC$> zMq1kO0=Dugwzd<6c4)ovz%-3sR%~srvabD6m!8XM`S1FWkGf8*)Q&ZqwY_w{Um1LR zS-@0(w2f?D*8EC!SanV7qB2?Qq?p!Ap{SBf-w*$&1NTuD9e4xNGS*sTRt(v;ojOiS;blF~D+O@DIV+0YG^)wns6Fa(Z;e{eq~9&6?{1z;^p z<9L=|)^8Y5Uwce0fAM-i| zeqILn*qn@0`TFVHl>S2*l}-I2|ByG?CU4Sb@><8)c0N5yVqD$;sQ#?{%JXUA5euIH z_X1e+rSfBLrPrG+`SLOumsTRHpfXIusXXhtjFwx4goE9d#v`J9Wo=~xs1TjwN$Gcm2hDkGiGZx2_j*S1}n z*X`8j`GbF}$hTc*w@))JuK=_jtK7DHnx2{cdH&^hpXX1g#Lu=Fw;vfhe9Mo1IsIe% zwtA!K*UK$qN7oY7i*-#=-Ia~5I6gE#y==#+a(~7-Rcx;^-?#sZ?7B#5IuUvn;+voW~O+L>* z*!1)K?JYjfPjB^kevQ_j=XdJ*d43(Qiu}ss)2R37`Jz6b=g;|v@|P;{E9>9j^ZEMs z^#44+q!Pb!{pPV1%U9+PN%%Z}^2&<*%K8gjT9KboX@1Y#P?2A`eXsQu`IYBy&5afL zmCNs}#IL+Q>hG*rzHnZbJnOy}&--rlxku%CjA)OhS@XI=MoL@HUAD3b z;1^QgDHeHBQ0Gu!tDi>8SnKfS+oSPjnr>T15${{l*u5=}%ALc@E%+2qV3E^W*VqXT z+@A9l%2CKb%qMs};yy?((!ifb^rQe0oIpM5RUp>x0pGPN{EKc#2Sj(o=M( z2awYn_ef`YfQNEM+$Z8bP>D3OGa2&E1uO=v0c-($2lyFq2yhZ`4saFl2v82F73RP+ z00;n`05X6c&<`*KFbZG*%mgF=mH^fQwgGklvH({AX90Hr&jHmD`)Um60?+^k0Y(ER z0py2q+GB`XF-;f&)0k<-G+-Ly>ql)c zN;R2UOf^I?>o8w1Rhb%0ZRSg+Eh2KxOm(I;!^M)V5o7u`cD&2nCo(i5wqIO0y~iuh z8TwZCZb302T_fX}frg-9E)pG!m&Hc}`vyfDxSQdI=t$he@(HoNA%?z)VB<5Ep%KAc zBg`1YsG~XlI74i&h*(2(L{OOJUG6psgALI!^iA$af><_`Pf&CaO+_QIcnLpu%e{`j zA4EjDwPu?l7D4@DL-B>km_e3EUuX=MF*JsgI1(KTqw(@sv^i*UXzZAf?vo67yL?no zT#Nzl&yR@<$7cc&ULO-{=>>g-ez(Z*@Suob?sfV;kw!jigl$q;KQ*iH)Xd zHg!|7M{oof;*Yo7U1)SnELVt9J)?srg~m?t7&8VNv;zZ+tCJ2LXNa>2SphSv`ewHT5bwh z3E$|TF%xK);vzndCKs>8l;p0&C|KA;dnOR^TI=;4(h?Bw{?tX|y77R8fJ8tF;733f z;0)jj;2xk1;DmbI0BrzrfEQpCAOc_nu#+5^jsO8*Kj`y-B7oyWlmkcsUV!0%2*5(X zCcs|68NeMt8NfB#fe{0G1BL^}1B`$*fE|Dgz;Qqh;1=KwphgVJ0CWIvz;Hk?U=m?-3F&@FeST%^UpR(%_ zZ7}fpna!v*D7Z%`jkWizIwU$Y*1!?YRfhzH#`cJe9)vX=X6Qe9JXRXBtI8llY+Mvw zXUuF`vo}7f(LFjkG8)h5m~N2MQrv@iW(O|KhvglMy1#)`Ff%lT&;JW8-+z)JIxHwE z$`DLD7Z%H0;A`PlJ9<-xwn$6)hK3s=<6>i&+SU}l=04pA_UrB~5nH}lQN?j`OcXu_ z5yO@H`Ep%^$m&|#O*w2^Q}d@^s_L&Q=$ye@b&Y-ap|zwfmNHrJ@o z2+J;dzKU;Hj7J#i!&7T|kHHum6c%S-E>a4WTBr+@qKlJxY`dnr$3uE&JIm^_uKsCu z-Qz>Cn{%dt`OS7sqitK>y2`VPt8Xe--a2`|{+Nf(jDA7kRAb=|m<&-C!6$O}oN&y3 zyB;6kP;4-71etJ3b8{YZ zfmvzS0|RgQhRs^;z6agxDWB6#8kg1&kKbw15N4lM68h}lCup33IZNk~M>ii>X3)`j*E?oi={F(wn?RqAKs=-Q)tOSSn^mY1L&-# zG`|dy#3XaO0$&+qi{(atpusX1ZrND+A@}A4?m6yKmWH zK32@_bpQ9?|0WGs&zk?P%>C}^5BJc9gKWtZ6m)w94`d@LbF$ zdxcv&K?U+ZOxUAbWjX#Mg=x7@d*c6EdT6@6%kX`c=le7sPk;YHuRF8xyR`NH472#F z5cz$P|L-6X{LZMC0==mI{LwCL-`YnjrhMCbN?WgtIhI()e-&-5hstNY&)WmJ_S(A$ zkN@j)U2C3FI!Z@#xykvwM%8UcGwv@$TENzt4bygM9r44;eaa z`2Vz||Gn+~?KI%$``=Cj!GEt@|HHNaFP{!}_KuusPIW*$bIz1GEqV3rxM8{3vfYAb zZ!RdKclwz|4yPgik!@GD2`ub?`G59%OOl?)`~HLZJ^1|lk^k)0J6oGDcefU99r5?| z&)mY57*GW-y16pyihv2YGX9GAU-MtcyI$~`VMH^nlKo4T|5XWg|8Ut?x*Yh++DZDH zh3+ptgM6(?{}%S~{7;r=1~LD+8vZS@KNRv|JpX@fU$Dr*B@mDT5G;21@H-8wfN|@r zcNV;GmF2gQmG}ROx&HT4*8Vx8zqB`@dQU&%j&BS{2gF7rQVZIW-zr9h_N?VBpSm3#H})S&+sbM! z%YRP!A4*o7Ki0Biar*z~Rx6gJk-#yNV!7`!TRT-zE4K+k2!?)Wz_w3xWgKfnNS7~!%>gofMJ=i0i}a#`Rb6~6~7a(`_PUja>p=Zxb~wUM=0v!{v51Q z`2~iT{YsY99!qP$Z!!=q`dG(c)PbkWHf2SK_6T{Pe_*5L+N6DoA&M+Hk2SEaw zVqm;c%V?Ag1{KD&)f>NtutT~5+M#)9kE766sg*E9is`Opo&l@KsuNFv5R zdRhA3pD#-_PHVL4oKhC;eNG;W-hEI3}} z`kV}pvb1gee0y|KwiRHriwF)1i;OU6+fFgWv?aP)HQ1n-7(@8zuqgsm5D}wo8y6j+ zju{hT2oH+s6dpPzIx;45Y;317k>To~nDEY%L~R9lpcpz9f2_#=Hp9{ysuBp;*yy+z z{2F9zBwt&rf2d8;iYtebF@`a5cyKs{r;!qEm>7pv48cCpp_AYWj5EZ1VA`^~$D=5H z(&%lNWC#<4(f_q=gJOC`Op2Ufh;A#03#Grnh(X`R28G2K+6uaSsE6(H_pPv9D#*lk z`OrBOXS-PS27*qy|GPe~0T=ok1I%+_Eny>JTVY3`T<9$f6b1_;gwuudg^9vsVVZES zFiUt^_)K_7^jg$K>?@ui{#txkd`x^pTrPH#5Xn%+RY|HwYPq_bx{*eu(QAIysMtR2H>{&J zPx}SwNfwa}1m=S&fo!aBjW9*HU3f%zTli8~OQaI@68$0?C*C36BR(L`5&tQ^DsCca zFXXj$b4lnvN^Iu z*=E^x*&bQ8?5^ystfstyyro<%_mKz6$II8rljSM$RC$_wmpom*SDqnnq?n^vq+X?d zq84igY9?vsY4&IeHBU4zG&R|}Y$Mi>4Q9u)vFu_tk*%-Yp*^iF);jB2>BKr#H(D31 zOVB0i_UnGtJ=b+25~3zPWH9k3-;i&~PvjsuOa3Hub16lihYF_&i-dDUJ4G)=RmJY& zPGWEI0PzTMn0SSFzqqQTp+qXtO8g~3k_nROl5LV-C1RPEY^rRTY=i6vS)R-wpCtc9 zULt=jpQl)(5GYm3o=P9(LFMnt`^qQE7fL5pJ=H2znyMAXfT(+`N2mkU6V(gUd(@d~ zCrwk$mzu4b{Tj38H_Zi2S9T~nmYvAPvoqKQ>^gQM`yKledx$;3o@4Xb`>dU|rq)wC zT02p@Lc3M_o%W>mtoF9HL|dkH(Y4gI*J*YAbc1!{b@96CIwN$jP`6U|gYJ;-D{_Dw zA$jC3!5dEX=rs0P2Vp&7OQEOG3$xHi=qn5oP8QAB?owOUkE8qiUtp zu8(e@Zj3Gl{a&P7r`x7GuY0O{p(A7{nMM-GVseq(AP;E&eeiossGzB^lW>P{pO6t% z6}1qx5p@)aL`1Y-v__gLttx9E+b{c7HcEa^UMhD|&R2e|Jcqs%DPJkyDeYA*szs`M zs^==Xx`%p~`h+@9oyxY=inT+uqqH-$bF@j?E!rQoChc|YL+x{IskWZ3v97gFi1F#E z^T+%Q)5Ym#>NY{jZ*}{0M|JmgHHnO9NOv-XM3OkN1mkrSbMysussizP0*sfV&`l_W z&FF`*8ZI0ItC1qiz)H==nB5bW2;Xo$aTe7RH5Lg(*#AT_5i9B@>LVH?8X+1diW0?% zritc>R){u>eiE5Qr$kRgWg>gAleo6nRoq0}Qru45MJyL<#h&6m;z3veW5f~S81WSG zT=6n-ig>$ND#??SO4>{PrE{b!rD<60d!@ffv!o}a+0vWRm(q7q2k5PZY=JCEW|Eze zHIpxv@0TBw-;qC%+bgOmTor>AqZBI@8x-Fvjw|vNL^(j|qUx&}r`oCdL3KoxtGceb zuUe|Us+Pb~b=CCI_-cl00yS}(*_s8KWmq5in!B1JO{vD7t;IHEo3bosgEu>n9l-{% zp=<;@2dm}~`x{ovCH5NokbMR#*F<|yTdu7R{fn?Vmg+X>Qgyp^Cv|qD2B}LLk!GYl z@g}}x7zrarGLNhyKa)e`cZ=?$EIxH@VMAdXp@(oJEcII9e(0Qmj<>=ln#3-WCX$}8 z4^t!?B*!HeBr>U5s+SIimL_2)?Uw!~wUgC?9qb_+2RpbzwnO$@RxWdc#XBfJA-^H_ zP@KhDX{J1{tgre;m7*$9`Dwn>q-$a!J9X%3*v$i@Jy_I894wwCZY+H))5{0R=g7a2 z{~$NZ&&r?3XDF5^)+tgH`xWOEPZXt!az#C5fO3j5U74$FuM(*gsvfE_s%feLBVOl8bwa$4iaa1sciT%I7K$D9nm;it7qS8K_*T z{8L$|3{>gVN$Q>IU)2}Xv)K&R%pPY?q2(O5jdp@IN*k+<*G|Xpo|zP!$ALWQaRdu> zA-$J)NxUUK5?}0p{*pjRup~qhCW(^7O5$OYjgkb(LdjA|q9jSOPLeE1k)&d0+9gSs z?3H9lOp+|gS;qR57bL~Na7^3CErN5NH0j=O6$m4 z%DiQRWs_t^*-}}W>;Trm5m~5s=bo27H$*n6n-!KN%*s{w`i7Ru4I8^3H*rF zlC_w%{iTECL*ygm0rD~Oaqm}t8&*$v`i6aewYcOXxNR_qP3z8upTbrQL@Rh zNAem9i9)RQP!CsoVUG^bBx0DsmDxgmqGg z_2ORQ;qZ!V}C#d5`ZMXKVMqPcRlQmOh* z^;+c!A1F*cU7e$DplPgWsp+KYsWEE4)}(0CG(T$&YK}v%d777+I;<^fK6Wwi@slXTz5ft zU8f>_;dR_1WrV>m0EFnLop8CZL_AVr!0cTwIU*S={Zo1kGq5hK!z0B>)qZsp>rZXI zzz%0wyx?9qN%Xbou&AH-h`6>i9zK+lTp+(J&sS8_)YW`}eR8*k?)+)G!@9rV>y*;D zAhhG&MNulLJ*(@2UMX6EsyhyLy|gs%@-who$HRKV*?MQTvPb6l{ev zEJc6aaNSt=U29=ouj=mV+LDe$j{P^3#KQYveC)XSSXJ0U=#IU2ohV1-D6S)JjD1Ha zR*Jhw7E8XDD5O2Gf4Ha{s@th0>O^&xdWME!37fzsvEe%UVhs9YiezD~P%Ki5)`)tG zSBZOKoq52M90i-WNWMb87B;a!epmh%R#Oc{9qc>q3YkK!Ad3EqK!rguUNIH+GEwoh zVmmD6Aw`xVM{!eePw`OkR^hCyt8A!jqf{tar3dz>(aLekFeUY5Rw>siO|YjmRCQJE zDwS%4%AiV6Er-ocS7l@8dZc=$da0_f?xfbJ_3G~G(dzl?1Mqa-s;g*RH3E1z!!?iGB?LqAo?IZXPHFRI; zw&-^1&gk-V<+|#eUPqE~1V7{B-Z#@w))La5(Trnd+Qr)K+T+^ZgfZIT+>ZD6h+;)| z;MwmQ z;c3;wcnh>`wH{g@?QpDsiQ3uPKedJ0S~{7INwlM;k(mwqa!2@H=pq^*+9=u~`c9NC z+KZDzCcKQRq6eaKoMndLB-2dN8y5Rli2?0KN#mr+veoiy@&*{45Jg>OD`k6SSLi%i zxm9^Z`5eAMV^s^)Ow~NqQq^kgj8wmGRgAj2x{am_)^40;8$1CgoCn&o3RcJV#C{gW zF2hXuo;|{zVK1;Z*+$yl+5l}R^jM_T=z7CDT&H`j>qw^H3;@AXEIMj0d?J*JCW%r+ z$3&Mz!(d(ZiBF2piHpUqueVNFe#1FzI$&>}H@aLu?k0#eVUtWSn%GbiMQvcAfjO zDss8pQ{G>`QvOUXR(L38VP0N@M=(jbT$!b`Q+cTJ(Cha&y#;C}!&YTzu4&%FMs;CT zu>ULBtE@yj9;@)WcC{`=_qz_KIqX+ISX;~pOs=;o!03MB>B2uvr{^5DWQ^hNsr`jrYN?+*W zYj_d)%Dc)ss#dCws_vK*>s6;PW2>s0!b*)&|ENByR%qsE{MlpdW40M~9TU8mVr?9> zvIiFVqOMT)M&}G4Mo7BC-y2Kf$v)cGB0Hud&Z-b~W(c?2d=C$HCtC*ZuD8}#n+EUnwblctf?YVTG{rdlN@c=dmbU|% zC+Y={Z$A9*bnzJV1a-1{o4Stf8D?+?BBJ>aSf%mfrQ$w{0JL@zo?9Dk53tDDOZ-T@ zQj!ASq=l@zOd=m9|5lzQ&zIj+K2(0C5@7~;u)VO;MY5CON!-PWs*1L*R)o{#TG*c7 zu+HyjSK%a8qN_z#k{viZXW$%_Pi~SzQcBy`+jIVDRYWwp2xah)1BGLSyM@09SBhFo zFUfDo3o)y|g6-|0@WUEkpvY8QMwFtXQif6Oshp`yfsbRa3Rf*al;XImP*sfe?TT4s zRI4-|nqJ(gaI$6=PJ@p%cJTTeLuMmR#e3MZ>y8FgS=1b~JJ4to0K`GLE(!sJVvUHqbZ^`PycfA4c z*-N=Y^*wy$t2np5P|eq2R08d}b7P=TAZjNXCK@dY7p1|%<%+I}3PnYt+BicA#VT=E zjMg*pSBTZjm#mU}hX~0{iJde^>MUy}>nrn!{tk$p$-Z;^m0N` zOW9bNq&%T4RjyQRN87*RjM-k@ojVgRfbf5@uh?o@SM7UkH(e0Uj^FF@vC9_Wbnk%` z97raR7>v?JoL@|I7DZXc#zhz_{84yRSY6aW)Cp(8U{QkTnP`*vC&ZNQi+f1=!HZsp z{a_btTvOPkLx|w$;E$|?Hzkz6lh;+WSBMk?VU>P|WQ?ko>Vm49Iv8G*oyJ?U1gEkR zjVrA06zpRqSScg4>){u<>ZH0*oV70NUh3*&#RZVn!9$w@G9aCe<9}NAgT#D1vpbkMLLm}XrRbnG*(3a7Ap<={!-C8Q8KJ_Dm1@~+ha0B zChRfU@Fj9ZdD!O)MUO;`*b%2%XPj!?#7)Hl#B|z;S$K|~VlTvYd=OO|D)tu#;xrY4 zC{L6)Rva&$E;fo2#0$ks#fjo1@j7ubPQ0n&H1RI1yuIQKob$58$Hk|_*@%MWiu1(z z;sWsn4bycNC*e?_n& zOcAS?u1HWURV2Yuq$+kP_9{%Uv)PJVoW<`b9>J2ADIAr~N>^o5rMt4DQVJi)Q|S%s z>#q!k7ZeLWC_%Xtb2M3*s@$dA3xDXiG8;ZozVeRpk+MWdUsTo+Bh!+_}3q^?-#}tfVx+p`Gh4IV5*cEWAs1&2;BzD2b33$Iyk5Ti% zhy`M_qA*fMj8Y;-CLwLP+ew8|CC>6*QXlD1X`nO& zK1)2#xC`M4tb^T1lcr1a)dlK1>O5Tmtj{B?#S-}7Wjcm95@+HB}}JpPa<7&3)Hs#wT19g-zL zwxy6R3GyXF!c@q(3sUZtW=Ktl)Et+dLaZi-+tKex3#E^wMbZ-NbYbT2>u54G3bI3 zItrbH&O#TVE23RZg#w%u+96Ud6iS6gVS;d>aH;S(qA$6^eE6G>5cMh(I*Obz+nS2p z5y6up;^isw7Wu+z1dGDp`A&zmTPjL|)kqaB#L7;=iq61F&cO;U#L8v373+?f!eShJ zF-yWQM-nhYk}*H_Vs>O>Zrs7lD3drzT`?;X#==S_z(OX$I;KL8dtnui!y@KFmv>+ZOJD^Z zp-)#>KzCR_DRkXZ0lLHWmBLUc_dOL%+F_d}#QQqy##4lsZGp zO{MP8vlMgQ6Z72{x(>!XkHs8MfWDJ3w^K2%_d@5#F`skco!)`oOE8ZeF^65Ddw0xT zDdw#w^zV!L8jQIbi!n&R98HoXV;pwL_F^QC<9S3bA~bg}8YPI(IAULR#fZ4eJ7P>& zc;?=6U&LyHfsUkD2F1N8KR6*#w(4=g~~+yY{T;2&(oSSn)8~AngZ&3>+yHmShLAEv8KVBbyH`< zSE9SbBef$U0dAUhc;+G0C^bGf(FJQ_HSwD1I2kO&*)CnP7g4BFnruz3<`K>bPOKZE z-0p~Td$T@lAf9=J;Dj5?E@hJuwM}RDvL-ecake6OUd~zh!;dx2Ewg6szA3H=>m08x>)YX(NaWm zl61+sy*N9aLfj#r+v6CUU9BDB5JGNW^CiKE@x+sbWGP8TY%c>IXco!E6Q?3Pap7&e z5B`oDdU53Jx{`nH6au@J0E@PcvuPQyXxYLX&c2rjOA$}7_z?nFcO`7Q9@gCp_B{~R zeLCzq^#wEFKjd+KUm555HHGD3IX^Fu^YAR5oyDKq1)D`ZxI)fjv-oS&SNrItdBakr z<4lqVkH!(Zmn(KIckEhHRR~U;NvdR3s%n>NugZkeN;XdBrHCrJtA%PGwLc<@35Zy& z!+7Va^VNmwBDFh4T8d|`UKrs7#BJAc=l3i`86V-fmJ?#7LPT*rF|JW~j+u;j3mwlw z#Nr*b&WN&g#M8c^+7QIXleEbg!*p#1;z4B?ITu|!jGGtEjbYqqrD2S6IS&LeK;i`N z!xcV3GJmkR*}47@q?2i0-|C4%~B4XY9C2p&m~I!-Vk|k5r68 z9>#zXIl>=rhuxKh-szr7wQl<0x8-B+C>6OOf=B)8cz9+RoQGV>d19{ERYSP=d>Z_$ zLhPaK;KPK#Pf3HtD3m(EK6t?_T{~X;`C$ z3MZ^cPi{5(a_fB z$4p9uhp?{F$s!AT4koVzz?;Y73ldOMV+cn!;`=qb(W?8@k#+V wrbet$6Q0|avI4A2Up(VT!^#t2%%&q^n+ private void InitializeComponent() { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); this.uLabel3 = new WinFormControl.ULabel(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.taskDataGrid = new WinFormControl.UDataGridView(); @@ -49,10 +50,7 @@ this.label2 = new System.Windows.Forms.Label(); this.statisticNumberBox = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); - this.logBtn = new ButcherFactory.Controls.ColorButton(); this.msglbl = new System.Windows.Forms.Label(); - this.closeBtn = new ButcherFactory.Controls.ColorButton(); - this.uWeightControl1 = new ButcherFactory.Controls.WeightControl(); this.barPrintCheck = new System.Windows.Forms.CheckBox(); this.uTimerLabel1 = new WinFormControl.UTimerLabel(); this.productBatchSelect = new System.Windows.Forms.ComboBox(); @@ -61,17 +59,27 @@ this.uLabel2 = new WinFormControl.ULabel(); this.netStateWatch1 = new WinFormControl.NetStateWatch(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); - this.goodsSetBtn = new ButcherFactory.Controls.ColorButton(); this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel(); + this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.serialPort1 = new System.IO.Ports.SerialPort(this.components); + this.weightSwitch = new ButcherFactory.Controls.ColorButton(); + this.zeroBtn = new ButcherFactory.Controls.ColorButton(); + this.roundPanel2 = new ButcherFactory.Controls.RoundPanel(this.components); + this.labelStable = new System.Windows.Forms.Label(); + this.labelZero = new System.Windows.Forms.Label(); + this.lblChengZhong = new System.Windows.Forms.Label(); + this.logBtn = new ButcherFactory.Controls.ColorButton(); + this.closeBtn = new ButcherFactory.Controls.ColorButton(); + this.goodsSetBtn = new ButcherFactory.Controls.ColorButton(); this.colorButton2 = new ButcherFactory.Controls.ColorButton(); this.viewTaskBtn = new ButcherFactory.Controls.ColorButton(); this.colorButton1 = new ButcherFactory.Controls.ColorButton(); this.deleteBtn = new ButcherFactory.Controls.ColorButton(); this.rePrintBtn = new ButcherFactory.Controls.ColorButton(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel(); - this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel(); this.groupBox2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.taskDataGrid)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -83,6 +91,7 @@ this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.SuspendLayout(); this.groupBox1.SuspendLayout(); + this.roundPanel2.SuspendLayout(); this.SuspendLayout(); // // uLabel3 @@ -92,7 +101,7 @@ this.uLabel3.Font = new System.Drawing.Font("宋体", 12F); this.uLabel3.Location = new System.Drawing.Point(8, 0); this.uLabel3.Name = "uLabel3"; - this.uLabel3.Size = new System.Drawing.Size(72, 16); + this.uLabel3.Size = new System.Drawing.Size(71, 16); this.uLabel3.TabIndex = 1; this.uLabel3.Text = "生产历史"; // @@ -112,15 +121,15 @@ this.taskDataGrid.AllowUserToDeleteRows = false; this.taskDataGrid.AllowUserToResizeColumns = false; this.taskDataGrid.AllowUserToResizeRows = false; - dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); - this.taskDataGrid.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); + this.taskDataGrid.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this.taskDataGrid.BackgroundColor = System.Drawing.Color.White; this.taskDataGrid.BorderStyle = System.Windows.Forms.BorderStyle.None; - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 12F); - dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White; - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.taskDataGrid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 12F); + dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.taskDataGrid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.taskDataGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.taskDataGrid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.T_Item, @@ -133,9 +142,9 @@ this.taskDataGrid.Name = "taskDataGrid"; this.taskDataGrid.ReadOnly = true; this.taskDataGrid.RowHeadersVisible = false; - dataGridViewCellStyle12.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle12.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(163)))), ((int)(((byte)(218))))); - this.taskDataGrid.RowsDefaultCellStyle = dataGridViewCellStyle12; + dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(163)))), ((int)(((byte)(218))))); + this.taskDataGrid.RowsDefaultCellStyle = dataGridViewCellStyle6; this.taskDataGrid.RowTemplate.Height = 23; this.taskDataGrid.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.taskDataGrid.Size = new System.Drawing.Size(442, 96); @@ -152,8 +161,8 @@ // this.T_Need.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.T_Need.DataPropertyName = "Need"; - dataGridViewCellStyle9.Format = "#0.######"; - this.T_Need.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle3.Format = "#0.######"; + this.T_Need.DefaultCellStyle = dataGridViewCellStyle3; this.T_Need.HeaderText = "订货"; this.T_Need.Name = "T_Need"; this.T_Need.ReadOnly = true; @@ -162,8 +171,8 @@ // this.T_Done.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.T_Done.DataPropertyName = "Done"; - dataGridViewCellStyle10.Format = "#0.######"; - this.T_Done.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle4.Format = "#0.######"; + this.T_Done.DefaultCellStyle = dataGridViewCellStyle4; this.T_Done.HeaderText = "完工"; this.T_Done.Name = "T_Done"; this.T_Done.ReadOnly = true; @@ -172,8 +181,8 @@ // this.T_Last.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.T_Last.DataPropertyName = "Last"; - dataGridViewCellStyle11.Format = "#0.######"; - this.T_Last.DefaultCellStyle = dataGridViewCellStyle11; + dataGridViewCellStyle5.Format = "#0.######"; + this.T_Last.DefaultCellStyle = dataGridViewCellStyle5; this.T_Last.HeaderText = "剩余"; this.T_Last.Name = "T_Last"; this.T_Last.ReadOnly = true; @@ -186,7 +195,7 @@ this.GoodsLabel.ForeColor = System.Drawing.Color.Blue; this.GoodsLabel.Location = new System.Drawing.Point(144, 178); this.GoodsLabel.Name = "GoodsLabel"; - this.GoodsLabel.Size = new System.Drawing.Size(72, 16); + this.GoodsLabel.Size = new System.Drawing.Size(71, 16); this.GoodsLabel.TabIndex = 1; this.GoodsLabel.Text = "存货名称"; // @@ -202,6 +211,9 @@ // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.weightSwitch); + this.splitContainer1.Panel1.Controls.Add(this.zeroBtn); + this.splitContainer1.Panel1.Controls.Add(this.roundPanel2); this.splitContainer1.Panel1.Controls.Add(this.butcherDateBox); this.splitContainer1.Panel1.Controls.Add(this.label3); this.splitContainer1.Panel1.Controls.Add(this.numberInput); @@ -211,7 +223,6 @@ this.splitContainer1.Panel1.Controls.Add(this.logBtn); this.splitContainer1.Panel1.Controls.Add(this.msglbl); this.splitContainer1.Panel1.Controls.Add(this.closeBtn); - this.splitContainer1.Panel1.Controls.Add(this.uWeightControl1); this.splitContainer1.Panel1.Controls.Add(this.barPrintCheck); this.splitContainer1.Panel1.Controls.Add(this.uTimerLabel1); this.splitContainer1.Panel1.Controls.Add(this.productBatchSelect); @@ -288,21 +299,6 @@ this.label1.TabIndex = 26; this.label1.Text = "统计数量:"; // - // logBtn - // - this.logBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.logBtn.BackColor = System.Drawing.Color.CadetBlue; - this.logBtn.Font = new System.Drawing.Font("宋体", 15F); - this.logBtn.ForeColor = System.Drawing.Color.White; - this.logBtn.Location = new System.Drawing.Point(680, 4); - this.logBtn.Name = "logBtn"; - this.logBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); - this.logBtn.Size = new System.Drawing.Size(101, 41); - this.logBtn.TabIndex = 25; - this.logBtn.Text = "日志"; - this.logBtn.UseVisualStyleBackColor = false; - this.logBtn.Click += new System.EventHandler(this.logBtn_Click); - // // msglbl // this.msglbl.AutoSize = true; @@ -313,30 +309,6 @@ this.msglbl.TabIndex = 24; this.msglbl.Text = "正在获取基础信息"; // - // closeBtn - // - this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.closeBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(25))))); - this.closeBtn.Font = new System.Drawing.Font("宋体", 15F); - this.closeBtn.ForeColor = System.Drawing.Color.White; - this.closeBtn.Location = new System.Drawing.Point(1109, 7); - this.closeBtn.Name = "closeBtn"; - this.closeBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); - this.closeBtn.Size = new System.Drawing.Size(111, 41); - this.closeBtn.TabIndex = 18; - this.closeBtn.Text = "关闭"; - this.closeBtn.UseVisualStyleBackColor = false; - this.closeBtn.Click += new System.EventHandler(this.closeBtn_Click); - // - // uWeightControl1 - // - this.uWeightControl1.BackColor = System.Drawing.Color.Transparent; - this.uWeightControl1.Location = new System.Drawing.Point(12, 7); - this.uWeightControl1.Name = "uWeightControl1"; - this.uWeightControl1.Size = new System.Drawing.Size(262, 74); - this.uWeightControl1.TabIndex = 17; - this.uWeightControl1.WeightFalg = null; - // // barPrintCheck // this.barPrintCheck.AutoSize = true; @@ -357,7 +329,7 @@ this.uTimerLabel1.Format = "M月d日 H:mm:ss"; this.uTimerLabel1.Location = new System.Drawing.Point(1084, 53); this.uTimerLabel1.Name = "uTimerLabel1"; - this.uTimerLabel1.Size = new System.Drawing.Size(136, 16); + this.uTimerLabel1.Size = new System.Drawing.Size(135, 16); this.uTimerLabel1.TabIndex = 14; this.uTimerLabel1.Text = "4月21日 16:32:19"; // @@ -441,21 +413,6 @@ this.splitContainer2.SplitterDistance = 761; this.splitContainer2.TabIndex = 0; // - // goodsSetBtn - // - this.goodsSetBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.goodsSetBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(135)))), ((int)(((byte)(245))))); - this.goodsSetBtn.Font = new System.Drawing.Font("宋体", 15F); - this.goodsSetBtn.ForeColor = System.Drawing.Color.White; - this.goodsSetBtn.Location = new System.Drawing.Point(645, 3); - this.goodsSetBtn.Name = "goodsSetBtn"; - this.goodsSetBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); - this.goodsSetBtn.Size = new System.Drawing.Size(111, 62); - this.goodsSetBtn.TabIndex = 19; - this.goodsSetBtn.Text = "产品设置"; - this.goodsSetBtn.UseVisualStyleBackColor = false; - this.goodsSetBtn.Click += new System.EventHandler(this.goodsSetBtn_Click); - // // flowLayoutPanel2 // this.flowLayoutPanel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -478,6 +435,179 @@ this.flowLayoutPanel1.Size = new System.Drawing.Size(640, 70); this.flowLayoutPanel1.TabIndex = 22; // + // groupBox1 + // + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.groupBox1.Controls.Add(this.flowLayoutPanel4); + this.groupBox1.Controls.Add(this.flowLayoutPanel3); + this.groupBox1.Controls.Add(this.uLabel3); + this.groupBox1.Location = new System.Drawing.Point(8, 222); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(5); + this.groupBox1.Size = new System.Drawing.Size(447, 381); + this.groupBox1.TabIndex = 5; + this.groupBox1.TabStop = false; + // + // flowLayoutPanel4 + // + this.flowLayoutPanel4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.flowLayoutPanel4.AutoScroll = true; + this.flowLayoutPanel4.Location = new System.Drawing.Point(5, 90); + this.flowLayoutPanel4.Name = "flowLayoutPanel4"; + this.flowLayoutPanel4.Size = new System.Drawing.Size(437, 286); + this.flowLayoutPanel4.TabIndex = 5; + // + // flowLayoutPanel3 + // + this.flowLayoutPanel3.AutoScroll = true; + this.flowLayoutPanel3.BackColor = System.Drawing.Color.White; + this.flowLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Top; + this.flowLayoutPanel3.Location = new System.Drawing.Point(5, 19); + this.flowLayoutPanel3.Margin = new System.Windows.Forms.Padding(0); + this.flowLayoutPanel3.Name = "flowLayoutPanel3"; + this.flowLayoutPanel3.Size = new System.Drawing.Size(437, 68); + this.flowLayoutPanel3.TabIndex = 4; + this.flowLayoutPanel3.WrapContents = false; + // + // timer1 + // + this.timer1.Interval = 50; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // serialPort1 + // + this.serialPort1.PortName = "COM3"; + // + // weightSwitch + // + this.weightSwitch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(135)))), ((int)(((byte)(245))))); + this.weightSwitch.Font = new System.Drawing.Font("宋体", 10F); + this.weightSwitch.ForeColor = System.Drawing.Color.White; + this.weightSwitch.Location = new System.Drawing.Point(173, 43); + this.weightSwitch.Name = "weightSwitch"; + this.weightSwitch.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); + this.weightSwitch.Size = new System.Drawing.Size(90, 32); + this.weightSwitch.StateHold = true; + this.weightSwitch.TabIndex = 38; + this.weightSwitch.Text = "启用称重"; + this.weightSwitch.UseVisualStyleBackColor = false; + this.weightSwitch.Click += new System.EventHandler(this.weightSwitch_Click); + // + // zeroBtn + // + this.zeroBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(144)))), ((int)(((byte)(98)))), ((int)(((byte)(222))))); + this.zeroBtn.Font = new System.Drawing.Font("宋体", 10F); + this.zeroBtn.ForeColor = System.Drawing.Color.White; + this.zeroBtn.Location = new System.Drawing.Point(173, 4); + this.zeroBtn.Name = "zeroBtn"; + this.zeroBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); + this.zeroBtn.Size = new System.Drawing.Size(90, 32); + this.zeroBtn.TabIndex = 37; + this.zeroBtn.Text = "归零"; + this.zeroBtn.UseVisualStyleBackColor = false; + this.zeroBtn.Click += new System.EventHandler(this.zeroBtn_Click); + // + // roundPanel2 + // + this.roundPanel2._setRoundRadius = 15; + this.roundPanel2.BackColor = System.Drawing.Color.Black; + this.roundPanel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.roundPanel2.Controls.Add(this.labelStable); + this.roundPanel2.Controls.Add(this.labelZero); + this.roundPanel2.Controls.Add(this.lblChengZhong); + this.roundPanel2.Location = new System.Drawing.Point(6, 3); + this.roundPanel2.Margin = new System.Windows.Forms.Padding(0); + this.roundPanel2.Name = "roundPanel2"; + this.roundPanel2.Size = new System.Drawing.Size(162, 74); + this.roundPanel2.TabIndex = 36; + // + // labelStable + // + this.labelStable.AutoSize = true; + this.labelStable.BackColor = System.Drawing.Color.White; + this.labelStable.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.labelStable.Font = new System.Drawing.Font("微软雅黑", 9F); + this.labelStable.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.labelStable.Location = new System.Drawing.Point(119, 1); + this.labelStable.Name = "labelStable"; + this.labelStable.Size = new System.Drawing.Size(17, 19); + this.labelStable.TabIndex = 13; + this.labelStable.Text = "S"; + this.labelStable.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // labelZero + // + this.labelZero.AutoSize = true; + this.labelZero.BackColor = System.Drawing.Color.White; + this.labelZero.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.labelZero.Font = new System.Drawing.Font("微软雅黑", 9F); + this.labelZero.Location = new System.Drawing.Point(138, 1); + this.labelZero.Name = "labelZero"; + this.labelZero.Size = new System.Drawing.Size(17, 19); + this.labelZero.TabIndex = 12; + this.labelZero.Text = "0"; + this.labelZero.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblChengZhong + // + this.lblChengZhong.AutoSize = true; + this.lblChengZhong.Font = new System.Drawing.Font("宋体", 25F); + this.lblChengZhong.ForeColor = System.Drawing.Color.Red; + this.lblChengZhong.Location = new System.Drawing.Point(5, 19); + this.lblChengZhong.Margin = new System.Windows.Forms.Padding(0); + this.lblChengZhong.Name = "lblChengZhong"; + this.lblChengZhong.Size = new System.Drawing.Size(83, 34); + this.lblChengZhong.TabIndex = 0; + this.lblChengZhong.Text = "0.00"; + // + // logBtn + // + this.logBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.logBtn.BackColor = System.Drawing.Color.CadetBlue; + this.logBtn.Font = new System.Drawing.Font("宋体", 15F); + this.logBtn.ForeColor = System.Drawing.Color.White; + this.logBtn.Location = new System.Drawing.Point(680, 4); + this.logBtn.Name = "logBtn"; + this.logBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); + this.logBtn.Size = new System.Drawing.Size(101, 41); + this.logBtn.TabIndex = 25; + this.logBtn.Text = "日志"; + this.logBtn.UseVisualStyleBackColor = false; + this.logBtn.Click += new System.EventHandler(this.logBtn_Click); + // + // closeBtn + // + this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.closeBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(25))))); + this.closeBtn.Font = new System.Drawing.Font("宋体", 15F); + this.closeBtn.ForeColor = System.Drawing.Color.White; + this.closeBtn.Location = new System.Drawing.Point(1109, 7); + this.closeBtn.Name = "closeBtn"; + this.closeBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); + this.closeBtn.Size = new System.Drawing.Size(111, 41); + this.closeBtn.TabIndex = 18; + this.closeBtn.Text = "关闭"; + this.closeBtn.UseVisualStyleBackColor = false; + this.closeBtn.Click += new System.EventHandler(this.closeBtn_Click); + // + // goodsSetBtn + // + this.goodsSetBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.goodsSetBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(135)))), ((int)(((byte)(245))))); + this.goodsSetBtn.Font = new System.Drawing.Font("宋体", 15F); + this.goodsSetBtn.ForeColor = System.Drawing.Color.White; + this.goodsSetBtn.Location = new System.Drawing.Point(645, 3); + this.goodsSetBtn.Name = "goodsSetBtn"; + this.goodsSetBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(234)))), ((int)(((byte)(106))))); + this.goodsSetBtn.Size = new System.Drawing.Size(111, 62); + this.goodsSetBtn.TabIndex = 19; + this.goodsSetBtn.Text = "产品设置"; + this.goodsSetBtn.UseVisualStyleBackColor = false; + this.goodsSetBtn.Click += new System.EventHandler(this.goodsSetBtn_Click); + // // colorButton2 // this.colorButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); @@ -552,43 +682,6 @@ this.rePrintBtn.Visible = false; this.rePrintBtn.Click += new System.EventHandler(this.rePrintBtn_Click); // - // groupBox1 - // - this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); - this.groupBox1.Controls.Add(this.flowLayoutPanel4); - this.groupBox1.Controls.Add(this.flowLayoutPanel3); - this.groupBox1.Controls.Add(this.uLabel3); - this.groupBox1.Location = new System.Drawing.Point(8, 222); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Padding = new System.Windows.Forms.Padding(5); - this.groupBox1.Size = new System.Drawing.Size(447, 381); - this.groupBox1.TabIndex = 5; - this.groupBox1.TabStop = false; - // - // flowLayoutPanel4 - // - this.flowLayoutPanel4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.flowLayoutPanel4.AutoScroll = true; - this.flowLayoutPanel4.Location = new System.Drawing.Point(5, 90); - this.flowLayoutPanel4.Name = "flowLayoutPanel4"; - this.flowLayoutPanel4.Size = new System.Drawing.Size(437, 286); - this.flowLayoutPanel4.TabIndex = 5; - // - // flowLayoutPanel3 - // - this.flowLayoutPanel3.AutoScroll = true; - this.flowLayoutPanel3.BackColor = System.Drawing.Color.White; - this.flowLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Top; - this.flowLayoutPanel3.Location = new System.Drawing.Point(5, 19); - this.flowLayoutPanel3.Margin = new System.Windows.Forms.Padding(0); - this.flowLayoutPanel3.Name = "flowLayoutPanel3"; - this.flowLayoutPanel3.Size = new System.Drawing.Size(437, 68); - this.flowLayoutPanel3.TabIndex = 4; - this.flowLayoutPanel3.WrapContents = false; - // // SegmentProductionAutoForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -599,6 +692,7 @@ this.Name = "SegmentProductionAutoForm"; this.Text = "分割品车间称重计数"; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.Load += new System.EventHandler(this.SegmentProductionAutoForm_Load); this.groupBox2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.taskDataGrid)).EndInit(); this.splitContainer1.Panel1.ResumeLayout(false); @@ -613,6 +707,8 @@ this.splitContainer2.ResumeLayout(false); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); + this.roundPanel2.ResumeLayout(false); + this.roundPanel2.PerformLayout(); this.ResumeLayout(false); } @@ -638,7 +734,6 @@ private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2; private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; - private Controls.WeightControl uWeightControl1; private Controls.ColorButton rePrintBtn; private Controls.ColorButton closeBtn; private Controls.ColorButton goodsSetBtn; @@ -657,5 +752,13 @@ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4; private System.Windows.Forms.Label label3; private WinFormControl.ULabel butcherDateBox; + private Controls.ColorButton weightSwitch; + private Controls.ColorButton zeroBtn; + private Controls.RoundPanel roundPanel2; + private System.Windows.Forms.Label lblChengZhong; + private System.Windows.Forms.Timer timer1; + private System.IO.Ports.SerialPort serialPort1; + private System.Windows.Forms.Label labelStable; + private System.Windows.Forms.Label labelZero; } } \ No newline at end of file diff --git a/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.cs b/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.cs index 2d10d82..c8e2d7d 100644 --- a/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.cs +++ b/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.cs @@ -17,7 +17,8 @@ using WinFormControl; using ButcherFactory.Utils; using NotAuto = ButcherFactory.SegmentProduction_; using ButcherFactory.Controls; - +using System.Runtime.InteropServices; + namespace ButcherFactory.SegmentProductionAuto_ { public partial class SegmentProductionAutoForm : Form, IWithRoleForm @@ -84,6 +85,8 @@ namespace ButcherFactory.SegmentProductionAuto_ uploadData.Abort(); if (checkInStoreState != null && checkInStoreState.IsAlive) checkInStoreState.Abort(); + if (Utils.mPortOpened) + closePort(); } public WeightDetails mCache; @@ -125,6 +128,7 @@ namespace ButcherFactory.SegmentProductionAuto_ _freshTotalCode = SegmentProductionBL.InitFreshTotalCode(); _stayTotalCode = SegmentProductionBL.InitStayTotalCode(); identityList = SegmentProductionBL.GetGoodsIdentify(); + } void LoadBind() @@ -233,7 +237,16 @@ namespace ButcherFactory.SegmentProductionAuto_ return; } } - var weight = uWeightControl1.Weight; + if (!status.StableStatus) + { + MessageBox.Show("称重稳定后再操作!"); + return; + } + decimal weight = 0; + if (!decimal.TryParse(lblChengZhong.Text, out weight)) { + MessageBox.Show("重量错误,是否未归零!"); + return; + } //#if DEBUG // if (weight == 0) // weight = (g.StandardWeightLow ?? 4.0m) + 0.1m; @@ -332,13 +345,23 @@ namespace ButcherFactory.SegmentProductionAuto_ if (batchID == null) throw new Exception("请先选择批次"); var btn = sender as ColorButton; - var detail = btn.Tag as ClientGoodsSet_Detail; - var weight = uWeightControl1.Weight; -//#if DEBUG - // if (weight == 0) - // weight = (detail.StandardWeightLow ?? 4.0m) + 0.1m; -//#endif - if (weight <= 0) + var detail = btn.Tag as ClientGoodsSet_Detail; + if (!status.StableStatus) + { + MessageBox.Show("称重稳定后再操作!"); + return; + } + decimal weight = 0; + if (!decimal.TryParse(lblChengZhong.Text, out weight)) + { + MessageBox.Show("重量错误,是否未归零!"); + return; + } + //#if DEBUG + // if (weight == 0) + // weight = (detail.StandardWeightLow ?? 4.0m) + 0.1m; + //#endif + if (weight <= 0) throw new Exception("重量必须大于0"); if (detail.StandardWeight.HasValue) @@ -1084,5 +1107,188 @@ namespace ButcherFactory.SegmentProductionAuto_ butcherDateBox.Text = butcherDate.ToString("yyyy-MM-dd"); } } + + WeightStatus status = new WeightStatus(); + #region 称相关 + private void init() + { + zeroBtn.Enabled = false; + // weightSwitch.Enabled = false; + System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;//忽略程序跨越线程运行导致的错误.没有此句将会产生错误 + } + + private void weightSwitch_Click(object sender, EventArgs e) + { + this.lblChengZhong.Text = "0.00"; + if (Utils.mPortOpened)//关闭动作 + { + if (CallLibrary.unbindScale() == 1) + { + Utils.mPortOpened = false; //串口打开标记 + closePort(); + } + } + else + { + if (!Utils.mPortOpened) + { + openPort(); + } + } + weightSwitch.Text = Utils.mPortOpened ? "停止称重" : "启用称重"; + } + + #region 打开 关闭 串口 + private void openPort() + { + try + { + int port = 3; + int baudrate = 9600; + if (CallLibrary.sendPort(port, baudrate) == 1) + { + Utils.mPortOpened = true; //串口打开标记 + timer1.Enabled = true; + zeroBtn.Enabled = true; + //this.labelStatus.Text = Utils.rm.GetString("comOpen"); + + //Console.WriteLine("Open port Complete."); + } + else + { + Utils.mPortOpened = false; //串口打开标记 + timer1.Enabled = false; + MessageBox.Show("串口打开失败"); + // this.labelStatus.Text = Utils.rm.GetString("comFail"); + // Console.WriteLine("Open port fail ."); + } + } + catch (Exception ex) + { + MessageBox.Show("" + ex); + } + } + + private void closePort() + { + timer1.Enabled = false; + Utils.mPortOpened = false; + // this.labelStatus.Text = Utils.rm.GetString("comClose"); + this.zeroBtn.Enabled = false; + + this.labelZero.BackColor = Color.White; + this.labelZero.ForeColor = Color.Black; + this.labelStable.BackColor = Color.White; + this.labelStable.ForeColor = Color.Black; + status.TareStatus = false; + } + #endregion + + private void zeroBtn_Click(object sender, EventArgs e) + { + if (CallLibrary.SendZero() == 1) + { + //MessageBox.Show("Zero is successful"); + // MessageBox.Show(Utils.rm.GetString("zeroIsOk")); + } + else + { + MessageBox.Show(Utils.rm.GetString("zeroisFail")); + } + } + #endregion + + private void SegmentProductionAutoForm_Load(object sender, EventArgs e) + { + init(); + } + + #region 重量处理 + string netWeight = string.Empty; + private void timer1_Tick(object sender, EventArgs e) + { + try + { + timer1.Interval = 100; + if (Utils.mPortOpened) + { + IntPtr stringNet = CallLibrary.getStringNet(); + + netWeight = Marshal.PtrToStringAnsi(stringNet); //重量 + + Console.WriteLine("weight data:" + netWeight); + + weightNet(netWeight); + if (CallLibrary.isZero() != 1) + { + this.labelZero.BackColor = Color.White; + this.labelZero.ForeColor = Color.Black; + status.ZeroStatus = false; + } + else + { + this.labelZero.BackColor = Color.Green; + this.labelZero.ForeColor = Color.White; + status.ZeroStatus = true; + } + //稳定 + if (CallLibrary.isStable() != 1) + { + this.labelStable.BackColor = Color.White; + this.labelStable.ForeColor = Color.Black; + status.StableStatus = false; + } + else + { + this.labelStable.BackColor = Color.Green; + this.labelStable.ForeColor = Color.White; + status.StableStatus = true; + } + if (CallLibrary.isTare() != 1) + { + status.TareStatus = false; + } + else + { + status.TareStatus = true; + } + } + else + { + this.lblChengZhong.Text = "0.00"; + this.labelZero.BackColor = Color.White; + //this.labelStatus.BackColor = Color.White; + //this.labelStatus.ForeColor = Color.Black; + } + } + catch //(Exception ex) + { + //Console.WriteLine(ex); + } + } + + private void weightNet(string netWeight) + { + if (netWeight != null) + { + if (!netWeight.Contains("--UL--") && !netWeight.Contains("--OL--")) + { + this.lblChengZhong.Text = double.Parse(netWeight).ToString("0.00"); + } + else + { + if (netWeight.Contains("--UL--")) + { + this.lblChengZhong.Text = "--UL--"; + } + else if (netWeight.Contains("--OL--")) + { + this.lblChengZhong.Text = "--OL--"; + } + } + } + } + + #endregion } } diff --git a/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.resx b/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.resx index 08a9e5f..e4198b0 100644 --- a/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.resx +++ b/ButcherFactory.Form/SegmentProductionAuto_/SegmentProductionAutoForm.resx @@ -120,4 +120,10 @@ True + + 216, 16 + + + 306, 16 + \ No newline at end of file diff --git a/ButcherFactory.Form/SegmentProductionAuto_/Utils.cs b/ButcherFactory.Form/SegmentProductionAuto_/Utils.cs new file mode 100644 index 0000000..7afdb49 --- /dev/null +++ b/ButcherFactory.Form/SegmentProductionAuto_/Utils.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Resources; +using System.Text; +using System.Threading.Tasks; + +namespace ButcherFactory.SegmentProductionAuto_ +{ + internal class Utils + { + public static bool mPortOpened = false; //串口状态 + + public static bool WFlag = true; //w1 & w2 状态显示 + + //配置文件位置 + public static ResourceManager rm = new ResourceManager(typeof(SegmentProductionAutoForm)); //资源文件 + } +} diff --git a/ButcherFactory.Form/SegmentProductionAuto_/WeightStatus.cs b/ButcherFactory.Form/SegmentProductionAuto_/WeightStatus.cs new file mode 100644 index 0000000..ead656f --- /dev/null +++ b/ButcherFactory.Form/SegmentProductionAuto_/WeightStatus.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ButcherFactory.SegmentProductionAuto_ +{ + internal class WeightStatus + { + private bool isZero; + ///

+ /// 零点状态 + /// + public bool ZeroStatus + { + get { return isZero; } + set { isZero = value; } + } + private bool isTare; + + /// + /// 扣重状态 + /// + public bool TareStatus + { + get { return isTare; } + set { isTare = value; } + } + private bool isStable; + + /// + /// 稳定状态 + /// + public bool StableStatus + { + get { return isStable; } + set { isStable = value; } + } + } +} diff --git a/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.cs b/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.cs index 940d09f..97270b0 100644 --- a/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.cs +++ b/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.cs @@ -19,7 +19,7 @@ namespace ButcherFactory.SegmentProduction_ static string CustomerDefine = "GB/T9959.2-2008"; public static void Print(SegmentProduction entity, DateTime? dt, string template) { - if (AppContext.ConnectInfo.TraceBackUrl == "default") + if (BO.Utils.AppContext.ConnectInfo.TraceBackUrl == "default") throw new Exception("请先配置追溯服务器地址"); if (dt == null) dt = DateTime.Today; @@ -42,7 +42,7 @@ namespace ButcherFactory.SegmentProduction_ code = code.Substring(17); dic.Add("$Code", code); var imgUrl = string.Format(IMGFILE, id); - var url = string.Format(AppContext.ConnectInfo.TraceBackUrl + "?code={0}", entity.BarCode); + var url = string.Format(BO.Utils.AppContext.ConnectInfo.TraceBackUrl + "?code={0}", entity.BarCode); BwpClientPrint.BwpClientWebPrint.Create2DPic(url, imgUrl, 120); dic.Add("$ImageUrl", imgUrl); dic.Add("$Identity", entity.Identify); diff --git a/ButcherFactory.Form/SegmentProduction_/SegmentSumCodePrint.cs b/ButcherFactory.Form/SegmentProduction_/SegmentSumCodePrint.cs index d40f586..db31160 100644 --- a/ButcherFactory.Form/SegmentProduction_/SegmentSumCodePrint.cs +++ b/ButcherFactory.Form/SegmentProduction_/SegmentSumCodePrint.cs @@ -18,7 +18,7 @@ namespace ButcherFactory.SegmentProduction_ const string IMGFILE = @"TempImg\_sum_img{0}.png"; public static void Print(SegmentProduction[] entitys, string template) { - if (AppContext.ConnectInfo.TraceBackUrl == "default") + if (BO.Utils.AppContext.ConnectInfo.TraceBackUrl == "default") throw new Exception("请先配置追溯服务器地址"); var dic = new Dictionary(); diff --git a/ButcherFactory.Form/WeightCount_/WeightCountPrint.cs b/ButcherFactory.Form/WeightCount_/WeightCountPrint.cs index 07ac8ff..5250142 100644 --- a/ButcherFactory.Form/WeightCount_/WeightCountPrint.cs +++ b/ButcherFactory.Form/WeightCount_/WeightCountPrint.cs @@ -26,7 +26,7 @@ namespace ButcherFactory.WeightCount_ code = code.Substring(17); dic.Add("$Code", code); var imgUrl = string.Format(IMGFILE, id); - var url = string.Format(AppContext.ConnectInfo.TraceBackUrl + "?code={0}", entity.BarCode); + var url = string.Format(BO.Utils.AppContext.ConnectInfo.TraceBackUrl + "?code={0}", entity.BarCode); BwpClientPrint.BwpClientWebPrint.Create2DPic(url, imgUrl, 120); dic.Add("$ImageUrl", imgUrl); diff --git a/ButcherFactory.Login/App.xaml.cs b/ButcherFactory.Login/App.xaml.cs index a0e0cf0..b2e0930 100644 --- a/ButcherFactory.Login/App.xaml.cs +++ b/ButcherFactory.Login/App.xaml.cs @@ -100,9 +100,9 @@ namespace ButcherFactory.Login { try { - if (!string.IsNullOrEmpty(AppContext.ConnectInfo.SqlConnection)) + if (!string.IsNullOrEmpty(BO.Utils.AppContext.ConnectInfo.SqlConnection)) { - DbUtil.UpdateDatabase(AppContext.ConnectInfo.SqlConnection); + DbUtil.UpdateDatabase(BO.Utils.AppContext.ConnectInfo.SqlConnection); } } catch diff --git a/ButcherFactory.Login/ButcherFactory.Login.csproj b/ButcherFactory.Login/ButcherFactory.Login.csproj index cb68adc..9f9dd42 100644 --- a/ButcherFactory.Login/ButcherFactory.Login.csproj +++ b/ButcherFactory.Login/ButcherFactory.Login.csproj @@ -9,7 +9,7 @@ Properties ButcherFactory.Login ButcherFactory.Login - v4.5 + v4.8 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 @@ -27,7 +27,7 @@ false
- AnyCPU + x86 pdbonly true bin\Release\ @@ -103,6 +103,9 @@
+ + +